本篇文章介绍数据通信中最基础,最关键的原理之一,两台通网段的主机如何通信。
获得更多技术资料和免费学习视频,加入讨论群:752160765
适合两台普通电脑之间,两台服务器之间,两台手机之间,电脑和打印机之间,手机和小爱同学之间,等等,只要两个同网段节点互相通信,都符合以下原理。
mac地址长这样
mac地址也叫物理地址,和ip地址不同,使用十六进制来表示,十六进制就是0到9后还没完,还有abcdef,然后才进位成20。
mac地址是每个网卡的标识
不管有线网卡还是无线网卡,电脑还是手机,只要连入网络,一定需要网卡芯片,而mac地址就是网卡芯片上的地址信息。再来看下手机的mac
一般在手机设置的“关于本机”中,都可以看到手机的mac地址。
那么mac地址的作用到底是什么?
很简单,同网段的两个主机通信,归根结底就是数据包从一个网卡,送到另一个网卡,而网卡之间,通过mac地址来识别。获得更多技术资料和免费学习视频,加入讨论群:752160765
等等,前面不是刚讲了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缓存表。
如果你看到了这里,百哥想请你帮个小忙:
1.帮我点赞,评论,收藏三连,方便你最快找到百哥,也让更多的人真正爱上ICT技术,学好ICT技术。
2.关注腾讯课堂“众元教育”,还可以听百哥讲课哦~
3.点击下方了解更多,可了解更多网工课程哦。