基础

物理层与数据链路层

  • 物理层和数据链路层的本质作用都是用来构建网络通信、访问通道,但它们所建立的通信通道是不一样的。首先要说明的一点是,在物理层上构建的是物理链路,在数据链路层上构建的是逻辑链路或者数据链路
  • 物理链路是指在物理层设备(包括传输介质、物理接口和收发器等)和相应物理层通信规程作用下形成的物理线路,是永久存在的,且是不可删除的(除非物理拆除);
  • 逻辑链路则是通信双方在需要进行数据通信时,在数据链路层设备和相应的通信规程作用下建立的逻辑链路,可以是永远存在的(如局域网中的以太网链路),也可以不是永久存在的(如广域网中的链路),是否永久存在要视具体的数据链路层服务类型而定。

    目的

    在原始的、有差错的物理传输线路的基础上,采取差错检测,差错控制和流量控制等方法,将有差错的物理线路改进成逻辑上的无差错的数据链路,以便向他的上一层网络层提供高质量的服务。
    具体而言,数据链路层中与传输介质访问无关的问题都集中在 LLC 子层来解决,为网络层提供服务。其主要功能包括逻辑链路的建立和释放、提供与网络层的接口(也就是前面说到的 SAP)、数据传输差错控制、给数据帧加上传输序列号等。

    网络层与数据链路层

    网络层是进行地址管理和路由选择的,它是为数据报的转发找出一条路来,而数据链路层解决的是两个结点直接的数据交换,接近于物理层的概念。

    (1)数据链路层的点对点信道和广播信道的特点,以及这两种信道所使用的协议 (PPP 协议以及 CSMAlCD 协议)的特点。
    (2) 数据链路层的三个基本问题:封装成帧、透明传输和差错检测。
    (3) 以太网 MAC 层的硬件地址。
    (4) 适配器、转发器、集线器、网桥、以太网交换机的作用以及使用场合

概述

概念

结点:主机、路由器
链路:网络中两个节点之间的物理通道,传输介质主要有双绞线、光纤、微波
数据链路:网络中两个结点中的逻辑通道,把实现控制数据传输协议的硬件和软件加在链路上就构成数据链路
:链路层的协议数据单元,封装成网络层数据报。

信道

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

  1. 点对点信道:也就是字面意思,点对点得通信方式。
  2. 广播信道:这种信道是一对多的方式,所以整个过程也比较复杂。必须使用一些信道协议来协调网络中的主机数据发送。

image.png
image.png
当我们专门研究链路层的时候,我们只需要关心链路层即可。于是,主机1主机2发送数据时,我们可以认为是从左到右的数据传递。如下图:
image.png

功能

数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据**可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错**的数据链路,使之对网络层表现为一条无差错的链路。

  1. 为网络层提供服务,无确认链接服务,有确认连接服务,有确认面向连接服务
  2. 链路管理:链接建、维持、释放
  3. 组帧
  4. 流量控制
  5. 差错控制(帧错、位错)

组装成帧

把网络层的IP数据报,前后分别添加首部和尾部,构成一个帧;接收端在收到物理层上交的比特流后,可以根据首部尾部的标记,从收到的比特流中识别帧的开始与结束
首部和尾部包含许多控制信息,其中一个重要的作用就是:帧定界(确定帧的界限)--**在帧的开始和结束的地方加上特定的字符,一般是0X7E
帧同步:**接收方应当能从接收到的二进制比特流中区分出帧的起始和终止
image.png
image.png

