计算机网络:数据链路层

数据链路层

数据链路层是为网络层提供服务的,可以分为单播(点对点)链路和广播链路,分别对应不同的协议规则,定义了如何使用下边的基本功能。(先讲基础功能,最后再说协议)

上边已经说过他的基本功能:

  • 封装成帧:将网络层传来的数据分割成适合传输的帧,每一帧包含了数据以及必要的控制信息,如地址和错误检测等。
  • 透明传输:数据链路层负责将帧从一个节点传输到另一个节点,不关心数据的内容,只关心数据帧的传输。
  • 地址解析:在局域网中,数据链路层负责识别每个节点的物理地址(MAC地址),以便将数据帧正确地发送到目标节点。
  • 流量控制:数据链路层通过一些机制来控制数据的传输速率,以避免发送端发送数据过快而导致接收端无法处理。
  • 差错检测和纠正:数据链路层通过添加冗余校验码来检测和纠正传输过程中可能出现的错误,以确保数据的完整性和可靠性。
  • 重发控制:当数据传输发生错误时,数据链路层负责重发丢失或损坏的数据帧,以保证数据的正确传输。
  • 帧同步:数据链路层确保接收端能够正确地识别每个帧的起始和结束位置,以便准确地解析数据。

总的来说,数据链路层的功能是通过物理介质将数据可靠地传输到相邻节点,并在传输过程中提供错误检测和纠正、流量控制、地址解析等服务,以确保数据的可靠性和正确性。

现在就是学习这些具体的操作到底是什么以及如何实现的

image-20240222083844657

封装成帧

  1. 添加起始标志(Start of Frame):在数据帧的开头添加一个特定的比特模式,用于标识帧的开始。

  2. 添加帧头(Frame Header):帧头包含了一些控制信息,如帧的长度、目标地址、源地址等。这些信息有助于接收端正确地解析和处理数据帧。

  3. 添加数据(Payload):将需要传输的数据添加到帧中。

  4. 添加帧尾(Frame Trailer):帧尾包含了一些额外的控制信息,如帧的校验码,用于检测数据在传输过程中是否发生了错误。

  5. 添加结束标志(End of Frame):在数据帧的末尾添加一个特定的比特模式,用于标识帧的结束。

    封装成帧的过程使得数据能够以适合在物理介质上传输的格式进行组织和传输。在接收端,接收到的数据帧会被解析,根据帧头中的控制信息提取出数据,并进行后续的处理和传递。

image-20240222084152199

透明传输

在计算机网络中,透明传输通常指的是在网络通信中的数据传输过程中,数据不会受到传输媒介或通信设备的影响,能够完整地保持原始数据的内容和格式。

image-20240222084659640

差错检测

其实在整个传输过程中,会出现比特差错,1可能会变成0,0变成1。而差错检测就是使用各种方式去检测是否出现了差错。它通过在数据中添加一些冗余信息(如校验码、校验和等),以便接收端能够在接收到数据后对其进行检验,从而判断数据是否在传输过程中发生了改变或损坏。

补充小知识:

误码率(Bit Error Rate,BER)是衡量数据传输过程中出现比特错误的频率的指标。它表示在传输过程中,每传输一比特数据,平均会出现多少个比特错误。误码率通常以百分比或十进制小数的形式表示。

误码率是衡量通信系统性能的重要指标之一,特别是在数字通信系统中。它直接影响到数据传输的可靠性和质量。通常情况下,误码率越低,表示传输的数据质量越高,通信系统的可靠性越好。

在实际应用中,误码率的大小取决于多种因素,包括**传输介质的质量、噪声干扰、信号衰减、传输距离、通信协议**的设计等。通常**,误码率可以通过使用差错检测**和纠错技术、优化传输参数、改善信号传输环境等手段来降低。

常用的差错检测技术是循环冗余码CRC,但它并不是唯一的方法

循环冗余码CRC

CRC通过对数据进行多项式编码和校验,生成一个校验码,并将其附加到数据中一起传输。接收方根据接收到的数据和校验码重新计算校验码,然后将其与接收到的校验码进行比较,以确定数据是否在传输过程中发生了错误。

