TCP/IP 体系常见协议图解

以前自己学习 《计算机网络》和 Socket 编程时,需要做笔记或者PPT之类,经常需要一些网络协议格式图,网上找的每个图都有自己的风格,不统一,索性自己画了一些常见的网络协议格式示意图,方面大家在做报告、PPT时引用。等有空了,会为每张图添加一些字段和相应的代码结构说明,现在先上图吧。

 TCP/IP 体系常见协议图解_第1张图片

图 0  常见的网络协议


1. 数据链路层协议


图1  Ethernet Frame(以太网帧)

下面是以太网帧中 type 为指定值时,以太网帧中所携带数据使用的上层协议:

type protocol
0x0800 IP
0x0806 ARP
0x8035 RARP


2. 网络层协议

ARP/RARP 处于数据链路层与网络层之间,没有明确划分,由于其也是使用以太网帧来封装,所以这里将其划到网络层

TCP/IP 体系常见协议图解_第2张图片

图 2  ARP/RARP 协议首部

MAC address type : 1 if ethernet
protocol address type: 0x0800 if IP

operation type meanming
1 ARP request packet
2 ARP  respond packet
3 RARP request packet
4 RARP  respoond packet
              

TCP/IP 体系常见协议图解_第3张图片

图 3  IP 协议首部

head length: 单位是4-Bytes

protocol type meanning
1 ICMP
2 IGMP
3 TCP
4 UDP           
head check sum:只检验IP数据报首部


TCP/IP 体系常见协议图解_第4张图片

图 4  ICMP 报文


TCP/IP 体系常见协议图解_第5张图片

图 5  ICMP 回显请求/回显应答 报文


TCP/IP 体系常见协议图解_第6张图片

图 6  ICMP 目标不可达/链接超时 报文

3. 传输层

TCP/IP 体系常见协议图解_第7张图片

图 7  TCP 协议首部

head len :单位是4B

check sum: TCP首部+TCP数据负载+TCP伪首部

6-bit的flag:{URG, ACK, PSH, RST, SYN, FIN} 通过位运算组合


TCP/IP 体系常见协议图解_第8张图片

图 8  UDP 协议首部

total length: UDP首部和UDP数据负载的长度之和

check sum: UDP首部+UDP数据负载+UDP伪首部


TCP/IP 体系常见协议图解_第9张图片

图 9  TCP/UDP 伪首部

protocol : 如果是 TCP 字段值为 6, 如果是 UDP 该字段值为 17

length: TCP/UDP 的首部和数据部分长度之和


图 10  常用熟知端口号

4. 应用层

HTTP 消息每行都以 “回车换行” 结束

TCP/IP 体系常见协议图解_第10张图片

图 11  HTTP 请求消息


TCP/IP 体系常见协议图解_第11张图片

图 12  HTTP 相应消息

5. 其他


TCP/IP 体系常见协议图解_第12张图片

图 13 TCP/IP 协议体系中的数据封装过程


TCP/IP 体系常见协议图解_第13张图片

图 14  WinPcap 捕获数据包的一般流程


转载请注明出处:http://blog.csdn.net/xiaohui_hubei/article/details/23772975


你可能感兴趣的:(Network)