以太网

IEEE组织——电子电气工程师协会

链路类型,链路一般分为两种类型分别是:
点到点链路:即仅支持两个接口的链路,例如:PPP、DHLC。
广播型链路(MA多路访问):允许链路上存在两个以上的接口,所以需要区别不同的接口,那么规定每个以太网接口都要有一个全球唯一但链路有效的MAC地址。
以太网的定义:以太网是一种广播式数据链路层协议,支持多点接入;个人电脑的网络接口遵循的就是以太网标准;一般情况下,一个广播域对应着一个IP网段。
MAC地址:MAC (Media Access Control)地址在网络中唯一标识一个网卡,每个网卡都需要且会有唯一的一个MAC地址;MAC用于在一个IP网段内,寻址找到具体的物理设备;工作在数据链路层的设备。例如以太网交换机,会维护一张MAC地址表,用于指导数据帧转发。

著名的标准

IEEE 802——局域网及城域网
IEEE 802.11——无线以太网
IEEE 802.2——逻辑链路控制
IEEE 802.3——带冲突检测的载波侦听多路访问协议CSMA/CD(半双工以太网)

终端之间的通信

在这里插入图片描述

MAC:介质接入控制地址

二层以太接口的物理地址,通常不可改变。

  • MAC地址由两部分组成,分别是供应商代码和序列号。其中前24位代表该供应商代码,由IEEE管理和分配。剩下24位序列号由厂商自己分配。
  • MAC地址对应于OSI参考模型的第二层数据链路层,工作在数据链路层的交换机维护着计算机MAC地址和自身端口的数据库,交换机根据收到的数据帧中的“目的MAC地址”字段来转发数据帧。
  • 在不同的操作系统上有不同的表现形式:
    在这里插入图片描述

MAC由48位二进制组成
OUI:组织机构代码 ; EUI:组织内部序号在这里插入图片描述

MAC地址与IP地址区别

IP地址和MAC地址相同点是它们都唯一,不同的特点主要有:

  1. 对于网络上的某一设备,如一台计算机或一台路由器,其IP地址是基于网络拓扑设计出的,同一台设备或计算机上,改动IP地址是很容易的(但必须唯一),而MAC则是生产厂商烧录好的,一般不能改动。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分配IP地址为192.168.0.112,也可以将它改成192.168.0.200而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址不可由本地连接内的配置进行修改。如果一个计算机的网卡坏了,在更换网卡之后,该计算机的MAC地址就变了。

  2. 长度不同。IP地址为32位,MAC地址为48位。

  3. 分配依据不同。IP地址的分配是基于网络拓扑,MAC地址的分配是基于制造商。

  4. 寻址协议层不同。IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。

单播、组播、广播

在这里插入图片描述
在这里插入图片描述
 

单播

单播,指从单一的源端发送到单一的目的端。
 
每个主机接口由一个MAC地址唯一标识,MAC地址的OUI中,第一字节第8个比特表示地址类型。对于主机MAC地址,这个比特固定为0,表示目的MAC地址为此MAC地址的帧都是发送到某个唯一的目的端。

在这里插入图片描述
 

单播的长处:

  1. server及时响应客户机的请求;
  2. server针对每一个客户不通的请求发送不通的数据,easy实现个性化服务,

单播的缺点:

  1. server针对每一个客户机发送数据流,server流量=客户机数量×客户机流量。在客户数量大、每一个客户机流量大的流媒体应用中server不堪重负。
  2. 现有的网络带宽是金字塔结构,城际省际主干带宽只相当于其所实用户带宽之和的5%。

 
共享式网络中,不同的主机同时发送数据时,就会产生信号冲突的问题,这时的共享网络就是一个冲突域 ,冲突域是一个一层的概念。

在冲突域中,所有主机都能收到源主机发送的单播帧,但是其他主机发现目的地址与本地MAC地址不一致后会丢弃收到的帧,只有真正的目的主机才会接收并处理收到的帧。

 
集线器 下的所有主机就是一个冲突域,目前基本上没有这种共享式网络了。
在这里插入图片描述

