文档库 最新最全的文档下载
当前位置:文档库 › 网络协议报文格式汇总

网络协议报文格式汇总

S .. . ..

目录

1 序、 (2)

1.1 协议的概念 (2)

1.2 TCP/IP体系结构 (2)

2 链路层协议报文格式 (2)

2.1 Ethernet报文格式 (2)

2.2 802.1q VLAN数据帧(4字节) (2)

2.3 QinQ帧格式 (2)

2.4 PPP帧格式 (2)

2.5 STP协议格式 (2)

2.5.1 语法 (2)

2.5.2 语义 (2)

2.5.3 时序 (2)

2.6 RSTP消息格式 (2)

2.6.1 语法 (2)

2.6.2 语义 (2)

2.6.3 时序 (2)

3 网络层协议报文 (2)

3.1 IP报文头 (2)

3.2 ARP协议报文 (2)

3.2.1 语法 (2)

3.2.2 语义 (2)

3.2.3 时序 (2)

3.3 VRRP协议报文 (2)

3.3.1 语法 (2)

3.4 BGP协议报文 (2)

3.4.1 语法 (2)

3.4.2 语义 (2)

1 序、

1.1 协议的概念

协议由语法、语义和时序三部分组成:

语法:规定传输数据的格式;

语义:规定所要完成的功能;

时序:规定执行各种操作的条件、顺序关系;

1.2 TCP/IP体系结构

TCP/IP协议分为四层结构,每一层完成特定的功能,包括多个协议。本课程实验中相关协议的层次分布如附图3-1所示。

图1-1TCP/IP协议层次

这些协议之间的PDU封装并不是严格按照低层PDU封装高层PDU的方式进行的,附图3-2显示了Ethernet帧、ARP分组、IP分组、ICMP报文、TCP报文段、UDP数据报、RIP报文、OSPF报文和FTP报文之间的封装关系。

图1-2各协议PDU间的封装关系

2 链路层协议报文格式

2.1 Ethernet报文格式

最新的IEEE 802.3标准(2002年)中定义Ethernet帧格式如下:

图2-3以太网报文格式

●其中,类型/长度值小于1536(0x0600)时表示数据字段的长度,大于等于1536(0x0600)

时表示数据字段的协议类型。类型/长度值0x0800表示帧中封装的数据为IP分组,类型值0x0806表示帧中封装的数据为ARP分组。

●Ethernet II类型以太网帧的最小长度为64字节(6+6+2+46+4)最大长度为1518字

节(6+6+2+1500+4)。其中前12字节分别标识出发送数据帧的源节点MAC地址和接收数据帧的目标节点MAC地址。(注:ISL封装后可达1548字节,802.1Q封装后可达1522字节)

●接下来的2个字节标识出以太网帧所携带的上层数据类型,如下:

IPv4: 0x0800

ARP:0x0806

PPPoE:0x8864

802.1Q tag: 0x8100

IPV6: 0x86DD

MPLS Label:0x8847

●在不定长的数据字段后是4个字节的帧校验序列(Frame. Check Sequence,FCS)

2.2 802.1q VLAN数据帧(4字节)

图2-4VLAN数据帧结构

●Type:长度为2字节,取值为0x8100,表示此帧的类型为802.1Q Tag帧。

●PRI:长度为3比特,可取0~7之间的值,表示帧的优先级,值越大优先级越高。该优

先级主要为QoS差分服务提供参考依据(COS)。

●CFI 字段标识MAC 地址在不同的传输介质中是否以标准格式进行封装,长度为1bit,取

值为0 表示MAC 地址以标准格式进行封装,为1 表示以非标准格式封装,缺省取值为0

●VLAN Identifier (VID) : 长度12bits,可配置的VLAN ID取值范围为1~4094。通常vlan 0和

vlan 4095预留,vlan1为缺省vlan,一般用于网管。

2.3 QinQ帧格式

图2-5QinQ帧结构

2.4 PPP帧格式

图2-6PPP帧格式

PPP报文的内容是指Address、Control、Protocol和Information四个域的内容。各字段的含义如下。

●Flag域Flag域标识了一个物理帧的起始和结束,该字节为0x7E。

●Address域PPP协议是被运用在点对点的链路上,它可以唯一标识对方。因此使用PPP

协议互连的两个通信设备无须知道对方的数据链路层地址。所以该字节已无任何意义,按照协议的规定将该字节填充为全1的广播地址。

●Control域同Address域一样,PPP数据帧的Control域也没有实际意义,按照协议的规

定通信双方将该字节的内容填充为0x03。Address和Control域一起表示了此报文为PPP报文,即PPP报文头为FF03。

●Protocol域协议域可用来区分PPP数据帧中信息域所承载的数据报文的内容。

图2-7Protocol协议域

●Information域信息域最大长度是1500字节,其中包括填充域的内容。信息域的最大长

度等于PPP协议中MRU(Maximum Receive Unit)的缺省值。

2.5 STP协议格式

2.5.1 语法

图2-8STP报文格式

以太网报文头:

●目的mac地址―目的地址是一个固定的桥的组播地址(0x0180c2000000)

●源MAC地址―即发送该配置消息的桥MAC地址

●长度/类型―这里表示帧长

●LLC Header ―固定的链路头-0x424203

●Payload ― BPDU数据

BPDU数据:

●Protocol ID ―恒为0。

●Version ―恒为0。

●Type ―决定该帧中所包含的两种 BPDU 格式类型(配置 BPDU 或 TCN BPDU)。

●Flags ―标志活动拓朴中的变化,包含在拓朴变化通知(Topology Change Notifications)

