TCP/IP各层讲解 - 数据链路层(上)

2,300 阅读4分钟

数据链路层简介

数据链路层是处于物理层和网络层之间,依靠着物理层给网络层提供服务。

总所周知,物理层中是把电压的高低或者光的闪灭转换成计算机识别的二进制流,而数据链路层则是把这些二进制流转换为帧,然后再进行传输。

除了传输帧以外,他还控制帧在物理信道上的传输,包括纠错,调节发送速率等等,另外还会提供两个节点之间数据链路的创建、维护和释放。

说到构建链路,肯定会涉及到网络拓扑(Topology),可以分为以下几种拓扑结构:

  • 总线型
  • 环型
  • 星型
  • 混合型

而目前实际的网络基本都是由这几种组合所组成。

MAC地址

MAC地址主要用于识别数据链路中互连的节点。MAC地址长度为48个字节,被写入在网卡的ROM中,而每一个网卡的MAC地址都是独一无二的。

MAC地址中的3-24位为厂家识别码,25-48是厂家内部识别网卡而用的。

共享介质型网络

共享介质型网络是指使用同一个传输介质的一种网络。使用集线器进行各个主机的连接,每一个主机都处于冲突域内,即一台主机发送信息,所有主机能都能收到。在这种方式下,设备之间使用同一个载波信道进行数据的接收和发送,为此,基本上都采用半双工通信模式。

下面先讲述一下三种通信方式:

  • 单工通信:单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向。
  • 半双工通信:半双工通信允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输。
  • 全双工通信:全双工通信允许数据同时在两个方向上传输,即有两个信道,因此允许同时进行双向传输。

共享介质型网络中有两种介质控制访问方式,一种是争用方式,另外一种是令牌传递方式。

争用方式

争用方式(Contention)是一种先到先得的方式占用信道发送数据,也有可能出现同时的现象,如果同时发送数据,则会产生冲突现象,导致网络堵塞。

令牌传递方式

令牌传递方式是指在沿着令牌环发送令牌报文,只有接收到报文的站才可以占用信道。这种方式解决了网络冲突,而且每个站都拥有着公平的发送机会,但网络的利用率就大大降低。

非共享介质型网络

非共享介质型网络是指接收站和发送站都直连交换机,并不公用一个传输介质,因为很多情况下都可以使用全双工的通信方式。

现在大多数的网络都使用这种方式构建网络,因为计算机和交换机之间有着一对一的连接,所以并不会发生冲突,并且网络的利用率最大化。

但这种方式有着一个致命的弱点,一旦交换机出现问题,与之相连的所有站都无法通信。

以太网交换机

把非共享介质中的交换机用在介质共享的网络中,这种交换集线器叫做以太网交换机。

交换集线器其实就是把集线器或者集中器以星型连接,根据数据链路中的MAC地址决定从哪个网络接口发送数据,在每个通过点接收包时都会把源MAC地址和目标地址的接口记录在转发表中,这样的话下一次发送数据时就可以参考转发表就行发送。而这一记录过程也叫自学过程。

VLAN

虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。

在分散网络负载,变换部署网络设备的时候就可以使用VLAN技术的网桥修改网络结构。VLAN网桥可以接管VLAN之间所有的通信,相比一般的网桥,可以过滤多余的包,提高网络承载效率。

VLAN网桥按照端口区分了多个网段,从而限制了广播数据的范围,在交换机传输帧的时候,会在首部添加一个VID标签,然后根据这个值判断发给哪个网段。