解决这一问题的方法一般是采用载波侦听多路访问/冲突检测技术。
 

组播

组播比广播更加高效。组播转发可以理解为选择性的广播,主机侦听特定组播地址,接收并处理目的MAC地址为该组播MAC地址的帧。
 

组播MAC地址和单播MAC地址是通过第一字节中的第8个比特区分的。组播MAC地址的第8个比特为1。
在这里插入图片描述
当需要网络上的一组主机(而不是全部主机)接收相同信息,并且其他主机不受影响的情况下通常会使用组播方式。

 
组播的长处:

  1. 须要同样数据流的client增加同样的组共享一条数据流。节省了server的负载。具备广播所具备的长处。
  2. 因为组播协议是依据接受者的须要对数据流进行复制转发。所以服务端的服务总带宽不受客户接入端带宽的限制。IP协议同意有2亿6千多万个组播,所以其提供的服务能够很丰富。
  3. 此协议和单播协议一样同意在Internet宽带网上传输。

组播的缺点:

  1. 与单播协议相比没有纠错机制。发生丢包错包后难以弥补。但能够通过一定的容错机制和QOS加以弥补。

  2. 现行网络尽管都支持组播的传输。但在客户认证、QOS等方面还须要完好,这些缺点在理论上都有成熟的解决方式,仅仅是须要逐步推广应用到现存网络其中。

     

广播

广播,表示帧从单一的源发送到共享以太网上的所有主机。
 
