以太网协议介绍
以太网是当今现有局域网采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号处理方法。
以太网是建立在CSMA/CD(载波监听多路访问/冲突检测)机制上的广播型网络。
早期的以太网:
冲突的产生是限制以太网性能的重要因素,早起以太网设备如Hub集线器是物理层设备,不能隔绝冲突,限制了网络性能。
交换机组网:
交换机作为一种能隔绝冲突的二层网络设备,极大提高了网络性能,并替代了HUB。但交换机对网络中的广播数据流量不做任何限制,也影响了网络性能。
冲突域
冲突域是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一带宽,一个节点发出的报文(无论是单播、组播、广播),其余节点都可以收到。
在传统以太网中,同一个介质上的多个节点共享链路带宽,争用链路,这样就会发生冲突。同一介质上的节点越多,冲突发生的概率越大。
交换机不同的接口发送和接收数据独立,各接口属于不同的冲突域,有效隔离了网络层物理层冲突域。
在共享网络中,以太网使用CSMA/CD技术,避免冲突问题。CSMA/CD过程基本如下:
- 终端设备不停的检测共享线路的状态,如果线路空闲发送数据,不空闲则一直等待。
- 如果有另外一个设备同时发送数据,两个设备发送数据必然冲突,导致线路上的信号不稳定。
- 终端设备检测到不稳定之后,停止发送自己的数据。
- 终端设备发送一连串干扰脉冲,然后等待一段时间之后再进行发送数据。发送干扰脉冲的目的是为了通知其他设备,特别是跟自己在同一个时刻发送数据的设备,线路上已经产生了冲突。
CSMA/CD的工作原理可以总结为:先听后发,边发边听,冲突停发,随机延迟后重发。
广播域
广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。
- 在传统的以太网中,同一介质上的多个节点共享链路,一台设备发出的广播报文,所有设备都会收到。
- 交换机对广播报文会向所有的接口都转发,所以交换机的所有接口连接的节点属于一个广播域
全1MAC地址FF-FF-FF-FF-FF-FF为广播地址,所有地址都会处理目的地址为广播地址的数据帧。
组播MAC地址:除广播地址外,第8bit为1的MAC地址为组播MAC地址(例如01-00-00-00-00-00),用来代表LAN上的一组终端。
以太网帧介绍
以太网技术所使用的帧称为以太网帧,或简称以太帧。
以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。
数据帧的总长度为64-1518字节,以太网口的最大传输单元是1500字节,即MTU=1500B
什么是MAC地址
48bit,6Byte,12位16进制数字组成。
1个十六进制代表4个二进制数
比如1122-3344-AABB
其中1122代表16个二进制数。
MAC地址在网络中唯一标识一个网卡,每个网卡都需要并拥有唯一的一个MAC地址。
一块网卡的MAC地址是具有全球唯一性的
MAC地址如同每个人都有身份证号码来标识自己一样,每块网卡也拥有一个用来标识自己的号码,即MAC地址。
MAC地址是在IEEE 802标准中定义并规范的,凡是符合IEEE 802标准的以太网卡,都必须有一个MAC地址,用MAC地址来定义网络设备的位置,不同网卡,MAC地址不同。
IP地址vsMAC地址
IP地址的作用是标识网络中的一个节点,可以通过IP地址进行不同网段的数据访问。
MAC地址的作用是唯一标识一个网卡,可以通过MAC地址进行相同网段的数据访问。
有了IP地址,为什么还要有MAC地址?
主要原因有,IP地址是根据网络拓扑结构分配的,MAC地址是根据制造商分配的,若路由选择建立在设备制造商的基础上,方案是不行的;当存在两层寻址时,设备更灵活,易于移动和维修。
IP地址的特点: |
MAC地址的特点 |
IP地址是唯一的 |
MAC地址是唯一的 |
IP地址可变 |
MAC地址不可变 |
基于网络拓扑进行IP地址分配 |
基于制造商进行MAC地址分配 |
MAC地址构成以及分类
OUI (Organizationally Unique Identifier):厂商代码,由IEEE分配,3 Byte,24 bit。
制造商分配:3Byte,24 bit
OUI+制造商分配(24bit+24bit=48bit)
MAC地址分为3种类型:
- 单播MAC地址:也称物理MAC地址,这种类型的MAC地址唯一标识以太网上的终端,为全球唯一硬件地址。可以作为源目地址。
- 广播MAC地址:FF-FF-FF-FF-FF-FF。用来表示局域网上的所有终端设备。
- 组播MAC地址:除了广播地址外,第8bit为1(01-00-00-00-00-00),表示局域网上的一组终端。组播MAC地址不能作为源MAC地址,只能作为目的MAC地址。
交换机MAC地址表学习过程:通过源MAC学习,根据目的MAC进行转发
源MAC地址不可能是广播或者组播帧
如何区分MAC地址是单播还是组播?
1、单播以太帧的第8位不可能是1,组播以太帧的第8位是1;
2、例如MAC地址:1111-ACED-2345,或者12-11-33-44-AA-BB,第8位为奇数的话就是组播帧,偶数就是单播帧。
交换机的3种数据帧处理行为
交换机对于从传输介质进入某一端口的帧的处理行为一共有3种:
泛洪、转发、丢弃
局域网上的帧可以通过三种方式发送:
1.单播以太帧,从单一源发送到单一目。
2.广播以太帧:从单一源发送所有目的主机,会产生大量流量,影响网络性能。当需要网络中的所有主机都能接收相同信息并处理的情况下,通常使用广播方式。
3.组播以太帧:从单一源到一组主机,比广播更高效。可以理解为选择性的广播。当需要网络中的一组主机接收相同信息,并且其他主机不受影响的情况下通常使用组播方式。
组播和广播的区别:
交换机收到组播帧和广播帧都会泛洪出去,接收端对于广播帧必须无条件接收;而接收端对于组播帧,会先去看一下是否加入到该组里,比如OSPF使用的组播地址,一台路由器收到组播帧后,因为加入到组播里了,会查看该组播地址;如果没有加入到组里,则不会接收。
以太网交换机介绍
园区网典型架构:接入层、汇聚层、核心层。
以太网二层交换机:距离终端用户最近的,用于终端接入园区网的,接入层的交换机一般称为二层交换机。
以太网三层交换机:不同局域网之间通信需要路由器来完成,但路由器成本较高、转发性能低,接口数量少,所以出现了三层交换机。
交换机的工作原理:
二层交换机工作在数据链路层,它对数据帧的转发是建立在MAC地址基础之上的。交换机的不同接口发送和接受数据是独立的,各接口属于不同的冲突域,因此有效的隔离了网络中的冲突域。
二层交换机通过学习源以太网数据帧的源MAC地址来维护MAC地址的对应关系(MAC地址表),通过其目的MAC地址来查找MAC地址表决定向哪个接口转发。
MAC地址表:每台交换机中有一个MAC地址表,存放了MAC地址与交换机端口编号之间的映射关系。
交换机转发数据帧时,根据数据帧的目的MAC地址查询MAC地址表,如果MAC地址表中存在该MAC地址,则直接通过出接口转发;如果不存在,交换机将采取泛洪方式除接收接口外的所有接口发送该报文。
交换机的三种数据帧处理行为
交换机会通过传输介质进入其端口的每一个帧都进行转发操作。交换机的基本作用就是转发数据帧。
泛洪:交换机把从某一个端口进来的帧通过所有端口转发出去(所有端口是指除了这个帧进入交换机的那个端口以为的所有端口)
转发:交换机把某一个端口进来的帧通过另一个端口转发出去。(另一个端口不能是这个帧进入交换机的那个端口)
丢弃:交换机把某一端口进来的帧直接丢弃。
泛洪
如果进入到交换机的某个端口的帧是一个单播帧,交换机会去MAC地址表查目的MAC。如果查不到这个MAC地址,则交换机对该帧泛洪。发送ARP请求报文,以广播帧的方式去请求目的MAC地址。
如果是广播帧,交换机不会去查MAC地址表,会直接转发。
转发
如果进入交换机端口的帧是单播帧,交换机会通过MAC地址表查目的MAC,如果查到了MAC地址表,比较这个MAC地址在MAC地址表中,对应的端口是不是这个帧进入交换机端口的编号。如果不是,则执行转发。
比如,主机1去访问主机2,交换机1号口,会学习到目的MAC地址,那么交换机查表,目的MAC地址不是MAC地址表中进入该帧的端口,那么就会转发。
丢弃
如果进入交换机端口的帧是单播帧,交换机通过MAC地址表查目的MAC,如果查到了MAC地址表,比较这个MAC地址在MAC地址表中,对应的端口是不是这个帧进入交换机端口的那个编号。如果是,则执行丢弃。
比如,主机1去访问主机2,交换机1查MAC地址表没有目的MAC,则泛洪,当交换机2收到这个数据帧时,查看MAC地址表,发现目的MAC在MAC地址表中,对应的端口是这个数据帧进入交换机端口的编号,那么交换机2会丢弃。
交换机的MAC地址学习
初始情况,交换机不知道连接主机的MAC地址,所以MAC地址表为空。
假如主机1给主机2发数据,会封装数据帧,包含自己的源IP和MAC,目的IP和MAC,交换机收到后,MAC地址表没有对应表项,则对该“未知单播帧”进行泛洪。
同时,交换机对收到数据帧的源MAC和对应端口编号记录在MAC地址表中。
交换机所有端口连接的主机都会收到该数据帧,但是只有主机2会处理(因为目的MAC是主机2)。
主机2也会回复数据帧给1,也是单播数据帧。
交换机收到该单播数据帧,会查看自己的MAC地址表,发现有对应表项,且收到该帧的端口与目的MAC地址所在端口不一致,则转发。
同时,交换机将收到的数据帧的源MAC地址记录到MAC地址表中。
MAC地址表中动态学习的表有生存周期,MAC地址到达生存周期扔得不到更新将被删除,称为老化时间,华为S系列交换机老化时间缺省值为300秒。
同网段数据通信全过程
1、初始状态,所有设备缓存为空。
2、PC1给PC2发送ARP请求报文,请求目的MAC地址;
并把PC1的MAC地址和对应端口记录下来;
交换机收到数据帧后,查表没有对应表项,则向非接收端口泛洪;
3、PC2收到APR请求报文后,发现是找自己,则给PC1回应1个单播帧;
4、交换机收到后,会把PC2的MAC地址和对应端口记录下来;
并根据目的MAC查表,发现是PC1的,有对应表项,则从其端口转发出去。