编 写:袁 亮 时 间:2015-07-17 说 明:http协议基础:内网、外网 一、前言: 1、适合于计算机网络基本没学的同学 2、了解为主 二、什么是内网ip,什么是外网ip 1、广域网(WAN): Internet,这是一个世界通用的网络,这边可识别的ip就是我们常说的外网ip 我们平时上的网络都是这个 家里连接宽带等,其实就是连接到Internet上 2、局域网(LAN): 找了几台计算机,我们互相能识别,那么我们就组成了一个局域网 我们互相之间能识别,但是其他人并不知道我们是谁是谁 一般需要通过一台能连接到Internet的设备去上网,比如我们公司的内部网络,对其他人来说,我们公司的这些电脑都是同一个人 3、为什么需要内网ip ipv4的ip地址,只能描述256*256*256*256台独立设备,而现在不够用了,因此需要内网ip 三、简单说明 1、外网地址 1.1 相当于绝对地址,比如中国,江苏,南京大学 1.2 跟任何人说这个地址,都是唯一指向同一个 1.3 外网ip,分3类: A类地址:0-127.***.***.*** B类地址:128-191.***.***.*** C类地址:192-223.***.***.*** 2、内网地址 2.1 是一个相当地址,比如说4院3专业2班17号 2.2 在不同的情况下,代表的是不同的 2.3 因此不要出现在公司这边,直接连机房那边的局域网地址,完全是牛头不对马嘴 2.4 内网地址分类,针对外网地址,每一类外网,都有其对应的内网地址格式: A类:10.***.***.*** B类:172.16.***.*** C类:192.168.***.*** 四、内网中,也可以再嵌套内网 1、我们公司,外网地址为:218.94.95.52 2、内网192.168.0.*** 3、其中某台路由器的内网ip为192.168.0.8 可以再设置一个内网,192.168.8.***的内网,可以连接256台各设备 五、程序获取ip地址 function getIp(){//获取IP函数 $ip = false; if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; } if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']); if ($ip) { array_unshift($ips, $ip); $ip = FALSE; } for ($i = 0; $i < count($ips); $i++) { if (!preg_match("/^(10|172\.16|192\.168)\./", $ips[$i])) { // 判断是否内网的IP $ip = $ips[$i]; break; } } } return ($ip ? $ip : $_SERVER['REMOTE_ADDR']); }