21-05-20-计网自顶向下方法

  • 标识、标志、片偏移:IP分片有关;IPv6不允许在路由器上对分组分片

  • 寿命Time-To-Live TTL:来确保数据报不会永远在网络中循环(长时间的路由选择环路);每经过一台路由器处理数据报,则该字段的值减 1 ,当为 0 时丢弃此数据报

  • 协议:

    • 当IP数据报到达目的地才有用,指示了数据报的数据部分应该交给哪个运输层协议;
    • 作用类似端口号,端口号是将运输层和应用层绑定到一起的黏合剂,协议号是将网络层与运输层绑定到一起的黏合剂
  • 首部检验和:

    • 帮助路由器检测收到的IP数据报中的比特错误
    • 方法:首部每两个字节当做一个数,反码计算求和,再将其存放在检验和字段中
    • 路由器对收到的每个IP数据包都要检测,如果差错一般则丢 弃
    • 每台路由器需要重新计算检验和并再次放回原处,因为TTL字段和可能的选项字段会改变
    • 为什么TCP/IP都要进行检测
      • TCP/UDP对整个TCP/UDP报文段检测
      • IP只对IP首部进行检测
      • TCP/UDP与IP不一定属于同一个协议栈
  • 源和目的 IP 地址

  • 选项:允许首部被扩展,但很少使用;当允许扩展后处理选项变化,导致处理时间变化大,IPv6中已去掉

  • 数据(有效载荷):大多数情况是TCP/UDP报文段;少数情况是其他类型的数据,如ICMP报文

当IP数据报无选项时首部长度为 20 字节,如果是承载了一个 TCP 报文段,则每个(无分片)的数据报工承载了总长 40 字节的首部,因为 TCP 首部也为 20 字节,再加上应用层报文

4.3.2 IPv4数据报分片

以太网帧最大承载为 1500 字节的数据

某些广域网链路的帧最大承载为 576 字节的数据

一个链路层帧能承载的最大数据量叫作最大传送单元MTU,又因为IP数据报封装在链路层帧在不同路由器间传输,所以MTU严格地限制着 IP 数据报的长度,且由于发送方与目的方的路径上的 MTU 可能有各种差距,所以会产生某些问题

解决:将IP数据报中的数据分片分成多个更小的 IP 数据报,用单独的链路层帧进行封装,这些小的数据报则称为片

片到达目的地运输层之前需要重新组装,TCP与UDP都希望从网络层收到完整的,未分片的报文,但为了将网络内核保持简单,数据报的重新组装工作被放到了端系统中

IP数据报首部的标识、标志和片偏移字段可以对分片进行判断

数据报的标识递增,对一个数据报进行分片时,首部的源地址、目的地址和标识号相同,因此可以判断是同一个分片

标志比特表示此分片是否为最后一个分片,只有最后分片比特位为 1 ,其余为 0,因此可以判断是否收到了最后一个分片

片偏移地址表示在初始IP数据报的哪个位置,方便组装

IP分片与重新组装

4.3.3 IPv4 编址

接口:主机与物理链路之间的边界;路由器与任意一条链路之间的边界

IP 要求每台主机和路由器接口拥有自己的 IP 地址,即从技术上讲,一个 IP 地址与一个接口相关联,而不是与包括该接口的主机或路由器相关联

IP地址 32 比特, 4 字节,总共有 2^32 个(约 40 亿)

点分十进制,每个字节 8 比特换算 10 进制,再加以 "." 间隔

接口地址与子网

子网地址

分开主机和路由器的每个接口,产生几个隔离的网络岛,使用接口端接这些隔离的网络的端点,隔离的网络每一个都叫做子网

3台路由器互联6个子网

因特网的地址分配策略被称为无类别域间路由选择CIDR,将子网寻址一般化,32 比特的IP地址被划分两部分,a.b.c.d/x,x 为地址中第一部分中的比特数,x 的最高比特构成了 IP地址的网络部分,被称为前缀

一个组织被分配一块连续的地址,即具有相同的前缀的一段地址,内部的设备 IP 地址有共同的前缀

posted @ 2021-05-20 22:16  zephxu  阅读(87)  评论(0)    收藏  举报