IT小百科之路由、代理、NAT技术详解

商务办公
很多人都知道局域网接入Internet互联网的方式有三种,一是路由、二是通过代理服务器、三是网络地址转换(NAT)。但是我相信有很多小伙伴并不真的清楚它们的各自原理和区别。

很多人都知道局域网接入Internet互联网的方式有三种,一是路由、二是通过代理服务器、三是网络地址转换(NAT)。但是我相信有很多小伙伴并不真的清楚它们的各自原理和区别。

今天我就以本篇文章内容,详细讲述一下路由、代理、NAT技术的实现原理与彼此区别!

[[255853]]

一、 路由

1、 先了解一下什么是路由

简单理解路由就是从源头到目的路径的选择,路径选择的过程会依据路由算法,用以确定到达目的地的最佳路径的计量标准,如路径。为了帮助选路,初始化并维护包含信息的,路径信息根据使用的路由算法不同而不同。

根据许多信息来填充。目的/对告知到达该目的最佳方式是把分组发送给代表""的路由器,当路由器收到一个分组,它就检查其目标地址,尝试将此地址与其"下一跳"相联系。下表为一个目的/下一跳的例子。

还可以包括其它信息。比较metric以确定最佳路径,这些metric根据所用的而不同。彼此通信,通过交换路由信息维护其,路由更新信息通常包含全部或部分路由表,通过分析来自其它路由器的路由更新信息,该路由器可以建立。间发送的另一个信息是链接广播信息,它通知其它路由器发送者的链接状态,链接信息用于建立完整的拓扑图,使路由器可以确定最佳路径

2、以实例理解IP路由的基本过程

下图共有两个不同的网段分别是NetworkA与NetworkB,这两个网段是通过一个路由器(Server A)来进行数据传递,那么当PC01这台主机想要传送数据到PC11时,它的IP数据包该如何传输?

过程分析:

NetworkA(192.168.0.0/24)与NetworkB(192.169.1.0/24)是不同的网段,所以PC01与PC11是不能直接传递数据的。当主机要发送数据时,它主要参考是路由表,分析过程如下。

1、查询IP数据包的目标IP地址

当PC01有IP数据包发送时,主要会查阅IP数据包报头的目标IP地址。

2、查询PC01的路由表

PC01主机会分析自己的路由表,当发现目标IP与本机IP在同一网段,则PC01会直接通过局域网,将数据直接传送到目的主机。

3、查询默认路由

因为PC01与PC11不在同一网络,因此PC01会分析路由表当中是否有其他相符合的路由设置值,如果没有,就直接将IP数据包发送到默认路由当中去,在本应用中,Default Gateway是Server A这台。

4、送出数据包到Default Gateway后,不理会数据包流向

当IP由PC01送给Server A之后,PC01就不理会接下来的工作,而Server A接收到这个数据包后,会依据上面的流程,也分析自己的路由表,然后向后继续传输到正确的目的主机上面。

5、直接路由连接互联网的方式并不可取

理解了路由的基本概念后,应该知道路由过程源iP是不变的,那么就要求都有真实的公网IP,而公网IP地址属于紧缺资源,并且直接用公网IP暴露在公网上安全也无法得到保障。所以直接路由这种上互联网的方案在多数环境下并不可取。

二、 代理服务器

1、什么是代理服务器

代理服务器(Proxy Server)是个人网络和Internet服务商之间的中间代理机构,它负责转发合法的网络信息,对转发进行控制和登记。代理服务器作为连接Internet(广域网)与Intranet(局域网)的桥梁,在实际应用中发挥着极其重要的作用,它可用于多个目的,最基本的功能是连接,此外还包括安全性,缓存,内容过滤,访问控制管理等功能。代理服务器,顾名思义就是局域上不能直接上网的机器将上网请求(比如说,浏览某个主页)发给能够直接上网的代理服务器,然后代理服务器代理完成这个上网请求,将它所要浏览的主页调入代理服务器的缓存;然后将这个页面传给请求者。这样局域网上的机器使用起来就像能够直接访问网络一样。并且,代理服务器还可以进行一些网站的过滤和控制的功能,这样就实现了我们控制和节省上网费用。

