网络基础-TCP/IP基础(三)

本目内容还是为上课笔记,主要为自己总结。所以,写的不是很规范。
承接上一目,本目主要将网络层的相关内容。
主要有一下几个内容:

  • IP数据报格式
  • 网际校验和的计算
  • 路由的先关内容

IP数据报格式

首先,给出其格式的图示:
IP头部数据包
IP头部数据包1
版本

  • 长度:4位
  • 含义:IP协议版本号。4代表IPv4, 6代表IPv6。

首部长度

  • 长度:4位
  • 含义:IP头部数据的长度。以32位的字节为单位(4B),最大值为0x1111,最小值为0x0101。所以,最大长度为4B×15 = 60B,最小长度为4B×5 = 20B。

服务类型(TOS)

  • 长度:8位
  • 含义:服务类型。此字段包含3位的优先权,4位的服务类型。1位的保留位(必须置0)。
    TOS

总长度

  • 长度:16位(2B)
  • 含义:IP数据包的总长度。该字段包含IP的头部和数据部分。IP数据报最大可达65535个字节

标识
- 长度:16位
- 含义:用来标示一个IP数据报,每发送一个,此值会加1。

标志与片偏移

  • 长度:3位
  • 含义:
    • 其中第一位不使用.
    • 第二位DF(Don’t Fragment),该位如果为1,表示不分片。即如果传输的数据超过MTU,该数据报会被丢弃,并且返回一个ICMP差错报文。
    • 第三位是MF(More Fragment),表示是否有更多的分片。该位如果为1,说明有后续分片。最后一片MF为0。IP分片之后,每一个分组都有自己的首部,但是片偏移值不同,通过片偏移值,接收端可以重组IP数据报。

TTL(Time To Live)

  • 长度:8位
  • 含义:表示数据报最多可经过的路由器数量。数据报每经过一个路由器,TTL减1,减为0时丢弃。并发送ICMP数据报通知源主机。TTL可以避免数据报在路由器之间不断循环。

协议类型

  • 长度:8位
  • 含义:表示IP层之上,承载的是哪个高级协议。在封装与分用的过程中,协议栈知道该交给哪个层的协议进行处理。6-TCP,17-UDP

头部校验和

  • 长度:16位
  • 含义:保证数据头部的数据完整性,但教研不包括数据部分。这样做的目的有二:
    • 所有将数据封装在IP数据包中的高层协议均含有覆盖整个数据的校验和,因此在IP数据报中没有必要再对其所承载的数据部分进行校验。
    • 每经过一个路由器,IP数据报的头部要发生改变,而数据部分不变。这样只对发生改变的头部进行校验,显然不会浪费太多时间。为了减少计算时间,一般不用CRC校验码,采用更简单的网际校验和。

源IP地址
- 长度:32位
- 含义:源端的IP地址

目的IP地址
- 长度:32位
- 含义:目的端的IP地址

选项与填充
- 长度:选项为4字节整数倍,否则用0填充。
- 含义:

网际校验和

假设,当数据传输正确时。
初始时,校验和部分全0。校验和部分取反码得到0x1111。

checksum=IP()+0x1111(1)

checksum=IP()+checksum(2)

将(1)带入(2)有:

checksum=IP()+IP()+0x0000(3)

整理得:
checksum=0x1111(4)

所以,当数据传输正确时,收端校验和是全1。如果接收端校验和不是全1,肯定是错误的。但是,这只是充分非必要条件。接收端校验和全为1并不能说明数据传输是正确的。

路由搜索的规则

  • 搜索匹配的主机地址
  • 搜索网络地址
  • 搜索默认表项
    路由搜索的规则
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值