ping环回地址和ping主机以太网地址的区别
来源:互联网 发布:提升排名软件搜狗优化 编辑:程序博客网 时间:2024/05/16 15:59
一、
这个问题是在TCP/IP详解 卷一中7.5问题,查资料总结如下:
1,ping 127.0.0.1是环回地址,如果不能ping通说明当前机器的TCP/IP协议栈有问题,127本身是一个虚接口,任何时候都是直接上交到内核中处理的。(如果开启了wifi共享,可能会ping不通)
2,ping 192.168.1.X 本机的以太网地址,则是测试本机的网络适配器(就是网卡啦),一般是以太网驱动程序。
ping这两个地址时你会发现,但使用wireshark抓包时,是没有ICMP的回显请求发出的,这说明这两个ping程序是不会发送到网络中的(只在局域网中)。
3,ping 同一网段中的网络地址,不通则说明网络线路出现了故障,如果网络中还存在路由器,则应该先ping路由器在本网络的地址,不通则是本机和路由器之间的线路有问题
通了,则再ping路由器所在目标计算机网络所在网段的端口IP地址,不通则说明了路由器出现了故障,通了就再ping目标主机的IP地址。
4,如果ping www.baidu.com等网络地址ping不通时,则说明本机的DNS服务器设置错误。
二、
ping127.0.0.1和ping本机的过程是不一样的
ip输出函数先检查地址是不是环回地址
1.如果是环回地址 直接交给环回驱动程序处理 返回ip输入函数
2.如果不是环回地址 检查是不是广播或者多播地址
3.如果不是广播或者多播地址 才检查是不是本机地址 如果是本机地址 则交给环回驱动程序处理,环回驱动程序返回给ip输入函数
从上面可以看出 ping127.0.0.1 数据包是不经过网卡的 ping本机则是需要经过网卡的
三、
ping127.0.0.1 这个数据包不会发送到网络上 用来检查本机tcp/ip配置 可以这样理解 这个数据包从cmd的shell发到了kernel的tcp/ip模块,然后从tcp/ip模块返回到cmd下,就看到ping成功了。也表示本机tcp/ip配置没问题
ping 本机ip地址 这个数据包发送到局域网上,所有机器都收到了这个数据包 也包括自己的机器 然后自己的机器回应这个数据包 回应了就看到cmd下ping成功了 这也表示这个ip地址是正确的 是被其他机器承认的ip
from: http://hi.baidu.com/anqgqykqilbacnq/item/21a30bc3116c3bc6984aa09e
- ping环回地址和ping主机以太网地址的区别
- ping环回地址和ping主机以太网地址的区别
- ping通主机IP地址,但是ping不通hostname
- 自动ping范围内的地址
- ping相关地址的解释
- Ping通 禁用ping的对端地址
- virtualBox实现主机和虚拟机相互ping通,配置静态IP地址
- VC++ Ping IP地址
- java ping ip地址
- 批量ping ip地址
- Android Ping IP地址
- ping多个IP地址的实现,检测局域网内存在的主机
- 想改ping的原地址
- 为何Suse 的IPv6地址ping不通?
- windows下ping linux的ipv6地址
- ping广播地址个系统的反应
- 获取ping不通的IP地址
- windows下ping linux的ipv6地址
- hdu 1033
- 简单模拟struts框架,了解strusts的框架实现机制
- PHP基础学习第三讲(循环讲解)
- 在 VS2010上配置Creative sensz3d SDK的开发环境
- POJ 1269 Intersecting Lines
- ping环回地址和ping主机以太网地址的区别
- 左右滑动自定义控件
- JBoss 配置JNDI
- 关系、逻辑运算及自增自减
- 第六周作业--利用哈夫曼编码英文字母表
- Maven最佳实践:管理依赖
- java静态代码块
- C读写配置文件
- OpenCV中的内存泄露问题