的下一部分中。如下图:STP只使用了第0和第7比特位。

图2-9STP报文的flags字段

●Root BID ―包括有根网桥的网桥 ID。会聚后的网桥网络中,所有配置 BPDU 中的该字

段都应该具有相同值(单个 VLAN)。NetXRay 可以细分为两个 BID 子字段:网桥优先级和网桥 MAC 地址。

●Root Path Cost ―通向有根网桥(Root Bridge)的所有链路的积累资本。

●Sender BID ―创建当前 BPDU 的网桥 BID。对于单交换机(单个 VLAN)发送的所有

BPDU 而言,该字段值都相同,而对于交换机与交换机之间发送的 BPDU 而言,该字段值不同)

●Port ID ―每个端口值都是唯一的。端口1/1值为0×8001,而端口1/2 值为0×8002。

●Message Age ―记录 Root Bridge 生成当前 BPDU 起源信息的所消耗时间。

●Max Age ―保存 BPDU 的最长时间,也反映了拓朴变化通知(Topology Change

Notification)过程中的网桥表生存时间情况。

●Hello Time ―指周期性配置 BPDU 间的时间。

●Forward Delay ―用于在 Listening 和 Learning 状态的时间,也反映了拓朴变化通知

(Topology Change Notification)过程中的时间情况。

2.5.2 语义

常用概念:

●根桥(Root Bridge):桥ID最小的网桥。其中桥ID是由网桥的优先级和网桥的MAC组

●根端口(Root Port):这个端口到达根桥的路径是该端口所在网桥到达根桥的最佳路径。

全网中只有根桥是没有根端口的

●指定端口(Designated Port):每一个网段选择到根桥最近的网桥作为指定网桥,该网桥

到这一网段的端口为指定端口

●可选端口(Alternate Port):既不是指定端口,也不是根端口的端口

Stp做了些什么:

●STP在二层交换网络中选择一个根桥作为全部二层交换网络的逻辑中心(Root Bridge)●STP为全网中每一个参与STP运算的交换机计算到达根桥的最短距离(Path Cost)

●检测二层交换网络中存在的冗余链路,并把他们置于阻断/备份状态

●检测拓扑结构的变化并根据情况计算新的生成树

如何确定跟桥:

●根桥—BID(网桥ID)最小的网桥定为根桥

●BID—网桥的优先级+网桥MAC

●网桥的优先级为可配置,缺省值为32768

●在缺省情况下,根桥将由MAC地址最小的网桥担任

如何确认到根桥的PATH COST:

如何决定BPDU配置消息的优劣:

●比较RID(Root Bridge ID),确定网络同步

●RID相同,比较Path Cost(到根桥距离),越小越优

●RID/Path Cost相同,比较指定桥的BID (Designated Bridge ID),越小越优

●RID/Path Cost/DBID相同,比较指定端口的ID (Designated Port ID),越小越优

确定网桥端口角色:

●BPDU报文中总是携带网桥到根桥的最优值

●通过BPDU配置消息来决定端口的角色

●根端口:网桥各个端口中到根桥最近的端口

●指定端口:网桥的端口发送的BPDU配置消息较接收的BPDU配置消息更优,则端口为

指定端口

●可选端口:网桥的端口发送的BPDU配置消息较接收的BPDU配置消息更差,则端口为

可选端口

STP端口状态:

●disabled:不收发任何报文

●Blocking: 不接收或转发数据,接收但不发送BPDU,不进行地址学习

●Listening:不接收或转发数据,接收并发送BPDU,不进行地址学习

●Learning:不接收或转发数据,接收并发送BPDU,开始地址学习

●Forwarding:接收并转发数据,接收并发送BPDU,进行地址学习

拓扑改变:

●拓扑结构改变会使站点在生成树中的相对位置发生移动,那么网桥原来学习到的MAC

地址信息就可能变得不正确,所以学习的MAC地址信息也要有生存期,如果该时间内没有证明地址的正确,则抛弃这条地址信息

●MAC地址在STP中有两个生存期:

●拓扑稳定的时候用较长的生存期

●拓扑改变的时候用较短的生存期

●网络拓扑发生改变的时候,并不是所有的网桥都能够发现这一变化,所以需要把拓扑改

变的信息通知到整个网络

拓扑改变消息的传播:

●拓扑改变的触发条件有两个:

●当Forwarding端口转变为其他状态时

●某端口变为Forwarding状态,且交换机具备DP(交换机为非独立交换机)

●检测到拓扑变化的交换机以HelloTime为周期持续在根端口上向外发送TCN报文,到接

收到TCA为止

●收到TCN后,Root Bridge 发送的BPDU报文中的TC位将被置位,维持时间为

ForwardDelay+MaxAge

2.5.3 时序

BPDU的结构:

●STP通过BPDU(Bridge Protocol Data Unit)报文来学习网络拓扑结构;

●BPDU报文的目标MAC地址为:01-80-C2-00-00-00;

●BPDU报文在直连的两个网桥或多个网桥内交换,不能被转发。没有运行STP协议的网

桥将把BPDU报文当作普通业务报文转发;

STP定时器:

●Hello Timer: 根桥生成BPDU配置消息的周期,缺省时间为2秒钟

●Forward Delay: 配置消息传播到全网的最大时延。缺省为15秒钟

●Message Age:从根桥生成BPDU配置消息开始,到当前时间为止配置消息的存活时间●Max Message Age:BPDU配置消息存活的最大时间

http协议请求响应报文格式及状态码详解

