IP头部信息

ip报文段格式

版本:
占4位,表明IP协议实现的版本号,当前一般为IPv4,即0100。
报头长度 :
占4位,因为头部长度不固定(Option可选部分不固定),所以需要标识该分组的头部长度多少,取值范围:5-15即20-60字节。
服务类型:
占8位,其中前3位为优先权子字段(Precedence,现已被忽略)。第4至第7比特分别代表延迟、吞吐量、可靠性和花费。当它们取值为1时分别代表要求最小时延、最大吞吐量、最高可靠性和最小费用。这4比特的服务类型中只能置其中1比特为1。可以全为0,若全为0则表示一般服务。第8比特保留未用。
总长度:
占16位,指明整个数据报的长度(以字节为单位)。最大长度为65535字节。
标识:
占16位。用来唯一标识主机发送的每一份数据报。通常每发一份报文,它的值会加1。
标志:
占3位。标志一份数据报是否要求分段。
片偏移:
占13位。如果一份数据报要求分段,此字段指明该片偏移距原始数据报开始的位置。
生存时间:
占8位。用来设置数据报最多可以经过的路由器数。由发送数据的源主机设置,通常为32、64、128等。每经过一个路由器,其值减1,直到0时该数据报被丢弃。
协议:
占8位。指明IP层所封装的上层协议类型,如ICMP(1)、IGMP(2) 、TCP(6)、UDP(17)等。
头部校验和:
占16位。内容是根据IP头部计算得到的校验和码。计算方法是:对头部中每个16比特进行二进制反码求和。(和ICMP、IGMP、TCP、UDP不同,IP不对头部后的数据进行校验)。
源IP地址、目标IP地址:
各占32位。用来标明发送IP数据报文的源主机地址和接收IP报文的目标主机地址。
可选项:
占32位。用来定义一些任选项:如记录路径、时间戳等。这些选项很少被使用,同时并不是所有主机和路由器都支持这些选项。可选项字段的长度必须是32比特的整数倍,如果不足,必须填充0以达到此长度要求。

TCP头部信息

tcp报文段格式

源端口号、目的端口号:
各占2字节,端口是传输层和应用层的服务接口,用于寻找发送端街接收端的进程。
序号:
占4字节,用来标识从TCP发送端向TCP接收端发送的数据字节流。
确认序号:
占4字节,上次成功接收到的TCP另一端序号+1
数据偏移:
占4位,最大为1111即15个数字,一个代表4个字节,用于指出TCP首部长度,若不存在选项,则这个值为20字节,数据偏移的最大值为60字节。
保留字段:
占6位,值是确定的,暂时可忽略,值全为0
标志位:
URG(紧急): 为1时表明紧急指针字段有效
ACK(确认):为1时表明确认号字段有效
PSH(推送):为1时接收方应尽快将这个报文段交给应用层
RST(复位):为1时表明TCP连接出现故障必须重建连接
SYN(同步):在连接建立时用来同步序号
FIN (终止): 为1时表明发送端数据发送完毕要求释放连接
接收窗口:
占2字节,用于流量控制和拥塞控制,表示当前接收缓冲区的大小。在计算机网络中,通常是用接收方的接收能力的大小来控制发送方的数据发送量,这样可以避免快主机致使较慢主机的缓冲区溢出。TCP连接的一端根据缓冲区大小确定自己的接收窗口值,告诉对方,使对方可以确定发送数据的字节数。
校验和:
占2字节,范围包括首部和数据两部分。检查当前的TCP包是否有问题,有没有损坏丢失
选项:
选项是可选的,默认情况是不选。

UDP头部信息

udp报文段格式

16位源端口号和16位目的端口号:
代表出发端口和目的地端口,这个可以类比TCP的源端口和目的端口。
16位UDP长度:
代表整个UDP的长度,包括UDP数据,最小的UDP长度就是8字节。
16位UDP校验和:
用于检验UDP数据包
IPv4中,校验和可以为0,意味着不使用校验和。IPv6要求必须进行校验

HTTP头部信息

http请求报文段格式

