一、代理服务器

  所谓“代理”,就是代而劳之的意思。代理服务器就是代理网络用户去取得网络信息,形象的说:它是网络信息的中转站,使得一个网络终端和另一个网络终端不直接进行相连,代理网络用户去取得信息。主要工作在OSI的会话层中。

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

  代理服务器(Proxy Server)是Internet链路级网关所提供的一种重要的安全功能,主要的功能有

    1.突破自身IP访问限制,访问国外站点。教育网,过去的169网等。

    2.提高访问速度:通常代理服务器都设置了一个较大的硬盘缓冲区,当有外界的信息通过的时候,同时也将其保存在缓冲区中,当其他用户在访问相同的信息时,则直接有缓冲区取出信息,传给用户,以提高访问速度

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

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

    5.隐藏真实IP:上网者可以通过这种方式隐藏自己的IP,以免受到攻击;

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

二、NAT技术

  NAT(Network Address Translation)网络地址转换,用于将访问Internet上公网的私有IP地址转换为合法的共有IP地址。产生原因:IPv4地址危机,由于其先天性不足,,在九十年代初期,已经预计到了IPv4地址不足,从而开始开发IPv6技术。但与与开发IPv6需要足够的时间,为了延长IPv4的使用时间,产生了NAT技术。

  NAT技术以少量的共有IP地址代替大多的私有IP地址访问的方式,能有助于减缓IP地址不足的问题,同时能有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

  NAT将自动修改IP报文的原IP地址和目的IP地址,IP地址校验则在NAT处理过程中自动完成。有些应用程序将原IP地址嵌入到IP报文的数据部分中,所以还需要同时对报文的数据部分进行修改,以匹配IP投中已经修改过的原IP地址。否则,在报文数据部分嵌入IP地址的应用成徐就不能正常的工作。

  NAT服务器有内部和外部两个网卡,只有当内外部网络之间需要进行数据传送时,才进行地址转换。在NAT服务器上都维护一张状态表,称为NAT表。该表记录每个数据包在NAT服务器上被转换的情况。根据采用的地址转换技术不同,可以分为三类:静态转换、动态转换和端口多路复用;

静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。

  1. 首先,当内网终端要访问外网服务器时,会先将请求发送给NAT服务器;

  2. NAT服务器接收到请求后,根据接收到的数据包检查NAT表;如果已为该地址配置了静态地址转换,NAT服务器就使用对应的公网IP地址转发数据包,否则,NAT服务器不对地址进行转换,直接将数据包丢弃;

  3. Internet主机接收到请求之后,会将应答信息返回给端口NAT服务器;

  4. 当NAT服务器接收到来自Internet上的主机返回的数据包后,检查静态NAT表。如果NAT表中存在匹配的映射项,则将目标地址转换为相应的内网IP,并将数据包转发给内网主机。如果不存在匹配映射项,则将数据包丢弃;

动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。

  动态转换的过程和静态转换差不多,只是其转换成对应的合法公有IP地址是不确定的,也就是随机分配的;

端口多路复用是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。

  1. 当内网主机需要与Internet建立连接时,首先将请求发送到端口NAT服务器。NAT服务器接收到请求后,根据接收到的数据包,检查端口NAT映射表;如果还没有为该内网主机建立地址转换映射项,则NAT服务器会创建一个会话,并给该会话分配一个端口。之后将源地址及端口改为企业公网IP地址及相应的端口,发送数据包到Internet主机上;

  2. Internet主机接收到信息后,将应答信息返回给端口NAT服务器;

  3. 当端口NAT服务器接收到应答信息后,检查端口NAT映射表。如果端口NAT表存在匹配的映射项,则将目标地址及端口转换为对应的内网IP及端口,将数据包转发给内网主机。如果不存在匹配映射项,就将数据包丢弃;

