ip知识扫盲

经常从运维的小伙伴口中听到内网ip、外网ip、出口ip、入口ip,what's the f..k? 这tm都是什么鬼?

ip地址分类

IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。

为了方便管理,在很早的时候IP地址,一共分成了5类,范围分别如下:

A类IP:从0.0.0.0 – 127.255.255.255,共有16777216个IP
B类IP:从128.0.0.0 – 191.255.255.255,共有65536个IP
C类IP:从192.0.0.0 – 223.255.255.255,共有256个IP
D类IP:从224.0.0.0 – 239.255.255.255
E类IP:从2240.0.0.0 – 255.255.255.255

内网ip与外网ip

内网ip(私网ip)

通过上文我们了解到IP地址被分为5类,而咱们平时说的内网IP(或者叫私网ip)其实是ABC三类地址中保留出的地址段,专门用作内网通讯。

A类地址:10.0.0.0~10.255.255.255
B类地址:172.16.0.0 ~172.31.255.255
C类地址:192.168.0.0~192.168.255.255

10.240.240.**

对比前面的私网地址分类,这是一个A类的私网地址。

其实所有的内网ip都必然是私网ip,而由于私网ip地址范围很大,内网ip一般只取用其中的一部分。

所以判断一个地址是否为内网,只要看下其是否在上面的ABC三类私网地址所在的范围即可。

为何两个内网地址不互通?

小伙伴经常会疑惑,为什么我在工位访问不了机房的内网ip?

不得不为问这个问题的小伙伴点赞,因为你已经可以轻松的辨别什么是内网ip了!

这个问题与上面所说的私网ip密切相关,私网ip从设计之初就被用作内网通信,所以当一个目的地址是私网的数据包企图在互联网上传输时,互联网上的网络设备会将该数据包丢弃,然后就石沉大海了。。。而除了私网ip之外,其余统称为公网ip(或者叫外网ip),这些ip可以在互联网设备上正常传输。

那有什么办法能够让工位的小伙伴访问到IDC机房的服务呢?以下是普遍使用的解决方案:
1.将内网ip映射为外网ip,访问服务时使用公网ip来替代内网ip。
2.建设基础设施,在办公网与机房建立一条物理线路,使两者形成一个大内网环境。
3.与第2种方案类似,在办公网与机房建立一条虚拟线路,办公网设备拨号到IDC机房内网的vpn设备后,由vpn设备发起对IDC机房内网设备的访问。
对于第一种方案,运维小伙伴通常使用F5建立vs、nginx做转发的方式来实现;
对于第二种方案,一般成本较高,并且存在权限滥用的风险;
对于第三种方案,vpn设备常常成为机房隐患的重点保护区,vpn设备流量大时会影响机房线上业务;

外网ip

等同于公网ip。上文已经提到,除了私网ip之外,其余统称为公网ip,这些ip可以在互联网设备上正常传输。

出口ip与入口ip

通常来说,访问他人提供的服务需要我们提供给对方我们的出口ip;他人访问我们的服务需要对方提供给我们对方的出口ip。

出口ip与入口ip不一定是同一个地址。

出口ip

前文提到过,目的地址为私网ip的数据包无法在互联网上传输。当目的地址为公网ip,源地址(发起请求的设备地址)为内网时,数据包能够顺利到达服务器,但服务器无法将响应数据报回复回来(服务器回复的数据报的目的地址是内网地址)。故为了使内网的笔记本/服务器能够正常访问到互联网的资源,网络设备会将私网设备发出的请求转换为外网ip。

如工位的笔记本去访问www.baidu.com,百度只能看到咱们工位的网络设备向他的服务器发了一个请求,而不会得知这个请求是具体哪个私网的笔记本发起的。因为网络设备已经帮你做了伪装。这里百度看到的工位网络设备的ip就是你笔记本的出口ip了。

如何查看自己的出口ip呢?我们一般使用笔记本访问http://www.ip138.com/来确定自己的出口ip。这里的监测不一定是完全正确的,具体请以网络部的通知为准。

当需要与第三方合作时,如果需要访问对方的服务,则一般需要告知对方我们的出口ip,方便对方进行访问授权。

入口ip

入口ip指的是你作为被访问端(server端),接收来自其他人(client端)的访问。即client端使用哪个地址来访问你的服务。你将地址告知client端,对方才能访问到你提供的服务。不然为什么我们去做宣传,告诉大家我们的网站是www.baidu.com?宣传的过程不正是告知用户server端地址的过程吗?

当需要与第三方合作时,如果需要对方访问到自己的服务,则需要告知对方一个可访问的地址。并且授权对方的网络设备ip(对方的出口ip)允许访问我们的服务。

你可能感兴趣的:(ip知识扫盲)