广播帧的目的MAC地址为十六进制的FF:FF:FF:FF:FF:FF,(所有收到该广播帧的主机都要接收并处理这个帧。
在这里插入图片描述

 
当需要网络中的所有主机都能接收到相同的信息并进行处理的情况下,通常会使用广播方式。
 

广播的长处:

  1. 网络设备简单,维护简单,布网成本低廉
  2. 因为server不用向每一个客户机单独发送数据,所以server流量负载极低。

广播的缺点:

  1. 广播方式会产生大量流量,导致带宽利用率降低,进而影响整个网络的性能。
  2. 无法针对每一个客户的要求和时间及时提供个性化服务。
  3. 网络同意server提供数据的带宽有限,client的最大带宽=服务总带宽。比如有线电视的client的线路支持100个频道(假设採用数字压缩技术,理论上能够提供500个频道),即使服务商有更大的財力配置很多其它的发送设备、改成光纤主干。也无法超过此极限。也就是说无法向众多客户提供很多其它样化、更加个性化的服务。
  4. 广播禁止同意在Internet宽带网上传输。

广播域: 就是说如果站点发出一个广播信号后能接收到这个信号的范围。通常来说一个局域网就是一个广播域。广播域是一个二层的概念。
 
交换机下的所有主机就是一个广播域,交换机可以隔离冲突域。
 
在这里插入图片描述
 

以太网集线器

 
在这里插入图片描述

MDI/MDIX

DCE数据通信设备:switch
DTE数据通信终端:router/pc

在这里插入图片描述

同类设备(交叉线):
SW + SW
PC + PC
PC + router

异类设备(直连线):
SW + PC
SW + router

传输介质

双绞线: 传输距离100米。
光纤:
在这里插入图片描述

现在的光模块

在这里插入图片描述

以太帧

在这里插入图片描述

  • Preamble(前导码)
    由0、1间隔代码组成,用来通知目标站作好接收准备(同步数据传输过程中的双方发送与接收的速率)。以太网帧则使用8个字节的0、1间隔代码作为起始符。IEEE 802.3帧的前导码占用前7个字节,第8个字节是两个连续的代码1,名称为帧首定界符(SOF),表示一帧实际开始。

  • Destination Address & Source Address(目的地址和源地址)
    表示发送和接收帧的工作站的地址,各占据6个字节。其中,目标地址可以是单址,也可以是多点传送或广播地址。

  • 类型(Type)或长度(Length)
    这两个字节在Ethernet II帧中表示类型(Type),指定接收数据的高层协议类型。
    而在IEEE 802.3帧中表示长度(Length),说明后面数据段的长度。

  • Data(数据)
    在经过物理层和逻辑链路层的处理之后,包含在帧中的数据将被传递给在类型段中指定的高层协议。该数据段的长度最小应当不低于46个字节,最大应不超过1500字节。如果数据段长度过小,那么将会在数据段后自动填充(Trailer)字符。相反,如果数据段长度过大,那么将会把数据段分段后传输。在IEEE 802.3帧中该部分还包含802.2的头部信息。

  • FCS(帧校验序列)
    包含长度为4个字节的循环冗余校验值(CRC),由发送设备计算产生,在接收方被重新计算以确定帧在传送过程中是否被损坏。
    校验和:4 个字节,对接收网卡(主要是检测数据与填充字段)提供判断是否传输错误的一种方法,如果发现错误,则丢弃此帧。目前最为流行的用于校验和(FCS)的算法是循环冗余校验(cyclic redundancy check – CRC)。

在这里插入图片描述

不同的Type字段值可以用来区别这两种帧的类型:
当Type/Length字段值>=1536 (或者十六进制的0x0600)时,帧使用的是Ethernet II格式。
当Type/Length字段值<=1500(或者十六进制的0x05DC)时,帧使用的是IEEE 802.3格式。

Ethernet II 帧格式

一般用于业务数据传输 。
在这里插入图片描述
Ethernet II 帧类型值大于等于1536(0x0600),以太网数据帧的长度在64 - 1518字节之间。

类型字段(Type) 用于标识数据字段中包含的高层协议,该字段长度为2个字节。类型字段取值为0x0800的帧代表IP协议帧;类型字段取值为0806的帧代表ARP协议帧。
数据字段(Data) 是网络层数据,最小长度必须为46字节以保证帧长至少为64字节,数据字段的最大长度为1500字节。
循环冗余校验字段(FCS) 提供了一种错误检测机制。该字段长度为4个字节。

IEEE802.3 帧格式

一般用于控制协议。
在这里插入图片描述

IEEE 802.3 帧长度字段值小于等于1500 (0x05DC)

IEEE 802.3帧格式类似于Ethernet_II帧,只是Ethernet_II帧的Type域被802.3帧的Length域取代,并且占用了Data字段的8个字节作为LLC和SNAP字段。

Length字段 定义了Data字段包含的字节数。

逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成。

SNAP(Sub-network Access Protocol)由机构代码(Org Code)和类型(Type)字段组成。Org code三个字节都为0。Type字段的含义与Ethernet_II帧中的Type字段相同。IEEE802.3帧根据DSAP和SSAP字段的取值又可分为以下几类:

  1. 当DSAP和SSAP都取特定值 0xff 时,802.3帧就变成了Netware-ETHERNET帧。用来承载NetWare类型的数据。
  2. 当DSAP和SSAP都取特定值 0xaa 时,802.3帧就变成了ETHERNET_SNAP帧。Ethernet_SNAP帧可以用于传输多种协议。
  3. DSAP和SSAP其他的取值均为纯IEEE802.3帧。

根据CSMA/CD要求,为保证碰撞检测以太网最小帧长为64字节,其中以太网帧头+帧尾共18字节,所以以太网的data(IP,arp,rarp数据报)
至少为46字节,而arp或者rarp为28字节,为达到46字节需要填充18字节(pad)。
以太网帧有最小和最大尺寸。最小的帧是64字节,要求数据区(有效载荷)长度(无标签)最小为48字节。当有效载荷达不到下限时,填充字节(值为0)被添加到有效载荷尾部,以确保达到最小长度。

帧最小长度的规定对最初的10Mb/s以太网的CSMA/CD很重要。
为了使传输数据的站能知道哪个帧发生了冲突,通常限制一个以太网的传输长度(2500m,通过4个中继器连接的5个电缆段)。长度和电子传播速度确定就可以算出输出帧到达目的地所需时间。那么一个输出帧的最后位在所需时间后仍处于传输过程中,这个时间是信号到达位于最大距离的接收器并返回的时间。如果这时检测到一个冲突,传输中的站就能知道是当前在传输的帧发生了冲突。这种情况下该站发送一个干扰信号提醒其他站,然后启动一个随机的二进制指数退避过程。

在802.3标准里,规定了一个以太帧的数据部分(Payload)的最大长度是1500个字节,这个数也是你经常在网络设备里看到的MTU。在这个限制之下,最长的以太帧包括6字节的目的地址(DMAC)、6字节的源地址(SMAC)、2字节的以太类型(EtherType)、1500字节的数据(Payload)、4字节的校验(FCS),总共是1518字节。在802.1Q中,又定义了以太帧中可选的QTag,位于SMAC和EtherType之间,占4个字节。在这种情况下,一个以太帧如果有QTag,它的最大长度就变成了1522字节。

上述情况针对于标准以太网或快速以太网。在千兆、万兆甚至更高的以太网时代,1500字节显得传输效率不够高(数据区尺寸占帧总尺寸的比例),因此允许传输以太网巨型帧,这是一种非标准的以太网扩展,通常允许帧尺寸高达9000字节。

为什么以太网最小帧是64字节

以太网在发送数据时,如果帧的前64字节没有发送冲突,那么后续的数据就不会发送冲突。换句话说,就是如果发送冲突,就一定是在发送的前64字节之内。因为检测到冲突就停止发送,这时已经发送出去的数据一定小于64字节。

因此以太网规定了最短有效帧长为64字节,只要长度小于64字节的帧都是由于冲突而异常中止的无效帧。收到这种无效帧就立即丢弃。

以太网是不可靠的,这意味着它并不知道对方有没有收到自己发出的数据包,但如果他发出的数据包发生错误,他会进行重传。以太网的错误主要是发生碰撞,碰撞是指两台机器同时监听到网络是空闲的,同时发送数据,就会发生碰撞,碰撞对于以太网来说是正常的。

我们来看一下,假设A检测到网络是空闲的,开始发数据包,尽力传输,当数据包还没有到达B时,B也监测到网络是空闲的,开始发数据包,这时就会发生碰 撞,B 首先发现发生碰撞,开始发送碰撞信号,所谓碰撞信号,就是连续的01010101或者10101010,十六进制就是55或AA。这个碰撞信号会返回到 A,如果碰撞信号到达A时,A还没有发完这个数据包,A就知道这个数据包发生了错误,就会重传这个数据包。但如果碰撞信号会返回到A时,数据包已经发完, 则A不会重传这个数据包。

我们先看一下,以太网为什么要设计这样的重传机制。首先,以太网不想采用连接机制,因为会降低效率,但他又想有一定的重传机制,因为以太网的重传是微秒级,而传输层的重传,如TCP的重传达到毫秒级,应用层的重传更达到秒级,我们可以看到越底层的重传,速度越快,所以对于以太网错误,以太网必须有重传机制。

要保证以太网的重传,必须保证A收到碰撞信号的时候,数据包没有传完,要实现这一要求,A和B之间的距离很关键,也就是说信号在A和B之间传输的来回时间必须控制在一定范围之内。IEEE定义了这个标准, 一个碰撞域内,最远的两台机器之间的round-trip time 要小于512bit time.(来回时间小于512位时,所谓位时就是传输一个比特需要的时间)。这也是我们常说的一个碰撞域的直径。

512个位时,也就是64字节的传输时间,如果以太网数据包大于或等于64个字节,就能保证碰撞信号到达A的时候,数据包还没有传完。

这就是为什么以太网要最小64个字节,同样,在正常的情况下,碰撞信号应该出现在64个字节之内,这是正常的以太网碰撞,如果碰撞信号出现在64个字节之后,叫 late collision。这是不正常的。

我们以前学习CISCO网络的时候,CISCO交换机有一种转发方式叫fragment-free,叫无碎片转发,他就是检查64个字节之内有没有错误,有的话不转发,这样就排除了正常的以太网错误包。

帧校验序列

以太网帧格式中,数据区(有效载荷区)之后的最后4字节字段提供了对帧完整性的检查。检查方法是利用循环冗余校验(CRC)将计算结果写入FCS字段中,接收方接收到以太网帧后对FCS字段进行相同过程的CRC计算,若计算结果与FCS字段不同,则帧可能在传输过程中受损,这种情况下受损帧通常被丢弃。

CRC的过程就是将FCS字段中的数据除以一个约定好的生成多项式,所得余数取反后的值写入FCS中。生成多项式已经被标准化为一系列不同的n值,以太网使用n=32,CRC32的生成多项式是33位的二进制数100000100110000010001110110110111

下图是以5位二进制数11001为生成多项式,结果取4位的例子。余数为0100,取反后得到1011即为最终结果。

在这里插入图片描述

 

MTU

在这里插入图片描述
 

以太帧的发送和接收

  1. 在Ethernet中,当一个节点利用总线发送数据帧时,其他节点都应该处于接收状态。当节点入网并启动接收后,就处于接收状态。所有节点只要不发送数据,就应该处于接收状态。
  2. 当一个节点完成一帧数据接收后,首先要判断接收帧的长度。因为IEEE 802.3协议对Ethernet帧的最小长度做了个规定。若最小长度小于规定的帧最小长度(64B),则表明冲突发生,应丢弃该帧,节点重新进入等待状态。
  3. 如果没有冲突,那么节点完成一帧数据接收后,首先要检查帧的目的地址。如果目的地址为单播地址,且为本节点地址,则接收该帧;如果目的地址是组播地址,而接收地址属于该组,则接收该帧;如果目的地址是广播地址,则也应该接收该帧;如果目的地址不符合上述3种情况,则丢弃该帧。
  4. 接收节点进行地址匹配后,如果确认是应该接收的帧,则进行CRC校验。如果CRC校验正确,则主机会根据帧头部中的Type字段来确定将该帧中的数据发送给上层哪个协议处理,并报告“成功接收”并进入结束状态。
  5. 如果帧校验中发生错误,则首先应该判断接收帧的长度是不是8位的整数倍。如果帧的长度是8位的整数倍,则表示传输中没有发现比特丢失或对错位,此时应报告“帧校验错”并进入结束状态。如果帧长度不是8位的整数倍,则报告“帧比特错”并进入结束状态。
     

在这里插入图片描述

当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉后送往上层协议。

本例中,Type字段的值为0x0800,表明该帧需要发送到IP协议上处理。在发送给IP协议之前,帧的头部和尾部会被剥掉。

 

终端设备接到数据帧的处理方式:

1、帧从主机的物理接口发送出来后,通过传输介质传输到目的端。共享网络中,这个帧可能到达多个主机。

2、主机检查帧头中的目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是本机侦听的组播或广播MAC地址,则主机会丢弃收到的帧。

3、如果目的MAC地址是本机MAC地址,则接收该帧,检查帧校验序列(FCS)字段,并与本机计算的值对比来确定帧在传输过程中是否保持了完整性。

如果帧的FCS值与本机计算的值不同,主机会认为帧已被破坏,并会丢弃该帧。

如果该帧通过了FCS校验,则主机会根据帧头部中的Type字段来确定将帧发送给上层哪个协议处理。如果Type字段的值为0x0800,表明该帧需要发送到IP协议上处理。在发送给IP协议之前,帧的头部和尾部会被剥掉。
 
 

载波侦听多路访问/冲突检测技术(Carrier Sense Multiple Access/Collision Detection)

CSMA/CD的基本工作原理:

1、终端设备不停地检测共享线路的状态。如果线路空闲,则可以发送数据;如果线路不空闲,则等待一段时间后继续检测(延时时间由退避算法决定)。

2、如果有另外一个设备同时发送数据,两个设备发送的数据会产生冲突。

3、终端设备检测到冲突之后,马上停止发送自己的数据,并发送特殊阻塞信息,以强化冲突信号,使线路上其他站点能够尽早检测到冲突。

4、终端设备检测到冲突后,等待一段时间之后再进行数据发送(延时时间由退避算法决定)。

CSMA/CD的工作原理可简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值