分享

Tcp/IP协议中,一端要给另一端发送数据,是先进行ARP请求和应答还是先建立tcp连接?

 昵称11935121 2018-03-12

ARP协议是通过IP地址对应到该主机的MAC地址,MAC地址仅仅存在于局域网中,当两台主机需要通信时,首先要确定需要通信的两台主机是否在同一个局域网内,然后再确认是否在局域网内直接转发还是通过网关转发。

若想知道发送数据时先进行ARP请求还是建立TCP连接,需要清楚通信的方式再进行判断,两台主机通信时有两种情况:

一、两台主机在同一个局域网内。

当主机发送请求连接的报文给目标主机时,该报文达到IP层会确认目标IP地址是否跟自己是同一网段的。若为同一网段,那么使用ARP获取到目标IP地址所对应的MAC地址后,封装成帧进行发送,交换机根据ARP缓存表对应的MAC地址转发到网内的目标主机。

二、两台主机不在同一个局域网内。

若目标主机的IP地址不在同一个局域网内,需要将请求的数据报文发送至网关,再通过网关发送到其它路由器进行转发,这时转发只需要清楚网关的MAC地址即可。这种转发方式发送端就是知道目标主机的MAC地址也无法进行转发,只能通过网关转发到目标网络再发送到目标主机。

通过两种通信方式可以很明显的看出,在TCP通信的过程中,是依靠IP来进行的,不可能直接通过MAC地址的,而MAC地址是二层的,IP地址是三层的,TCP协议是工作在四层的。每一层的通信都需要下一层协助完成。因此个人认为是先进行ARP请求和应答,因为不管是否在同一局域网内,都需要进行ARP请求后才能进行转发通信。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多