数据链路层

本主要内容:

  • 数据链路层的点对点信道广播信道的特点,以及这两种信道所使用的协议(PPP协议以及CSMA/CD协议)的特点。
  • 数据链路层的三个基本问题:封装成帧、透明传输、和差错检测
  • 以太网MAC层的硬件地址
  • 适配器、转发器、集线器、网桥、以太网交换机的作用及使用场合。

一、使用点对点信道的数据链路层:

1、数据链路和帧

链路是一个物理链路;数据链路是一个逻辑链路,是物理链路加上必要的通信协议

帧,点对点信道的数据链路层的协议数据单元。

点对点信道的数据链路层在进行通信时的主要步骤如下

  • 结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧
  • 结点A把封装好的帧发送给结点B的数据链路层
  • 若结点B的数据链路层收到的帧无差错,则从收到的帧中取出IP数据报交给上面的网络层;否则丢弃这个数据。

数据链路层不必考虑物理层如何实现比特传输的细节(因此我们可以简单的设想为两个数据链路层之间的水平方向把帧直接发送给对方)

2、三个基本问题

1)封装成帧

封装成帧就是一段数据的前后分别添加首部和尾部,这样就构成了帧。接受端在收到物理层上交的比特流之后,就能根据首部和尾部的标记,从收到的比特流中识别识别的帧的开始和结束。首部和尾部也就是一个帧的界限。

最大传送单元MTU:数据部分长度上限

所有在互联网上传送的数据都市以分组(即IP数据报)为传送单位

2)透明传输

不会在一个数据帧的中间出现和帧结束符一样的字符,这样不管什么数据都可放在这样的帧中传输过去,不会出现数传输错误或丢失,这样的传输就是透明传输。(也就是说是错误的找到帧边界

为了解决透明传输:发送端的数据链路层在出现控制字符"SOH"或"EOT"的前面插入一个转义字符"ESC"(十六进制编码1B,二进制是00011011)。而在接受端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。(字节填充或字符填充)

3)差错检测

比特差错、误码率BER

循环冗余检验CRC(一种检错方法)、FCS是添加在数据后面的冗余码。

循环冗余检验的原理:在发送端把数据划分为组,假定每组K个比特,现加假定传输数据M=101001(k=6)。CRC运算就是在M后面添加用于检错的n为冗余码,然后构成一个帧一起发出去,一共发送k+n位。

n位冗余码的得到方法:(二进制模2运算)。事先规定n+1位的除数P,得到商Q余数R。现假定M=101001,P=1101(n=3),用M模2运算除P得到商Q=110101,余数R=001,这个余数R就作为冗余码拼接在数据M的后面发送出去。这种为了检错而进行添加的冗余码常称为帧检验序列FCS。因此加上FCS后发送的帧是101001001(共k+n位)。

在接收端把接收到的数据以帧为单位进行CRC检验:把收到的帧都除以同样的除数P(模2运算),然后检查得到的余数R。若余数R为0,则这个帧么有出错,接受;否则就有差错,丢弃。

用模2运算进行加法时不进位,例如1111+1010=0101。减法和加法一样,按加法规则计算。

 

例:循环冗余码计算过程P=11001,M=10110011,n=4,k=8。

余数0100则为R,作为FCS,发送的数据应为10110011 0100

 

二、点对点协议PPP:

1、PPP协议的特点

简单、封装成帧、透明性、多种网络层协议(同一条物理链路上同时支持多种网络层协议)、多种类型链路、差错检测、检测连接状态、最大传送单元、网络层地址协商、数据压缩协商。

PPP协议不需要进行检错,不需要设置序号、也不需要进行流量控制;PPP协议不支持多点线路,只支持点对点的链路通信。PPP协议只支持全双工链路。

PPP协议的组成:一个将IP数据封装到串行链路的方法;一个用来建立、配置和测试数据链路的链路控制协议LCP;一套网络控制协议NCP(其中每个协议支持不同分网络层协议);