NAT技术和代理服务器相关推荐

  1. NAT技术及代理服务器

    1.NAT技术         网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛 ...

  2. NAT(网络地址转换)技术与代理服务器原理

    一.    Nat技术: NAT英文全称是"Network Address Translation",中文意思是"网络地址转换",它是一个IETF(Intern ...

  3. NAT技术代理服务器

    一.NAT ★什么是NAT 网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用 ...

  4. 代理服务器和NAT技术

    一.代理服务器 代理服务器是什么 代理服务器(Proxy Server)是一种重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用.代理服务器大多被用来连接IN ...

  5. 路由,代理服务器和NAT技术的区别

    常见的局域网接入Internet的技术有三种: 直接路由 代理服务器(proxy) 网络地址转换(NAT) 一.直接路由 第一种方法比较简单直接,不过要求客户机都有真实IP,仅这一点,大多数的环境就无 ...

  6. DNS/ICMP协议/NAT技术

    本博文分享DNS(简单认识).ICMP(简单认识)和NAT技术(重点学习). DNS DNS是一整套从域名映射到IP的系统,TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序.但是IP ...

  7. IP协议——NAT技术

    在之前介绍网络层时,我们有提到过对于IPv4协议来讲,IP地址不够的问题.NAT(网络地址转)技术则是当前解决IP地址不够用的重要手段,它是路由器的一个重要功能. 1.NAT技术的作用 (1)NAT可 ...

  8. Linux·DNS协议、ICMP协议、NAT技术

    目录 DNS协议 DNS背景 ​编辑域名简介 域名解析过程 使用dig工具分析DNS过程 ICMP协议 ICMP功能 ICMP协议格式 ​编辑ping命令 一个值得注意的坑 traceroute命令 ...

  9. DNS协议、ICMP协议、NAT技术

    文章目录 DNS协议 DNS背景 域名简介 域名解析过程 使用dig工具分析DNS过程 ICMP协议 ICMP功能 ICMP协议格式 ping命令 一个值得注意的坑 traceroute命令 NAT技 ...

最新文章

  1. React文档 state and lifecycle
  2. 深度学习与计算机视觉系列(4)_最优化与随机梯度下降\数据预处理,正则化与损失函数
  3. 多功能选择列表(左右选择)
  4. JAVA技术周刊第一期:关于JVM你了解多少?看这篇文章就够了!
  5. P2634 [国家集训队]聪聪可可
  6. 沈阳计算机考试都学什么,沈阳计算机考研考什么科目
  7. SpringBoot集成MongoDB
  8. #include sys/xxx.h头文件 UNIX头文件
  9. 如何在Web浏览器中查看XML文件
  10. 小白设计模式:桥接模式
  11. linux的vi2编辑相关命令,Linux vi/vim编辑器常用命令与用法总结
  12. BI解决方案分享:地产BI数据分析系统的建设
  13. python时间模块详解(time模块)
  14. Hutool进行DES加解密
  15. php notice 性能,【OneAPM出品】解决Notice错误性能提升
  16. 闪存中的NorFlash、NandFlash及eMMC三者的区别
  17. 【经验】通过JVM调优,让凯哥个人博客响应速度提升了不少
  18. java 监控linux服务器cpu使用率、内存使用率、磁盘使用率、java进程是否存活等服务
  19. Mysql 正则 实现 like in 效果
  20. steps()的学习

热门文章

  1. IOS开发UISearchBar失去第一响应者身份后,取消按钮不执行点击事件的问题
  2. 把myeclipse中的web项目导入eclipse中不能编程web项目的解决办法
  3. CUDA编程遇到的问题
  4. [SDOI2015]权值
  5. 并行程序设计报告(MPI并行计算π,实现mandelbrot集)
  6. 简述计算机科学的核心内容,北京大学-计算机科学与技术(2018秋)作业及复习
  7. mysql query browswer_MySQL数据库新特性之存储过程入门教程
  8. 百度语音合成 js html,Node.js结合百度TTS接口实现文字转语音功能
  9. Oracle11 expdp0734,oracle 11g expdp impdp 跨平台迁移数据
  10. java文件锁定_如何使用java锁定文件(如果可能的话)