slacr_

Just to record my life and thoughts.
笔记/编程/杂乱/极简

[计算机网络]数据链路层

May 1, 2023Network10158 words in 68 min

计算机网络笔记

物理层的主要任务是定义传输介质、数据传输速率、传输距离和信号传输方式等。数据链路层关注的是如何将数据从一个节点传输到另一个节点,以及如何保证数据的可靠传输。

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

  • 点对点信道。这种信道使用一对一的点对点通信方式。
  • 广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。

概念

所谓链路(link)就是从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。在进行数据通信时,两台计算机之间的通信路径往往要经过许多段这样的链路。可见链路只是一条路径的组成部分。

数据链路(data link)则是另一个概念。这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输若把实现这些协议的硬件和软件加到链路上,就构成了数据链路
现在最常用的方法是使用网络适配器(既有硬件,也包括软件)来实现这些协议。一般的适配器都包括了数据链路层和物理层这两层的功能。
早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。

点对点信道的数据链路层的协议数据单元——帧。
数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并上交给网络层。在互联网中,网络层协议数据单元就是IP数据报(或简称为数据报、分组或包)。

数据链路层协议三个基本问题

封装成帧、透明传输和差错检测

封装成帧

封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限)。此外,首部和尾部还包括许多必要的控制信息。

分组交换的一个重要概念就是:所有在互联网上传送的数据都以分组(即IP数据报)为传送单位。网络层的IP数据报传送到数据链路层就成为帧的数据部分。在帧的数据部分的前面和后面分别添加上首部和尾部,构成了一个完整的帧。这样的帧就是数据链路层的数据传送单元。
各种数据链路层协议都对帧首部和帧尾部的格式有明确的规定。显然,为了提高帧的传输效率,应当使帧的数据部分长度尽可能地大于首部和尾部的长度。每一种链路层协议都规定了所能传送的帧的数据部分长度上限——最大传送单元MTU(Maximum Transfer Unit)

当数据是由可打印的ASCII码组成的文本文件时,帧定界可以使用特殊的帧定界符。

透明传输

当传送的帧是用文本文件组成的帧时(文本文件中的字符都是从键盘上输入的),其数据部分显然不会出现像SOH或EOT这样的帧定界控制字符。可见不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。

但当数据部分是非ASCII码的文本文件时(如二进制代码的计算机程序或图像等), 就会出现错误定界.为了解决透明传输问题,就必须设法使数据中可能出现的控制字符“SOH”和“EOT”在接收端不被解释为控制字符。具体的方法是:发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”

差错检测

现实的通信链路都不会是理想的。这就是说,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。这就叫作比特差错。在一段时间内,传输错误的比特占所输比特总数的比率称为误码率BER(Bit Error Rate)

为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。目前在数据链路层广泛使用了循环冗余检验CRC(Cyclic Redundancy Check)的检错技术。

这种为了进行检错而添加的冗余码常称为帧检验序列FCS (Frame Check Sequence)
原理很简单, 接受双方各持有一个m位生成多项式, 发送放将帧数据后添加m-1个0, 除以这个生成多项式然后加上m-1位的余数, 此时得到的数据肯定能被这个多项式整除. 接受方只需检验.

CRC差错检测技术,则只能做到对帧的无差错接受.
传输差错可分为两大类:一类就是前面所说的最基本的比特差错,而另一类传输差错则更复杂些,这就是收到的帧并没有出现比特差错,但却出现了帧丢失、帧重复或帧失序

对于通信质量良好的有线传输链路,数据链路层协议不使用确认和重传机制,即不要求数据链路层向上提供可靠传输的服务。如果在数据链路层传输数据时出现了差错并且需要进行改正,那么改正差错的任务就由上层协议(例如,运输层的TCP协议)来完成。
对于通信质量较差的无线传输链路,数据链路层协议使用确认和重传机制,数据链路层向上提供可靠传输的服务. 实践证明,这样做可以提高通信效率。

点对点协议PPP

