ping环回地址和ping主机以太网地址的区别
来源:互联网 发布:java 项目目录结构 编辑:程序博客网 时间:2024/05/18 02:38
一、
这个问题是在TCP/IP详解 卷一中7.5问题,查资料总结如下:
1,ping 127.0.0.1是环回地址,如果不能ping通说明当前机器的TCP/IP协议栈有问题,127本身是一个虚接口,任何时候都是直接上交到内核中处理的。
2,ping xxx.xxx.xxx.xxx(就不写我的IP地址了哈) 本机的以太网地址,则是测试本机的网络适配器(就是网卡啦),一般是以太网驱动程序。
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地址
- /dev/null
- 经典C++库
- JAVA Observer
- VC6.0的 错误解决办法 -- 小结
- Android软件开发之获取通讯录联系人信息
- ping环回地址和ping主机以太网地址的区别
- 手把手教你制作 Windows8 应用程序内部的 hubtile (动态瓷砖控件) MetroStyle
- 日志分级输出
- C++ 程序文档生成器介绍(doxygen)
- 理解Javascript_09_Function与Object
- 模板
- sql语句结构之查询语句(内含代码示例)
- 内存泄漏测试小工具
- jQuery与prototype不兼容