在TCP/IP中,以太网的IP数据报文的封装格式由RFC894定义,IEEE802.3网络的IP数据报文封装由RFC1042定义。当今最常利用的封装格式是RFC894定义的格式,常日称为Ethernet_II或者Ethernet DIX。
01

以太网根本知识
1.1 以太网的网络层次
以太网采取无源的介质,按广播办法传播信息。它规定了物理层和数据链路层协议,规定了物理层和数据链路层的接口以及数据链路层与更高层的接口。
物理层
物理层规定了以太网的基本物理属性,如数据编码、时标、电频等。
物理层位于OSI参考模型的最底层,它直接面向实际承担数据传输的物理媒体(即通信通道),物理层的传输单位为比特(bit),即一个二进制位(“0”或“1”)。实际的比特传输必须依赖于传输设备和物理媒体,但是,物理层不是指详细的物理设备,也不是指旗子暗记传输的物理媒体,而是指在物理媒体之上为上一层(数据链路层)供应一个传输原始比特流的物理连接。
数据链路层
数据链路层是OSI参考模型中的第二层,介于物理层和网络层之间。数据链路层在物理层供应的做事的根本上向网络层供应做事,其最基本的做事是将源设备网络层转发过来的数据可靠地传输到相邻节点的目的设备网络层。
由于以太网的物理层和数据链路层是干系的,针对物理层的不同事情模式,须要供应特定的数据链路层来访问。这给设计和运用带来了一些不便。
为此,一些组织和厂家提出把数据链路层再进行分层,分为媒体接入掌握子层(MAC)和逻辑链路掌握子层(LLC)。这样不同的物理层对应不同的MAC子层,LLC子层则可以完备独立。如图1-1所示。
图1-1 以太网链路层的分层构造
1.2 以太网的线缆标准
从以太网出身到目前为止,成熟运用的以太网物理层标准紧张有以下几种:
10BASE-210BASE-510BASE-T10BASE-F100BASE-T4100BASE-TX100BASE-FX1000BASE-SX1000BASE-LX1000BASE-TX10GBASE-T10GBASE-LR10GBASE-SR
在这些标准中,前面的10、100、1000、10G分别代表运行速率,中间的BASE指传输的旗子暗记是基带办法。
10兆以太网线缆标准
10兆以太网线缆标准在IEEE802.3中定义,线缆类型如表1-1所示。
表1-1 10兆以太网线缆标准
同轴电缆的致命毛病是:电缆上的设备是串连的,单点故障就能导致全体网络崩溃。10BASE-2,10BASE-5是同轴电缆的物理标准,现在已经基本被淘汰。
100兆以太网线缆标准
100兆以太网又叫快速以太网FE(Fast Ethernet),在数据链路层上跟10M以太网没有差异,仅在物理层长进步了传输的速率。
快速以太网线缆类型如表1-2所示。
表1-2 快速以太网线缆标准
10BASE-T和100BASE-TX都是运行在五类双绞线上的以太网标准,所不同的是线路上旗子暗记的传输速率不同,10BASE-T只能以10M的速率事情,而100BASE-TX则以100M的速率事情。
100BASE-T4现在很少利用。
千兆以太网线缆标准
千兆以太网是对IEEE802.3以太网标准的扩展。在基于以太网协议的根本之上,将快速以太网的传输速率从100Mbit/s提高了10倍,达到了1Gbit/s。千兆以太网线缆标准如表1-3所示。
表1-3 千兆以太网线缆标准
用户可以采取这种技能在原有的快速以太网系统中实现从100Mbit/s到1000Mbit/s的升级。
千兆以太网物理层利用8B10B编码。在传统的以太网传输技能中,数据链路层把8位数据组提交到物理层,物理层经由适当的变换后发送到物理链路上传输。但变换的结果还是8比特。
在光纤千兆以太网上,则不是这样。数据链路层把8比特的数据提交给物理层的时候,物理层把这8比特的数据进行映射,变换成10比特发送出去。
万兆以太网线缆标准
万兆以太网当前利用附加标准IEEE 802.3ae用以解释,将来会合并进IEEE 802.3标准。万兆以太网线缆标准如表1-4所示。
表1-4 万兆以太网线缆标准
100Gbps以太网线缆标准
新的40G/100G以太网标准在2010年制订完成,当前利用附加标准IEEE 802.3ba用以解释。随着网络技能的发展,100Gbps以太网在未来会有大规模的运用。
1.3 CSMA/CD
CSMA/CD的观点
根据以太网的最初设计目标,打算机和其他数字设备是通过一条共享的物理线路连接起来的。这样被连接的打算机和数字设备必须采取一种半双工的办法来访问该物理线路,而且还必须有一种冲突检测和避免的机制,以避免多个设备在同一时候抢占线路的情形,这种机制便是所谓的CSMA/CD(Carrier Sense Multiple Access/Collision Detection)。
可以从以下三点来理解CSMA/CD:
CS:载波侦听在发送数据之提高行侦听,以确保线路空闲,减少冲突的机会。MA:多址访问每个站点发送的数据,可以同时被多个站点吸收。CD:冲突检测由于两个站点同时发送旗子暗记,旗子暗记叠加后,会使线路上电压的摆动值超过正常值一倍。据此可判断冲突的产生。边发送边检测,创造冲突就停滞发送,然后延迟一个随机韶光之后连续发送。
CSMA/CD的事情过程
CSMA/CD的事情过程如下:
如果线路空闲则发送数据。如果线路不空闲则一贯等待。终端设备一直的检测共享线路的状态。如果有其余一个设备同时发送数据,两个设备发送的数据一定产生冲突,导致线路上的旗子暗记不稳定。终端设备检测到这种不稳定之后,立时停滞发送自己的数据。终端设备发送持续串滋扰脉冲,然后等待一段韶光之后再进行发送数据。发送滋扰脉冲的目的是为了关照其他设备,特殊是跟自己在同一个时候发送数据的设备,线路上已经产生了冲突。检测到冲突后等待的韶光是随机的。
1.4 最小帧长
由于CSMA/CD算法的限定,以太网帧必须不能小于某个最小长度。以太网中,最小帧长为64字节,这是由最大传输间隔和冲突检测机制共同决定的。
规定最小帧长是为了避免这种情形发生:A站点已经将一个数据包的末了一个Bit发送完毕,但这个报文的第一个Bit还没有传送到间隔很远的B站点。B站点认为线路空闲连续发送数据,导致冲突。
图1-2 Ethernet_II的帧构造
高层协议必须担保Data域至少包含46字节,这样加上以太网帧头的14字节和帧尾的4字节校验码恰好知足64字节的最小帧长,如图1-2所示。如果实际数据不敷46个字节,则高层协议必须添补一些数据单元。
1.5 以太网的双工
以太网的物理层存在半双工和全双工两种模式。
半双工
半双工的事情模式:
任意时候只能吸收数据或者发送数据。采取CSMA/CD机制。有最大传输间隔的限定。
HUB事情在半双工模式。
全双工
在有L2交流机取代了HUB组建以太网后,以太网由共享式转变为交流式。而且用全双工代替了半双工,传输数据帧的效率大大提高,最大吞吐量达到双倍速率。
全双工从根本上办理了以太网的冲突问题,以太网从此告别CSMA/CD。
全双工的事情模式:
同一时候可以吸收和发送数据。最大吞吐量达双倍速率。肃清了半双工的物理间隔限定。
当前制造的网卡、二层设备、三层设备都支持全双工模式,HUB除外。
实现全双工的硬件担保:
支持全双工的网卡芯片收发线路完备分离的物理介质点到点的连接
1.5 以太网的自协商
自动协商的目的
最早的以太网都是10M半双工的,以是须要CSMA/CD等一系列机制担保系统的稳定性。随着技能的发展,涌现了全双工,接着又涌现了100M,以太网的性能大大改进。但是随之而来的问题是:如何担保原有以太网络和新以太网的兼容?
于是,提出了自动协商技能来办理这种抵牾。自动协商的紧张功能便是使物理链路两端的设备通过交互信息自动选择同样的事情参数。自动协商的内容紧张包括双工模式、运行速率以及流控等参数。一旦协商通过,链路两端的设备就锁定在同样的双工模式和运行速率。
以太网速率双工自协商在如下标准中定义:
百兆以太网标准:IEEE 802.3uIEEE 802.3u规范将自协商作为可选功能。千兆以太网标准:IEEE 802.3zIEEE 802.3z规范将自协商作为逼迫功能,所有设备必须遵照并且必须默认启用自协商。
自动协商事理
自动协商是网络设备间建立连接的一种办法。它许可一个网络设备将自己所支持的事情模式信息传达给网络上的对端,并接管对端可能通报过来的信息。设备双方根据彼此事情模式信息的交集,按照双方都支持的最优事情模式建立连接。
对付利用双绞线连接的以太网,如果没有数据传输时,链路并不是一贯空闲,而是每隔16ms发送一个高脉冲,用来掩护链路层的连接,这种脉冲成为NLP(Normal Link Pulse)码流。在NLP码流中再插入一些频率更高的脉冲,可用来通报更多的信息,这串脉冲成为FLP(Fast Link Pulse)码流,如图1-3所示。自协商功能的基本机制便是将协商信息封装进FLP码流中,以达到自协商的目的。
图1-3 脉冲插入示意图
对付利用光模块和光纤连接的以太网,与利用双绞线连接的以太网类似,也是靠发送码流来进行自协商的,这种码流称为C码流,也便是配置(Configuration)码流。与电口不同的是,光口一样平常不协商速率,并且一样平常事情在双工模式,以是自协商一样平常只用来协商流控。
如果协商通过,网卡就把链路置为激活状态,可以开始传输数据了。如果不能通过,则该链路不能利用。
如果有一端不支持自动协商,则支持自动协商的一端选择一种默认的办法事情,一样平常情形下是10M半双工模式。
自协商完备由物理层芯片设计实现,IEEE 802.3规范哀求不才列任一情形下启动自协商:
链路中断后规复设备重新上电任何一端设备复位有重新自协商(Renegotiation)要求
除此之外,连接双方并不会一贯发送自协商码流。自协商并不该用专用数据包或带来任何高层协议开销。
接口的自动协商规则
当接口对接时,双方能否正常通信和两端接口设置的事情模式是否匹配干系。
当两端接口都事情在相同类型的非自协商模式时,双方可以正常通信。当两端接口都事情在自协商模式时,双方通过协商可以正常通信,终极的协商结果取决于能力低的一端,通过自协商功能还可以协商流量掌握功能。当两端接口一真个事情模式为自协商,对端为非自协商时,接口终极协商的事情模式和对端设置的事情模式干系。
1.6 冲突域和广播域
冲突域
在传统的以粗同轴电缆为传输介质的以太网中,同一介质上的多个节点共享链路的带宽,争用链路的利用权,这样就会发生冲突,CSMA/CD机制中当冲突发生时,网络就要进行回退,这段回退的韶光内链路上不传送任何数据。而且这种情形是不可避免的。同一介质上的节点越多,冲突发生的概率越大。这种连接在同一导线上的所有节点的凑集便是一个冲突域。冲突域内所有节点竞争同一带宽,一个节点发出的报文(无论是单播、组播、广播)别的节点都可以收到。
广播域
由于网络中利用了广播,会占用带宽,降落设备的处理效率,必须对广播加以限定。比如ARP利用广播报文从IP地址来解析MAC地址。全1MAC地址FFFF-FFFF-FFFF为广播地址,所有节点都会处理目的地址为广播地址的数据帧。这种一个节点发送一个广播报文别的节点都能够收到的节点的凑集,便是一个广播域。传统的网桥可以根据MAC表对单播报文进行转发,对付广播报文向所有的接口都转发,以是网桥的所有接口连接的节点属于一个广播域,但是每个接口属于一个单独冲突域。
02
以太网交流
2.1 二层交流事理
二层交流设备事情在OSI模型的第二层,即数据链路层,它对数据包的转发是建立在MAC(Media Access Control )地址根本之上的。二层交流设备不同的接口发送和吸收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互连的主机(或网络)之间不必再担心流量大小对付数据发送冲突的影响。
二层交流设备通过解析和学习以太网帧的源MAC来掩护MAC地址与接口的对应关系(保存MAC与接口对应关系的表称为MAC表),通过其目的MAC来查找MAC表决定向哪个接口转发,基本流程如下:
二层交流设备收到以太网帧,将其源MAC与吸收接口的对应关系写入MAC表,作为往后的二层转发依据。如果MAC表中已有相同表项,那么就刷新该表项的老化韶光。MAC表表项采纳一定的老化更新机制,老化韶光内未得到刷新的表项将被删除掉。设备判断目的MAC地址是不是广播地址:如果目的MAC地址是广播地址,那么向所有接口转发(报文的入接口除外)。如果目的MAC地址不是广播地址,根据以太网帧的目的MAC去查找MAC表,如果能够找到匹配表项,则向表项所示的对应接口转发,如果没有找到匹配表项,那么向所有接口转发(报文的入接口除外)。
从上述流程可以看出,二层交流通过掩护MAC表以及根据目的MAC查表转发,有效的利用了网络带宽,改进了网络性能。图1-6是一个二层交流的示例。
图1-6 二层交流示例
二层交流设备虽然能够隔离冲突域,但是它并不能有效的划分广播域。由于从前面先容的二层交流设备转发流程可以看出,广播报文以及目的MAC查找失落败的报文会向除报文的入接口之外的其它所有接口转发,当网络中的主机数量增多时,这种情形会花费大量的网络带宽,并且在安全性方面也带来一系列问题。当然,通过路由器来隔离广播域是一个办法,但是由于路由器的高本钱以及转发性能低的特点使得这一方法运用有限。基于这些情形,二层交流中涌现了VLAN技能。
2.2 三层交流事理
三层交流机涌现的背景
早期的网络中一样平常利用二层交流机来搭建局域网,而不同局域网之间的网络互通由路由器来完成。那时的网络流量,局域网内部的流量占了绝大部分,而网络间的通信访问量比较少,利用少量路由器已经足够搪塞了。
但是,随着数据通信网络范围的不断扩大,网络业务的不断丰富,网络间互访的需求越来越大,而路由器由于自身本钱高、转发性能低、接口数量少等特点无法很好的知足网络发展的需求。因此涌现了三层交流机这样一种能实现高速三层转发的设备。
当然,三层交流机并不能完备替代路由器,路由器所具备的丰富的接口类型、良好的流量做事等级掌握、强大的路由能力等仍旧是三层交流机的薄弱环节。
三层转发的事理
目前的三层交流机一样平常是通过VLAN来划分二层网络并实现二层交流,同时能够实现不同VLAN间的三层IP互访。不同网络的主机之间互访的流程简要如下:
源主机在发起通信之前,将自己的IP与目的主机的IP进行比较,如果两者位于同一网段(用网络掩码打算后具有相同的网络号),那么源主机直接向目的主机发送ARP要求,在收到目的主机的ARP应答后得到对方的物理层(MAC)地址,然后用对方MAC地址作为报文的目的MAC地址进行报文发送。当源主机判断目的主机与自己位于不同网段时,它会通过网关(Gateway)来递交报文,即发送ARP要求来获取网关IP地址对应的MAC,在得到网关的ARP应答后,用网关MAC作为报文的目的MAC发送报文。此时发送报文的源IP是源主机的IP,目的IP仍旧是目的主机的IP。
下面详细先容一下三层交流的过程。
如图1-7所示,通信的源、目的主机连接在同一台三层交流机上,但它们位于不同VLAN(网段)。对付三层交流机来说,这两台主机都位于它的直连网段内,它们的IP对应的路由都是直连路由。
图1-7 三层转发事理示意网
图中标明了两台主机的MAC、IP地址、网关,以及三层交流机的MAC、不同VLAN配置的三层接口IP。当 PC A向PC B发起PING时,流程如下:(假设三层交流机上还未建立任何硬件转揭橥项)
根据前面的描述,PC A首先检讨出目的IP地址10.2.1.2(PC B)与自己不在同一网段,因此它发出要求网关地址10.1.1.1对应MAC的ARP要求;L3 Switch收到PC A的ARP要求后,检讨要求报文创造被要求IP是自己的三层接口IP,因此发送ARP应答并将自己的三层接口MAC(MAC Switch)包含在个中。同时它还会把PC A的IP地址与MAC地址对应(10.1.1.2与MAC A)关系记录到自己的ARP表项中去(由于ARP要求报文中包含了发送者的IP和MAC);PC A得到网关(L3 Switch)的ARP应答后,组装ICMP要求报文并发送,报文的目的MAC(即DMAC)=MAC Switch、源MAC(即SMAC)=MAC A、源IP(即SIP)=10.1.1.2、目的IP(即DIP)=10.2.1.2;L3 Switch收到报文后,首先根据报文的源MAC+VLAN ID更新MAC表。然后,根据报文的目的MAC+VLAN ID查找MAC地址表,创造匹配了自己三层接口MAC的表项,解释须要作三层转发,于是连续查找交流芯片的三层表项;交流芯片根据报文的目的IP去查找其三层表项,由于之前未建立任何表项,因此查找失落败,于是将报文送到CPU去进行软件处理;CPU根据报文的目的IP去查找其软件路由表,创造匹配了一个直连网段(PC B对应的网段),于是连续查找其软件ARP表,仍旧查找失落败。然后L3 Switch会在目的网段对应的VLAN 3的所有接口发送要求地址10.2.1.2对应MAC的ARP要求;PC B收到L3 Switch发送的ARP要求后,检讨创造被要求IP是自己的IP,因此发送ARP应答并将自己的MAC(MAC B)包含在个中。同时,将L3 Switch的IP与MAC的对应关系(10.2.1.1与MAC Switch)记录到自己的ARP表中去;L3 Switch收到PC B的ARP应答后,将其IP和MAC对应关系(10.2.1.2与MAC B)记录到自己的ARP表中去,并将PC A的ICMP要求报文发送给PC B,报文的目的MAC修正为PC B的MAC(MAC B),源MAC修正为自己的MAC(MAC Switch)。同时,在交流芯片的三层表项中根据刚得到的三层转发信息添加表项(内容包括IP、MAC、出口VLAN、出接口),这样后续的PC A发往PC B的报文就可以通过该硬件三层表项直接转发了;PC B收到L3 Switch转发过来的ICMP要求报文往后,回应ICMP应答给PC A。ICMP应答报文的转发过程与前面类似,只是由于L3 Switch在之前已经得到PC A的IP和MAC对应关系了,也同时在交流芯片中添加了干系三层表项,因此这个报文直接由交流芯片硬件转发给PC A;这样,后续的来回报文都经由查MAC表到查三层转揭橥的过程由交流芯片直接进行硬件转发了。
从上述流程可以看出,三层交流机正是充分利用了“一次路由(首包CPU转发并建立三层硬件表项)、多次交流(后续包芯片硬件转发)”的事理实现了转发性能与三层交流的完美统一。
03
以太网交流运用处景
如图1-8所示,某企业有IP电话、员工PC、网络打印机、移动终端、做事器等多种设备须要接入网络。
图1-8 利用以太网技能组建企业网络示例
可以利用以太网技能将浩瀚的终端设备连接到网络,从而实现员工访问网络、拨打IP电话、员工PC访问做事器共享资源、通过网络实现远程打印、IT管理员统一管理等网络业务。