HTTP协议报文格式 HTTP协议(Hypertext Transfer Protocol――超文本传输协议)浏览器端(客户端)向WEB 服务器端访问页面的过程和HTTP协议报文的格式。 基于HTTP协议的客户机访问包括4个过程,分别是建立TCP套接字连接、发送HTTP请求报文、接收HTTP应答报文和关闭TCP套接字连接: 1. 创建TCP套接字连接 客户端与WEB服务器创建TCP套接字连接,其中WEB端服务器的地址可以通过域名解析确定,WEB端的套接字侦听端口一般是80。 2. 发送HTTP请求报文 客户端向WEB服务端发送请求报文,HTTP协议的请求报文格式为: 请求消息= 请求行(实体头信息)CRLF[实体内容] 请求行= 方法URL HTTP版本号CRLF 方法= GET|HEAD|POST|扩展方法 URL = 协议名称+宿主名+目录与文件名 其中"CRLF"表示回车换行。 "请求行"中的"方法"描述了对指定资源执行的动作,常用的方法"GET"、"HEAD"和"POST"等3种,它们的含义如表15-8所示: 请求报文 一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。 (1)请求行 请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。 HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET方法和POST方法。 GET:当客户端要从服务器中读取文档时,使用GET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾 与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。POST:当客户端给服务器提供信息较多时可以使用POST方法。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据。 表15-8 HTTP请求方法

网络协议报文格式大集合

可编辑 目录 1 序、 (2) 1.1 协议的概念 (2) 1.2 TCP/IP体系结构 (2) 2 链路层协议报文格式 (2) 2.1 Ethernet报文格式 (2) 2.2 802.1q VLAN数据帧(4字节) (3) 2.3 QinQ帧格式 (4) 2.4 PPP帧格式 (4) 2.5 STP协议格式 (5) 2.5.1 语法 (5) 2.5.2 语义 (6) 2.5.3 时序 (8) 2.6 RSTP消息格式 (9) 2.6.1 语法 (9) 2.6.2 语义 (11) 2.6.3 时序 (13) 3 网络层协议报文 (14) 3.1 IP报文头 (14) 3.2 ARP协议报文 (16) 3.2.1 语法 (16) 3.2.2 语义 (17) 3.2.3 时序 (17) 3.3 VRRP协议报文 (18) 3.3.1 语法 (18) 3.4 BGP协议报文 (19) 3.4.1 语法 (19) 3.4.2 语义 (25)

1 序、 1.1 协议的概念 协议由语法、语义和时序三部分组成: 语法:规定传输数据的格式; 语义:规定所要完成的功能; 时序:规定执行各种操作的条件、顺序关系; 1.2 TCP/IP体系结构 TCP/IP协议分为四层结构,每一层完成特定的功能,包括多个协议。本课程实验中相关协议的层次分布如附图3-1所示。 图1-1TCP/IP协议层次 这些协议之间的PDU封装并不是严格按照低层PDU封装高层PDU的方式进行的,附图3-2显示了Ethernet帧、ARP分组、IP分组、ICMP报文、TCP报文段、UDP数据报、RIP报文、OSPF报文和FTP报文之间的封装关系。 图1-2各协议PDU间的封装关系 2 链路层协议报文格式 2.1 Ethernet报文格式 最新的IEEE 802.3标准(2002年)中定义Ethernet帧格式如下:

常用http响应报文分析

一、HTTP响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。 响应码分五种类型,由它们的第一位数字表示: 1xx: 信息,请求收到,继续处理 2xx: 成功,行为被成功地接受、理解和采纳 3xx: 重定向,为了完成请求,必须进一步执行的动作 4xx: 客户端错误,请求包含语法错误或者请求无法实现 5xx: 服务器错误,服务器不能实现一种明显无效的请求 下表显示每个响应码及其含义: 100继续 101分组交换协 200 OK 201被创建 202被采纳 203非授权信息 204无内容

205重置内容206部分内容300多选项 301永久地传送302找到 303参见其他304未改动 305使用代理307暂时重定向400错误请求401未授权 402要求付费403禁止 404未找到 405不允许的方法406不被采纳407要求代理授权408请求超时409冲突 410过期的 411要求的xx

412前提不成立 413请求实例太大 414请求URIxx 415不支持的媒体类型 416无法满足的请求范围 417失败的预期 500内部服务器错误 501未被使用 502网关错误 503不可用的服务 504网关超时 505 HTTP版本未被支持 二、HTTP头标由主键/值对组成。它们描述客户端或者服务器的属性、被传输的资源以及应该实现连接。 四种不同类型的头标: 1.通用头标: 即可用于请求,也可用于响应,是作为一个整体而不是特定资源与事务相关联。 2.请求头标: 允许客户端传递关于自身的信息和希望的响应形式。 3.响应头标:

服务器和于传递自身信息的响应。 4.实体头标: 定义被传送资源的信息。即可用于请求,也可用于响应。 头标格式: : 下表描述在HTTP/ 1."1xx用到的头标 Accept定义客户端可以处理的媒体类型,按优先级排序;在一个以逗号为分隔的列表中,可以定义多种类型和使用通配符。例如: Accept: image/jpeg,image/png,*/*Accept-Charset定义客户端可以处理的字符集,按优先级排序;在一个以逗号为分隔的列表中,可以定义多种类型和使用通配符。例如: Accept-Charset: iso-8859-1,*,utf-8 Accept-Encoding定义客户端可以理解的编码机制。例如: Accept-Encoding: Accept-Language定义客户端乐于接受的自然语言列表。例如: Accept-Language: en,de Accept-Ranges一个响应头标,它允许服务器指明:

计算机网络使用网络协议分析器捕捉和分析协议数据包样本