组帧的四种方法:

  1. 字符计数法

    帧头部使用一个计数字段来标明帧内字符数 当目的节点接收到字节计数值时就知道后面跟随的字节数,从而可以确定帧结束的位置(计数字段提供的字节数包含自身所占用的一个字节) 这种方法最大的问题,如果计数字段出现了错误,即失去了帧边界划分的依据,接收方就无法判断所传输帧的结束位和下一帧的开始位,收发双方将失去同步。

  2. 字符填充法

    字符填充法使用一些特定的字符来定位一帧的开始(DLE STX)与结束(DLE ETX)。为了使信息位中出现的特殊字符不被误判为帧的首尾定界符,可以在特殊定位符前面填充一个转义字符(DLE)来区分(p.s. 转义字符是ASCII码中的控制字符,是一个字符,而非”D”,”L”,”E”三个字符的组合),以实现数据的透明传输。 接收方接收到转义字符就知道后面跟着的是数据信息而不是控制信息。 帧的数据段中出现DLE字符,发送方在每个DLE字符前再插入一个DLE字符,接收方收到数据后会自己删除这个插入的DLE字符,结果得到的依旧是原来的数据。

  3. 零比特填充法

    比特填充法允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特。 它使用一个特定的比特模式,即01111110来标志一个帧的开始和结束。 为了不使信息位中出现比特流01111110被误判为帧的首尾标志,发送方的数据链路层在信息位遇到5个1则会自动在后面插入一个0; 而接收方做该过程的逆操作,即每收到5个连续的1时,则自动删除后面紧跟着的0,以恢复原信息。 比特填充容易用硬件实现,性能优于字符填充方法。

  4. 违规编码法

    在物理层比特编码时通常采用违规编码法,例如曼彻斯特编码方式,将’1’编码成“高-低”电平对,将数据比特’0’编码成“低-高”电平对。而“高-高”电平对和“低-低”电平对在数据比特是违规的(即没有采用)。可以利用这些违规编码来定界帧的起始和终止。局域网中IEEE 802就采用了这种方法。 违规编码法不需要采用任何填充计数,便能实现数据传输的透明性,但他只适用于采用冗余编码的特殊编码环境

由于字节计数法中计数字段的脆弱性和字符填充法实现的复杂性与不兼容性,目前较常用的组帧方法是比特填充法和违规编码法。

透明传输

不管所穿的数据是怎样的比特组合,都应当能在链路上传输
当所传输的数据中的比特组合恰巧与某一控制信息完全一样时,应当采取适当的措施,使接收方不会误认为数据是某个控制信息,这样才能保证数据链路层的传输是透明的
image.png

字符计数法

帧首部使用一个计数字符来表明帧内字符数
image.png
缺点:若其中一个位置发生数据丢失,会导致后续的所有帧都会出错,无法实现同步

字符填充法

image.png
填充转义字符

零比特填充法

  • 在发送端,扫描整个信息字段,只要遇到连续的5个1,就立即填入1个0
  • 在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描,发现五个1后就把后面的0删掉

image.png

违规编码法

实现比较简单
image.png

由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法。

差错控制

传输中的差错,总体来说都是由噪声引起的
image.png
当数据信号从发送端发送到物理线路时,由于物理线路存在噪声,因此数据信号经过物理线路的噪声,到达接收端时,已经是数据+噪声的叠加。这就是差错的来源。
全局性:由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
解决办法:提高信噪比来减少或避免干扰。(对传感器下手)

局部性:外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。
解决办法:通常利用编码技术来解决。

差错

image.png

差错检测

纠错码:每个传输的分组带上足够的冗余信息,接收端能发现并自动纠正差错。 检测码:分组包含能够发现差错的冗余信息,接收端能够发现差错。 由于纠错码实现比较复杂,检测码虽然不能纠错,但是足够简单,能够检测出差错,配合重传机制即可。所以广泛采用检测码。

奇偶校验码

只能检查出奇数个比特错误,检错能力为50%

CRC循环冗余码

image.png
image.png
在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对帧的无差错接收,即“凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。“凡是接收端数据链路层接收的帧均无差错”。
“可靠传输”:数据链路层发送端发送什么,接收端就收到什么。
链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输。

纠错编码

海明码

image.png
步骤:

  1. 确定校验码的位数r

image.png

  1. 确定校验码和数据的位置

image.png

  1. 确认校验码和数据的位置

image.png

  1. 检错与纠错

p4 p3 p2 p1 p0 得出出错的位置
image.png

物理层与数据链路层的编码

image.png

数据链路工作的过程

数据链路层的工作过程分为三个阶段:建立数据链路,帧传输,释放数据链路;结合数据链路和物理层的流程如下图:
image.png

流量控制

image.png

较高的发送速度和较低的接受能力不匹配,会造成传输出错,因此流量控制也是数据链路层的重要工作
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的
数据链路层流量控制手段:接收方收不下就不回复确认。
传输层流量控制手段:接收端给发送端一个窗口公告。
image.png
单帧停止等待协议:发送端发送1帧之后,需要等待接受端返回确认帧,如果接收到ack,表示OK,发送下一帧;如果接收到nak,表示传输错误,重新发送该帧。如下图所示(字反了见谅):

