打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
路由器开启NAT和防火墙功能,性能会下降吗?

最近在思考一个问题,图书馆里书越来越多,书店的书也越来越多,人类的问题非但没有减少,反而越来越多?

我从事计算机网络行业,谈谈我的观点。

计算机网络技术发展特别快,有些技术从诞生到消失可能只有几年的时间,所以还没有来得及出书,技术就消失得无影无踪。

还有一些技术,比如NAT技术,尽管很常用也有技术标准,但是各个厂家的实现方式并不统一。技术标准是先有产品后来才有的技术标准,所以这种技术标准并没有多大的用处,因为产品已经成型了。

但是,NAT技术并不需要不同厂家平台的交互,所以不会有什么问题。不像路由协议需要交互信息,如果没有严格遵照标准,可能就无法通信了。

所以像这些技术很难去出书,不像路由协议那么有广泛性、代表性。厂家更愿意出一些配置文档、白皮书供用户参阅。

这些内容会告诉用户如何配置、以及简单的工作原理,但是很难找到这个问题的答案,这就是为何知乎等问答平台可以诞生的原因。

问题来了,答主辛辛苦苦写的文字,一分钱没有,这种依赖雷锋式奉献精神的模式到底能走多远?所以,我很不看好这个平台,除非让优质内容的输出者得到自己应得的那一份。

听闻Oracle关闭中国研发中心,波及1000多人,对于有扎实技术的骨干人员,重新找一份类似工作不难,但是没有核心技术的人员,短期内可能会备受煎熬。

学好一门技术,可以拯救自己于危难时刻!

CPU进程转发

IP报文到达入接口,转交给软件转发进程,查询路由表,找到对应出口及下一跳IP,查询下一跳MAC,完成二层封装,从出口发送出去。

硬件快速转发

IP 报文到达入接口,硬件芯片查询硬件转发表,获得对应出口及二层封装,从出口发送出去。

硬件转发要远远快于CPU进程转发,相差至少一个数量级。有同学会疑惑地问,既然硬件转发那么快,为何还用进程转发呢?

硬件转发芯片长于转发流量,但是却处理不了复杂的逻辑。

硬件转发表是天上掉下来的馅饼吗?不是的!

是天生就存在于硬件芯片里的吗? 不是的!

是硬件芯片自己学习到的吗?不是的!

既然都不是,那是从哪里来的呢?

路由进程告诉的!

路由进程,是不是就是路由协议RIP 、OSPF、BGP之流?

对的。

路由进程跑在CPU上,路由进程和邻居、整个网络同步完路由表,将路由表(以二层转发表的形式)下发到硬件芯片里,然后硬件芯片就可以愉快地工作了。

当路由器配置了NAT,路由器并不能将二层转发表提前下发到硬件芯片,为什么呢?

每一个TCP/UDP会话的四元组(源IP,源端口,目的IP,目的端口)是动态的,这些动态的信息没有办法提前知晓。所以,TCP/UDP会话第一个报文到达路由器入口时,硬件芯片的转发表(NAT表)是空的,必须交由CPU进程处理。

CPU最强大的地方,就是可以处理任何复杂的逻辑!NAT进程立马介入,生成一个动态的NAT表条目,将IP报文的私有源IP+端口,替换成公网的IP + 端口,然后转发出去。

完了吗?

没有!

NAT进程还需要将NAT转发表下发到硬件,硬件芯片有了NAT表就变得强大了起来。如同加满油的老司机,地板油走起,一路绝尘。。。

有乘客会问,TCP的第二个报文是CPU转发还是硬件转发?

老司机冷笑一声,我都有了NAT表,可以独自开车,为什么要劳烦CPU大神!

话音未落,老司机一个地板油,风驰电掣开始飙车,乘客发出鬼哭狼嚎的尖叫声。。。

归纳一下

配置NAT之后,会对CPU有影响。至于影响多少,取决于有多少个全新的TCP/UDP会话数目。

相信这篇回答不会在任何教科书,或者厂家的配置文档、白皮书里找到。如果喜欢这篇文章,请点赞支持,谢谢!


●编号875,输入编号直达本文

●输入m获取文章

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
计算机网络的底层到底是怎么实现的?
用了这么多年的路由器,你真的了解路由器了吗?
爱快软路由安装+配置+简单评测(3.30预告新功能&在线体验)
三层交换基本原理
Ping命令不能PING通的种种解惑
计算机的硬件端口和软件端口
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服