使用过程:

  1. 选择生成多项式(Generator Polynomial): 首先需要选择一个生成多项式,通常用于计算CRC校验码。生成多项式是一个固定的、不可变的多项式,通常以二进制形式表示。
  2. 数据编码: 发送方在发送数据之前,将待发送的数据按照生成多项式进行编码,并生成CRC校验码。这个过程通常是将数据进行除法运算,余数就是CRC校验码。
  3. 附加校验码: 将生成的CRC校验码附加到原始数据的末尾,形成一个新的数据帧。
  4. 数据传输: 将带有CRC校验码的数据帧发送给接收方。
  5. 数据解码和校验: 接收方接收到数据后,使用相同的生成多项式对接收到的数据进行除法运算,得到一个余数。如果余数为0,则认为数据在传输过程中没有出现错误;否则,数据中存在错误。

是不是看不懂~没关系,可以在示例中理解过程

image-20240222091143137

解读这道题,就是原数据是101001,为了给他加上冗余码,先给出一个条件:除数P=1101(有时会说是x的三次方+x的平方+1),看x最大次方是3,所以原数据后+3个0进行除法运算,不同为1,相同为0,,**计算出的余数叫做帧检验序列FCS,**最后算出结果加到原数据的后边,即为发送出去的数据,对方拿到数据后,也用数据除除数,若数据中间没有发生变故,被除数必然是为0.说明数据正确。

image-20240222091834945

即**,差错检测只能保证对方发过来并且我接收到的数据是正确的,不保证传输过程中数据都能被接收到。**完成

点对点通信(PPP协议)

image-20240222092537732

image-20240222092848342

零比特填充:同步传输时做法

发现有五个连续的1,在1后立即填充一个0

image-20240222105636033

字节填充:异步传输时做法

image-20240222093159662

0X10——>(0X7D,0X10)

其实就是对特殊的字节进行转变;

局域网拓扑结构

  1. 星型拓扑结构:
    • 描述:所有计算机都连接到一个集中式的网络设备(如交换机或集线器)上,形成一个星型结构。
    • 特点:易于管理和维护,故障隔离性好,但若集线器出现故障,整个网络可能会受影响。
  2. 总线型拓扑结构:
    • 描述:所有计算机都连接到同一根传输介质上,形成一条总线。
    • 特点:简单、成本低廉,但若总线出现故障,可能会导致整个网络瘫痪。
  3. 环型拓扑结构:
    • 描述:所有计算机通过一个环形的传输介质相连。
    • 特点:数据以环形流动,不存在起点和终点,不易发生碰撞,但若环中的某个节点出现故障,可能会影响整个网络。
  4. 树型拓扑结构:
    • 描述:网络以分层的树状结构连接,通常由多个星型网络连接起来。
    • 特点:具有更高的扩展性和灵活性,易于管理和维护,但需要更多的网络设备和布线成本。
  5. 网状型拓扑结构:
    • 描述:所有计算机之间都直接相连,形成一个完全连接的网状结构。
    • 特点:具有高度的可靠性和冗余性,若其中一个节点或链路出现故障,不会影响整个网络的通信。

信道划分介质访问控制

由不同的介质或者说不同的通信方式,获得的数据以及操作也不同:

  1. 频分多路复用(FDM):FDM是一种将频谱划分成多个不相重叠的频率带的技术。每个通信实体被分配一个不同的频率带宽度,它们可以同时使用媒介进行通信,而彼此之间的频带不重叠。这种技术常见于有线电视和无线电通信系统中。
  2. 波分多路复用(WDM):WDM是一种利用不同波长的光信号进行通信的技术。在光纤通信中,通过使用多个不同波长的激光器和检测器,可以在同一根光纤上同时传输多个信号。这样可以大大提高光纤通信系统的容量。
  3. 码分多路复用(CDM):CDM是一种利用不同的码型对数据进行编码和解码的技术。每个通信实体使用唯一的编码序列,通过在同一时间和频率上传输数据,接收端可以通过识别正确的编码序列来解码所需的数据。CDM常用于CDMA(Code Division Multiple Access)移动通信系统中。

