关于数据链路层寻址方式

是这样的,A会发起ARP广播问谁是B,然后B回应,同时告诉A自己的MAC地址。这个时候A已经知道了B的MAC地址,于是在二层发一个目的MAC为B,源MAC为A的帧出去。如果中间有交换机,那么交换机知道这个帧要发给B MAC,他会查自己的MAC地址站发表,因为B已经回应过ARP广播了,所以转发表里应该已经有了B MAC对应的端口号,那么直接从这个端口发出去。如果交换机的转发表里没有这个B MAC,那么只能做一次洪泛,除了收到这个帧的接口以外,往其他端口发一遍广播询问谁这里有B,收到回应以后把B MAC和对应的端口记录下来,然后再把帧往这个端口转发。这时候B的网卡收到了这个帧,一看目的MAC就是自己,于是把这个帧收下来接封装以后交给上层进行处理。
■网友
数据链路层的工作交换机来完成。交换机还没到IP层,它只认端口,交换机里的端口,不是程序的端口。从哪个端口过来,就记录下MAC和端口。没有记录的就全部端口广播。
■网友
在局域网内部,通过广播形式找到IP对应的Mac地址,之后传播数据时,也应该是局域网内广播,否则在网卡是混杂模式下抓包工具就不会抓到其他流量,局域网内任何一个主机都能从物理层接收到数据,你可以看到局域网中的主机数据灯一直闪烁,只是在链路层时有操作系统内核将不是自己Mac地址的数据包直接丢掉。


    推荐阅读