1、IP网络层的功能
我们来回顾网络层的功能有哪些:
① 分组与分组交换:把从传输层接收到的数据报文封装成分组(Packet,也称为“包”)再向下传送到数据链路层。
② 流量控制:通过流量整形技术来实现流量控制,以防止通信量过大造成通信子网的性能下降,MTU(最大传输单元)。
③ 分片与重组:如果要发送的分组超过了协议数据单元允许的长度,则源节点的网络层就要对该分组进行分片,分片到达目的主机之后,有目的节点的网络层再重新组装成原分组。
④ 差错检测与恢复:一般用分组中的头部校验和进行差错校验,使用确认和重传机制来进行差错恢复,IP报里面有个FCS(校验和)进行差错检测。
⑤ 服务选择:网络层可为传输层提供数据报和虚电路两种服务,但 Internet的网络层仅为传输层提供数据报一种服务。
⑥ 网络管理:管理网络中的数据通信过程,将数据设法从源端经过若干个中间节点传送到目的端,为传输层提供最基本的端到端的数据传送服务,让我们的数据包能正确最近的从发送端到达接收端。
⑦ 路由:通过路由选择算法为分组通过通信子网选择最适当的路径,与网络管理配合。
⑧ 拥塞控制:当网络的数据流量超过额定容量时,将会引发网络拥塞,致使网络的吞吐能力急剧下降。因此需要采用适当的控制措施来进行疏导,所以网络层可以通过控制吞吐速率来进行控制。
⑨ 网络互连:把一个网络与另一个网络互相连接起来,在用户之间实现跨网络的通信。
⑩ 网络连接复用:为分组在通信子网中节点之间的传输创建逻辑链路,在一条数据链路上复用多条网络连接(多采取时分复用技术)。
2、数据链路层的功能
① 链路管理
链路管理功能主要用于面向连接的服务。当链路两端的节点要进行通信前,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接,在传输过程中则要能维持该连接。
② 帧定界
帧定界就是标识帧的开始与结束,目的是让接收方能从接收到的二进制比特流中区分出帧的起始与终止。
③ 流量控制
流量控制并不是数据链路层所特有的功能,许多高层协议中也提供流时控功能,只不过流量控制的对象不同而已。比如,对于数据链路层来说,控制的是相邻两节点之间数据链路上的流量,而对于传输层来说,控制的则是从源到最终目的之间端的流量。由于收发双方各自使用的设备工作速率和缓冲存储的空间的差异,可能出现发送方发送能力大于接收方接收能力的现象,如若此时不对发送方的发送速率(也即链路上的信息流量)作适当的限制,前面来不及接收的帧将被后面不断发送来的帧“淹没”,从而造成帧的丢失而出错。
④ 差错控制
一个实用的通信系统必须具备发现(即检测)这种差错的能力,并采取某种措施纠正之,使差错被控制在所能允许的尽可能小的范围内,这就是差错控制过程,也是数据链路层的主要功能之一。对差错编码(如奇偶校验码,检查和或CRC)的检查,可以判定一帧在传输过程中是否发生了错误。一旦发现错误,一般可以采用反馈重发的方法来纠正。
⑥ 透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使接收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。有兴趣的可以自己进行学习。
3、物理层的功能
① 为数据端设备提供传送数据通路
只有有了基础物理设施才能进行通信。
② 传输数据
将数据通过基础设施从发送端传输到接收端。