计算机网络(四)——网络层

本文介绍了网络层的主要功能,包括异构网络互联、路由选择与转发、拥塞控制等内容。详细解析了路由算法,如静态路由与动态路由、距离-向量路由算法、链路状态路由算法等。同时,对IPv4协议进行了深入讲解,涵盖了IP数据报格式、IP地址分类、NAT、子网划分、CIDR等关键知识点。此外,还探讨了IPv6的特点和格式,以及常用的路由选择协议如RIP、OSPF和BGP。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

核心考点

1.子网划分和无分类编址CIDR
2.路由与转发即各种路由算法
3.IP地址的分类、IP数据报格式、NAT
4.ARP、DHCP、和ICMP
5.3种常用路由选择协议:RIP、OSPF、BGP
6.IP组播、移动IP的基本概念
7.路由器的组成和功能



一、网络层的功能

1.异构网络互联
  当中继系统是中继器或网桥时,一般不称之为网络互连,因为这仅仅是把一个网络扩大,仍属于一个网络。互联网都是指用路由器进行互联的网络。
  
  什么是“尽最大努力交付”?
  1)不保证IP数据报一定无差错交付到目的主机
  2)不保证IP数据报在某一规定时间内交付主机
  3)不保证IP数据报一定按发送顺序交付主机
  4)不保证IP数据报不会重复交付主机
  5)不故意IP数据报。丢弃IP数据报的情况:路由器检测出首部检验和有错误或无缓存空间
2.路由与转发
  路由器主要功能包括:路由选择分组转发
  路由选择:根据路由算法确定一个进来的分组应该被传送到那一条输出路线上。
  分组转发:路由器根据转发表将用户的IP数据报从合适的端口转发出去。
3.拥塞控制
  确保网络不出现拥塞或出现拥塞时也能保持良好的性能。
  1)开环控制:事先考虑到有关发生拥塞的各种因素,力求在系统工作时不会出现拥塞。不再中途修改。
  2)闭环控制:事先不考虑各种因素,采用监视系统监视,即时解决。

二、路由算法

1.静态路由与动态路由
  静态路由选择不能及时适应网络状态的变化。
  动态路由分为两种基本类型:距离-向量路由算法链路状态路由算法
2.距离-向量路由算法
  所有结点都监听从其他结点传来的路由选择更新信息,并在下列情况下更新它们的路由选择表。
  情况一:被告知一条路由表中不存在的新路由。
  情况二:通过发送路由信息的结点有一条到达某个个目的地的路由,该路由比当前使用的路由有脚短距离。
  最常用的是RIP算法,采用“跳数”作为距离代价。
3.链路状态路由算法 
  要求每个参与该算法的结点都有完全的网络拓扑信息,执行以下两个任务:
  1)主动测试所有邻接结点  2)定期将链路状态传播给所有其他结点
  当链路状态发生变化,结点对更新的网络图用Dijkstra最短路径算法重新计算路由。
  主要特征:1)向本自治系统中的所有路由器发送信息,采用洪泛法
       2)发送的信息是与本路由器相邻的所有路由器的链路状态
       3)只有当链路状态发生变化时才采用洪泛法向所有路由器发送信息
  最常用的是OSPF算法
4.层次路由
  采用分层次的路由选择协议原因:
  1)因特网规模太大,路由表过大,处理时间过长
  2)部分单位不愿向外界透露本部门所采用的路由选择协议但同时希望连接因特网
  路由选择协议分为两大类:
  1)一个自治系统内部所使用的路由选择协议成为内部网关协议(IGP),具体有RIP和OSPF等
  2)自治系统之间使用的路由选择协议称为外部网关协议(EGP),主要在不同自治系统的路由器之间交换路由信息,并负责为分组在不同自治系统之间选择最优路径。具体有BGP。
  对于非常大的网络,OSPF协议将自治系统划分为更小的区域。上层区域叫做骨干区域,标识符规定为0.0.0.0,用来连通其他在下层的区域。

三、IPV4