停止-等待协议

每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。
image.png
image.png

image.png无差错的情况

image.png

有差错的情况

数据帧丢失或者检测到数据帧出错

image.png
1.发完一个帧后,必须保留它的副本
⒉数据帧和确认帧必须编号。

ACK丢失

image.png

ACK迟到

image.png

多帧发送协议:分为两种类型,后退N帧(GBN)拉回重发方式和选择重发(SR)方式。前者是只要有一帧发送失败,则当前发送的全部帧都重新发送,这样就会导致重发很多帧,流量控制不佳。后者是当前发送的帧中有差错,在下次发送的时候只是重新发送错误的帧就行了

滑动窗口协议

image.png

可靠传输 & 滑动窗口 & 流量控制

image.png

信道利用率

image.png
停等协议的弊端
image.png

选择重传机制--SR协议

image.pngimage.png
image.png
image.png

后退N帧协议

超时重传:超时后发送方重传所有已发送单位被确认的帧
image.png

  1. 累计确认
  2. 只按序接收帧
  3. 确认序列号最大的、按序到达的帧
  4. 发送窗口最大2^n - 1,接收窗口大小为1

    image.png

    传输数据

    传输数据的两种链路

    点对点链路:两个相邻结点通过一个链路相连
    广域网,ppp协议
    广播式链路:所有主机共享通信介质
    局域网,早期的以太网、无线局域网
    典型拓扑结构:星型(逻辑总线型)、总线型

介质访问控制

介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况
image.png
image.png

信道划分介质访问控制

image.png

FDM

image.png

TDM

image.png

STDM

image.png

WDM

image.png

CDM

image.png

随机访问介质控制

特点:所有用户可随机发送信息。发送信息时占全部带宽。

ALOHA协议

纯ALOHA协议

image.png

时隙ALOHA协议 image.png

CSMA协议

CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。当一个站检测到的信号电压摆动值超过一定门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,即发生了冲突。
MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。
image.png

1-坚持CMSA
  • 如果一个主机要发送消息,那么它先监听信道。
  • 空闲则直接传输,不必等待。
  • 忙则一直监听,直到空闲马上传输。
  • 如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。

优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。

非坚持CSMA

非坚持指的是对于监听信道忙之后就不继续监听。

非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则直接传输,不必等待。
忙则等待一个随机的时间之后再进行监听。

优点:采用随机的重发延迟时间可以减少冲突发生的可能性。
缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。

P-坚持CSMA

p-坚持指的是对于监听信道空闲的处理。

p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。
忙则等待一个随机的时间之后再进行监听。

优点:既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
缺点:发生冲突后还是要坚持把数据帧发送完,造成了浪费。

CSMA/CD协议

image.png
载波监听多点接入/碰撞检测CSMA/CD (carrier sense multiple access with collision detection)

  • CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据
  • MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。(总线型网络)
  • CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。(半双工网络)

image.png传播时延对载波监听的影响
image.png
最迟多久才能知道自己发送的数据没和别人碰撞?
image.png
如何确定碰撞后的重传机制
不能一检测到冲突就重传
image.png不然会在同一个地方再次冲突
截断二进制指数规避算法

1.确定基本退避(推迟)时间为争用期2r。
⒉定义参数k,它等于重传次数,但k不超过10,即k=min[重传次数,10]。当重传次数不超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10。
3.从离散的整数集合[0,1,,2-1]中随机取出一个数r,重传所需要退避的时间就是r倍的基本退避时间,即2r t 。
4.当重传达16次仍不能成功时,说明网络太
拥挤,认为此帧永远无法正确发出,抛弃此帧并向高层报告出错。
image.png
若连续多次发生冲突,就表明可能有较多的站参与争用信道。
使用此算法可*使重传需要推迟的平均时间随重传次数的增大而增大
,因而减小发生碰撞的概率,有利于整个系统的稳定

最小帧长问题
image.png

CSMA/CA协议