计算机网络使用网络协议分析器捕捉和分析协议数据包样 本 计算机网络使用网络协议分析器捕捉和分析协议数据包广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室11月月28日学院计算机科学与教育软件学院年级//专业//班姓名学号实验课程名称计算机网络实验成绩实验项目名称使用网络协议分析器捕捉和分析协议数据包指导老师熊伟 一、实验目的 (1)熟悉ethereal的使用 (2)验证各种协议数据包格式 (3)学会捕捉并分析各种数据包。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 二、实验环境1.MacBook Pro2.Mac OS3..Wireshark 三、实验内容,验证数据帧、IP数据报、TCP数据段的报文格式。 ,,分析结果各参数的意义。 器,分析跟踪的路由器IP是哪个接口的。 对协议包进行分析说明,依据不同阶段的协议出分析,画出FTP 工作过程的示意图a..地址解析ARP协议执行过程b.FTP控制连接建立过程c.FTP用户登录身份验证过程本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。

文档如有不当之处,请联系本人或网站删除。 d.FTP数据连接建立过程 e.FTP数据传输过程 f.FTP连接释放过程(包括数据连接和控制连接),回答以下问题:a..当访问某个主页时,从应用层到网络层,用到了哪些协议?b.对于用户请求的百度主页(),客户端将接收到几个应答报文??具体是哪几个??假设从是本地主机到该页面的往返时间是RTT,那么从请求该主页开始到浏览器上出现完整页面,一共经过多长时间??c.两个存放在同一个服务器中的截然不同的b Web页(例如,,和d.假定一个超链接从一个万维网文档链接到另一个万维网文档,由于万维网文档上出现了差错而使超链接指向一个无效的计算机名,这时浏览器将向用户报告什么?e.当点击一个万维网文档时,若该文档除了次有文本外,,那么需要建立几次TCP连接和个有几个UDP过程?本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 析,分析ARP攻击机制。 (选做),事实上,TCP开始发送数据时,使用了慢启动。 利察用网络监视器观察TCP的传输和确认。 在每一确认到达之后,慢启动过程中发生了什么?(选做),,TCP 必须准备重发初始段(用于打开一个连接的一个段)。 TCP应等多久才重发这一段?TCP应重发多少次才能宣布它不能打开一个连接?为找到结果尝试向一个不存在的地址打开一个连接,并使用网络监视器观察TCP的通信量。

HTTP协议分析

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速: 客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、H EAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活: HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接: 无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态: HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 一、HTTP协议(URL)

http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下: http: //host[": "port][abs_path] 二、HTTP协议的请求 http请求由三部分组成,分别是: 请求行、消息报头、请求正文 1、请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下: Method Request-URI HTTP-Version CRLF 其中Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。 请求方法(所有方法全为大写)有多种,各个方法的解释如下: GET 请求获取Request-URI所标识的资源 POST 在Request-URI所标识的资源后附加新的数据 HEAD 请求获取由Request-URI所标识的资源的响应消息报头 PUT 请求服务器存储一个资源,并用Request-URI作为其标识

实验12 HTTP报文分析

实验12 HTTP 协议分析实验 一、实验目的 在PC 机上登录Web 页面,截获报文,分析HTTP 协议的报文格式和HTTP协议的工作过程。 二、实验说明 独立完成各自实验 三、实验内容 在一台计算机上截获不同类型HTTP报文进行分析。 四、实验步骤 1.在PC 机上运行Sniffer,设置过滤器,开始截获报文; 2.从浏览器上访问Web 界面,如http://202.202.4 3.125。打开网页,待浏览器的状 态栏出现“完毕”信息后关闭网页。 3.停止截获报文,将截获的报文命名为http1-座号-姓名保存。 4.分析截获的报文,回答以下几个问题: ?在截获的HTTP 报文中,任选一个HTTP 请求报文和对应的 HTTP 应答报文, 仔细分析它们的格式,填写下面两个表格。 ? ?

表2 HTTP 应答报文格式 分析在截获的报文中,客户机与服务器建立了几个连接?服务器和客户机分别使用了哪几个端口号? 建立了10个连接,服务器使用率1281,1282,1283,1284,1285,1286,1287,1288,1289端口,客户端使用80端口 1.获取长文件 (1)启动浏览器,将浏览器的缓存清空。

(2)启动Sniffer,设定过滤器HTTP,在浏览器地址栏中输入以下网址:https://www.wendangku.net/doc/cb6599585.html,/wireshark-labs/HTTP-wireshark-file3.html 浏览器将显示一个相当大的美国权利法案。

(3)停止Sniffer,保存为:http2-座号-姓名,回答以下问题。 ?一共发出了多少个HTTP GET请求? 4个GET请求 ?承载这个HTTTP响应报文需要多少个data-containing TCP报文段? 一共需要4个TCP报文段 ?与GET请求相对应的响应报文状态码和状态短语是什么?。 状态码:302 状态短语:Found ?在被传送的数据中共有多少个HTTP状态行与TCP-induced continuation有 关? 有,对于一个大的HTML文件会被TCP分为若干个独立的小包传输,他们是连 续的,如下图 2.嵌有对象的HTML文档 (1)启动浏览器,将浏览器的缓存清空。 (2)启动Sniffer,设定过滤器HTTP,在浏览器地址栏中输入以下网址: https://www.wendangku.net/doc/cb6599585.html,/wireshark-labs/HTTP-wireshark-file5.html 浏览器将显示一个具有两个图片的短HTTP文件。

TCPIP等协议报文格式

TCP/IP等协议报文格式 应用层(Application) HTTP、Telnet、FTP、SNMP、SMTP 传输层(transport) TCP、UDP 网间层(Internet) IP-ARP、RARP、ICMP 网络接口层(NETwork)Ethernet、X.25、SLIP、PPP 以太网数据报文封装格式 TCP报文 TCP数据区 TCP IP报文 IP数据区 IP 帧头 帧数据区

ETH 前导 目的地址 源地址 帧类型 数据 CRC 长度 8 6 6 2 46~1500 4 用户填充数据60~1514 8字节前导用于帧同步,CRC用于帧校验,此2类数据可由网卡芯片自动添加。目的地址和源地址是指网卡的物理地址,即MAC地址,多数情况下具有唯一性。帧类型或协议类型——0X0806为ARP协议,0X0800为IP协议。 ARP/RARP (地址解析/反向地址解析)报文格式 0~7

8~15 16~23 24~31 硬件协议 协议类型 硬件地址长度 协议地址长度 操作 发送者硬件地址(字节0~3) 发送者硬件地址(字节4~5) 发送者IP地址(字节0~1) 发送者IP地址(字节2~3) 目的硬件地址(字节0~1) 目的硬件地址(字节2~5) 目的IP地址(字节0~3) 硬件类型——发送者本机网络接口类型(以太网=1) 协议类型——发送者所提供/请求的高级协议地址类型(IP协议=0x0800)操作——ARP请求=1,ARP响应=2,RARP请求=3,RARP响应=4

IP数据报头格式如下表0~3 4~7 8~11 12~15 16~18 19~31 4位 版本 4位 包头长度 8位 服务类型(TOS) 16位 总长度 16位 标识号(ID号) 3位 Flag 13位 片偏移 8位 生存时间 8位 协议类型 16位

常见网络协议报文格式汇总

附件:报文格式 1.1Ethernet数据包格式(RFC894) 1、DstMac的最高字节的最低BIT位如果为1,表明此包是以太网组播/广播包, 送给CPU处理。 2、将DstMac和本端口的MAC进行比较,如果不一致就丢弃。 3、获取以太网类型字段Type/Length。 0x0800→IP 继续进行3层的IP包处理。 0x0806→ARP 送给CPU处理。 0x8035→RARP 送给CPU处理。 0x8863→PPPoE discovery stage 送给CPU处理。 0x8864→PPPoE session stage 继续进行PPP的2层包处理。 0x8100→VLAN 其它值当作未识别包类型而丢弃。 1.2PPP数据包格式 1、获取PPP包类型字段。 0x0021→IP 继续进行3层的IP包处理。 0x8021→IPCP 送给CPU处理。 0xC021→LCP 送给CPU处理。 0xc023→PAP 送给CPU处理。 0xc025→LQR 送给CPU处理。 0xc223→CHAP 送给CPU处理。 0x8023→OSICP 送给CPU处理。 0x0023→OSI 送给CPU处理。 其它值当作未识别包类型而丢弃。

1.3 ARP 报文格式(RFC826) |←----以太网首部---->|←---------28字节ARP 请求/应答 ------ 1.4 IP 报文格式(RFC791)(20bytes) TOS 1.5 PING 报文格式(需IP 封装)(8bytes) 1.6 TCP 报文格式(需IP 封装)(20bytes)

紧急指针有效 ACK 确认序号有效 PSH 接收方应该尽快将这个报文交给应用层 RST 重建连接 SYN 同步序号用来发起一个连接 FIN 发端完成发送认务 1.7 UDP 报文格式(需IP 封装)(8bytes) 1.8 MPLS 报文格式 MPLS 报文类型: 以太网中 0x8847(单播) 0x8848(组播) PPP 类型上 0x8281(MPLSCP)

http协议数据包格式

竭诚为您提供优质文档/双击可除http协议数据包格式 篇一:数据包格式 tcp/ip协议族包括诸如internet协议(ip)、地址解析协议(aRp)、互联网控制信息协议(icmp)、用户数据报协议(udp)、传输控制协议(tcp)、路由信息协议(Rip)、telnet、简单邮件传输协议(smtp)、域名系统(dns)等协议。tcp/ip 协议的层次结构如图3所示。 图3tcp/ip协议层次结构 (1)应用层应用层包含一切与应用相关的功能,相当于osi的上面三层。我们经常使用的http、Ftp、telnet、smtp 等协议都在这一层实现。 (2)传输层传输层负责提供可靠的传输服务。该层相当于osi模型中的第4层。在该层中,典型的协议是 tcp(transmissioncontrolprotocol)和 udp(userdatagramprotocol)。其中,tcp提供可靠、有序的,面向连接的通信服务;而udp则提供无连接的、不可靠用户数据报服务。 (3)网际层网际层负责网络间的寻址和数据传输,其功

能大致相当于osi模型中的第3层。在该层中,典型的协议是ip(internetprotocol)。 (4)网络接口层最下面一层是网络接口层,负责数据的实际传输,相当于osi模型中的第1、第2层。在tcp/ip协议族中,对该层很少具体定义。大多数情况下,它依赖现有的协议传输数据。 tcp/ip与osi最大的不同在于osi是一个理论上的网络通信模型,而tcp/ip则是实际运行的网络协议。tcp/ip实际上是由许多协议组成的协议簇。图4示出tcp/ip的主要协议分类情况。 整个过程: 1.dhcp请求ip地址的过程 l发现阶段,即dhcp客户端寻找dhcp服务器的阶段。客户端以广播方式发送dhcpdiscoVeR包,只有dhcp服务器才会响应。 l提供阶段,即dhcp服务器提供ip地址的阶段。dhcp 服务器 接收到客户端的dhcpdiscoVeR报文后,从ip地址池中选择一个尚未分配的ip地址分配给客户端,向该客户端发送包含租借的ip地址和其他配置信息的dhcpoFFeR包。 l选择阶段,即dhcp客户端选择ip地址的阶段。如果有多台dhcp服务器向该客户端发送

http协议分析报告实例

HTTP协议分析 1 实验目的 分析HTTP协议报文首部格式,理解HTTP协议工作过程 2 实验内容 截获HTTP报文,分析HTTP协议报文首部格式,学习HTTP协议工作过程。 3 实验原理 超文本传送协议HTTP(HyperText Transfer Protocol),是万维网客户程序与万维网服务器程序之间的交互所要严格遵守的协议。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。对于万维网站点的访问要使用的HTTP协议。 HTTP的URL的一般形式是: http://<主机>:<端口>/<路径> WWW采用 B/S 结构,客户使用浏览器在 URL栏中输入 HTTP 请求,即输入对方服务器的地址,向 web 服务器提出请求。如访问师院的机构设置页面 https://www.wendangku.net/doc/cb6599585.html,/jigou/gljg.htm,具体的工作过程如下: (1) 浏览器分析指向页面的URL. (2) 浏览器向DNS请求解析https://www.wendangku.net/doc/cb6599585.html,的IP地址。 (3) 域名系统DNS解析出师院服务器的IP地址 (4) 浏览器与服务器建立TCP连接 (5) 浏览器发出取文件命令:GET /jigou/gljg.htm. (6) 服务器https://www.wendangku.net/doc/cb6599585.html,给出响应,将文件 gljg.htm发送给浏览器。 (7) TCP连接释放。 (8) 浏览器显示“北航机构设置”的页面。 服务器提供的默认端口号为80. 4 实验步骤 步骤 1 在计算机上打开wireshark软件,进行报文截获。 步骤 2 从浏览器上访问https://www.wendangku.net/doc/cb6599585.html,页面,具体操作为打开网页,浏览,关掉网页。 步骤 3 停止wireshark的报文截获,结果命名为http_学号,保存在本机或上 传至服务器目录下。

HTTP请求报文格式

HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。 请求报文 一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。 (1)请求行 请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。 HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET方法和POST方法。 GET:当客户端要从服务器中读取文档时,使用GET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL 的结尾与请求参数的开始,传递参数长度受限制。例如, /index.jsp?id=100&op=bind。 POST:当客户端给服务器提供信息较多时可以使用POST方法。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据。 (2)请求头部 请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:User-Agent:产生请求的浏览器类型。 Accept:客户端可识别的内容类型列表。 Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。 (3)空行 最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。 (4)请求数据

网络协议:传输层协议报文信息分析

网络协议实验报告 实验名称:传输层协议报文承载信息分析 实验目的:进一步熟悉协议分析工具软件使用,分析传输层报文承载的信息,掌握传输层协议工作的基本原理。 实验内容: 1、熟练应用与传输层有关的程序命令netstat、telnet; 2、截取浏览网页时和即时通讯时的数据报文,分析是基于UDP还是基于TCP(即时通讯程序可选择QQ、MSN),并分析每种应用各自的端口号(分客户端和服务端); 3、通过协议分析软件分析TCP和UDP的报文格式;分析MSS和MTU 的关系,认识TCP报文中携带MSS的时机。 4、截取有关数据报文,分析TCP建立连接时“三次握手”的过程。可通过telnet应用程序帮助建立的TCP连接,也可对基于TCP的应用程序工作时的TCP连接进行截取数据报。 5、截取有关数据报文,分析TCP断开连接时“四次握手”的过程。 6、在进行大量的数据上传或下载时(比如基于HTTP或FTP的较大文件的上传),通过协议分析观察是否有流量和拥塞控制的表征。 实验日期:2010-12-09 实验步骤: (1)学习使用netstat 和telnet 命令 在命令窗口中输入 netstat /?即可得到所有命令(如图下)

当前网络的TCP、UDP连接状态(如图)

(2)telnet 命令(如图) 使用telnet https://www.wendangku.net/doc/cb6599585.html, 80 远程登录中国矿业大学服务器,使用三次TCP连接(如图) (3)截取浏览网页时和即时通讯时的数据报文,分析是基于UDP还是基于TCP (即时通讯程序可选择QQ、MSN),并分析每种应用各自的端口号(分客户端和服务端); A、捕获浏览器浏览网页时的数据报文是基于TCP 其对应的源端口号:客户端是:3575 服务端是:80 (如图)

1、HTTP协议分析

开放式课题 实验报告 实验名称:基于Wireshark软件的HTTP协议分析 学号: 姓名: 指导教师:宫婧 指导单位:理学院

目录 实验目的..........................................................错误!未定义书签。 1) 掌握Wireshark软件使用方法............. 错误!未定义书签。 2)理解HTTP协议工作原理..................................... 错误!未定义书签。 实验任务.................................... 错误!未定义书签。 1) 抓取数据包........................... 错误!未定义书签。 2)分析数据包........................... 错误!未定义书签。实验环境.............................. 错误!未定义书签。软件介绍 (2) 1) wireshark软件简介 (2) 2) wireshark软件的应用 (2) 3) wireshark软件的价值 (2) 4) wireshark软件的操作简介 (3) HTTP协议详解............................... 错误!未定义书签。 1) HTTP协议基础概念....................... 错误!未定义书签。 2) HTTP协议工作流程....................... 错误!未定义书签。 3) HTTP协议请求响应信息 (6) HTTP请求报文信息....................................6 HTTP响应报文信息....................................7HTTP数据包分析 (8) 1)网络接口层信息 (10) 2)网络层信息 (11) 3)传输层信息 (12) 4)应用层信息 (13) 总结........................................ 错误!未定义书签。参考文献.. (14)

