码迷,mamicode.com
首页 > 其他好文 > 详细

同网段主机通信原理

时间:2020-09-17 12:12:06      阅读:27      评论:0      收藏:0      [点我收藏+]

标签:process   包含   net   ffffff   自己的   怎么   令行   tar   说明   

作者:百哥 
本期分享:系列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缓存表。

技术图片

同网段主机通信原理

标签:process   包含   net   ffffff   自己的   怎么   令行   tar   说明   

原文地址:https://www.cnblogs.com/baige-zhynet/p/13607596.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!