网络编程碎知识之由目标IP怎么知道目标MAC地址

两台电脑通讯的时候源主机的应用程序知道目的主机的IP地址和端口号却不知道目的地址的硬地址(也就是MAC).

数据包首先是被网卡接收到然后再处理上层协议.如果接收到的数据包硬件地址(MAC)与本机硬件地址不符,就直接丢弃该包,因此在通讯前必须获得目的主机的硬件地址.而APR协议就起到这个作用.

源主机A发出APR报请求问IP192.100.25.1的地址是多少,并将这个请求发送到交换机,由交换机广播,各个电脑匹配IP,发现其中目的IP地址与PC机X的IP地址一致,则PC机X就发送一个ARP应答数据报给源主机A,这个APR应答数据包其中就包含了PC机X的硬件地址.(详细在后面)

每台主机都维护一个ARP缓冲表,缓冲表时间(一般20分钟),超过该时间没用到某个表项,该表项就会失效,下次还要发ARP请求来获得目的主机的硬件地址. 


在一个局域网中,PC机A(IP 172.21.96.28)需要与IP为172.21.96.01的PC X通信
那么A就会发送一个APR报(报含自己的IP以及自身的MAC地址)给该局域网的交换机,通过广播,该局域网的各个电脑收到这样一个ARP报,各个电脑都会解包,匹配报里面目的地址是否与当前自己的IP地址是否匹配,不匹配的的就会把报丢弃,如果PC X机的IP正好匹配就会发送给交换机一个包(包含PC x机自己的MAC,IP信息以及目标机(PC A的IP和MAC).),通过广播,各个电脑同样解包,一旦发现自己的IP与目标IP不符合就丢弃,根据目标地址上IP和MAC信息就能匹配到PC机A。通过这个过程电脑A就能知道电脑X的IP和MAC信息了(X也知道A的IP和MAC信息)。由此由目标的IP就能知道目标的MAC地址了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值