Wireshark的数据包截获及协议分析

Wireshark的数据包截获与协议分析 1 引言 在数据包的截获方面,Winpcap 是一个可在 Windows 环境下运行的包俘获结构,它由三部分组成:一个数据包截获驱动程序、一个底层动态链接库(Packet.dll)和一个高层静态链接库(wpcap.lib)。它的核心部分是数据包俘获驱动程序,在 Windows NT/2000 系统中,它实现为一个内核驱动程序(packet.sys),在 Windows 95/98 系统中是一个虚拟设备驱动程序 (packet.vxd), 包俘获驱动程序通过NDIS(Network Driver Interface Specification)同网络适配器的驱动程序进行通信,NDIS 是网络代码的一部分,它负责管理各种网络适配器以及在适配器和网络协议软件之间的通信。在库的高层是一个动态链接库(packet.dll)和一个静态链接库 (wpcap.lib),这两个库的作用是将俘获应用程序同包俘获驱动程序相隔离,屏蔽低层的实现细节,避免在程序中直接使用系统调用或 IOCTL 命令,为应用程序提供系统独立的高层接口(API 函数),从而在 Windows9x、Windows2000/XP 系统下,对驱动程序的系统调用都是相同的。 使用 Winpcap,我们可以编写出用于网络协议实验分析、故障诊断、网络安全和监视等各种应用程序,这方面的一个典型例子就是可在 Windows 系统下运行的 Wireshark,Wireshark 和 Winpcap 都可从网上下载,通过 Wireshark 我们可以从网上拦截数据包并对

