两台电脑通信


两台PC机网线直连通信,对于初学者来说可能会很疑惑为什么能通信,或者为什么不能通信;其实主要是对主机通信原理不了解;刚好前几天遇到个网线直连的问题,顺便就写个blog,属于扫盲帖,老司机可以直接跳过...
        我们知道一般主机都有三个参数: IP, 子网掩码网关;平时应用层通信的时候好像只用到了IP,其他两个并不怎么涉及,下面就会讲到这子网掩码和网关到底有什么用,和本文的主题有什么关系;
        
    
    
         上图是两台主机的一般通信流程图,简要说明下:
        1. 同网段的情况:
         如流程图上左边的分支,因为是同网段的,所以可以通过ARP广播获取到主机B的MAC地址,获取到主机B的MAC地址后就可以直接通信了( 同一子网有对端的MAC地址就可以通信);
        2. 不同网段的情况:
        如流程图上右边的分支,因为是不同网段,主机A认定需要通过路由才能找到主机B,所以先找网关MAC,把arp广播包发给网关,再由网关去转发...(以下省略1000字);

        再来讲一下直连主机通信的情况(其实是一样的):
        同网段情况:主机A发现主机B是同网段后,直接发送ARP广播,由于没有路由器,只有一根网线连接主机B,所以ARP广播包只能发给主机B,主机B分析ARP广播包后,发现ARP包中的IP与自己的IP一致,所以就返回自己的MAC地址,这样主机A知道了主机B的MAC地址,当然就可以通信了;
        不同网段的情况:主机A发现主机B是不同网段后,直接发送ARP广播给网关,但是由于只有一根网线连到主机B,主机B收到这个ARP广播包后, 发现ARP包中的IP(这个IP是主机A的网关的地址) 与自己(主机B)不一致,直接丢弃;主机A就无法知道主机B的MAC地址,当然就无法通信了。

        想让直连的不同网段的AB主机通信也很简单,让主机B不丢弃主机A发的广播包就行,所以只要主机A发送的ARP包里的IP刚好是主机B的IP,而此时ARP包里的IP就是主机A的网关IP,因此只要把主机AB的网关互填对方的IP地址,双方就可以通信了。


        PS: 以上流程忽略了arp表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值