ARP协议,同一网段,不同网段的详细通信流程

ARP协议:

网络通信需要知道对方主机的ip地址,但是ip只存在于协议的第三层,而实际发送数据到网络上的另一台主机是由物理层负责的,那在物理层怎么把数据传递给对方,需要用MAC地址,

MAC地址指什么呢?

计算机是通过网卡上网的,每台计算机当中的网卡在出厂是就会被编制一个独一无二的号码,固化到网卡中,这个号码也就是MAC地址。

而ARP协议就是用来获取MAC地址的。


通信流程:

1.假设主机A(135.24.25.23)第一次和同一网段内的主机B(135.24.25.32)通信

A封装好要发送的信息,在要写“收件地址”时,

A会用子网掩码进行计算先判断B和A自己在不在同一个网段,这时候A成功知道了B和自己在同一个网段,

所以A会直接发一个ARP包,B在收到这个包之后会发现是给自己发的,

此时B也会封装一个ARP包来告诉A B自己的MAC地址,

这样A就知道了B的MAC地址,就可以完成报文的封装,发送给B


2.假设主机A(135.24.25.23)第一次和不同网段的主机C(135.24.52.123)通信:

A封装好要发送的信息,在要写“收件地址”时,

A会用子网掩码进行计算先判断B和A自己在不在同一个网段,这时候A知道了B和自己不在一个网段,

这时候,A知道该用网关把自己的数据传递给C,所以A会发送一个ARP包来获取网关的MAC地址,

网关收到ARP包后,把自己的MAC地址封装在ARP包中,发送给A,

A封装报文,目标MAC地址写网关的MAC地址,

网关收到报文,发现是给自己发的,就开始解包,解开之后,发现是给另一个网段的主机发送的,

此时如果网管本身就是路由器就直接把数据报文发送给下一跳路由器,如果网关是普通的PC,就发送给路由器,由路由器发送给下一跳路由器,目标MAC写下一跳路由器的MAC地址,

历经千辛万苦,报文终于到达C的主机的路由器,路由器发送报文到C所在网段的网关,

C网段的网关解包之后发现不是给自己,而是给自己网段内的C主机,就发送报给给C
  • 27
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值