<JavaEE> 了解网络层协议 -- IP协议
目录
初识IP协议
什么是IP协议?
IP协议中的基础概念
IP协议格式
图示
4bit版本号(version)
4bit头部长度(headerlength)
8bit服务类型(TypeOfService)
16bit总长度(total length)
16bit标识(id)
3bit标志字段
13bit分片偏移(framegament offset)
8bit生存时间(Time To Live,TTL)
8bit上层协议类型
16bit头部校验和
32bit源地址和32bit目标地址
选项字段
IP协议有什么功能?
初识IP协议
什么是IP协议?
IP协议属于网络层协议,主要功能是通过地址管理和路由选择,将数据包传输到目标主机。
IP协议定义了数据包的格式、寻址方式和路由规则,是互联网通信的基础。
IP协议中的基础概念
主机:配有IP地址,但不进行路由控制的设备。
路由器:既配有IP地址,又能进行路由控制的设备。
节点:主机和路由器的统称。
IP协议格式
图示
4bit版本号(version)
- 表示当前报文的IP协议版本,如IPv4
4bit头部长度(headerlength)
表示IP头部的⻓度。
4bit可以表示的最大数字是15,其中每个1表示一个32bit,即4字节,因此头部长度最长为15*4=60字节。
8bit服务类型(TypeOfService)
具体包含以下内容:
3bit优先权字段已弃用
4bitTOS字段:表示IP协议的四种不同形态
最小延时
最大吞吐量
最高可靠性
最小成本
1bit保留
16bit总长度(total length)
表示IP数据报整体占多少字节。
16bit最多只能表示65535,即单个报文长度最长为64kb。
但是IP协议本身支持“拆包组包”功能,因此报文长度并不是固定的。
16bit标识(id)
用于表示发出的报文,是一个唯一的标识。
当IP报文在数据链路层被分片,则每个分片中的id都是相同的,以此识别数据中的同一段报文。
3bit标志字段
具体包含以下内容:
第一个bit,为保留位。
第二个bit,为1表示禁止分片,此时如果报文长度超过MTU,则报文会被丢弃;为0表示可以分片。
第三个bit,表示分片结束标识,当存在分片且当前分片是报文的最后一片时,该bit为1;不是最后一片,则为0。
13bit分片偏移(framegament offset)
表示当前分片在原报文中所处的位置。
偏移字节数通过该值*8计算得出,因此除最后一个报文外,其他报文长度必须为8的整数倍。
8bit生存时间(Time To Live,TTL)
表示数据报到达目标地址的最大报文跳数。
每经过一个路由则跳数-1,当跳数为0时,报文将被丢弃。
这个属性的作用是防止出现路由循环。
8bit上层协议类型
表示上层(传输层)协议的类型。
描述了IP数据报的载荷部分的协议类型,如UDP数据报或TCP数据报。
16bit头部校验和
- 使用CRC进行校验,只用于鉴别头部是否损坏,并不校验载荷。
32bit源地址和32bit目标地址
是两个32bit的整数,分别表示发送端地址和接收端地址,是IP数据包中最关键的内容。
选项字段
长度不定,最多40字节,用于辅助上述字段工作,不做介绍。
IP协议有什么功能?
IP协议的功能是地址管理和路由选择。
<JavaEE> 理解IP协议的两个功能 -- 地址管理和路由选择-CSDN博客