数据包进行网络协议分析,下面介绍一个分析实例。

网络协议实验三wireshark分析http

1.你的浏览器运行的是,还是?你所访问的服务器所运行的HTTP版本号是多少? 答:HTTP version 4 2. 你的浏览器向服务器指出它能接收何种语言版本的对象? 答:Accept language: zh-CN\r\n 3. 你的计算机的IP地址是多少?服务器的IP地址是多少? 答:我的IP是:服务器: 从服务器向你的浏览器返回的状态代码是多少? 答:200 OK 5. 你从服务器上所获取的HTML文件的最后修改时间是多少?

答:如图 6.返回到你的浏览器的内容以供多少字节? 答:24370 在浏览器地址栏中如下网址: 分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE? 答:没有 9.分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知? 答:有 HTTP/ 200 OK(text/html)

10.分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么? 答:仍然没有。如图。 11.服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。 答:状态码和相应状态信息的值为304 NOT Modified,他表示缓存器可以使用该对象。第二次没有返回文件的内容,因为他只是作为对该条件GET的响应,WEB服务器只发送一个响应报文,不包含请求的对象。 12. 你的浏览器一共发出了多少个HTTP GET请求? 答:1个 13. 传输这一个HTTP响应需要多少个TCP报文段? 答:4个。

网络协议报文格式大集合

