计算机协议报文

计算机网络协议报文

数据链路层协议报文

1. 以太网帧 --- IEEE802.3 和 Ethernet Ⅱ

  • IEEE802.3
    [图片上传失败...(image-205cf8-1607908402059)]

  • EthernetⅡ
    [图片上传失败...(image-46b2b8-1607908402060)]

字段说明

字段 字节数 描述
DMAC 6 字节 目的 MAC 地址,接收者
SMAC 6 字节 源 MAC 地址,标识发送帧的工作站
Type 2 字节 荷载数据的类型,表示上层 IP 层协议类型
Data 变长 最少 46 字节,最大 1500 字节
CRC 4 字节 用于冗余检验

根据目的 MAC 的种类,可以将以太网分成三种类型

  • 单播以太网:单播 MAC 地址
  • 组播以太网:组播 MAC 地址
  • 广播以太网:广播 MAC 地址


检验和被网卡查看帧检验无误后在交给驱动程序之前删去了

VLAN 虚拟局域网

[图片上传失败...(image-d55825-1607908402060)]

IEEE802.1Q 对 Ethernet 帧修改而成,加入了 4 字节的 tag

字段说明

字段 字节数 描述
新增 Type 2 字节 表示帧类型,新增 0x8100 表示 tag
新增 PRI 3 比特 帧优先级
新增 CFI 1 比特 表示是否为经典格式,以太网帧中 CFI 为 0
新增 VID 12 比特 表示该帧所属的 VLAN
Length/Type 2 字节 指定后序字节长度

PPP

局域网中一般以以太网口进行互联,广域网中经常会使用串行链路来提供远距离的数据传输,PPP 是串口封装协议,主要用于全双工的同异步链路上进行的点到点数据传
串口和以太网口

  • 串口(serial):常用于远距离数据传输
  • 以太网口(Ethernet):一般用于局域网,用于短距离传输

串行链路中定义的两种数据传输方式

  • 异步传输:以字节为单位传输数据,两边添加起始位和停止位,开始位和停止位所占数据相当大比例
  • 同步传输:以帧为单位,需要额外使用一个 DCE 数据通信设备来维护时钟同步
PPP

字段说明

字段 字节数 描述
Flag 1 字节 标识起始和结束
Address 1 字节 固定 0XFF,广播地址
Control 1 字节 表示无序号帧
Protocol 2 字节 说明 PPP 封装的协议报文类型
information 变长 数据包
FCS 2 字节 校验和

PPP 协议的包捉不到,直接贴别人的了
[图片上传失败...(image-306052-1607908402060)]

IP 层协议报文

IP 协议

IP

字段说明

字段 字节数 描述
版本 4 比特 协议版本,通信双方协议版本必须一样
首部长度 4 比特 结果*4 个节字为首部长度
区分服务 1 字节 只有在使用区分服务是才会用到
总长度 2 字节 首部和数据之和,最大为 2 的 16 次方 65535 字节
标识 2 字节 标识数据报,用于分片重组
标志 3 比特 表示是否允许分片
片偏移 13 比特 用于片的合成
生存时间 1 字节 表示最大经过路由器数量
协议 1 字节 表示上层协议类型
首部校验和 2 字节 用于校验数据首部
源地址 4 字节 源 IP
目的地址 4 字节 目的 IP
可选字段 不定 可选包头的设置
填充 不定 使用若干个 0 填充,保证整个报头长度为 32 位整数倍
数据部分 变长 表示传输层数据

ARP/RARP 协议(包含请求响应)

ARP协议

ARP 报文总长 28 字节

字段说明

字段 字节数 描述
硬件类型 2 字节 指明发送方想知道的硬件接口类型,以太网为 1
协议类型 2 字节 表示要映射的协议地址类型,值为 0x0800 表示 IP 地址
硬件长度 1 字节 结果*字节表示硬件地址长度
协议长度 1 字节 结果*字节表示协议长度
操作类型 2 字节 表示报文类型,ARP1,ARP 响应 2,RARP 请求 3,RARP 响应 4
发送方 MAC 地址 6 字节 发送方物理地址
发送方 IP 地址 2 字节 发送方设备 IP 地址
接收方 MAC 地址 6 字节 接收方物理地址
接收方 IP 地址 2 字节 接收方设备 IP 地址

