本机ip、127.0.0.1和0.0.0.0区别及内环流量

所谓内环流量 简单的说是指 计算机内部,程序间通讯产生的流量,或者叫 本地流量,对应的是来自网络的流量。

比如,你安装了卡巴斯基,avast 或者 NOD32,这些程序都有 网络监控功能,会接管来自网络的流量,当你上网、下载的时候,上传、下载都会被 卡巴斯基、NOD32 接管,然后再分发给 实际的进程。在不区分内环流量的时候,你会发现所有带网络监控功能的安全软件上传、下载量都非常大,这就是因为他们接管网络流量导致的。

别外常见的情况是,使用 在线视频类软件遇到的,在优酷看视频的时候,流量都被 iKu 接管,iKu 负责视频流量的上传、下载,而你在 网页上看到的视频,则是由 iKu 下载到本地,然后上传给 浏览器 的。这时 iKu 也产生了一个 内环流量。

127.0.0.1。这个IP地址的意思是回送地址,指本地机,一般用来测试使用的。
TCP/IP协议规定,各位全为0的网络号被解释成“本网络”
若本机试图在本网内通信,但又不知道本网的网络号,那么,可以利用全“0”地址。

本机ip、127.0.0.1和0.0.0.0区别

网络java
IP地址的记法:
IP地址由四个字节构成,为了方便阅读和书写,每个字节用0-255的数字表示,字节之间用’.‘分割,如:
10.10.152.235
有时候我们会看到这样的IP:
10.10.152.235/24,
后面的/24表示子网掩码,24表示子网掩码上有24个1,等价于255.255.255.0 。
IP地址和子网掩码按位 与,得到的是 网络号(Network ID),
剩余的部分是子网内的 主机号(host ID,当然,这个名字小有问题,因为现在有IP的可不仅仅是主机,暂且这么称呼吧),
特殊的IP地址段:
127.x.x.x
这是大家最熟悉不过的本地loopback地址,在windows和linux上等价于localhost。
我们习惯于使用127.0.0.1,实际上,
如果你在命令行下ping 127.0.0.1-127.255.255.254之间的任意地址,结果都是一样的,它们是等价的。
正常的网络包从ip层进入链路层,然后发送到网络上,
而发向loopback地址的包,直接在IP层短路了,也就是发到IP层的包直接被IP层接收了,不再向下发送。
私网地址段:
10.x.x.x、192.168.x.x、172.16.x.x~172.31.x.x、169.254.x.x
这些私网地址段是不允许出现在Internet上的,主用保留用于企业内部组网使用,
这可以在一定程度上缓解IP地址不够用的问题。
大型企业的OA网用10地址段的比较多,因为这是一个A类地址段,包含的IP很多。
小公司用192.168.0地址段的比较多。
而169.254则主要是分配给DHCP服务使用的。
保留地址段:
128.0.x.x、191.255.x.x、192.0.0.x、233.255.255.x
这些地址被保留起来,不做分配且没有明确的用途。
其它特殊IP:
255.255.255.255是全局广播地址,
主机号全部为1的地址是子网广播地址,如:192.168.1.255
主机号全部为0的地址是代表该子网的网络地址,如:192.168.1.0
一个非常特殊的IP:0.0.0.0
这个IP相当于java中的this,代表当前设备的IP。
我们在java编程中使用ServerSocket做网络侦听,通常只需要如下代码:
ServerSocket serverSock=new ServerSocket(8888);
serverSock.accept();
假如我的主机ip为:10.10.152.8,
用以上代码做侦听,127.0.0.1:8888或者10.10.152.8:8888都可以连上,
但大家有没有想过过,这个ServerSocket到底使用哪个IP在做侦听?
如果我们将以上代码改成显式绑定:
ServerSocket ss=new ServerSocket();
String ip=“10.10.152.8″;
int port=8888;
InetSocketAddress addr=new InetSocketAddress(ip,port);
ss.bind(addr);
ss.accept();
你会发现,127.0.0.1:8888是无法访问的,
而如果将ip改成127.0.0.1,那么10.10.152.8:8888是无法访问的。
实际上,背后的秘密就在与0.0.0.0这个IP,他可以代表本机的所有IP地址,
但这个IP并不是真是存在的,我们ping不通它,如果将ip改成0.0.0.0:
ServerSocket ss=new ServerSocket();
String ip=“0.0.0.0″;
int port=8888;
InetSocketAddress addr=new InetSocketAddress(ip,port);
ss.bind(addr);
ss.accept();
我们会发现,这和默认行为是一样的,127.0.0.1:8888或者10.10.152.8:8888都可以连上。

比如说,TCP 0.0.0.0连出127.0.0.1
还有:TCP/IP 0.0.0.0连出和入0.0.0.0 TCP/IP 127.0.0.1连出和连入127.0.0.1
127.0.0.1和本地网络 UDP连出到0.0.0.0
这些网络连接都是本地流量,也就是内环流量。

但应该限制未信任IP连入本地IP【127.0.0.1、0.0.0.0和本机IP】。限制127.0.0.1和0.0.0.0连出到外部非信任网络。

原文地址:https://www.cnblogs.com/panxuejun/p/10586663.html

时间: 2024-11-03 21:51:14

