网络协议栈基本知识
【注】:文章中的内容主要收集来自网上或者书籍中。 1、网络协议分层 按照分层的思想把网络协议栈进行分层主要有以下好处: 1.促进标准化工作,允许各个供应商进行开发 2.各层间相互独立,把网络操作分成低复杂单元 3.灵活性好,某一层变化不会影响到其它层 4.各层间通过一个接口在相邻层上下通信 OSI七层模型和TCP/IP五层模型的对比如下,我们现在用的是五层协议模型: 2、PDU、封装和解封装 PDU(protocol data unit):每一层使用自己层的协议和别的系统的对应层相互通信,协议层的协议在对等层之间交换的信息叫协议数据单元 上层:message 传输层:segment 网络层:packet 数据链路层:frame 物理层:bit 封装:数据要通过网络进行传输,要从高层一层一层的向下传送,如果一个主机要传送数据到别的主机,先把数据装到一个特殊协议报头中,这个过程叫封装 封装分为:切片和加控制信息 解封装:上述的逆向过程 数据进入TCP/IP协议栈时的封装过程如下: 数据进入TCP/IP协议栈时的解封装过程如下: 3、以太帧和常见的报文格式 (1)以太网帧(Ethernet II Frame) D-MAC:目的MAC地址 S-MAC:源MAC地址 类型域:表示帧里面上层协议数据的类型,0x0800代表IP协议帧,0x0806代表ARP协议帧 CRC:帧校验 (2