MyException - 我的异常网
当前位置:我的异常网» 互联网 » IP、运营商接Internet进方式及服务端获取IP的情况

IP、运营商接Internet进方式及服务端获取IP的情况

www.MyException.Cn  网友分享于:2018-04-16  浏览:0次
IP、运营商接Internet入方式及服务端获取IP的情况

编写不易,转载请注明(http://shihlei.iteye.com/blog/2418672)!

一 概述

        在服务器端获取客户端IP是一个很普遍的操作,客户端IP的应用场景可能包括:面向IP的地域定位服务,反爬虫服务等。很好奇,用户所在的网络环境:有线,wifi,2G,3G,4G,漫游等,Server端获取的IP情况,按个人理解进行整理,如有错误,望多指点。

 

本文主要介绍:

1)IP基础知识

2)运营商Internet接入方式。

 

Java 在服务器端获取Client IP的方式可参见《Server获取客户端IP 工具类:IPUtil》。

 

二 IP 概述

一)IPV4

1)概述:

32位二进制数,可表示为点分十进制方法。

由[网络号][主机号]组成

 

其中:

主机部分全为0:网络号

主机部分全为1:广播地址,本网的所有主机

 

2)分类:

有类地址:按照类别区分网络号,主机号,ABCD类,优点类别和结构解析简单,缺点不够灵活。

无类地址:按照子网掩码区分网络号,主机号(主机和网络的分割关系不固定)

 

特别注意:标准IP路由只能是有类地址,在子网内部可以使用无类地址。

 

3)IP地址紧张的问题:

由于IP地址有限,移动设备增长规模过快,造成公网IP不够用,目前解决手段主要有:划分子网、保留IP、IPV6

 

4)保留地址:

用于私网地址在不同的单位重复使用。

 

但连接到公网时,公网出口必须有公网IP。私网公网IP转换通过通过NAT,PAT等技术手段完成。

 

关于保留IP:整个IP地址空间,有三个小段地址空间,用于保留地址使用,不会出现在共有IP中,用于企业内部使用,可以私网重复。

 

目前保留地址网段:

10.0.0.0 - 10.255.255.255 10.0.0.0

172.16.0.0 - 172.31.255.255 172.16.0.0

192.168.0.0 - 192.168.255.255 192.168.0.0

 

(二)IPV6

128位的二进制数,常写成冒号分16进制方法(8组16进制数)

 

(三)全IP核心网络

终端、网元、无线网元间使用基于IP协议进行数据传输。

 

三 运营商网络接入方式 

(一)移动网络架构

 

(1)3g(UMTS网络系统):

 

网元:

(a)UE(User Equipment,用户设备):通过无线协议发送接收数据

(b)NodeB(基站):通过标准的Iub接口与RNC互连,通过Uu接口与UE进行通信,主要完成Uu接口物理层协议和Iub接口协议的处理。

(c)RNC(Radio Network Controller,无线网络控制器):是接入网络的组成部分,负责移动性管理、呼叫处理、链路管理和移交机制。

(d)SSNG(Serving GPRS Support Node,服务GPRS支持节点):分组数据包的路由转发、移动性管理、会话管理、逻辑链路管理、鉴权和加密、话单产生和输出等功能。

(e)GGSN (Gateway GPRS Support Node, 网关GPRS支持节点;Gateway GSN,网关GSN):移动数据包的公网出口,GPRS网络与外网的分界线,对内负责Gn网络的传输,对外是一台因特网路由器。

 

(2)4G(LTE网络系统):


网元:

(a)UE(User Equipment,用户设备):通过无线协议发送接收数据

(b)eNodeB(基站):Node B,集成了部分RNC的功能,减少了通信时协议的层次。

(c)S-GW(Serving GateWay,服务网关):用户面接入服务网关,相当于传统SGSN的用户面功能。负责移动性管理、用户接入控制等信令面等。

(d)P-GW(PDN GateWay,PDN网关):移动数据包的公网出口,类似于GGSN网元的功能,提供用户的会话管理和承载控制、数据转发、IP地址分配以及非3GPP用户接入等功能。

 

(3)特别注意:

3G,4G基本都是基于IP协议,在GGSN/P-GW前,都是内网IP,对Server端不可见,从P-GW后通过NAT,从地址池中分配公网IP使用。

  

二)接入方式

 

(1)归属地接入方式

无论用户是本地访问还是漫游,都是通过“归属地”GGSN/P-GW来连接到Internet。主要实现技术是Mobile IP技术。

 