image.png
工作原理

  • 发送数据前,先检测信道是否空闲。
  • 空闲则发出RTS(request to send),RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;信道忙则等待。
  • 接收端收到RTS后,将响应CTS (clear to send)。
  • 发送端收到CTS后,开始发送数据帧(同时预约信道:发送方告知其他站点自己要传多久数据)。
  • 接收端收到数据帧后,将用CRC来检验数据是否正确,正确则响应ACK帧。
  • 发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)。
    CMSA/CA & CMSA/CD
    相同点:
    CSMA/CD与CSMA/CA机制都从属于CSMA的思路,其核心是先听再说。
    换言之,两个在接入信道之前都须要进行监听。
    当发现信道空闲后,才能进行接入。

不同点:
1.传输介质不同:CSMA/CD 用于总线式以太网【有线】,而CSMA/CA用于无线局域网【无线】。
载波检测方式不同:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不同。CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量载波混合检测三种检测信道空闲的方式。
3.CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传。

轮询访问协议

轮询协议

image.png

令牌传递协议

image.png

链路层设备

image.png

网桥

网桥根据MAC帧的目的地址对帧进行转发和过滤
当网桥收到一个帧时,并不向所有接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口,或者是把它丢弃(即过滤)。
image.png

网段:一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。

网桥优点:
1.过滤通信量,增大吞吐量。
2.扩大了物理范围。
3.提高了可靠性。
4.可互连不同物理层、不同MAC子层和不同速率的以太网。

透明网桥

透明网桥:“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备―-自学习
image.png

源路由网桥

源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
方法:源站以广播方式向欲通信的目的站发送一个发现帧。

交换机

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

image.png

直通式交换机

查完目的地址(6B)就立刻转发。
延迟小,可靠性低,无法支持具有不同速率的端口的交换。

存储转发式交换机

将帧放入高速缓存,并检查否正确,正确则转发,错误则丢弃。
延迟大,可靠性高,可以支持具有不同速率的端口的交换。

冲突域

在同一个冲突域中的每一个节点都能收到所有被发送的帧。
简单的说就是同一时间内只能有一台设备发送信息的范围。

广播域

网络中能接收任一设备发出的广播帧的所有设备的集合。
简单的说如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域。
image.png
image.png
一个广播域
四个冲突域

以太网

基础

  • “以太网” 不是一种具体的网络, 而是一种技术标准; 它既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等
  • 以太网中的网线必须使用双绞线,传输速率有10M, 100M, 1000M等
  • 以太网是当前应用广泛的局域网技术; 和以太网并列的还有令牌环网, 无线LAN等

    以太网中帧的格式

第三章 数据链路层 - 图72

  • 由上图可以看出帧协议类型字段有三种值,分别对应IP、ARP、RARP(现在已经弃用)
  • 源地址和目的地址是指网卡的硬件地址(也叫MAC地址), 长度是48位,是在网卡出厂时固化的

    关于MAC地址

  • MAC地址是用来识别数据链路层中相连的结点

  • MAC地址长度为48位, 6个字节,一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • MAC地址在网卡出厂时就确定了, 不能修改。 MAC地址通常是唯一的(虚拟机中的MAC地址不是真实的MAC地址可 能会冲突,也有些网卡支持用户配置MAC地址)

在数据链路层,存在多种异构的网络,比如以太网、令牌环网等,也就是数据链路层存在多种MTU,既多种不同的传输信道,如果只有MAC地址,在不同的网络之间是每有办法传输的,只能在MAC地址上封装一次抽象的IP地址来封装底层各种不同的网络。

MAC地址与IP地址

  • 一个数据报中的源IP地址和目的IP地址是为了标识这个数据的起点和终点
  • 源MAC地址和目的MAC地址是为了标识上一站的地址和下一站的地址
  • 在一个数据报的传输过程中,IP一直不变,而MAC地址是一直在变的

    MTU

    MAC帧中的数据长度规定为46-1500字节,ARP(地址解析协议)数据包的长度不够46字节要在后面补填充位,如果大于1500字节,必须要求网络层进行分片
    最大值1500称为以太网的最大传输单元(MTU)不同的网络类型有不同的MTU
    如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU,则需要对数据包进行分片。

    MTU&IP

    由于链路层存在MTU的限制,导致网络层的报文如果超过1500字节,就必须要对齐进行分片发送。
    将较大的IP包分成多个小包, 并给每个小包打上标签,每个小包IP协议头的 16位标识(id) 都是相同的,这样在重组的时候就知道这个小包来自于哪个报文。
    每个小包的IP协议头的3位标志字段中, 第2位MF置为0, 表示允许分片, 第3位DF来表示结束标记(当前是否是后一个小包, 是的话置为1, 否则置为0)。

