【问题思考总结】NAT的公有地址怎么转换为私有地址?【MAC地址和IP地址的转换】

问题起源

在做一道题的时候,涉及到了由内网到外网再到内网时的IP地址转换。在外网的时候,答案说的是不能够用私有IP地址作为源IP地址,然后疑问产生了:如果不能用私有IP地址作为目的地址,他又怎么能够找到那个主机呢?

Q1:这个包怎么访问到主机?

在经过查阅后发现,用NAT能够进行IP地址的转换,就是将私有的IP地址转换为公有的IP地址,也可以将公有的IP地址转换为私有地址。私有转公有容易理解,因为大家的出口似乎往往只有一个。然而,因为在这个内网里面有多个主机,多对一的映射好搞,一对多的映射怎么搞?也就是公有ip转私有ip如何转换呢?

Q2:NAT如何将公有地址转换为私有地址?

经过查阅发现,NAT的表项结构是这样的:
在这里插入图片描述
这里的WAN端对应的是广域网(公共网络),LAN端对应的是局域网(私有网络)。这个NAT对应的每个表项实际上是一个二元组

在进行公有IP转私有IP的时候,将会将这个主机的IP地址以及端口号进行映射。同样的,在公有地址到私有地址的时候也会进行二元映射。因此,这个二元组指定的主机(LAN端)和路由器的外部端口(WAN端)自然就是一对一的映射了

之前的问题在于将NAT的转换表想象成了一元转换,因此导致了错误。

延伸思考

MAC地址在传递的时候如何转换?

在这里插入图片描述
在这里我们可以比较清晰的看到,每经过一个端口,实际上MAC地址都是变的。

因此,IP地址只有在公私网转换的时候变换,而MAC地址则是在公网进行传递的时候也要变换。

小例题:ARP的次数讨论

在这里插入图片描述
我最开始误选了D,因为我的想法是在转发的过程当中,只要MAC地址发生变化,就要进行ARP,实际上正确答案是B,也就是只有结点间转发的时候需要ARP,结点内部转发不需要。

经过查阅发现,结点内部的转发是由路由器的转发表来进行的,这个部分不太了解,待以后深化补充,欢迎博友讨论。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值