1、以太网两个逻辑
2、以太网诞生以太网设备发展和链路物理介质速率提升
开始以同轴电缆作为网络媒体,采用载波多路访问和冲突检测(CSMA/CD )机制,传输速率10Mbps
以太网原理-----CSMA/CD
CSMA/CD—载波侦听多路访问/冲突检测,是一种在共享介质条件下多点通讯的有效手段,其基本规则如下:
(1)若介质空闲,传输;否则,转2);
(2)若介质忙,一直监听到信道空闲,然后立即传输;
(3)若在传输中测得冲突,则发出一个短小的人为干扰(jamming)信号,使得所有站点都知道发生了冲突并停止传输;
(4)发完人为干扰信号,等待一段随机的时间后,再次试图传输,回到1)重新开始。
- CS:载波监听
发送数据之前进行监听,确保线路空闲,减少冲突机会
- MA:多址访问
每个站点发送的数据,可同时被多个站点接收
- CD:冲突监测
3、以太网帧结构边发送边检测,发现冲突就停止发送,然后延迟一个随机时间之后继续发送
(冲突监测方式:由于两个站点同时发送信号,经过叠加后,会使线路上电压的摆动值超过正常值的一杯,由此判断冲突)
3.1基本帧结构
DMAC代表目的终端的MAC地址,SMAC代表源MAC地址,而LENGTH/TYPE字段长度是2字节,则根据值的不同有不同的含义:当LENGHT/TYPE> 1500时,代表该数据帧的类型(比如该帧是属于哪个上层协议的数据单元),当LENGTH/TYPE <1500时,代表该数据帧的长度(802.3,不太常用?)。DATA/PAD则是具体的数据,因为以太网数据帧的最小长度必须不小于64字节(根据半双工模式下最大距离计算获得的),所以如果数据长度加上帧头不足64字节,需要在数据部分增加填充内容。
当LENGTH/TYPE取值大于1500的时候,MAC子层可以根据LENGTY/TYPE的值直接把数据帧提交给上层协议,这时候就没有必要实现LLC子层。这种结构便是目前比较流行的ETHERNET_II,大部分计算机都支持这种结构。注意,这种结构下数据链路层可以不实现LLC子层,而仅仅包含一个MAC子层。
根据LENGTH/TYPE字段的取值,来把接收到的数据帧提交给上层协议模块,是这样进行的:每个上层协议都提供了一个回调函数,这个回调函数在数据链路层是可见的而且可以调用的,这样当数据链路层接收到一个数据帧之后,根据数据帧里的LENGTH/TYPE字段的取值来判断相应的协议模块,然后调用相应协议的回调函数(把数据帧的数据部分作为参数),该回调函数执行的结果就是把数据帧的数据部分挂到上层协议的接收队列中,然后给上层协议发送一个消息,告诉上层协议有一个数据包到来,然后返回,其他的事情就有上层协议来做了
FCS则是帧校验字段,来判断该数据帧是否出错。
3.2 最小帧长和最大传输距离
最小帧长:
由于C S M A / CD算法的限制,以太网帧必须不能小于某个最小长度。高层协议要保证这个域至少包含4 6字节。如果实际数据不足46个字节,则高层协议必须执行某些(未指定)填充算法。数据域长度的上限是任意的,但已经被设置为1 5 0 0字节。
规定最小帧长的原因:
最大传输距离:有线路质量、信号衰减程度等因素决定
为了避免这种情况发生:某站点已经将一个数据包的最后一个BIT发送完毕,但这个报文的第一个BIT还没有传送到距离很远的一个站点。而站点认为线路空闲而发送数据,导致冲突。
4、以太网MAC地址
M AC地址有48位,但它通常被表示为12位的点分十六进制数。MAC地址全球唯一,由IEEE对这些地址进行管理和分配。每个地址由两部分组成,分别是供应商代码和序列号。其中前24位二进制代表该供应商代码。剩下的24位由厂商自己分配。
在目的地址中,地址的第8位表明该帧将要发送给单个站点还是一组站点。
5、以太网发展史
5.1 共享式以太网
10Base5:粗同轴电缆(5代表电缆的字段长度是500米)
10Base2:细同轴电缆(2代表电缆的字段长度是200米)
• 介质可靠性差
• 冲突严重
• 广播泛滥
•无任何安全性
5.2 快速以太网
5.3 千兆以太网
6、以太网端口技术
6.1 自协商技术
自协商是为了将100M速率的以太网技术和原10M以太网设备兼容
自协商功能允许一个网络设备将自己所支持的工作模式信息传达给网络上的对端,并接受对方可能传递过来的相应信息。它使用修订过的10BASE-T来传递信息,自协商功能完全由物理层芯片设计实现,因此并不使用专用数据报文或带来任何高层协议开销。
在链路初始化时,自协商协议向对端设备发送16bit的报文,并从对端设备接收类似的报文。根据需要,一个报文可以包含多个16bit的“页”,最常见的协商只需要基本页操作,如图所示
自协商的内容主要包括速度、全双工、流控(流量控制)等等,一方面通知对端设备自身可工作的方式,另一方面,从对端发来的报文中获得对端设备可以工作的方式。(是两端都要发送自协商报文吗?速度是从10base-t或这100base中体现?)
自协商功能除了可以发送基本页信息来进行信息的交换,还可以通过发送下一页信息的功能来进行额外的信息的交换。下一页信息的编码又分为两种,一种是消息页编码,另外一种是非格式化页编码,消息页是用来定义一套消息的,非格式化页在某一消息页后发送,用来表示这一消息的数据信息,一个消息页后面可以跟随不止一个非格式化页。
自协商信号
自协商报文是以一系列时钟和数据脉冲的形式发送的,在报文的每个BIT之前都插入一个时钟脉冲,如图所示。整个报文按16ms间隔重复,指导自协商过程完成。
l整个报文按16ms间隔重复,直到自协商完成
与没有自协商机制的设备相连时:
会出现的情况:
无法实现端口的自动双速配置功能(如10Mbit/s和100Mbit/s)
无法确定双工工作模式
无法确定是否需要流量控制功能
光纤上的自协商
- 对光纤以太网而言,链路两端的工作模式必须使用手工配置(速度、全双工、流控等),如果光纤两端的配置不同,是不能正确通信达的。(两端手工配置,那么还要发送自协商报文吗?是人工协商,协商好后再人工配置?)
- 千兆以太网的自协商机制已经实现
6.2 自适应技术
智能MDI/MDIX
以太网交换机属于MDIX设备,输出的以太网口属于MDIX接口,连接MDI类设备(如PC机)时,需要使用普通(平行)网线,如果采用交叉网线,是不能正确连接通信的。当前某些最新的以太网交换机,如华为公司的Quidway S3026,Quidway S3526以太网交换机的10/100M以太网口具备智能MDI/MDIX识别技术,可以自动识别连接的网线类型,用户不管采用普通网线或者交叉网线均可以正确连接设备,极大方便了用户的使用。用户也可以对端口进行配置,将其强制配置成MDIX或者MDI工作方式。
利用智能MDI/MDIX,不需要知道电缆另一端为MDI还是MDIX设备,两种电缆(普通、交叉)都可以连接交换机、集线器或NIC设备。可消除由于电缆配错引起的连接错误。简化10/100M网络安装维护,降低开销。
最新的物理层芯片和变压器技术实现了该功能。物理层芯片内部的电子开关可以进行MDI和MDIX之间的智能切换,具有中心抽头的、收发对称的变压器保证了发送与接收通道的切换。
6.3 流量控制
当通过交换机一个端口的流量过大,超过了它的处理能力时,就会发生端口阻塞。
网络拥塞一般是由于线速不匹配(如100M向10M端口发送数据)和突发的集中传输而产生的,它可能导致这几种情况:延时增加、丢包、重传增加,网络资源不能有效利用。
流量控制的作用是防止在出现阻塞的情况下丢帧。
在半双工方式下,流量控制是通过反压(backpressure)技术实现,模拟产生碰撞,使得信息源降低发送速度。
在全双工方式下,流量控制一般遵循IEEE 802.3标准。IEEE 802.3x规定了一种64字节的“PAUSE”MAC控制帧的格式。当端口发生阻塞时,交换机向信息源发送“PAUSE”帧,告诉信息源暂停一段时间再发送信息。
在实际的网络中,尤其是一般局域网,产生网络拥塞的情况极少,所以有的厂家的交换机并不支持流量控制。高性能的交换机应支持半双工方式下的反向压力和全双工的IEEE802.3x流控。有的交换机的流量控制将阻塞整个LAN的输入,降低整个LAN的性能;高性能的交换机采用的策略是仅仅阻塞向交换机拥塞端口输入帧的端口,保证其他端口用户的正常工作。
6.3.1 半双工流量控制
桥接式或交换式半双工以太网利用一种内部的方法去处理速度不同的站之间的传输问题,它采用一种所谓的“后退压力(backpressure)”概念。例如,如果一台高速100Mbps服务器通过交换机将数据发送给一个10Mbps的客户机,该交换机将尽可能多的缓冲其帧,一旦交换机的缓冲区即将装满,它就通知服务器暂停发送。
有两种方法可以达到这一目的:交换机可以强行制造一次与服务器的冲突,使得服务器退避;或者,交换机通过插入一次“载波检测”使得服务器的端口保持繁忙,这样就能使服务器感觉到交换机要发送数据一样。利用这两种方法,服务器都会在一段时间内暂停发送,从而允许交换机去处理积聚在它的缓冲区中的数据。6.3.2 全双工流量控制
IEEE802.3 x标准定义了在全双工环境中实现流量控制的方法。交换机产生一个PAUSE帧,PAUSE帧使用一个保留的组播地址:01-80-C2-00-00-01,将它发送给正在发送的站,发送站接收到该帧后,就会暂停或停止发送。PAUSE帧利用了一个保留的组播地址,它不会被网桥和交换机所转发,这样,PAUSE帧不会产生附加信息量。
在全双工环境中,服务器和交换机之间的连接是一个无碰撞的发送和接收通道。由于没有碰撞检测,且不允许交换机通过产生一次冲突而使得服务器停止发送
PAUSE功能应用场合:
- 一对终端(两点网络)
- 一个交换机和一个终端
- 交换机和交换机之间的链路
PAUSE功能不能解决下列问题:
- 稳定状态的网络拥塞,PAUSE协议的设计目的是在缓冲区溢出时通过减少到来的数据量,缓和瞬时过载的情况。如果持续的流量超过了设备的设计能力,则这是一个配置问题,而非流量控制所能解决的问题。PAUSE帧不能解决持续性流量过载。
- 提供端到端流量控制。PAUSE操作只定义在直连的全双工链路上,它不解决端到端的流量控制问题,也不能协调在多个链路上的操作。
- 提供比简单“停—启”更复杂的机制。特别是,它不直接提供基于QoS、基于速率的流量控制等等。
PAUSE功能的增加,是为了防止当瞬时流量过载导致的缓冲区溢出而造成的以太网帧的丢弃。假设一个设备用来处理网络上稳定状态的数据传输,并允许随时间变化有一定数量的流量过载,PAUSE功能可以使这样的设备在流量增长暂时超过其设计水平时,不会发生丢帧现象。该设备通过向对端设备发送PAUSE帧,来防止自己内部的缓冲区溢出,而对端设备在接收到PAUSE帧后,就会暂时停止发送数据。这样,使第一个设备有时间来减少自己的缓冲拥塞。
7、以太网设备
7.1 Hub的工作原理
Hub(集线器)和中继器都是物理层上的连接设备
所有的HUB都是半双工的,
集线器(HUB)工作原理:从任何一个接口收到的数据帧(不管是单播还是广播)不加选择地转发给除接收的那个端口外其它的任何端口
集线器(HUB)和中继器仅仅改变了以太网的物理拓扑。HUB没有用MAC地址,只是对数据进行复制转发,没有过滤功能
实际上网络中由HUB组建以太网实质是一种共享式以太网,存在共享式以太网的所有缺陷:
冲突严重; 广播泛滥;无任何安全性。
7.2 二层工作模式
以太网交换机又称为多端口网桥,此类设备需要完成两个基本功能:MAC地址学习、转发和过滤决定。
网桥转发数据帧是基于MAC地址表.而MAC地址表是网桥基于源MAC地址学习得到的。常见2层交换机的MAC地址表是由MAC地址和交换机的端口建立的映射关系的。
网桥侦听数据帧的源地址,交换机每个端口都监听接收到的数据帧源地址
多播情况下,CAM表项的建立不是通过学习得到的,而是通过IGMP窥探,CGMP等协议获得的。若某个端口接有HUB,则会出现一个端口对应多个MAC地址这种情况。交换机一个端口对应一个冲突域。
交换机的第二个基本功能:基于目的地址转发
查MAC转发表处理转发
对于表中不包含的地址,通过广播的方式转发;
使用地址自动学习和老化机制进行地址表维护。
一般不对帧格式进行修改(VLAN要对帧格式进行修改,打上TAG标签)
二层交换机原理:
接收网段上的所有数据帧;
利用接收数据帧中的源MAC地址来建立MAC地址表(源地址自学习),使用地址老化机制进行地址表维护;
在MAC地址表中查找数据帧中的目的MAC地址,如果找到就将该数据帧发送到相应的端口(不包括源端口);如果找不到,就向所有的端口发送(不包括源端口);
向所有端口转发广播帧和多播帧(不包括源端口)
三种交换模式:
Cut-Through:
交换机接收到目的地址即开始转发过程
延迟小
交换机不检测错误
Store-and-Forward:
交换机将全部内容接收才开始转发过程
延迟大
交换机检测错误,不会有错包
Frag-free:
交换机接收完数据包的前64字节(一个最短帧长度),然后根据头信息查表转发。
结合了直通方式和存储转发方式的优点。
二层交换机缺点:广播泛滥严重,安全性仍没有办法进行有效保证,但是解决了困扰以太网的冲突问题。
7.3 VLAN与三层交换机
VLAN起源于基于端口分组,解决广播泛滥问题,将没有互访需求的主机隔离开。
但是若想两个不同VLAN之间的主机进行通信就需要通过路由选择。三种解决办法:
- 用一台路由器每个VLAN需要占用一个路由器的端口,不同VLAN中的主机需配置不同的缺省网关;随着每个交换机上VLAN数量的增加,这样做必然需要大量的路由器接口。出于成本的考虑,一般不可能用这种方案来解决VLAN间路由选路问题。此外,某些VLAN之间可能不需要经常进行通信,这样导致路由器的接口没被充分利用。
- 使用一台路由器和一台交换机实现;使用单臂路由的概念。某公司按部门划分了三个VLAN,但只需使用路由器一个接口有够了。另外和相连的交换机接口必须TRUNKING端口,而且路由器这接口必须划分成子接口,有多少个VLAN就划分多少个子接口
- 借助于三层交换机。将路由器和交换机合成的一种设备,融合了路由器和交换机各自的优势
三层交换机:
在逻辑上,三层交换和路由是等同的,三层交换的过程就是IP报文选路的过程。
三层交换机与路由器在转发操作上的主要区别在于其实现的方式:
三层交换机通过硬件实现查找和转发;
传统路由器通过微处理器上运行的软件实现查找和转发;
三层交换机的转发路由表与路由器一样,需要软件通过路由协议来建立和维护。
在局域网中引入三层交换能够更加经济的替代传统路由器
IP网络的规则:
1.相同网段内部的通信,通过二层功能完成互通,当主机与对端主机通信的时候,根据自身的IP地址和子网掩码来确定对方是否在系统网段内,如果判定在相同网段内,则直接通过ARP查找对方的MAC地址,然后把对方的MAC地址填入以太网帧头的目的MAC地址域
2.不同网段的主机通信的时候,主机发现对方在不同的网段内,则主机就会自动借助网关来进行通信,主机首先通过ARP来查找设定的网关的MAC地址,然后把网关的MAC地址(而不是对方主机的MAC地址,因为主机认为通信对端不是本地主机)填入以太网帧头的目的MAC地址域
根据以上规则,三层交换机根据以太网帧的目的MAC地址域的地址来判断是进行二层转发还是三层转发,如果是给某个VLAN指定的路由接口的MAC地址,则进行三层转发,否则在VLAN内部进行二层转发。
三层交换机应用场合:
几乎全是以太网接口
路由器比较稳定,变化较少
低端路由器和L3的区别:
为什么L3不增强对路由变化的适应能力?
答:必须使用更昂贵的CPU,成本增高。
为什么路由器不使用L3的硬件转发?
答:广域网路由太多,且不固定,CACHE命中率太低