计算机网络浅谈(三)数据链路层(2)

在这里插入图片描述

计算机网络知识集锦

友情链接

计算机网络浅谈(三)数据链路层(1)

计算机网络浅谈(二)物理层

计算机网络浅谈(一)总括

前言

通过上一篇的内容整理,能够了解数据链路层对于点对点通信有着很好的支持,能够对整个互联网进行帧传输,并且PPP协议、HDLC等点对点协议很好地解决了封装成帧、透明传输、差错控制这一些基本问题。
然而,在局域网中的广播式通信显然就不那么容易实现,因为用户量一旦激增,势必会对现有信道产生各种各样的考验。为了防止用户间信息传送碰撞的问题,显然有两种解决思路:避免碰撞以及碰撞后处理,受控接入显然有着较为严密的管理方式,所以完全不会让其发生碰撞;而随机接入则要接收碰撞的挑战以及碰撞后如何进行传输的规定。
在早期,使用集线器的时候,显然碰撞检测这样的半双工协议是必然需要的。但是出现交换机后,由于其对信道间进行了隔离,因此升级到全双工方式,自然碰撞检测协议就慢慢退出历史舞台了。
这次我们主要会了解CSMA/CD协议、以太网以及Vlan虚拟局域网划分。

正文

以太网

基本介绍

以太网是美国施乐(Xerox)公司的Palo Alto研究中心于1975年研制成功的。以太网说白了就是局域网的一种商用协议。以太网存在着两个标准:DIX Ethernet V2以及IEEE 802.3,而这两种标准其实差不了多少。
而为了使数据链路层能够适用于多种局域网标准,就把数据链路层拆分成了两个子层:逻辑链路控制层(LLC)媒体接入控制层(MAC)
但是由于以太网在局域网中占据了垄断地位,显然就不需要兼容多种局域网标准,此时LLC层显然就没有必要了,因此现在很少人再提到LLC子层,基本只是使用MAC层。

以太网特点
  1. 采用无连接的工作方式,不需要与对方进行连接就可以发送数据。适配器对发送的帧不进行编号,也不要求对方发回确认。
  2. 以太网提供的服务是尽最大努力交付,即不可靠交付。如果遇到差错帧或者丢失帧,则TCP协议会要求数据链路层对帧进行重传,但是数据链路层并不知道帧出现了问题,而是当成新的帧再进行接收。

适配器

网络适配器又称为网络接口卡(NIC),网卡。主要功能是用于将计算机连接入局域网中的一种计算机外接设备。(当然,后来被嵌入到主板中,也不算是真正的外接设备了)
如果对主要功能进行细节阐述,可以说适配器有着以下功能:

  1. 串并转换。由于双绞线或者同轴电缆在物理层是使用串行传输,而计算机的总线是并行传输的,所以网络适配器可用于比特流串并转换。
  2. 速度适配。由于网络中数据的传输速度与计算机的数据传输速度不一致,因此网络适配器又相当于缓存,可以将网络数据进行速度适配。
  3. 主机驱动。通过安装网络适配器的驱动程序,主机可以知道如何将数据发送出去,并且如何存储接收到的数据。
  4. 实现协议。网络适配器实现了以太网协议,因此对主机透明。
  5. 过滤功能。其实包含在协议实现内,即区别单播、多播以及广播帧,对于不是发给自己的帧自动丢弃。

网络适配器的使用是网络层实现的硬件基础。网络层会将IP数据报最终交给网络适配器,网络适配器将数据报再组装成帧,通过查找缓存中的MAC地址从而将帧发送出去。

CSMA/CD协议

基本简介

CSMA/CD协议全称载波监听多点接入/碰撞检测协议。主要是为了解决以太网总线型/星型网络占用总线时发生碰撞情况的协议。
从协议名称中我们就能够得到以下信息:

  1. 载波监听:为了防止信息传输发生碰撞,因此需要在发送前、发送中不停地检测是否有占用信道
  2. 多点接入:表明以太网是一个总线型网络,容易发生碰撞的网络拓扑结构。
  3. 碰撞检测:即在发送过程中检测是否信息发生碰撞,一旦发生碰撞就停止传输,并用一定的退避算法来防止再次发生碰撞。

CSMA/CD协议显然只是适用于半双工的通信方式,全双工则没有必要碰撞检测。

实现细节
争用期

争用期是非常核心的概念,它是进行碰撞检测的核心概念。
争用期的含义即是如果多个发送方争用信道检测是否碰撞的时间周期。
争用期一般取两倍的传播往返时延(2τ),因为对于发送方来说,如果这段时间没有发生碰撞,那么其他发送方通过检测发现信道被完全占用,就无法再占用信道。

截断二进制指数退避算法

这是一种碰撞退避算法,目的是为了当发生碰撞后,尽量减小下一次碰撞几率而使用的算法。
方式即从
[ 0 , 1 , . . , ( 2 k − 1 ) ] [0,1,..,(2^k-1)] [0,1,..,(2k1)]这个集合中选择一个数r,乘以争用期,得到等待时间
其中k为重传时间,取值为k = min(重传次数,10)。
等待时间过后便再次向信道中发送数据,如果碰撞后再选择一个数等待后再发送……直到不发生碰撞。(当然,如果重传次数大于16次,则说明当前网络拥塞严重,不再进行发送)。

最短帧长