到达对端时再将这些小包按顺序重组, 拼装到一起返回给传输层。一旦这些小包中任意一个小包丢失,接收端的重组就会失败,但是IP层不会负责重新传输数据。

MTU&UDP

  • 只要UDP报文中携带的数据超过过1472(1500 - 20(IP首部) - 8(UDP首部)),那么就会在网络层分成多个IP数据报。
  • 这些IP数据报有任意一个丢失,都会引起接收端网络层重组失败。那么这就意味着,如果UDP数据报在网络层被分片,整个数据被丢失的概率就大大增加。

    MTU&TCP

  • TCP报文的长度不能无限大,依然要受制于MTU, TCP的单个数据报的大消息长度称为MSS(Max Segment Size)。

  • TCP在建立连接时,首先会和对方协商MSS的大小。理想的情况下,MSS的值正好是在IP不会被分片处理的大长度(这个长度仍然是受制于数据链路层的·MTU)
  • 双方在发送SYN的时候会在TCP头部写入自己能支持的MSS值。然后双方得知对方的MSS值之后选择较小的作为最终的MSS。MSS的值就是在TCP首部的40字节变长选项中(kind=2)。
  • **MSS = MTU - TCP首部 - IP首部**,既TCP报文的数据长度

    ARP协议

    ARP是介于链路层到网络层之间的协议,它的作用是为了解析IP地址到MAC地址的映射,在网络层一个数据报拿到了下一条的IP地址,但是数据报是要经过底层的链路层传输的,所以要通过ARP协议得到下一条的MAC地址才能传输数据报。数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃。

    ARP原理

  • 源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播)

  • 目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中。
  • 每台主机都维护一个ARP缓存表可以用arp -a命令查看。缓存表中的表项有过期时间(一般为20分钟)如果20分钟内没有再次使用某个表项则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址。

为什么要存在缓存表: 缓存表其实是为了提高效率的,要不然每次发送数据都要先去广播的到对端的MAC地址。

缓存表中的数据为什么要设置有效时间: 假设在缓存表中的数据一直不变,而一台主机的网卡坏掉了,这时该主机的MAC地址已经改变,如果依然按照缓存表中的映射去发送,那么就会产生一些没用的网络数据。

ARP数据包的格式

20190121103152728_.png

  • 源MAC地址、目的MAC地址在以太网首部和ARP请求中各出现一次,对于链路层为以太网的情况 是多余的,但如果链路层是其它类型的网络则有可能是必要的。
  • 硬件类型指链路层网络类型,1表示以太网
  • 协议类型指要转换的地址类型,0x0800为IP地址
  • 硬件地址长度对于以太网地址为6字节; 协议地址长度对于IP地址为4字节
  • op字段为1表示ARP请求,op字段为2表示ARP应答

    拓展以太网

    csdn

    碰撞域和广播域

    csdn

    网络互联设备

    集线器
    集线器是工作在物理层的设备,当他收到数据以后就把这个数据复制,复制以后就把这个数据象所有的接口发送一次。
    所以集线器所有的接口是一个冲突域和广播域。

交换机
交换机就和集线器不一样了,交换机工作在数据链路层的设备,他能够识别数据帧和MAC地址,他工作的方式就和集线器有很大的区别。交换机是依靠MAC地址表来转发数据。对于MAC地址表里没有的数据就广播。
所以我们说交换机的每个接口都是一个冲突域,交换机的所有的接口都属于一个广播域。

路由器
路由器是工作在网络层的设备,路由器转发数据是依靠路由表来转发数据。对于广播流量路由器会处理但是不会转发数据。
所以我们说路由器的每个接口都属于同一个冲突域和广播域。路由器可以用来隔离广播。

集线器(HUB)所有端口都在同一个广播域、冲突域内,所以HUB不能分割冲突域和广播域。 交换机(Switch)所有端口都在同一个广播域内,而每一个端口就是一个冲突域,所以交换机能分割冲突域,但分割不了广播域。虚拟局域网(Vlan)技术可以隔离广播域。 路由器(Router)的每个端口属于不同的广播域、冲突域。

