栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

网络/Network - 数据链路层&网络层 - NAT网关 - 学习/实践

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

网络/Network - 数据链路层&网络层 - NAT网关 - 学习/实践

1.应用场景

主要用于学习数据链路层&网络层中NAT网关的作用和工作原理,以及工作中项目的部署架构。

2.学习/操作

  1.文档阅读

第7讲 | ICMP与ping:投石问路的侦察兵-极客时间

第8讲 | 世界这么大,我想出网关:欧洲十国游与玄奘西行-极客时间

2.整理输出

MAC 地址是一个局域网内才有效的地址。

因而,MAC 地址只要过网关,就必定会改变,因为已经换了局域网。

两者主要的区别在于 IP 地址是否改变。

不改变 IP 地址的网关,我们称为转发网关;

改变 IP 地址的网关,我们称为NAT 网关。

问题

1. 当在你家里要访问 163 网站的时候,你的包需要 NAT 成为公网 IP,返回的包又要 NAT 成你的私有 IP,返回包怎么知道这是你的请求呢?它怎么就这么智能的 NAT 成了你的 IP 而非别人的 IP 呢?

2. 对于路由规则,这一节讲述了静态路由,需要手动配置,如果要自动配置,你觉得应该怎么办呢?

网友解答问题1:

对于基本 NAT (只进行 IP 地址的转写)来说,你可以说它是运行在第三层上的机制,但是由于基本 NAT 并没有缓解 IP 地址紧张的问题,一般来说我们使用的都是基于端口映射的 NAPT。

由于 NAPT 同时对 IP 地址和传输层端口进行改写,这时候再说 NAT 路由器充当的是三层设备就不合适了。 对于 NAPT,我们应该区分传出(客户端)和传入(服务器)两种情况。对于传出 NAT 路由器的数据包,NAT 根据源 IP 地址和传输层端口号在尽可能保留源端口号的情况下将其转写为 NAT 可用 IP 地址池里的 IP 地址和可用的 NAT 端口,并用 Session(TCP)或者活跃计时器(UDP)的方法来记忆”源IP地址+传输层端口号 <=> NAT IP 地址 + NAT 端口号“的映射。这样,当相应的回复数据包返回 NAT 路由器时,我们可以根据记录信息将 IP 地址和端口号转写回去。 而对于位于 NAT 路由器后面的服务器,它需要通过监听端口来向互联网提供服务,由于服务器并不主动向 NAT 外部建立连接,NAT 也就无从根据传出包建立端口映射,那该怎么办呢?此时,NAT 路由器需要书写好端口转发或者端口映射规则,从而将传入 NAT 路由器某一个端口的数据段转发给内部网络某一台主机。

参考资料: TCP/IP 协议详解 · 卷一

网友补充:

nat:将m个内网ip 映射为 n个公网ip地址,一般n

个人补充:

FYI IP+Port都是相同的 -- NAT的公网IP和目标服务端口 如 80端口,老师的例子,明显存在不合理之处,可能后面还会讲,TBD 举个例子 平常我们在家或者公司【不止一个人,也就是NAT出去】访问外面的网站,大型网站,通常都是部署了集群【多台server,假设都是提供http服务,监听80端口】,而且通常不会每台服务器都配公网IP【公网IP资源稀少,而且没必要】,那么就需要NAT网关,我们访问的输入的域名解析的IP就是网关的公网IP,接下来怎么区分访问哪一台server? 因为你也不知道server的私有IP,即便知道了,如果和本机是同一个网络号,就会被认为是本网段的主机,如果不是,那么会到网关,但是网关发现,主机连接的并没有这个网段,网络包根本出不去【超时】。

后续补充

...

3.问题/补充

TBD

4.参考

参见上面文档列表

后续补充

...

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941859.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号