会出题:
image-20240222112546349

image-20240222140948001

其实原理一样,把各个码片先各位相加得到的就是最后接收到码片序列

若要知道哪个的序列是0还是1就用这个序列×对应的码片再除位数,得到的是1就是发送1,是0就是没有发送,是-1就发送的是0

image-20240222141610883

image-20240222141625886

4.时分多路复用(TDM):TDM是一种按照时间顺序将多个信号交替地传输的技术。在TDM中,每个通信实体被分配到不同的时间段(时隙),它们依次使用媒介进行通信。TDM常见于电话网络和数字传输系统中。

5.空分多路复用(SDM):SDM是一种利用空间维度将多个独立信号同时传输的技术。通过使用多个天线或天线阵列来在空间上区分不同的信号,从而实现多用户之间的同时通信。SDM常用于无线通信系统中,如4G和5G移动通信系统。

随机划分介质访问控制

image-20240222142339175

CSMA/CD协议(广播通信)

CSMA/CD(Carrier Sense Multiple Access with Collision Detection)是一种用于局域网的多点接入协议,它结合了载波监听(Carrier Sense Multiple Access,CSMA)和碰撞检测(Collision Detection,CD)机制。CSMA/CD协议通常用于以太网等共享介质的局域网中,用于协调多个设备在共享介质上的数据传输。

CSMA/CD协议的基本工作原理如下:

  1. 载波监听(Carrier Sense):在发送数据之前,设备会先监听信道,检测信道是否被其他设备占用。如果信道空闲,设备可以发送数据;如果信道忙碌,则设备等待一段随机时间再次监听。
  2. 碰撞检测(Collision Detection):在发送数据的过程中,如果设备检测到了碰撞(即与其他设备同时发送数据导致的冲突),它会立即停止发送数据,并发送一个“干扰信号”以通知其他设备发生了碰撞。接收到干扰信号的设备会随机等待一段时间后重新尝试发送数据。

CSMA/CD协议的主要目的是在发生碰撞时,尽早地将碰撞检测出来,并通过一定的算法来处理碰撞,从而减少碰撞对网络性能的影响。然而,随着以太网技术的发展,现代以太网通常采用了全双工通信和交换式局域网结构,因此CSMA/CD协议在现代以太网中已经不再使用

这个比较容易理解,就是先监听,但是监听只能是监听正在使用信道的设备,当两个都同时在监听信道空闲,然后同时使用就会发生碰撞,这时碰撞检测就排上用场了;

两个碰撞时,两方会设置不同的时间后进行再次通信,若后者更快,前者就能监听到信道有人了;

image-20240222094803189

image-20240222143342230

协议要点:

image-20240222094816658

简称为:“先听先发,边听边发,冲突停发,随机重发

轮询访问介质访问控制:令牌传递协议

image-20240222143610825

轮询介质访问控制非常适合负载很高的广播信道(因为这样每次都轮询都是有意义的)

MAC地址

MAC(Media Access Control)是指网络设备(如网卡)上的物理地址,也称为MAC地址或硬件地址。MAC地址是一个用于识别网络设备的唯一标识符,通常由48位二进制数字表示,以十六进制的形式呈现。

比如 00:1A:2B:3C:4D:5E

image-20240222102702376

  • MAC地址

    • MAC地址是一个由网络适配器厂商预先分配给每个网络适配器的唯一地址,通常由48位二进制数表示(通常以十六进制表示)。

    • MAC地址是数据链路层(OSI模型中的第二层)的地址,用于在局域网中唯一标识网络设备。

    • MAC地址是硬件地址,与网络设备的网卡硬件密切相关,一般情况下不会更改。

    • MAC地址在数据帧的源地址和目的地址字段中使用,用于在局域网内直接通信。

  • IP地址

    • IP地址是一个由网络管理员分配给每个网络设备的地址,用于在网络中唯一标识设备和定位设备的位置。
    • IP地址是网络层(OSI模型中的第三层)的地址,用于在互联网上唯一标识设备和实现跨网络通信。
    • IP地址是逻辑地址,可根据网络需求和配置而动态分配或静态分配。
    • IP地址在数据包的源IP地址和目的IP地址字段中使用,用于在互联网上路由数据包。

