TCP/IP报文头部整理
IP协议是网络层的主要协议,为上层传输层提供无连接、无状态、不可靠的服务。优点是简单高效。无状态是指各个IP报文是独立传送的,不同步传输状态的信息,所以容易发生重复和乱序的情况。不可靠是指IP协议不能保证数据报一定能被送达,可靠性主要是通过传输层的TCP协议来保证的。
TCP协议是面向连接的协议,是工作在传输层的协议。TCP协议通过三次握手、四次挥手、流量控制、拥塞控制、超时重传、确认报文等机制来保证可靠性。
本文来简单介绍下IP头部和TCP头部的一些重要字段。
1、IP头部
IP头部通常有20字节,加上选项的话,最多不超过60字节。IP数据最大为65535字节。下面来进行逐一分析:
4位版本:指IP协议版本号,是IPV4还是IPV6
4位首部长度:指IP头部的长度,以4字节为单位,最大值为(1111)b × 4 = 60字节
8位服务类型:包含一个4位优先权字段:最小延时,最大吞吐量,最高可靠性和最小费用。(暂时不清楚具体通途,待补充)
16位总长度:表示整个IP数据报的长度,最大为65535,但是由于有MTU的限制,一般达不到这个数值
16位标识:数据报的标识,系统采用边发送边赋值的方式
3位标志:分别为保留区,禁止分片标志,和更多分片标志。DF位设置时表示禁止分区,如果数据报文过大,可能会发送失败。
MF位表示后面还有报文段,如果报文分片的话,除了最后一个分片,其他的报文片都置1
13位片偏移:分片相对于原始报文片开始的偏移
8位生存时间:表示报文到达目的之前,允许经过的路由跳数,没经过1跳,TTL值减一,值减到0的时候,丢弃
8位协议:用来区分上层协议(例如TCP,UDP等)
16位首部校验和:以CRC算法校验数据在传输过程中头部是否损坏
32位源IP地址:发送端的IP地址
32位目的IP地址:目的IP地址
注:
16位标识其实在标识了一个IP报文,如果一个报文被分片了,则该报文的所有分片的头部中16位标识都被填充为某个值
2、TCP头部
同IP头部类似,TCP头部通常也为20字节,带上选项部分,最大不超过60字节,下面逐一进行解释。
16位源端口号:指发送端的端口号
16位目的端口号:指目的端的端口号
4位头部长度:同IP头部,表示TCP头部的大小,以4字节为单位。
32位序列号:TCP通信过程中,通过序列号来保证传输过程中数据的有序性
32位确认号:用以对接受到的报文进行确认
保留6位
URG:表示紧急指针
ACK:表示确认号
PSH:通知对端立即从缓冲区取走数据
SYN:表示请求建立连接
FIN:标志要通知对端本端的数据发送要关闭
16位窗口大小:TCP流量控制的手段,告诉发送方本端的接收端缓冲区还能接受多少数据
16位校验和:由发送方填充,接收端用CRC校验算法,用以检查TCP报文在传输过程中是否有损坏
TCP/IP报文头部整理相关推荐
- TCP/IP报文头部结构
IP协议 IP协议是TCP/IP协议族的动力,它为上层协议提供无状态.无连接.不可靠的服务. 优点:简单,高效. IPv4首部一般是20字节长.在以太网帧中,IPv4包首部紧跟着以太网帧首部,同时以太 ...
- TCP/IP报文格式
TCP/IP报文格式 修改浏览权限 | 删除 1.IP报文格式 IP协议是TCP/IP协议族中最为核心的协议.它提供不可靠.无连接的服务,也即依赖其他层的协议进行差错控制.在局域网环境,IP协议往往被 ...
- TCP/IP 报文协议学习
最近在学习流量录制框架goreplay(GitHub - buger/goreplay: GoReplay is an open-source tool for capturing and repla ...
- IP协议详解【IP报文头部结构、IP分片、IP路由、IP转发】
目录 IP协议:全称:Internet Protocol(网际互连协议) IP协议的特点: IP头部结构: IP分片: IP路由: IP转发: IP协议:全称:Internet Protocol(网际 ...
- TCP/IP协议头部结构
一 TCP/IP协议族体系结构 数据链路层:数据链路层主要使用ARP(地址解析协议) RARP(逆地址解析协议)网络层使用IP进行寻址.而数据链路层使用物理地址.网络层必须将目标及其的IP转换为物理地 ...
- TCP/IP协议头部结构与解析
参考 http://blog.sina.com.cn/s/blog_634d74310102vmfn.html IP协议 IP协议(Internet Protocol)是网络层协议,用在因特网上,T ...
- TCP/IP 面试题整理
TCP/IP协议的工作流程如下: ●在源主机上,应用层将一串应用数据流传送给传输层. ●传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层. ●在网络层给TCP段加上包括源.目的 ...
- Cisco测试命令和TCP/IP连接故障处理整理集合
Cisco测试命令和TCP/IP连接故障处理 一.故障处理命令 1.show命令: 1) 全局命令: show version :显示系统硬件和软件版本.DRAM.Flash show startup ...
- 使用wireshark分析tcp/ip报文之报文头
以太网报文的结构如下: 其中,以太网的帧头: 14 Bytes:MAC目的地址48bit(6B),MAC源地址48bit(6B),Type域2B,一共14B. IP头部: TCP头部: http:// ...
- html头部协议,TCP/IP协议头部结构体
//Mac头部,总长度14字节 typedef struct _eth_hdr { unsigned char dstmac[6]; //目标mac地址 unsigned char srcmac[6] ...
最新文章
- 强化学习在机器人中的应用
- Spring.NET学习笔记9——打造简易的依赖注入框架(练习篇) Level 100
- linux父子进程之间之间的区别与联系
- 风靡朋友圈的HTML5游戏去哪了
- roi计算_计算开放式硬件项目的ROI的6个步骤
- java爬虫爬取主流房屋网站
- python - easy_install的安装和使用
- js实现视频时间段拖拽编辑
- 在阿里云上安装MongoDB,并且远程连接
- 软件设计师易错题分析总结
- java parser .java_JDK的Parser来解析Java源代码详解
- 携手网易打造世界杯主题房 YUNIK HOTEL玩转兴趣社交新场景
- sop封装与dip封装的语音芯片有何区别?
- 嵌入式linux保存参数数据
- 给普通人的Python——第四章
- 2019重庆大学计算机学院研究生,【计算机】计算机学院举行2019级研究生年级大会...
- 史上官场吃喝风:与送礼一样成为通用的规则
- 解决导出excel导出名字乱码
- abp项目怎样发布到服务器,ABP框架的基础配置及依赖注入讲解
- 转战物联网·基础篇02-物联网中的角儿