目录 1序、 (2) 1.1 协议的概念 (2) 1.2 TCP/IP体系结构 (2) 2链路层协议报文格式 (2) 2.1 Ethernet报文格式 (2) 2.2 802.1q VLAN数据帧(4字节) (3) 2.3 QinQ帧格式 (4) 2.4 PPP帧格式 (4) 2.5 STP协议格式 (5) 2.5.1 语法 (5) 2.5.2 语义 (6) 2.5.3 时序 (8) 2.6 RSTP消息格式 (9) 2.6.1 语法 (9) 2.6.2 语义 (11) 2.6.3 时序 (13) 3网络层协议报文 (14) 3.1 IP报文头 (14) 3.2 ARP协议报文 (16) 3.2.1 语法 (16) 3.2.2 语义 (17) 3.2.3 时序 (17) 3.3 VRRP协议报文 (18) 3.3.1 语法 (18) 3.4 BGP协议报文 (19) 3.4.1 语法 (19) 3.4.2 语义 (25)

1 序、 1.1 协议的概念 协议由语法、语义和时序三部分组成: 语法:规定传输数据的格式; 语义:规定所要完成的功能; 时序:规定执行各种操作的条件、顺序关系; 1.2 TCP/IP体系结构 TCP/IP协议分为四层结构,每一层完成特定的功能,包括多个协议。本课程实验中相关协议的层次分布如附图3-1所示。 图1-1TCP/IP协议层次 这些协议之间的PDU封装并不是严格按照低层PDU封装高层PDU的方式进行的,附图3-2显示了Ethernet帧、ARP分组、IP分组、ICMP报文、TCP报文段、UDP数据报、RIP报文、OSPF报文和FTP报文之间的封装关系。 图1-2各协议PDU间的封装关系 2 链路层协议报文格式 2.1 Ethernet报文格式 最新的IEEE 802.3标准(2002年)中定义Ethernet帧格式如下:

HTTP协议报头信息详解

对HTTP协议的头信息详解 HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW 方式的数据,关于HTTP 协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。 通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。 通用头域 通用头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。下面简单介绍几个在UPnP消息中使用的通用头域。 Cache-Control头域 Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下: Public指示响应可被任何缓存区缓存。 Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。 no-cache指示请求或响应消息不能缓存 no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。 max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。 min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。 max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。 Date头域

HTTP响应报文与工作原理详解

