分类: 系统运维
2008-05-20 10:40:45
Ethernet
Ethernet(以太网)于20世纪70年代中期,由Xerox公司分部Palo Alto研究中心(PARC)开发的.Xerox最早发明的是一个2Mbps的以太网,后来又和Intel和DEC合作开发了出了10Mbps的以太网,俗称(Ethernet II或Ethernet DIX).后来IEEE通过802委员会(802 Committee)把Ethernet标准化为IEEE 802.3.它和Ethernet II十分相似
MAC地址
MAC地址用来标识以太网上每个节点(node)的地址,即物理地址.MAC地址为48位(bit)长,即6个字节.如下图:
MAC地址是烧录在网卡(Network Interface Controller,NIC)的ROM里的.为了保证MAC地址的唯一性,IEEE规定MAC地址前24位为厂商代码(vendor code),后24位为序列号(serial number)
Ethernet帧的格式
一些常见的以太网帧的格式,如下图:
preamble为前导符,7字节长,由10101010…重复组成,SFD为起始分界符,1字节长,由11组成,如下图:
Ethernet DIX帧里有类型(type)字段,用来鉴别层3的协议;而802.3 Ethernet帧把类型字段替换成了长度(length)字段,所以它无法辨别上层协议,这时就要用到802.2 LLC ,还有2种常见的以太网帧的格式,如下图:
Novell的以太网帧只用于传输IPX流量,由于Novell没有想过IP会运行在其他层3协议上,所以它不需要类型字段,而且它也没有LLC 802.3 Ethernet Sub-Network Access Protocol(SNAP)的DSAP和SSAP字段的值为AA,OUI字段代表organizational unique identifier,3字节长,用于代表不同的组织.OUI由IEEE分配,Cisco的OUI为00000c
Carrier Sense Multiple Access with Collision Detection(CSMA/CD)
以太网使用一种叫做带冲突检测的载波监听多路访问(CSMA/CD)技术进行通信.这是一种比较友好的会话方式.比如你有话要说,但是你很礼貌的先听听看有没有别的人在说话(carrier sense),如果有人在说话,你就等他把话说完,你才开始说;如果没人说话,你就开始说.但是假如有2个人同时说话怎么办?假如有2个人同时说话了,双方一旦听到同时有除自己以外的人在说话的话(collision detection),就停止继续说话,2个人都随机等待一段时间,然后其中1个人再开始继续说话,另外那个人等他说完再接着说
Ethernet的通信方式就是这样的,如果双方同时要传输数据的话,将会产生一个collision的信号,由于电压超过正常的值,所以整个网段上的工作站都能注意到这个collision信号,接下来卷入这个collision事件的2个节点发送一个代表拥塞的信号给网段上的所有节点.此时线缆上不会有数据的传输(0Mbps),直到该冲突过程恢复以后.当这2个节点完成拥塞信号的传输以后,它们设置一个随机的计时器开始倒计时,先到0的节点会发现此时网段上没有工作站在进行传输,它就开始传输数据;后到0的那个节点发现之前那个节点已经在传输了,它就等待,等它传输完毕以后再进行传输
所以,在采用CSMA/CD机制的介质上,1次只能有1个节点可以进行传输.所以这也是把Ethernet叫做共享介质(shared medium)的原因
Fast Ethernet
当随着时间的推移,人们开始发现10Mbps的速率不够用是时候,就开始开发一种以太网的升级版本:Fast Ethernet.快速以太网的速率能够达到100Mbps.虽然基于IEEE 802.3u标准的快速以太网不是市场上第一个出现的100Mbps版本.IEEE 802.3u标准的快速以太网和802.3以太网的帧的格式是兼容的,唯一不一样的就是前者在速度上是后者的10倍,由于兼容性很好,802.3u就成为市场上的主流标准.快速以太网仍然采用CSMA/CD机制.由于以太网(包括快速以太网)都属于共享介质,所以在一个网段上,节点越多,产生冲突的机率就越大
Gigabit Ethernet
随着网络的发展,人们发现以快速以太网作为骨干介质越来越不能满足需要,而速率为155Mbps-622Mbps的ATM当时实现起来比较困难.IEEE后来又推出了基于802.3z的千兆以太网(Gigabit Ethernet).和之前的一样,帧的格式和Ethernet并无什么大的区别;在接线方面,千兆以太网,快速以太网和以太网的区别在于,千兆以太网没有采用铜线(copper wiring)标准
Full-Duplex Ethernet
当2个以太网节点通过10baseT互相直连,会有2条通道,其中1条为接收,另1条为发送.由于是直连,中间没有其他节点(比如hub),因此数据可以在没有冲突的情况下来回自由传输,这就叫全双工(full-duplex)以太网.如下图:
要实现全双工,2个节点必须直连,而且他们的网卡必须要支持全双工模式.由于采用全双工模式,发送和接收可以由2条通道同时进行,每条通道都为10Mbps,总共是20Mbps,所以有的时候人们又把全双工以太网称为20Mbps介质(快速和千兆以太网也是如此)
Physical Segment
当1个以太网网段的设备越多,产生冲突的可能性就越大.以太网网段能容纳的设备的数目是根据传输介质所规定的.物理网段,就是连接在传输线缆上的所有的设备的一个范围圈.换句话说就是,在一个物理网段上,所有设备都有产生冲突的可能性.另外1个用来描述物理网段的术语就是冲突域(collision domain).当然可以用某些设备对物理网段进行划分,比如路由器等等
Broadcasts and Logical Segmentation
TCP/IP使用广播来解析IP地址到MAC地址.一些路由协议也使用广播来对路由进行宣告,比如和IGRP.广播不仅会消耗网络上的带宽,还会降低端用户比如工作站的处理能力.网桥(bridge)和交换机会转发广播,而路由器就不会.能够接收到别人发来的广播的所有节点组成的一个区域范围就叫广播域(broadcasting domain)或逻辑网段(logical segment)
Multicasts
多播(multicast)和广播类似,但是和广播的发送给所有节点相比,它是发送给一组特定类型的节点.节点类型通过地址来定义,比如一个帧的目标MAC地址为0100.0CCC.CCCC的就是发往所有的Cisco设备.网桥和交换机也会对多播进行转发
Frame-Forwarding Methods of a Switch
Cisco Catalyst对帧的3种转发方式如下图:
1.cut-through模式也叫fast forward或real time模式,它读取到帧的目标地址以后就立即进行转发
2.fragment free模式也叫modified cut-through模式,它读取到帧数据字段前64字节,然后进行转发
3.store-and-forward模式是读取整个帧,并进行FCS计算.由于帧的长短不一样,所以延迟根据帧的长短而变化