OSI参考模型之数据链路层

Posted 锦衣admin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OSI参考模型之数据链路层相关的知识,希望对你有一定的参考价值。

数据链路层

数据链路层设备:网卡、交换机

因为OSI参考模型在现实中没有与之对应的设备。所以一般用它来做参考。实际上我们使用的是TCP/IP的五层模型

生成数据帧的设备:

  • 在网卡中生成数据帧

  • 在路由器的接口中生成数据帧

  • 数据链路层一般在节点的网络接口中实现

数据链路层基本概念:

  • 连接相邻节点之间的通信信道称为链路(link)

  • 数据链路层协议就是解决每一段链路上的数据传输问题的

  • 相邻结点之间的链路以及该链路上采用的通信协议构成了数据链路(data link)的概念

  • 数据链路层传输的分组被称为帧(frame)

数据链路层协议的功能:

封装成帧:

  • 把数据封装成帧

  • 帧包含首部和数据部分:

    • 首部包含传递该帧需要的控制信息

    • 数据部分包含要传递的信息数据,通常来自上层协议

  • 帧的结构和首部各字段的含义由数据链路层协议规定

  • 帧定界方法:用特殊的控制字符或特定的比特组合标记一帧的开始和结束

透明传输:

  • 含义:不限制数据部分包含的比特组合,即使数据部分恰巧出现和控制字符或帧定界字符相同的编码字节,接收方也不会错误理解

  • 两种方法:

    • 字符填充(DLE作为转义字符)

    • 比特填充( 当数据部分出现与帧定界符相同的码序列时,按照约定插入若干1或0比特)

差错检测:

  • 物理层不提供比特差错校验的服务,为了对比特传输差错进行控制,数据链路层要提供差错控制功能。

  • 该层多采用循环冗余校验编码(CRC),利用在帧数据后面添加n 比特的差错校验的冗余位(帧校验和)实现差错检验。

寻址:

  • 数据链路层地址通常又被称为物理地址或硬件地址。

  • 有时还要携带源地址,标识发送结点。

  • 若接收节点固定则不需要进行寻址。

可靠交付:

  • 含义:接收节点的数据链路层向上层交付无差错的分组

  • 可靠交付通常使用确认和重传机制

    • 若接收无误,向发送端发送确认信息(ACK);

    • 若发现差错,则反馈回NACK信息,请求发送结点重发该帧

  • 不是所有的数据链路层协议都提供确认机制

流量控制:

  • 目的:避免接收方来不及接收而造成的数据丢失

  • 原因:接收结点和发送结点在处理能力、缓存空间以及负载方面的差异造成

  • 措施:对发送的数据流量的进行调控,使发送速率不致超过接收方的速率。

  • 控制相邻两结点间数据链路上的流量,作用范围是一段点到点链路

链路接入和管理:

  • 链路接入又被称为媒体访问控制

  • 对面向连接的数据链路层协议,链路管理功能包括数据链路的建立、链路的维持和释放三个主要方面, 需要双方交换必要的信息

数据链路层包含的MAC子层和LLC子层

MAC子层功能:

媒体访问控制

帧的寻址和识别

帧检验等。

LLC子层功能:

逻辑链路控制

二种类型链路服务:无连接、面向连接

数据帧的字段(以太网MAC帧字段):
在这里插入图片描述

前导码(Preamble,Pre),7字节的1和0交替码序列,比特同步,当物理层采用同步信道时(如SDH/SONET),不再需要前同步码。

帧定界(Start-of-Frame Delimiter,SFD )。10101011。以太网的帧定界符只用于标识帧的开始,不必标识结束。

一般认为MAC 帧从目的mac地址 开始。

目的地址:目的MAC 地址, 6字节。

源地址:源MAC 地址, 6字节。

长度类型(Type):类型字段,上层协议类型,最常见的如0x0800指IP协议,0x0806指ARP协议。

  • DIX Ethernet V2定义该字段为类型
  • IEEE802.3 标准定义为“长度/类型”字段,规定小于0x0600时,表示数据部分的长度;大于0x0600时,表示类型。

数据部分(数据长度):长度在46字节 到1500字节之间可变的任意值序列。

帧校验序列(FCS),4字节,采用CRC编码,用于差错校验。FCS校验的计算不包括同步码、帧定界和FCS字段本身。

交换机工作原理

共享总线型传输媒体方式的局域网。以太网交换机的结构是每个端口都直接与主机相连,并且一般都工作在全双工方式

初始交换机的mac地址表是空的,在交换机收到数据帧后,将该帧的源MAC地址和交换机端口号的映射关系写入表中。

发送ARP广播包向全端口询问目的mac在哪个端口号,目的mac地址的主机会回应交换机。交换机记录目的mac地址和交换机端口号。进行数据帧转发

若目的MAC地址在映射表中,则将数据帧直接转发给对应的交换机端口。

虚拟局域网介绍(Virtual LAN ,简称VLAN)

交换机提供一种划分虚拟局域网的功能

虚拟局域网作用:

不受物理位置的限制划分逻辑组

将某些网络流量限制在各自的VLAN之中

VLAN划分的方法:

按照交换机端口划分

按照MAC 地址划分

按照第三层网络地址划分:常按IP子网来划分
在这里插入图片描述

虚拟局域网协议:IEEE 802.1Q

如何区分个vlan段:

IEEE 802.1Q(Virtual Bridged Local Area Networks)协议

扩展MAC帧首部——标识VLAN

首部增加4个字节:

TPID (Tag Protocol Identifier),固定取值为0x8100

TCI (Tag Control Information)

  • 用户优先级, 3bit
  • CFI Canonical Format Indicator),1bit
  • VLAN ID, 12bit
    在这里插入图片描述

基于Cisco交换机实现VLAN划分

以上是关于OSI参考模型之数据链路层的主要内容,如果未能解决你的问题,请参考以下文章

osi参考模型分为哪几层?各层的功能是啥?

网络基础之 OSI七层模型

ISO/OSI参考模型 各层的功能是啥?

OSI七层模型与TCP/IP五层网络架构

Linux应用程序设计之网络基础编程

IT菜鸟之OSI七层模型