1.IPV4分组
  IP数据报的首部是20B。
  1)版本:占4位,指IPV4或IPV6
  2)首部长度:占4位,首部长度必须是4B的倍数
  3)区分服务:占1B
  4)总长度:占2B,基本单位长度是1B,包括首部和数据部分。当IP数据报总长度大于1500B后就要切割发送,切割后合并需要标识,且需要标志位MF=0标记某片是最后一片。按照片偏移从小到大合并,合并过程中将首部20B删除。
  5)标识:占2B,计数器
  6)标志:占3位,前两位为MF和DF。DF=1即不能分片发送,DF=0即可以分片发送
  7)片偏移:占13位,片偏移是8B的整数倍。数据报总长度为16位,片偏移只有13位,则必须1位当3位用,即23=8B
  8)生存时间:占8位,Time To Live(TTL),数据报在网络中可通过的路由器数最大值。
  9)协议:占8位,交给TCP或者UDP协议。
  10)首部校验和:占16位,只检验数据报的首部,不检验数据部分
  11)源地址
  12)目的地址
  得到下一跳路由器的IP地址不是直接将改地址填入待发送的数据报,而是将该IP地址转成MAC地址,将其放在MAC帧首部中,然后根据MAC地址来找到下一跳路由器。
  不同网络中传送时,MAC帧首部的源地址和目的地址要发生改变,但网桥转发帧时不改变帧的源地址。
2.IPV4地址
  1)分类
  IP地址就是连接在因特网上的主机(或路由器)分配在全世界范围唯一的32位标识符。
  A类地址:网路号为前面8位,第一位规定为0。规定网络地址为全0的IP地址是保留地址,为“本网络”;网络号01111111保留作为本地软件回环测试本主机的进程之间的通信。所以A类地址还可以指派的网络数为27-2。后面3B为主机号,全0表示该网络,全1表示广播地址,所以最大主机数为224-2。
  B类地址:网络号为前16位,前2位规定为10。128.0.0.0是不指派的,可指派的最小网络地址为214-1,所以可指派网络数为214-1;每一个网络上的最大主机数为216-2。
  C类地址:网络号为前24位,前3位规定为110。192.0.0.0不指派,可以指派的最小网络地址192.0.1.0,所以可指派网络数为221-1;每一个网络上最大主机数是28-2。
  2)6种特殊地址

特殊地址网络号主机号源地址或目的地址
网络地址特定全0都不是
广播地址特定全1目的地址
受限广播地址全1全1目的地址
这个网络上的这个主机全0全0源地址或默认目的地址
这个网络上的特定主机全0特定的目的地址
回环地址127不是全0或全1源地址或目的地址

    直接广播地址:在A、B、C类地址中,主机号全为1。路由器使用这种 地址把一个分组发送到一个特定网络上的所有主机。
  受限广播地址:IP地址为255.255.255.255,用于定义在当前网络上的广播地址。
  这个网络上的这个主机:IP地址为0.0.0.0。
  这个网络上的特定主机:具有全0网络号的IP地址。
  回环地址:第一个字节等于127的IP地址,用来测试机器的软件。
  用中继器或网桥连接起来的若干个局域网仍为一个网络,具有相同的网络号。
  路由器仅根据目的主机所连接的网络号来转发分组。
3.NAT(Network Address Translation)
  专用地址作为目的地址不可能在因特网上传送。因特网规定以下地址作为专用地址:
  1)10.0.0.0~10.255.255.255(相当于1个A类网络)
  2)172.16.0.0.0~172.31.255.255.255(相当于16个连续的B类网络)
  3)192.168.0.0~192.168.255.255.(相当于256个连续的C类网络)
  采用专用IP地址的互联网络成为专用互联网或本地互联网,专用IP地址也叫作可重用地址。
  NAT就是将专用网内部使用的本地IP地址转换成有效的外部全球IP地址,使得整个专用网只需要一个全球IP地址就可以与因特网联通。
  专用网的主机不联系因特网的主机,因特网的主机就一定不会联系专用网的主机。
4.子网划分与子网掩码
  子网划分使两级IP地址变为三级IP地址。
  基本思路:从主机号借用若干个比特作为子网号,而主机号也就相应减少若干个比特,网络号不变。三级IP地址可记作:{<网络号>,<子网号>,<主机号>}
  子网掩码是一个与IP地址相对应的32位的二进制串。其中1对应于IP地址中的网络号和子网号,0对应于主机号。所以使用子网掩码和IP地址进行“与”操作,就可以得到网络号。
  现在因特网标准规定,所有网络必须有一个子网掩码。若一个网络没有划分子网,就采用默认子网掩码。A类、B类、C类地址的默认子网掩码分别是255.0.0.0、255.255.0.0和255.255.255.0。
