简单的问题和答案当然是第3层,但是我们可以说PAT在第4层上工作也是因为它处理的是第4层功能的端口号吗? 3个协议?

评论

“网络”是关键字。网络层。最有趣的是:这个问题如何获得6票赞成票?嗯...(我不是说这是一个可怕的问题,但这肯定不是很壮观)

#1 楼

NAT在第3层起作用,因为它正在修改IP标头。如果使用PAT,则可能会争辩说它也可以在第4层工作,因为它可以更改数据包的源端口(如果它不是唯一的)。或通过使用称为端口地址转换(PAT)的功能(或称为“过载”)(NAT
功能的子集)的一些外部
地址。PAT使用内部
全局IP地址上的唯一源端口号,以区分翻译。由于端口号是用16位编码的,因此理论上每个IP地址的总数可能高达65,536。PAT会尝试保留原始源端口,如果已分配此源端口,则PAT将尝试查找第一个可用端口号,该端口号从相应的端口组0-511,
512-1023或1024-65535开始。
如果适当组中仍然没有可用端口,并且配置了多个IP地址,PAT将移至下一个IP地址,并尝试分配原始源。
再次端口。这种情况会一直持续到可用端口和IP地址用尽。

,因此只有在端口不唯一的情况下才会修改该端口。
与Cisco的链接很漂亮很好的NAT概述。

评论


事情是我在求职面试笔试中遇到了这个问题,我需要知道我是否只是在想这个简单的问题...毫无疑问,nat是第3层协议,但PAT和静态端口映射不仅可以与ip一起使用..i搜索有关说nat可能是第4层协议但不走运的说法,您怎么看?你会以那个答案为对还是错? cisco.com/en/US/tech/tk175/tk15/…

–aia87
2013年9月8日在6:00

在面试中,我将寻找候选人如何不仅推理二进制是非。 NAT是第3层,但是如果您围绕PAT和第4层进行推理,我会认为这是很好的知识,不必担心二进制答案。

–丹尼尔·迪布(Daniel Dib)
2013年9月8日在7:03

更复杂的是,Linux(食用)和某些SP套件(ALU ISAM)支持MAC地址NAT。所以几乎可以是任何东西。但是可以肯定的是,当人们说NAT时,通常是指NAPT / PAT。但与@DanielDib候选人完全同意,表明候选人对概念的理解比记忆的答案更好。

–ytti
2013年9月8日在8:18

另外,如果要转换的协议具有嵌入式地址,则某些NAT必须在第7层工作;否则,某些NAT必须在第7层工作。 FTP就是一个例子。

–克莱里斯-谨慎乐观-
2013年9月8日13:15

甚至“基本NAT”也要求对第4层标头进行修改才能使用。

– Peter Green
16年1月11日在18:54

#2 楼

Nat是一个跨层过程。它至少涉及第3层(IP)和第4层(TCP,UDP等)。在某些情况下,它也可能涉及第7层(应用程序)。

最少需要一对一NAT来修改IP地址(第3层),IP校验和(第3层)和TCP / UDP校验和。 (第4层)。

最少需要一对多NAT来修改IP地址(第3层),IP校验和(第3层),TCP / UDP端口(第4层)和TCP / UDP校验和(第4层)。

这种最小的NAT会破坏很多东西(例如活动模式ftp)。因此,大多数NAT将超出基础知识,并且还将对应用程序数据中的至少某些IP地址进行转换和跟踪(第7层)。

#3 楼

考虑一下如何确保来自同一设备的数据包之间的一致性(至少在会话中)。因此,您可能会争辩说应将其置于第5级或更高级别。仅仅因为它可以修改IP报头,就不能使它失去更高层次的考虑。较低的层可能不了解有关较高层的任何信息,但是较高的层可以了解和操纵较低的层。确实,第6层似乎是适当的。摘自Wikipedia:如果表示服务在它们之间建立了较大的映射,则应用程序层实体可能会使用不同的语法和语义。
地址,即使地址位于3层而不是7层,也似乎是表示层要做的事情。

评论


没有OS实现了单独的第5到第7层。简单地说,第5到第7层被实现为单个应用程序层。

–罗恩·莫潘♦
17-10-2在23:59

#4 楼

Nating在layer3和layer4下工作,甚至在应用层下工作。

评论


这不能为问题提供答案。要批评或要求作者澄清,请在其帖子下方发表评论。 -来自评论

–rnxrx
20年8月1日,0:08