首页 > 其他分享 >NAT基础

NAT基础

时间:2023-06-01 23:56:31浏览次数:29  
标签:24 113.222 基础 192.168 NAT 公网 路由器

第一个问题,为什么?

为什么存在NAT,设计NAT解决了哪些问题?

场景1. 作为企业内网的用户需要访问公网,但是公有IP地址不够用,如果所有企业的每一台主机都申请一个公有IP,则公有IP很快就会消耗殆尽。局域网私网地址用户访问公网-出方向

场景2. 企业在局域网部署了一台服务器,对外提供如web服务,但是也不可能给每台服务器申请一个公网IP,使得外网用户可以访问局域网的服务器。公网用户访问局域网内私网地址服务器-入方向

NAT解决了上述两种情况的访问问题。

第二个问题,NAT是如何解决上述两个问题的

场景1中,在边界路由器设置NAT转换规则,将客户PC机发送到公网的数据包进行源地址转换,例如PC IP 192.168.10.1 255.255.255.0,

则可以设置转换规则

1. 192.168.10.1转换成113.222.258.41, 这是一对一的地址转换

或者可以设置转换规则如

1. 192.168.10.0/24 转换成113.222.258.41----113.222.258.55,这是多对多的地址转换,动态地址转换

2. 192.168.10.0/24转换成113.222.258.41,这是多对一的转换,端口地址转换PAT,用113.222.258.41的不同端口号来标识192.168.10.0/24中的不同主机

场景2,是通过目的地址转换来实现的,即DNAT,也可以称之为端口映射,暂时不在本文讨论范围内,我们集中在场景1如何解决。

下图为一个实例,ABC三个路由器为内网设备,ISP为公网路由器,172.16.10.0/24位公网网段,路由器A为边界路由器。

在没有NAT的情况下,假设ABC3个路由器之间通过动态路由如BGP等学习到了对方的路由,则路由器C的端口192.168.30.2是有路由可以到达172.16.10.1/24的网段,但是无法ping通。

原因是由于ping包可以到达172.10.10.1,但是ISP路由器没有192.168.30.0/24的路由。

如果有了PAT,则ISP路由器收到的数据包的元IP变成了172.10.16.x, 则ISP会直接将回包发送通往段的A路由器e0/1接口,A再转换回192.168.30.0,而A有到192.168.30.0的路由,则可以ping通。

 

标签:24,113.222,基础,192.168,NAT,公网,路由器
From: https://www.cnblogs.com/hanlei-wenwen/p/17450558.html

相关文章

  • vue基础用法-内容渲染指令
    1.指令的概念指令(Directives)是vue为开发者提供的模板语法,用于辅助开发者渲染页面的基本结构。vue中的指令按照不同的用途可以分为如下6大类:内容渲染指令属性绑定指令事件绑定指令双向绑定指令条件渲染指令列表渲染指令注意:指令是vue开发中最基础、最常用、最简单的知识......
  • 一. 数字图像处理基础
    一.数字图像处理基础1.1图像表示图像就是矩阵,在python中表示为数组形式。1.2图像模型1.2.1RGB模型R:红,【0,255】G:绿B:蓝EG:#FF255255255:以两位为跨度,前两位为透明度,随后依次为:R、G、B模型如下:1.2.2HSI模型H(Hue,色调):与光波的波长有关,表示人的感官对不同颜色的感......
  • natapp网络穿透
     日常开发经常会用到协议访问本地测试这些,包括localhost不够用的情况,使用网络穿透,natapp简单好用还便宜推荐  ......
  • JavaScript 基础知识总结
    概述JavaScript基础分为三个部分:ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。DOM:DocumentObjectModel(文档对象模型),操作页面上的元素的API。比如让盒子移动、变色、改变大小、轮播图等等。BOM:BrowserObjectModel(浏览器对象模型),操......
  • 四路“全能王” 浪潮信息NF8480M6为IT基础架构“做减法”
    云计算、边缘计算、大数据、人工智能等技术的快速迭代,使得企业的业务系统日趋复杂,数据量、数据类型更加庞大,对计算平台的性能要求“水涨船高”。更重要的是,当关系型数据库、云原生、大数据挖掘与分析、人工智能等不同类型的工作负载,需要整合到统一的平台之上时,更加全能的四路服务器......
  • k8s问题解决 - 删除命名空间长时间处于terminating状态
    一行命令解决,注意替换两处待删命名空间字样kubectlgetnamespace"待删命名空间"-ojson\|tr-d"\n"|sed"s/\"finalizers\":\[[^]]\+\]/\"finalizers\":[]/"\|kubectlreplace--raw/api/v1/namespaces/待删命名空间/finali......
  • 数据库 第三章 SQL语言基础
    1、SQL语言功能:1、提取查询数据 2、插入、修改、删除数据  3、生成、修改、删除数据库对象 4、数据库安全控制  5、数据库完整性及数据保护2、SQL语言主要特点:1、综合统一 2、高度非过程化 3、面向集合的操作方式  4、以同一种语法结构提供两种使用方式  5......
  • K8s基础概念
    一、资源与对象简述Kubernetes中的所有内容都被抽象为“资源”,如Pod、Service、Node等都是资源。“对象”就是“资源”的实例,是持久化的实体。如某个具体的Pod、某个具体的Node。Kubernetes使用这些实体去表示整个集群的状态。对象的创建、删除、修改都是通过“Kubernete......
  • Blockchain 理论基础
    1.区块链理论基础区块链,是技术.本质上是一个分布式账本系统,需要通过共识机制来确保网络中的节点对账本数据的状态达成一致,以实现去中心化和安全性起源 2008年,雷曼兄弟倒闭.后两周 中本聪,论文<比特币:点对点的电子现金系统> 区块链技术,就是点对点的解决方案4......
  • Solidity基础
    Solidity基础RemixIDERemixIDE通常使用网页端:RemixSolidity中文文档:https://learnblockchain.cn/docs/solidity/Solidity基础:源文件布局声明许可证标识符://SPDX-License-Identifier:MIT用来标明代码的开源与否,开源许可如何声明编译指示:pragmasolidity......