电路交换:整个报文的比特流连续的从源点直达终点,好像在一个管道中传送。即生活中打电话的时候,要想实现双方的通信,就需要建立连接,然后再进行通话,最后再挂断。建立连接就是电路交换中占用通信资源的开始,通话时期一直占用通信资源,就算双方不说话也会一直占用,挂断就是释放资源的行为。所以,电路交换的整个过程即:建立连接(占用通信资源)->通话(一直占用通信资源)->释放连接(归还通信资源)。
报文交换:整个报文先传输到相邻的结点,全部存储下来后查找转发表,转发到下一个结点。报文是指计算机要发送或接受的那一串数据。它采用的是存储转发技术,即在各个路由器之间存储再转发。
分组交换:单个分组(报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。把整个报文分成若干组进行存储转发。为了识别到底哪些分组才是一个整体的报文,在分组的同时在数据段的前面加上了一些控制消息组成了首部,这样就是一个完整的分组了。
虚电路服务(可靠)
数据报服务(不可靠)
对比
定义:存储转发是一种大概念上的三层数据交换机制,总的特点是网络节点设备在接收到数据后,可以根据设备CPU或对应转发路径下的出接口的当前状态决定是否转发
特点:
IPv4的不足
IPv4数据报的封装:发送端接收到来自传输层的数据段经过网络层需要进行网络层IP协议头部封装,以便数据报在网络中传输时能根据报文中的“目的IP地址”选择适宜的路由表选项一级一级地向目的网络转发
IPv4数据报的解封装:指到达网络层的数据报还需要继续向上面的传输层传输时,要去掉IP数据报中的IP协议头,还原在发送端传输层发送的原始数据
IP数据报无论经过多少个网络,整个数据报内容都是不会改变的,包括IP协议头部的源/目的IP地址信息,但是IP数据报每经过一个IP网络向下一个网络发送时都需要经过重新的数据帧封装,此时帧中的源/目的MAC地址都将改变。
原因:来自网络层的IP数据报大小必须要小于等于对应链路层的最大传输单元MTU
分段:当原来的IP数据报长度大于对应网络链路的MTU时,就必须对这个大的IP数据包进行拆分,分成多个符合对应网络链路MTU要求的小的数据分段。分段后的每个IP包分段都需要进行单独的路由,所以必须要有相应的IP包头信息。
重组:在路由器或主机上对IP数据报进行了拆分后,在最终的目的主机上要将接收到的所有分段进行重新组装,这就是IP数据报分段的重组过程。IP数据分段的重组是根据数据报的标识符、段偏移、标志等字段进行的,按照原来的拆分拼接起来,但拼接时只保留第一个分段的报头信息,分段的报头被去掉,同时修改第一个分段报头信息,不设置标志字段和段偏移字段。
IP分段的缺点
分段发生在主机或者路由器;重组发生在目的主机。
ARP是地址解析协议,ARP不是一个单纯的数据链路层协议,而是一个介于数据链路层和网络层之间的协议。
ARP协议的作用:
APR协议的工作原理
广播发送ARP请求,单播发送ARP响应。
ARP协议报文格式
硬件类型:这是一个16位字段,用来定义运行ARP协议的网络类型,比如:以太网类型为1则说明ARP可用于物理网络上。
协议类型:也是一个16位字段,用于指定协议类型。
硬件长度:该字段占用8个bit位,用来定义物理地址的长度,即mac地址长度,以字节为单位。对于以太网来说,这个值一般是6。
协议长度:该字段占用8个bit位,用来定义逻辑地址的长度,即ip地址长度,以字节为单位。对于IPv4协议来说,这个值是4。
操作:这是一个16位长度的字段,用于定义ARP数据包类型,即1:ARP请求,2:ARP响应。
发送方硬件地址:这是一个可变长度字段,用来定义发送方的物理地址,即mac地址。
发送方协议地址:这是一个可变长度字段,用来定义发送方的逻辑地址,即ip地址。
目标硬件地址:这是一个可变长度字段,用来定义目标的物理地址(mac地址),对于ARP请求报文来说,这个字段是全部以0来填充,因为发送方并不知道目标方的物理地址。
目标协议地址:这是一个可变长度字段,用来定义目标的逻辑地址(ip地址)。
ARP协议帧格式
以太网目的地址:目的主机的硬件地址。目的地址全为1的特殊地址是广播地址。
以太网源地址:源主机的硬件地址。
帧类型:对于ARP协议,该字段为0x0806。对于RARP协议,该字段为0x8035。
硬件类型:表示硬件地址的类型。值为1时表示以太网地址。也就是说ARP协议不仅仅应用于以太网协议,还可以支持别的链路层协议。
协议类型:表示要映射的协议地址类型。值为0x0800时表示IP协议。
硬件地址长度:与硬件类型对应的硬件地址的长度,以字节为单位。如果是以太网,则是6字节(MAC长度)。
协议地址长度:与协议类型对应的协议地址长度,以字节为单位。如果是IP协议,则是4字节(IP地址长度)。
操作类型(op):四中操作类型。ARP请求(1),ARP应答(2),RARP请求(3),RARP应答(4)。
发送端硬件地址:如果是以太网,则是源主机以太网地址,此处和以太网头中的源地址对应。
发送端协议地址:如果是IP协议,则表示源主机的IP地址。
目的端硬件地址:如果是以太网,则是目的以太网地址,和以太网头中的目的地址对应。
目的端协议地址:如果是IP协议,则表示源主机要请求硬件地址的IP地址。
RARP协议
RARP是逆地址解析协议:作用是完成MAC地址到IP地址的映射,主要用于无盘工作站,因为无盘工作站配置的IP地址不能保存。
工作流程:在网络中配置一台RARP服务器,里面保存着IP地址和MAC地址的映射关系,当无盘工作站启动后,就封装一个RARP数据包,里面有MAC地址,然后广播到网络上去,当服务器收到请求包后,就查找对应的MAC地址的IP地址装入响应报文中发回给请求者。因为需要广播请求报文,因此RARP只能用于具有广播能力的网络。
定义:ICMP是(Internet Control Message Protocol)Internet控制报文协议。ICMP协议是一种面向无连接的协议,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递和网络安全具有极其重要的意义。
主要功能:确认IP包是否成功到达目标地址;通知在发送过程中IP包被丢弃的原因
为什么需要ICMP消息:从网络的角度来说,ICMP协议服务于IP协议,主要用于实现数据在网络链路传输的消息报告。IP分组传送不可靠,可能会遭遇各种问题,如丢包,发生堵塞,产生很大的延迟,抖动等。ICMP用来向源报告这些问题或者状况,也可以用来测试网络。
ICMP报文格式:
ICMP消息格式:
ICMP消息类型:
常见的ICMP应用:
功能:能验证网络的连通性;会统计响应时间和TTL(生存周期)
如何验证:ping命令会先发送一个ICMP Echo Request给对端;对端接收到之后,会返回一个ICMP Echo Reply;若没有返回,就是超时了,会认为指定的网络地址不存在
功能:通过向目标计算机发送具有不同生存时间的ICMP数据包,来确定至目标计算机的路由,也就是说用来跟踪一个消息从一台计算机到另一台计算机所走的路径。
如何诊断:诊断实用程序将包含不同生存时间(TTL)值的Internet控制消息协议(ICMP)回显数据包发送到目标,以决定到达目标采用的路由。每经过一个路由器,TTL的值减一,直到变为零,就会向源主机发送一个ICMP时间超过的差错报文。
路由选择协议的任务就是要确定数据报在源与目的地之间采用的路径。
直连路由:三层设备上直接连接的网段的路由,不需要配置,也不需要借助其他路由协议,直接生成,而且优先级最高
静态路由:事先设置好路由器和主机中并将路由信息固定的一种方法。静态路由手动设置。一旦发送故障,管理员手动修改,适用于小型网络
动态路由:由路由协议在运行过程中自动地设置路由控制信息的一种方法。动态路由管理员必须设置好路由协议,如果要追加一个新的网络到原有的网络中,只需在新增加网络的路由器上进行一个动态路由的设置即可。
路由算法:路由算法是提高路由协议功能,减少路由时开销的一种算法。它的目的是找到源路由器到目的路由器的最佳路径。最典型的有距离向量算法和链路状态算法。
距离向量算法:每个路由器维护一个距离矢量表,然后通过相邻路由器之间的距离矢量通告进行距离矢量表的更新。每隔一段时间,路由器会向所有邻居节点发送它到每个目的节点的距离表,同时它也接收每个邻居节点发来的距离表。(和邻居节点交换整张路由表)
链路状态算法:在了解网络整体连接状态的基础上生成路由控制表的一种方法。该方法中,每个路由器必须保持同样的信息才能进行正确的路由选择。
从本质上来说,链路状态算法将少量更新信息发送至网络各处,而距离向量算法发送大量更新信息至邻接路由器。
路由表是一个存储在路由器或者互联网计算机中的电子表格或者类似的数据库
路由表存储着指向特定网络地址的路径和度量值,可以使路由器根据路由表计算出到达网路周边的拓扑信息
路由表建立的主要目的是为了路由选择,路由器通常依靠所建立以及维护的路由表来决定具体的数据如何转发
根据路由控制的范围常使用IGP(内部网关协议)和EGP(外部网关协议)两种类型的路由协议。
内部网关协议IGP:在区域网络内部进行主机识别。
外部网关协议EGP:在区域网络之间进行路由选择。
邻居建立阶段(OSPF路由器发送HELLO报文,建立和维护邻居关系)
路由交换阶段(OSPF路由器发送DBD报文描述自己的LSDB,再用LSR(请求特定的LSA的报文),LSU(承载LSA的报文)交换自己缺少的LSA,使得双方的LSDB达到一致,即所有路由器知道网络的全局拓扑关系图。双方LSDB一致的标志是邻居达到FULL状态)路由计算阶段(通过SPF算法计算出去往各个网段的最佳路由。并添加到路由表中)
4. BGP协议:BGP的主要功能是与其他BGP系统交换网络可达性信息。该网络可达性信息包括有关流量必须通过以到达这些网络的自治系统(AS)的信息。该信息足以构建AS连接的图,从该图可以修剪路由环路并且可以实施AS级别的策略决策。
网络拥塞现象:指到达通信子网中某一部分的数据报数量过多,使得该部分网络来不及处理,以致于引起这部分网络乃至整个网络性能下降的现象,严重时会出现死锁现象。之所以会出现网络拥塞现象,是因为通信子网中所承受的负荷超出了网络的吞吐能力。
控制方法:
流量控制:如果发送者发送数据过快,接收者来不及接收,那么就会有分组丢失。为了避免分组丢失,控制发送者的发送速度,使得接收者来得及接收,这就是流量控制。
控制方法:由滑动窗口协议(连续ARQ协议)实现。滑动窗口协议既保证了分组无差错、有序接收,也实现了流量控制。主要的方式就是接收方返回的ACK中会包含自己的接收窗口的大小,并且利用大小来控制发送方的数据发送。
区别:拥塞控制的任务是确保子网可以承载所到达的流量。这是一个全局性问题,涉及到各方面的行为,包含全部的主机、全部的路由器、路由器内部的存储转发处理过程,以及全部可能会削弱子网承载容量的其他因素。
与此相反,流量控制仅仅与特定的发送方和特定的接收方之间的点到点流量有关。它的任务是,确保一个高速的发送方不会持续地以超过接收方接收能力的速率数据传输。流量控制通常涉及到的做法是,接收方向发送方提供某种直接的反馈,以便告诉发送方别人一端的情形究竟怎么样。拥塞控制是作用于网络;流量控制是作用于发送者的。
IP协议定义:IP协议是一个无连接的协议(即在通信之前不需要事先建立连接),负责在源地址和目的地址之间传送数据报,然后为了适应不同网络对分组大小的要求,需要对上层传来的报文进行分割,最后调用本地网络协议将数据报传送到下一个网关或目的计算机
IP协议主要功能:寻址;数据报的封装;分段与重组
IP地址分类:
A类地址:以0开头, 第一个字节范围:1~127(1.0.0.0 - 127.255.255.255);
B类地址:以10开头, 第一个字节范围:128~191(128.0.0.0 - 191.255.255.255);
C类地址:以110开头, 第一个字节范围:192~223(192.0.0.0 - 223.255.255.255);
D类地址:以1110开头,第一个字节范围:224~239(224.0.0.0 - 239.255.255.255);(作为多播使用)
E类地址:保留 其中A、B、C是基本类,D、E类作为多播和保留使用。
其他特殊IP地址:
私有地址也叫专用地址,它们不会在全球使用,只具有本地意义。
A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255
B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255
C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255
题目需要我们将192.168.5.0/24这个网络地址划分成能容纳101/54/2个主机的子网。因此我们要先确定主机位,然后根据主机位决定网络位,最后确定详细的IP地址。
将所需要的主机数自大而小的排列出来:101/54/2,然后根据网络拥有的IP数目确定每个子网的主机位:如果2n-2≥该网段的IP数目,那么主机位就等于n。于是,得到:n=7/6/2
用32减去主机位剩下的数值就是网络位,得到:25/26/30
在二进制中用网络位数值掩盖IP前面相应的位数,然后后面的为IP位。选取每个子网的第一个IP为网络地址,最后一个为广播地址,之间的为有效IP。得到:
网络地址 |
有效IP |
广播地址 |
192.168.5.0 |
192.168.5.1-192.168.5.126 |
192.168.5.127 |
192.168.5.128 |
192.168.5.129-192.168.5.190 |
192.168.5.191 |
192.168.5.192 |
192.168.5.193-192.168.5.194 |
192.168.5.195 |
各个子网的子网网络地址和子网广播地址不适宜分配给主机使用。
第一组起始位0(网络位),有效地址起始位为1,结束地址为0+27-2=126,广播位IP为127
第二组起始位128(网络位),有效地址起始为129,结束地址为128+26-2=190,广播位IP为191。
第三组起始位192(网络位),有效IP起始193,结束IP为192+22-2=194,广播位IP为195。
比较字节位,从第一个字节位开始,直到不同的字节位,然后尾部填充0。
例:设有两个子网202.118.133.0/24,202.118.130.0/24,如果进行路由汇聚,得到的网络地址是?
两个子网直到第三个字节发生不同。我们把第三个字节以二进制表示:
202.118.10000 101.0
202.118.10000 010.0
通过比较我们发现前5bit一致,接着我们把不同bit填充0,得出:10000 000,十进制表示为128
将前面两个一样的byte结合起来,得出结果,路由汇聚之后的网络地址为:202.118.128.0/21