在通信线路质量较差的年代,在数据链路层使用可靠传输协议曾经是一种好办法。因此,能实现可靠传输的高级数据链路控制HDLC (High-level Data Link Control)就成为当时比较流行的数据链路层协议。但现在HDLC已很少使用了。对于点对点的链路,简单得多的点对点协议PPP(Point-to-Point Protocol)则是目前使用得最广泛的数据链路层协议。

PPP 协议特点

互联网用户通常都要连接到某个ISP才能接入到互联网。PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议

PPP协议应满足的需求

IETF认为,在设计PPP协议时必须考虑以下多方面的需求[RFC 1547]:

  • 简单
  • 封装成帧
  • 透明性
  • 多种网络层协议
    PPP协议必须能够在同一条物理链路上同时支持多种网络层协议(如IP和IPX等)的运行。
  • 多种类型链路
    串行的(一次只发送一个比特)或并行的(一次并行地发送多个比特),同步的或异步的,低速的或高速的,电的或光的,交换的(动态的)或非交换的(静态的)点对点链路。
    在1999年公布的在以太网上运行的PPP,即PPP over Ethernet,简称为PPPoE [RFC 2516],这是PPP协议能够适应多种类型链路的一个典型例子。PPPoE是为宽带上网的主机使用的链路层协议。这个协议把PPP帧再封装在以太网帧中(当然还要增加一些能够识别各用户的功能)。宽带上网时由于数据传输速率较高,因此可以让多个连接在以太网上的用户共享一条到ISP的宽带链路。现在,即使只有一个用户利用ADSL进行宽带上网(并不和其他人共享到ISP的宽带链路),也是使用PPPoE协议,
  • 差错检测(error detectio)
    PPP协议必须能够对接收端收到的顿进行检测,并立即丢弃有差错的帧。若在数据链路层不进行差错检测,那么已出现差错的无用帧就还要在网络中继续向前转发,因而会白白浪费许多的网络资源。
  • 检测连接状态
  • 最大传送单元
    PP协议必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值。这样做是为了促进各种实现之间的互操作性。如果高层协议发送的分组过长并超过MTU的数值,PPP就要丢弃这样的帧,并返回差错。需要强调的是,MTU是数据链路层的帧可以载荷的数据部分的最大长度,而不是帧的总长度。
  • 网络层地址协商
  • 数据压缩协商

PPP协议的组成

PPP协议有三个组成部分:

  • 一个将IP数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶检验的8比特数据),也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分。这个信息部分的长度受最大传送单元MTU的限制。
  • 一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link ControlProtocol)。通信的双方可协商一些选项。在RFC1661中定义了11种类型的LCP分组。
  • 一套网络控制协议NCP(Network Control Protocol),其中的每一个协议支持不同的网络层协议,如IP、OSI的网络层、DECnet和AppleTalk等。

PPP 协议的帧格式

PPP帧的首部和尾部分别为四个字段和两个字段。

首部中的地址字段A规定为0xFF(即11111111),控制字段C规定为0x03(即00000011)。最初曾考虑以后再对这两个字段的值进行其他定义,但至今也没有给出。可见这两个字段实际上并没有携带PPP帧的信息
PPP首部的第四个字段是2字节的协议字段。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制协议LCP的数据,而0x8021表示这是网络层的控制数据。
信息字段的长度是可变的,不超过1500字节。
尾部中的第一个字段(2字节)是使用CRC的帧检验序列FCS。

字节填充

当信息字段中出现和标志字段一样的比特(0x7E)组合时,就必须采取一些措施使这种形式上和标志字段一样的比特组合不出现在信息字段中。
当PPP使用异步传输时,它把转义符定义为0x7D(即01111101),并使用字节填充,
RFC1662规定了如下所述的填充方法:
(1)把信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E)。
(2)若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把0x7D转变成为2字节序列(0x7D,0x5D)。
(3)若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。例如,出现0x03(在控制字符中是“传输结束”ETX)就要把它转变为2字节序列(0x7D,0x23)。

零比特填充