ICMP(INTERNET CONTROL MESSAGE PROTOCOL)网络控制消息协议

故名思义,ICMP数据报的作用就是传递控制信息,比如说超时,源抑制,重定向等控制信息,主要在路由器与主机之间进行传输,报告真正数据报的状态及传输情况,分为查询报文和差错报文,不同的数据包格式大致相同,内容不同

ICMP
请求回显/回显应答(ping)

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type | Code | Checksum |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Identifier | Sequence Number |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Data ...

+-+-+-+-+-

Type(8)是请求回显报文(Echo);Type(0)是回显应答报文(Echo Reply)


传输层协议

TCP协议

[图片上传失败...(image-de3a62-1607908402060)]

字段说明

字段 字节数 描述
源端口 2字节 发送方端口号,最大值65535
目的端口 2字节 接收端口号,最大值65535
序号SN 4字节 标识了该TCP报文中第一个byte在对应方向传输中对应的字节序号,当SYN出现时,该序号表示初始序号
确认号ACK 4字节 表示接受方期望下次接收数据的序列号
数据偏移 4比特 指示数据段从哪个字节开始,单位为4字节
保留 4比特 默认为0
标志 1字节 URG:拥塞控制;ACK:是否为确认报文;PSH:表示发送方数据发送完成;RST:复位TCP连接;SYN:同步序列编号;FIN:结束会话
窗口 2字节 用于流量控制
校验和 2字节 校验数据有没有被修改
紧急指针 2字节 指示紧急数据的偏移

UDP协议--IP傀儡

UDP

字段说明

字段 字节数 描述
源端口 2字节 发送方端口号,最大值65535
目的端口 2字节 接收端口号,最大值65535
头部长度 2字节 数据报头+数据,单位字节
校验值 2字节 校验数据是否被修改

啥也没有,交到端口就完事了

应用层协议

http协议

好家伙终于来到应用层了,这个就是之前各层报文中所谓的data数据,不过在http1.*中报文不再是之前各层的二进制数据了,而是使用ASCII编码,每个字段长度都不能确定,而且因为长度不确定就要用指定的分隔符分隔字段

请求/响应报文
http请求报文

幂等性:表示操作至多会被处理一次

字段说明
请求行+请求头+空行+请求体(post才有请求体)

字段 说明
请求方法 GET,POST,PUT,OPTIONS...
URI 统一资源标识符
http响应报文

响应报文只是在原请求行上把URI换成了状态码

DNS协议

[图片上传失败...(image-d86ef6-1607908402060)]

字段说明

字段 字节数 说明
会话标识 2字节 因为请求报文和响应是相同的,要依靠这个字段表明是哪种报文
标志 2字节 每一位具有不同意义
问题数 2字节 表示查询问题区域字节的数目
回答数 2字节 表示回答区域字节数目
授权资源记录数 2字节 表示授权区域字节数目
附加资源记录数 2字节 表示附加区域数量
  • 查询问题(查询名+查询类型+查询类):显示DNS询问的问题
  • 资源记录部分格式统一如下
资源记录
  • 域名:DNS 请求的域名.
  • 类型:资源记录的类型,与问题部分中的查询类型值是一样的.
  • 类:地址类型,与问题部分中的查询类值是一样的.
  • 生存时间:以秒为单位,表示资源记录的生命周期,一般用于当地址解析程序取出资源记录后决定保存及使用缓存数据的时间.它同时也可以表明该资源记录的稳定程度,稳定的信息会被分配一个很大的值.
  • 资源数据长度:资源数据的长度.
  • 资源数据:表示按查询段要求返回的相关资源记录的数据

FTP协议

[图片上传失败...(image-75807f-1607908402060)]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [toc] 0. 概述与模型对比 参考地址1 参考地址2 TCP 可靠性传输 模型对比图如下:对比图 OSI 参考...
    h428阅读 4,440评论 0 0
  • 1、TCP为什么需要3次握手,4次断开? “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端...
    杰伦哎呦哎呦阅读 8,845评论 0 6
  • 2018.11.06 计算机网络(TCP/IP) (1) 建立TCP服务器的各个系统调用 建立一个TCP服务器需要...
    zuoerfeng阅读 13,533评论 0 3
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 12,192评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    余生动听阅读 13,586评论 0 11