2、ppp协议的帧格式

各字段意义:

PPP帧的首部和尾部分别为四个字段和两个字段。

首部:

首部中的标志字段F(Flag),规定为0x7E(符号0x表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110),标志字段表示一个帧的开始。
首部中的地址字段A规定为0xFF(即11111111)。
首部中的控制字段C规定为0x03(即00000011)。
首部中的2字节的协议字段
(1)当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。
(2)当协议字段为0xC021时,PPP帧的信息字段就是PPP链路控制协议LCP的数据。
(3)当协议字段为0x8021时,PPP帧的信息字段就是网络层的控制数据。

信息字段长度时可变的,不超过1500字节。

尾部中的第一个字段(2字节)使用来CRC的帧检验序列FCS。

尾部中的标志字段F(Flag),规定为0x7E(符号0x表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110),标志字段表示一个帧的结束。

字节填充(PPP使用异步传输时):

当信息字段出现标志字段一样的比特(0x7E)组合时。

当PPP使用异步传输时,它把转义字符定义为0x7D,并用字节填充,填充方法如下:

  • 把信息字段中的0x7E转化为2字节序列(0x7D,0x5E)
  • 把信息字段中的0x7D转化为2字节序列(0x7D,0x5D)
  • 当信息字段中出现ASCII码的控制字符(数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时把该字符编码加以改变。例如:0x03就要把它转变为2字节序列(0x7D,0x23)

零比特填充(PPP使用同步传输时):

零比特填充的具体方法:
(1)在发送端先扫描整个信息字段(通常使用硬件实现,但也可以用软件实现,但是会慢一些)。
(2)只要发现有5个连续的1,则立即填入一个0。
(3)接收端在收到一个帧时,先找到标志字段F以确定帧的边界,接着再用硬件对其中的比特流进行扫描,每当发现5个连续1时,就把5个连续1后的一个0删除,以还原成原来的信息比特流。
因此通过这种零比特填充后的数据,就可以保证在信息字段中不会出现连续6个1

3、PPP协议的工作状态:

1)、PPP协议的工作流程:

  • 当用户拨号接入ISP后,就建立了一条从用户PC机到ISP的物理连接。
  • 这时用户PC机向ISP发送一系列的LCP分组(封装成多个PPP帧),以便建立LCP连接。
  • 这些分组及其响应选择了将要使用的一些PPP参数。
  • 接着还要进行网络层配置,NCP给新接入的用户PC机分配一个临时的IP地址。
  • 这样,用户PC机就成为因特网上的一个有IP地址的主机了。
  • 当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。
  • 接着,LCP释放数据链路层连接。
  • 最后释放的是物理层的连接。

 

 

2)、 PPP协议的LCP连接

3)、 PPP协议的NCP连接

 三、使用广播信道的数据数据链路层

1、局域网的数据链路层

适配器:

计算机与外界局域网的连接是通过通信适配器进行的,适配器本来是在主机箱内插入的一块网络接口板(网络接口卡 或 网卡)。

这种通信适配器上装有处理器和存储器(包括RAM和ROM)

功能:进行数据串行传输和并行传输的转换;对数据进行缓冲;实现以太网协议。

当适配器收到有差错的帧时,就把这个帧丢弃,不必通知计算机;当适配器收到正确的帧时,就把由协议把IP数据报向下交给适配器,组装成帧后发送到局域网。

2、CSMA/CD协议

2.1总线的特点:

总线特点:当一台计算机发送数据时,总线上所有的计算机都能监测到这个数据。这种就是广播通信方式

在总线上进行一对一通信:可以使每台计算机的适配器拥有一个与其他适配器不同的地址,发送数据帧时,在帧的首部写明接受站的地址。仅当数据帧中的目的地址与适配器ROM中存放的硬件地址一致时,该适配器才能接收这个数据帧,适配器对不是发送给自己的数据帧就丢弃。

2.2以太网采取以下两种措施实现方便通信:

1)采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据

  • 适配器对发送的数据帧不进行编号,也不要求对方发回确认。这样做的理由是局域网的信道质量很好,因通信质量不好产生差错的概率很小的。
  • 因此,以太网提供的服务是不可靠的交付,即尽最大努力的交付。
  • 当目的站收到有差错的数据帧时(例如,通过CRC查出有差错),就把帧丢弃,其他什么也不做。
  • 对有差错的帧是否需要重传则由高层来决定。例如,如果高层使用TCP协议,那么TCP就会发现丢失了一些数据。于是经过一段时间后,TCP就把这些数据重新传递给以太网进行重传。但以太网并不知道这是重传帧,而是当做新的数据帧来发送。

2)以太网发送的数据都使用曼切斯特编码的信号

  • 曼切斯特编码的编码方法就是把每一个码元再分成两个相等的间隔。
  • 码元1是在前一个间隔为低电压而后一个间隔为高电压,而码元0则相反。这样就保证了每一个码元的正中间出现一次电压的转换,而接收端就利用这种电压的转换很方便地把位同步信号提取出来。
  • 曼切斯特编码的缺点,是它所占的频带宽度比原始的基带信号增加了一倍。

2.3 CSMA/CD协议,用于协调总线上各计算机的工作

注:总线上只要有一台计算机在发送数据,总线的传输资源就被占用。因此,在同一时间只能允许一台计算机发送信息,否则各计算机之间就会互相干扰,结果大家都无法正常发送数据。

以太网用于协调总线上各计算机的工作的方法,就是使用一种特殊的协议CSMA/CD,它是载波监听多点接入/碰撞检测(Carrier Sense Multiple Access with Collision Detection)的缩写。

  • 多点接入:说明这是总线型网络,许多计算机以多点接入的方式接入在一根总线上。协议的实质是“载波监听”和“碰撞检测”。
  • 载波监听:就是发送前先监听,即每一个站在发送数据之前先要检测一下总线上是否有其他站在发送数据,如果有,则暂时不要发送数据,要等到信道变为空闲时再发送。
  • 碰撞检测:就是边发送边监听,即适配器边发送数据边检测信道上的信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。当几个站同时在总线上发送数据时,总线上的信号电压变化幅度将会增大(相互叠加)。当适配器检测到的信号电压变化幅度超过一定阀值时,就认为总线上至少有两个站在同时发送数据,表明产生了碰撞。一旦发现总线上发生了碰撞,适配器就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行半双工通信。

强化碰撞:一旦发生碰撞,除了立即停止发送数据外,还要继续发送32比特或48比特的人为干扰信号,以便让所有用户都知道现在已经发生了碰撞。

 

要点归纳:

  • 准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,加入适配器的缓存。但在发送前,必须先检测信道。
  • 信道检测:若检测到信道忙,则不停的检测,一直等待信道转为空闲。若检测到信道空闲,并在96比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧。
  • 在发送过程中不断得检测信道,即网络适配器要边发送边监听,这里有两种可能:
    • 发送成功:在争用期内一直未检测到碰撞。这个帧肯定能发送成功。发送完后什么也不做。然后继续准备发送。
    • 发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并规定发送人为干扰信号。适配器接着就执行指数退避算法。等待 r 倍的512 比特时间后,返回到步骤  信道检测。若重传达16次·仍不成功,则停止重传而向上报错。

以太网每发送完以帧,一定要把已发送的帧暂时保留一下。如果在争用期内检测到发生了碰撞,那么还要在推迟一段时间后再把这个保留的帧重传一次。

 

在局域网分析中,常把总线上的单程端到端传输时延记为 t  ,因此最迟要进行 2t  才能知道自己发送的数据和其他站发送给的数据有没有发生碰撞。

把这个 2t 称为争用期,也叫碰撞窗口,若在争用期这段时间内还没有发送碰撞,才能肯定这次发送不会发生碰撞,这时,就可以把这一帧数据顺利发送完毕。