PPP协议用在SONET/SDH链路时,使用同步传输(一连串的比特连续传送)而不是异步传输(逐个字符地传送)。在这种情况下,PPP协议采用零比特填充方法来实现透明传输。
零比特填充的具体做法是:在发送端,先扫描整个信息字段(通常用硬件实现,但也可用软件实现,只是会慢些)。只要发现有5个连续1,则立即填入一个0。因此经过这种零比特填充后的数据,就可以保证在信息字段中不会出现6个连续1。接收端在收到一个帧时,先找到标志字段F以确定一个帧的边界,接着再用硬件对其中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除,以还原成原来的信息比特流.

PPP协议的工作状态

当用户拨号接入ISP后,就建立了一条从用户个人电脑到ISP的物理连接。这时,用户个人电脑向ISP发送一系列的链路控制协议LCP分组(封装成多个PPP帧),以便建立LCP连接。这些分组及其响应选择了将要使用的一些PPP参数。接着还要进行网络层配置,网络控制协议NCP给新接入的用户个人电脑分配一个临时的IP地址。这样,用户个人电脑就成为互联网上的一个有IP地址的主机了。
当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接
PPP链路的起始和终止状态永远是“链路静止”(Link Dead)状态,这时在用户个人电脑和ISP的路由器之间并不存在物理层的连接
==P83==

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

局域网的数据链路层

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

  • 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
  • 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
  • 提高了系统的可靠性(reliability)、可用性(availability)和生存性(survivability)。

局域网可按网络拓扑进行分类.

共享信道要着重考虑的一个问题就是如何使众多用户能够合理而方便地共享通信媒体资源。这在技术上有两种方法:

  • 静态划分信道
    频分复用、时分复用、波分复用和码分复用等。用户只要分配到了信道就不会和其他用户发生冲突。但这种划分信道的方法代价较高,不适合于局域网使用
  • 动态媒体接入控制,它又称为多点接入(multiple access),其特点是信道并非在用户通信时固定分配给用户。这里又分为以下两类
    • 随机接入 必须有解决碰撞的网络协议。
    • 受控接入 典型代表有分散控制的令牌环局域网和集中控制的多点线路探询(polling),或称为轮询。

以太网的两个主要标准

以太网是美国施乐(Xerox)公司的Palo Alto研究中心(简称为PARC)于1975年研制成功的。那时,以太网是一种基带总线局域网,当时的数据率为2.94 Mbit/s。以太网用无源电缆作为总线来传送数据帧,并以曾经在历史上表示传播电磁波的以太(Ether)来命名。

出于有关厂商在商业上的激烈竞争,IEEE 802委员会当初未能形成一个统一的、“最佳的"局域网标准,而是被迫制定了几个不同的局域网标准,如802.4令牌总线网、802.5令牌环网等。为了使数据链路层能更好地适应多种局域网标准,IEEE 802委员会就把局域网的数据链路层拆成两个子层,即逻辑链路控制LLC(Logical Link Control)子层和媒体接入控制MAC(Medium Access Control)子层。与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种传输媒体和MAC子层的局域网对LLC子层来说都是透明的

然而到了20世纪90年代后,激烈竞争的局域网市场逐渐明朗。以太网在局域网市场中已取得了垄断地位,并且几乎成为了局域网的代名词。这里不必叙述后来陆续出现的多种以太网标准的详细过程。目前使用最多的局域网只剩下DIX Ethemet V2(简称为以太网),而不是IEEE 802委员会制定的几种局域网。IEEE 802委员会制定的逻辑链路控制子层LLC(即IEEE 802.2标准)的作用已经消失了,很多厂商生产的适配器上就仅装有MAC协议而没有LLC协议。

`以太网和其他几种局域网技术的区别`

