计算机网络_数据链路层

2016-06-19  本文已影响196人  srtianxia

数据链路层使用的信道主要有以下两种类型

数据链路层的简单模型->从层次上看数据的流动


数据链路层的简单模型->从层次上看数据的流动.png

数据链路层的简单模型->仅从数据链路层观察帧的流动


数据链路层的简单模型->仅从数据链路层观察帧的流动.png

实用点对点信道的数据链路层

数据链路和帧

数据链路层传送的是

模型.png

图a为三层模型的简化模型, b为只考虑数据链路层

三个基本问题

数据链路层协议有许多中,但有三个基本问题是共同的,分别问封装成帧透明传输差错检验

点对点协议PPP

PPP协议的特点

现在全世界使用得最多的数据链路层协议是点对点协议PPP(Point-to-Point Protocol),用户使用电话线接入因特网时,一般都是使用PPP协议。

用户到ISP的链路使用PPP协议

用户到ISP的链路使用PPP协议.png

PPP协议应满足的需求

PPP协议的组成

1992年制定了PPP协议,经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准

PPP协议有三个组成部分

PPP协议的帧格式

PPP协议的帧格式.png

透明传输问题

字节填充

零比特填充

零比特填充.png

不提供使用序号和确认的可靠传输

PPP协议之所以不使用序号和确认机制是出于以下的考虑

PPP协议的工作状态

当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机称为因特网上的一个主机。通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。

PPP协议的工作状态.png

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

局域网的数据链路层

局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。

局域网具有如下的一些主要优点:

局域网的拓扑

局域网的拓扑.png

媒体共享技术

静态划分信道

静态划分信道的方法代价比较高,不适合于局域网使用

动态媒体接入控制(多点接入)

属于随机接入的以太网将被重点讨论,以太网已经在局域网市场中占据了绝对优势,现在以太网几乎成为了局域网的同义词

以太网的两个标准

数据链路层的两个子层

为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层:

与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种协议的局域网对LLC子层来说都是透明的。

局域网对LLC子层是透明的.png

以后一般不考虑LLC子层

适配器的作用

计算机与外界的局域网连接是通过通信适配器(adapter),适配器本来是在主机箱内插入的一块网络接口板,这种接口板又称网络接口卡NIC(NetWork Interface Card)或简称网卡,适配器也是一个小型计算机,有ROM和RAM

作用

适配器所实现的功能包含了数据链路层和物理层这两层次的功能

计算机通过适配器和局域网进行通信.png

CSMA/CD协议

最初的以太网是将许多计算机都连接到一根总线上,当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件(那个时代认为有源器件不可靠(内部有电源的))
总线的特点是:当一台计算机发送数据时,总线上的所有计算机都能检测到这个数据,这就是广播通信方式。但我们并不总是要在局域网上进行一对多的广播通信,为了在总线上实现一对一的通信,可以使每一台计算机的适配器拥有一个与其他适配器都不同的地址,在发送数据帧时,在帧首部写明接收站的地址,仅当数据帧中的目的地址与适配器ROM中的存放的硬件地址一致时,该适配器才能接收这个帧,对于不是发送给自己的就丢弃,就实现了一对一通信

总线.png

人们也常把局域网上的计算机称为“主机”,“工作站”,“站点”或“站”。

为了通信的简便,以太网采取了两种重要的措施

采用较为灵活的无连接的工作方式,即不必建立连接就可以直接发送数据,适配器对发送的数据帧不进行编号,也不要求对方发回确认,这样做可以使以太网工作起来非常简单,而局域网信道的质量很好,因通信质量不好产生差错的概率是很小的。因此,以太网提供的服务是尽最大努力的交付,即不可靠的交付,当目的站收到有差错的帧(CRC查出差错),就把帧抛弃,其他什么也不做对有差错的帧是否需要重传则由高层决定。例如,如果高层使用TCP协议,那么TCP就会发现丢失了一些数据。于是经过一定时间后,TCP就把这些数据重新给以太网进行重传。但以太网并不知道这是帧重传,而是当做新的数据帧来发送的
总线上只要有一台计算机在发送数据,总线的传输资源就被占用。因此,在同一时间只能允许一台计算机发送数据
以太网采用最简单随机接入,但也有很好的协议来减少冲突的发生的概率,这就是载波监听多点接入/碰撞检测(CSMA/CD)

以太网发送的数据都使用曼彻斯特(Manchester)编码的信号,我们知道,二进制基带数字信号通常就是高低电压交替出现的信号,使用这种信号的最大问题就是当出现一长串的连1或者连0时,接收端就无法从收到的比特流中提取比特同步信号,而曼彻斯特编码方法就是把每一个码元再分成两个相等的间隔。码元1是在前一个间隔为低电压而后一个为高电压,码元0正相反(也可采用相反的约定),但是曼彻斯特编码也有缺点,就是所占的频带宽度比原始的基带信号增加了一倍(每秒传送的码元数加倍了)

曼彻斯特(Manchester)编码.png