也可以这样理解:

  • HUB属于第一层设备所以分隔不了冲突域;
  • 交换机和网桥属于第二层设备所以能分割冲突域;
  • 路由器属于第三层设备,所以既能分割冲突域又能分割广播域。

冲突域

连接在同一导线上的所有工作站的集合,或者说是同一物理网段上所有节点的集合以太网上竞争同一带宽的节点集合。
这个域代表了冲突在其中发生并传播的区域,这个区域可以被认为是共享段。
在OSI模型中,冲突域被看作是第一层的概念,连接同一冲突域的设备有Hub,Reperter或者其他进行简单复制信号的设备。也就是说,用Hub或者Repeater连接的所有节点可以被认为是在同一个冲突域内,它不会划分冲突域。
而第二层设备(网桥,交换机)第三层设备(路由器)都可以划分冲突域的,当然也可以连接不同的冲突域。
简单的说,可以将Repeater等看成是一根电缆,而将网桥等看成是一束电缆。

广播域

接收同样广播消息的节点的集合
如:在该集合中的任何一个节点传输一个广播帧,则所有其他能收到这个帧的节点都被认为是该广播帧的一部分。由于许多设备都极易产生广播,所以如果不维护,就会消耗大量的带宽,降低网络的效率。由于广播域被认为是OSI中的第二层概念,所以像Hub,交换机等第一,第二层设备连接的节点被认为都是在同一个广播域。而路由器,第三层交换机则可以划分广播域,即可以连接不同的广播域。

使用光纤拓展

主机使用光纤和一对光纤调制解调器连接到集线器,很容易使主机和几公里以外的集线器相连接
image.png

光纤

光纤是光纤通信的传输媒体,在日常生活中,由于光在光导纤维的传导损耗比电在电线传导的损耗低得多,光纤被用作长距离的信息传递

光纤的原理是使用光的全反射,如图,光纤分为内纤芯和外包层,由于纤芯的折射率大于包层的折射率,当光线从高折射率的媒体射向低折射率的媒体时,其折射角将大于入射角。因此,如果入射角足够大,就会出现全反射,光也就沿着光纤传输下去
image.png
只要从纤芯中射到纤芯表面的光线的入射角大于某个临界角度,就可产生全反射
image.png
全光网络:指的是网络传输和交换过程全部通过光纤实现,因为不必在其中实现电光和光电转换,因此能大大提高网速
光中继器:是在长距离的光纤通信系统中补偿光缆线路光信号的损耗和消除信号畸变及噪声影响的设备。

使用集线器拓展

将多个以太网段连成更大的、多级星形结构的以太网,如某个部门有一系,二系,三系通过集线器扩展
image.png

集线器

集线器的主要功能是对接收到的信号进行再生整形放大转发以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于“物理层
image.png
优点:
使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信
扩大了以太网覆盖的地理范围
缺点:
碰撞域增大了,但总的吞吐量并未提高
如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来

碰撞域

碰撞域(collision domain)又称为冲突域,是指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络
碰撞域越大,发生碰撞的概率越高
image.png

在数据链路层扩展以太网-网桥

  • 扩展以太网更常用的方法是在数据链路层进行
  • 早期使用网桥,现在使用以太网交换机

image.png

网桥

  • 网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发
  • 网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口
  • 网桥的内部结构如下图

image.png
优点:
过滤通信量,扩大了物理范围,提高了可靠性
可互连不同物理层、不同 MAC 子层和不同速率(如10 Mb/s 和 100 Mb/s 以太网)的局域网
缺点
存储转发增加了时延,在MAC 子层并没有流量控制功能,具有不同 MAC 子层的网段桥接在一起时时延更大
网桥只适合于用户数不太多(不超过几百个)和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞。这就是所谓的广播风暴
网桥使各网段成为隔离开的碰撞域:
image.png
网桥和集线器不同:

  1. 集线器在转发帧时,不对传输媒体进行检测
  2. 网桥在转发帧之前必须执行 CSMA/CD 算法,若在发送过程中出现碰撞,就必须停止发送和进行退避
  3. 集线器工作在物理层,网桥工作在数据链路层

透明网桥

目前使用得最多的网桥是透明网桥(transparent bridge)
“透明”是指局域网上的站点并不知道所发送的帧将经过哪几个网桥,因为网桥对各站来说是看不见的

网桥的工作原理是将接收到的帧进行过滤转发,所以转发表的建立是网桥中至关重要的问题,网桥应当按照以下自学习算法处理收到的帧和建立转发表:

  • 若站点A发送一个帧从网桥的某一接口x进入网桥,那么反之从接口x沿着反方向则一定能返回到站点A
  • 网桥每次收到一个帧,就记录下发送站点的源地址和进入网桥的接口号,作为转发表中的一项
  • 在创建转发表时,就叫发送方的源地址写在地址栏处,同时记录下进入网桥的接口,在后续转发帧时则可以查询转发表确定转发的接口

建立转发表过程举例:
如下图由网桥1和网桥2连接了三个网段LAN1,LAN2和LAN3,实现了三个网段的互联,两个网桥各有端口1和端口2
image.png
1、网桥1和网桥2初始的时候转发表都为空,现图中LAN1网段中的站点A向站点B发送数据帧,网桥1会从它的端口1收到该数据帧并查找转发表,此时在转发表中未找到目的地址为B的记录,此时网桥1就向除端口1以外的其他端口广播这个数据帧,那么这个帧就广播到了网桥1的端口2所连接的LAN2上,网桥1发现源MAC地址不在自己的转发表中,就将源地址A写入到自己的转发表中并记录下进入网桥1的端口号
2、在发送广播时,网桥2的端口1也收到了这个数据帧,就查找转发表,在转发表中也未找到目的地址为B的目的地址,此时网桥2就向除端口1之外的其他端口转发这个数据帧,此时这个数据帧就广播到了网桥2的端口2所连接的LAN3中,网桥2发现源MAC地址A不在转发表中,就将源地址A的MAC地址写入网桥2的转发表中并记录进入网桥2的端口号1
3、当LAN3上的站点F向LAN2上的站点C发送数据帧时,网桥2是从端口2接收到站点F发送过来的数据帧,在转发表中未找到目的地址为C的转发表项,此时端口2就向除端口2以外的其他端口转发这个数据帧,这个数据帧就广播到了网桥2的端口1所连接的LAN2,LAN2中的所有站点都可以收到这个数据帧,此时LAN2中的站点C发现这个数据帧时发给自己的就接收这个数据帧,其他站点发现不是给自己的就丢弃数据帧,网桥2发现源地址F不在转发表中,并记录下源地址F和进入网桥2的端口号,网桥1的端口2因为连接这LAN2也会受到广播F发给C的数据帧,网桥1的转发表中未找到转发表项,所以网桥1向除端口2以外的其他端口转发,这个数据帧就转发到了网桥1的端口1上,此时网桥1发现站点F不在其转发表上,就在转发表中记录下站点F的源地址和进入网桥1的端口号


通过上述过程我们可以发现建立转发表是通过不断的发送广播来实现的,但是若有的网络为环形网络,此时这个数据帧会一直在网络在“转圈圈”,在透明网桥中,为了避免这个问题,引入了生成树算法
image.png

在数据链路层扩展以太网-交换机

在第二节中所讲的网桥扩展方法是早起的一种方法,现在使用的方法是以太网交换机,以太网交换机通常都有十几个接口。因此,以太网交换机实质上就是一个多接口的网桥,可见交换机工作在数据链路层
以太网交换机的每个接口都直接与主机相连,并且一般都工作在全双工方式,交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据,以太网交换机由于使用了专用的交换结构芯片,通过硬件来转发就比靠软件转发的网桥速度快得多,所以交换机的出现很快的就淘汰掉了网桥
image.png
用户独享带宽,增加了交换机总带宽,如下图,用集线器扩展的以太网,要平分带宽,而用交换机扩展的以太网,每个站点独享带宽
image.png
在逻辑上,以集线器扩展的以太网,本质还是总线型以太网,必须采用CSMA/CD协议来处理碰撞,并且只能以半双工模式工作
而交换机采用的是星型以太网,不使用共享总线,没有碰撞问题,不必使用CSMA/CD,且采用全双工模式工作,但仍使用以太网帧的结构
image.png