5.CIDR(Classless Inter-Domain Routing)
  无分类编制(CIDR)是为解决IP地址耗尽而提出的一种措施。
  1)使用各种长度的“网络前缀”来代替分类地址中的网络号和子网号。IP地址又从三级编址回到两级编址:{<网络前缀>,<主机号>}。为了区分网络前缀,通常采用“斜线记法”,即IP地址/网络前缀所占位数
  2)将网络前缀都相同的连续IP地址组成“CIDR地址块”。一个CIDR地址块可以表示很多地址,这种地址的聚合通常称为路由聚合(构成超网),使得路由表中的一个项目可以表示很多个原来传统分类地址的路由,因此可以缩短路由表。
6.ARP(Address Resolution Protocol)
  ARP(地址解析协议)能把IP地址直接转换成物理地址。
  在每个主机中都有一个ARP高速缓存,里面存放的是所在局域网上的各主机和路由器的IP地址到硬件地址的映射表,ARP的职责就是动态地维护该表。
  ARP四种典型情况总结:
  1)发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用ARP找到目的主机的硬件地址。
  2)发送方是主机,要把IP数据包发送到另一个网络的主机。这时用ARP找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器来完成。
  3)发送方是路由器,要把IP数据包转发到本网络上的一个主机。这时用ARP找到目的主机的硬件地址。
  4)发送方是路由器,要把IP数据报转发到另一个网络上的一个主机。这时用ARP找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器来完成。
7.DHCP(Dynamic Host Configuration Protocol)
  DHCP(动态主机配置协议)常用于给主机动态地分配IP地址。
  DHCP是应用层协议,DHCP报文使用UDP传输,DHCP服务器的回答报文叫做提供报文。DHCP服务器分配给DHCP客户的IP地址是临时的,因此DHCP客户只能在一段有限的时间内使用这个分配到的IP地址,称为租用期。DHCP服务器和DHCP客户端的交换过程如下:
  1)DHCP客户机广播“DHCP发现”消息,寻找DHCP服务器。
  2)DHCP服务器收到“DHCP发现”消息,向网络中广播“DHCP提供”消息,其中包括提供DHCP客户机的IP地址和相关配置信息。
  3)DHCP客户机收到“DHCP提供”消息,若接受服务器所提供的相关参数,则通过广播“DHCP请求”消息向DHCP服务器请求提供IP地址。
  4)DHCP服务器广播“DHCP确认”消息,将IP地址分配给DHCP客户机。
8.ICMP(Internet Control Message Protocol)
  ICMP报文分为两种,即ICMP差错报告报文和ICMP询问报文。
  1)ICMP差错报告报文的分类
  ①终点不可达。路由器或主机不能交付数据报。
  ②源站抑制。当路由器或目的主机由于拥塞而丢弃数据报时,向源点发送抑制报文使其放慢发送速率。
  ③时间超过。当IP分组的TTL值被减为0时,路由器除了要丢弃该分组外还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃并向源点发送时间超过报文。
  ④参数问题。当路由器或目的主机收到的数据报的首部中有字段的值不正确时,就丢弃该数据报并向源点发送参数问题报文。
  ⑤改变路由(重定向)。路由器把改变路由报文发送给主机,让主机知道下次应将数据包发送给其他的路由器(比当前更好的路由)。
  2)ICMP询问报文的分类
  ①有回送请求和回答报文
  ②时间戳请求和回答报文
  ③掩码地址请求和回答报文
  ④路由器询问和通告报文
  3)不发送ICMP差错报告报文的几种情况
  ①对ICMP差错报告报文不再发送ICMP差错报告报文
  ②对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
  ③对具有组播地址的数据包都不发送ICMP差错报告报文
  ④对具有特殊地址的数据报不发送ICMP差错报告报文
  当路由器利用IP数据报首部中的“首部检验和”字段检测出在传输过程中出现了差错时,就简单的将其丢弃。IP并不要求源主机重传有差错的IP数据报,保证无差错传输是由TCP完成的

四、IPv6

1.IPv6的特点
  1)IPv6将地址从IPv4的32位增加到了128位。
  2)简化了IP分组的基本首部,包含8个段(IPv4包含12个段)。
  3)更好地支持选项。