以太网和其他局域网技术的最主要区别在于它们的传输介质、传输速率和数据传输方式等方面。以下是一些具体的区别:

  • 传输介质:以太网的传输介质可以是双绞线、同轴电缆或光纤,而令牌环和FDDI则主要采用光纤作为传输介质。
  • 传输速率:以太网的传输速率从最初的10Mbps不断提高,现在已经达到了10Gbps、40Gbps、100Gbps等级别,而令牌环和FDDI的传输速率则相对较低。
  • 数据传输方式:以太网采用了CSMA/CD协议来控制数据传输,而令牌环和FDDI则是采用令牌传递的方式来控制数据传输。
  • 应用场景:以太网的应用范围广泛,可以用于各种办公、学校、工厂等局域网环境中,而令牌环和FDDI则主要应用于一些需要高速、高可靠性的特殊环境中,例如金融、航空航天等领域。
    总的来说,以太网在传输速率、传输介质等方面具有更加灵活的选择,而且成本更低,易于部署和维护,因此被广泛应用。而其他局域网技术则在一些特殊的应用场景下,由于具有更高的可靠性和安全性等特点而得到应用。

适配器的作用

计算机与外界局域网的连接是通过适配器(adapter)。适配器本来是在主机箱内插入的一块网络接口板(或者是在笔记本电脑中插入一块PCMCIA卡——个人计算机存储器卡接口适配器)。这种接口板又称为网络接口卡NIC(Network Interface Card)或简称为“网卡”。在这种通信适配器上面装有处理器和存储器(包括RAM和ROM)。

计算机的硬件地址就在适配器的ROM中,而计算机的软件地址——IP地址,则在计算机的存储器中。

CSMA/CD协议

总线的特点是:当一台计算机发送数据时,总线上的所有计算机都能检测到这个数据。仅当数据帧中的目的地址与适配器ROM中存放的硬件地址一致时,该适配器才能接收这个数据帧。适配器对不是发送给自己的数据帧就丢弃。这样,具有广播特性的总线上就实现了一对一的通信。
为了通信的简便,以太网采取了以下两种措施:
第一,采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据。适配器对发送的数据帧不进行编号,也不要求对方发回确认。这样做可以使以太网工作起来非常简单,而局域网信道的质量很好,因通信质量不好产生差错的概率是很小的。因此,以太网提供的服务是尽最大努力的交付,即不可靠的交付。当目的站收到有差错的数据帧时(例如,用CRC查出有差错),就把帧丢弃,其他什么也不做。对有差错帧是否需要重传则由高层来决定。例如,如果高层使用TCP协议,那么TCP就会发现丢失了一些数据。于是经过一定的时间后,TCP就把这些数据重新传递给以太网进行重传。但以太网并不知道这
是重传帧,而是当作新的数据帧来发送。

总线上只要有一台计算机在发送数据,总线的传输资源就被占用。因此,在同一时间只能允许一台计算机发送数据,否则各计算机之间就会互相干扰,使得所发送数据被破坏。以太网采用的协调方法和上面的办法非常像,它使用的协议是CSMA/CD,意思是载波监听多点接入/碰撞检测(Carrier Sense Multiple Access with Collision Detection)

第二,以太网发送的数据都使用曼彻斯特(Manchester)编码的信号

CSMA/CD协议特点

“多点接入”就是说明这是总线型网络,许多计算机以多点接入的方式连接在一根总线上。协议的实质是“载波监听”和“碰撞检测”。
“载波监听”也就是“边发送边监听”。以太网中,把Carrier译为“载体”或“媒体”可能更加准确些。
载波监听就是不管在想要发送数据之前,还是在发送数据之中,每个站都必须不停地检测信道。在发送前检测信道,是为了避免冲突。如果检测出已经有其他站在发送,则本站就暂时不要发送数据。在发送中检测信道,是为了及时发现如果有其他站也在发送,就立即中断本站的发送。这就称为碰撞检测

最多两倍传播时延(2τ)都检测出发生碰撞, 最少是τ, 在中间相撞.

在使用CSMA/CD协议时,一个站不可能同时进行发送和接收(但必须边发送边监听信道)。因此使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行双向交替通信(半双工通信)。

