数据帧传输
1.数据帧如何传输
1.数据链路层基于MAC地址进行帧的传输。
2.以太网在二层链路上通过MAC地址来唯一标识网络设备,并且实现局域网上网络设备之间的通信。
3.MAC地址也叫物理地址,大多数网卡厂商把MAC地址烧入了网卡的ROM中。
4.发送端使用接收端的MAC地址作为目的地址。
5.以太帧封装完成后会通过物理层转换成比特流在物理介质上传输。
2.以太网的MAC地址
1.MAC地址由两部分组成,分别是供应商代码和序列号。
2.网络设备的MAC地址是全球唯一的。
3.MAC地址长度为48比特,通常用十六进制表示。
4.MAC地址包含两部分:
5.前24比特是组织唯一标识符(OUI,Organizationally Unique Identifier),由IEEE统一分配给设备制造商。
6.后24位序列号是厂商分配给每个产品的唯一数值,由各个厂商自行分配(这里所说的产品可以是网卡或者其他需要MAC地址的设备)。
3.单播
1.局域网上的帧可以通过三种方式发送。
2.第一种是单播,指从单一的源端发送到单一的目的端。
3.每个主机接口由一个MAC地址唯一标识,MAC地址的OUI中,第一字节第8个比特表示地址类型。对于主机MAC地址,这个比特固定为0,表示目的4.MAC地址为此MAC地址的帧都是发送到某个唯一的目的端。
5.在冲突域中,所有主机都能收到源主机发送的单播帧,但是其他主机发现目的地址与本地MAC地址不一致后会丢弃收到的帧,只有真正的目的主机6.才会接收并处理收到的帧。
4.广播
1.第二种发送方式是广播,表示帧从单一的源发送到共享以太网上的所有主机。
2.广播帧的目的MAC地址为十六进制的FF:FF:FF:FF:FF:FF,所有收到该广播帧的主机都要接收并处理这个帧。
3.广播方式会产生大量流量,导致带宽利用率降低,进而影响整个网络的性能。
4.当需要网络中的所有主机都能接收到相同的信息并进行处理的情况下,通常会使用广播方式。
5.组播
1.第三种发送方式为组播,组播比广播更加高效。
2.组播转发可以理解为选择性的广播,主机侦听特定组播地址,接收并处理目的MAC地址为该组播MAC地址的帧。
3.组播MAC地址和单播MAC地址是通过第一字节中的第8个比特区分的。组播MAC地址的第8个比特为1,而单播MAC地址的第8个比特为0。
4.当需要网络上的一组主机(而不是全部主机)接收相同信息,并且其他主机不受影响的情况下通常会使用组播方式。
6.数据帧的发送和接收
1.当主机接收到的数据帧所包含的目的MAC地址是自己时,会把以太网封装剥掉后送往上层协议。
2.帧从主机的物理接口发送出来后,通过传输介质传输到目的端。共享网络中,这个帧可能到达多个主机。
3.主机检查帧头中的目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是本机侦听的组播或广播MAC地址,则主机会丢弃收到的帧。
4.如果目的MAC地址是本机MAC地址,则接收该帧,检查帧校验序列(FCS)字段,并与本机计算的值对比来确定帧在传输过程中是否保持了完整性。
5.如果帧的FCS值与本机计算的值不同,主机会认为帧已被破坏,并会丢弃该帧。
6.如果该帧通过了FCS校验,则主机会根据帧头部中的Type字段来确定将帧发送给上层哪个协议处理。
7.本例中,Type字段的值为0x0800,表明该帧需要发送到IP协议上处理。在发送给IP协议之前,帧的头部和尾部会被剥掉。
交换机的基本原理
1.小型交换网络
交换机的转发行为
1、交换机中有一个MAC地址表,里面存放了MAC地址与交换机端口的映射关系。
MAC地址表也称为CAM(Content Addressable Memory)表。
2、交换机对帧的转发操作行为一共有三种:
泛洪(Flooding),转发(Forwarding),丢弃(Discarding)。
1.泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去。
2.转发:交换机把从某一端口进来的帧通过另一个端口转发出去。
3.丢弃:交换机把从某一端口进来的帧直接丢弃。
2.交换机初始状态
1.初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表为空。SWA为初始状态
在收到主机A发送的数据帧之前,MAC地址表中没有任何表项。
2.交换机将收到的数据帧的源MAC地址和对应接口记录到MAC地址表中
主机A发送数据给主机C时,一般会首先发送ARP请求来获取主机C的MAC地址,此ARP请求帧中的目的MAC地址是广播地址,源MAC地址是自己的MAC地址。
SWA收到该帧后,会将源MAC地址和接收端口的映射关系添加到MAC地址表中。
缺省情况下,交换机学习到的MAC地址表项的老化时间为300秒。
如果在老化时间内再次收到主机A发送的数据帧,SWA中保存的主机A的MAC地址和G0/0/1的映射的老化时间会被刷新。
此后,如果交换机收到目标MAC地址为00-01-02-03-04-AA的数据帧时,都将通过G0/0/1端口转发。
3.转发数据帧
1.数据帧的目的MAC地址不在MAC表中,或者目的MAC地址为广播地址时,交换机会泛洪该帧。
主机A发送的数据帧的目的MAC地址为广播地址,所以交换机会将此数据帧通过G0/0/2和G0/0/3端口广播到主机B和主机C。
2.交换机根据MAC地址表将目标主机的回复信息单播转发给源主机。
主机B和主机C接收到此数据帧后,都会查看该ARP数据帧。
但是主机B不会回复该帧,主机C会处理该帧并发送ARP回应,此回复数据帧的目的MAC地址为主机A的MAC地址,源MAC地址为主机C的MAC地址。SWA收到回复数据帧时,会将该帧的源MAC地址和接口的映射关系添加到MAC地址表中。
如果此映射关系在MAC地址表已经存在,则会被刷新。然后SWA查询MAC地址表,根据帧的目的MAC地址找到对应的转发端口后,从G0/0/1转发此数据帧。