以太网

来源:百度文库 编辑:神马文学网 时间:2024/05/10 08:23:02
以太网与其他网络体系结构的一个主要区别是以太网可以在将数据放到网络介质上之前,以多种不同方式构造数据。计算机以分组或者帧的形式(定义了数据的结构)将数据放在网络上。以太网支持4个帧类型,其中每一类都是唯一的并且不能与其他帧一起使用。对于任意两个以太网设备之间发生的通信来说,它们的帧类型设置必须匹配。
IPX/SPX通常在Novell NetWare 2.x和3.x网络上使用Ethernet802.3。
Ethernet802.2是IPX/SPX在Novell NetWare 3.12和4.x网络上使用的默认帧类型。这也是安装Microsoft NWLink时默认支持的原始帧类型。
在EtherTalk和大型机环境中使用Ethernet SNAP
TCP/IP使用Ethernet II
所有的以太网帧类型都支持64到1518字节之间的分组大小,并且可以用于所有网络体系结构。在大部分情况下,网络只需要一个帧类型,但是特殊的设备(例如文件或者数据库服务器)偶而必须支持多个帧类型(例如,当一些客户使用一个帧类型,而另一些客户使用另一个帧类型)。
当运行一个可以使用多个帧类型的协议(例如IPX/SPX)时,必须有一种选择理想的帧类型的方法。在Windows中,这是通过网络控制面板实现的,为IPX/SPX协议选择属性。Windows系统设定帧类型的自动检测;当Windows的非服务器版本只支持检测到的第一个帧类型时,可能会引起不希望有的结果。如果网络上有使用不同帧类型的资源,那么那些自动检测另一个帧类型的工作站将不能使用这些资源。因此,确保只使用一个帧类型或者将所有的工作站都设置为允许访问所有必需资源的公共帧类型是非常重要的。
注意:不匹配的帧类型将阻碍网络通信。
数据字段(46到1500字节)。这个字段承载IP数据报。以太网的最大传输单元(MTU)是1500字节。这意味着如果某个IP数据报超过了1500字节,主机必须将该数据报分段。烽据字段的最小长度是46字节。这意味着如果IP数据报小于46字节,数据报必须被填充到46字节。当采用填充时,传递到网络层的数据包括IP数据报和填充部分。网络层用IP数据报首部的长度字段来去除相关填充。
目的地址(6字节)。这个字段包含目的适配器的MAC地址。当适配器收到一个以太网帧,该帧目的地址或是它自已的MAC地址或是MAC广播地址,将该帧的数据字段的内容传递给网络层,如果它收到了具有任何其他MAC地址的帧,它丢弃该帧。
源地址(6字节)。这个字段包含了传输该帧到LAN上的适配器的MAC地址。类型字段(2字节)。该类型字段允许以太网多路复用网络层协议。为了理解这点,我们需要记住主机可以使用除了使用除了IP以外的其他网络层协议。事实上,一个给定的主机可以支持多个网络层协议,以对不同的应用采用不同的协议。由于这个原因,当以太网帧到达适配器B,适配器B需要知道它应该将数据字段的内容传递给哪一个网络层协议(即多路分解)。IP和其他网络层协议(例如,Novell IPX或Apple Talk)都有它们自已的、标准化的类型编号。而且,ARP协议有自已的类型编号。注意到类型字段和网络层数据报中的协议字段、运输层报文段的端口号字段相类似。所有的这些字段都是为了把一层中的某协议与上一层的某协议关联起来。
循环冗余检测CRC(4字节)。CRC字段的目的是允许接收适配器检测帧中是否引入了差错,也就是说,帧中的比特是否发生了翻转。比特差错的原因包括信号强度的衰减和电磁能量泄漏到以太网电缆和接口卡中。差错检测以如下方式进行。当主机A构造以太网帧时,它计算CRC字段,CRC字段是从帧中其他比特的映射获得(除了前同步码)。当主机B收到该帧时,它对该帧运用同样的映射,并校验映射的结果是否和CRC字段的内容相等。接收主机的操作称为CRC校验。如果CRC校验失败(也就是,如果映射的结果不等于CRC字段的值),主机B知道该帧存在着差错。
前同步码(8字节)。以太网帧开始有一个8字节的前同步码字段。前同步码的前7字节都是10101010;最后一个字节是10101011。前同步码字段的前7字节用于“唤醒”接收适配器,并且将它们的时钟和发送方的时钟同步。为什么时钟会不同步呢?记住适配器A的目的是根据以太网的类型的不同,以10Mb/s、100Mb/s或者1Gb/s的速度传输帧。然而,由于没有任何事情是绝对完美的,适配器A不会以精确的额定速率传输帧;相对于额定速率总有一些偏移,LAN上的其他适配器不会预先知道这个偏移。接收适配器只需通过锁定前同步码的前前7字节的比特,就能够锁定适配器A的时钟。前同步码的第8字节的最后两个比特(第一次出现连续的两个1)警告适配器B“重要的内容”就要到来。当主机B看到这这两个连续的1,它知道接下来的6个字节是目的地址。适配器只需通过检测电流的空闲,就能够辩明一个帧什么时候结束。
以太网使用基带传输;也就是说,适配器直接给广播信道发送数字信号。接口卡不会像ADSL和电缆调制解调器系统那样将信号搬移到其他频带。许多以太网技术(如10BaseT)也使用曼彻底斯特编码。采用曼彻斯特编码,每个比特包含一个跳变;1从高电平跳变为低电平,而0从低电平跳变为高电平。使用曼彻斯特编码的原因是发送适配器和接收适配器的时钟没有精确同步。通过在每个比特的中间包含一个跳变,接收主机可以将它的时钟与发送主机的时钟同步。一旦接收适配器的时钟被同步,接收方能够对每个比特定界,并且确定是1还是0。曼彻斯特编码是一种物理层的操作而不是链路层的操作。
所有的以太网技术都向网络层提供无连接服务。也就是说,当适配器A要向适配器B发送一个数据报时,适配器A在一个以太网帧中封装这个数据报,并且把该帧发送到LAN上,并不需要和适配器B先“握手”。这种第二层的无连接服务类似于IP的第三层数据报服务和UDP的第4层无连接服务。
所有的以太网技术都向网络层提供了不可靠服务。特别是,当适配器B收到一个来自适配器A的帧,它对该帧执行CRC校验,但是当该帧通过CRC校验时,它不发送确认帧,当帧没有通过CRC校验时,它也不发送否认帧。当帧没有通过CRC校验,适配器B只是丢弃该帧。因此,适配器A根本不知道它传输的帧是否通过CRC校验。缺乏可靠的传输(在链路层)有助于使以太网变得简单、便宜。但是它也意味着传递到网络层的数据报流可能有间隙。
CSMA/CD(以太网的多址访问协议)
当某节点通过一个集线器(与链路层交换机形成对照)互联时,该以太网是一个真正的广播网,即当一个适配器传输一帧时,LAN上的所有适配器都收到该帧。因为以太网能够应用广播,它需要多址访问协议。以太网使用CSMA/CD多址访问协议。CSMA/CD使用了以下机制:1、适配器可以在任何时刻开始传输;即没有使用时隙。2、当一个适配器侦听到有其他的适配器在传输,它决不会传输帧,即它使用了载波侦听。3、一旦适配器检测到另一个适配器也在传输,它中止自已的传输,即它使用了碰撞检测。4、在试图重传之前,适配器等待一个随机时间,这个时间通常比传输一帧的时间要短。
每个适配器运行CSMA/CD协议,不需要和以太网上的其他适配器进行明显地协调。在一个特定的适配器里,CSMA/CD协议工作如下:
1、适配器从它的父节点获得一个网络层数据报,准备一个以太网帧,并把该帧放到适配器缓冲区中。
2、如果适配器侦听到信道空闲(即在96比特时间内,没有信号能量从信道进入适配器),它开始传输该帧。如果适配器侦听到信道忙,它等待直至它侦听到没有信号能量(加上96比特时间),然后开始传输该帧。
3、在传输过程中,适配器检测来自其他适配器的信号能量的出现。如果这个适配器传输了整个帧,而没有检测到来自其他适配器的信号能量,这个适配器完成该帧的传输。
4、如果适配器在传输时检测到来自其他适配器的信号能量,它就停止传输它的帧,取而代之传输一个48比特的拥塞信号。
5、在中止(即传输拥塞信号)以后,适配器进入一个指数回退阶段。具体地说,当传输一个给定帧时,在该帧的一行中连续经历了第N次碰撞后,适配器随机地选项择一个K值,然后适配器等待K*512比特时间,并返回到第2步。