以太网的端到端往返时间2τ称为争用期(contention period),它是一个很重要的参数。争用期又称为碰撞窗口(collision window)。这是因为一个站在发送完数据后,只有通过争用期的“考验”,即经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。这时,就可以放心把这一帧数据顺利发送完毕。

以太网使用截断二进制指数退避(truncated binary exponential backoff)算法来确定碰撞后重传的时机。==p101==

使用集线器的星形拓扑

传统以太网最初使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。这种以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫作集线器(hub)

集线器特点:

  • 使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议(更具体些说,是各站中的适配器执行CSMA/CD协议)。网络中的各站必须竞争对传输媒体的控制,并且在同一时刻至多只允许一个站发送数据。
  • 一个集线器有许多端口
  • 集线器工作在物理层,它的每个端口仅仅简单地转发比特—收到1就转发1,收到0就转发0,不进行碰撞检测
  • 集线器采用了专门的芯片,进行自适应串音回波抵消。

以太网信道利用率

要提高以太网的信道利用率,就必须减小τ与To之比。在以太网中定义了参数a,它是以太网单程端到端时延τ与帧的发送时间To之比:

极限信道利用率Smax为


?

以太网MAC层

在局域网中,硬件地址又称为物理地址或MAC地址
IEEE 802标准为局域网规定了一种48位的全球地址(一般都简称为“地址”),这就是局域网上的每一台计算机中固化在适配器的ROM中的地址

IEEE的注册管理机构RA (Registration Authority)是局域网全球地址的法定管理机构[W-IEEERA],它负责分配地址字段的6个字节中的前三个字节(即高位24位)。世界上凡要生产局域网适配器的厂家都必须向IEEE购买由这三个字节构成的这个号(即地址块),这个号的正式名称是组织唯一标识符OUI(Organizationally Unique Identifier),通常也叫作公司标识符(company_id)[RFC 7042]。
可见购买了一个OUI,就可以生成出224个不同的6字节(48位)MAC地址,这种地址又称为EUI-48,这里EUI表示扩展的唯一标识符(Extended Unique Identifier)。EUI-48的使用范围并不局限于局域网的硬件地址,而是可以用于软件接口。在生产适配器时,这种6字节的MAC地址已被固化在适配器的ROM中。因此,MAC地址也叫作硬件地址(hardware address)或物理地址
IEEE规定地址字段的第一字节的最低有效位为I/G位。I/G表示Individual/Group。当I/G位为0时,地址字段表示一个单个站地址。当I/G位为1时表示组地址,用来进行多播.

IEEE还考虑到可能有人并不愿意向IEEE的RA购买OUI。为此,IEEE把地址字段第一字节的最低第二位规定为G/L位,表示Global/Local。当G/L位为0时是全球管理(保证在全球没有相同的地址),厂商向IEEE购买的OUI都属于全球管理。当地址字段的G/L位为1时是本地管理,这时用户可任意分配网络上的地址。采用2字节地址字段时全都是本地管理。但应当指出,以太网几乎不理会这个G/L位。
在全球管理时,对每一个站的地址可用46位的二进制数字来表示(最低位和最低第二位均为0时)。剩下的46位组成的地址空间可以有2^46个地址,已经超过70万亿个,可保证世界上的每一个适配器都可有一个唯一的地址。

当路由器通过适配器连接到局域网时,适配器上的硬件地址就用来标志路由器的某个接口。路由器如果同时连接到两个网络上,那么它就需要两个适配器和两个硬件地址。

适配器有过滤功能。当适配器从网络上每收到一个MAC帧就先用硬件检查MAC帧中的目的地址。如果是发往本站的帧则收下,然后再进行其他的处理。否则就将此帧丢弃,不再进行其他的处理。发往本站的帧"包括以下三种帧:

  • 单播(unicast)帧(一对一),即收到的帧的MAC地址与本站的MAC地址相同。
  • 广播(broadcast)帧(一对全体),即发送给本局域网上所有站点的帧(全1地址)。
  • 多播(multicast)帧(一对多),即发送给本局域网上一部分站点的帧。

