Ping命令的过程

同一网段
1.ping通知系统建立一个固定格式的ICMP请求数据包
2.ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运行的进程,与ICMP类似)
3.IP层协议将以机器B的IP地址为目的地址,本机IP地址为源地址,加上一些其他的控制信息,构建一个
IP数据包获取机器B的MAC地址

     a.IP层协议通过机器B的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直接在本网络查找这台机器的MAC
            1) 若两台机器之前有过通信,在机器A的ARP缓存表应该有B机IP与其MAC的映射关系
            2) 若没有,则发送ARP请求广播,得到机器B的MAC地址,一并交给数据链路层
    b.数据链路层构建一个数据帧,目的地址是IP层传过来的MAC地址,源地址是本机的MAC地址,再附加一些控制信息,依据以太网的介质访问规则,将他们传送出去
    c.机器B收到这个数据帧后,先检查目的地址,和本机MAC地址对比符合,接收。接收后检查该数据帧,将IP数据包从帧中提          取出来,交给本机的IP协议层协议。
      IP层检查后,将提取有用的信息交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发       送ICMP请求包到主机B类似(这时候主机B已经知道了主机A的MAC地址,不需再发ARP请求)
      不符合,丢弃

不同网段:(基本同上)
1.ping通知系统建立一个固定格式的ICMP请求数据包
2.ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运行的进程,与ICMP类
似)
3.IP层协议将以机器B的IP地址为目的地址,本机IP地址为源地址,加上一些其他的控制信息,构建
一个IP数据包
4.获取主机B的MAC地址
 IP协议通过计算发现主机B与自己不在同一网段内,就直接交给路由处理,就是将路由的MAC
取过来,至于怎么得到路由的MAC地址,和之前一样,先在ARP缓存表中寻找,找不到可以利用
广播。路由得到这个数据帧之后,再跟主机B联系,若找不到,就向主机A返回一个超时信息。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值