美文网首页
同网段主机通信原理

同网段主机通信原理

作者: 小云晓云 | 来源:发表于2020-09-03 15:14 被阅读0次

本篇文章介绍数据通信中最基础,最关键的原理之一,两台通网段的主机如何通信。

获得更多技术资料和免费学习视频,加入讨论群: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缓存表。

如果看到了这里,记得关注我@小云晓云,顺手点个赞就更好啦~

更多网络技术公开课,腾讯课堂搜“众元教育”,戳免费公开课,可直接听课哦!

相关文章

  • 什么是交换机?

    在上一篇文章中,我们了解了两台同网段主机如何通信,详情可戳同网段主机通信原理 但是如果有多台主机呢?这时就需要交换...

  • 同网段主机通信原理

    本篇文章介绍数据通信中最基础,最关键的原理之一,两台通网段的主机如何通信。 获得更多技术资料和免费学习视频,加入讨...

  • ssl

    进程之间的通信 同主机之间进程通信ipc shm 不同主机之间进程通信socket 主机port作用 主机上,每一...

  • Docker:Docker实现同Ip网段联通

    最近解决docker与宿主机同网段通信的问题,写此文章记录一下整个过程。例如 宿主机A 和宿主机B是网络联通关系,...

  • 基于Winpcap实现的发送ARP数据包和IP数据包

    1 项目介绍 1.1 基本任务 完成两台主机之间的数据通信(数据链路层) 仿真ARP协议获得网段内主机的MAC表 ...

  • 我的Linux学习笔记

    1. 基本认知 1.1 VMware中网络连接模式 桥连接, Linux占用主机网段的ip,可以和其它的系统通信。...

  • Ping 攻击

    Ping 原理 ping 程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建...

  • 关于arp欺骗原理和演示

    arp欺骗原理: arp攻击是二层攻击 假设有主机A、主机B和server。前提 A、B在同一网段, B知道A的i...

  • ping 原理与ICMP协议[转]

    ping的原理 ping程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立...

  • 说说Kubernetes是怎么实现服务发现的

    我们来说说 kubernetes 的服务发现。那么首先这个大前提是同主机通信以及跨主机通信都是 ok 的,即同一 ...

网友评论

      本文标题:同网段主机通信原理

      本文链接:https://www.haomeiwen.com/subject/ybxosktx.html