zoukankan      html  css  js  c++  java
  • ping命令流程详解

            现在有以下需求,PC1的IP地址为192.168.0.10/24,PC2的IP地址为192.168.0.20/24,SW交换机的IP地址为192.168.0.30/24,问PC1能否ping通PC2?

     

            PC1和PC2的IP地址属于同一网段,很显然能ping通,但为什么可以ping通呢?请看以下分析:

     

             在Linux下,ping是一个命令,当输入此命令,Shell获取到后进行解析,然后进行执行。ping 192.168.0.20,即是主机ping目的机。首先,判断ping后的IP地址是否是自己的IP地址,如果是的话,就丢弃,如果不是,判断当前主机IP和目的主机IP是否在同一网段,如果是,查找ARP缓存,是否有对端的MAC地址。这里稍微打住,什么是ARP协议呢?ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议。如果没有对端的MAC地址,以广播的形式进行ARP请求发送,目的主机进行ARP应答,当前主机收到目的主机的ARP应答后,将MAC地址填入缓存中,发送数据给目的主机。

     

             请看下面流程图:

     


             给出一个更加直观的图:

     



             ARP协议图示:




    我的邮箱wgbno27@163.com  新浪微博@Wentasy27
      微信公众平台:JustOracle(微信号:justoracle)
      数据库技术交流群:336882565(加群时验证 From CSDN XXX)
      Oracle交流讨论组https://groups.google.com/d/forum/justoracle
      By Larry Wen
    


    katoon Sina CSDN
    @Wentasy 博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。原创博文如需转载请注明出处,谢谢 :) [CSDN博客]
  • 相关阅读:
    socket选项设置
    shell 备忘录
    VIM中cscope和tags数据库的添加
    MFC程序设计中的BeginPaint/EndPaint和GetDC/ReleaseDC的使用
    shell 命令行参数解析
    do{...}while(0)用法总结
    0长度数组的使用
    在线帮助文档
    GCC编译器帮助文档
    几款优秀的Linux基准测试工具
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3206470.html
Copyright © 2011-2022 走看看