通俗理解: 我们或许会帮忙家人去办理一些杂务吧!举个例子来说,例如缴费或者是申办提款卡等等的, 由于你并不是『申请者本人』而是『代理人』的角色,因此有时候会需要拿出一些证件, 代理服务器(Proxy Server)与上面真实世界一样,当客户端有因特网的数据要求时, Proxy 会帮用户去向目的地取得用户所需要的数据。所以,当客户端指定 WWW 的代理服务器之后,用户的所有 WWW 相关要求就会通过代理服务器去捉取。

代理分类:HTTP代理;socks代理;VPN代理;FTP代理等

2、代理服务器的原理和运作流程

工作原理:

客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源(如:文件)。

在后一种情况中,代理服务器可能对目标服务器的资源下载至本地缓存,如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器并不会向目标服务器发送请求,而是直接返回缓存了的资源。一些代理协议允许代理服务器改变客户端的原始请求、目标服务器的原始响应,以满足代理协议的需要。代理服务器的选项和设置在计算机程序中,通常包括一个"防火墙",允许用户输入代理地址,它会遮盖他们的网络活动,可以允许绕过互联网过滤实现网络访问。

运作流程:

cache的存在,可以做假象的web加速;

当Proxy的快取拥有用户所想要的数据时:

  • a. Client 端向 Server 端发送一个数据需求封包;
  • b. Server 端接收之后,先比对这个封包的『来源』与预计要前往的『目标』网站是否为可接受? 如果来源与目标都是合法的,或者说,来源与目标网站我们的 Proxy 都能帮忙取得资料时,那么 Server 端会开始替 Client 取得资料。这个步骤中比较重要的就是『比对政策』啦,有点像是认证的感觉啦;
  • c. Server 首先会检查自己快取 (新的数据可能在内存中,较旧的数据则放置在硬盘上) 数据, 如果有 Client 所需的数据,那就将数据准备取出,而不经过向 Internet 要求数据的程序;
  • 最后当然就是将数据回传给 Client 端!

当Proxy的快取没有用户所想要的数据时:

1) Client 端向 Server 端发送一个数据需求封包;

2) Server 端接收之后,开始进行政策比对;

3) Server 发现快取并没有 Client 所需要的资料,准备前往因特网抓取数据;

4) Server 开始向 Internet 发送要求与取得相关资料;

5) 最后当然就是将数据回传给 Client 端啰!

3、基本功能

(1) 充当局域网与外部网络的连接出口 充当局域网与外部网络的连接出口,同时将内部网络结构的状态对外屏蔽起来,使外部不能直接访问内部网络。从这一点上说,代理服务器就充当的网关。

(2)作为防火墙 代理服务器.可以保护局域网的安全,起防火墙的作用。通过设置防火墙,为公司内部的网络提供安全边界,防止外界的侵入。 (3)网址过滤和访问权限限制 代理服务器可以设置IP地址过滤,对外界或内部的Internet地址进行过滤,限制不同用户的访问权限。例如代理服务器可以用来限制封锁IP地址,禁止用户对某些网页进行浏览。 (4)提高访问速度 代理服务器将远程服务器提供的数据保存在自己的硬盘上,如果有许多用户同时使用这一个代理服务器,他们对Internet站点所有的访问都会经由这台代理服务器来实现。当有人访问过某一站点后,所访问站点的内容便会被保存在代理服务器的硬盘上,如果下一次有人再要访问这个站点时,这些内容便会直接从代理服务器磁盘中取得,而不必再次连接到远程服务器上去取。因此,它可以节约带宽、提高访问速度。

三、NAT网络地址转换技术

1、先了解几个基本名词

公有IP地址:也叫全局地址,是指合法的IP地址,它是由NIC(网络信息中心)或者ISP(网络服务提供商)分配的地址,对外代表一个或多个内部局部地址,是全球统一的可寻 址的地址。

