网络基础 — IP地址数据报格式和TCP协议段格式的浅析
来源:互联网 发布:淘宝开店在哪里拿货 编辑:程序博客网 时间:2024/05/19 03:44
IP地址数据报格式和TCP协议段格式的浅析
IP地址数据报格式
IP地址数据报格式:
版本号:这4位表明了数据报采用的协议版本。通过版本号路由器可以确定如何解释IP数据报的剩余部分。
首部长度:因为IPv4数据报可包含一些可选项(包含在数据报首部中),故需要用这4位来确定IP数据报中的数据部分实际从哪里开
始。
服务类型:服务类型使不同类型的IP数据报能互相区分开来。如:将实时数据报(IP电话等)与非实时流量区分开。
数据报长度:IP数据报总长度(首部+数据),以字节计。该字段长度为16位,所以IP数据报理论最大长度为65 535字节。然而,数
据报很少有超过1500字节的。
16位标识:当发生IP分片后,被接受后用于重新组装数据,主要功能是判断数据碎片是来自于那个数据.
3位标志:这里的3位标识,有3个位,其一用来存储这个碎片后面有没有数据,有这位就是1,没有就是0.其二用来保留字段.其三在
分片的时候,会查看这里里面存储该数据是否准许被分片.
片偏移:在数据被分片后,存储该碎片的偏移量,也就是表示碎片的先后顺序.
8位生存时间:Time-To-Live,TTL字段用来确保数据报不会永远在网络上循环。每经过一台路由器时,该字段值减一,若字段减为
0,则该数据报必须被丢弃。
8位协议:该字段仅在一个IP数据报到达其最终目的地时才会用到。该字段值指明了IP数据报的数据部分应交给哪个运输层协议。
16位首部检验和:首部检验和用于帮助路由器检测收到的IP数据报中的比特错误。首部检验和事这样计算的:将首部中的每两个字
节当做一个数,用反码对这些数求和。该和的反码存放在检验和字段中。路由器要对每个收到的IP数据报计算其首部检验和,根据
数据首部中携带的检验和与计算得到的检验和是否一致,来检验是否出错。路由器一般丢弃检测出错误的数据报。
32位源和目的IP地址:当源主机产生一个数据报时,它在源IP字段中插入它的IP地址,在目的IP地址字段中插入其最终目的地的地
址。通常由源主机经DNS查找决定目的地址。
选项:选项字段允许扩展IP首部。IPv6不再采用。
数据:数据字段包含要交付给目的地的运输层报文段(TCP或UDP)。数据字段也可以承载其他类型的数据(ICMP报文段等)。
TCP协议
RST:置1时重建连接。如果接收到RST位时候,通常发生了某些错误。
SYN:仅在三次握手建立 TCP 连接时有效。当 SYN = 1 而 ACK = 0 时,表明这是一个连接请求报文段,对方若同意建立连接,则
FIN:用来释放一个连接。当 FIN = 1 时,表明此报文段的发送方的数据已经发送完毕,并要求释放运输连接。
如果 URG 为 1 ,则紧急指针标志着紧急数据的结束。其值是紧急数据最后 1 字节的序号,表示报文段序号的偏移量。例如,如果
- 网络基础 — IP地址数据报格式和TCP协议段格式的浅析
- linux网络编程之TCP/IP基础:IP数据报格式和IP地址路由
- linux网络编程之TCP/IP基础(三):IP数据报格式和IP地址路由
- linux网络编程之TCP/IP基础(三):IP数据报格式和IP地址路由
- linux网络编程之TCP/IP基础(三):IP数据报格式和IP地址路由
- linux网络编程之TCP/IP基础(三):IP数据报格式和IP地址路由
- 三、Linux网络编程-TCP/IP基础(三)IP数据报格式、网际校验和、路由
- 以太网帧格式、IP数据报格式、TCP段格式+UDP段格式 详解
- 以太网帧格式、IP数据报格式、TCP段格式+UDP段格式 详解
- 以太网帧格式、IP数据报格式、TCP段格式+UDP段格式 详解
- TCP/IP数据报格式
- TCP/IP数据报格式
- TCP/IP数据报格式
- TCP/IP数据报格式
- TCP/IP数据报格式
- 【计算机网络】——TCP/IP网络层,IP地址,IP协议,IP数据报的分片及组装详解
- 网络层-IP数据报的格式
- IP数据报格式和IP地址路由(三)
- leetcode题解-138. Copy List with Random Pointer
- MySQL带AND关键字的多条件查询
- HDU 3085 Nightmare Ⅱ (双向广搜)
- 1038. 统计同成绩学生(20)
- JavaScript事件
- 网络基础 — IP地址数据报格式和TCP协议段格式的浅析
- 【C/C++】库函数中的字符串函数
- Mongodb安装配置详细图文教程
- quartz
- 如何让创建的eclipse项目支持myeclipse
- pwnable 之echo2
- 面向对象设计原则概述
- 【openjudge】分成互质组
- Java线程同步详解