目录
路由算法
IPV4
网络地址转换NAT
IPV6
路由协议
组播
移动IP
网络层设备
网络互联:
两个以上的计算机网络,通过一定的方法,用一种或多种通信处理设备(即中间设备)相互连接起来,以构成更大的网络系统。
中继系统:
1. 物理层中继系统:中继器,集线器
2. 数据链路层中继系统:网桥或交换机
3. 网络层中继系统:路由器
4. 网络层以上的中继系统:网关
网络互联通常是指路由器进行网络互联和路由选择。路由器是一台专用计算机,用于在互联网中进行路由选择。
使用虚拟互联网络的好处:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互联的具体的网络异构细节。
路由与转发
路由器主要完成两个功能:路由选择(确定哪一条路径,构造出路由表),分组转发(当一个分组到达时采取的动作,定期更新和维护路由表)
路径选择:
指按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择地路由。
分组转变:
路由器根据转发表将用户地IP数据报从合适地端口转发出去。
路由表是根据路由选择算法得出的,而转发表是从路由表得出的。
拥塞控制
在通信子网中,因出现过量的分组而引起网络性能下降的现象称为拥塞。
判断网络是否进入拥塞的方法是观察网络的吞吐量与网络负载的关系:
如果随着网络负载的增加,网络的吞吐量明显小于正常的吞吐量,则可能已经进入轻度拥塞;
如果随着网络负载的增加,网络的吞吐量下降,则可能进入拥塞状态;
如果网络负载继续增加,网络的吞吐量下降到零,则网络就可能已经进入死锁状态。
拥塞控制的作用是确保子网能够承载所达到的流量,是一个全局性的过程。单一地增加资源并不能解决拥塞。
流量控制和拥塞控制的区别:
流量控制往往是指在发送端和接收端之间的点对点通信量的控制,抑制发送端发送数据的速率,以便使接收端来得及接受。而拥塞控制必须导致网络传输能力下降的所有因素。
拥塞控制的方法:
1. 开环控制。静态的预防方法,在设计网络时事先将有关拥塞的因素考虑周到,一旦整个系统启动并运行,中途就不再需要修改。
2. 闭环控制。动态的预防方法,事先不考虑有关发生拥塞的各种因素,采用监测网络系统去监视,以便调整网络系统的运行。
题目:
静态路由
静态路由指由网络管理员手工配置的路由信息。对于简单的小型网络,可以采用静态路由。
优点是简便和开销小,在拓扑变化不大的小网络中运行效果很好。
动态路由
动态路由指路由信息在一定时间间隙里不断更新,以适应不断变化的网络,获得最优的寻路效果。
能改善网络的性能并有助于流量控制,但算法复杂,会增加网络负担。
分为距离-向量路由算法和链路状态路由算法。
距离-向量路由算法:
所有结点定期地将他们的整个路由选择表传送给所有与之直接相邻的结点。这种路由选择表包含:每条路径的目的地(另一结点),路径的代价(距离,抽象概念,RIP将距离定义为条数,从源端口到达目的端口所经过的路由器个数。每经过一个路由器,跳数加1)。
监听路由选择表:
1. 被通告一条新的路由,该路由在本届点的路由表中不存在,此时本地系统加入这条新的路由。
2. 发来的路由信息中有一条到达某个目的地的路由,该路由与当前使用的路由相比,有较短的距离。就会用经过发送路由信息的结点的新路由替换路由表中到达那个目的地的现有路由。
每个结点在每次更新时都将它的全部路由表发送给所有相邻的结点,所以更新报文的大小与通信子网的结点个数成正比。
最常见的距离-向量路由算法是RIP算法,它采用跳数作为距离的度量。
链路状态路由算法
要求每个参与算法的结点都具有完全的网络拓扑信息。1. 主动测试所有邻接结点的状态,2. 定期地将链路状态传播给所有其它结点。典型的链路状态算法是OSPF算法。
链路状态路由算法的三个特征:
1. 向本自治系统中所有路由器发送信息,使用的是洪泛法。
2. 发送的信息是与路由器相邻的所有路由器的链路状态。
3. 只有当链路状态发生变化时,路由器才向所有路由器发送此信息。
链路状态路由算法可用于大型的路由或路由信息变化聚敛的互联网环境。
主要优点是每个路由结点都使用同样的原始状态数据独立地计算路径,而不依赖中间结点的计算;链路状态报文不加改变地传播,因此采用该算法易于查找故障;由于链路状态报文仅运载来自单个结点关于直接链路的信息,其大小与网络中的路由结点数目无关,因此链路状态算法比距离-向量算法有更好的规模可伸展性。
两者比较:距离-向量路由算法有可能遇到路由环路等问题。
层次路由
当网络规模扩大时,路由器的路由表成比例地增大。不仅会消耗越来越多的路由器缓冲区空间,而且需要用更多CPU时间来扫描路由表,因此路由选择必须按照层次的方式进行。
因特网将整个互联网划分为许多较小的自治系统,每个自治系统有权自主地决定本系统内应采用何种路由选择协议。
1. 一个自治系统内部所使用地路由选择协议称为内部网关协议(IGP),也称域内路由选择,具体的协议有RIP和OSPF等。
2. 自治系统之间所使用的路由选择协议称为外部网关协议(EGP),也称域间路由选择,用在不同自治系统的路由器之间交换路由信息,并负责为分组在不同自治系统之间选择最优路径,具体的协议有BGP。
使用层次路由时,OSPF将一个自治系统再划分为若干区域,每个路由器都知道在本区域内如何把分组路由到目的地的细节,但不用知道其它区域的内部结构。
题目:
一个IP分组由首部和数据部分组成。首部前一部分的长度固定,共20B,是所有IP分组必须具有的。
版本:4
首部长度:4位,以32位为单位,最大值为60B,最常用的长度是20B。
总长度:占16位,指首部和数据之和的长度,单位是字节,因此数据报的最大长度位216-1。以太网帧的最大传送单位是1500B,因此当一个IP数据报封装成帧时,数据包的总长度一定不能超过下面的数据链路层的MTU的值。
标识:占16位,它是一个计数器,每产生一个数据包就加1,并赋值给标识字段。
标志:占3位,MF=1表示后面还有分片,MF=0表示最后一个分片。中间一位是DF,只有当DF=0时才允许分片。
片偏移:片偏移以8个字节为偏移单位,每个分片的长度一定是8B的整数倍。
生存时间:8位,数据报在网络中可通过的路由器数的最大值,路由器在转发分组前,先把TTL减1,若TTL被减为0,则该分组必须丢弃。
协议:8位,指出此分组携带的数据使用何种协议,其中值为6表示TCP,值为17表示UDP。
首部校验和:IP数据报的首部校验和只校验分组的首部,而不校验数据部分。
源地址字段:4B,标识发送方的IP地址。
目的地址字段:4B,标识接收方的IP地址。
注意:首部长度、总长度、片偏移的基本单位分别是4B、1B、8B。
IP数据报分片
最大传送单元(MTU):一个数据链路层数据报能承载的最大数据量。
片在目的地的网络层被重新组装。目的主机使用IP首部中的标识、标志和片偏移字段来完成对片的重组。
IP首部标志位有3比特,只有后2比特有意义,分别是MF,DF,只有当DF=0时该IP数据包才能被分片,MF则用来告知目的主机该IP数据报是否为原始数据包的最后一片,当MF=1时表示相应的原始数据报还有后续的片;当MF=0时表示是最后一片。
得到下一条路由的IP地址后并不是直接将该地址填入要发送的数据报,而是线通过ARP把IP地址转换成MAC地址,然后将其放到MAC帧首部,根据MAC地址找到下一个路由器。在不同网络中传送时,MAC帧的源地址和目的地址会变,但网桥转发时不改变源地址。
IPV4地址
连入因特网上的主机都有一个32位比特的全球唯一标识符,即IP地址,包括网络号和主机号。
分为A(1到126),B(126到191),C(192到223),D(224到239),E类(240到255)。
特殊IP地址:
1. 主机号全为0表示本网络本身
2. 主机号全为1表示本网络的广播地址
3. 网络号为127.0.0.0表示任意主机本身自己检查
4. 0.0.0.0表示主机自己
5. 255.255.255.255表示整个一个广播域的受限广播地址
特点:
1. IP地址时一种分等级的地址结构,IP地址管理机构指分配网络号,主机号由网络自己分配,路由器只根据网络号转发分组。
2. IP地址标志一台主机和一条链路的接口。IP地址的路由器必然至少具有两个IP地址。
3. 用转发器或桥接器连接的局域网时一个广播域。
4. 同一个局域网上的网络号一样。
将专用网络地址转换为共用地址,从而对外隐藏内部管理的IP地址,降低了内部网络受到攻击的风险。
私有IP地址:只用于局域网不用于因特网连接,必须通过NAT转换成合法的IP地址。
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255
因特网中的路由器对私有地址的数据报一律不转发。
需要在专用网连接到因特网的路由器上安装NAT软件,NAT路由器至少由一个有效的全球
地址,NAT转换表存放{本地IP地址:端口}到{全球IP地址:端口}的映射。
普通路由器不改变IP源地址和目的地址,只到网络层;但NAT需要改变IP源地址或目的地址,需要看传输层的端口。
子网划分
IP地址={网络号,子网号,主机号}
对分类的IPV4地址进行子网划分时,子网号不能为全1或全0。而CIDR的全1和全0可以使用;无论时IPV4还是CIDR主机号都不能时全1或全0。
子网掩码
A,B,C类地址的默认子网掩码分别为255.0.0.0,255.255.0.0,255.255.255.0。
路由器的路由表中,所包含的信息的主要内容必须有目的网络地址,子网掩码,下一条地址。
无分类域间路由选择(CIDR)
IP={网络前缀,主机号}
虽然不使用子网,但仍然使用掩码。CIDR不使用子网是指没有在32位地址中指明若干位作为子网字段。
优点在于网络前缀长度的灵活性。
最长前缀匹配:从匹配结果中选择具有最长网络前缀的路由。
CIDR查找路由表的方法:层次式数据结构,通常是二叉线索。
IP地址和MAC地址
IP地址通过路由器到达另一个网络后,通过数据链路层的MAC地址进行广播寻址。
虽然IP数据报有IP源地址和目的地址,但路由器查找时只看目的地址。
地址解析协议ARP
工作在网络层,每个主机都有一个ARP高速缓存,即ARP表,用来存放局域网中IP地址和MAC地址的映射。
ARP请求分组时广播,ARP响应分组是单播。
发送方:主机,发送到本网络另一台主机,用ARP找到目的主机的硬件地址。
发送方:主机,发送到另一个网络另一台主机,用ARP找到本网络路由器的硬件地址。
发送方:路由器,发送到本网络一台主机,用ARP找到目的主机的硬件地址。
发送方:路由器,发送到另一个网络的主机,用ARP找到本网络上的一个路由器的硬件地址。
从IP地址到硬件地址的过程是自动进行的,用户不知道地址解析过程。
动态主机配置协议DHCP
给主机动态分配IP地址,提供了即插即用的联网机制。是应用层协议,基于UDP。
使用客户/服务器方式,工作方式是需要IP地址的主机在启动时向本网络向DHCP服务器发送一个广播发送消息,称为DHCP客户。本地网络都能受到广播消息,但只有DHCP服务器响应,在数据库中查找对应的IP地址,如果没有就从IP地址池中取一个地址分配给主机。
DHCP允许网络上配置多个DHCP服务器,主机选择最早到达的响应消息。
国际控制报文协议ICMP
网络层,让主机或路由器报告差错和异常情况。ICMP报文作为IP层数据报的数据,加上数据报的首部组成IP数据报发送出去。ICMP是IP层协议。
种类分为ICMP差错报告报文和ICMP询问报文。
ICMP差错报告报文:
1. 终点不可达,路由器或主机无法交付数据报。
2. 源点抑制,路由器或主机因为拥塞而丢弃数据报时
3. 时间超过,当路由器受到生存时间为零的数据报时,除了丢弃数据报外,还要向源点发送时间超过报文。
4. 参数问题,当路由器或目的主机受到的数据报的首部中有的字段的值不正确时
5. 改变路由(重定向),路由器把改变路由报文发送给主机。
不发送ICMP差错报文:
1. 对ICMP差错报文不再发送ICMP差错报文。
2. 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报文。
3. 对具有组播地址的数据报都不发送ICMP差错报文。
4. 对具有特殊地址(127.0.0.0或0.0.0.0)的数据报不发送
ICMP询问报文
回送请求和回答报文、时间戳请求和回答报文、掩码地址请求和回答报文、路由器询问和通告报文。
ICMP常见应用时分组网间探测PING(用来测试两台主机之间的连通性)和Traceroute(用来跟踪分组经过的路由)。其中PING使用了ICMP回送请求和回答报文,Traceroute使用了ICMP时间超过报文。
PING工作在应用层,它直接使用网络层的ICMP,而未使用传输层的TCP或UDP,Traceroute工作在网络层。
题目:
不允许分片,首部长度是8B的整数倍,而IPV4首部是4B的整数倍。
关键特征是身份验证和保密功能。
IPV6地址
单播:传统的点对点。
多播:一点对多点,分组被交付到一组计算机的每台机器。
任播:IPV6增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一台计算机,通常是最近的那个。
IPV4向IPV6过渡可以采用双协议栈(一台设备上同时装有IPV4和IPV6协议栈)和隧道技术(将整个IPV6数据报封装到IPV4数据报的数据部分)两种策略。
题目:
自治系统:单一技术管理下的一组路由器。
域内路由选择:自治系统内部的路由选择。
域间路由选择:自治系统之间的路由选择。
内部网关协议(IGP):如RIP和OSPF
外部网关协议(EGP):如BGP-4
路由信息协议(RIP):
分布式的基于距离向量的路由选择协议,最大的优点是简单。
优先选择跳数少的路径,最多只能包含15个路由器。因此距离为16表示网络不可达。
默认在任意两个使用RIP的路由器之间每30秒广播一次RIP路由更新信息。
仅和相邻的结点,交换全部的路由信息。
距离向量算法:<目的网络N,距离d,下一跳路由器地址X>
超过180秒还没有收到相邻路由器的更新路由表,则把相邻路由器设为不可达路由器。
网络出现故障时,会出现慢收敛现象,俗称坏消息传得慢,使更新过程的收敛时间长。
应用层协议,使用UDP传送数据。
开放最短路径优先(OSPF)协议
分布式链路状态路由算法,只有链路发生变化的时候才洪泛法,且更新过程收敛得快。
网络层协议,不使用UDP或TCP,而直接使用IP数据报传送。
使用dijkstra最短路径算法计算从自己到各目的网络得最优路径,以此构造自己的路由表。
五种类型:
1. 问候分组:用来发现和维持邻站的可达性,每隔10秒交换一次
2. 数据库描述分组:给邻站信息,每隔一段时间刷新一次。
3. 链路状态请求分组:请求对方发送某些链路状态项目的详细信息
4. 链路状态更新分组:用洪泛发对全网更新链路状态
5. 链路状态确认分组:对链路更新分组的确认
边界网关协议(BGP)
不同自治系统的路由器之间交换路由信息,找到一条能够到达目的网络且较好(不是最好)的路由。
采用路径向量路由选择协议,应用层协议,基于TCP。
BGP支持CIDR,刚运行时邻站交换整个BGP路由表,以后只需发生变化时更新有变化的部分。
题目:
源计算机一次发送的单个分组可以抵达用一个组地址标识的若干目标主机。
仅应用于UDP,主机组播时仅发送一份数据,只有数据在传送路径出现分岔时才将分组复制后继续转发。使用IGMP(伊特王组管理协议)。
组播地址只能用于目的地址,而不能用于源地址。
组播数据报不产生ICMP差错报文。
并非所有的D类地址都可以作为组播地址。
IP组播可分为本局域网上的硬件组播,另一种使因特网的范围内进行组播。
由于组播IP地址与以太网硬件地址的映射关系并不是唯一的,因此受到组播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃。
题目:
移动结点以固定的网络IP地址实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程中不发生任何改变。
移动IP实体是移动结点,归属代理(本地代理)和外部代理。
移动结点在本地网络先向本地代理注册当前的位置地址,即转交地址,本地代理将会形成一条到转交地址的隧道,将截获到的分组送到转发地址。在转交地址处接触隧道封装,恢复原来的IP分组,送到移动结点。移动结点在外网通过外部代理向通信对端发送IP数据报。回到本地网时,移动结点向本地代理注销转交地址。
如果一个存储转发设备实现了某个层次的功能,那么它就可以互联两个在该层次上使用不同协议的网段。如网桥实现了物理层和数据链路层,那么网桥可以互联两个物理层和数据链路层不同的网段;但中继器实现了物理层,却不能互联两个物理层不同的网段,也因为中继器不是存储转发设备,它是直通式设备。
路由表包含:目的网络IP地址,子网掩码,下一跳IP地址,接口。
路由表不等于转发表,分组的实际转发是靠直接查找转发表,而不是直接查找路由表。