本文共 2682 字,大约阅读时间需要 8 分钟。
相信用过facebook等其他国外社交网站的小伙伴,都离不开一个东西——**软件。
为什么不能直接通过网络连接访问这些网站,而要借助于这些软件呢?这个嘛,你懂得。。。
本文将介绍其背后的机制:NAT&代理服务器技术
Key Point:
2者概念及区别
tips:全文阅读需**3min**
如果一个组织内部组建了局域网,那么IP地址将只用于局域网内的通信,而不直接连到Internet上。
理论上,使用任意的IP地址都可以连接网络,但是RFC1918规定了用于组建局域网的私有IP地址,这些地址不会出现在Internet上。
那这些私有IP地址就不能连接Internet了么?
So……
使用私有IP地址的局域网主机虽然没有Internet的IP地址,但也可以通过代理服务器或NAT(网络地址转换)等技术连到Internet上。
1. NAT技术
关于NAT技术,百度百科的介绍是这样的:
博主最近又开始在百度盗图了,我的错,我有罪╮(╯﹏╰)╭
根据概念我们可以总结:
所谓NAT技术,就是在一个主机只能有一个IP地址的情况下,利用NAT路由器,将自身IP地址转换为一个有效的外部全球地址,从而连接全球Internet的技术。
再来了818它的技术背景:
所以,路由器真是个好东西୧(๑•̀⌄•́๑)૭碉堡
到这里,相信你已经对NAT技术有一个大致的了解了,但是我们还要知道它的原理和工作流程。
从上边的概念我们可以知道,借助于NAT,私有(保留)地址的”内部”网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。
再来看一下它的工作原理:
Step1:
client(终端) 的 gateway (网关)设定为 NAT 主机,当要连上 Internet 的时候,该封包就会被送到 NAT 主机,这个时候的封包 Header 之 source IP(源IP) 为 192.168.1.100
Step2:
NAT 主机将 client 的对外联机封包的 source IP ( 192.168.1.100 ) 伪装成 ppp0 ( 假设为拨接情况 )这个接口所具有的公共 IP ,因为是公共 IP 了,所以这个封包就可以连上 Internet 了,同时 NAT 主机会记忆这个联机的封包是由哪一个 ( 192.168.1.100 ) client 端传送来的
Step3:
Internet 传送回来的封包由 NAT主机来接收,NAT 主机查询原本记录的路由信息,并将目标 IP 由 ppp0 上面的公共 IP 改回原来的 192.168.1.100
Step4:
由 NAT 主机将该封包传送给原先发送封包的 Client
这就是NAT技术的原理。
2. 代理服务器技术
所谓“代理”,就是代而劳之的意思。代理服务器就是代理网络用户去取得网络信息,形象的说:它是网络信息的中转站,使得一个网络终端和另一个网络终端不直接进行相连,而由代理服务器代理网络用户去取得信息。主要工作在OSI的会话层中。
代理服务器(Proxy Server)是Internet链路级网关所提供的一种重要的安全功能,主要的功能有:
编号 | 功能 |
---|---|
1 | 突破自身IP访问限制,访问国外站点 |
2 | 提高访问速度:通常代理服务器都设置了一个较大的硬盘缓冲区,当有外界的信息通过的时候,同时也将其保存在缓冲区中,当其他用户在访问相同的信息时,则直接有缓冲区取出信息,传给用户,以提高访问速度 |
3 | 链接内网与Internet,充当防火墙:因为所有的内部网用户通过代理服务器访问外界时,只映射一个IP地址,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对外部的访问权限 |
4 | 节省IP开销:代理服务器允许使用大量的伪IP地址,节约上网资源,即代理服务器可以减少对IP地址的需求,对于使用局域网方式接入Internet,如果为局域网(LAN)内的每一个用户都申请一个IP地址,其费用可想而知。但使用代理服务器之后,只需代理服务器上有一个合法的IP地址,LAN内其他用户可以使用私有IP地址,这样可以节约大量的IP,降低网路的维护成本。 |
5 | 隐藏真实IP:上网者可以通过这种方式隐藏自己的IP,以免受到攻击 |
6 | 设置用户验证和记账功能,没有登记的用户无权通过代理服务器访问Internet网。并对用户的访问时间、访问地点、信息流量进行统计 |
一个完整的代理请求过程为:
Step1: 客户端与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接或者获得目标服务器的指定资源(如文件)。
Step2: 如果客户端索要获取的资源在代理服务器的缓存之中,则代理服务器并不会向目标服务器发送请求,而是直接返回缓存的资源。注意以下几点:
1. 一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应,以满足代理协议的需要。 2. 代理服务器的选项和设置在计算机程序中,通常只包括一个“防火墙”,允许用户输入代理地址,他会这该他们的网络活动,可以允许绕过互联网过滤实现网络访问。
虽然NAT技术和代理服务器技术都可以解决“翻墙”问题,但他们的区别可不小。
突出在以下几点:
运算成本和网络性能方面
NAT:使用路由器,成本较低代理服务器:成本较高
网络安全性方面
NAT: 工作原理决定了IP地址不能隐藏,用户主机容易受到攻击代理服务器:用户可以隐藏IP地址,以防受到攻击,安全性较高
访问速度
NAT: 工作流程使访问速度受限代理服务器:设置了一个较大的硬盘缓冲区,当有外界的信息通过的时候,同时也将其保存在缓冲区中,当其他用户在访问相同的信息时,则直接有缓冲区取出信息,传给用户,以提高访问速度
IP开销
NAT: 要为局域网(LAN)内的每一个用户都申请一个IP地址代理服务器:允许使用大量的伪IP地址,节约上网资源,即代理服务器可以减少对IP地址的需求
知道了这两个技术,以后看到舍友用facebook的时候还能顺便装个逼。妙哉妙哉……
本文引用:
本篇博客到这里就结束了,青山不改,绿水长流。愿博主能活在你们每个人的心中: