现在因特网使用的主流协议族是TCP/IP协议族,它是一种分层、多协议的通信体系。
TCP/IP是一个四层协议系统,自底向上分别是数据链路层、网络层、传输层和应用层。每一层完成不同的功能,且通过很多协议来实现,下层协议为上层协议提供服务。如下图所示:
在上图中,发送端发送一个“hello”,要依次经过应用层、传输层、网络层、数据链路层,每经过一层都会加一个头部(数据链路层不仅会加头部,也会加一个尾部)。数据通过物理媒介传输的过程中会经过一个又一个的路由器,每经过一个路由器都从数据链路层去掉头和尾到达网络层取出网段,这样路由器才知道数据是发往哪里的,然后再加上头部和尾部发往下一个路由器,直至到达接收端。数据到达接收端后又依次经过数据链路层、网络层、传输层、应用层,每经过一层都去掉相应的头部(数据链路层不仅会去掉相应的头部,也会去掉相应的尾部)。
数据链路层
数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输。不同的物理媒介有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供一个统一的接口。