精华内容
下载资源
问答
  • python中将中文汉字转换英文首字母的代码及遇到的小问题 在地名地址工作中,有一步是将属性表中的单位汉字名称转换为对应的英文首字母名称 def multi_get_letter(str_input): if isinstance(str_input, unicode...
    
    
    python中将中文汉字转换为英文首字母的代码及遇到的小问题
    
    
    在地名地址工作中,有一步是将属性表中的单位汉字名称转换为对应的英文首字母名称
    def multi_get_letter(str_input):
      if isinstance(str_input, unicode):
        unicode_str = str_input
      else:
        try:
          unicode_str = str_input.decode('utf8')
        except:
          try:
            unicode_str = str_input.decode('gbk')
          except:
            print 'unknown coding'
            return
      return_list = []
      for one_unicode in unicode_str:
        return_list.append(single_get_first(one_unicode))
      return return_list
    def single_get_first(unicode1):
      str1 = unicode1.encode('gbk')
      try:
        ord(str1)
        return str1
      except:
        asc = ord(str1[0]) * 256 + ord(str1[1]) - 65536
        if asc >= -20319 and asc <= -20284:
          return 'a'
        if asc >= -20283 and asc <= -19776:
          return 'b'
        if asc >= -19775 and asc <= -19219:
          return 'c'
        if asc >= -19218 and asc <= -18711:
          return 'd'
        if asc >= -18710 and asc <= -18527:
          return 'e'
        if asc >= -18526 and asc <= -18240:
          return 'f'
        if asc >= -18239 and asc <= -17923:
          return 'g'
        if asc >= -17922 and asc <= -17418:
          return 'h'
        if asc >= -17417 and asc <= -16475:
          return 'j'
        if asc >= -16474 and asc <= -16213:
          return 'k'
        if asc >= -16212 and asc <= -15641:
          return 'l'
        if asc >= -15640 and asc <= -15166:
          return 'm'
        if asc >= -15165 and asc <= -14923:
          return 'n'
        if asc >= -14922 and asc <= -14915:
          return 'o'
        if asc >= -14914 and asc <= -14631:
          return 'p'
        if asc >= -14630 and asc <= -14150:
          return 'q'
        if asc >= -14149 and asc <= -14091:
          return 'r'
        if asc >= -14090 and asc <= -13119:
          return 's'
        if asc >= -13118 and asc <= -12839:
          return 't'
        if asc >= -12838 and asc <= -12557:
          return 'w'
        if asc >= -12556 and asc <= -11848:
          return 'x'
        if asc >= -11847 and asc <= -11056:
          return 'y'
        if asc >= -11055 and asc <= -10247:
          return 'z'
        else:
          return ''
        return ''
    def main1(str_input):
      a = multi_get_letter(str_input)
      b = ''
      for i in a:
        b= b+i
      print b
      #return b
    
    
    if __name__ == "__main__":
      #str_input='欢迎你'
     # main1(str_input)
      main1('精功眼镜#全国青少年近视教育辅导站#学生视力检测配镜中心#潍坊市青少年低视力复健中心#山东省潍坊市饰品眼镜检测中心眼镜检测站 ')
      main1('顺鑫工商代理 ')
      main1('顺鑫工商代理')
      main1('新鑫')
    
    某些BUG
    #某些中文符号无法正常弄出来
    #多音字无法正常处理
    

    #某些字处理过程中有错误发生,比如“鑫”无法转换对应的首字母

    有没有大神能解决一下?

    展开全文
  • 1 概述1.1 简介NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP...

    1 概述

    1.1 简介

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

    1.2 分类

    NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(Port-Level NAT)

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

    NAPT是使用最普遍的一种转换方式,在HomeGW中也主要使用该方式。它又包含两种转换方式:SNAT和DNAT。

    (1)源NAT(Source NAT,SNAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成数据包伪装就是一具SNAT的例子。

    (2)目的NAT(Destination NAT,DNAT):修改数据包的目的地址。Destination NAT刚好与SNAT相反,它是改变第一个数据懈的目的地地址,如平衡负载、端口转发和透明代理就是属于DNAT。

    我们在没有理解NAT原理前当然理解不了上面所说的功能,我们先看下NAT的原理。

     

    2 原理

    2.1 地址转换

    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上无法正确送达,导致连接失败。

    2.2 连接跟踪

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

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

    2.3 端口转换

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

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

    现在就可以理解NAT协议的应用了吧。

    3.NAT协议的应用

    NAT主要可以实现以下几个功能:数据包伪装、平衡负载、端口转发和透明代理。

    数据伪装: 可以将内网数据包中的地址信息更改成统一的对外地址信息,不让内网主机直接暴露在因特网上,保证内网主机的安全。同时,该功能也常用来实现共享上网。

    端口转发: 当内网主机对外提供服务时,由于使用的是内部私有IP地址,外网无法直接访问。因此,需要在网关上进行端口转发,将特定服务的数据包转发给内网主机。

    负载平衡: 目的地址转换NAT可以重定向一些服务器的连接到其他随机选定的服务器。(不是很明白)

    失效终结: 目的地址转换NAT可以用来提供高可靠性的服务。如果一个系统有一台通过路由器访问的关键服务器,一旦路由器检测到该服务器当机,它可以使用目的地址转换NAT透明的把连接转移到一个备份服务器上。(如何转移的?)

    透明代理: NAT可以把连接到因特网的HTTP连接重定向到一个指定的HTTP代理服务器以缓存数据和过滤请求。一些因特网服务提供商就使用这种技术来减少带宽的使用而不用让他们的客户配置他们的浏览器支持代理连接。(如何重定向的?)




    展开全文
  • NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址...
    摘要:

    NAT 概述
    1.1 简介
    NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。
    ...

    More...

    NAT 概述
    1.1 简介
    NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。
    1.2 分类
    NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(Port-Level NAT)。
    其中,网络地址端口转换NAPT(Network Address Port Translation)则是把内部地址映射到外部网络的一个IP地址的不同端口上。它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与 动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的端口号。
    NAPT是使用最普遍的一种转换方式,在HomeGW中也主要使用该方式。它又包含两种转换方式:SNAT和DNAT。
    (1)源NAT(Source NAT,SNAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一具SNAT的例子。
    (2)目的NAT(Destination NAT,DNAT):修改数据包的目的地址。Destination NAT刚好与SNAT相反,它是改变第一个数据懈的目的地地址,如平衡负载、端口转发和透明代理就是属于DNAT。

     

    1.3 应用
    NAT主要可以实现以下几个功能:数据包伪装、平衡负载、端口转发和透明代理。
    数据伪装: 可以将内网数据包中的地址信息更改成统一的对外地址信息,不让内网主机直接暴露在因特网上,保证内网主机的安全。同时,该功能也常用来实现共享上网。
    端口转发: 当内网主机对外提供服务时,由于使用的是内部私有IP地址,外网无法直接访问。因此,需要在网关上进行端口转发,将特定服务的数据包转发给内网主机。
    负载平衡: 目的地址转换NAT可以重定向一些服务器的连接到其他随机选定的服务器。
    失效终结: 目的地址转换NAT可以用来提供高可靠性的服务。如果一个系统有一台通过路由器访问的关键服务器,一旦路由器检测到该服务器当机,它可以使用目的地址转换NAT透明的把连接转移到一个备份服务器上。
    透明代理: NAT可以把连接到因特网的HTTP连接重定向到一个指定的HTTP代理服务器以缓存数据和过滤请求。一些因特网服务提供商就使用这种技术来减少带宽的使用而不用让他们的客户配置他们的浏览器支持代理连接。
    2 原理
    2.1 地址转换
    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上无法正确送达,导致连接失败。
    2.2 连接跟踪
    在上述过程中,NAT Gateway在收到响应包后,就需要判断将数据包转发给谁。此时如果子网内仅有少量客户机,可以用静态NAT手工指定;但如果内网有多台客户机,并且各自访问不同网站,这时候就需要连接跟踪(connection track)。如下图所示:

     

    在NAT Gateway收到客户机发来的请求包后,做源地址转换,并且将该连接记录保存下来,当NAT Gateway收到服务器来的响应包后,查找Track Table,确定转发目标,做目的地址转换,转发给客户机。
    2.3 端口转换
    以上述客户机访问服务器为例,当仅有一台客户机访问服务器时,NAT Gateway只须更改数据包的源IP或目的IP即可正常通讯。但是如果Client A和Client B同时访问Web Server,那么当NAT Gateway收到响应包的时候,就无法判断将数据包转发给哪台客户机,如下图所示。

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

     

    3 Linux下NAT实现
    3.1 netfilter/iptables模块
    netfilter/iptables(IP信息包过滤系统)是一种功能强大的工具,根据数据包过滤规则,对经过的网络数据包进行丢弃、改造、转发等处理。
    netfilter组件也称为内核空间(kernelspace),是内核的一部分,由一些数据包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
    iptables组件是一种工具,也称为用户空间(userspace),它主要用来向用户提供添加、修改、删除内核中数据过滤表的接口。
    3.2 基于netfilter/iptables的NAT
    netfilter/iptables中的数据包过滤表有三种:filter、nat和mangle。
    filter 表用于一般的信息包过滤,它包含 INPUT 、 OUTPUT 和 FORWARD 链。
    nat 表用于要转发的信息包,它包含 PREROUTING 、 OUTPUT 和 POSTROUTING 链。
    如果信息包及其头内进行了任何更改,则使用 mangle 表。该表包含一些规则来标记用于高级路由的信息包,该表包含 PREROUTING 和 OUTPUT 链。
    filter 表用来过滤数据包,我们可以在任何时候匹配包并过滤它们。Mangle不经常使用还在开发当中。我们下面主要介绍Nat表来实现NAT功能。
    (1)用户使用iptables命令在用户空间设置NAT规则。通过使用用户空间iptables命令,可以构建用户自己的定制NAT规则。所有规则存储在内核空间的nat表中。根据规则所处理的信息包类型,将规则分组在链中。要做SNAT的信息包被添加到POSTROUTING链中。要做DNAT的信息包被添加到PREROUTING链中。直接从本地出站的信息包的规则被添加到OUTPUT 链中。
    (2)内核空间接管NAT工作.做过NAT操作的数据包的地址就被改变了,当然这种改变是根据我们的规则进行的。属于一个流的包只会经过这个表一次。如果第一个包被允许做NAT或 Masqueraded,那么余下的包都会自动地被做相同的操作。也就是说,余下的包不会再通过这个表,一个一个的被NAT,而是自动地完成。这就是我们为什么不应该在这个表中做任何过滤的主要原因。PREROUTING 链的作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。OUTPUT链改变本地产生的包的目的地址。下图是数据包穿越整个netfilter/iptables的流程图。

     

    (3)NAT工作步骤:
    DNAT:若包是被送往PREROUTING链的,并且匹配了规则,则执行DNAT或REDIRECT目标。为了使数据包得到正确路由,必须在路由之前进行DNAT。
    路由:内核检查信息包的头信息,尤其是信息包的目的地。
    处理本地进程产生的包:对nat表OUTPUT链中的规则实施规则检查,对匹配的包执行目标动作。
    SNAT:若包是被送往POSTROUTING链的,并且匹配了规则,则执行SNAT或MASQUERADE目标。系统在决定了数据包的路由之后才执行该链中的规则。

    展开全文
  • 网络地址转换

    2020-03-26 23:22:50
    在计算器网络中,网络地址转换(Network Address Translation,缩写为NAT),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是一种在IP数据包通过路由器或防火墙时重写来源IP地址或目的IP地址的技术。这种技术被...

     编辑

    本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。

    在计算器网络中,网络地址转换(Network Address Translation,缩写为NAT),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是一种在IP数据包通过路由器防火墙时重写来源IP地址或目的IP地址的技术。这种技术被普遍使用在有多台主机但只通过一个公有IP地址访问因特网的私有网络中。它是一个方便且得到了广泛应用的技术。当然,NAT也让主机之间的通信变得复杂,导致了通信效率的降低。

    中文名

    网络地址转换

    外文名

    Network Address Translation

    简    写

    NAT

    功    能

    隐藏并保护网络内部的计算机

    技    术

    广域网

    实现方式

    静态、动态转换和端口多路复用

    目录

    1. 简介
    2. 概述
    3. 分类
    4. 缺点
    5. 基本NAT和端口号转换
    1. ▪ 基本网络地址转换(Basic NAT)
    2. ▪ 网络地址端口转换(NAPT)
    3. ▪ 受到NAT影响的应用程序
    4. NAT其他用途实例
    1. 参见

    简介

    编辑

    NAT英文全称是“NetworkAddressTranslation”,中文意思是“网络地址转换”,它是一个IETF(InternetEngineeringTaskForce,Internet工程任务组)标准,允许一个整体机构以一个公用IP(InternetProtocol)地址出现Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。

    概述

    编辑

    无NAT网络,假设每个接入子网都需要一组/24的IP,而且还能对外连接,对外的路由至少要保留或申请1000个对外IP带NAT网络,通过NAT转换,接入子网可以使用私用IP,对外连接时由路由绑定私用IP与对外IP的关系,修改传输的IP包上的地址,从而只需要255个对外IP就能满足内部接入子网的对外连接需求

    1990年代中期,NAT是作为一种解决IPv4地址短缺以避免保留IP地址困难的方案而流行起来的。网络地址转换在很多国家广泛使用。所以NAT就成了家庭和小型办公室网络连接上的路由器的一个标准特征,因为对他们来说,申请独立的IP地址的代价要高于所带来的效益。

    在一个典型的配置中,一个本地网络使用一个专有网络的指定子网(比如192.168.x.x或10.x.x.x)和连在这个网络上的一个路由器。这个路由器占有这个网络地址空间的一个专有地址(比如192.168.0.1),同时它还通过一个或多个因特网服务提供商提供的公有的IP地址(叫做“过载”NAT)连接到因特网上。当信息由本地网络向因特网传递时,源地址从专有地址转换为公用地址。由路由器跟踪每个连接上的基本数据,主要是目的地址和端口。当有回复返回路由器时,它通过输出阶段记录的连接跟踪数据来决定该转发给内部网的哪个主机;如果有多个公用地址可用,当数据包返回时,TCPUDP客户机的端口号可以用来分解数据包。对于因特网上的通信,路由器本身充源和目的。

    流行在网络上的一种看法认为,IPv6的广泛采用将使得NAT不再需要,因为NAT只是一个处理IPv4的地址空间不足的方法。 [1] 

    分类

    编辑

    NAT有三种类型:静态NAT(StaticNAT)、动态地址NAT(PooledNAT)、网络地址端口转换NAPT(Port-LevelNAT)。

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

    NAPT是使用最普遍的一种转换方式,在HomeGW中也主要使用该方式。它又包含两种转换方式:SNAT和DNAT。

    (1)源NAT(SourceNAT,SNAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一具SNAT的例子。

    (2)目的NAT(DestinationNAT,DNAT):修改数据包的目的地址。DestinationNAT刚好与SNAT相反,它是改变第一个数据懈的目的地地址,如平衡负载、端口转发和透明代理就是属于DNAT。

    缺点

    编辑

    在一个具有NAT功能的路由器下的主机并没有创建真正的IP地址,并且不能参与一些因特网协议。一些需要初始化从外部网络创建的TCP连接和无状态协议(比如UDP)无法实现。除非NAT路由器管理者预先设置了规则,否则送来的数据包将不能到达正确的目的地址。一些协议有时可以在应用层网关(见下)的辅助下,在参与NAT的主机之间容纳一个NAT的实例,比如FTP。NAT也会使安全协议变的复杂,比如IPsec

    端对端连接是被IAB委员会(Internet Architecture Board)支持的核心因特网协议之一,因此有些人据此认为NAT是对公用因特网的一个破坏。一些因特网服务提供商(ISP)只向他们的客户提供本地IP地址,所以他们必须通过NAT来访问ISP网络以外的服务,并且这些公司能不能算的上真正的提供了因特网服务的话题也被谈起。

    NAT除了带来方便和代价之外,对全双工连接支持的缺少在一些情况下可以看作是一个有好处的特征而不是一个限制。在一定程度上,NAT依赖于本地网络上的一台机器来初始化和路由器另一边的主机的任何连接,它可以阻止外部网络上的主机的恶意活动。这样就可以阻止网络蠕虫病毒来提高本地系统的可靠性,阻挡恶意浏览来提高本地系统的私密性。很多具有NAT功能的防火墙都是使用这种功能来提供核心保护的。另外,它也为UDP的跨局域网的传输提供了方便。

    基本NAT和端口号转换

    编辑

    基本网络地址转换(Basic NAT)

    这一种也可称作NAT或“静态NAT”,在RFC2663中提供了信息。它在技术上比较简单,仅支持地址转换,不支持端口映射。Basic NAT要求对每一个当前连接都要对应一个公网IP地址,因此要维护一个公网的地址池。宽带(broadband)路由器通常使用这种方式来允许一台指定的设备去管理所有的外部链接,甚至当路由器本身只有一个可用外部IP时也如此,这台路由器有时也被标记为DMZ主机。由于改变了IP源地址,在重新封装数据包时候必须重新计算校验和,网络层以上的只要涉及到IP地址的头部校验和都要重新计算。

    Basic NAT要维护一个无端口号NAT表,结构如下。

    内网IP 外网IP
    192.168.1.55 219.152.168.222
    192.168.1.59 219.152.168.223
    192.168.1.155 219.152.168.224

    网络地址端口转换(NAPT)

    这种方式支持端口的映射,并允许多台主机共享一个公网IP地址。

    支持端口转换的NAT又可以分为两类:源地址转换和目的地址转换。前一种情形下发起连接的计算机的IP地址将会被重写,使得内网主机发出的数据包能够到达外网主机。后一种情况下被连接计算机的IP地址将被重写,使得外网主机发出的数据包能够到达内网主机。实际上,以上两种方式通常会一起被使用以支持双向通信。

    NAPT维护一个带有IP以及端口号的NAT表,结构如下。

    内网IP 外网IP
    192.168.1.55:5566 219.152.168.222:9200
    192.168.1.59:80 219.152.168.222:9201
    192.168.1.59:4465 219.152.168.222:9202

    受到NAT影响的应用程序

    一些高层协议(比如FTPQuakeSIP)在IP包的有效数据内发送网络层(第三层)信息。比如,主动模式的FTP使用单独的端口分别来控制命令传输和数据传输。当请求一个文件传输时,主机在发送请求的同时也通知对方自己想要在哪个端口接受数据。但是,如果主机是在一个简单的NAT防火墙后发送的请求,那么由于端口的映射,将会使对方接收到的信息无效。

    一个应用层网关(Application Layer Gateway,ALG)可以修正这个问题。运行在NAT防火墙设备上的ALG软件模块可以更新任何由地址转换而导致无效的信息。显然,ALG需要明白它所要修正的上层协议,所以每个有这种问题的协议都需要有一个单独的ALG。

    但是,除FTP外的大多数传统的客户机-服务器协议不需要发送网络层(第三层)信息,也就不需要ALG。

    这个问题的另一个可能的解决方法是使用像STUN这样的技术,但是这只针对创建在UDP上的高层协议,并且需要它内建这种技术。这种技术对于对称NAT也是无效的。还有一种可能的方案是UPnP,但它需要和NAT设备配合起来使用。 [2] 

    NAT其他用途实例

    编辑

    • 负载均衡:目的地址转换NAT可以重定向一些服务器的连接到其他随机选定的服务器。

    • 失效终结:目的地址转换NAT可以用来提供高可靠性的服务。如果一个系统有一台通过路由器访问的关键服务器,一旦路由器检测到该服务器宕机,它可以使用目的地址转换NAT透明的把连接转移到一个备份服务器上。

    • 透明代理:NAT可以把连接到因特网的HTTP连接重定向到一个指定的HTTP代理服务器以缓存数据和过滤请求。一些因特网服务提供商就使用这种技术来减少带宽的使用而不用让他们的客户配置他们的浏览器支持代理连接。 [3] 

    参见

    编辑

    展开全文
  • 高德地图demo,通过高德地图选择位置获取经纬度,并把经纬度转换中文详细地址,详细地址包括省市区县乡镇街道门牌号,在代码中需要替换自己的key,必须是js web key奥。
  • NAT 网络地址转换

    2020-03-17 16:40:41
    转载https://www.cnblogs.com/mefj/p/10578639.html NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换
  • 这是做路由器的时候,学习网络地址转换Network Address Translation后的一些理解整理,主要通过实例和图表的方式展示了NAT的工作原理和每个阶段的状态。本文的NAT是基本于Linux下的iptables命令实现。 1 概述 1.1 ...
  • jquery url参数中文乱码问题怎么解决?下面本篇文章给大家介绍一下。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。Jquery获取URL中的参数,解决参数中文乱码的问题。方法1://获取url中的参数...
  • 网络地址转换NAT原理

    2019-05-30 17:33:12
    NAT英文全称是“NetworkAddressTranslation”,中文意思是“网络地址转换”,它是一个IETF标准,允许一个整体机构以一个公用IP(InternetProtocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP...
  • 中文地址自动翻译为英文地址

    千次阅读 2017-11-14 17:24:00
    [url]http://www.chinafanyi.com/add/index.asp[/url]申请 Intel®64 and IA-32 Architectures Software Developer's Manuals的地址:[url]http://www.intel.com/products/processor/manuals/index...
  • NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址...
  • NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址...
  • 如何解决jquery url中文乱码的问题发布时间:2021-02-14 08:30:01来源:亿速云阅读:105作者:小新小编给大家分享一下如何解决jquery url中文乱码的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去...
  • 1.根据经纬度获取获取中文地址:public static EntityBean getaddress(String Lat,String Lng) { EntityBean result = new EntityBean(); try { String url = "http://api.map.baidu.com/geocoder/v2/?lo...
  • Java中如何将中文转换英文String

    千次阅读 2019-06-27 11:00:29
    在JAVA 编程中我们经常免不了需要对中文排序,而往往我们排序的依据就是中文的首字母,当然无论依据什么排序,我们都需要将中文转换成为String 首先,我们要调用一个库pinyin4j-2.5.0.jar 下载地址:...
  • 网络地址转换 NAT协议

    千次阅读 2010-03-17 13:46:00
    NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址...
  • Android 地址转换为经纬度

    千次阅读 2011-12-22 12:18:50
    Android 地址转换为经纬度 Posted on 2011/07/23 如果打算写一些LBS方面的的应用,可能用到地址与经纬度的互相转换。android.location.Geocoder类提供了此功能。实际上,Geocoder既提供了前向转换,也...
  • 网络地址转换NAT原理及应用-连接跟踪--端口转换
  • NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址...
  • 这是做路由器的时候,学习网络地址转换Network Address Translation后的一些理解整理,主要通过实例和图表...NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet E...
  • 英文地址[]

    2018-06-27 16:13:00
    中文地址翻译原则中文地址的排列顺序是由大到小,如:X国X省X市X区X路X号,而英文地址则刚好相反,是由小到大.如上例写成英文就是:X号,X路,X区,X市,X省,X国.掌握了这个原则,翻译起来就容易多了!X室 Room XX号 No.XX...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,448
精华内容 40,579
关键字:

中文地址转英文地址网站