NAT技术以及代理服务器

来源:互联网 发布:c语言绝对值函数 编辑:程序博客网 时间:2024/06/04 01:38
本篇将介绍NAT技术以及代理服务器
参考资料
欢迎提出问题和建议,感谢观看
联系方式:blbagony@163.com

NAT

NAT简介
  • NAT(Network Address Translation)网络地址转换,通过 IETF 标准,允许整体机构通过一个公用的 IP 地址链接到 Internet 。是一种将内部私有网络地址(IP)转化成合法的共有网络地址的技术。

  • 应用场景

    1. 在一些专用的内部网络中,主机在开始时分配了本地 IP 地址(在本地网络内部使用的专用 IP 地址),当这些内部网络上的主机想要连接到外部,又不想让外界直接访问到自己时,就可以使用 NAT 技术。

工作原理

NAT工作原理|center

  • 在本例中客户192.168.1.20w2.x2.y2.z2发送数据时,先将自己的 IP 地址通过 NAT 路由转换为 w1.x1.y1.z1并在 NAT 路由转换表中记录相应的映射关系。

  • 外部网络中某台主机想要与内部网络中某台主机通讯时,外部主机并不知道内部网络中主机的 IP 地址,它将数据发送给 NAT 路由器,NAT 在转换表中找到内部网络相应的 IP 地址,再将数据发送到对应的主机上。

  • 通过这种方法可以让整个内部局域网上的主机访问外部网络,并且对于内部和外部主机而言不会意识到 NAT 的存在,外部网络访问只能访问到 NAT 路由器,但并不知道内部网络上的某台主机 IP 地址,这样可以有效避免来自外部网络的攻击,隐藏并保护内部主机。


NAT分类
  1. 静态NAT

    • 通过首部设置,使 Internet 服务器在进行的通信时能够访问到某个特定的私有网络地址和端口。这个私有网络能够从 Internet 上通过该 NAT 路由器对外网络地址的静态映射访问到私有网络中的某台主机。该网络地址的映射不会从 NAT 路由表中删除。

    • 在本例中当外部主机 w2.x2.y2.z2想要与内部主机192.128.1.20通信时。w2.x2.y2.z2首先向 NAT 对外网络w1.x1.y1.z1发送数据,通过 NAT 路由映射表找到内部网络上的主机192.128.1.20,再将数据发送给该主机。所以在静态 NAT 方式中内部主机的 IP 地址与 NAT 上的公有 IP 地址是一一对应关系,采用静态 NAT 的前提是能够申请到足够多的 全局 IP 地址。

  2. 动态NAT

    • 动态 NAT 只是转换 IP 地址,它为每个内部网络中的 IP 地址分配一个临时的外部 IP 地址,主要应用于拨号,对于频繁的远程连接也可采用动态 NAT。当远程用户连接上之后,动态 NAT 会分配一个 IP 地址给当前内部主机,当用户断开后这个 IP 地址解除与内部地址的映射关系,留待其他内部主机以后使用。

    • 动态 NAT 的方式适用于机构所申请到的 IP 地址较少,而内部网络主机较多的情况。当数据包进出内网时,具有 NAT 功能的设备对 IP 数据包的处理与静态 NAT 处理方式相同,只是 NAT 映射表中的内容是动态更新的,建立链接后写入当前映射关系,解除链接后删除链接关系。

  3. 网络地址端口转换 NAPT

    • 网络地址端口转换 NAPT(Network Address Port Translation)则是把内部地址映射到外部网络的一个IP地址的不同端口上。它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与 动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的端口号。

    • NAPT是使用最普遍的一种转换方式,它又包含两种转换方式:SNAT和DNAT。

      1. 源NAT(Source NAT,SNAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一具SNAT的例子。
      1. 目的NAT(Destination NAT,DNAT):修改数据包的目的地址。Destination NAT 刚好与 SNAT 相反,它是改变第一个数据包的目的地地址,如平衡负载、端口转发和透明代理就是属于 DNAT。

代理服务器

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

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

代理服务器|center

功能
  • 代理服务器的功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。代理服务器就好象一个大的 Cache,这样就能显著提高浏览速度和效率。更重要的是代理服务器是 Internet 链路级网关所提供的一种重要的安全功能,主要的功能有:
      • 突破自身IP访问限制,访问国外站点。教育网、过去的 169 网等;
      • 网络用户可以通过代理访问国外网站;
      • 访问一些单位或团体内部资源,如某大学 FTP(前提是该代理地址在该资源 的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类 FTP 下载上传,以及各类资料查询共享等服务;
      • 突破中国电信的 IP 封锁:中国电信用户有很多网站是被限制访问的,这种限制是人为的,不同 Serve 对地址的封锁是不同的。所以不能访问时可以换一个国外的代理服务器试试;
        提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度;
      • 隐藏真实 IP:上网者也可以通过这种方法隐藏自己的 IP,免受攻击。

其他功能:

  1. 设置用户验证和记账功能,可按用户进行记账,没有登记的用户无权通过代理服务器访问 Internet 网。并对用户的访问时间、访问地点、信息流量进行统计。

  2. 对用户进行分级管理,设置不同用户的访问权限,对外界或内部的Internet地址进行过滤,设置不同的访问权限。

  3. 增加缓冲器(Cache),提高访问速度,对经常访问的地址创建缓冲区,大大提高热门站点的访问效率。通常代理服务器都设置一个较大的硬盘缓冲区(可能高达几个 GB 或更大),当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。

  4. 连接内网与 Internet,充当防火墙(Firewall):因为所有内部网的用户通过代理服务器访问外界时,只映射为一个 IP 地址,所以外界不能直接访问到内部网;同时可以设置 IP 地址过滤,限制内部网对外部的访问权限。

  5. 节省 IP 开销:代理服务器允许使用大量的伪 IP 地址,节约网上资源,即用代理服务器可以减少对 IP 地址的需求,对于使用局域网方式接入 Internet ,如果为局域网(LAN)内的每一个用户都申请一个IP地址,其费用可想而知。但使用代理服务器后,只需代理服务器上有一个合法的 IP 地址,LAN内其他用户可以使用这样的私有IP地址,可以节约大量的IP,降低网络的维护成本。

常见代理服务器
  1. HTTP代理

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

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

    • 相应的,采用 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 和使用代理服务器上联众打游戏等等各种游戏应用软件当中。

原创粉丝点击