TCP/IP-学习笔记2 - IP网络协议

本文深入解析了IP协议的核心概念,包括其在TCP/IP协议族中的地位、数据报的传输方式及错误处理机制。此外,还详细介绍了IP报文的结构组成,如版本号、首部长度、服务类型等字段的作用与意义。

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

一、引言

IP协议是TCP/IP协议族中最核心的协议。所有TCP、UDP、ICMP、IGMP都是以ip协议报文来传输。

IP协议不提供 可靠、和是否连接的状态。  

  1. 对于发生错误,ip协议直接丢弃该数据,然后发送ICMP消息给信源端。可靠性要求由上层(如TCP)解决
  2. 每个IP数据报是相互独立的,可以不按顺序发

二、报文

* IP报文头部一共20个字节(不含选项)。传输时候采用大端字节传输。

* 4位版本号: 4 代表IP v4. 

* 4位首部长度 :代表整个首部的长度(包含版本) 

     为什么说最长是60个字节呢?

     2的4次方 从0-15, 最大就是15个单位,但这里单位是按4个字节计算。所有是15 * 4 = 60

* 8位服务类型: 目前基本上没有使用。有需要了解的再查资料

* 16位总长度:描述的这个IP报文的长度。 最大6 5 5 3 5, 但一般会做切片

* 16位标识:通常与标记字段和分片偏移字段一起用于IP报文的分片。

  • 当原始报文大小超过MTU,那么就必须将原始数据进行分片。每个被分片的报文大小不得超过MTU,而这个字段还将在同一原始文件被分片的报文上打上相同的标记,一边接收设备可以识别出属于同一个报文的分片
  • IP报文在传输过程中可能会多次分片,IP报文分片再传输过程中只会越分越小,不会组装,组装统一在对端主机的IP层进行
  • IP层不保证IP报文之间有序。但是对端主机在IP层会拼装IP报文分片,形成一个完整的IP报文后上传。拼装过程其实就是对IP报文分片进行收集、排序的过程。

* 3位标记字段: 

  1. 第1位没有被使用
  2.  第2位D是不分片位(DF),Do not fragment,顾名思义,不要分片,当DF位设置为1时,表示路由器不能对报文进行分片处理
  3.  第3位M表示还有后继分片(MF),More fragment,多分片,当路由器对报分进行分片时,除了最后一个分片的MF位设置为0外,其他所有分片的MF位均设置1,以便接收者直到收到MF位为0的分片为止 

* 片偏移位:代表这段报文在分组的顺序

* TTL(time to live):8位生存时间, 也就是跳数的大小,即数据包能传多少跳 

  • 它指定了数据报的生存时间。TTL的初始值由源主机设置(通常为32或64),一旦经过一个处理它的路由器,它的值就减去1。当该字段的值为0时,数据报就被丢弃,并发送ICMP报文通知源主机
  • 防止路由成环时,ip被无限转发

* 协议:标识出传输层的地址或协议号,也就是说表示数据要进行什么样的上层服务,应该交给自己上一层的哪个协议

 1: ICMP, 2: IGMP,4:IP,6:TCP, 17:UDP  41:IPv6

* 首部校验和: 只校验首部数据内容, 数据部分交给数据部分自己处理

* 源IP地址:

* 目标IP地址:

* 选项:是数据报中的一个可变长的可选信息

•安全和处理限制(用于军事领域,详细内容参见RFC1108[Kent1991])
•记录路径(让每个路由器都记下它的IP地址)
•时间戳(让每个路由器都记下它的IP地址和时间)
•宽松的源站选路(为数据报指定一系列必须经过的IP地址)
•严格的源站选路(与宽松的源站选路类似,但是要求只能经过指定的这些地址,不能经过其他的地址)。
这些选项很少被使用,并非所有的主机和路由器都支持这些选项。
选项字段一直都是以32bit作为界限,在必要的时候插入值为0的填充字节。这样就保证
IP首部始终是32bit的整数倍(这是首部长度字段所要求的)。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值