2.IPv6的格式
  1)版本(version):占4位,指明协议版本,对于IPV6该字段总是6。
  2)通信量类(Traffic Class):占8位,区别不同的IPv6数据报的类别或优先级。已经定义了0~15共16个优先级,0的优先级最低。0的优先级最低。0-7的优先级最低,允许延迟;8-15表示高优先级,需要固定速率传输。
  3)流标号(Flow Label):占20位,“流”是互联网上从特定源点到特定终点的一系列数据报,所有属于同一个流的数据报具有同样的流标号。
  4)有效载荷长度(Payload Length):占16位,指明IPv6数据报除基本首部以外的字节数,其最大值时64KB。
  5)下一个首部(Next Header):占8位,相当于IPv4的协议字段或可选字段。
  6)跳数限制(Hop Limit):占8位,经过一次路由器就减一,跳数限制值为0时丢弃该数据报。
  7)源地址:占128位,数据报的发送站的IP地址。
  8)目的地址:占128位,数据报的接收站的IP地址。
  IPv6定义以下3种地址类型:
  1)单播:传统的点对点通信。
  2)组播:数据报交付到一组计算机中的每一个广播可看作是组播的一个特例。
  3)任播:其目的站是一组主机,但数据报在交付时只交付给其中一个,通常是距离最近的那个。
  通常采用冒号十六进制法表示IPv6地址。每16bit用一个十六进制数表示,各值之间用冒号分隔。当16位域的开头有连续的0可采用缩写法,但在域中必须至少有一个数字。当有相继的0值域时,还可以采用双冒号进一步缩写,双冒号表示法在一个地址中仅可以出现一次。

五、路由协议

1.路由选择协议
  1)内部网关协议(IGP)
    在一个自治系统内使用的路由选择协议。如RIP和OSPF路由协议。
  2)外部网关协议(EGP)
    将路由选择信息传递到另一个自治系统中。如BGP-4。
2.RIP(Routing Information Protocol)
  1)距离-向量算法
    RIP认为一个好的路由就是它通过的路由器的数目少,即“距离短”。RIP允许一条路径最多只能包含15个路由器。“距离”的最大值为16时相当于不可达。
    RIP三要点:
    ①仅和相邻路由器交换信息
    ②交换的信息是当前本路由器所知道的全部信息,即自己的路由表
    ③按固定的时间间隔交换路由信息
  2)RIP报文格式
    RIP报文使用传输层的UDP进行传送。RIP报文从应用层交付下来要在传输层加上UDP首部形成UDP用户数据报,然后在网路层加上IP首部形成IP数据报进行传送。
    RIP报文分为首部和路由两大部分。
    首部:占用4B。1B命令,1B版本,剩下的2B用0填充。
    路由:路由表分成若干段,每段25个路由,每条路由占据20B。
    整个RIP报文最大程度为4B+20*25B=504B。
3.OSPF(Open Shortest Path First)
  1)链路状态协议
    仅当网络拓扑发生变化时,才向本自治系统的所有路由器发送信息(使用洪泛法)。
    不使用UDP数据报传送,而是直接使用IP数据报传送
    OSPF三要点:
    ①向本自治系统所有路由器采用洪泛法发送信息
    ②发送的信息是与本路由器相邻的所有路由器的链路状态
    ③“链路状态”说明本路由器都和哪些路由器相邻以及该链路的度量
  2)OSPF的5种分组类型
    ①问候分组,用来发现和维持临站的可达性
    ②数据库描述分组,向临站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
    ③链路状态请求分组,向对方请求发送某些链路项目的详细信息
    ④链路状态更新分组,用洪泛法对全网更新链路状态
    ⑤链路状态确认分组,对链路更新分组的确认
4.RIP和OSPF的比较
  1)协议参数。RIP限制为最大15;OSPF适应于大型网络,支持几百台路由器。
  2)收敛速度。RIP为30s的广播周期;广播不具有周期性,在大型网络中也可较快收敛
  3)分层。RIP中网络是一个平面概念,无区域及边界;OSPF一个自治系统可划分为很多区域,每个区域通过OSPF边界路由器相连
  4)负载平衡。RIP只能按照一条路径传送数据;OSPF若有多条代价相同的路径,可将通信量分配给其他路径
  5)灵活性。OSPF可对不同链路根据IP分组的不同服务类型而设置不同的代价
  6)以组播地址发送报文。RIP采用广播方式发送报文;OSPF采用组播地址来发送,只有运行OSPF协议的设备才会接受发送来的报文,其他设备不参与接受。