私有IP地址:也叫内部地址,属于非注册地址,专门为组织机构内部使用。因特网分配编号委员会(IANA)保留了3块IP地址做为私有IP地址:

10.0.0.0 ——— 10.255.255.255

172.16.0.0——— 172.16.255.255

192.168.0.0———192.168.255.255

地址池:地址池是有一些外部地址(全球唯一的IP地址)组合而成,我们称这样的一个地址集合为地址池。在内部网络的数据包通过地址转换到达外部网络时,将会在地址池中选择某个IP地址作为数据包的源IP地址,这样可以有效的利用用户的外部地址,提高访问外部网络的能力。

2、什么是NAT?

NAT(Network Address Translation,网络地址转换)是1994年提出的。它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术,如下图所示。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。

简单理解,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关(可以理解为出口,打个比方就像院子的门一样)处,将内部地址替换成公用地址,从而在外部公网(internet)上正常使用,NAT可以使多台计算机共享Internet连接,这一功能很好地解决了公共 IP地址紧缺的问题。通过这种方法,可以只申请一个合法IP地址,就把整个局域网中的计算机接入Internet中。这时,NAT屏蔽了内部网络,所有内部网计算机对于公共网络来说是不可见的,而内部网计算机用户通常不会意识到NAT的存在。如下图所示。这里提到的内部地址,是指在内部网络中分配给节点的私有IP地址,这个地址只能在内部网络中使用,不能被路由转发。

3、NAT的功能

NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

1)宽带分享:这是 NAT 主机的最大功能。

2)安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。

4、NAT的分类

NAT的分类有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。

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

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

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

ALG(Application Level Gateway),即应用程序级网关技术:传统的NAT技术只对IP层和传输层头部进行转换处理,但是一些应用层协议,在协议数据报文中包含了地址信息。为了使得这些应用也能透明地完成NAT转换,NAT使用一种称作ALG的技术,它能对这些应用程序在通信时所包含的地址信息也进行相应的NAT转换。例如:对于FTP协议的PORT/PASV命令、DNS协议的 "A" 和 "PTR" queries命令和部分ICMP消息类型等都需要相应的ALG来支持。

如果协议数据报文中不包含地址信息,则很容易利用传统的NAT技术来完成透明的地址转换功能,通常我们使用的如下应用就可以直接利用传统的NAT技术:HTTP、TELNET、FINGER、NTP、NFS、ARCHIE、RLOGIN、RSH、RCP等。

NAT映射图解:

5、NAT工作原理

地址转换:当私有网主机和公共网主机通信的IP包经过NAT网关时,将IP包中的源IP或目的IP在私有IP和NAT的公共IP之间进行转换。

如下图所示,NAT网关有2个网络端口,其中公共网络端口的IP地址是统一分配的公共 IP,为202.20.65.5;私有网络端口的IP地址是保留地址为192.168.1.1。私有网中的主机192.168.1.2向公共网中的主机202.20.65.4发送了1个IP包(Dst=202.20.65.4,Src=192.168.1.2)。

当IP包经过NAT网关时,NAT Gateway会将IP包的源IP转换为NAT Gateway的公共IP并转发到公共网,此时IP包(Dst=202.20.65.4,Src=202.20.65.5)中已经不含任何私有网IP的信息。由于IP包的源IP已经被转换成NAT Gateway的公共IP,Web Server发出的响应IP包(Dst= 202.20.65.5,Src=202.20.65.4)将被发送到NAT Gateway。

这时,NAT Gateway会将IP包的目的IP转换成私有网中主机的IP,然后将IP包(Des=192.168.1.2,Src=202.20.65.4)转发到私有网。对于通信双方而言,这种地址的转换过程是完全透明的。转换示意图如下。

如果内网主机发出的请求包未经过NAT,那么当Web Server收到请求包,回复的响应包中的目的地址就是私有网络IP地址,在Internet上无法正确送达,导致连接失败。

连接跟踪:

在上述过程中,NAT Gateway在收到响应包后,就需要判断将数据包转发给谁。此时如果子网内仅有少量客户机,可以用静态NAT手工指定;但如果内网有多台客户机,并且各自访问不同网站,这时候就需要连接跟踪(connection track)。如下图所示:

在NAT Gateway收到客户机发来的请求包后,做源地址转换,并且将该连接记录保存下来,当NAT Gateway收到服务器来的响应包后,查找Track Table,确定转发目标,做目的地址转换,转发给客户机。

端口转换:

以上述客户机访问服务器为例,当仅有一台客户机访问服务器时,NAT Gateway只须更改数据包的源IP或目的IP即可正常通讯。但是如果Client A和Client B同时访问Web Server,那么当NAT Gateway收到响应包的时候,就无法判断将数据包转发给哪台客户机,如下图所示。

此时,NAT Gateway会在Connection Track中加入端口信息加以区分。如果两客户机访问同一服务器的源端口不同,那么在Track Table里加入端口信息即可区分,如果源端口正好相同,那么在实行SNAT和DNAT的同时对源端口也要做相应的转换,如下图所示。

四、路由、代理服务器、NAT区别

1、代理服务器和NAT区别

应用的区别, NAT 设备是网络基础设备之一, 解决的是IP不足的问题,而代理服务器则是更贴近具体应用。

例如: 通过代理服务器进行"翻墙", 另外像迅游这样的加速器, 也是使用代理服务器实现的

底层实现的区别, NAT 是工作在网络层的, 直接对IP地址进行替换,而代理服务器往往工作在应用层。

使用范围的区别, NAT 一般在局域网的出口部署,而代理服务器可以在局域网做, 也可以在广域网做, 也可以跨网。

部署位置的区别, NAT 一般集成在防火墙, 路由器等硬件设备上,而代理服务器则是一个软件程序, 需要部署在服务器上

2、路由与NAT的区别

本质区别:数据包通过路由可以从一个网络到另一个网络,他是通过数据包的目的IP和源IP实现的,当一个数据包进入路由器是,路由器会根据她的目标ip和源ip在路由表中查找,并将数据包原封不动的传向路由器的某个端口。而数据包通过NAT,NAT将会根据规则将数据包中的源ip和目标IP改变,并在NAT机器上做改变记录。

简而言之,路由不改变数据包包头信息,NAT则改变;

表面区别:路由打通的两个网段地位是公平的,既都是公网或都是私网,理解起来比较简单,因为路由不改变包头信息,所以如果用路由连接公网和私网的话,目的地址为私网(192.168.1.2)的数据包在公网上找不到归宿。其实路由表里面也没有相关的路由信息。

NAT打通的可以是两个公平的网络,也可以是一个内网和一个外网。

五、什么时候用路由?什么时候用代理?什么时候用NAT?

1、公网与公网之间访问用路由

2、专网之间访问多数用路由,例如:政务专网、金融专网、集团专网、能源专网等

3、私网中不同网段之间访问多数用路由

4、内网通过路由器访问公网时多数用NAT

5、突破自身IP访问限制,访问一些国外的站点;比如Google,Facebook等网站时用代理

6、提高访问速度可以用代理服务器,代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度;

7、隐藏真实IP用代理

责任编辑:武晓燕 来源: 今日头条
相关推荐

2019-01-17 10:40:54

DHCP服务器网络协议

2011-07-04 09:16:31

2017-10-26 14:29:50

互动百科

2017-06-20 10:51:15

芒果

2017-02-09 17:05:03

2015-04-17 15:23:10

互动百科

2009-11-26 15:34:02

2013-10-30 16:54:46

维基百科维基百科的衰落

2022-12-01 13:10:13

SASE网络

2017-01-19 17:41:30

百科

2018-06-29 17:05:51

互动百科

2022-12-30 13:05:05

云计算

2024-01-04 10:19:48

2019-02-18 08:57:44

虚拟化云计算云服务

2023-02-13 11:43:26

CHATGPT人工智能

2015-06-23 16:18:26

性能优化

2015-11-09 10:15:53

中国网科技频道

2022-10-17 12:51:28

2022-11-22 15:33:29

工业物联网IIoT
点赞
收藏

51CTO技术栈公众号