本机ip、127.0.0.1和0.0.0.0区别及内环流量的相关文章

127.0.0.1、0.0.0.0和本机IP地址的区别和使用

表面上的区别如下: 0.0.0.0 不能ping通,代表本机所有的IP地址:包括多个网卡.    监听127.0.0.1,创建Socket,那么用本机地址建立tcp连接不成功,反过来也是如此:    而监听0.0.0.0创建Socket,那么无论使用127.0.0.1或本机ip都可以建立tcp连接.    同样本机如果有多个网卡,那么绑定与监听不同的IP地址,显然也不能建立tcp连接.    0.0.0.0建立tcp连接的时候也可以通过绑定IP_ADDR_ANY来实现. 事实上处理的区别,如下图

localhost、127.0.0.1、本机IP、虚拟主机、kotlin

(问题起源于:tomcat发布的项目,用localhost和本机ip访问得到的结果不同.) 直接上链接: localhost.127.0.0.1.本机IP: https://www.zhihu.com/question/23940717#answer-5775920: 该链接中摘录一部分: localhost 是个域名,不是地址,它可以被配置为任意的 IP 地址,不过通常情况下都指向 127.0.0.1(ipv4)和 [::1](ipv6): 整个127.* 网段通常被用作 loopback 网

IIS搭建网站,内网用本机IP和127.0.0.1访问需要输入密码的问题。

xp配置好iis后,用localhost访问没有问题,用本机IP和127.0.0.1访问均提示输入用户名和密码. 我知道是权限问题,上网一百度,资料很多,解决方法也很多,但是好多我都做了 1.IIS配置权限 我就选择的是匿名访问与集成windows身份验证,选这两个, 2.网站文件所在的文件夹设置权限 3.设置了各种权限,该开启的也开启了,很多都设置了everyone这种. 我搜了很多资料,发现各位大神说的,我都试了,且已经设置好,但并没有起什么作用. 后来小白的我终于发现了,原来原因是因为我改

本机IP、127.0.0.1和0.0.0.0的区别

本机ip.127.0.0.1和0.0.0.0区别 网络java IP地址的记法: IP地址由四个字节构成,为了方便阅读和书写,每个字节用0-255的数字表示,字节之间用'.'分割,如: 10.10.152.235 有时候我们会看到这样的IP: 10.10.152.235/24, 后面的/24表示子网掩码,24表示子网掩码上有24个1,等价于255.255.255.0 . IP地址和子网掩码按位 与,得到的是 网络号(Network ID), 剩余的部分是子网内的 主机号(host ID,当然,这

127.0.0.1和localhost和本机IP三者的区别!

1, 先来说下回送地址(Loopback Address): 回送地址是主机用于向自身发送通信的一个特殊地址(也就是一个特殊的目的地址).可以这么说:同一台主机上的两项服务若使用回送地址而非分配的主机地址,就可以绕开TCP/IP协议栈的下层.(也就是说:不用再通过什么链路层,物理层,以太网传出去了,而是可以直接在自己的网络层,传输层进行处理了) IPv4的回送地址为:127.0.0.0到127.255.255.255都是回送地址(只是有两个特殊的保留),此地址中的任何地址都不会出现在网络中网络号

2019.9.29本机ip,localhost,127.0.0.1

原文链接:https://zhidao.baidu.com/question/1176120779058268299.html 1.localhost等于127.0.0.1,不过localhost是域名,127.0.0.1是IP地址. 2.localhost和127.0.0.1不需要联网,都是本机访问. 2.本机IP需要联网,本机IP是本机或外部访问, 本机 IP 就是本机对外放开访问的IP地址,这个网址就是与物理网卡绑定的IP地址. 当操作系统初始化本机的TCP/IP协议栈时,设置协议栈本身的

127.0.0.1和0.0.0.0和本机IP的区别

在一次网络课程的听课中,我突然察觉到自己有个疑惑就是在配置一些服务的时候我们会用到localhost(127.0.0.1)或者0.0.0.0 和当前主机IP这三个.那么具体该怎么使用这三个地址,这三个地址分别代表了什么? 首先我们来讲讲127.0.0.1,172.0.0.1是本地回环地址,localhost是本地DNS解析的127.0.0.1的域名,在hosts文件里可以看到. 一般我们通过ping 127.0.0.1来测试本地网络是否正常.其实从127.0.0.1~127.255.255.25

获取本机IP非127.0.0.1

protected function GetiP()    {    $preg="/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/";    //获取操作系统为win2000/xp.win7的本机IP真实地址    exec("ipconfig",$out,$stats);      

开发程序 ip 127.0.0.0 0.0.0.0原理与区别

ip 127.0.0.1 0.0.0.0ip 地址分四个字节,每个字节有八位,及ip地址有32位,每位的数字是0-255,位与位之间用“."分开,有时ip/24,24代表24个1,表示的是子网掩码,等价于255.255.255.0.网络号是有ip和子网掩码安位与形成的,剩余的一位是本机的主机号.127.x.x.x一个特殊的ip,linux上称为localhost,习惯上称为127.0.0.1,实际上127.0.0.1到127.255.255.254之间都是等价的.正常的网络包从ip层到进入到链路