使用CSMA/CD协议,就一定会有最小帧长
因为如果帧过短的话,那么传送过程中就会无法占满信道,而其他发送方在争用期就可能检测到信道空闲,这样就会发生碰撞。
那么最小帧长如何计算
对于10Mbit/s的以太网,电磁波的平均传播速度大约为2*105km/s,即传播1km大约需要5μs,而局域网的一般范围是5km左右,因此端到端最大传播时延大概为25μs(当然官方取的是25.6,显然更精确),那么争用期就是51.2μs,那么10Mbit/s的以太网的信道上最多就有512bit的数据,即64字节。
那么最小帧长就是64B。如果不够长,以太网就会对帧进行填充,当然如果接收方发现不够64B,则说明帧存在问题,即丢弃要求重传。

优缺点

优点即减少碰撞,并对于小于64B帧长的帧能够快速判断错误。
缺点也很明显,由于这是针对5km范围而言,因此局域网的大小基本限制在5km以内

强化碰撞

这就是对碰撞的物理层面的掌握。碰撞是如何检测出来的?
答案是碰撞通过检测信道上的信号频率来进行检测,如果两个信号碰撞了,其频率就会叠加,产生超过正常频率大小的频谱,这样就可以检测出来。
但是有时候两个信号的叠加频率也不明显,不容易进行检测,因此此时我们对信道外加白噪声,让其频谱更宽,这样有利于及时检测碰撞。

总结CSMA/CD步骤
  1. 准备发送:适配器得到IP数据报,加上帧首部和尾部,组成以太网帧,并开始检测信道。
  2. 检测信道:如果信道忙,则不停检测。如果信道空闲,等待96μs(帧间最小间隔),进行发送。
  3. 发送中:发送中不停检测信道。如果发送成功,则返回步骤1;如果发生碰撞,则停止帧传输,使用二进制指数退避算法等待再次发送,直到发送成功,当然超过16次重传,就直接结束传输。

集线器

基本概述

集线器是星型以太网使用的一种可靠性非常高的设备。
集线器即是对信道上信号进行整形放大,提高传输距离,并且将多个信道集中在以他为中心的节点上。并且集线器不进行单点传输,而是在以自己为中心的碰撞域中进行广播。
缺点因此也非常明显:容易被同一碰撞域的其他主机窃听、更容易发生碰撞,容错率很低。

特点
  1. 使用CSMA/CD协议,当检测到碰撞,则发出阻塞信号停止各主机发送。因此同一时刻只允许一个站发送数据。
  2. 集线器有多个接口,结构只进行转发,不进行碰撞检测。如果发生碰撞,则所有发送信息的主机都不会接收到正确的信息。
  3. 集线器采用专门的芯片,进行自适应串音回波低效。即转发出去的较强的信号不会对接收的较弱信号产生干扰。
  4. 集线器工作在物理层,不属于数据链路层范畴。

MAC层

前面提到以太网目前只使用媒体接入控制层,即MAC层。下面来进行介绍。

硬件地址

显然MAC层是管理计算机间网络媒体通信的层次,而其中为了标识每个计算机地址,就需要使用硬件地址(又叫MAC地址)来区别各个计算机。
MAC地址的本质其实就是网络适配器的唯一标识符,也即网络适配器的编号,它是固化在网络适配器的ROM中的,无法进行更改,除非换网络适配器。
MAC地址一共有48位,即6个字节,其中前三个字节是由注册管理机构RA管理,凡是生产局域网适配器的商家都需要购买前三个字节号,又称为组织唯一标识符(OUI),后三个字节称为扩展标识符

MAC帧结构
  1. MAC帧前面一半跟着8个字节的前项码,分为7字节同步码和1字节的帧起始标识符
  2. MAC帧组成有目的地址(6字节)、源地址(6字节)以及类型(2字节),数据部分(46-1500字节),FCS帧检验序列(4字节)。

以太网交换机

基本概述

以太网交换机是以太网不断扩展的产物,从一开始的10BASE-T(10Mbit/s基带信号的双绞线以太网)到100BASE-T甚至更高,以太网的速度不断提高,但是集线器由于碰撞域的问题在扩展过程中非常限制传输速度,因此需要一种无碰撞的设备来减少碰撞带来的时延以及解决共享带宽的问题。
以太网交换机又叫交换式集线器、第二层交换机,其强调这种设备工作在OSI的数据链路层

交换机的特点
  1. 以太网交换机工作为全双工通信方式。以太网交换机的各个主机独占传输媒体,不会发生碰撞。
  2. 以太网交换机有存储器,可以在输出端口繁忙时缓存帧。
  3. 以太网交换机是即插即用设备,能够通过帧交换表使用自学习算法来获取目的主机的MAC地址。
自学习算法

自学习算法是交换机比集线器好得多的原因之一。自学习算法概述起来非常简单,并且似乎洪泛法也有这样的特点。

主要步骤
  1. 主机A需要发送一个帧到主机C,从接口1进入交换机,此时交换机的交换表为空,那么记录主机A从1接口进入,然后对其他接口进行广播询问。
  2. 主机C接到帧即接收,其他主机发现帧不是发给自己的,则丢弃。
  3. 而下一次主机C如果要发送帧,其帧是从接口3进来的,那么交换机记录下来信息,下次如果主机A还发送给主机C,则没有必要进行广播,而是直接发送即可。

虚拟局域网VLAN

基本概述

虚拟局域网Vlan是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧会标识自己属于哪个网络,这样VLAN与VLAN之间就形成了隔离。
划分虚拟局域网可以不局限于一个局域网,而是多个局域网的多台主机间都可以进行划分,只要在传输帧时标明相关VLAN地址,则不符合的VLAN主机则会将帧进行丢弃。
VLAN的标识就叫做VLAN TAG,占用4字节,其会插入到MAC帧当中,其中前2个字节是IEEE 802.1Q
标记类型,总是设置为0x8100,可以当检测到这串数据时,知道插入了VLAN标记,并继续检测后两个字节。

感谢观看!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值