LwIP 是TCP/IP协议的一种实现,其包含了众多的协议,包含网络层的ARP协议、IP协议、ICMP协议、传输层的TCP协议、UDP协议等等。
TCP/IP的分层结构
TCP/IP各协议的报文格式
链路层
- 链路层的以太网数据帧报文格式
网络层
- 网络层的ARP协议报文格式
2.网络层的IP协议报文格式
- 网络层的ICMP协议
传输层
- 传输层的UDP协议报文格式
- 传输层的TCP协议报文格式
TCP/IP各报文之间封装承载关系
TCP/IP协议是严格分层的,每一层都为上一层提供服务。而各层的报文是通过层层封装的形式发送出去的。 物理层就是具体的物理信号了,这里不讨论。
物理层之上就是链路层,链路层中的数据格式是以太网数据帧报文格式,它封装上一层(网络层)的IP报文和和ARP报文。也就是说,整各IP报文会被封装到以太网数据帧中的数据段,整各ARP报文会被封装到以太网数据帧中的数据段。
链路层之上就是网络层,网络层主要有3种协议,分别是ARP协议、IP协议、ICMP协议。从数据封装角度来看,ARP报文和IP报文是平行的关系,两者都是直接封装在链路层的以太网数据帧中。而ICMP报文是封装在IP报文的数据段,注意它们是在同一层,这里只是从数据封装的角度来说的。
网络层之上就是传输层,传输层主要有两种协议,UDP协议和TCP协议。这两种协议是平行的关系,都是直接封装在网络层的IP报文数据段。
传输层之上就是应用层,应用层的数据被分装在UDP报文的数据段或TCP报文的数据段。
也就是说发送报文的时候通过层层封装,层层递交,最后发送出去;接收数据的时候通过层层递交,层层拆解,解析出用户数据。
TCP/IP协议中主要的协议封装承载关系如上所属,学习TCP/IP协议必须理清这些报文是如何层层封装递交的。
|