计算机网络Ch4

第四章 网络层

一、网络层功能

1.网络层所处的地位

网络层所处的地位

2.网络层的功能

网络层功能

二、IPV4

1.IP数据报(IP分组)

(1)格式

IP数据报格式1

  • 首部包括固定部分(20B)和可变部分(0~40B)
  • 版本用于指明是IPV4还是IPV6
  • 首部长度以4B为单位,例如0101表示首部有5*4B字节
  • 总长度用来指明总长度,包括首部+数据部分
    IP数据报格式2
  • 标识:由源主机生成,一般是自增的,当数据报被分片时,通过标识+源地址判断分片从属于一个IP数据报
  • 标志:
    • 最低位MF(more fragment):为1表示后面还有其他分片
    • 中间位DF(don’t fragment):为1表示不允许分片
      • 路由器会把不允许分片且超过MTU的数据报直接丢弃,并给源主机发送一个ICMP报文,通知发生异常
    • 最高位不用管
  • 片偏移:表示数据部分在“被分片前”的位置,以8B为单位
    IP数据报格式3
  • 生存时间:数据报在网络中可通过的路由器数的最大值,记作TTL,每转发一次,TTL减一,当TTL减到零时,路由器直接将IP数据报丢弃,并给源主机返回一个ICMP报文,用于通知发生异常
  • 协议:指明当前在为哪个协议服务,让IP数据报向上递交时知道去处
  • 首部校验和:只校验首部,网络层不管数据部分的矫错

(2)IP数据报的分片问题

IP数据报分片问题

  • MTU:最大传送单元,一个链路层数据帧能承载的最大数据量
  • 三个分片标识部分相同,表示从属于同一个IP数据报
  • 片偏移*8B就是数据部分分片前的位置
  • 注意:
    • IP数据报的“分片”可能在源主机、或任何一个路由器中发生
    • 只有目的主机才会对分片进行“重组”
    • 各分片有可能乱序到达目的主机
    • 由于首部的“片偏移”字段时以8B为单位,因此,除了最后一个分片外,其他每个分片的数据部分必须是8B的整数倍

小结

IP数据报小结

三、IP地址

1.最初的IP地址分类方案

最初的IP地址分类方案

  • 在那个年代,要求每台主机、每个路由器接口被分配的IP地址都是全球唯一的
  • 路由器和路由器连接的接口可以不分配IP地址,但路由器和其他结点连接的接口必须分配IP地址
  • 从属于同一个网络的所有主机、路由器接口的IP地址“网络号”相同

2.一些特殊用途的IP地址

特殊用途的IP地址

四、子网划分与子网掩码

1.子网划分原理

  • 将主机号n位中的前k位单独拿出来作为子网号,剩余n-k位作为主机号,那么就可以分为2^k个子网,每个子网包含的IP地址块大小相等
  • 子网划分前,IP地址为两级结构<网络号,主机号>
  • 子网划分后,IP地址为三级结构<网络号,子网号,主机号>
  • 注:主机号不能全零或全一

2.子网掩码作用

  • 用子网掩码与IP地址逐位相与,可以提取出<网络号,子网号>(称为“网络前缀”)
  • 网络前缀相同的IP地址归属于同一网络(子网)
  • 如果一个网络进行了子网划分,那么网络中的每台主机、每个路由器接口都需要配置IP地址、默认网关、子网掩码
  • 如果一台路由器支持子网划分,则其转发表中需包含<目的网络号,子网掩码,转发接口>

(1)默认子网掩码

  • 如果一个传统网络(A/B/C)内部没有进行子网划分,则在转发表项给它设置一个默认子网掩码
    • A:255.0.0.0
    • B:255.255.0.0
    • C:255.255.255.0
      练习1
  • 源地址与子网掩码相与得166.1.0.0,目的地址与子网掩码相与得166.1.128.0,二者不相等,说明在不同子网
  • H1将IP数据报封装成MAC帧,MAC地址写的是B3接口
  • 路由器的网络层将目的地址与转发表中的子网掩码相与,得到的结果与网络号比较,发现应从B2接口转发出去,MAC地址为H3

(2)默认路由

  • <目的网络号全0,子网掩码全0>
  • 在路由转发表中,如果所有表项都不匹配,则从“默认路由转发出去”

(3)主机发送IP数据报的过程

主机发送IP数据报的过程

(4)路由器转发一个IP数据报的过程

路由器转发一个IP数据报的过程

(5)子网掩码的另一种记法

子网掩码的另一种记法

五、无分类编址CIDR

1.为什么提出

  • 某单位有2000台主机需要联网,就不得不申请一个B类地址,但B类地址包含65536个地址,造成IP地址的浪费

2.无分类编址CIDR

  • 网络前缀可变长
  • 例:2000台主机,可以分配一个21bit网络前缀的CIDR地址块,2^11=2048
  • CIDR记法:128.14.32.0/21
    • 21表示网络前缀位数
    • 掩码:21个1+11个0
  • 当单位获得CIDR地址块后,可以把它划分为多个子网

3.定长子网划分

  • 在一个CIDR地址块中,把主机号前kbit抠出来作为定长子网号,这样就能划分出2^k个子网(每个子网包含的IP地址块大小相等)
  • 也会导致IP地址利用率低,浪费IP地址

4.变长子网划分

  • 在一个CIDR地址块中,划分子网时,子网号长度不固定(每个子网包含的IP地址块大小不同)
    变长子网划分
    变长子网划分习题

小结

CIDR小结

六、路由聚合

1.过程

  • 对于一个路由转发表,如果几条路由表项的转发接口相同,部分网络前缀也相同,那么可以将这几条路由表项聚合为一条。这种地址的聚合称为路由聚合,也称构成超网
  • 表更小,查询更快
  • 可能会引入额外的无效地址
  • 一个目的地址可能与多个表项匹配,最长前缀匹配原则
    最长前缀匹配原则

七、NAT网络地址转换

1.传输层的端口号

端口号

2.缓解IP地址不够用的问题

缓解IP地址不够用的问题

  • 在一个局域网中,每一台主机共享同一个全球IP地址(公网IP)
  • NAT路由器将<公网IP,端口号>映射为<内网IP,端口号>
  • 局域网内,内网IP不重复,但局域网之间,内网IP可以重复

小结

NAT小结

八、ARP协议

1.各种协议之间的关系

各种协议之间的关系

  • 回顾:以太网MAC帧
    以太网MAC帧IP
    以太网MAC帧ARP

2.作用

  • 在一个局域网内部,可以通过ARP协议查询到一个IP地址对应的MAC地址

3.过程

  • ARP请求分组
    • 内容
      • 我的IP地址是xxx,MAC地址是xxx
      • 我想找的IP地址是xxx
    • 将ARP请求分组封装成MAC帧,源地址是我的MAC地址,目的地址全1
    • 是广播帧
  • ARP响应分组
    • 内容
      • 我的IP地址是xxx,我的MAC地址是xxx
    • 将ARP响应分组封装成MAC帧,源地址是我的MAC地址,目的地址是请求方的MAC地址

小结

ARP小结

九、DHCP协议(属于应用层)

1.各种协议之间的服务关系

各种协议之间的服务关系

  • IP报文在协议栈中的位置
    IP报文在协议栈中的位置

2.DHCP协议工作过程

DHCP工作过程

一台新接入网络的主机,只有自己的MAC地址,没有自己的IP地址、默认网关、子网掩码

  • 主机向DHCP服务器发送一个DHCP发现报文,由主机上的DHCP客户端进程发送
    • DHCP是应用层->传输层(UDP数据报)
    • 本质是两个进程的通信
    • 传输层->网络层(IP数据报),源地址填全0(本网络的本主机),目的IP地址全1
    • 网络层->数据链路层(MAC帧),源MAC是自己的MAC地址,目的MAC全1
  • DHCP服务器从IP地址池中找到一个没有被分配的IP地址分配给主机
    • 需要指明租用期是多少,如果到时间,可以续租
    • 需要指明子网掩码和默认网关
    • 网络层源地址依旧是全1,因为对方依旧还没有IP地址
    • 链路层目的MAC写成主机的MAC
  • 主机向DHCP服务器发送请求报文
    • 报文中需指出自己的MAC地址和接受的IP地址
    • 网络层IP数据报中,源地址依旧是全0,目的IP地址全1※
      • 全1原因:一个内网可能有多个DHCP服务器,每个服务器都会给主机一个提供报文,因此主机需要告诉所有DHCP服务器最终接受的是哪个IP地址
    • 链路层目的IP依旧全1
  • DHCP服务器向主机发送DHCP确认报文
    • 与提供报文类似

小结

DHCP小结

十、IPV6

1.IPV6数据报格式

IPV6数据报格式
IPV6详细数据报格式

2.IPV6和IPV4区别

  • IPV6有128位,IPV4有32位
  • IPV6将校验和字段移除,以减少每跳的处理时间
  • IPV6将可选字段移出首部,变为扩展首部,称为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率
  • IPV6支持即插即用(自动配置),不需要DHCP协议
  • IPV6首部长度必须是8B的整数倍,IPV4首部是4B的整数倍
  • IPV6只能在主机处分片,IPV4可以在路由器和主机处分片
  • ICMPv6:附加报文类型“分组过大”
  • IPV6支持资源的预分配,支持实时视像等要求,保证一定的带宽和时延的应用
  • IPV6取消了协议字段,改成下一个首部字段
  • IPV6取消了总长度字段,改用有效载荷长度字段
  • IPV6取消了服务类型字段

3.IPV6地址表示形式

  • 冒号十六进制记法
  • 压缩形式

4.IPV6基本地址类型

IPV6基本地址类型

5.IPV4向IPV6过渡

IPV4向IPV6过渡

十一、路由算法和路由协议


计算机网络Ch4
https://sdueryrg.github.io/2024/11/20/计算机网络Ch4/
作者
yrg
发布于
2024年11月20日
许可协议