Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我ping 127.0.0.1时会发生什么_Ping_Network Protocols - Fatal编程技术网

当我ping 127.0.0.1时会发生什么

当我ping 127.0.0.1时会发生什么,ping,network-protocols,Ping,Network Protocols,这可能看起来有点愚蠢,但我很想知道当我ping环回IP地址时会发生什么,ping 127.0.0.1 操作系统是否以特殊的方式处理它?我认为操作系统处理这个IP与其他IP没有任何不同,只是它指向本地机器 127.0.0.0/8是一个由保留的,称为环回。该通信量由内核路由到一个名为环回适配器的特殊网络适配器。它不会像任何本地流量一样到达第1层 对于大多数操作系统,数据在IP堆栈之前都会通过网络内核服务传输。此时,数据将在不影响物理层和实际NIC硬件的情况下发送回 这项工作几乎完全由主机系统的CPU

这可能看起来有点愚蠢,但我很想知道当我ping环回IP地址时会发生什么,
ping 127.0.0.1


操作系统是否以特殊的方式处理它?

我认为操作系统处理这个IP与其他IP没有任何不同,只是它指向本地机器


127.0.0.0/8是一个由保留的,称为环回。该通信量由内核路由到一个名为
环回适配器的特殊网络适配器
。它不会像任何本地流量一样到达第1层

对于大多数操作系统,数据在IP堆栈之前都会通过网络内核服务传输。此时,数据将在不影响物理层和实际NIC硬件的情况下发送回


这项工作几乎完全由主机系统的CPU完成,这意味着与物理网络传输相比大大简化了。现代操作系统内核能够检测环回流量,并通过比当今最快的物理适配器(>50GBps)授予速度

我知道很多,但我想知道更多细节。例如,如何在Windows/Ubuntu中将此地址更改为自定义任意地址?它是否需要破解?这是已经存在多年的惯例的一部分。除非您构建操作系统代码,将其他IP地址视为环回地址,或者设置防火墙,将所有请求重定向到特定的IP地址集,再重定向到您的环回地址(127.0.0.1),否则我看不到任何其他出路。