无聊枯燥的日子,写下一篇乏味的日记!!! 哈哈

                                                                                     本日记主要详解PC 通信

 拓扑简单PC1 和PC2 用网线相接。

  首先,咱先说说两台PC 分属同一网段的通信过程。假设PC1、PC2的ip地址分别为192.168.1.1和192.168.1.2 都是/24的。

    PC 机的通信过程测试使用的是ICMP 协议。先用PC1  ping  192.168.1.2  这时PC1 会遵循osi七层模型,在每一层上加上自己的相应报头,到物理层以比特流发送出去。那么如何发送的呢? 先由PC1 发送一个ICMP 的请求报文,到了网络层以192.168.1.1为原ip 192.168.1.2 为目标ip  。到了数据链路层发现192.168.1.2 的MAC地址自己不知道。所以PC1 就以PC1 为原ip  PC1的MAC地址为原MAC  以pc2的ip为目标IP  并将目标MAC 封装成全F (即全1)啊arp广播报文。然后PC2就会收到PC1 的广播ARP 请求报文,然后一步步的解封装都了网络层发现目标IP 是自己,然后就接受该报文(如果目标IP 不是自己即不是192.168.1.2 则丢弃),而后之PC2会回应一个ARP 的单播报文给PC1 这样整个arp的学习过程就OK 了。 即PC1 有了PC2 的MAC 地址 。同样PC2 也有了PC1 的MAC 地址。

然后PC1 获得了目标PC2 的MAC 地址, 在封装ICMP 到数据链路层时就会讲PC2 的MAC 地址封装进去。这样整个通信过程就基本完成了

。到了物理层以 比特流的方式通过网卡经过网线到达PC2 的网卡,在执行一次解封装。就OK 了 此时我们就会看到TTL=128了(也有可能不是128,具体参数去问google)。然后PC2 就回应一个ICMP 包给PC1

PC 的通信过程基本如此。

  以上所讲的环境是PC1 和PC2 属于同一网段,如果PC1 和PC2 不属于同一网段呢?在不加任何网络设备不添加双IP 的情况下怎么实现PC1和PC2  的通信?即我将PC1的IP 地址设为1.1.1.1 /24  PC2 的地址为2.2.2.2/24 还是用一根网线连接两台电脑。答案就是上面所讲!!!