开始行:
方法有GET、HEAD、POST、PUT、DELETE。
URL:统一资源定位符
版本:表明HTTP协议实现的版本号
CRLF:回车换行
首部行:
在开始行之后,这是添加http头部的字段名,注:冒号后有空格。如果要结束首部信息的时候,要添加一个换行。所以最后一个首部行要有两个换行。
Accept:可通知服务器用户代理能够处理的媒体类型以及该媒体类型对应的优先级。
Accept-Encoding:告知服务器,客户端可支持的内容编码以及相应内容编码的优先级。
Accept-Language:告知服务器,客户端可处理的自然语言集,以及对应语言集的优先级。
Authorization:告知服务器用户端的认证信息。
If-Match 与If-None-Match:If-Match的请求是如果后方的字符串与ETag相等则服务器端进行请求,否则不进行处理。If-None-Match是If-Match的非操作,同样是匹配ETag, 如果Etag没有匹配成功就处理请求,否则不处理。
Referer:值是一个URI, 该URI就是发起请求的页面URI
User-Agent:请求方的浏览器和用户代理名称等信息。
Cookie:本地存储的Cookie信息(包括登陆状态等)。
实体主体:
一般只有上传才有实体主体,请求没有主体实体。

http响应报文段格式

开始行:
版本:表明HTTP协议实现的版本号
状态码 短语:1XX(信息响应):100 Continue:服务器通知浏览器之前一切正常,请客户端继续请求,如果请求结束,可忽略。2XX(成功响应):200 OK: 请求成功、201 Created: 常用于POST,PUT 请求,表明请求已经成功,并新建了一个资源。3XX(重定向消息):300 Multiple Choice: 返回多个响应,需要浏览器或者用户选择;4XX(客户端错误响应):400 Bad Request: 请求语法有问题,服务器无法识别。403 Forbidden: 服务器拒绝响应。权限不足。404 Not Found: URL无效或者URL有效但是没有资源。5XX(服务器错误响应):500 Internal Server Error: 服务器内部错误,未捕获。503 Service Unavailable: 无法服务。一般发生在因维护而停机或者服务过载。
CRLF:回车换行
首部行:
Accept-Ranges:告知客户端服务器那边是否支持范围请求。
Age:告知客户端,源服务器在多久前创建了该响应。
Etag:服务器当前请求的服务器资源(图片,HTML页面等)所对应的一个独有的字符串。
Server:表明了服务器端使用的服务器型号。
Vary :源服务器会向代理服务器传达关于本地缓存使用方法的命令。
WWW-Authenticate:在状态码401 Unauthorized中肯定带有此字段,该字段用来指定客户端的认证方案(Basic或者Digest)。
Set-Cookie:管理客户端所要设置的Cookie信息。
实体主体:
Content-Encoding:说明报文实体的编码方式。
Content-Language:表示报文实体使用的自然语言。
Content-Length:指定报文实体的字节长度。
Content-Type:定义响应数据的类型和编码。
通用首部行字段:
Cache-Control:用来操作缓存的工作机制。
Connection:控制不转发给代理服务器的首部字段以及管理持久连接。
Transfer-Encoding:表示报文在传输过程中采用的编码方式。
Via:追踪请求和响应报文测传输路径,报文经过代理或者网关是会在Via字段添加该服务器的信息,然后再进行转发。

