一、以太网协议
1.1 以太网协议的概念
• 以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定
义了在局域网中采用的电缆类型和信号处理方法。
• 以太网是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访
问/冲突检测)机制上的广播型网络。
• 早期的以太网:
▫ 以太网是建立在CSMA/CD机制上的广播型网络。冲突的产生是限制以太网性能的重要因素,早期的以太网设备如集线器HUB是物理层设备,不能隔绝冲突扩散,限制了网络性能的提高。
• 交换机组网:
▫ 交换机做为一种能隔绝冲突的二层网络设备,极大的提高了以太网的性能,并替代HUB成为主流的以太网设备。但是交换机对网络中的广播数据流量不做任何限制,这也影响了网络的性能。
1.2 冲突域的概念
• 冲突域是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一带宽,一个节
点发出的报文(无论是单播、组播、广播),其余节点都可以收到。
在之前的早期共享网络中,以太网使用CSMA/CD技术,避免技术冲突问题,而现在使用交换机来隔离冲突域来解决这样的问题。
1.2.1 CSMA/CD的工作过程
• 在共享网络,以太网络使用CSMA/CD技术,避免冲突问题。CSMA/CD的基本工作过程如
下:
▫ 终端设备不停的检测共享线路的状态。
▪ 如果线路空闲则发送数据。
▪ 如果线路不空闲则一直等待。
▫ 如果有另外一个设备同时发送数据,两个设备发送的数据必然产生冲突,导致线路上
的信号不稳定。
▫ 终端设备检测到这种不稳定之后,马上停止发送自己的数据。
▫ 终端设备发送一连串干扰脉冲,然后等待一段时间之后再进行发送数据。发送干扰脉
冲的目的是为了通知其他设备,特别是跟自己在同一个时刻发送数据的设备,线路上
已经产生了冲突。
• CSMA/CD的工作原理可简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。
1.3 广播域的概念
• 广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到
广播报文。
• 全1MAC地址FF-FF-FF-FF-FF-FF为广播地址,所有节点都会处理目的地址为广播地址的数据帧,该数据帧所能到达的整个访问范围称为二层广播域,简称广播域。
• 注:MAC (Media Access Control)地址,在网络中唯一标识一个网卡,每个网卡都需要并会有唯一的一个MAC地址,后面课程内容会具体讲。
1.4 以太网卡
• 网络接口卡 (Network Interface Card, NIC)也称为“网卡”,是计算机、交换机、路由器等网络
设备与外部网络世界相连的关键部件。
• 网卡有很多类型,本章节我们提及的都指以太网接口卡,简称以太网卡或以太卡。
• 我们所说的交换机也均为以太网交换机,则交换机上每个转发数据的网口所使用的网卡都是以太网卡。
二、以太网帧
2.1 以太网帧格式
• 以太网技术所使用的帧称为以太网帧 (Ethernet Frame),或简称以太帧。
• 以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。
• 在以太网中,数据通信的基本单位是以太网帧 ( Frame )。以太帧的格式有两个标准:
Ethernet_II格式和IEEE 802.3格式,因此协议规定以太网帧的数据格式如图所示。
• Ethernet Ⅱ以太帧:
▫ DMAC:6字节,目的MAC地址,6字节,该字段标识帧的接收者。
▫ SMAC:6字节,源MAC地址,6字节,该字段标识帧的发送者。
▫ Type:2字节,协议类型。常见值:
▪ 0x0800:Internet Protocol Version 4 (IPv4) ;
▪ 0x0806:Address Resolution Protocol (ARP) 。
• IEEE 802.3 LLC以太帧:
▫ 逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination
Service Access Point)、源服务访问点SSAP(Source Service Access Point)和
Control字段组成。
▪ DSAP:1字节,目的服务访问点,若后面类型为IP值设为0x06。服务访问点的
功能类似于Ethernet II帧中的Type字段或TCP/UDP传输协议中的端口号。
▪ SSAP:1字节,源服务访问点,若后面类型为IP值设为0x06。
▪ Ctrl:1字节,该字段值通常设为0x03,表示无连接服务的IEEE 802.2无编号数
据格式。
▫ SNAP(Sub-network Access Protocol)由机构代码(Org Code)和类型(Type)字
段组成。
▪ Org Code三个字节都为0。
▪ Type字段的含义与Ethernet_II帧中的Type字段相同。
数据帧的总长度为64-1518字节,这样设计的原因是什么?(另外,以太网口的最大传输单
元是1500字节,即MTU=1500B。)
▫ 以太网中,最小帧长为64字节,这是由最大传输距离和CSMA/CD机制共同决定的。
▪ 规定最小帧长是为了避免这种情况发生:A站点已经将一个数据包的最后一个
Bit发送完毕,但这个报文的第一个Bit还没有传送到距离很远的B站点。B站点认
为线路空闲继续发送数据,导致冲突。
▪ 高层协议必须保证Data域至少包含46字节,这样加上以太网帧头的14字节和帧
尾的4字节校验码正好满足64字节的最小帧长,如果实际数据不足46个字节,
则高层协议必须填充一些数据单元。
▫ 而出于对传输效率和传输可靠性的折中考虑,使得以太网帧的最大长度为1518字节,
对应IP数据包就是1500字节。
▪ 较大的帧长度,数据的有效传输效率会更高;但是数据帧过长,传输时会占用
共享链路过多的时间,对时延敏感应用造成极大的影响。
▪ 因此最终选择了一个折中的长度:1518字节的数据帧长,对应1500字节的IP数
据包长度,这就是最大传输单元MTU的由来。
2.2 MAC地址
• MAC (Media Access Control)地址在网络中唯一标识一个网卡,每个网卡都需要并拥有唯一的一
个MAC地址。
• 一块网卡的MAC地址是具有全球唯一性的。
• MAC地址是在IEEE 802标准中定义并规范的,凡是符合IEEE 802标准的以太网卡,都必须
拥有一个MAC地址,用MAC地址来定义网络设备的位置。不同的网卡,MAC地址也不同。
MAC地址表示
• 一个MAC地址有48 bit,6 Byte。
• MAC地址通常采用“十六进制”+“-”表示。
2.3 MAC地址构成及分类
• OUI (Organizationally Unique Identifier):厂商代码,由IEEE分配,3 Byte,24 bit。
2.4 MAC地址 VS IP地址
IP地址的特点:
▫ IP地址是唯一的
▫ IP地址可变
▫ 基于网络拓扑进行IP地址分配
MAC地址的特点:
▫ MAC地址是唯一的
▫ MAC地址不可变
▫ 基于制造商进行MAC地址分配
问题:网络中如果只有MAC or IP地址,可以吗?
▫ IP地址的作用是唯一标识网络中的一个节点,可以通过IP地址进行不同网段的数据访
问。
▫ MAC地址的作用是唯一标识一个网卡,可以通过MAC地址进行同网段的数据访问。
▫ 当网络进行通信时,一个信息在进行路由转发流程后,到达目的网段后,进行在一个网段中需要解封装数据链路层的以太网帧,然后根据以太网帧的目的MAC地址进行找到交换机下的对应的网卡。同一网段的两台机器,可以根据MAC地址进行同网段间的数据访问。其实是对网络的进一步细分。
三、以太网二层交换机
3.1 交换机介绍
以太网二层交换机转发数据的端口都是以太网口,并且只能够针对数据的二层头部 (以太网数据帧头) 中的MAC地址进行寻址并转发数据。
• 以太网二层交换机:
▫ 在园区网络中,交换机一般来说是距离终端用户最近的设备,用于终端接入园区网,
接入层的交换机一般为二层交换机。
▫ 二层交换设备工作在TCP/IP对等模型的第二层,即数据链路层,它对数据包的转发是
建立在MAC(Media Access Control )地址基础之上的。
• 以太网三层交换机:
▫ 不同局域网之间的网络互通需要由路由器来完成。随着数据通信网络范围的不断扩大,
网络业务的不断丰富,网络间互访的需求越来越大,而路由器由于自身成本高、转发
性能低、接口数量少等特点无法很好的满足网络发展的需求。因此出现了三层交换机
这样一种能实现高速三层转发的设备。
3.2 交换机的工作原理
• 二层交换机工作在数据链路层,它对数据帧的转发是建立在MAC地址基础之上的。交换机
不同的接口发送和接收数据是独立的,各接口属于不同的冲突域,因此有效地隔离了网络
中的冲突域。
• 二层交换设备通过学习以太网数据帧的源MAC地址来维护MAC地址与接口的对应关系(保
存MAC与接口对应关系的表称为MAC地址表),通过其目的MAC地址来查找MAC地址表决
定向哪个接口转发。
3.2.1 MAC地址表
• 每台交换机中都有一个MAC地址表,存放了MAC地址与交换机端口编号之间的映射关系。
MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系。交换机在转发
数据帧时,根据数据帧的目的MAC地址查询MAC地址表。
如果MAC地址表中包含与该帧目的MAC地址对应的表项
则直接通过该表项中的出接口转发该报文;
如果MAC地址表中没有包含该帧目的MAC地址对应的表项时
交换机将采取泛洪方式在除接收接口外的所有接口发送该报文。
3.3 交换机的三种数据帧处理能力
交换机对帧的处理行为一共有三种:泛洪(Flooding),转发(Forwarding),丢弃
(Discarding)。
3.3.1泛洪
交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它的端口”是指除了这个帧进入交换机的那个端口以外的所有端口)。
3.3.2 转发
交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口”不能是这个帧进入交换机的那个端口)。
3.3.3 丢弃
交换机把从某一端口进来的帧直接丢弃。
▫ 主机1想要访问主机2,发送单播数据帧,交换机1收到后,若MAC地址表中查不到对
应的表项,则会泛洪该数据帧。
▫ 交换机2收到该数据帧后,发现目的MAC地址对应的端口就是接收数据帧的端口,则
会丢弃该数据帧。
3.4 交换机的MAC地址学习
1.
2.
3.
4.
5.
四、同网段数据通信全过程
4.1初始状态
4.2 泛红数据帧
4.3 学习MAC地址
4.4 目标主机回复