两者不同点:

简单的来说虽然MAC地址在局域网内是唯一的,但在广域网(如互联网)中,它们并不适用,因为路由器在转发数据包时会更改源MAC地址,源MAC地址通常会被替换为路由器接口的MAC地址,以确保数据帧在网络中正确传输。。相比之下,IP地址则在全球范围内都是唯一的,并且可以通过路由器进行跨网络通信。因此,在互联网上通常使用IP地址来唯一标识设备,而在局域网中可以使用MAC地址来确定设备。

举个例子:qq,有两种封号情况,封设备和封qq号,封了设备,你这个设备再用其他qq登陆进行违规操作,很快就能检测出来,这就是mac地址(硬件地址);

MAC帧(以太网通信)

image-20240222103245675

MAC帧是数据链路层中的一种数据帧格式,用于在局域网中进行数据传输。MAC帧通常由帧头、源MAC地址、目标MAC地址、帧类型/长度、数据字段和帧校验序列等字段组成。

image-20240222103430576

image-20240222103513850

CSMA/CD和PPP以及IEEE 802.3三者区别

CSMA/CD是一种局域网中的多路访问协议,PPP是一种点对点连接的数据链路层协议,而IEEE 802.3是定义了以太网的标准,其中包括CSMA/CD协议。

而IEEE 802.3不包括PPP:IEEE 802.3是以太网的标准,而PPP(Point-to-Point Protocol)是一种点对点的数据链路层协议,通常用于连接两个单独的网络节点,例如连接个人电脑和互联网服务提供商的拨号连接。PPP通常用于串行链路,而不是以太网局域网。

image-20240222144003315

image-20240222144025105

网桥

网桥是一种网络设备,用于连接多个局域网(LAN)或段,并在这些网络之间转发数据帧。它们通常工作在OSI模型的数据链路层(第二层),可以根据MAC地址来转发数据。

具体来说,网桥有以下特点和功能:

  1. 学习和过滤:网桥能够学习每个接口所连接设备的MAC地址,并根据这些信息建立一个MAC地址表(也称为转发表)。这样,当网桥收到数据帧时,它可以根据目标MAC地址查找表中的信息,确定应该将数据帧转发到哪个接口,从而实现数据的过滤和转发。
  2. 隔离碰撞域:网桥可以将不同的局域网分隔成独立的碰撞域(collision domain),这样可以减少网络中的碰撞,提高数据传输效率。
  3. 增强网络性能:通过将局域网划分成较小的碰撞域,网桥可以减少网络拥塞,提高网络性能。
  4. 连接不同类型网络:一些网桥设备还具有转换不同类型网络(如以太网和无线局域网)的能力,从而扩展网络的覆盖范围。
  5. 自我学习:网桥能够自动学习网络中的设备和它们的MAC地址,而无需管理员手动配置。

image-20240222144550936

应用一下

image-20240222150300337

image-20240222150433585

image-20240222145251940

以太网交换机(算是个多端口的网桥)

交换机是一种网络设备,用于在局域网中传输数据帧。它能够根据目标MAC地址将数据帧从一个端口转发到另一个端口,从而实现局域网内部的数据交换和通信。