IP、TCP、UDP、HTTP头部信息相关推荐

  1. Ethernet IP TCP UDP 协议头部格式

    The Ethernet header structure is shown in the illustration below: 以太网头部14 bytes Destination Source L ...

  2. 《深入浅出DPDK》读书笔记(十):硬件加速与功能卸载(VLAN、IEEE1588、IP TCP/UDP/SCTP checksum、Tunnel)

    Table of Contents 109.硬件卸载简介 110.网卡硬件卸载功能 111.DPDK软件接口 接收侧: 发送侧: 112.硬件与软件功能实现 113.VLAN硬件卸载 1. 收包时VL ...

  3. 网络编程培训之一 编程实现IP/TCP/UDP报文

    系列博客参考:http://blog.csdn.net/zy416548283/article/category/1108400 代码以编号对应放在Github上:https://github.com ...

  4. 以太网,IP,TCP,UDP数据包分析【转】

    原文地址:http://www.cnblogs.com/feitian629/archive/2012/11/16/2774065.html 1.ISO开放系统有以下几层: 7 应用层 6 表示层 5 ...

  5. 2020-01-14 IP/TCP/UDP 对应的RFC编号

    Networking Protocol Documents IPv4 specification (RFC 791) IPv6 specification (RFC 2460) TCP/UDP spe ...

  6. ip tcp udp mpeg4头结构的定义

    IP包头结构浅析 版本号(Version):长度4比特.标识目前采用的IP协议的版本号.一般的值为0100(IPv4),IPv6的值(0110) IP包头长度(Header Length):长度4比特 ...

  7. IP/TCP/UDP/RTP/RTCP 包结构图

    IP 包头结构: TCP 包头结构: UDP 包头结构: RTP 包头结构: RTCP 包头结构:

  8. ip, tcp, udp, icmp header

    Figure 1. IPv4 header Figure 2. TCP header Figure 3. UDP header Figure 4. ICMP header reference:TCP/ ...

  9. 在线端口检查工具 Online IP TCP UDP port scan

    在线TCP端口检查 http://www.seomastering.com/port-scanner.php 在线TCP端口检查 http://www.yougetsignal.com/tools/o ...

  10. RAW 原始套接字 TCP UDP协议解析

    前言 公司的项目终于告一段落了,终于有时间了 - - leetcode 终于又可以 提上日程了 rust 驱动开发,也可以继续做了 kernel的驱动开发,也得继续进行了 驱动框架我又回来了 RFC ...

最新文章

  1. 如何使用TensorCores优化卷积
  2. TF学习:Tensorflow基础案例、经典案例集合——基于python编程代码的实现
  3. ubuntu ???????????? no permissions 问题解决
  4. 令前端工程师追捧的一款前端开发IDE工具WebStorm
  5. 计算机专业电脑配置,计算机专业的学生在租电脑时如何选择电脑配置?
  6. 我不要你死于一事无成
  7. python中shelf对象_Python对象持久化存储工具pickle
  8. 鸢尾花分类算法——机器学习笔记
  9. J-Link V9驱动
  10. Python使用逻辑回归提示FutureWarning: Default solver will be changed to ‘lbfgs‘ in 0.22. Specify a solver to
  11. 东田纳西州立大学计算机排名,东田纳西州立大学如何
  12. 互联网时代,知识付费行业发展空间巨大
  13. 一年三轮融资3亿 深睿医疗领跑AI医疗行业
  14. Kubernetes集群高可用方案
  15. 神奇的水滴效果导航栏-BezierIndicator
  16. PE文件结构图解,比较牵强,仅为学习笔记,高手见笑
  17. 今夕何夕(思路详解)
  18. 关于GTD的网站(更新中...)
  19. 常识介绍---投稿---评审部分已审回、 评审已审回、 终审,盲审和外审
  20. iOS中对图片拉伸的四种方式

热门文章

  1. 【发现问题】Java中PrintStream和PrintWriter的区别
  2. unionall mysql_5分钟了解MySQL5.7union all用法的黑科技
  3. javascript进制转换_「js基础」JavaScript逻辑和位运算符归纳
  4. C语言的fgets 与 gets
  5. java装箱和拆箱_java自动装箱和拆箱
  6. windows下搭建Vagrant+Virtualbox环境
  7. oracle 表达式1000,oracle环境下占用编号的方法报语法错误:ORA-01795: 列表中的最大表达式数为 1000...
  8. ib网卡命令_infiniband交换机配置命令总结
  9. 发那科pmc地址分配_一台全新的FANUC数控机床,请简述有挡块回参功能的实现步骤?包括PMC的I/O分配、具体参数设定、梯形图程序...
  10. java webservice用户验证_使用java webservice的.net4.0 web app需要Usernametoken身份验证