以太网适配器还可设置为一种特殊的工作方式,即混杂方式(promiscuous mode)。工作在混杂方式的适配器只要“听到”有帧在以太网上传输就都悄悄地接收下来,而不管这些帧发往哪个站。网络上的黑客(hacker或cracker)常利用这种方法非法获取网上用户的口令。有一种很有用的网络工具叫作嗅探器(Sniffer)就使用了设置为混杂方式的网络适配器.

MAC 帧格式

常用的以太网MAC帧格式有两种标准,一种是DIX Ethermet V2标准(即以太网V2标准),另一种是IEEE的802.3标准

以太网V2的MAC帧较为简单,由五个字段组成。前两个字段分别为6字节长的目的地址和源地址字段。第三个字段是2字节的类型字段,用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议。例如,当类型字段的值是0x0800时,就表示上层使用的是IP数据报。第四个字段是数据字段,其长度在46到1500字节之间(46字节是这样得出的:最小长度64字节减去18字节的首部和尾部就得出数据字段的最小长度)。最后一个字段是4字节的帧检验序列FCS(使用CRC检验)。当传输媒体的误码率为1×10^-8时,MAC子层可使未检测到的差错小于1×10^-14。FCS检验的范围就是整的MAC帧,从目的地址开始到FCS为止的这五个字段,但不包括物理层插入的8字节的前同步码和帧开始定界符.
==110==

扩展以太网

物理层扩展以太网

数据链路层扩展以太网

扩展以太网更常用的方法是在数据链路层进行的。最初人们使用的是网桥(bridge), 一种局域网设备。网桥对收到的帧根据其MAC帧的目的地址进行转发和过滤。
1990年问世的交换式集线器(switching hub),很快就淘汰了网桥。交换式集线器常称为以太网交换机(switch)或第二层交换机(L2 switch),强调这种交换机工作在数据链路层。

以太网交换机的特点

以太网交换机实质上就是一个多端口的网桥,通常都有十几个或更多的端口,和工作在物理层的转发器、集线器有很大的差别。以太网交换机的每个端口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。以太网交换机还具有并行性,即能同时连通多对端口,使多对主机能同时通信(而网桥只能一次分析和转发一个帧)。相互通信的主机都独占传输媒体,无碰撞地传输数据。换句话说,每一个端口和连接到端口的主机构成了一个碰撞域,具有N个端口的以太网交换机的碰撞域共有N个。
以太网交换机的端口还有存储器,能在输出端口繁忙时把到来的帧进行缓存。
以太网交换机是一种即插即用设备,其内部的帧交换表(又称为地址表)是通过自学习算法自动地逐渐建立起来的。实际上,这种交换表就是一个内容可寻址存储器CAM(Content Addressable Memory)
以太网交换机的性能远远超过普通的集线器,而且价格也不贵,这就使工作在物理层的集线器逐渐地退出了市场。

对于传统的10 Mbit/s的共享式以太网,若共有10个用户,则每个用户占有的平均带宽只有1Mbit/s。若使用以太网交换机来连接这些主机,虽然在每个端口到主机的带宽还是10 Mbit/s,但由于一个用户在通信时是独占而不是和其他网络用户共享传输媒体的带宽,因此对于拥有10个端口的交换机的总容量则为100 Mbit/s。这正是交换机的最大优点。

以太网交换机的自学习功能


记录一定时间每个端口的信息, 从而减少广播而直接根据交换表.


不同路由器之间端口成环, 相互来回发送. 在表空的情况下.

为了解决这种兜圈子问题,IEEE的802.ID标准制定了一个生成树协议STP (Spanning Tree Protocol)。其要点就是不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构.

从总线以太网到星形以太网

总线以太网使用CSMA/CD协议,以半双工方式工作。但以太网交换机不使用共享总线,没有碰撞问题,因此不使用CSMA/CD协议,而是以全双工方式工作。既然连以太网的重要协议CSMA/CD都不使用了(相关的“争用期”也没有了),为什么还叫作以太网呢?原因就是它的帧结构未改变,仍然采用以太网的帧结构