超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议。HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到请求后,给予相应的响应信息。 HTTP 请求报文 HTTP 请求报文由请求行、请求头部、空行和请求包体 4 个部分组成,如下图所示: 下面对请求报文格式进行简单的分析: 请求行:请求行由方法字段、URL 字段和HTTP 协议版本字段 3 个部分组 成,他们之间使用空格隔开。常用的 HTTP 请求方法有 GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT; ● GET:当客户端要从服务器中读取某个资源时,使用GET 方法。GET 方法要求服务器将URL 定位的资源放在响应报文的数据部分,回送给客户端,即向服务器请求某个资源。使用GET 方法时,请求参数和对应的值附加在 URL 后 面,利用一个问号(“?”)代表URL 的结尾与请求参数的开始,传递参数长度 受限制。例如,/index.jsp?id=100&op=bind。 ● POST:当客户端给服务器提供信息较多时可以使用POST 方法,POST 方法 向服务器提交数据,比如完成表单数据的提交,将数据提交给服务器处理。GET 一般用于获取/查询资源信息,POST 会附带用户数据,一般用于更新资源信息。POST 方法将请求参数封装在HTTP 请求数据中,以名称/值的形式出现, 可以传输大量数据; 请求头部:请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有: ● User-Agent:产生请求的浏览器类型;

(完整版)协议分析--数据报格式

两种不同的MAC帧格式 常用的以太网MAC帧格式有两种标准,一种是DIX Ethernet V2标准,另一种是IEEE的802.3标准。如下图所示,为便于理解,图中假定网络层使用的是IP协议。实际上使用其他的协议也是可以的。 现在MAC帧最常用的是以太网V2的格式,它较为简单,由5个字段组成。前两个字段分别为6字节长的目的地址和源地址字段。第三个字段是2字节的类型宇段,用来标志上一层使用的是什么协议,以便把收到的MAC 帧的数据上交给上一层的这个协议。施乐公司负责管理这个类型字段的代码分配。例如,当类型字段的值是0x0800时,就表示上层使用的是IP数据报。 若类型字段的值为0x8137,则表示该帧是由Novell IPX发过来的。第四个字段是数据字段,但它的正式名称是MAC客户数据宇段,其长度在46到1500字节之间。最后一个字段是4字节的帧检验序列FCS。 当数据字段的长度小于46字节时,MAC子层就会在数据字段的后面加入一个整数字节的填充字段,以保证以太网的MAC帧长不小于64字节。我们应当注意到,MAC帧的首部并没有指出数据字段的长度是多少。在有填充字段的情况下,接收端的MAC子层在剥去首部和尾部后就将数据字段和填充字段一起交给上层协议。 然而IEEE 802.3标准规定的MAC帧则较为复杂。它和以太网V2的MAC

帧的区别是: (1)第三个字段是长度/类型字段。根据长度/类型字段的数值大小,这个字段可以表示MAC帧的数据字段长度(请注意:不是整个MAC帧的长度),也可以等同于以太网V2的类型字段。具体地讲: 若长度/类型字段的数值小于MAC帧的数据字段的最大值1500(字节),这个字段就表示MAC帧的数据字段长度。 若长度/类型字段的数值大于0x0600(相当于十进制的1536),那么这个数值就不可能表示以太网有效的数据字段长度,因而这个字段就表示类型。 当长度/类型字段表示类型时,802.3的MAC帧和以太网V2的MAC帧一样。当长度/类型字段表示长度时,MAC帧就必须装入802.2标准定义的LLC子层的LLC帧。 从图中可看出,在传输媒体上实际传送的要比MAC帧还多8个字节。这是因为当一个站在刚开始接收MAC帧时,由于尚未与到达的比特流达成同步,因此MAC帧的最前面的若干个比特就无法接收,结果使整个的MAC 成为无用的帧。为了达到比特同步,从MAC子层向下传到物理层时还要在帧的前面插入8字节(由硬件生成),它由两个字段构成。第一个字段共7个字节,称为前同步码(1和0交替的码)。前同步码的作用是使接收端在接收MAC帧时能够迅速实现比特同步。第二个字段是帧开始定界符,定义为10101011,表示在这后面的信息就是MAC帧了。在MAC子层的FCS的检验范围不包括前同步码和帧开始定界符。顺便指出,在广域网点对点通讯中使用同步传输的HDLC规程时则不需要用前同步码,因为在同步传输时收发双方的比特同步总是一直保持着的。 802.3标准规定凡出现下列情况之一的即为无效的MAC帧: (1)MAC客户数据字段的长度与长度字段的值不一致; (2)帧的长度不是整数个字节; (3)用收到的帧检验序列FCS查出有差错; (4)收到的帧的MAC客户数据字段的长度不在46—1500字节之间。考虑到MAC帧首部的长度是18字节,可以得出有效的MAC帧长度为64~1518字节之间。 对于检查出的无效MAC帧就简单地丢弃。以太网不负责重传丢弃的帧。 当MAC客户数据字段的长度小于46字节时,则应加以填充(内容不限)。这样,整个MAC帧(包含14字节首部和4字节尾部)的最小长度是64字节,或512bit。 MAC子层的标准还规定了帧间最小间隔为9.6us,相当于96bit的发送时间。这就是说,一个站在检测到总线开始空闲后,还要等待9.6us才能发送

HTTP请求报文格式

HTTP请求报文格式 HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。 请求报文 一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。 (1)请求行 请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。 HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET方法和POST方法。 GET:当客户端要从服务器中读取文档时,使用GET方法。GET方法要求服务器将URL 定位的资源放在响应报文的数据部分,回送给客户端。使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。 POST:当客户端给服务器提供信息较多时可以使用POST方法。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据。 (2)请求头部 请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:

User-Agent:产生请求的浏览器类型。 Accept:客户端可识别的内容类型列表。 Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。 (3)空行 最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。 (4)请求数据 请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length。

相关文档