第一部分
什么是网络?
计算机网络就是利用通信线路和通信设备,将分布在不同地点的具有独立功能的多个计算机系统互相连接起来,在网络操作系统和通信协议及网络管理软件的协调下,实现资源共享,信息传递。
网络通信的意义
通过让应用程序之间传递信息,从而实现资源共享。
网络之间的通信是端到端的。
网络分类
范围
局域网(LAN):几米 ~ 几千米。
城域网(MAN):通常是一个城市,包含多个LAN。
广域网(WAN):国、洲、世界,内含多个LAN和MAN。
结构
总线型;
环形(只有拿到令牌的人才能发送数据);
树形;
星型;
网状型;
传输介质
双绞线:又分为直通线(非同类设备之间使用,如PC -> Swith/Hub、Router -> Switch)、交叉线(同类设备使用,如:Switch -> Switch、Router -> Router)、全反线(不用于以太网连接,用于如:PC -> Router、Switch -> Router)
同轴电缆:成本高,目前只有有线通在用。
光纤:速度快、安全,抗干扰强,分为单模与双模。
无线:微波、卫星、红外线、蓝牙。
网卡
网卡也叫做网络适配器是链接计算机与网络之间的硬件设备。
网卡主要的工作是整理计算机发送给网线的数据,并且将数据分解成大小的数据包之后向网络发送,并缓存接收到的数据,网卡的MAC在生产时就被厂家烧录到ROM中。
MAC
MAC是网卡上一个48Bit的分6段,每段8位的一个地址,是网卡在网络中的身份识别码,其中0~23位叫组织唯一标识识别LAN节点,24~47位是厂家分配,第8位是组播标志位。
冲突域
冲突域是指两台计算机在同时通信时会发生冲突,也指接受冲突碎片设备的集合。
广播域
向所有节点发送消息,强制性的,降低网络执行效率,并且是不安全的。
组播
向所有节点发送消息,非强制性的
单播
一对一的发送
IP地址
IP是网络上每台计算机的数字标识符,指明了在此网络某个设备的位置,IP地址是一个软件地址,而MAC是一个硬件地址,并被硬编码烧录到网卡中的,用于本地网络中定位主机的。
IP寻址时不需要考虑两个网络之间的差异性的。
IP地址是32位,分4段,每段8位。
什么是集线器?
集线器理解为一个最早期的交换机,是一层设备,无法识别任何控制信息,转发机制为放大信号(还原接收信号时的频率)加泛洪处理,所有连接集线器设备为一个冲突域。
集线器是一个单纯的物理层设备,不具有智能能力,因此发送数据没有针对性。
集线器是不可切分广播域和冲突域。
注:信号放大是所有网络设备都会做的一个机制。
什么是交换机?
交换机拥有一条很高带宽的背部总线和内部交换矩阵,是一种用于电信号转发的网络设备,可以为接入交换机的任意两个网络节点提供独享电信号通路。
交换机的所有端口都挂在这条背部总线上,控制电路收到数据包后,处理端口会查找内存中地址表以确定目的MAC的NIC挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的地端口。
交换机工作过程更具有源MAC 地址学习和目的MAC地址转发。
交换机是有几个端口就有几个冲突域,但只有一个广播域。
交换机的工作特征:对已知的单播帧进行对应端口转发;对未知帧进行广播与MAC学习;广播帧、组播帧直接转发;
交换机的工作过程:接收到数据包,做一个MD5算法,查询FCS的帧号是否匹配,匹配的话,则查询MAC地址,进而转发连接着交换机的MAC地址所在的机器。
交换机可以不切割广播域,但可以切割冲突域。
什么是路由器?
路由器是一个连接多个网络或网段的设备,能将不同网络或网段之间的数据进行翻译,使得不同网段之间能够读懂对方的数据,从而构成更大的网络,因此路由器就是应用于不同网段和网络之间的设备。
路由器可以切割广播域和冲突域。
路由器为什么可以翻译?
路由器不是一个单纯的硬件设备,而是硬件和软件相结合的设备。
路由器具有判断网络地址和选择路径功能,是网络层的一个互联设备,有隔离广播作用,路由器每一个端口都是一个广播和冲突域,有的路由器集成了防火墙等功能。
对比
对比项路由器交换机集线器
转发速度慢快很快
OSI层三层二层一层
地址逻辑地址(IP)物理地址(MAC)比特流(Bit)
广播阻止转发转发
安全性高低非常低
帧中继
将相隔较远的路由器连接起来就像共享同一网段。
端口号的划分
1~1023:知名端口,如Http协议占据的是80端口;
1024~65535:是非知名端口,如Tomcat服务器的端口可以自己设置为8089;
注:数据的IP地址和端口都在封装在数据报头的,从而加快转发速度。
加密
明文加密:点开内容即可看。
密文加密:使用特定的算法加密。
对称加密:发送端和接收端的秘钥都是同一把。
非对称加密:分为公钥和私钥,发送端和接收端的秘钥都不同(AB),发送端使用公钥加私钥(A)进行加密,接收端使用公钥加私钥(B)进行解密。
第二部分
网络体系结构
如果想要让两台计算机进行通信,必须使用相同信息交换规则,而把计算机的网络用特定信息的格式及如何发送和接收消息的一套规则称为网络协议式通信(只有层层约定才能保证正常通信),但为了减少设计复杂,人们按功能分层,而网络分层模型中及各层的定义其中一个重要的结构就是OSI/ISO模型。
OSI/ISO模型
OSI/ISO模型是在协议之前开发的,而不是为了某个协议而开发的,更具有通用性,其余的大部分模型都是基于OSI/ISO模型的基础上设计的。
应用层
提供用户接口(端口),特指网络应用程序,能产生流量的应用程序,但单机不产生流量。
表示层
数据采用二进制式或ASCII码等处理数据,如:加密、压缩,防止他人捕获数据和翻译数据等恶意行为。
会话层
建立、维护、管理应用程序之间的会话。
传输层
提供可靠或不可靠的连接,能够进行错误纠正,纠正失败后能重传。
可靠传输是指负责建立端到端之间的连接,并在端到端之间进行数据传输。
传输层通过端口区分上层服务,并通过各种机制实现可靠传输、流量控制、阻塞控制及三次握手连接,并向会话层提供独立于网络层的传送于透明数据传送。
关键内容:MTU(最大传输单元,1500个字节);网卡发送时会将数据进行切片,最大为MTU大小;封装发送的数据;PDU数据段的发送;TPC(传输控制协议);UDP(用户数据报协议);
网络层
为网络设备提供逻辑地址,根据数据包的逻辑地址选择最佳路径,负责从源端口到目标端口的寻址和数据传输。
网络层设备必须能识别IP地址。
注:MAC是以太网环境(网络如地图,没地名但有地址)
IP无视2层环境(网络如地图,有地名与店名,有可能是错)
数据链路层
管理网络设备的物理地址,使用MAC提供对介质的访问,执行差错检错(FCS),但不纠正,并负责主机之间可靠的传输。
物理层
负责二进制数据比特流在设备之间传输,规定了电压大小,线路速率,设备和电缆的接口标准。
小结
应用层:处理网络应用,为应用系统提供网络服务;
表示层:提供数据标识、代码语法协商等
会话层:主机间通信建立、维持;
传输层:提供可靠和不可靠的端到端的连接,数据流分段和充足;
网络层:寻址和路由,确定数据从一处传输到另一处的最佳路径;
数据链路层:介质的访问控制,提供介质的传输控制,如差错、流量等;功能体现在,1.由物理层提供的不可靠链路,在通过本层协议变成可靠的链路;2.对链路的管理,发送方必须确知接收方处在准备接受转改下,为此要交换一些信息,进而建立链路,并保证可靠性与维持连接,如在出错时,需要重新初始化、建立连接等;3.帧同步,接收方能够从物理层上传过来的无结构比特流准确区分出一个帧的开始和结束,称为帧同步;4.帧封装,以帧为单位的优点就是出错的话,可以只传出错的部分;5.流量控制,建立了缓冲区并控制发送端发送数据的速率,还调整接收到的帧顺序;6.差错控制,使目的主机能够发现传送错误并纠正错误,即差错帧,目的主机用冗余码差错纠正;另一种是出错重发,当发现出错时,要求重传出错的部分,若不知则重发这一帧,直到正确接收,并未超过重传次数;7.区分数据及控制信息,运维数据与控制信息不仅在同一信道传输,而且许多数据封装在同一帧里,所以目的主机要区分开来。
物理层:对二进制传输,激活和维持系统间的物理连接;关心接口和某条的物理特性、位的标识和传输的速率,与位的同步、物理拓扑与传输模式;
注:应用层、表示层、会话层是面向用户应用,定义了终端系统中应用程序将如何通信,不比考虑数据通信方面的。
下四层是面向数据通信,定义了怎样端到端通信,即面向数据传输。
数据流转过程
流量 à 数据段 à 数据包 à 数据帧 à Bit
注:数据的控制信息是在数据链路层最后形成的,OSI是下层为上层提供服务的模型,因传输层、网络层、数据链路层是这三层逻辑形成。
OSI只有数据链路层、网络层、传输层才封装的。
第三部分
TCP/IP模型与OSI/ISO模型有什么不同?
TCP/IP模型是可以越层封装,OSI/ISO模型是只可层层封装。
TCP/IP模型
应用层
名称端口TCP/UDP描述
Http80TCP 用于浏览网页、明文传输
Https443TCP安全浏览网页,密文传输
FTP20/21TCP双信道端口,20端口用于发送信令建立连接(单信道),21端口用于传输控制数据(控制信道)
TFTP69UDP简单文件传输协议,用于传输批量小文件,常用于管理设备的IOS等操作系统间配置文件的传输,速率通常不会超过100KB/s
DNS53TCPPC访问网页的URL转换为IP,即域名解析服务,又称统一资源定位符
SMTP25TCP简单邮件传输协议,而Exchange是微信私有的,可收发邮件
POP3110UDP邮局协议版本3,用于接收邮件
DHCP68UDP动态主机配置协议,让PC和Server和网络设备能自动接收IP、掩码、网关等
Telnet23TCP终端仿真协议,明文传输
SSH22TPC安全外壳终端仿真协议,用途和Telnet一样
SNMP各厂商端口不同,是让网管PC管理整网设备使用的
NTP123UDP网络时钟同步
传输层
使用TCP和UDP协议进行端到端的传输。
TCP
传输控制协议,面向连接的协议,提供可靠的传输;可靠是指包完整性、重传、拥堵等处理;
可靠性体现
三次握手:通过三次握手建立连接,发送SYN、返回SYN + ACK,回复ACK
滑动窗口:通过窗口滑动控制网络拥堵,可自由适应速率,但基于硬件的处理,滑动窗口是每接收完一个包,返回一个ACK + 协商给发送端,每次协商的窗口大小是2的N次方 – 1。
注:1和2就是TCP慢启动的体现。
Sequece(序列号):防止传输乱序,对每个数据进行标记,标记是32bit,通常乱序的原因是网络抖动、传输延迟等。
ACK(确认号):防止丢包,因有可能是最后一个分片,发了多少连续数据分片返回多少,丢失中间的数据,则返回对应的ACK号。
CheckSum(校验和):提供完整性检查,在发送端发送时,会有一个MD5码,客户端在接收时,得出的MD5码是一直即可。
重传机制:先通过三次握手,在由Sequece和ACK一并完成。
UDP
无连接协议,用户数据报协议,提供尽力而为的传输;比TCP快,不需要建立三次握手;不提供任何重传机制,延迟低;无需添加ACK、Sequece等信息,核载小;出错了,不需要重传;适用于一个数据包就能完成通信的场景;不提供传输保证、重传、错误处理等,这一块由上层保证;组播一般用UDP;
注:有一个名为RTP协议(实时传输协议),该协议定义了Sequence字段,一般配合UDP为VOIP流量提供防止乱序功能,另外与一些UDP应用软件内涵了乱序和重传功能。
网络层
IPv4:地址长度32 Bit,使用十进制表示,分4段,每段8位。
IPv6:地址长度128 Bit,使用十六进制表示,分为8段,每段4位。
IPx/SPx:LAN环境中的联网,是一个适应性较高的协议,特别在2003年的单机游戏。
Apple Talk:苹果公司协议栈。
Novell:是局域网的一种,但范围作为内部使用,相对独立,是一个较为早期的协议。
DEC:被路由协议,DEC公司协议栈。
PPPOE:内有AAA机制,是一个机遇Ehernet的协议,P2P协议,实质是Ethernet和拨号网络之间的一个中继协议,原来结构与原有LAN接入无区别,但用来给小区计时/计流量,可以不依赖操作系统的拨号网络独立工作。
网络接口层
局域网(LAN)
Ethernet(以太网):分IEE802.3与Ethernet 2;IEEE802.3是标准化的,Ethernet 2是一个早期的,而IEEE802.3改进最大的是添加MAC地址,定义MAC网段,连成城域网。
以太网是现有LAN采用的最通用的通信协议标准,该标准定义了在LAN使用的电缆类型和信号处理方法,以太网在互联网设备之间以10 ~ 100MB/s速率传输;好处在于成本低、高可靠、开放性好;在以太网中冲突是使用CSDMA/CD机制来控制。
CSDMA/CD:载波监听多路访问/冲突检测,是一种设备通过竞争方法来获取对总线的使用权,如在发送数据前先侦听线路上是否有数据在发送,如果侦听到有其他PC在发送则在随机等待时间,会再次争取发送权,如果信道空闲,则会抢占信道;CSDMA/CD提供了2种侦听方式,持续与非持续指等待一段随机时间;当发生冲突时,第一台设备接收到冲突碎片的设备会发送一个信令告知其他计算机冲突产生了,而接收到信令的PC会开启一个随机时间倒计时;
ARP:地址解析协议,是将IP地址解析成对应的MAC地址;ARP协议是广播发送的,每4个小时会发送一次;
路由器需要拥有ARP被请求者所在网段的路由条目;路由器需要判断请求者和被请求者不在同一个广播域;路由器在接口的ARP请求需开启代理ARP功能;在满足这几点的情况下,路由器会收到一份ARP保温,因ARP是广播的,会将接收接口的MAC地址应答给请求者。
广域网(WAN)
HDLC:高级数据链路协议,是Cisco专有协议,默认是在Cisco Serial接口封装HDLC。
PPP:点到点传输协议,内集AAA机制,是全球唯一一个WAN 协议,PPPOE也有AAA机制,但应用在网络层。
Frame Relay:帧中继是让相隔甚远的路由器逻辑连接在一起,基于VPN技术。
ATM:异步传输协议,一样是VNP提供带宽高,完善的QOS,网络设备需求高,受限硬件设备。
注:LAN线缆只可用固定LAN协议;WAN线缆可用于所有WAN协议;
AAA机制是指认证、授权、审计。
QOS是服务质量,在此即流量优先级。