能够访问互联网的任意两台主机之间能否直接通信?为什么?

能够访问互联网的任意两台主机之间能否直接通信?为什么?,第1张

1 能够访问互联网的任意两台主机之间不一定能够直接通信

2 假如两台能够访问互联网的主机,在一个局域网下,也不一定能够直接通信,因为交换机端口之间可能有端口隔离,vlan,访问策略等屏蔽,因此这两个不一定能够直接通信

3 假如两台能够直接访问互联网的主机,在不同的局域网里,也不一定能够直接通信,因为两台主机之间可能有防火墙策略,防火墙策略决定了他们不一定能够直接通信

4 假如两台能够直接访问互联网的主机,在不同的局域网里,在防火墙策略允许他们通信,并且彼此之间有VPN,专用通信软件的等连接,这个是可以直接通信的

5 您学废了吗

两台主机分别为a和b,a主机中如果使用名称访问b主机必须先使用dns,将b的名称解析为ip,然后a主机一以自己的ip为源地址,b的ip为目标地址封装ip数据包,同时使用a自己的网卡接口的子网掩码和b的ip进行与运算,如果b和自己在相同网络机载接口直接发送出去。但接口在发送时还需要将ip数据包封装成数据帧,这需要两台主机的mac地址。如果a知道b的mac,则直接使用b

的mac作为数据帧中的目的地址,如果不知道则向网络中发送arp广播,将b的ip解析为mac。

得到b的mac地址后完成数据帧的封装,将数据帧用高低不同的电平值表示发送到物理线路中就可以了。这是同一子网中a向b的单向通信过程。

不同子网的通信过程中,dns的名称解析是一样的。在数据包当中封装的源ip是a,目标ip是b,这个也一样。但是当a主机使用接口掩码和b的ip进行与运算后会发现两个ip不在同一子网,这是a会将这个数据包发送给本网络的网关(通常是本网的路由器),由网关来转发。另外,在封装数据帧时,主机需要知道b的mac地址,向外广播要求解析b的mac,但b不在本网络,所以只能有网关的arp代理功能实现,但a主机得到的并不是b的mac地址,而是网关的mac地址,所以a在数据帧中封装目的地址为本地网关。接下来从接口发送出去,当数据到达网关,网关会读取数据包中的目的ip,并根据目的ip进行转发,在转发时数据包中的目的ip不变,但数据帧中的源mac地址和目的mac地址都会发生变化。源mac地址变为网关的发送接口的mac地址,而目的地址可能是b主机的mac或是下一个路由器的接口mac。这就是不同子网的单向通信过程。b向a的通信和此过程是一样的。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/65718.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-28
下一篇2023-02-28

发表评论

登录后才能评论

评论列表(0条)

    保存