3、使用集线器的星型拓扑结构

集线器的一些特点:

  • 使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的化石CSMA/CD协议。网络中各站必须竞争对传输媒体的控制,并且在同一刻之多只允许一个站发送数据。
  • 一个集线器有许多接口,例如8至16个,用两对双绞线与一台计算机上的适配器相连。一因此,一个集线器很像一个多接口的转发器。
  • 集线器工作在物理层,它的每个接口仅仅简单的转发比特,不进行碰撞检测。
  • 集线器采用了专门的芯片,进行自适应串音回波抵消。

4、以太网的信道利用率

争用期 2t     发送帧需要的时间是   T0  ,它等于帧长除以发送速率。

应注意,成功发送一个帧需要占用信道的时间是   T0 + t   ,这个帧的发送时间要多一个端到端时延 t ,这是因为当一个站发送完最后一个比特时,这个比特还要在以太网上传播。因此必须经过  T0+t  后以太网的媒体才可以完全进入空闲状态,才能允许其他站发送数据。

以太网参数  a   是以太网单程端到端时延 t 与帧发送时间 T0 之比。

参数a越大说明争用期的比例越大,这就使每次碰撞浪费了不少的信道资源,使得信道利用率明显降低。因此 a 的值应适当小一些。

信道极限利用率 Smax = T0/(T0+t) = 1/(1+a)。  只有a 远小于1才能得到尽可能高的仅限信道利用率。

5、以太网的MAC层

MAC层的硬件地址

  • 在局域网中,硬件地址又称为物理地址或MAC地址。用于标识系统(identification system)。IEEE802标准为局域网规定了一种48位的全球地址,是指局域网上的每一台计算机中固化在适配器的ROM中的地址。
  • 生产适配器时,这种6字节(即48位)的MAC地址已被固化在适配器的ROM中。因此,MAC地址也叫作硬件地址(hardware address)或物理地址。
  • MAC地址实质是就是适配器地址或适配器标识符EUI-48。当这块适配器被插入或嵌入到一台计算机后,适配器上的标识符EUI-48就成为这台计算机的MAC地址了。
  • 当路由器通过适配器连接到局域网时,适配器上的硬件地址就用来标志路由器的某个接口。路由器如果同时连接到两个网络上,那么它就需要两个适配器和两个硬件地址。
  • 适配器有过滤功能,适配器从网络上每收到一个MAC帧就先用硬件检测MAC中的目的地址。如果是发往本站的帧就收下,然后再进行其他处理。否则就将此帧丢弃,不再进行其他处理。这里,发往本站的帧包括以下三种帧:
    • (1)单播帧(一对一):即收到的帧的MAC地址与本站的硬件地址相同。
    • (2)广播帧(一对全体):即发送给本局域网上所有站点的帧(全1地址)。
    • (3)多播帧(一对多):即发送给本局域网上一部分站点的帧。
    • 注:所有的适配器都至少应当能够识别前两种帧,即能够识别单播和广播地址。

MAC帧格式,通常有两种

DIX Ethernet V2标准(即以太网V2标准,使用得最多)

  • 假定网络层使用的是IP协议,实际上使用其他是协议也是可以的。
  • 以太网的MAC帧比较简单,由五个字段组成。
  • 前两个字段分别为6字节长的目的地址和源地址字段
  • 第三个字段为2字节长的类型字段,用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议。
    • (1)当类型字段的值为0x0800时,就表示上一层使用的是IP数据报。 
    • (2)当类型字段的值为0x8137时,就表示该帧是由Novell IPX发过来的。
  • 第四个字段是数据字段,其长度在46到1500字节之间(46字节是这样得出的,最小长度64字节减去18字节的首部和尾部就得出数据字段的最小长度)。
  • 第五个字段是4字节的帧检验序列FCS(使用CRC检验)

 IEEE802.3 标准

