TCP/IP之数据链路
如果没有数据链路层,基于TCP/IP的通信无从谈起。
数据链路层的协议定义了通过通信媒介互联的设备之间传输的规范。其中,通信媒介包括双绞线电缆、同轴电缆、光纤、电波以及红外线等介质。数据链路层处理的数据不是单纯的二进制序列,而是它们的集合称为“帧”的块进行传输。
数据链路层的相关技术:MAC寻址、介质共享、非公有网络、分组交换、环路检测、VLAN等。
传输方式的数据链路:以太网、WLAN、PPP等
数据链路的段:是指一个被分割的网络。
网络拓扑:指网络的连接和构成的形态。拓扑类型包含了总线型、环形、星型、网状型等。拓扑一词不仅用于直观可见的配线方式上,也用于逻辑上网络的组成结构。
MAC地址
MAC地址用来识别数据链路中互连的节点。通过MAC地址判断目标地址。在总线型与环路型的网络中,先暂时获取所有目标站的帧,然后再通过MAC寻址。如果是发给自己的就接收,如果不是就丢弃(在令牌环的这种情况下,依次转发给下一个站)。
MAC 地址长48 比特,在使用网卡(NIC) 的情况下,MAC 地址一般会被烧入到ROM 中。因此,任何一个网卡的MAC 地址都是唯一,在全世界都不会有重复。
48比特即48位二进制表示的MAC地址,能表示的总量有2^48。MAC地址一般使用十六进制表示,那么表示的总量写法是16^12,也就是说十六进制变为了12位,每1位十六进制对应了4位二进制。例如:总共12位十六进制,每2位十六进制为一组,总共6组。
十六进制MAC地址实际在网络中的流动顺序:以组为顺序,靠前的一组先走,但是组内的2位换成的8位二进制需要转换前后顺序,也就是倒序流动。如下图:
MAC地址不唯一的例外情况:人们可以在微机板上自由设置自己的MAC地址;如果一台主机启动多个虚拟机,由于没有硬件的网卡只能由虚拟软件自己设定MAC 地址给多个虚拟网卡,这时就很难保证所生成的MAC 地址是独一无二的了。实际上,即使MAC 地址相同,只要不是同属一个数据链路就不会出现问题。
共享介质型网络
从通信介质的使用方法来看,网络可分为共享介质型和非共享介质型。
定义:指由多个设备共享一个通信介质的一种网络。
典型:以太网网络和FDDI网络
工作方式:设备之间使用同一个载波信道进行发送和接收。因此基本上采用半双工方式,并且要对介质进行访问控制。
介质访问控制的方式有两种:争用方式和令牌传递方式。
(1)争用方式
定义:指争夺获取数据传输的权力,也叫CSMA(载波监听多路访问)。
特点:网络中的各个站(数据链路的节点)采用先到先得的方式占用信道发送数据,如果多个站同时发送帧,则会产生冲突现象,会导致网络拥堵和性能下降。
原理:
(2)令牌传递方式
定义:沿着令牌环发送一种叫做“令牌”的特殊报文,是控制传输的一种方式。只有获得令牌的站才能发送数据。
特点:不会发生冲突,通过循环平等获得令牌的机会,网络拥堵也不会性能下降,网络宽松情况下,数据链路的利用率不能达到100%。
原理:
非共享介质网络
定义:指不共享介质,是对介质采取专用的一种传输控制方式,网络中的每个站直连交换机,由交换机负责转发数据帧。
工作方式:发送端和接收端不共享通信介质,大多数情况下采用全双工通信方式。
特点:不会发生冲突,不需要CSMA/CD机制,但是依赖交换机正常工作。
典型:ATM、以太网当前主流方式。
原理:
通信方式
半双工通信
定义:只发送或只接收的通信方式。类似于无线电收发器,若两端同时说话,是听不见对方说的话的。
举例:采用CSMA/CD 方式的以太网。首先要判断是否可以通信,如果可以就独占通信介质发送数据。因此,它像无线电收发器一样,不能同时接收和发送数据。
全双工通信
定义:允许在同一时间既可以发送数据也可以接收数据。类似于电话,接打双方可以同时说话。
举例:使用交换机与双绞线电缆(亦或光纤电缆)的以太网,既可以通过交换机的端口与计算机之间进行一对一的连接,也可以通过相连电缆内部的收发线路“分别进行接收和发送数据。因此,交换机的端口与计算机之间可以实现同时收发的全双工通信。
MAC寻址
以太网交换机:在使用同轴电缆(CSMA/CD)的共享介质型以太网网络中,同一时间只能有一台只能有一台主机发送数据。当连网的主机数量增加,通信新能明显下降。