TCP/IP将网络划分为4层,当然标准的因特网协议栈有5层,OSI模型有七层。TCP/IP的4层结构如下:
将TCP/IP协议族的网络分层描述的详细些的话,如图:
每一层都有自己的首部及封装格式:
一、 TCP报文格式
其中:
二、 UDP报文格式
其中:
- 源端口号:源端口号
- 目的端口号:目的端口号
- UDP长度字段指UDP首部和UDP数据的字节长度,该字段最小值为8字节
- UDP校验和覆盖UDP首部和UDP数据部分
三、 IP报文格式
其中:
四、 以太网报文格式
当数据包的类型为:
0800:表示IP数据包
0806:表示ARP请求或应答
五、 ARP报文格式
ARP作用:
ARP:IP地址到对应的硬件地址之间提供动态映射
(IP地址(逻辑地址) ——> MAC地址(硬件地址/以太网地址) )
首部格式如下:
其中:
六、 ICMP报文格式
ICMP数据包首部:
字段说明:
- 类型:占1字节,用于标识ICMP报文的类型
- 代码:占1字节,用于标识对应ICMP报文的代码
- 校验和:对ICMP报文数据部分在内的整个ICMP数据包的校验和
- 标识:占两字节,用于标识ICMP进程,仅适用于回显请求和应答的ICMP报文
对于类型和代码,几个比较重要的类型: