NAT技术和代理服务器

NAT技术-网络地址转换

来源:

在Internet网上广泛使用的IPV4技术由于NAT技术,中文翻译为网络地址转换。该技术产生的原因:IPv4地址危机,在Internet上应用广泛的IPv4技术,由于其先天性不足,在九十年代初期时,已经预计到了IPv4地址不足,从而开始开发IPv6技术。但开发IPv6需要足够的时间,为了延长IPv4技术的使用时间,产生了NAT技术。 NAT技术不仅解决了网络地址不足的问题,由于内外网络的隔离,还提供了安全性。

内部本地地址—-局域网内部主机的拥有的一个真实地址,一般来说是一个私有地址
内部全局地址—-对于外部网络来说,局域网内部主机所表现的IP地址。
外部本地地址—-外部网络主机的真实地址。
外部全局地址—-对于内部网络来说,外部网络主机所表现的IP地址。

对于网络地址转换技术来讲,最重要的一点是,在配置NAT的路由器上形成了NAT转换表,这个转换表的形成是非常关键的。配置NAT后,能形成正确的转换表,那么我们的工作就算成功了。

转换过程

例:内网机器(192.168.0.5) 访问 目标主机(220.181.28.42)
  
  1、客户机发送数据包
  
  目的主机 220.181.28.42
  目的端口 80
  源主机 192.168.0.5 (内网的私有IP)
  源端口 1025 (随机打开)
  
  2、进行地址转换
  
  目的主机 220.181.28.42
  目的端口 80
  源主机 218.22.192.21 (NAT服务器的公网IP)
  源端口 5000 (随机打开)
  
  3、记录映像
  

  192.168.0.5 tcp 1025 —– 218.22.192.21 tcp 5000
  
  4、外部网络主机向NAT主机发送响应信息
  
  目的主机 218.22.192.21
  目的端口 5000
  源主机 220.181.28.42
  源端口 80
  
  5、查找映像关系将数据包发给客户机
  
  目的主机 192.168.0.5
  目的端口 1025
  源主机 220.181.28.42
  源端口 80

NAT术语

Inside network:需要翻译成外部地址的内部网络。
Outside network:使用合法地址进行通信的外部网络。
Local address:内部网络使用的地址。
Global address:外部网络使用的地址。
Inside local address:内部本地地址。数据在内部网络使用的地址,一般为private ip address。
Inside global address:内部全局地址。数据为了到达外部网络,用来代表inside local address的地址,一般为ISP提供的合法地址。
Outside local address:外部本地地址,不必是合法地址。当外部网络数据到达内部网络,外部网络中的主机IP地址与内部网络中的主机处在同一网段时,为防止内部主机误认外部主机与自己在同一网段而广播ARP请求,造成无法通信,将外部主机的地址转换成外部本地地址之后再与内部主机进行通信。
Outside global address:数据在外部网络使用的地址,是个合法地址。
Simple translation entry:把一个IP地址映射到另外一个地址上的一对一的翻译方式。
Extended translation entry:把IP地址和端口(port)的组合翻译成另外一个地址和端口的组合。
Static address translation:静态地址翻译,把一个local对应到一个global上去。
Dynamic address translation:动态翻译,local和global池(pool)建立动态对应关系。
Port address translation(PAT):通过使用地址和端口的结合来达到多个local对应一个global的状态。端口号用来确定每个local的唯一性。这样的技术也叫超载(overloading)。

NAT的优缺点

优点:
1 极大的节省了合法的IP地址。
2 能够处理地址重复情况,避免了地址的重新编号,增加了编址的灵活性。
3 隐藏了内部网络地址,增强了安全性。
4 可以使多个使用TCP负载特性的服务器之间实现基本的数据包负载均衡。
缺点:
1 由于NAT要在边界路由器上进行地址的转换,增大了传输的延迟。
2 由于NAT改动了IP地址,失去了跟踪端到端IP流量的能力。当出现恶意流量时,会使故障排除和流量跟踪变的更加棘手。
3 不支持一些特定的应用程序。如早期版本的MSN。
4 增大了资源开销。处理NAT进程增加了CPU的负荷,并需要更多内存来存储NAT表项。

NAT三种实现方式

  1. 静态地址转换 - 一个公网IP对应一个内部IP,一对一转化。
  2. 动态地址转换 - N个公网IP对应M个内部IP,不固定的一对一转换,有M-N个主机无法通信。
  3. 端口多路复用 - 对外只有一个公网IP,通过不同的端口来区别不同的内部主机IP数据。

代理服务器
代理(英语:Proxy),也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。

提供代理服务的电脑系统或其它类型的网络终端称为代理服务器(英文:Proxy Server)。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源(如:文件)。在后一种情况中,代理服务器可能对目标服务器的资源下载至本地缓存,如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器并不会向目标服务器发送请求,而是直接返回缓存了的资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应,以满足代理协议的需要。代理服务器的选项和设置在计算机程序中,通常包括一个“防火墙”,允许用户输入代理地址,它会遮盖他们的网络活动,可以允许绕过互联网过滤实现网络访问。

主要功能

  • 局域局内没有与外网相连的机器通过内网的代理服务器连接到外网。这个例子,最有说服力的就是小办公室的上网解决方案了,利用办公室原有的局域网,只要简单的利用一根电话线、一个合法帐号(在ISP初申请得到拨号号码和用户名和密码),加上一个简单的代理软件(如Sygate,WinGate,Winrouter)就可以方便的以最小的花费将整个办公室的电脑与互联网络相连接。
  • 为了获得更大的速度,通过带宽较大的proxy与目标主机连接。访问台湾部分站点的速度大家相必已经领教过了,如果我们使用一个位于美国的代理服务器(之所以这里称为选用美国的代理服务器是因为二岸之间尚无直接联接二岸网络的直接通道)如非常经典的一个代理服务器Proxy.golden.net:3000,您可以非常明显的感觉出连接速度的改善简直会出乎您的意料。我在网上看到有这样一个非常形象的例子,现原文引用:”因为proxy serve一般都设在比较近的地方。打个比方,比如我在香港要看北京的青年报,是派人去北京买一份来看,还是从楼下报亭买一份看,两个选择哪一个快?当然是后者。proxy serve就是那个报亭,你想看什么报尽管向它要。如果有它就马上给你,如果没有就马上去进一批,自己也顺手留一份。”
  • 同一地区未互联的不同网络通过代理建立连接。还是以上面的列举的代理服务器为例,设置正确之后,我们就可以访问Xoom、Geocities等一般无法直接访问的站点。当然,需要提醒各位朋友的就是之所以限制这些站点的访问,是因为这些站点存在一些和我们国家长治久安相背离的内容,所以采取了屏蔽措施,希望大家访问的时候能注意甄别。这种限制是人为的,不同代理服务器对地址的封锁是不同的,所以一个不行时可以换一个试试。
  • 可以免费访问因特网。这是这个文的重头戏。用免费169帐号上因特网已经成为一个公开的秘密了。但是,到现在为止,尚无一个彻底”完全代理解决方案”,所以,才有了本文的代理专题介绍。众所周知,中国电信旗下建立的网络有两种,一种是真正意义上的国际互联网(因拨接号码为一般为163,俗称163),另一种是所谓的中国公用多媒体网(因拨接号码为一般为169,俗称169)。以江苏地区为例,169用户又分为三类,C类用户拥有网外权,可以直接享受国际互联网的所有服务;另一类称为B类用户,也称注册用户,使用注册的帐号上网,但只能与以cninfo.net结尾和广东视灵通的网站连接(IP地址以10开头和172开头);第三类称为A类用户,也称GUEST用户,使用公用的账号上网,采取主叫记费制,在计费标准上与B类用户有区别(一般只收取市内电话费)。

    代理分类

  • HTTP代理
    www对于每一个上网的人都再熟悉不过了,www连接请求就是采用的http协议,所以我们在浏览网页,下载数据(也可采用ftp协议)时就是用http代理。它通常绑定在代理服务器的80、3128、8080等端口上。

  • sock代理
    相应的,采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。Socks 不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理、HTTP层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。如果您在企业网或校园网上,需要透过防火墙或通过代理服务器访问 Internet就可能需要使用SOCKS。一般情况下,对于拨号上网用户都不需要使用它。注意,浏览网页时常用的代理服务器通常是专门的http代理,它和SOCKS是不同的。因此,您能浏览网页不等于 您一定可以通过SOCKS访问Internet。常用的防火墙,或代理软件都支持SOCKS,但需要其管理员打开这一功能。如果您不确信您是否需要SOCKS或是否有SOCKS可用,请与您的网络管理员联系。为了使用socks,您需要了解一下内容:
    ① SOCKS服务器的IP地址
    ② SOCKS服务所在的端口
    ③ 这个SOCKS服务是否需要用户认证?如果需要,您要向您的网络管理员申请一个用户和口令

知道了上述信息,您就可以把这些信息填入“网络配置”中,或者在第一次登记时填入,您就可以使用socks代理了。
在实际应用中SOCKS代理可以用作为:电子邮件、新闻组软件、网络传呼ICQ、网络聊天MIRC和使用代理服务器上联众打游戏等等各种游戏应用软件当中。

  • VPN代理
    指在共用网络上建立专用网络的技术。之所以称为虚拟网主要是因为整个VPN网络的任意两个结点之间的连接并没有传统专网建设所需的点到点的物理链路,而是架构在公用网络服务商ISP所提供的网络平台之上的逻辑网络。用户的数据是通过ISP在公共网络(Internet)中建立的逻辑隧道(Tunnel),即点到点的虚拟专线进行传输的。通过相应的加密和认证技术来保证用户内部网络数据在公网上安全传输,从而真正实现网络数据的专有性。

  • 反向代理
    反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量。 安装反向代理服务器有几个原因:
    加密和SSL加速
    负载平衡
    缓存静态内容
    压缩 减速上传
    安全 外网发布
    大多使用开放源代代码的squid做反向代理

  • 其他代理
    FTP代理:能够代理客户机上的FTP软件访问FTP服务器
    RTSP代理:代理客户机上的Realplayer访问Real流媒体服务器

  • 常用的代理端口号
    HTTP代理:80/8080/3128/8081/9080
    SOCKS代理:1080
    FTP代理:21
    Telnet代理:23

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值