码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 网络地址转换NAT


    引入:

    IPv4地址即将面临耗尽的危险

    NAT指通过将专用网络地址转换为公用网络地址,从而对外隐藏IP地址。
    在专用网络连接英特网的路由器上安装NAT软件(NAT路由器),至少有一个全球IP地址
    所有使用私有地址的主机在和外界通信时,都需要将私有地址转换为全球IP地址

    功能:

    ①NAT使大量的内部专用地址共享少量的全球IP就来和英特网连通。由于专用网络可重用,所以节省了大量地址的消耗
    ②对外隐藏了网络结构,降低了内部网络被攻击的风险

    原理:

    在这里插入图片描述

    假设使用私有地址的主机和使用全球地址的主机通信:

    1. NAT路由器从全球IP地址池中为该主机分配一个临时的全球IP地址172.38.1.5,并将IP数据报的源地址修改为这个全球IP地址
    2. 将私有地址和全球地址的对应关系(映射)记录在NAT转换表中
    3. 之后转发该数据包,此时数据报的源地址目的地址都是全球IP
    4. 当英特网上的主机将数据报发回时,NAT路由器收到该IP数据报,在NAT转换表中进行查找,将目的地址修改为对应的私有地址,并将其发送给相应的主机; 此时数据报的源地址为英特网上主机的全球地址,目的地址为私有地址

    注意:
    普通路由器只工作在网络层,而NAT路由器需要查看运输层的端口号在这里插入图片描述

    问:内网主机和外网主机的通信能否由外网先发起?

    不能!如果外网主机发送数据报,NAT路由器收到数据报后,在NAT转换表中找不到全球地址和私有地址的对应记录!就无法将数据报转发给内网的主机

  • 相关阅读:
    JAVA的@EXCEL导出导入常用注解汇总
    数据结构与算法编程题2
    软文怎样写?写软文的技巧是什么?
    Spring Boot 笔记 026 文章分类列表查询
    低代码助力企业数字化转型
    进程间的通信方式
    行业洞察 | 未来人形机器可能是最懂你的人
    【Python爬虫】python打印本地代理
    XAF新手入门 - 类型子系统(Types Info Subsystem)
    【MySQL】数据库操作指南:数据类型篇
  • 原文地址:https://blog.csdn.net/Swofford/article/details/125405928
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号