电磁波在总线上的有限传输速率的影响
既然每一个站在发送数据之前已经监听到信道为空闲,那么为什么还会出现数据在总线上的碰撞呢?这是因为电磁波在总线上总是以有限的速率传播的。**这和我们开会时类似,一听见会场安静,我们就都立即发言,但偶尔也会发生几个人同时抢着发言而产生冲突的情况。

传播时延对载波监听的影响

传播时延对载波监听的影响.png
电磁波在1km电缆的传播时延约为5μs,

//这里还有很多, 先跳过

使用广播信道的以太网

使用集线器的星形拓扑

传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。这种以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备(使用了大规模集成电路芯片所以可靠),叫做集线器(hub),双绞线以太网总是和集线器配合使用的。每个站需要用两对无屏蔽双绞线(放在一根电缆内),分别用于发送和接收

使用集线器的双绞线以太网.png

集线器的一些特点

Paste_Image.png

以太网的信道利用率

// 这里还没看 p77

以太网的MAC层

在局域网中,硬件地址又称物理地址,或MAC地址。802标准所说的地址严格地讲应当是每一个站的名字标识符,但鉴于大家早已习惯了将这种48位的名字称为地址,所以本书也采用这种习惯用法,尽管这种说法并不太严格。

48位的MAC地址

