您的位置首页百科问答

nat是如何工作的

nat是如何工作的

的有关信息介绍如下:

nat是如何工作的

NAT 就像大型办公室中的前台接待员。 假设您已指示接待员,没有您的请求不要将任何电话转接给您。 稍后,您呼叫一个潜在客户并给他们留言,让他们回电话。 您告诉接待员,您在等这个客户的呼叫,并让接待员陪瞎在客户来电时将电话转接给您。该客户呼叫办公室的总机,该号码是客户知道的唯一号码。 当客户告诉接待员他们想与谁通话时,接待员检查匹配人名和分机的查找表。 接待员知道您请求过此呼叫,因此接待员将呼叫人转到您的分机上。Cisco 开发的网络地址转换供位于内部网络和世界其他地方之间的设备(如防火墙、路由器或计算机)使用。 NAT 有多种形式,可通过以下几种方式运行:静态 NAT – 按一对一的方式将未注册的 IP 地址映射到注册的 IP 地址。 在需要从网络外部访问设备时特别有用。在静态 NAT 中,IP 地址为 192.168.32.10 的计算机将总是转换为 213.18.123.110:  动态 NAT – 将未注册的 IP 地址映射到一组注册 IP 地址中的一个注册 IP 地址。 动态 NAT 也在未注册和已注册的 IP 地址之间建立一对一的映射,但在进行通信时,映射可能因池中提供的注册地址不同而有差异。在动态 NAT 中,IP 地址为 192.168.32.10 的计算机将转换为从 213.18.123.100 到 213.18.123.150 范围内的第一个可用地址:  超载 – 是一种通过使用不同端口将多个未注册的 IP 地址映射到单个已注册 IP 地址的动态 NAT 形式。 也称为 PAT(端口地址转换),即单个地址 NAT 或端口级多路复用的 NAT。在超载中,专用网络中的每台计算机被转换为相同的 IP 地址 (213.18.123.100),但具有不同的端口号分配:  重叠 – 当您的内部网络中使用的 IP 地址是另一网络中使用的已注册 IP 地址时,路由器必须维护这些地址的查找表,以便可以拦截这些地址并将其替换为已注册的唯一 IP 地址。 值得注意的是,NAT 路由器必须将“内部”地址转换为注册的唯一地址,并且还必须将“外部”注册地址转换为专用网络的唯一地址。 这可以通过静态 NAT 实现,也可以使用 DNS 并实现动态 NAT。内部 IP 范围 (237.16.32.xx) 也是另一网络使用的注册范围。 因此,路由器将转换地址以避免与另一网络产生潜在的冲突。 向内部网络发送信息时,还会将注册的全局 IP 地址转换回未注册的本地 IP 地址:  内部网络通常是 LAN(局域网),通常称作残域。 残域是在内部使用 IP 地址的 LAN。 残域中的大多数网络流量都是本地流量,不在内部网络之外传输。 残域可以包括注册的和未注册的 IP 地址。 当然,使用未注册 IP 地址的所有计算机都必须使用网络地址转换才能与世界其他地方通信。可通过多种方式配置 NAT。 在下例中,NAT 路由器被配置为将驻留在专用(内部)网络的未注册 IP 地址(在本地地址内部)转换为注册的 IP 地址。 每当内部网络中具有未注册地址的设备需要与公共(外部)网络通信时,就会发生这种情况。ISP 向您的公司分配一个 IP 地址范围。 分配的地址块是注册的唯一 IP 地址,称为内部全芦戚空局地址。 未注册的专用 IP 地址分为两组,小部分(外部本地地址)用于NAT 路由器;大部分是内部本地地址,用于残域。 外部本地地址用于转换公共网络设备的唯一 IP 地址,即外部全局地址。 有关本地和全局地址的定义的详细信息,请参阅 NAT: 本地和全局定义中找到。 NAT 只转换在内部和外部网络之间传输并指定要转换的数据流。 从不转换与转换标准不匹配或在路由器上其他接口之间转发的任何数据流,但这些数据流会被转发。根据是在专用网络(残域)还是在公共网络 (Internet),以及数据流是传入还是传出,IP 地址有不同的标识:  残域上的多数计算机使用内部本地地址彼此通信。残域上的一些计算机在网络外部进行大量通信。 这些计算机具有内部全局地址,这表示它们不需要转换。当残域上具有内部本地地址的计算机要与网络外部通信时,数据包通过正常路由到默认网关的方式传入一个 NAT 路由器。NAT 路由器仔汪检查路由表,查看它是否具有目标地址的对应条目。 如果目标地址不在路由表中,数据包将被丢弃。 如果条目可用,它会验证数据包是否从内部网络传输到外部网络,并且检查数据包是否与指定的转换标准匹配。 然后,路由器检查地址转换表,查找具有相应内部全局地址的内部本地地址是否存在条目。 如果找到条目,则通过使用内部全局地址转换数据包。 如果只配置了静态 NAT 并且没有找到任何条目,则无需转换即可发送数据包。使用内部全局地址,路由器可向其目标发送数据包。公共网络上的计算机向专用网络发送数据包。 数据包的源地址是外部全局地址。 目标地址是内部全局地址。当数据包到达外部网络时,NAT 路由器查看地址转换表并确定目标地址存在并映射到残域上的计算机。NAT 路由器将数据包的内部全局地址转换为内部本地地址,然后检查路由表,再将其发送到目标计算机。 只要没有在转换表中找到地址的对应条目,就不进行转换,并继续验证路由表以确定目标地址。 如果在路由表中未找到到达目标的路由,数据包将被丢弃。有关使用 NAT 处理事务的顺序的详细信息,请参阅 NAT 运行顺序。NAT 超载利用 TCP/IP 协议栈的多路复用功能,使计算机可以使用不同的 TCP 或 UDP 端口维护与远程计算机的多个并发连接。 IP 数据包具有包含以下信息的报头:源地址 — 起始计算机的 IP 地址,例如,201.3.83.132。源端口 — 起始计算机为此数据包分配的 TCP 或 UDP 端口号,例如,端口 1080。目标地址 — 接收计算机的 IP 地址。 例如,145.51.18.223。目标端口 — 起始计算机请求接收计算机打开的 TCP 或 UDP 端口号,例如,端口 3021。地址在每个末端指定两台计算机,同时端口号确保这两台计算机之间的连接有唯一的标识符。 这四个号码的组合定义了一个 TCP/IP 连接。 每个端口号使用16位,这意味着可能有65,536 (216)个值。 实际上,由于不同的制造商映射端口的方式略有不同,您可以拥有大约4,000个可用端口。动态 NAT 和超载示例Flash 动画: 动态 NAT以下是动态 NAT 的工作原理:转到动态 NAT Flash 动画,单击其中一个绿色按钮,向残域发送或从残域接收成功的数据包。 单击其中一个红色按钮,发送由于地址无效而被路由器丢弃的数据包。已为内部网络(残域)提供 IP 地址,这些地址并非由 IANA(Internet 地址分配机构)(分配 IP 地址的全球授权机构)专门分配给该公司。 由于这些地址不是唯一的,因此应将其视为不可路由。 这些是内部本地地址。公司设置启用了 NAT 的路由器。 该路由器具有一组由 IANA 为公司指定的唯一 IP 地址。 这些是内部全局地址。残域上的计算机尝试连接到网络外部的计算机,例如 Web 服务器。路由器从残域上的计算机接收数据包。在检查路由表并对转换进行验证后,路由器将计算机不可路由的 IP 地址保存到地址转换表中。 路由器用唯一 IP 地址范围外的第一个可用 IP 地址替换发送计算机的不可路由 IP 地址。 现在,转换表具有与一个唯一 IP 地址匹配的计算机不可路由 IP 地址的映射。当数据包从目标计算机返回时,路由器检查数据包的目标地址。 然后,路由器查找地址转换表,查看数据包属于残域的哪台计算机。 它将目标地址更改为地址转换表中保存的地址,并将其发送到该计算机。 如果没有在表中找到匹配项,将丢弃该数据包。只要计算机与外部系统进行通信,计算机就会从路由器接收数据包,并且重复该流程。以下是超载的工作原理:已为内部网络(残域)提供不可路由的 IP 地址,这些地址不是由 IANA 专门分配给该公司。公司设置启用了 NAT 的路由器。 该路由器具有一个由 IANA 为公司指定的唯一 IP 地址。残域上的计算机尝试连接到网络外部的计算机,例如 Web 服务器。路由器从残域上的计算机接收数据包。在路由并验证用于转换的数据包之后,路由器将计算机不可路由的 IP 地址和端口号保存到地址转换表中。 路由器用路由器的 IP 地址替换发送计算机不可路由的 IP 地址。 路由器用与路由器保存在地址转换表中的发送计算机的地址信息匹配的端口号替换发送计算机的源端口。 现在,转换表具有计算机不可路由的 IP 地址、端口号以及路由器的 IP 地址的映射。当数据包从目标计算机返回时,路由器检查数据包的目标地址。 然后,路由器查找地址转换表,查看数据包属于残域的哪台计算机。 它将目标地址和目标端口更改为地址转换表中保存的地址和端口,并将其发送到该计算机。只要计算机与外部系统进行通信,计算机就会从路由器接收数据包,并且重复该流程。由于 NAT 路由器现在将计算机的源地址和源端口保存到地址转换表中,因此它将在连接期间继续使用该端口号。 每当路由器访问表中的条目时,都会重置计时器。 如果在计时器到期前没有再次访问该条目,该条目将从表中删除。