看 TCP/IP 协议族一书,关于 NAT 有些问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Yangz
V2EX    问与答

看 TCP/IP 协议族一书,关于 NAT 有些问题

  •  
  •   Yangz 2016-09-03 17:38:27 +08:00 2973 次点击
    这是一个创建于 3378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天看_TCP/IP_协议族,看到 NAT 的时候有些疑问:如果 NAT 使用一台路由器将专用网络与全球网络分开,并且使用一张转换表来决定相应交付的转发;那么来自内部的对于典型端口(比如说 80 )的大量请求会造成这个路由器对外的典型端口发生拥堵吗? 这种拥堵: 1 、或是我理解错误,还是真实存在呢? 2 、假如确实存在,应付它的办法是不是分时多工之类的?

    14 条回复    2016-09-05 17:49:28 +08:00
    ltux
        1
    ltux  
       2016-09-03 17:59:00 +08:00
    何为“对外的典型端口”?你最好给个例子详细说明你的问题,基于你现在的描述我看不出来你到底是怎么理解的。
    NAT 转换是 ip:port 成对转换。
    Yangz
        2
    Yangz  
    OP
       2016-09-03 20:06:21 +08:00
    @ltux ltux 你好!我理解的一种情况是:专用网络里有很多设备同时通过 80 端口基于 HTTP 外网服务器进行 GET ,此时路由器处会造成拥堵吗?关于第二个问题:假如有拥堵,路由器是不是会有一个处理请求的队列,按照一定的顺序进行处理呢?
    Reficul
        3
    Reficul  
       2016-09-03 20:36:19 +08:00
    路由器后面的主机去 GET 外网服务器,不一定要通过 80 端口吧。远端是 80 端口,主机上应该是一个高位的随机端口。

    另外主机后面的 IP:port 经过 NAT 就是通过路由器外网 IP :随机端口 与远端服务器通信的
    gefranks
        4
    gefranks  
       2016-09-03 20:41:09 +08:00
    据说访问量特别大的时候是会有拥堵,因为路由器上的转换后的源端口和源 ip 不够用了,但是一般不会。
    wevsty
        5
    wevsty  
       2016-09-03 20:41:28 +08:00
    楼上正解
    访问远端 80 端口并不是意味着一定通过 NAT 的 80 端口出去,是 NAT 设备随机一个高位端口用来通讯的。所以不存在堵塞的问题
    billlee
        6
    billlee  
       2016-09-03 22:32:44 +08:00
    楼主你 TCP 都没理解对吧,连接服务器的 80 端口时,客户端并不需要使用 80 端口的。
    firefox12
        7
    firefox12  
       2016-09-03 22:39:07 +08:00
    你理解是对的,端口会不够用。 路由器不会堵塞,它会简单的扔掉过载的包。对路由器而言只有 ip 包 没有消息的概念
    flynaj
        8
    flynaj  
       2016-09-04 02:20:29 +08:00 via Android
    肯定会啊,包处理速度,还有带宽都是会的,队列,还是丢包,看路由器处理了,感兴趣可以整个 ros 研究一下,这是它的流控部分 http://wiki.mikrotik.com/wiki/Manual:Queue
    kaneg
        9
    kaneg  
       2016-09-04 11:02:37 +08:00 via iPhone   1
    端口数量是有限的,做多 65536 个,如果客户的请求数量超过了,应该就会出现阻塞和丢包
    Yangz
        10
    Yangz  
    OP
       2016-09-04 11:04:07 +08:00
    @Reficul @Yangz @firefox12 @flynaj @gefranks @wevsty 谢谢大家,我现在明白一些了。 @billlee 是的,我对传输控制协议了解得还不多,我再去学习一下。 @flynaj flynaj 你好,请问你指的 ros 是什么呢?我看了一下,感觉像 QoS ,不知是不是我搞错了。
    wevsty
        11
    wevsty  
       2016-09-04 12:22:31 +08:00
    @Yangz ros 指的是一个软路由 OS
    flynaj
        12
    flynaj  
       2016-09-04 15:05:07 +08:00
    @Yangz 我现在用的这个 https://item.taobao.com/item.htm?id=3733944776
    学习可以下载这个 http://www.mikrotik.com/download 装到虚拟机测试测试.下面 Cloud Hosted Router,那些虚拟机格式.
    xieyudi1990
        13
    xieyudi1990  
       2016-09-04 19:02:22 +08:00 via Android   1
    NAT 网关动的是 TCP 源端口。

    我一直认为, NAT 不能算是标准的路由器,只能算是代理。
    div id="r_3529550" class="cell">
    Yangz
        14
    Yangz  
    OP
       2016-09-05 17:49:28 +08:00 via iPhone
    @flynaj @wevsty 谢谢!我有空实验一下 ros 这个系统。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3878 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 05:16 PVG 13:16 LAX 21:16 JFK 00:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86