Socket详解(三)

2019-04-18  本文已影响0人  羞涩的老湿鸡

Socket详解(一)

Socket详解(二)

前两篇文章已经分明介绍传输层与网络层;本篇文章介绍链路层。

介绍链路层前先简单回顾一下:

传输层:主要为两个主机上的应用提供端对端的通信,端对端的通信不需要关心底层是如何进行传输,是一条逻辑链路。

其功能主要包括格式化信息流与数据可靠传输;传输层主要有两大协议TCP与UDP。TCP包信息主要包含源端口号、目标端口号、TCP长度、报文信息;传输层可以同时支持多个应用程序的数据传输,通过端口号进行区分。

网络层:网络层是点对点的通信。点对点是基于MAC地址或者IP地址,指的是发送端把数据传给与它直接相连的设备,这台设备在合适的时候又把数据传给与之直接相连的下一台设备,通过一台一台直接相连的设备,把数据传到接收端。

网络层位于传输层的下一层,主要协议有IP、ICMP、IGMP等协议;网络层会将传输层的数据再次进行打包。加入源IP地址、目标IP地址、IP包长度等信息;网络层主要负责将打包好的数据传输给目标IP主机,一个包的最大为65535b,如果超过最大包长,网络层会主动为我们进行分包与重组。多个分包由分包标识符来进行顺序区分。

何为网络接口层?


网络接口层实际上并不是因特网协议组中的一部分,但是它是数据包从一个设备的网络层传输到另外一个设备的网络层的方法。这个过程能够在网卡的软件驱动程序中控制,也可以在韧体或者专用芯片中控制。这将完成如添加报头准备发送、通过物理媒介实际发送这样一些数据链路功能。另一端,链路层将完成数据帧接收、去除报头并且将接收到的包传到网络层。

在TCP/IP协议中,网络接口层所对应的是OSI参考模型的物理层与数据链路层;网络接口层层的协议数据单元为帧,网络接口层会将IP层(网络层)的数据报添加首部(帧头)和尾部(帧尾)封装成帧。帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;

网络接口层的作用就是负责将数据转换为数字信号在物理设备之间传输。

网络接口层是为网络层提供数据传输服务的,与传输层一样, TCP/IP同样也支持多种不同的链路层协议,如:SLIP,CSLIP,PPP,ARP,RARP,MTU。网络接口层位于网络层的下一层。主要有以下三个目的:

1、为网络层IP模块发送和接收数据报

2、为ARP模块发送ARP请求和接收ARP应答。

3、为RARP发送RARP请求和接收RARP应答。

上一篇 下一篇

猜你喜欢

热点阅读