IEEE的注册管理机构RA负责向厂家分配地址字段的前三个字节(即高位24位),地址字段中的后三个字节(地位24位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。一个地址块可以生成2^24个不同的地址。这种48位地址称为MAC-48,它的通用名称是EUI-48。MAC地址实际上就是适配器地址或适配器标识符EUI-48。

适配器检查MAC地址

适配器从网络上每收到一个MAC帧就首先用硬件检测MAC帧中的MAC地址

发往本站的帧包括三种

MAC帧的格式

常用的以太网MAC帧格式有两种标准:

最常用的MAC帧是以太网V2的格式,如图,假设网络层使用IP协议

MAC帧格式.png
类型字段用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议。FCS是帧检验序列。

在这里要指出,在帧首部并没有一个帧长度,那么MAC子层又怎样知道从接收到的以太网帧中取出多少字节的数据交付上一层协议呢?曼彻斯特编码的一个重要特点就是:在曼彻斯特编码的每一个码元(不管码元是0还是1)的正中间一定有一次电压的转换,当发送方把一个以太网帧发送完毕后,就不再发送其他码元了。因此,发送方网络适配器的接口上的电压也就不再变化了,这样接收方就可以很容易地找到以太网帧的结束位置,在这个位置往前数4字节(FCS),就能确定数据字段的结束位置。

当数据字段的长度小于46字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的MAC帧长度不少于64字节,我们应当注意到,MAC帧的首部并没有指出数据字段的长度是多少。在有填充字段的情况下,接收端的MAC子层在剥去首部和尾部后就把数据字段和填充字段一起交给上层协议。现在的问题是上层协议如何知道填充字段的长度呢?(IP协议应当丢弃没有用处的填充字段)。可见,上层协议必须具有识别有效的数据长度的功能。我们知道,上层使用IP协议时,其首部有一个总长度字段,因此总长度加上填充字段的长度,应当等于MAC数据帧数据字段的长度。例如,当IP数据报的总长度为42字节时,填充字段共有4字节。当MAC帧把46字节的数据上交给IP层后,IP层就把其中最后4字节的填充字段丢弃。

从上面的MAC帧图片看出,在传输媒体上实际传输的要比MAC帧还多8个字节。这是因为当一个站在刚开始接收MAC帧时,由于适配器的时钟尚未与到达的比特流达成同步,因此MAC帧最前面的若干位就无法接收,结果使整个MAC帧变成无用的帧。为了接收端迅速实现位同步,由MAC子层向下传到物理层时还要在帧的前面插入8字节(由硬件生成),它由两个字段构成。第一个字段是7个字节的前同步码,用来迅速实现MAC帧的比特同步,第二个字段是帧开始定界符,表示后面的信息就是MAC帧

MAC帧的FCS字段的检验范围不包括前同步码和帧开始界定符,顺便指出,在使用SONET/SDH(同步光纤网)进行同步传输时,则不需要前同步码,因为在同步传输时收发双方的位同步总是一直保持着的。

还需注意,在以太网上传送数据时是以帧为单位传输,以太网在传输帧时,各帧之间还必须有一定的间隙。因此,接收端只要找到帧开始定界符,其后面的连续到达的比特流就都属于同一个MAC帧。可见以太网不需要使用帧结束定界符,也不需要使用字节插入来保证透明传输。

IEEE规定凡是出现下列情况之一的即为无效的MAC帧

对于检查出的无效MAC帧就简单地丢弃,以太网不负责重传丢弃的帧。

帧间最小间隔

扩展的以太网

(PS 以太网已经是局域网的代名词,在这里讨论以太网)
在很多情况下,我们希望把以太网的覆盖范围扩展,本节先讨论在物理层把以太网扩展,这种扩展的以太网在网络层看来仍然是一个网络

在物理层扩展以太网

过去采用转发器来扩展以太网的地理覆盖范围,现在随着双绞线以太网称为以太网的主流类型,扩展以太网的覆盖范围已经很少使用转发器了。

现在,扩展主机和集线器之间的距离的一种简单方法就是使用光纤和一对光纤调制解调器(进行光信号和电信号的转换),由于光纤带来的时延很小,而且带宽很高,因此使用这种方法可以很容易地使主机和几公里以外的集线器相连接。

光纤/光纤调制解调器.png

如果使用多个集线器,就可以连接成覆盖范围更大的多级星型结构的以太网
例如,某大学有三个系,各自有一个局域网,可以通过一个主干集线器把各系的以太网连接起来,成为一个更大的以太网

三个独立.png 一个更大的碰撞域.png

用集线器扩展局域网

优点
缺点

在数据链路层扩展以太网

网桥的内部结构


网桥的内部结构.png

最简单的网桥有两个接口,复杂些的网桥可以有更多的接口,两个以太网通过网桥连接起来后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就可以称为一个网段

网桥依靠转发表来转发帧,转发表也叫作转发数据库路由目录。一个转发的例子在课本P95

使用网桥带来的好处
使用网桥带来的缺点

有时在两个网桥之间,还可以使用一段点到点链路

网桥使用一段点到点链路.png
网桥在转发帧时不改变帧的源地址
网桥和集线器(转发器)的不同

透明网桥

目前使用得最多的网桥是透明网桥,透明指得是局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的。透明网桥是一种即插即用设备,其标准是IEEE 802.1D。

当网桥刚刚连接到以太网时,其转发表是空的,所以网桥按照自学习算法处理收到的帧和建立转发表。

这种自学习算法的原理:

转发表中的地址在自学习和转发的时候扮演的角色不同

转发表的建立过程举例.png
网桥在转发表中登记以下三个信息

在网桥的转发表中写入的信息除了地址接口外,还有帧进入该网桥的时间。这是因为以太网的拓扑可能会发生变化,站点也可能会更换适配器(这样就改变了站点的地址)。另外,以太网上的工作站并非总是接通电源的,把每个帧到达网桥的时间登记下来,就可以在转发表中国只保留网络拓扑的最新状态信息。这样就使得网桥中的转发表能反映当前网络的最新拓扑状态。

网桥自学习和转发帧的步骤归纳

网桥收到一帧后先进行自学习。查找转发表中与收到帧的源地址有无匹配的项目。如没有,就在转发表中增加一个项目(源地址,接入的接口和时间)。如有,则把原有的项目进行更新。

转发帧,查找转发表中与收到帧的目的地址有无匹配的项目。

透明网桥使用了生成树算法

为了避免产生转发的帧在网络中不断地兜圈子

兜圈子的情况.png

生成树的得出

源路由网桥

透明网桥容易安装,但网络资源的利用不充分。 p100

源路由(source route)网桥发送帧时将详细的路由信息放在帧的首部中,源站以广播方式向欲通信的目的站发送一个发现帧(作为探测使用),每个发现帧都记录所经过的路由。

发现帧到达目的站时就沿各自的路由返回源站,源站在得知这些路由后,从所有可能的路由中选择一个最佳路由。凡从该源站向目的站发送的帧的首部,都必须携带源站所确定的这一路由信息。

多接口网桥 - 以太网交换机

以太网交换机的特点

许多以太网交换机对收到的帧采用存储转发方式进行转发,但是也有一部分采用直通的交换方式。直通交换不必把整个数据帧先缓存后再进行处理,而是在接收数据帧的同时按数据帧的目的MAC地址觉得该帧的转发接口,因而提高了帧的转发速度。如果在这种交换机的内部采用基于硬件的交叉矩阵交换时延就非常小。直通交换机一个缺点就是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。在某些情况下,仍需要采用基于软件的存储转发方式进行交换,例如,当需要进行线路速率匹配、协议转换或差错检测时。现在有的厂商已经生产出能支持两种交换方式的交换机。

独占传输媒体的带宽

以太网交换机一般都具有多种速率的接口,大大方便了各种不同情况的用户。

以太网交换机实现虚拟局域网
虚拟局域网.png

使用以太网交换机很方便的将这10个工作站划分为三个虚拟局域网

当 B1 向 VLAN2 工作组内成员发送数据时,工作站 B2 和 B3 将会收到广播的信息。

B1 发送数据时,工作站 A1, A2 和 C1都不会收到 B1 发出的广播信息。
虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息(即“广播风暴”)而引起性能恶化。

虚拟局域网使用以太网帧格式

虚拟局域网协议允许在以太网的帧格式中插入一个 4 字节的标识符,称为 VLAN 标记(tag),用来指明发送该帧的工作站属于哪一个虚拟局域网。

虚拟局域网使用以太网帧格式.png

高速以太网

//这部分不打算看

上一篇 下一篇

猜你喜欢

热点阅读