TA的每日心情 | 无聊 2012-3-8 22:03 |
---|
签到天数: 11 天 [LV.3]偶尔看看II
|
众所周知,由于公共IP的短缺,我们在组建局域网时,通常使用保留地址作为内部IP,这些保留地址Internet上是无法被路由的,所以在正常情况下我们无法直接通过Internet访问到在局域网内的主机。为了实现这一目的,我们需要使用VPN隧道技术。
# s) n* z- T2 m* L
+ i+ y9 l* c/ }3 |3 n" l- 通常情况下,VPN网关采用双网卡结构,外网卡使用公共IP接入Internet; R2 o$ Y# n' @" y! U8 F( a2 S
& |0 z% v, ^% t# Q( ~- 如果网络一的终端A需要访问网络二的终端B,其发出的访问数据包的目标地址为终端B的IP (内部IP);0 v! w' i. p& k0 M
; Q& L/ g: r! f- q
- 网络一的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查,如果目标地址属于网络二的地址,则将该数据包进行封装,封装的方式根据所采用的VPN技术不同而不同,同时VPN网关会构造一个新的数据包(VPN数据包),并将封装后的原数据包作为VPN数据包的负载,VPN数据包的目标地址为网络二的VPN网关的外部地址;
4 h \% j$ }) S% D4 ~) M. ~: ^& G6 K; U/ v' o* C, Q7 z( P6 d
- 网络一的VPN网关将VPN数据包发送到Internet,由于VPN数据包的目标地址是网络二的VPN网关的外部地址,所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关;
- O4 N( U* S7 H1 @ D: ^! ^4 L- Y b
- 网络二的VPN网关对接收到的数据包进行检查,如果发现该数据包是从网络一的VPN网关发出的,即可判定该数据包为VPN数据包,并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离,在将负载通VPN技术反向处理还原成原始的数据包;3 [1 o& Y: Z% D& N7 v
7 u" r0 g4 d( m9 n) Z9 H' Z7 x. h
- 网络二的VPN网关将还原后的原始数据包发送至目标终端,由于原始数据包的目标地址是终端B的IP,所以该数据包能够被正确地发送到终端B。在终端B看来,它收到的数据包就从终端A直接发过来的一样;9 Z' g, n( h: Y: e$ @+ X
$ {5 \* w' a0 B4 E5 D8 ~& J- 从终端B返回终端A的数据包处理过程与上述过程一样,这样两个网络内的终端就可以相互通讯了。
7 x/ b- {5 X2 x5 C C% v* }/ A2 `$ m" f2 W* T8 u2 `% Y# A9 ]
通过上述说明我们可以发现,在VPN网关对数据包进行处理时,有两个参数对于VPN隧道通讯十分重要:原始数据包的目标地址(VPN目标地址)和远程 VPN网关地址。根据VPN目标地址,VPN网关能够判断对哪些数据包需要进行VPN处理,对于不需要处理的数据包通常情况下可直接转发到上级路由;远程 VPN网关地址则指定了处理后的VPN数据包发送的目标地址,即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的,在进行VPN通讯时,隧道两端的VPN网关都必须知道VPN目标地址和与此对应的的远端VPN网关地址。 |
|