ping的过程

    当主机A上运行一个“ping 主机B的IP”时,PING命令会构建一个固定格式的ICMP请求报文,然后由ICMP协议把这个数据包和主机B的IP地址一同交给IP层协议,IP层协议把这个数据中的主机A的IP地址定义成源IP地址,把主机B有IP地址定义成目的IP地址,再加上一些其他的控制信息,构建成一个IP数据包,并想办法得到主机B的MAC地址,(利用ARP请求)以便形成把这个IP数据包封装成数据帧,当主机B收到这个数据帧时,会从帧中读出其中的目的MAC地址,如果与自己相符则接收,不同则丢弃,接收到这个数据帧后,就读出帧中的IP数据包,然后交给本地的IP层协议,同样IP层协议提出其中 的有用的信息后交给ICMP协议,后者处理后就会回复 一个ICMP协议给主机A,这时回复后的过程与ICMP请求包的传送过程一样了。

    当主机A与主机B不在同一网段下,开始时主机A上的动作和上面一样,到了IP层协议时,IP协议会通过计算(相与)发现主机B与自己不在同一网段内,需要寻找三层设备(路由器),首先通过 ARP请求知道路由器的MAC地址,即形成一个数据帧后,这个数据帧会传送到路由器上,路由器收到这个帧后就会读出其中 的目的IP是主机B的,于是,再次利用 ARP查询后得到主机B的MAC地址,然后形成一个以目的MAC为主机B的数据帧后,交给主机B,主机B和上面过程一样,会回复一个ICMP回应包,然后原路返回,过程,又和这次的传输一样了。(再数据到达路由器时有可能会出现PING命令超时,于是,在PING的过程中,不可能一次性就通的,默认情况下,PING四次后,再去判断是否能通才行)!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章