IEEE802.3 标准规定的MAC帧格式与V2规定的MAC帧格式的主要区别:
(1)IEEE802.3 标准规定的MAC帧的第三个字段是“长度/类型”。当这个字段值大于0x0600(相当于十进制的1536),就表示类型,这样就与以太网V2的MAC帧完全一样。当这个字段值小于0x0600(相当于十进制的1536),就表示长度,即MAC帧的数据部分长度。
(2)当“长度/类型”字段的值小于0x0600(相当于十进制的1536)时,数据字段必须装入上面的LLC子层的LLC帧。

四、拓展的以太网

1、在物理层拓展以太网

  • 以太网上的主机之间的距离不能太远(例如,10BASE-T以太网的两主机之间的距离不超过200米),否则主机发送的信号经过铜线的传输就会衰减到使CSMA/CD协议无法正常使用。
  • 过去,广泛使用粗缆或细缆以太网时,常使用工作在物理层的转发器来扩展以太网的地理覆盖范围。
  • 现在,双绞线以太网成为以太网的主流类型,扩展主机和集线器之间的距离的一种简单方法就是使用光纤(通常是一对光纤)和一对光纤调制解调器。
  • 光纤调制解调器的作用,是进行电信号和光信号的转换。

 

2、在数据链路层拓展以太网

在数据链路层拓展以太网最初使用的网桥。

网桥对收到的帧根据其MAC帧的目的地址进行转发和过渡。(当网桥收到一个帧时,并不是向所有的节后会转发此帧,而是根据此帧的目的MAC地址,查找网桥中的地址表,然后确定将该帧发送至哪个接口,或者将它丢弃(即过滤)。)

 

例:网桥的工作原理:是通过内部的接口管理软件和网桥协议实体来完成以下操作的
(1)若网桥从接口1收到A发给E的帧,则在查找转发表后,把这个帧送到接口2转发到另一个网段,使E能够收到这个帧。
(2)若网桥从接口1收到A发给B的帧,就丢弃这个帧,因为转发表指出,转发给B的帧应当从接口1中转发出去,而现在正是从接口1收到这个帧,这说明B和A处在同一个网段上,B能够直接收到这个帧而不需要借助网桥的转发

以太网交换机的特点

以太网交换机实际上就是一个多接口的网桥。每个接口都直接与一个单台主机或另一个以太网交换机相连。

一般都工作在全双工方式

具有并行性,即一个接口同时连接多对接口,使多对主机能同时通信(而网桥只能一次分析和转发一个帧)。

相互通信的主机都是独占传输媒体,无碰撞地传输数据

以太网交换机的接口还有存储器,能在传输端口繁忙时把到来的帧进行缓存。

即插即用设备,其内部的帧交换表(地址表)是通过自学习算法自动逐渐建立起来的

(性能远超普通集线器,而且价格不贵,这就使工作在物理层的集线器逐渐地退出了市场)

以太网交换机的自学习能力

就是通过自学习建立帧交换表(也就是MAC地址表)

在使用以太网交换机组网时,往往会增加一些冗余的链路,在这种情况下,自学习的过程就可能导致以太网帧在网络的某个环路中无限制的兜圈子。为了解决兜圈子问题,就出现了生成树协议STR(在不改变网络的实际拓扑结构,但在逻辑上切断某些链路,是的一台主机到所有其他主机的路径是无环路的树状结构,从而消除兜圈子现象)

3、虚拟局域网VLAN

虚拟局域网:由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识,指明发送这个帧的计算机术语哪一个VALN。(只是局域网给用户提供的一种服务,而并不是一种新型局域网。)

虚拟局域网限制了接受广播信息的计算机数。

以太网帧格式中插入一个四字节的标识符,称为VLAN标记,用来指明发送该帧的计算机属于哪一个虚拟局域网。插入VLAN标记的帧称为802.1Q帧

 

五、高速以太网