以太网交换机的交换方式

  1. 存储转发方式:把整个数据帧先缓存后再进行处理
  2. 直通 (cut-through) 方式:接收数据帧的同时就立即按数据帧的目的 MAC 地址决定该帧的转发接口,因而提高了帧的转发速度,缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站

    以太网交换机的自学习

    交换机的转发依然是依赖于转发表,以太网交换机运行自学习算法自动维护转发表
    image.png
    image.png
    image.png
    image.png
    第三章 数据链路层 - 图92

    高速以太网

    100BASE-T 以太网——快速以太网

    100BASE-T是在双绞线上传送100Mb/s基带信号的星形拓扑以太网
    仍使用IEEE802.3的CSMA/CD协议。
    它又称为快速以太网(Fast Ethernet)。
    用户只需更换一张适配器,再配上一个100Mb/s的集线器,就可很方便地由10BASE-T以太网直接升级到100BASE-T,而不需要改变网络的拓扑结构。

    吉比特以太网——千兆以太网

    吉比特以太网又称为千兆以太网。
    吉比特以太网可用作现有网络的主干网,也可在高带宽(即高速率)的应用场合中用来连接工作站和服务器。

吉比特以太网的物理层使用以下两种成熟的技术:
(1)来自现有的以太网。
(2)ANSI制定的光纤通道FC(Fibre Channel)。

吉比特以太网的标准IEEE802.3z有以下几个特点:
(1)允许在1Gb/s下全双工和半双工两种工作方式。
(2)使用IEEE802.3协议规定的帧格式。
(3)在半双工方式下使用CSMA/CD协议,而在全双工方式下不需要使用CSMA/CD协议。
(4)与10BASE-T和100BASE-T技术向后兼容。

10吉比特以太网——万兆以太网

10吉比特以太网又称为万兆以太网。
10GE并非将吉比特以太网的速率简单地提高到10倍。

由于10GE的出现,以太网的工作范围已经从局域网扩大到城域网和广域网,从而实现了端到端的以太网传输**。**

这种工作方式的好处是:
(1)以太网是一种经过实践证明的成熟技术,无论是因特网服务提供者ISP还是端用户都很愿意使用以太网。
(2)以太网的互操作性也很好,不同厂商生产的以太网都能可靠地进行互操作。
(3)在广域网中使用以太网时,其价格大约只有SONET的五分之一和ATM的十分之一,以太网还能够适应多种的传输媒体,如铜缆、双绞线和各种光缆,这就使具有不同传输媒体的用户在通信时不需重新布线。
(4)端到端的以太网连接使帧的格式全都是以太网的格式,而不需要再进行帧格式的转换,这就简化了操作和管理。

10吉比特以太网的物理层使用以下两种新开发的技术:
(1)局域网物理层 LAN PHY。
(2)可选的广域网物理层 WAN PHY。
10吉比特以太网的特点:
(1)10GE的帧格式与10Mb/s、100Mb/s和1Gb/s以太网的帧格式完全相同。
(2)由于传输速率高,10GE不再使用铜线而只使用光纤作为传输媒体。
(3)10GE只工作在全双工方式,因此不存在争用问题,也不使用CSMA/CD协议。

注:以太网从10Mb/s到10Gb/s的演进证明了以太网是:
(1)可扩展的(从10Mb/s到10Gb/s)。
(2)灵活的(多种媒体、全/半双工、共享/交换)。
(3)易于安装。
(4)稳健性好。

使用高速以太网进行宽带接入

高速以太网接入的一个重要特点:是它可以提供双向的宽带通信,并且可以根据用户对带宽的需求灵活地进行带宽的升级

高速以太网接入可以采用多种方式,其中一种方式——光纤到大楼FTTB
(1)每个大楼的楼口都安装一个100Mb/s的以太网交换机(对通信量不大的楼房也可以使用10Mb/s的以太网交换机)。
(2)然后根据情况在每一楼层安装一个10Mb/s或100Mb/s的以太网交换机。
(3)各大楼的以太网交换机通过光纤汇接到光结点汇接点。
(4)若干个光结点汇接点再通过吉比特以太网汇接到一个高速汇接点(称为GigaPoP)。
(5)然后通过城域网连接到因特网的主干网。
第三章 数据链路层 - 图93