码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【问题思考总结】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,结点内部转发不需要。

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

  • 相关阅读:
    Linux性能优化实战CPU篇之软中断(三)
    物通博联5G工业智能网关赋能智能制造,打造智能工厂
    使用JavaScript的效果实现输入相关信息计算票价的效果
    双十一什么数码好物值得买?双十一最值得买的数码好物分享
    excel映射xml方法
    10分钟学会Hive之用户自定义函数UTF开发
    子查询多个返回结果 作为外层查询的条件 但是查询失败
    连锁店如何通过连锁收银系统做会员营销
    【kubernetes篇】通过描述信息,理解Pod生命周期
    巨杉湖仓一体技术解读|实时对客释放全量数据价值
  • 原文地址:https://blog.csdn.net/weixin_45415929/article/details/128119830
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号