同网段主机通信原理

tech2023-05-09  106

作者:百哥 本期分享:系列15点到16点半-技术热讯 感谢大家关注-百哥,请大家持续关注就可以了哦! 众元教育技术公开课:更多认证知识 众元教育技术交流裙:414605852 本篇文章介绍数据通信中最基础,最关键的原理之一,两台通网段的主机如何通信。 适合两台普通电脑之间,两台服务器之间,两台手机之间,电脑和打印机之间,手机和小爱同学之间,等等,只要两个同网段节点互相通信,都符合以下原理。

上篇文章提到了mac地址,但没详细说明,今天我们来详细认识他一下。

mac地址长这样

mac地址也叫物理地址,和ip地址不同,使用十六进制来表示,十六进制就是0到9后还没完,还有abcdef,然后才进位成20。

mac地址是每个网卡的标识。

不管有线网卡还是无线网卡,电脑还是手机,只要连入网络,一定需要网卡芯片,而mac地址就是网卡芯片上的地址信息。再来看下手机的mac

一般在手机设置的“关于本机”中,都可以看到手机的mac地址。

那么mac地址的作用到底是什么?

很简单,同网段的两个主机通信,归根结底就是数据包从一个网卡,送到另一个网卡,而网卡之间,通过mac地址来识别。

等等,前面不是刚讲了ip地址吗,这里怎么又来个mac地址? 这里说来话长,有网络技术发展的历史原因,本文暂不详述,欢迎关注公众号,后续文章会讲解。

本文咱们先知道,两台同网段主机通信,必须知道双方的mac地址就可以了。

当主机A想给主机B发送数据,如何才能知道主机B的mac地址呢?

通过一个叫ARP的网络协议。 ARP的全称是Address Resolution Protocol地址解析协议,用来解析出某个目标IP所对应的mac地址。

这里假设一台主机A(192.168.0.173)想给另一台主机B(192.168.0.9)发送数据为例,来看ARP的工作原理

第一步 主机A以广播的形式发出ARP请求。广播报文全网主机都会收到,包括主机B。

上图是使用抓包工具捕获的arp请求包,可以看出,这个包是广播发出的(目标mac为全F代表广播)。 也可以看出,这个arp请求包,请求的是192.168.0.9的mac 关于抓包工具的使用,以及常见报文的分析方法,后续文章会详细介绍,本文暂时观察arp报文的关键字段即可。

第二步 这个广播形式的arp请求,所有主机都会收到,无关主机看了”target ip“发现不是找自己的,直接丢弃 而主机B收到,则会回复一个arp回应报文。

上图是主机B给主机A回应的ARP包,告诉主机A自己的mac是什么。 注意看图中”sender ip“和”sender mac“两个信息,包含了主机B和他对应的mac。 本实验环境,主机B是一台苹果手机,通过mac地址也能看出手机品牌apple。 因为标准的mac地址,前半部分是网卡的厂商标识。

第三步 主机A收到arp回应后,会把主机B对应的mac写入自己的arp缓存表,这样就可以给主机B发数据了。 而且后续再给主机B发数据,就不用再去arp解析了,查下arp缓存表即可。 在命令行输入arp -a可以查看arp缓存表。

最新回复(0)