优点:运营商计费方便。

缺点:要回归归属地,增加网络时延,造成网速慢。

 

注:Mobile IP技术:


 

(a)目的:

在跨越网络边界时(进入不同网段的网络),保证移动设备的对外通讯的IP不变。

 

(b)实现方式:

使用归属地 IP 地址和转交地址(访问地绑定地址,COA)完成数据回源与转发。

 

(c)核心逻辑组件:

  • 移动节点 (Mobile node, MN):移动节点,使用“归属地地址(家乡IP)”维持所有通讯。
  • 家乡代理 (Home agent, HA):位于移动节点的家乡网络上的路由器或服务器。路由器会拦截发往移动节点的数据报,然后,通过“转交地址(外阜IP)”传送数据报。家乡代理也会维护有关移动节点位置的当前信息。
  • 外地代理 (Foreign agent, FA):位于移动节点访问的外地网络上的路由器或服务器。外地代理可为移动节点提供主机路由服务。外地代理还可能在注册移动节点时向其提供转交地址。

(d)数据包传输过程:

前提:

移动节点始终保存HA的IP。

在移动过程中,更换FA时,从FA获取分配COA,并通过FA将COA注册到HA,以便数据包可以回传。

 

数据包上行:

源IP为“归属地IP”,目的IP为“远程服务器IP”,普通情况,IP协议仅通过目的IP路由,所以可以直接通过“常规路由协议”,到达远程Server。

仅在有源IP安全验证的网络环境,才需要回HA进行转发,以便通过源IP验证。

 

数据包下行:

        源IP为“远程服务器IP”,目的IP为“归属地IP”,数据包一定会先到归属地网络被拦截,然后进行转发。

 

        下行流程:

步骤1:Internet 主机使用移动节点的家乡地址向移动节点发送数据报(此为标准的 IP 路由过程)。

步骤2:如果移动节点位于家乡网络,则数据报会通过常规 IP 进程传送到移动节点。否则,数据报将传送到家乡代理。

步骤3:如果移动节点位于外地网络,则家乡代理将数据报通过“隧道”技术转发到外地代理。

步骤4:外地代理将数据报传送到移动节点。

 

(2)漫游接入方式

使用漫游地运营商的GGSN/P-GW接入Internet。

 

优点:速度快,时延低。

缺点:某些会话会断,运营商商计费,控制困难。

 

两种接入方式各有优劣,运营商们会根据自身的一些情况来选择用户漫游时将采用使用哪一种接入方式。

 

(三)关于运营商的接入策略

 

  2g 3g 4g
移动     漫游 漫游
联通   归属地 归属地
电信   漫游 归属地 

 

四 总结

(一)关于获取IP

服务器能获取的IP,一定是网络边界(GGSN/P-GW)分配的公网IP,由于接入方式不同,ip对应的城市也不同。

 

(1)归属地接入方式:ip为归属地GGSN/P-GS分配的ip,“IP归属城市”一般不会变化

(2)漫游接入方式:ip为漫游地GGSN/P-GW分配的ip,且“IP归属城市”随着漫游地变化而变化

 

(二)关于IP变化条件

 

(1)重新发起接入(重启,wifi到4g,没信号到有信号),GGSN会从地址池中重新分配公网IP

(2)IP是三层协议,接入方式是数据链路层,只要在接入过程重没有断网,切换小区,切换接入点(基站)不会引擎IP变化。

 

 

 

文章评论

Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
那些争议最大的编程观点
那些争议最大的编程观点
程序员和编码员之间的区别
程序员和编码员之间的区别
代码女神横空出世
代码女神横空出世
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
Java程序员必看电影
Java程序员必看电影
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
老程序员的下场
老程序员的下场
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
 程序员的样子
程序员的样子
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员的鄙视链
程序员的鄙视链
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
旅行,写作,编程
旅行,写作,编程
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
程序员应该关注的一些事儿
程序员应该关注的一些事儿
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
程序员必看的十大电影
程序员必看的十大电影
每天工作4小时的程序员
每天工作4小时的程序员
如何成为一名黑客
如何成为一名黑客
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
一个程序员的时间管理
一个程序员的时间管理
我是如何打败拖延症的
我是如何打败拖延症的
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
中美印日四国程序员比较
中美印日四国程序员比较
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
漫画:程序员的工作
漫画:程序员的工作
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
鲜为人知的编程真相
鲜为人知的编程真相
我的丈夫是个程序员
我的丈夫是个程序员
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员都该阅读的书
程序员都该阅读的书
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有