当前位置: 首页 > 科技观察

你还记得计算机网络中数据链路层的常识点吗?

时间:2023-03-16 15:36:27 科技观察

之前写过一些计算机网络的基础知识点,也介绍了物理层。本文主要讲解数据链路层。考试开始变得越来越多。如果你以前学过,就复习一下。一、数据链路层的基本知识1、概念相信大家已经知道,物理层考虑的是如何在传输介质上传输数据比特流,而不是具体的传输介质。它尽可能地屏蔽了传输介质和通信手段的差异,使数据链路层感受不到这些差异。就像我们使用的是双绞线或者其他物理设备,这些都不重要,物理层station比较高,他定义了一些规则,双绞线等物理设备就是按照这些规则来实现的。但是我们如何理解数据链路层的作用呢?链路层协议是为同一链路上的主机提供数据传输服务。数据链路层将从网络层向下传递的数据包封装成帧。这里有两个概念:(1)链路(link)是一条无源的点对点物理线段,中间没有任何其他交换节点。链接只是路径的一个组成部分。(2)数据链路(datalink)除了物理线路外,还必须有通信协议来控制这些数据的传输。如果将实现这些协议的硬件和软件加入到链路中,就形成了一条数据链路。2.分类数据链路层使用的信道主要有以下两种:(1)点对点信道。该通道使用一对一的点对点通信。(2)广播频道。该频道采用一对多的广播通信方式,因此过程比较复杂。有很多主机连接到广播通道,因此必须使用专用的共享通道协议来协调这些主机的数据传输。3.解决三个基本问题(1)封装成帧Header和Trailer,然后构成一个帧。确定框架的边界。(2)透传打包完成后,开始传输。透传是遇到的第一个问题。这个时候怎么办?必须有解决办法,解决办法:字符填充字节填充(bytestuffing)或字符填充(characterstuffing)——接收端的数据链路层在将数据发送到网络层之前将插入的转义字符去掉。如果数据中也出现转义字符,则应在转义字符前插入一个转义字符。当接收端收到两个连续的转义字符时,它删除前面的一个。这是解决方法,当然只有报错,如果出现如下错误怎么办?(3)错误检测传输过程中可能会出现误码:1可能变成0,0也可能变成1。一段时间内传输有错误的比特数与传输的总比特数的比值称为误码率(BER).为了保证数据传输的可靠性,必须采用各种错误检测措施。解决方案就是著名的循环冗余校验码。因为我在很多地方都研究过他,不仅仅是计算机网络。具体怎么算,这里就不说了,但是需要注意循环冗余校验。CRC只实现错误校验,不纠正错误。让我们分别谈谈这两种渠道类型。2.点对点通信世界上应用最广泛的数据链路层协议是点对点协议PPP。PPP协议具有三个组成部分(1)一种将IP数据报封装到串行链路上的方法。(2)链路控制协议LCP(LinkControlProtocol)。(3)网络控制协议NCP(NetworkControlProtocol)。由于TCP/IP系统经常使用的局域网是DIXEthernetV2,而不是802.3标准中的几种局域网,所以802委员会制定的逻辑链路控制子层LLC(即802.2标准)的作用不再重要。一般不考虑LLCsublayer1和PPP协议的帧格式(1)FlagfieldF=0x7E(2)AddressfieldA只设置为0xFF。地址字段实际上不起作用。由于点对点通信,地址是确定性的。(3)控制字段C通常设置为0x03。(4)PPP是面向字节的,所有PPP帧的长度都是整数字节。(5)当协议字段为0x0021时,PPP帧的信息字段为IP数据报。如果为0xC021,则信息域为PPP链路控制数据。如果是0x8021,说明这是网络控制数据。2.透传问题PPP帧的透传问题有两种解决方法:(1)字符填充(2)发送端零位填充,只要找到5个连续的1,就补一个0立即地。接收端扫描帧中的比特流。每当找到连续5个1时,在连续5个1之后删除一个0。这是一个常见的面试问题。3.不提供使用序列号和确认的可靠传输。PPP协议之所以不使用序号和确认机制,是出于以下考虑:(1)当数据链路层出错的概率较小时,使用相对简单的PPP协议更为合理。(2)在Internet环境下,PPP信息域中放入的数据是IP数据报。数据链路层的可靠传输并不能保证网络层的可靠传输。(3)帧校验序列FCS字段可以保证无错接收。PPP协议的主要内容就这么多。三、广播频道1、局域网局域网是典型的广播频道。主要特点是网络归单位所有,地域范围和站点数量有限。主要有以太网、令牌环、FDDI和ATM等局域网技术。目前,以太网占据了有线局域网市场。下面提到的局域网是以太网。以太网提供的服务是不可靠的交付,即尽力而为的交付。当目的站接收到错误的数据帧时,它会丢弃该帧并且什么都不做。错误的更正由高层决定。如果上层发现有数据丢失并重传,而以太网不知道这是一个重传帧,而是作为一个新的数据帧发送。2、适配器的作用网络接口板也称为通信适配器(adapter)或网络接口卡NIC(NetworkInterfaceCard),或“网卡”。3、载波侦听多点接入/冲突检测CSMA/CD(1)“多点接入”是指多台计算机以多点接入的方式连接在一条总线上。(2)“CarrierSense”是指各站在发送数据前要检查总线上的其他计算机是否正在发送数据,如果有则暂时不要发送数据,以免发生冲突。(3)“碰撞检测”是指计算机在发送数据的同时检测通道上的信号电压。当碰撞发生时,总线上传输的信号严重失真,无法从中恢复有用的信息。发生碰撞的原因有很多。例如传播延迟对载波侦听的影响,所以采用CSMA/CD协议的以太网不能进行全双工通信,只能进行双向交替通信。这种发送的不确定性使得整个以太网的平均通信量远小于以太网的最高数据速率。先发送数据帧的站点在发送数据帧后至多2t(端到端往返延迟的两倍)后才能知道发送的数据帧是否发生了碰撞。以太网的端到端往返延迟2t称为竞争期,或冲突窗口。在竞争期之后,在此期间没有检测到碰撞,因此可以确定本次传输不会发生碰撞。因此,二进制指数类型的退避算法出现,以尽可能避免冲突。4、集线器以太网采用星形拓扑结构,在星形的中心加入一个高可靠的设备,称为集线器。注意,hub实际上是工作在物理层的,这里先不要看。认为它工作在数据链路层是错误的。目前,以太网使用交换机来代替集线器。交换机是链路层设备。不会冲突,可以根据MAC地址进行存储和转发。5、以太网的MAC层在局域网中,硬件地址也称为物理地址,或MAC地址。一个地址块可以生成224个不同的地址。这个48位地址称为MAC-48,它的通用名称是EUI-48。每次适配器从网络接收到MAC帧时,它首先使用硬件检查MAC帧中的MAC地址。如果是发送给站点的帧,则接受它,然后进行其他处理。否则,丢弃该帧并且不执行其他处理。6.扩展局域网(1)物理层扩展局域网:使用集线器扩展局域网(2)数据链路层扩展局域网:使用网桥在数据链路层扩展局域网。网桥工作在数据链路层,它根据MAC帧的目的地址转发接收到的帧。网桥具有过滤帧的功能。当一个网桥收到一个帧时,它并不将这个帧转发到所有的接口,而是首先检查这个帧的目的MAC地址,然后决定将这个帧转发到哪个接口。流量多(不超过几百个)和流量少的局域网,否则有时会因为传播过多的广播信息而造成网络拥塞。这称为广播风暴。当集线器转发帧时,它不会检测传输介质。网桥在转发帧之前必须执行CSMA/CD算法。如果在发送过程中发生碰撞,则需要停止发送并回退。7、虚拟局域网VLAN虚拟局域网VLAN是由一些与物理位置无关的局域网网段组成的逻辑组。这些网段有一定的共同要求。每个VLAN帧都有一个明确的标识符,指示发送该帧的工作站属于哪个VLAN。实际上,虚拟局域网只是局域网为用户提供的一种服务,并不是一种新型的局域网。下图中的(A1、A2、A3、A4)属于一个虚拟局域网,A1发送的广播会被A2、A3、A4接收到,但其他站接收不到。速率为100Mb/s或更高的VLAN使用的以太网帧格式称为快速以太网。以太网已经成功地将速度提升到1~10Gb/s,覆盖的地理范围也扩展到了城域网和广域网,所以现在人们都在尝试使用以太网进行宽带接入。OK,这就是数据链路层的基础面试知识点。