系列文章目录
什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
- 系列文章目录
- 物理层功能
- 数据链路层功能
- 网络层功能
物理层功能
简单地说就是解决每一个比特的传输问题。
具体的来说,具有这样一些功能:
-
定义了接口特性。
主要包括这四个方面:机械特性(接口的形状等等)、电气特性(使用多大的电平、多高的电压等等)、功能特性(接口有多少引脚,每个引脚是什么功能)、规程特性(接口在工作中遵循什么样的过程)。
-
解决比特编码问题。用什么表示0,用什么表示1,怎么样表示。这个就和通信技术相关
-
定义数据率。以多快的速度发送。比如我们所说的百兆网络、千兆网络。
-
解决比特同步。实际上是解决时钟同步问题
-
定义传输模式。
主要有三种模式:
- 单工(Simplex):传输方向是单向的。比如A给B发送数据,但B不能给A发送数据。
- 半双工(half-duplex):可以双向传输,但必须是交替的。比如A给B发送数据,在这个时间段B是不能给A发送数据的,但换一个时间B就可以发送了。比如使用的对讲机,说话的时候就不能听,听的时候就不能说。
- 全双工(full-duplex):发数据的同时可以接收数据。
数据链路层功能
物理层虽然解决了单一比特的传输问题,但这个比特由谁来接收,如果比特出现了错误,谁来纠正这个问题,这些问题在物理层很难解决,这时就需要在物理层之上构建数据链路层。
简单来说,数据链路层解决了物理链路两端相邻结点之间的数据传输问题。
具体来说:
-
数据链路层负责结点-结点(node-to-node)数据传输。这里的结点可以是主机也可以是其他网络设备。是以帧作为数据单位进行传输的。
-
那就涉及到组帧(Framing),就是组成帧。
-
物理寻址(Physical addressing)。
在帧头中增加发送端和/或接收端的物理地址标识数据 帧的发送端和/或接收端。
注意物理地址、物理寻址都是在数据链路层而非物理层。物理层都是1010,这当然没法寻址。
-
流量控制(Flow control):匹配发送端和接收端的发送速度和接收速度。发送端发送数据过快而接收端接收数据过慢时,同时数据把接收端的缓存也占满了,那再过来的数据就被丢掉了。这就会导致接收端被淹没。
-
差错控制(Error control)。检测并重传损坏或丢失帧,并避免重复帧
-
访问(接入)控制(Access control)。在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权。
为什么要给数据加上地址信息?不是直接就通过物理链路发送过去了吗?
实际上数据链路中往往存在这样一个结构:一条链路上连接了多个主机。这种通信方式称为广播通信,也就是说任何一方发出的数据,其他所有主机都能收到。
那在这种情况下,如果没有地址信息,你没法保证数据被正确的接收方接收。显然在这样的网络中,地址是非常必要的。所以就要在帧的头部和尾部添加物理地址信息。所有主机都可以收到这个数据,但当它们发现这个地址不是自己,就不接收。
网络层功能
-
负责源主机到目的主机**数据分组(packet)**的交付。
-
逻辑寻址(Logical addressing)。
因为在网路层中,数据分组从源主机到目的主机可能会跨越多个网络。这时链路层里面使用的物理寻址可能就无法使用了。比如你在班级里有个学号,那发送信件时肯定不是靠学号发送的,而是靠邮政地址。这个邮政地址的特点技术全国唯一。所以需要网络层的逻辑寻址。
使用全局唯一逻辑地址标识网络中的分组从哪来到哪去,能够确保数据分组被送达目的主机,比如Internet 网络中的IP地址。
-
路由(Routing)。帮助数据分组选择路径。
-
分组转发。按照前面介绍的分组交换的存储-转发方式进行工作。
比如下面这张图。红颜色的字母代表逻辑地址,绿颜色的数字代表物理地址
在整个过程中,源和目的的网络层地址也就是逻辑地址是不变的。这样保证了数据不管跨越多少网络,最终能够送到目的地。