5.BGP(Border Gateway Protocol)
  1)BGP的基本概念
  边界网关协议是在不同自制系统的路由器之间交换路由信息的协议。BGP采用的是路径-向量路由选择协议。
  BGP报文是通过TCP传送的,是TCP报文的数据部分。
  2)BGP的特点
  ①BGP交换路由信息的结点数量级是自治系统数的量级,要比自治系统中的网络数少很多。
  ②每一个自制系统总的BGP发言人的数目是很少的
  ③BGP支持CIDR
  ④在BGP刚刚运行时,BGP的邻站是交换整个的BGP路由表,但以后只需要在发生变化时更新有变化的部分。
  3)BGP的4种报文
  ①打开(Open)报文:用来与相邻的另一个BGP发言人建立关系
  ②更新(Update)报文:用来发送某一路由的信息以及列出要撤销的多条路由
  ③保活(Keepalive)报文:用来确认打开报文和周期性地证实邻站关系
  ④通知(Notification)报文:用来发送检测到的差错
6.RIP、OSPF、BGP最终陈述

主要特点RIPOSPFBGP
网关协议内部内部内部
路由表内容目的网路,下一跳,距离目的网络,下一跳,距离目的网络,完整路径
最优通路依据跳数费用多种有关策略
算法距离-向量协议链路状态协议路径-向量协议
传送方式传输层UDPIP数据报建立TCP连接
其他简单、效率低、跳数为16不可达效率高、路由器频繁交换信息

六、IP组播

1.组播的概念
  组播仅应用于UDP。
  思想:源主机只发送一份数据,该数据中的目的地址为组播的组地址。组地址中的所有接受者都可以接收到同样的数据副本,并且只有组播内的主机可以接受数据,网络中的其他主机不可能收到该数据。主机组播时仅发送一份数据,组播的数据仅在传送路径分叉时才将数据报复制后继续转发。组播需要路由器才能实现,能够运行组播协议的路由器为组播路由器。
2.IP组播地址
  IP使用D类地址支持组播。D类IP地址的前缀是“1110”,因而地址范围是224.0.0.0~239.255.255.255,每一个D类地址标识一组主机。
  1)组播地址只能用于目的地址
  2)组播数据报“尽最大努力交付”,不提供可靠交付
  3)对组播数据报不产生ICMP差错报文
  4)并非所有D类地址都可以作为组播地址
3.组播地址与MAC地址的换算
  先把IP地址换算成二进制,只映射IP地址的后面23位,其中第24位取0。再在前面加上固定的首部,即01-00-5E。

七、移动IP

1.移动IP的概念
  传统IP地址包括两方面意义:一方面是用来标识唯一主机,另一方面作为主机的地址在数据的路由中其重要作用。
  移动IP地址可以使移动节点以固定的网络IP地址,实现跨越不同网段的功能,并保证了基于网络IP 的网络权限在漫游过程中不发生任何改变。
  所需功能实体:①移动节点 ②本地代理 ③外部代理
  所需技术:①代理搜索 ②申请转交地址 ③登陆 ④隧道
2.移动IP的通信过程
  1)移动节点在本地网时按传统的TCP/IP方式进行通信
  2)移动节点漫游到一个外地网络时,仍然使用固定的IP地址进行通信。想本地代理注册当前的位置地址,即转角地址。移动IP的转角地址可以使外部代理的地址或动态配置的一个地址。
  3)本地代理接受来自转交地址的注册后,会构建一条通向转角地址的隧道,将截获的发给移动节点的IP分组通过隧道送到转交地址处,
  4)在转交地址处接触隧道封装,恢复原始IP分组,最后送到移动节点
  5)移动节点在外网通过外网的路由器或者外代理想通信对端发送IP数据报
  6)当移动节点来到另一个外网时,只需要想本地代理更新注册的转角地址,就可以继续通信了
  7)当移动节点回到本地网时,移动节点向本地代理注销转交地址,这是移动节点又使用传统的TCP/IP方式进行通信。

八、网络层设备

1.路由器的组成与功能
  路由器工作在网络层,实质上是一种多个输入端口和多个输出端口的专用计算机,其任务是连接不通的网络转发分组。
  整个路由器的结构可划分为两大类:路由选择部分和分组转发部分。
  路由选择部分:根据所选定的选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断更新和维护路由表,其核心部件是路由选择处理器。
  分组转发部分:由一组输入端口、交换结构和一组输出端口组成。
2.路由表与路由转发

参考文献:天勤and王道

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值