数据链路层——计算机网络学习笔记三

  • 使用点对点信道的数据链路层

    • 前言:

      • 1.数据链路层的重要性:网络中的主机、路由器都必须实现数据连输层; 2.数据链路层中使用的信道: 点对点信道:这种信道是一对一的通信方式; 广播信道:使用一对多的通信方式

    • 数据链路和帧(解释基本概念)

      • 链路(也称:物理链路):一条无源的点到点的物理线路段,中间没有其他交换节点,是一条通路的一个组成部分

      • 数据链路:数据传输除了要有物理线路,还需要通信协议来控制。把实现这些协议的硬件和软件加到链路上,就构成了数据链路层。现在一般常用网卡(适配器)来实现这些功能,适配器上包括了数据链路层和物理层这两次功能。

      • 所谓帧,就是在数据链路层上传输的数据单元

    • 三个基本问题

      • 如何封装成帧?

        • 所谓“封装成帧”就是在一段数据的前后分别添加首部和尾部。这样做的一个作用就是用来进行帧定界,表示这是一帧的开始和节数,通常把控制字符SOH放在最前面,表示帧的首部开始,EOT放在最后面,表示帧的结束

      • 如何实现透明传输?

        • 所谓“透明”,就是某一实际存在的事物看起来却显示不存在一样。例如:当发生数据是非ASCII码的文件时,数据中的某个字节的二进制可能恰好和SOH,EOT这样的控制字符一样,我们要让它不被识别为帧边界,顺利的通过数据链路层。换句话说:无论什么样的比特组合的数据,都能按照原样没有差错地通过数据链路层,此时数据链路层对这些数据来说就是透明的,而这样的传输就是透明传输

        • 当出现上述问题的解决方法:数据中的“SOH‘或;EOT”前面插入一个转义字符“ESC”,如果转义字符也在数据里,那就在转义字符前面再插入一个转义字符。这就是所谓“字节填充”的方法

      • 如何实现差错控制?

        • 循环冗余检验CRC

          • 计算方法: 1.在数M后面添n个0; 2.得到的数,除以实现选好的除数P(除的方法是进行模二运算,相同为0,相异为0),得到的余数R为n位; 3.将余数作为冗余码拼接在数据M后面一起发出去。

          • 检验:如果接收端得到的数除以P,得到的余数是0,就代表这个帧没有差错;如果≠0,就判定这帧有差错,就丢弃。

        • 帧检验序列FCS:在数据后面添加冗余码的方法称为帧检验序列FCS。CRC是FCS中的一种方法。

  • 点对点协议PPP(Point-to-Point Protocol)

    • PPP协议的应满足的需求

    • 组成

      • 1.将IP数据包封装到串行链路发方法;

      • 2.链路控制协议LCP

      • 3.网络控制协议NCP

    • PPP协议的帧格式

      • F:标志字段; A(不重要) C:控制字段

    • 透明传输问题

      • 异步传输——字符填充法(将某个字节转变为2字节序列)

      • 同步传输——比特填充法(发送端,5个连续的1,就填入一个0,接受段,5个连续的1,就把后面的0删除)

    • PPP协议的工作状态

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

    • 局域网的数据链路层

      • 局域网的特点:网络为一个单位所有,且地理范围和站带你数目均有限

      • 局域网的拓扑结构

      • 由于局限在较小的范围,网络节点较少,局域网使用共享信道的方式进行通信。但是共享信道带也存在着一个问题——若多个设备在共享的广播信道上同时发送数据,则会造成彼此干扰,导致发送失败,后面介绍的以太网技术就是解决这个问题的一种技术。

      • 数据链路层的两个子层:局域网的数据链路层可以拆分成两个子层:逻辑链路控制LLC层(已经不重要了)和媒体接入控制MAC层(与接入到传输媒体的内容有关)

      • 上面我们提到过,计算机与外界局域网的连接是通过适配器来完成的,通过这张图,我们来跟深入的看看计算机是如何通过适配器与局域网进行通信的

    • CSMA/CD协议

      • 问题的由来:最初的以太网是将许多的计算机都连接到一根总线上,以1便于实现广播通信,,但是当多台计算机或多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败,为了避免同时发送产生的碰撞,于是就诞生了CSMA/CD协议

      • CSMA/CD:载波监听多点接入/碰撞检测

        • 载波监听:每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有就暂时不发送数据,以免发送碰撞。

        • 碰撞检测:计算机边发送数据边检测信道上的信号电压的大小,当检测到信道电压的摆动值超过某一个门限值时,就认为总线上至少有两个站同时在发送数据。 之所以除了载波监听,还需要碰撞检测,是因为当信道空闲时,有可能有多个计算机同时发送数据,这是就有可能发送碰撞,所以需要碰撞检测

        • 基本概念

          • 争用期:最先发送数据帧的站,在发送数据帧后至多经过时间2τ(2倍端到端往返时延)就可以知道发送数据是否遭受碰撞。我们把2τ成为争用期。 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发送碰撞。

          • 最短有效帧长:10Mbit/s以太网,在争用期可以发送512bit,即64字节,这意味这发送数据数若前64字节没有发生冲突,则后续的数据就不会发送冲突。也意味着凡是小于64字节的帧都是由于冲突而异常终止的无效帧。因此规定74字节为最短有效帧长

        • 退避算法:发送碰撞的站在停止发送数据,要推迟一个随机时间才能再次发送数据。时间=2τ*r;r是从集合中随机取出的一个数,

    • 使用集线器的星型拓扑

      • 上述的是传统的总线型以太网,下面讲述的星型以太网 其中特别要注意的一点就是在星型的中心增加了一种可靠性很高的设备——集线器(Hub)。使用集线器的以太网在逻辑上仍然是一个总线网,各工作站之间使用的还是CSMA/CD协议,并共享逻辑上的总线。 这种 10 Mbit/s 速率的无屏蔽双绞线星形网的出现,既降低了成本又提高了可靠性。 具有很高的性价比。从此以太网的拓扑就从总线形变为更加方便的星形网络,而以太网也就在局域网中占据了统治地位。

    • 以太网的信道利用率

      • 这里主要介绍两个参数,同时通过回顾上面的内容探讨,什么对信道的利用率产生了影响。 通过上面的探讨,我们知道了,当多个站在以太网同时工作就会发生碰撞。而一旦发生碰撞,这段时间的信道资源就是被浪费了(因为没有一个站完整地发送了一帧数据)。 假设帧长为L,数据发送速率为C,则帧发送时间为T0=L/C,那么一个帧成功发射的事件就是T=T0+τ。 可以看到,要提高以太网的信道利用率,就需要减小τ和T0之比。

      • 在以太网中定义了参数α=τ/T0,当α趋近于0时,就表示一发生碰撞就可以立即检测出发,并停止发送,因而信道利用率高

      • 信道利用率的最大值

    • 以太网的MAC层

      • MAC层的硬件地址

        • 在局域网中,硬件地址有被称为物理地址,或MAC地址,而所谓的地址,其实就是每一个站的“名字”或者说标识符。在接受数据的时候,我们通过确认目的地址是不是本站的标识符来核对这是否是本站的数据。

        • MAC层有6个字节,48位的地址。通过图可以看到,我们把6个字节分成两部分,前面是IEEE想厂家分配的称为组织唯一标识符,后面3字节是厂家自行指派的。 第一个字节的最低位是I/G为,它用来表示这个地址是单站地址、组地址还是广播地址;当I/G位=0,表示一个单站地址,当I/G=1,表示组地址,用来进行多播(一对多);当所有48位都是1时,为广播地址(一对所有)。 第一字节的倒数第二位是G/L位,G/L=0,是全球管理;G/L=1,是本地管理,用户可任意分配网络上的地址。

      • MAC帧的格式

        • 以太网有两种MAC帧格式,一种是DIX Ethernet V2标准;一种是IEEE的802.3标准。最常用的事以太网V2格式,下面主要介绍V2格式。

        • 可以看到,前面6个字节是目的地址字段,第二个6个自己是源地址字段; 第3个部分,表示类型字段,用来标志上一层使用的是什么协议,以便收到的MAC帧的数据交给上一层协议 第4部分就是数据,数据字段的最小长度=有效帧长64-18字节的首部尾部=46字节。当数据字段的长度小于46字节是,就会在数据字段加上整数字节的填充字段,以保证帧长不小于64字节。

        • 在以太网的传输中,还有帧间最小间隔的概念,帧间最小间隔为9.6us,它的含义是:一个站在检测到总线开始空闲后,还要等待9.6us才能再次发送数据。 这样做事为了使刚刚收到数据帧的站有时间来清理接受缓存,为接受下一帧做好准备。

  • 拓展的以太网

    • 在物理层拓展以太网

      • 之前我们一直在谈及“以太网”这么一个概念,但是一直都没有给出关于它的清楚的解释,下面给出一种关于以太网的介绍: 以太网(Ethernet)是一种常见的局域网(LAN)技术,用于在局域网中传输数据。 它基于共享介质的方式进行数据传输,通常使用双绞线、光纤或无线信道作为物理传输介质。 以太网采用CSMA/CD协议来控制数据的传输,允许多个计算机和设备连接在同一个局域网中,并通过唯一的物理地址(MAC地址)来标识和寻址每个节点。 数据在以太网中以数据帧的形式进行传输,支持不同的速率,包括10 Mbps、100 Mbps、1 Gbps甚至更高的速率。 总之,以太网是一种简单、可靠、成本效益高的局域网技术,被广泛用于各种应用场景,为用户提供了高效、快速、可靠的数据通信服务。

      • 基本概念:

        • 碰撞域:网络中一个站点发出的帧回遇其他站点发出的帧发生碰撞的那部分网络

      • 在物理层拓展以太网有两种方案,一种是使用光纤拓展,还有一种就是使用集线器拓展

        • 优点:原本属于不同碰撞域的以太网的计算机能够进行跨碰撞域的通信,同时扩大了以太网覆盖的地理范围; 缺点:碰撞域增大了,但总的吞吐量并未提高;如果不同碰撞域的数据率不同,就不能用集线器将他们相连。

    • 在数据链路层拓展以太网

      • 这一部分出现的基本概念:

        • 广播域:它指的是这样一部分网络,其中任何一台设备发出的广播通信都能被改部分网络中的其他设备所接受。

        • 网桥:一种网络设备,用于连接两个或多个局域网(LAN),并在它们之间传输数据。 网桥工作在数据链路层,它根据MAC帧的目的地址对收到的帧进行转发和过滤——当网桥收到一个帧时,先检查这个帧的目的MAC地址,然后再确定将该帧转发到哪一个接口或丢弃。

        • 交换机:实质就是一个多接口的网桥,一般都工作在全双工方式,能同时连通多对接口,使多对主机能同时通信。

      • 在数据链路层拓展以太网再起使用网桥,现在多使用交换机,下面主要介绍关于交换机的内容

        • 交换机的特点: 1.接口有存储器,能在输出口繁忙时把到来的帧进行缓存; 2.它是一种即插即用的设备,内部用于转发地址的“帧交换表”是通过自学习算法自动地逐渐地建立起来的; 采用以太网交换机的星型以太网,其每个接口都处于独立的碰撞域,但所有计算机都处于同一个广播域。

        • 优点:用户独享带宽,增加了总容量;具有多种速率的接口,方便接入各种不同情况的用户。

        • 自学习算法: 1.开始时,表是空的; 2.首先A先B发送一帧,改帧从接口1进入交换机,交换机收到改帧后,先查找交换表,没有查到应从哪个接口转发就先把这个帧的源地址A和接口1写入交换表 3.向除接口1以外的所有接口广播这个帧,等待目的地址B向A发送一个帧,然后查找表A,发送给接口1.之后把源地址B和接口3也写入交换表

        • 考虑到有时要在交换机的接口更换主机,或者其他可能需要更改交换表中项目的操作,交换表中每个项目都设有一定的有效时间,过期的项目就自动删除。

    • 虚拟局域网

      • 虚拟局域网的定义:虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求,每一个VLAN的帧都有明确的标识符,指明发送这个帧的计算机属于哪一个VLAN。 进一步的理解:VLAN就是用户和网络资源的逻辑组合,可以按照需要将有关资源和设备重新组合,使用户从不同的服务器或数据库中存取所需的资源

      • 划分虚拟局域网的方法(这里不过多的介绍,理解上面的基本的概念和原理就行了,等用到的时候再去学习划分方法会更有效率)

      • 虚拟局域网使用的以太网帧格式:在原来的帧格式中插入4字节的标识符VLAN tag,用来指明该帧属于哪一个虚拟局域网。这样插入VLAN标记的帧成为802.1Q帧

  • 高速以太网

    • 最后这一部分主要就是很浅地,简要地介绍一下下面的各种技术,不用过度深究,真的用到这不分内容再学就行

    • 100BASE-T以太网

    • 吉比特以太网

    • 10吉比特和更快的以太网

    • 使用以太网进行宽带接入

  • 20
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机网络中,物理层、数据链路层网络层是构成OSI参考模型的个重要层级。物理层负责传输原始的比特流,数据链路层在物理层的基础上为网络层提供服务,主要是将网络层交付的数据报可靠地传输到对方主机的网络层。而网络层则负责管理网络中的数据通信,将数据从源端经过若干个中间节点传送到目的地。 物理层主要负责传输数据的基本单位比特,通过物理连接来提供可靠的传输。数据链路层位于网络层和物理层之间,负责数据链路的建立、维护和拆除,并实现帧的包装、传输、同步、差错恢复和流量控制。以太网是最常用的数据链路层协议。网络层则进一步管理网络中的数据通信,负责将数据从源端通过中间节点传送到目的地。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [408计算机网络学习笔记——数据链路层](https://blog.csdn.net/JiangNan_1002/article/details/124369273)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [计算机网络通信基础 物理层与数据链路层](https://blog.csdn.net/qq_45927266/article/details/120955930)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [一文看懂数据链路层网络层的区别](https://download.csdn.net/download/weixin_38731385/14831340)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值