交换机的主要功能和特点包括:

  1. 数据帧转发: 交换机能够根据数据帧中的目标MAC地址,将数据帧从一个端口转发到另一个端口,而无需将数据帧广播到整个网络。
  2. 学习功能: 交换机会学习局域网中各个设备的MAC地址和与之相连的端口,从而建立MAC地址表,以便将数据帧准确转发到目标设备。
  3. 广播和组播: 交换机能够将广播帧和组播帧发送到所有连接的端口,以实现网络中的广播和组播通信。
  4. 过滤功能: 交换机可以根据MAC地址、VLAN等信息过滤不需要的数据帧,提高网络的安全性和效率。
  5. 全双工通信: 交换机支持全双工通信,可以同时在不同端口上进行发送和接收操作,提高了网络的带宽利用率和通信效率。
  6. 自动协商: 交换机可以自动协商连接设备的速度和双工模式,确保设备之间的通信能够以最高速度和最佳方式进行。

交换机是现代局域网中的核心设备之一,能够提供高速、可靠的数据传输,广泛应用于企业、学校、数据中心等网络环境中。

考点:按网桥的思路做!!!

image-20240222151556137

image-20240222151619117

说到交换机可以说说路由器,因为他们两个有点类似:

路由器

路由器是一种网络设备,用于在计算机网络中传输数据包,并在不同的网络之间进行路由选择和转发。它可以连接多个网络,并根据网络地址信息(通常是IP地址)来决定如何转发数据包。

主要功能包括:

  1. 路由选择: 路由器能够根据网络地址信息,比如IP地址,决定如何将数据包从一个网络传输到另一个网络。它根据存储在路由表中的路由信息来进行决策。
  2. 数据转发: 路由器负责将数据包从一个接口接收,并根据路由选择算法决定将其转发到适当的接口上。
  3. 网络分割: 路由器可以将一个大型网络划分为多个子网,以提高网络性能和安全性。
  4. NAT(网络地址转换): 在连接到Internet时,路由器通常还具有NAT功能,将内部网络的IP地址转换为外部网络可识别的IP地址,以实现多个设备共享一个公共IP地址。
  5. 安全性: 路由器可以实施基本的网络安全策略,比如访问控制列表(ACL)和防火墙功能,以保护网络免受未经授权的访问和攻击。

其实一个管mac地址,一个管ip地址,由此决定了他们功能的不同

相似和区别

相似之处:

  1. 连接多个设备: 路由器和交换机都是用来连接多个设备的网络设备。
  2. 转发数据: 两者都能够转发数据包,使其从一个端口传输到另一个端口。

不同之处:

  1. 网络层次: 路由器在网络层(OSI模型第三层)工作,负责根据IP地址进行路由选择和转发数据包,而交换机在数据链路层(OSI模型第二层)工作,主要负责根据MAC地址将数据包从一个接口转发到另一个接口。
  2. 路由: 路由器能够连接不同的网络,并根据路由表中的信息选择最佳路径进行数据传输,而交换机通常用于在同一网络内部进行数据交换。
  3. 管理地址: 路由器管理IP地址,负责在不同网络之间进行路由选择,而交换机管理MAC地址,根据MAC地址转发数据包。
  4. 网络分割: 路由器可以将网络分割成子网,实现不同子网间的通信,而交换机通常用于同一子网内的设备连接和通信。

到此,数据链路层基本结束,

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-02-23 19:40:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-23 19:40:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-23 19:40:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-23 19:40:02       20 阅读

热门阅读

  1. http管道化

    2024-02-23 19:40:02       24 阅读
  2. 100条经典C语言题第二天(10-20)

    2024-02-23 19:40:02       28 阅读
  3. Go 线程池实现案例

    2024-02-23 19:40:02       27 阅读
  4. redis的AOF机制

    2024-02-23 19:40:02       29 阅读
  5. Day13-Linux系统用户管理知识精讲2

    2024-02-23 19:40:02       26 阅读
  6. j2ee规范在tomcat中部署的目录结构

    2024-02-23 19:40:02       26 阅读
  7. xrpc: 一个基于消息队列的的Go语言RPC框架

    2024-02-23 19:40:02       30 阅读
  8. 分班问题 、幼儿园分班(C语言)

    2024-02-23 19:40:02       30 阅读
  9. Odoo17 不再支持视图中的attrs和states

    2024-02-23 19:40:02       30 阅读
  10. ES6 面试题

    2024-02-23 19:40:02       25 阅读