1 100BASE-T 以太网——快速以太网

  • 100BASE-T是在双绞线上传送100Mb/s基带信号的星形拓扑以太网。
  • 仍使用IEEE802.3的CSMA/CD协议。
  • 它又称为快速以太网(Fast Ethernet)。
  • 用户只需更换一张适配器,再配上一个100Mb/s的集线器,就可很方便地由10BASE-T以太网直接升级到100BASE-T,而不需要改变网络的拓扑结构。

2 吉比特以太网——千兆以太网

  • 吉比特以太网又称为千兆以太网。
  • 吉比特以太网可用作现有网络的主干网,也可在高带宽(即高速率)的应用场合中用来连接工作站和服务器。
  • 吉比特以太网的物理层使用以下两种成熟的技术:
    • 来自现有的以太网。
    • ANSI制定的光纤通道FC(Fibre Channel)。
  • 吉比特以太网的标准IEEE802.3z有以下几个特点:
    • 允许在1Gb/s下全双工和半双工两种工作方式。
    • 使用IEEE802.3协议规定的帧格式
    • 在半双工方式下使用CSMA/CD协议,而在全双工方式下不需要使用CSMA/CD协议。
    • 与10BASE-T和100BASE-T技术向后兼容。

 

3 10吉比特以太网——万兆以太网

  • 10吉比特以太网又称为万兆以太网。
  • 10GE并非将吉比特以太网的速率简单地提高到10倍。
  • 由于10GE的出现,以太网的工作范围已经从局域网扩大到城域网和广域网,从而实现了端到端的以太网传输。这种工作方式的好处是:
    • 以太网是一种经过实践证明的成熟技术,无论是因特网服务提供者ISP还是端用户都很愿意使用以太网。 
    • 以太网的互操作性也很好,不同厂商生产的以太网都能可靠地进行互操作
    • 在广域网中使用以太网时,其价格大约只有SONET的五分之一和ATM的十分之一,以太网还能够适应多种的传输媒体,如铜缆、双绞线和各种光缆,这就使具有不同传输媒体的用户在通信时不需重新布线。 
    • 端到端的以太网连接使帧的格式全都是以太网的格式,而不需要再进行帧格式的转换,这就简化了操作和管理。
  • 10吉比特以太网的物理层使用以下两种新开发的技术:(1)局域网物理层 LAN PHY。 (2)可选的广域网物理层 WAN PHY。
  • 10吉比特以太网的特点: (1)10GE的帧格式与10Mb/s、100Mb/s和1Gb/s以太网的帧格式完全相同。 (2)由于传输速率高,10GE不再使用铜线而只使用光纤作为传输媒体。 (3)10GE只工作在全双工方式,因此不存在争用问题,也不使用CSMA/CD协议。

注:以太网从10Mb/s到10Gb/s的演进证明了以太网是:
(1)可扩展的(从10Mb/s到10Gb/s)。
(2)灵活的(多种媒体、全/半双工、共享/交换)。
(3)易于安装。
(4)稳健性好。

使用高速以太网进行宽带接入

高速以太网接入的重要特点:是它可以提供双向的宽带通信;且可以根据用户对带宽的需求灵活地进行带宽的升级;可以实现端到端的以太网传输,中间不需要再进行帧格式的转换,提高了数据的传输效率且降低了传输的成本

例:高速以太网接入可以采用多种方式,其中一种方式——光纤到大楼FTTB:
(1)每个大楼的楼口都安装一个100Mb/s的以太网交换机(对通信量不大的楼房也可以使用10Mb/s的以太网交换机)。
(2)然后根据情况在每一楼层安装一个10Mb/s或100Mb/s的以太网交换机。
(3)各大楼的以太网交换机通过光纤汇接到光结点汇接点。
(4)若干个光结点汇接点再通过吉比特以太网汇接到一个高速汇接点(称为GigaPoP)。
(5)然后通过城域网连接到因特网的主干网。

 

posted @ 2019-05-01 20:54  +D  阅读(1698)  评论(0编辑  收藏  举报