虚拟局域网

在一个主机数量很大的以太网上传播广播帧,必然会消耗很多的网络资源。如果网络的配置出了些差错,就有可能发生广播帧在网络中无限制地兜圈子,形成了"广播风暴",使整个的网络瘫痪。
一个单位的以太网往往为好几个下属部门所共享。但有些部门的信息是需要保密的。许多部门共享一个局域网对信息安全不利。
如果使每一个小部门各拥有自己的较小的局域网,那么这不但可使局域网的广播域范围缩小,同时也提高了局域网的安全性。在以太网交换机出现后,我们可以很方便灵活地建立虚拟局域网VLAN(Virtual LAN)。这样就把一个较大的局域网,分割成为一些较小的局域网,而每一个局域网是一个较小的广播域。
在IEEE 802.1Q标准中,对虚拟局域网VLAN是这样定义的:
虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个VLAN。

虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。


==116==

VLAN标签的前两个字节总是设置为0x8100(即二进制的1000000100000000),称为IEEE802.1Q标签类型。VLAN标签的后两个字节中,前面4位实际上并没有什么作用,这里不讨论,后面的12位是该虚拟局域网VLAN标识符VID(VLAN ID),它唯一地标志了802.1Q帧属于哪一个VLAN。12位的VID可识别4096个不同的VLAN。插入VLAN标签后,802.1Q帧最后的帧检验序列FCS必须重新计算。
以太网的最大帧长从原来的1518字节(1500字节的数据加上18字节的首部和尾部)变为1522字节。


连接两个交换机端口之间的链路称为汇聚链路(trunk link)或干线链路。
现在假定A向B发送帧。由于交换机#1能够根据帧首部的目的MAC地址,识别B属于本交换机管理的VLAN-10,因此就像在普通以太网中那样直接进行帧的转发,不需要使用VLAN标签。这是最简单的情况。
现在假定A向E发送帧。交换机#1查到E并没有连接到本交换机,因此必须从汇聚链路把帧转发到交换机#2,但在转发之前,要插入VLAN标签。不插入VLAN标签,交换机#2就不知道应把帧转发给哪一个VLAN。因此在汇聚链路传送的帧是802.1Q帧。交换机#2在向E转发帧之前,要拿走已插入的VLAN标签,因此E收到的帧就是A发送的标准以太网帧,而不是802.1Q帧。
如果A向C发送帧,情况又怎样呢?这种情况就复杂些了,因为这是在不同网络之间的通信.
不过有的交换机中嵌入了一个用专用芯片构成的转发模块,用来在不同的VLAN之间转发帧。这样就可以不必再使用另外的路由器,而就在交换机中实现了第3层的转发功能(由于使用硬件转发,转发帧的速率提高了,比使用路由器要快)。这种转发功能被称为第3层交换,而这种交换机常称为L3/L2交换机

高速以太网

100BASE-T以太网

100BASE-T是在双绞线上传送100 Mbit/s基带信号的星形拓扑以太网,仍使用IEEE802.3的CSMA/CD协议,它又称为快速以太网(Fast Ethemet)。

吉比特以太网

IEEE在1997年通过了吉比特以太网的标准802.3z,并在1998年成为正式标准。

10吉比特以太网(10GbE)和更快的以太网

使用以太网进行宽带接入

有人就想法子把数据链路层的两个成功的协议结合起来,即把PPP协议中的PPP帧再封装到以太网中来传输。这就是1999年公布的PPPoE (PPP over Ethermet),意思是“在以太网上运行PPP”[RFC 2516]。现在的光纤宽带接入FTTx都要使用PPPoE的方式进行接入。

RJ-45和5类线

参考

  1. 计算机网络(第八版)
  • Author:

    slacr_

  • Copyright:

  • Published:

    May 1, 2023

  • Updated:

    May 1, 2023

Buy me a cup of coffee ☕.

1000000