计算机网络网络层
网络层的功能
网络层设计思路就是,向上提供简单灵活,无连接,尽最大努力交付的数据报服务。如果主机中进程之间的通信需要可靠的,可以由更高层的传输层负责。
异构网络互联
- 把全球网络互联需要解决不同的问题,网络层任务之一就是互联它们。所谓互联就是把两个及以上计算机网络通过一定方法,用一种/多种通信设备互相连接成为更大的网络系统,中间设备又称为中间系统/中继系统。
- 中继系统分为四种:①物理层中继系统:中继器,集线器。②数据链路层中继系统:网桥,交换机。③网络层中继系统:路由器。④网络层以上的中继系统:网关。
- 但物理层的中继系统只是扩大网络,不算是互联,因此网络互联指的是路由器进行网络互连和路由选择。
- 由于参加互联的网络都使用相同的网际协议(Internet Protocol,IP),因此把互联后的计算机网络视为全部连接到一个虚拟的IP网络,看不见网络异构的细节。
路由与转发
- 路由器珠岙两个功能:路由选择,分组转发。
- 路由选择:根据特定路由选择协议构造出路由表,同时经常和相邻路由器交换信息不断更新维护路由表。得到整个网络拓扑变化情况,动态改变所选择路由。
- 分组转发:转发表查询,转发,已经相关队列管理和任务调度等。由转发表把用户IP数据报从合适端口转发出去。
- 路由表根据路由选择算法计算出的,而转发表是从路由表得出的,转发表的结构应当使得查找最优化,路由表则需要对网络拓扑变化的计算最优化,往往笼统都是用路由表一词。
拥塞控制
- 通信子网中过量分组引起网络性能下降称为拥塞。一旦分组到达路由器速率到达带宽附近则时延就急剧增加,且大量分组被丢弃。
- 判断是否进入拥塞方法:看网络吞吐量与负载的关系。如果随着网络负载增加,吞吐量明显小于正常,则轻度拥塞,吞吐量减小则可能已经拥塞,吞吐量讲到零则进入死锁状态。
- 作用就是:确保子网能够承载所达到的流量,全局性的过程,涉及各方面的行为:主机,路由器及路由器内部的转发处理等过程。单一增加资源并不能解决拥塞控制。
- 拥塞控制与流量控制区别:流量是两端点对点通信量的控制,只需要限制发送速率。而拥塞控制必须保证通信子网能够传送待传送的数据,是全局性的,涉及所有主机,路由器以及导致网络传输能力下降的所有因素。
- 方法有两种:
①开环控制:设计网络前把因素考虑周到,力求网络工作不产生拥塞,这是静态预防的方法,一旦系统启动就不修改。手段包括:何时确定可接收新流量,何时丢弃分组,丢弃哪些分组,确定调度策略等,总之不考虑当前网络状态。静态的方法。
②闭环控制:设计网络前不考虑因素,采用监测系统及时监测哪里发生拥塞,把拥塞信息传送到合适地方,调整整个系统运行,动态的方法。路由算法
静态路由和动态路由
- 路由器转发分组通过路由表转发,而表则从算法得到的,路由算法分两类:
①静态路由算法(非自适应路由算法):需要网络管理员手工配置的路由信息,网络拓扑结构或链路状态发生变化的时候,需要手工配置,不能及时更新网络状态,适用于简单小型网络。
②动态路由算法(自适应路由算法):路由器相邻之间彼此交换信息,按照一定比例游湖出来,则这些路由信息在一定时间间隙不断更新,随时获得最优寻路效果。 - 静态路由简单开销小,拓扑变化不大的网络效果好。动态路由算法负责增加网络负担,反应太快引起震荡,太慢引起路由不一致。动态有两种方法:距离-向量路由算法,链路状态路由算法。
距离-向量路由算法(DV)
- 所有结点都定期把它的路由选择表传送给所有与之直接相连的结点,路由选择表包括每条路径目的地和代价。所有结点都监听从其他结点传来的路由选择更新信息:
①当被通告一条新的路由,该路由在本结点路由表中不存在,此时本地系统加入这条新路由。
②当发来的路由信息中有一个到达某个目的地路由更短距离(更小代价)则替代原路由。 - 实质是:迭代计算一条路由中的站段数或延迟时间,从而得到到达一个目标的最短通路。但更新信息与子网结点个数成正比。
- 最常见的距离-向量路由算法是RIP算法,采用”跳数“作为距离度量。
链路状态路由算法(LS)
- 要求每个参与结点都具有完全的网络拓扑信息,执行两步骤:①主动测试所有临界点状态,②定期把链路状态传播给所有其他结点。一个结点检查链路状态,并把状态信息传给全网所有结点(不是相邻结点),每个结点都通过这种方式接收状态信息,通过这些状态信息来更新自己网络拓扑和状态图,一旦链路发生变化,则利用Dijkstra算法重新计算路由,计算单源最短路径。最常用的链路状态路由算法是OSPF算法。
- 三个特征:
①向本自治系统的所有路由器发送信息,使用泛洪法Flooding,即路由器通过所有端口向相邻路由器发送信息,而接收到之后又重复该过程(但不发给刚才发给自己的那个路由器)。
②发送的信息是与路由器相邻的所有路由器的链路状态,所谓”链路状态“就是本路由器与哪些路由器相邻以及链路的”度量“。对于OSPF算法,”度量“则是费用,距离,时延,带宽等。
③当链路状态发生改变才发送信息。 - 优点:每个路由都独立计算自己的信息。链路信息不改变进行传播,易于查找故障。当一个结点接到所有其他节点的信息则可以计算自己的信息。
层次路由
- 当网络规模扩大时,路由表成比例扩大,不仅消耗路由器缓冲区空间,而且需要CPU更多时间来扫描路由表,更多带宽交换路由状态信息,因此必须按照层次方式进行。
- 因特网把互联网划分许多小自治系统,每个系统都自主决定系统内采用何种路由选择协议,则两系统间通信就需要协议来屏蔽差异。
- 路由选择协议划分两大类:
①自治系统内部所使用的路由选择协议称为内部网关协议(IGP),也称域内路由选择,具体有RIP和OSPF。
②自治系统之间所使用的路由选择协议称为外部网关协议(EGP),也成为域间路由选择,具体有BGP。 - 使用层次路由的时候,OSPF把自治系统再划分若干区域,每个路由器只需要自导自己区域如何路由即可。
IPv4
IPv4分组
- IPv4即现在普遍使用的IP,IP定义数据传送的基本单元——IP分组以及确切的数据格式,也包括规则,指明分组如何处理,错误如何控制。特别是IP还包含了非可靠投递的思想,以及于此关联的分组路由选择的思想。
- IPv4分组的格式:如图:
重要字段含义:
版本:IP的版本号,通常为4。
首部长度:占4位,最大进制15。
总长度:占16位,指的是首部和数据之和的长度,单位为字节,因此数据包最大长度为2的16次方-1=65535B,以太网MTU=1500B,因此IP数据报封装成帧的时候一定小于MTU。
标识:占16位。它是一个计数器,每产生一个数据报就加1,并且赋值给标识字段,但它并不是序号,因为IP不可靠服务,当一个数据报长度超过网络MTU时,必须分片,此时每个数据报片都需要复制一次标识号,以便能重新组装成原数据报。
标志:占3位,标志字段最低位为MF,MF=1表示后面还有分片,MF=0表示是最后一个分片,标志字段中间为DF,当DF为0的时候才允许分片。
片偏移:占13位,它指出较长的分组在分片之后,某片在原分组中的相对位置,片偏移以8个字节位偏移单位,每个分片的长度一定是8B的整数倍。
生存时间TTL:占8位数据报在网络中可以通过的路由器数量最大值,标识分组在网络中寿命,以确保不会永远在网络中循环。路由器在转发分组前,先把TTL减一,TTL=0丢弃分组。
协议:占8位,指出此分组携带的数据使用什么协议,即分组的数据部分应该交给那个传输层协议,如TCP,UDP等,其中值为6表示TCP,17表示UCP。
首部校验和:占16位,IP数据报首部校验和只校验分组的首部,不校验数据部分。
源地址字段:占4B,发送方IP地址。
目的字段:占4B,接收方IP地址。 - IP数据报分片:
①一个数据链路层数据报能承受的最大数据量为MTU,因为IP数据报被封装在链路层数据报中,因此MTU限制着IP数据报的长度。而且在IP数据报目的/源地可能不同的数据链路层协议,有不同的MTU。这时把IP数据报中数据分装在多个小的IP数据报中,称为片。
②片在目的地网络层被重新组装,目的主机使用IP首部标识,标志,片偏移字段来重组片,创建一个IP数据报的时候,源主机为该数据报加一个标识号,每个片的表示号一样,目的主机通过标识号来确定哪些片属于原始数据报。而IP首部中的标志位有3比特,但只有后2比特有意义,分别是MF和DF,DF为0时IP数据报才允许分片,MF=0代表后边还有片,MF=1代表是最后一片。目的主机重组的时候通过片偏移来确定数据报的各个片的位置。
③计算过程: - 网络层转发分组流程:
①从数据报首部提取目的主机IP地址D,得出目的网络地址N。
②若网络N与此路由器直接相连,则把数据报直接交付给目的主机D,这成为路由器的直接交付,否则是间接交付执行③。
③若路由器有目的地址为D的特定主机路由,则把数据报交给路由表中指定的下一跳路由器,否则执行④
④若路由表中有到达网络N的路由,则把数据报传给路由表中指定的下一跳路由器,否则执行⑤
⑤若路由表有一个默认路由,则把数据报传送给默认路由器,否则执行⑥
⑥报告转发分组出错。IPv4地址与NAT
- IPv4地址:
①连接到互联网的每台主句都分配了一个32比特的全球唯一标识符,即IP地址,传统IP地址是分类的地址,分为ABCDE五类。由网络号+主机号组成,网络和标志主机所连接到的网络,一个网络号在整个互联网必须是唯一的,主机号标志该主机,主机号在该网络号范围内必须是唯一的,所以整个IP地址就是唯一的。
②五类IP地址: ③各类IP地址有的不能用:
主机号全0表示网络本身,如202.98.174.0
主机号全为1表示本网络的广播地址,又称直接广播地址,如202.98.174.255
127.0.0.0保留为环回自检地址,表示任意主机本身,目的地址为该地址的IP数据报用不会出现网络上。
32位全为0,0.0.0.0表示本网络上的本主机。
32位全为1,255.255.255.255表示整个TCP/TP网络的广播地址,但由于路由器隔离广播域,则认为它为本网络的广播地址。
④常用ABC网络IP地址使用范围:
⑤重要特点:
IP是分等级的地址结构,好处是:IP地址管理机构分配IP地址时只分配网络号,而主机号由网络自行分配。路由器根据网络号转发分组,不考虑主机号,减小路由器所占存储空间。
IP地址标志一条主机和一条链路的接口,当主机同时连接两个网络的时候必须有两个IP地址,则一个路由器必然至少有两个IP地址。
IP地址所有分配到网络号的网络都是平等的。
- 网络地址转换:
①Network Address Translation,NAT,通过把专用网络地址转换为公用网络地址,对外隐藏内部管理的IP地址,使得整个专用网只需要一个全球IP地址就可以与因特网连通,由于本机IP地址可以重用,大大节省了IP地址消耗,同时隐藏内部网络结构,降低风险。
②为了网络安全,画出了部分IP地址为私有,私有IP地址只用于LAN,不用于WANianj,并且允许私有IP地址被LAN重复使用。在因特网中,路由器对于私有地址一律不予转发,称私有地址为专用互联网/本地互联网,
③使用NAT需要在专用互联网连接到因特网的路由器上安装NAT软件,NAT路由器至少有i一个有效的外部全球地址,NAT路由器使用NAT转换表把本地地址转换为全球地址或反向,这两个地址在转发表中是映射关系,可以多个私有IP地址映射到同一个全球地址。子网划分与子网掩码,CIDR:
①子网划分:
使得两级IP地址变为三级IP地址。子网划分属于内部事情,对外仍然表现为没有划分子网的网络,从主机号借用若干比特作为子网号,当然主机号也相应减少了相同的比特,三级IP地址=网络号+子网号+主机号。同样的路由器转发分组的时候现根据子网号找子网,再转发给目的主机。
注意:子网划分是把主机号再进行划分,不改变网络号。
②子网掩码:
对ABC类网络进行子网划分,必须使用子网掩码表示对于源网络中主机号的借位。它是一个32比特的二进制串,由一串1和跟随的0组成,1对应IP地址中网络号及其子网号,而0对应主机号,计算机只需要把它的IP地址和其对应的子网掩码逐位“与”就可以得到子网IP地址。未进行划分子网的有默认子网掩码:A类255.0.0.0,B类255.255.0.0,C类255.255.255.0。
子网掩码属于重要属性,所以路由器必须在相互交换路由信息的时候必须把自己所在的网络的子网掩码告诉对方,路由器每个条目,除了给出目的网络地址和下一跳地址外,还要给出目的网络的子网掩码。
③无分类域间路由选择(CIDR):
无分类域间路由选择是在变长子网掩码基础上提出的一种消除传统ABC类网络划分,并且可以在软件支持下实现超网构造的一种IP地址划分方法。
特点:
CIDR使用网络前缀+主机号,即变成了无分类的IP地址。使用斜线技法——IP地址/网络前缀所占比特数。把网络前缀相同的连续IP地址组成“CIDR地址块”,一个CIDR地址块可以表示很多地址,称为路由聚合,使得原来多个传统网络分类地址的路由变成现在一个,减少路由器之间的路由选择信息的交换,提高网络性能。
优点在于网络前缀长度的灵活性,且使用最长前缀匹配。ARP,DHCP,ICMP:
①IP地址和硬件地址:
IP地址是网络层使用的分层地址。硬件地址则是数据链路层使用的平面式的地址(MAC地址),IP地址放在IP数据报的首部,而MAC地址放在MAC数据帧首部,通过数据封装把IP数据报分组封装成MAC帧之后,数据链路层看不见数据报分组中的IP地址。
由于路由器隔离,IP只能通过IP地址寻址,依靠路由表跳转到目标网络,改为在目标LAN中通过数据链路层的MAC地址以广播方式寻址。(路由器只根据目的地IP地址的网络号进行路由选择)
在局域网数据链路层只能看见MAC帧,通过路由器转发IP分组的时候,此IP分组在每个网络中都被路由器解封装和重新封装,因此MAC地址不断改变,所以MAC地址无法夸网络通信。
②地址解析协议ARP:
无论网络层使用什么协议,在实际网络的链路上传送数据帧的时候,最终必须使用硬件地址,所以需要从IP转化为MAC,这就是地址解析协议ARP,每台主机都有一个ARP高速缓存,用来存放本局域网上各主机和路由器的IP地址到MAC地址的映射表,称ARP表,使用ARP来动态维护此表。
工作在网络层:原理如下:主机A想向B发送数据报,先在其ARP告诉缓存中查看有无主机B的IP地址,有则查其MAC地址,再写入MAC帧,通过局域网发送到此MAC地址。没有则使用目的MAC地址为FF-FF-FF-FF-FF-FF的帧来封装并且广播ARP请求分组,使得同一个局域网里所有主机收到ARP请求。主机B收到ARP请求之后向主机A发出响应ARP分组,分组包含B的IP和MAC映射关系,A收到之后写入缓存,然后按照查询的MAC发送分组。(用于解决同一个局域网上的IP与MAC映射关系,不在同一个局域网就要通过ARP找到一个位于本局域网的路由器MAC地址,由这个路由器进行分组转发给下一个网络)
③动态主机配置协议(DHCP):
常用给主机动态分配IP地址,提供了即插即用的机制,允许一台计算机加入新网络和获取IP地址而不用手工参与,是应用层协议,基于UDP。
工作原理:使用C/S方式,需要IP地址的主机向DHCP服务器广播发送发现报文成为其客户,本地网络上所有主机都能收到此广播报文,但只有DHCP服务器能回复,DHCP服务器在其数据库查找是否有该计算机配置,有则返回信息,无则从服务器IP地址取一个地址分配给该计算机,称为提供报文。
DHCP服务器可能多个,客户端只需要挑选一个接收信息即可,通常是最先到达的。且分配的IP地址为临时的,称为租用期,数值应该由DHCP服务器自己决定,DHCP客户也可以进行要求。通过广播方式进行交互,因为客户端不知道服务器IP地址,而客户端没有IP地址,从而必须广播,且为UDP,因为没有IP地址无法使用TCP建立连接。
④网际控制报文协议(ICMP):
为了提高IP数据报交付成功的机会,网络层使用ICMP让主机/路由器报告差错和异常情况,ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。有两种:ICMP差错报告报文和ICMP询问报文。 - 差错报告报文用于目标主机或到目标主机路径上的路由器向源主机报告差错和异常情况,有五类:
终点不可达:路由器/主机不能交付数据报时。
源点抑制: 路由器/主机由于拥塞丢失数据报,应该把数据报的发送速率降低。
时间超过:路由器收到TTL=0的数据报时,除了丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定时间内不能收到一个数据报全部数据报片的时候就把已经收到的全部丢弃,并向源点发送时间超过报文。
参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确的时候,就丢弃数据报,并向源点发送参数问题报文。
改变路由:路由器把改变路由报文发送给主机,让主机知道通过更好路由发送给另外的路由器。 - 询问报文:有四种,回送请求和回答报文,时间戳请求和回答报文,掩码地址请求和回答报文,路由器询问和回答报文。
- ICMP常见的应用是分组网间探测PING(用来测试两台主机之间连通性)和Traceroute(跟踪分组经过路由),其中PING用了回送请求和回答报文,Traceroute使用了ICMP时间超过报文。PING工作在应用层,直接使用网络层ICMP,而Traceroute工作在网络层。
IPv6
IPv6的主要特点
解决IP耗尽问题有三种:①采用CIDR无类别编址,使得IP地址分配更加合理。②采用网络地址转换NAT方法节省全球IP地址。③采用更大地址空间新版本IPv6。
IPv6特点:
①有更大地址空间,32位变成128位,字节数16B是4B的平方。
②扩展的地址层次。
③灵活的首部格式。
④改进的选项。
⑤允许协议继续扩充。
⑥即插即用(自动配置)。
⑦支持资源预分配。
⑧不允许分片。
⑨首部长度为8B的整数倍,而IPv4是4B的整数倍。
⑩增大了安全性,身份验证和保密功能是IPv6的整数倍。IPv6地址
IPv6的数据报目的地址是:单播(传统点对点),多播(一对多,分组给一组计算机的每个),任播(IPv6增加的类型,数据报只交付给一组计算机的一台最近的计算机)。
使用了分级概念,三个等级:公共拓扑,单个场点,单个网络接口。路由协议
自治系统
AS,单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同度量来确定分组在该AS的路由,同时使用一种AS之间的路由选择协议来确定分组在AS之间的路由。一个自治系统的所有网络都由一个单位管线,且所有路由器都联通。域间路由和域内路由
自治系统内部路由选择称为域内路由选择,外部称为域间路由选择。
①内部网关协议(Interior Gateway Protocol,IGP):有RIP和OSPF。
②外部网关协议(External Gateway Protocol,EGP):
若源站和目的站处于不同AS,则传送数据报的时候就需要使用一种协议把路由信息传递给另一个系统,这样的协议就是EGP,使用最多的就是BGP-4。路由信息协议(RIP)
基于距离向量的路由选择协议(DV),最大优点就是简单。
①RIP规定:
网络中每个路由器都需要维护从它自身到其他每个目的网络的距离记录。
距离也称为跳数,每经过一个路由+1。
RIP认为好的路由就是跳数小,允许最多15跳,大于15则不可达,所以只使用小型互联网。
RIP默认两个使用RIP路由器之间每30s一次广播路由更新信息,以便建立更新维护路由表。
②RIP特点:
只和自己相邻路由器交换信息。
路由器交换信息是当前路由器所知道的全部信息,即自己的路由表。
按照固定时间间隔交换路由信息,如每隔30s。
③距离向量算法:
路由表有三个关键数据:目的网络N,距离d,下一跳路由器地址X。则每个RIP报文执行: - 地址X相邻路由器发来报文,修改此报文所有项目,把下一跳改为X,距离+1。
- 对于修改后的RIP报文中每个项目要:当前路由表中没有目的网络N,则添加。有目的网络N且下一跳路由器是X则替换。有目的网络N且下一跳路由器不是X且新距离短则替换,距离长则不做改变。
- 若180s没有收到更新路由表,把相邻路由器记作不可达路由器,距离设置为16。
- 返回。
④优缺点:
优点就是实现简单,开销小,收敛过程快。
缺点就是RIP限制网络规模,能够使用最大距离为15。路由器之间交换的是完整路由表,网络规模越大开销越大。网络出现故障的时候出现慢收敛现象。
RIP是应用层协议,使用UDP传送数据,路径一定是路由器最少的路径,但不一定是时间最短的路径。开放最短路径优先协议(OSPF)
①OSPF的特点: - 与RIP区别:
OSPF使用洪泛法向所有路由器发送信息。而RIP向相邻路由器发送信息。
OSPF发送信息是与本路由器相邻所有路由器的链路状态。而RIP是整个路由表。
OSPF当链路发生变化的时候才更新路由器。而RIP是定期更新。
OSPF是网络层协议,使用IP数据报传送。而RIP是应用层协议,使用UDP传送。 - OSPF还有自己的特点:
OSPF对于不同链路根据IP分组不同服务类型而设置不同代价,因此计算出不同路由,很灵活。
如果对同一个目的网络有多条代价相同的路径,则可以把通信量分配给这几条路径,称为多路径之间的负载平衡。
所有在OSPF路由器之间的交换分组都有鉴别功能,保证了仅在可信赖路由器之间交换链路状态信息。
支持可变长子网划分和无分类编址CIDR。
每个链路状态都有自己32位序号,序号越大,状态越新。
②OSPF基本原理:
各路由器之间频繁交换链路状态,因此都可以建立一个链路状态数据库,就是全网拓扑图,在全网范围内是一致的,然后用Dijkstra计算单源最短路径,构造自己路由表,更新之后继续计算构造新路由表即可。
为了使得OSPF能够用于更大的网络,需要把AS再次划分称为更小范围的区域,减小了通信量。
③OSPF的五种分组类型:
问候分组:用来发现和维持邻站的可达性。
数据库描述分组:向邻站给出自己链路状态数据库中信息。
链路状态请求分组:向对方请求发送某些链路状态项目的详细信息。
链路状态更新分组:用洪泛法对全网更新状态。
链路状态确认分组:对链路更新分组的确认。
通常10s,两个相邻路由器交换一次问候分组,知道哪些可达。路由器开始工作的时候,OSPF让每个路由器使用数据库描述分组和相邻交换本数据库中的信息,然后路由器使用链路状态请求分组,向对方请求发送自己缺少的某些链路状态项目的详细信息。经过一系列的分组交换,建立全网同步的链路状态数据库。边界网关协议(BGP)
- 常用于互联网网关之间,只求能找到一条到达目的网络且较好的路由,并非最佳路由,使用的是路径向量DV,BGP是应用层协议,基于TCP。
- 工作原理如下:每个自治系统管理员选择一个路由器(可以多个)作为发言人,发言人之间交换路由信息(建立TCP连接),当所有的发言人都相互交换信息之后就可以找到各个自治系统的较好路由。
- 特点:
AS数量级就是BGP的节点数量级,比AS中的网络数量小很多。
发言人数量很少,使得AS间的路由选择不复杂。
BGP支持CIDR。 - BGP一共使用4种报文:
①打开报文(Open),用来与相邻的另一个BGP发言人建立关系。
②更新报文(Update),用来发送某一路由的信息,以及列出要撤销的多条路由。
③保活报文(Keepalive),用来确认打开报文并周期性地证实邻站关系。
④通知报文(Notification),用来发送检测到的差错。三者比较
IP组播
IP组播的概念
- 让源计算机一次发送的单个分组可以抵达用一个组地址标识的若干目标主机,并被他们正确接收。组播一定仅应用于UDP,TCP一对一不适用。让源主机把单个分组发送给一个组播地址,该组播地址标识一组地址,而一个主机可以属于多个组。
- 主机使用IGMP协议加入组播组,它们使用该协议通知本地网络上的路由器关于要接收发送给某个组播组的分组愿望。
- 主机组播仅仅发送一份数据,路径分叉的时候才复制,因此大大减轻网络负载和发送者负担,组播需要路由器支持才能实现,能够运行组播协议的路由器称为组播路由器。
- 组播和单播区别:
IP组播地址
- 使用D类地址,前四位1110,因此D类范围为224.0.0.0———239.255.255.255,每个IP地址标志一个组播组。
- 组播数据报和IP数据报区别是:前者使用D类IP地址作为目的地址,并且首部协议字段为2,使用IGMP,需要注意的是:
①组播数据报是不可靠的,尽最大努力交付的。
②组播地址只能用于目的地址,不能用于源地址。
③对于组播数据报不产生ICMP差错报文,因此PING命令不响应。
④并非所有D类地址都可以是组播地址。 - 组播地址分两种:本局域网内硬件组播,因特网内组播。
IGMP与组播路由算法
- 要使路由器知道组播成员信息,需要利用因特网组管理协议IGMP,连接到局域网上的组播路由器必须和因特网上其他组播路由器协同工作,以便把组播数据报以最小代价传送给所有组成员,所以使用组播路由选择协议。
- IGMP不知道IP组播包含的成员,而是让连接在本地局域网上的组播路由器知道主机是否参加/退出了某个组播组。
- IGMP工作两个阶段:
①某台主机加入新组买主机应该向组播组的组播地址发送一个IGMP报文,声明自己要成为成员,本地组播路由器收到以后,把组成员关系转发给因特网上的其他组播路由器。
②组成员是动态的,本地组播路由器周期性探询主机,看看是否还是成员。 - 组播路由实际就是找出以源主机为根结点的组播转发树。
移动IP
移动IP的概念
- 支持移动性的因特网体系结构与协议称为移动IP,为了满足移动结点在移动中保持连接性而设计的。确切的说,移动IP技术是指移动结点以固定IP地址跨越不同网段的漫游功能,且保证网络权限不发生改变。
- 基于IPv4的移动IP定义三种功能实体:
①移动结点:具有永久IP地址的移动结点。
②本地代理:一个网络环境中一个结点永久的“居所”称为归属网络,在归属网络中代表结点执行移动管理功能的实体为本地代理。
③外部代理:外部网络中帮助结点完成移动管理功能的实体为外部代理。移动IP的通信过程
- 移动结点本地地址唯一且不变,所以本地网络链路上每个本地结点需要本地代理为它维护当前位置信息,需要引入转交地址。当移动结点连接到外地网络链路上时,转交地址用来标识结点现在所处位置,以便进行路由选择。移动结点本地地址和转交地址的联合称为移动绑定/绑定,当移动结点获得一个新的转交地址,通过绑定向本地代理注册,以便让本地代理了解移动结点所处位置。
- 通信过程如下:
①移动结点连接本地网使用传统TCP/IP通信。
②漫游到外地网络,需要向本地代理注册当前位置地址,这个位置地址是转交地址。
③本地代理接收注册之后,构建一条通向转交地址的隧道,把截获的发给移动结点的分组通过隧道传给转交地址处。
④转交地址接触封装,回复原始IP分组,最后送到移动结点。
⑤移动结点在外网通过路由器/外部代理向通信对端发送数据包。
⑥移动结点来到另一个外网时,需要向本地代理更新注册的转交地址,就可以继续通信。
⑦移动结点回到本地网时,移动结点向本地代理注销转交地址,继续以TCP/TP进行通信。 - 移动IP为主机设置两个IP地址,主地址和辅地址(转交地址)。移动结点本地网用主地址,移动另外网络使用临时辅地址,主地址不变。
网络层设备
路由器的组成和功能
- 路由器是一个具有多个输入/输入端口的专用计算机,任务是连接不同网络并完成路由转发。同一个网络传递无须路由器的参与,而跨网络通信必须通过路由器进行转发。
- 从结构上看,路由器由路由选择和分组转发两部分构成,路由器是网络层设备,实现了网络模型的下三层,即物理层,数据链路层,网络层。
- 路由选择部分也叫控制部分,核心构建是路由选择处理机,其任务是根据所选定的路由选择协议构造出路由表,同时经常或者定期地和相邻路由交换路由信息不断更新维护路由表。
- 分组转发部分由三部分组成:交换结构,一组输入和一组输入端口。输入端口从物理层接收到的比特流中提取出数据链路层的帧,从帧中提取出网络层数据报,输出端口则执行恰好相反的操作。交换结构则是关键部件,根据转发表对分组处理,把某个输入端口进入的分组从一个合适的端口转发出去,有三种常见方法:通过存储器进行交换, 通过总线进行交换,通过互联网络进行交换。
路由表和路由转发
标准路由表有四个项目:目的网络IP地址,子网掩码,下一跳IP地址,接口。 转发表是由路由表得到的,格式不同,含有目的地址和下一跳MAC地址。小结
- 尽最大努力的交付含义:有可能有差错,有可能不按时,有可能不按序,有可能重复,有可能意外丢失数据报。