当前位置: 首页 > news >正文

【问题思考总结】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,结点内部转发不需要。

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

相关文章:

  • [附源码]Python计算机毕业设计SSM力高灯饰线上交易平台(程序+LW)
  • 正则表达式备忘录(全网最详细正则)
  • 2022年11月30日 Fuzzy C-Means学习笔记
  • 函数定义、this指向、闭包等
  • [附源码]计算机毕业设计springboot课室预约系统
  • 周期信号与非周期信号
  • 串口 COM口,并口 LPT口,RS232、RS485、CAN
  • m扩频通信系统在瑞利信道中的误码率性能matlab仿真
  • 如何在 SwiftUI 中创建条形图
  • 护眼灯真的有用吗?2022双十二选哪个牌子的护眼台灯好
  • Codeforces Round #721 (Div. 2) C. Sequence Pair Weight
  • java毕业设计滴答拍摄影项目mybatis+源码+调试部署+系统+数据库+lw
  • Linux基本命令(四)——firewall
  • 证券企业基于华为全闪存存储实践经验分享
  • AutoCAD Electrical 2022—源箭头和目标箭头
  • linux权限详解
  • 为什么macbook不能删除u盘里东西?苹果电脑如何删除u盘文件
  • WeetCode2滑动窗口系列
  • 排行榜谁最稳?
  • 博科交换机使用
  • mini2440 中断实验
  • 汉语言可以转计算机考研吗,我是一名学汉语言文学专业的大三本科生,现在想跨专业,考学科教育(历史)研究生...
  • C# 实现任务栏图标程序
  • 对电路设计,IC设计,PCB板设计的初步认识
  • 声音处理中Equalizer(均衡器)的原理
  • mini2440 定时器实验
  • 文件上传两种方式
  • 语文七年级计算机作文,七年级下册语文作文.doc
  • 对汽车音响效果的简单理解
  • mini2440 UART实验