DNS/ICMP协议/NAT技术

news2025/1/18 6:24:33

本博文分享DNS(简单认识)、ICMP(简单认识)和NAT技术(重点学习)。

DNS

DNS是一整套从域名映射到IP的系统,TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序。但是IP地址不方便记忆,于是人们发明了一种叫主机名的东西, 是一个字符串, 并且使用hosts文件来描述主机名和IP地址的关系。比如csdn的域名,我们直接输入csdn.com就可以进入csdn的网站了,不需要记住IP地址。

域名

主域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称。

比如:www.baidu.com
com: 一级域名. 表示这是一个企业域名. 同级的还有 "net"(网络提供商), "org"(非盈利组织) 等。

baidu: 二级域名, 公司名。
www: 只是一种习惯用法. 之前人们在使用域名时, 往往命名成类似于ftp.xxx.xxx/www.xxx.xxx这样的格式, 来表示主机支持的协议。

ICMP协议

ICMP协议是一个 网络层协议。一个新搭建好的网络, 往往需要先进行一个简单的测试, 来验证网络是否畅通。但是IP协议并不提供可靠传输,如果丢包了, IP协议并不能通知传输层是否丢包以及丢包的原因。因此,引入了ICMP协议。

ICMP功能

ICMP正是提供这种功能的协议。 ICMP主要功能包括:

确认IP包是否成功到达目标地址。
通知在发送过程中IP包被丢弃的原因。
ICMP也是基于IP协议工作的。但是它并不是传输层的功能, 因此人们仍然把它归结为网络层协议。
ICMP只能搭配IPv4使用. 如果是IPv6的情况下, 需要是用ICMPv6。

ping命令

此处 ping 的是域名, 而不是url! 一个域名可以通过DNS解析成IP地址。ping命令不光能验证网络的连通性, 同时也会统计响应时间和TTL(IP包中的Time To Live, 生存周期)。ping命令会先发送一个 ICMP Echo Request给对端。对端接收到之后, 会返回一个ICMP Echo Reply。

ping命令基于ICMP, 是在网络层. 而端口号, 是传输层的内容. 在ICMP中根本就不关注端口号这样的信息。

NAT技术

在讨论分享IP协议中的IPv4协议中, IP地址数量不充足的问题,解决问题是使用可以重复的私有IP地址,还有就是NAT技术可以当前解决IP地址不够用, 它是路由器的一个重要功能:

NAT能够将私有IP对外通信时转为全局IP. 也就是就是一种将私有IP和全局IP相互转化的技术方法:
很多学校, 家庭, 公司内部采用每个终端设置私有IP, 而在路由器或必要的服务器上设置全局IP。
全局IP要求唯一, 但是私有IP不需要; 在不同的局域网中出现相同的私有IP是完全不影响的。

NAT IP转换过程

NAT技术转化,就是路由器将IP首部中的IP地址进行替换(替换成WAN口IP), 这样逐级替换, 最终数据包中的IP地址成为一个公网IP。

实际上,NAT路由器会把这些IP记录下来,记录在转换表中。因为对于这些记录(记录即源IP地址和目的IP地址,替换后的IP地址和目的IP地址)在全网中是唯一的,记录中的两对地址是互为键值的!

因此,在下次转换,或者需要转换回来的时候,直接在转换表中通过键值对找到就可以了!

这种关联关系也是由NAT路由器自动维护的. 例如在TCP的情况下, 建立连接时, 就会生成这个表项; 在断开连接后, 就会删除这个表项。

例子:


 

NAT路由器将源地址从10.0.0.10替换成全局的IP 202.244.174.37。NAT路由器收到外部的数据时, 又会把目标IP从202.244.174.37替换回10.0.0.10。在NAT路由器内部, 有一张自动生成的, 用于地址转换的表。当 10.0.0.10 第一次向 163.221.120.9 发送数据时就会生成表中的映射关系。

NAT技术的缺陷

由于NAT依赖这个转换表, 所以有诸多限制:

无法从NAT外部向内部服务器建立连接。
装换表的生成和销毁都需要额外开销。
通信过程中一旦NAT设备异常, 即使存在热备, 所有的TCP连接也都会断开。

NAT和代理服务器

路由器往往都具备NAT设备的功能, 通过NAT设备进行中转, 完成子网设备和其他子网设备的通信过程。

代理服务器看起来和NAT设备有一点像。客户端像代理服务器发送请求, 代理服务器将请求转发给真正要请求的服务器。服务器返回结果后, 代理服务器又把结果回传给客户端。

代理服务器,常见的就是我们学生使用的校园网,学校里会有一个代理服务器,将我们学生这些用户和运营商隔开,学生在上网时,需要通过代理服务器才能访问到运营商的服务器。

代理服务器的好处就是:

1.完成身份认证。只有特定的用户才能使用局域网中的网络(比如校园网)。否则会浪费网络资源。

2.加速内网服务。

3.对访问内网的请求进行筛选。

4.负载均衡。将较为均衡的请求打散到每台主机上。

NAT和代理服务器的区别

从应用上讲, NAT设备是网络基础设备之一, 解决的是IP不足的问题。代理服务器则是更贴近具体应用, 比如通过代理服务器进行翻墙, 另外像迅游这样的加速器, 也是使用代理服务器。

 
从底层实现上讲, NAT是工作在网络层, 直接对IP地址进行替换。代理服务器往往工作在应用层。

 
从使用范围上讲, NAT一般在局域网的出口部署, 代理服务器可以在局域网做, 也可以在广域网做, 也可以跨网。

 

从部署位置上看, NAT一般集成在防火墙, 路由器等硬件设备上, 代理服务器则是一个软件程序, 需要部署在服务器上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/576340.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows下mysql中binlog日志分析和数据恢复

1.首先查看是否开启了binlog show variables like %log_bin%;看到了是没有开启的。 2.开启binlog日志,并重启mysql服务 不能通过命令的方式去打开,因为会提示说这个参数是只读的。如下图: 所以,打开mysql的配置文件&#xff…

Three.js--》实现3d地球模型展示

目录 项目搭建 实现网页简单布局 初始化three.js基础代码 创建环境背景 加载地球模型 实现光柱效果 添加月球模型 今天简单实现一个three.js的小Demo,加强自己对three知识的掌握与学习,只有在项目中才能灵活将所学知识运用起来,话不多…

配置MIT6.S081环境

配置环境 1实现环境2更换源3.安装RISC-V交叉编译工具4.安装QEMU5.检测安装6.下载源码7.检查调试工具8.安装vim9.进行初步调试 1实现环境 虚拟机(我用的VMware Workstation Pro)Ubantu20.04安装QEMU 注意必须使用ubuntu20.04版本,因为后面安装…

Webpack打包图片-JS-Vue

1 Webpack打包图片 2 Webpack打包JS代码 3 Babel和babel-loader 5 resolve模块解析 4 Webpack打包Vue webpack5打包 的过程: 在webpack的配置文件里面编写rules,type类型有多种,每个都有自己的作用,想要把小内存的图片转成bas…

华为OD机试之不含101的整数(Java源码)

不含101的数 题目描述 小明在学习二进制时,发现了一类不含 101的数,也就是: 将数字用二进制表示,不能出现 101 。 现在给定一个整数区间 [l,r] ,请问这个区间包含了多少个二进制不含 101 的整数? 输入描述…

WalkRE--刷图流程(超具体)

1、打开WalkRE软件,界面如下: 2、选择“根据模板新建工程”。操作如下: 3、导入数据。需要入准备好的dxf格式的CAD地形数据。操作如下: 在空白处右键,先关闭所有层(大部分层在刷图时用不上,仅打…

自动化测试2:selenium常用API

目录 1.webdirver API 1.1.定位元素 1.2CSS 1.语法 2,使用 1.3XPath定位 1.语法 2.使用 2.操作测试对象 2.1.鼠标点击与键盘输入 2.2submit 提交表单 2.3text 获取元素文本 3.添加等待 3.1.sleep休眠 3.2.智能等待 3.2.1.隐式等待 3.2.2显示等待 4.打印信息 …

web前端 --- CSS(04) -- 盒子模型、div+css网页布局、css3新特性

盒子模型 (1)网页标签分类: 行内元素:块级元素:有宽高,可以设置大小,同时不会让其他块元素默认占据当前行 (2)内边距: 内容和边线之间存在空白区域&#x…

路径规划算法:基于猫群优化的路径规划算法- 附代码

路径规划算法:基于猫群优化的路径规划算法- 附代码 文章目录 路径规划算法:基于猫群优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法猫群…

数据库基础——3.SQL概述及规范

这篇文章我们来讲一下SQL概述和使用规范 目录 1.SQL概述 1.1SQL背景 1.2 SQL语言排行榜 1.3 SQL分类 2.SQL规则与规范 2.1基本规则 2.2 SQL大小写规范 (建议遵守) 2.3 注 释 2.4 命名规则(暂时了解) 2.5 数据导入指令 1…

【硬件】嵌入式电子设计基础之数字电路

数字电路与模拟电路的设计思想和应用方法有许多不同之处。 计算器是一个典型的由数字电路实现的电子设备,用户通过数字或符号摁键输入运算式,计算器经过运算之后把结果显示在屏幕上。现代数学电子学始于1946年,其标志是一台以电子管为核心器件…

奥地利博士联培申请签证经验(奥地利签证)

记录一下奥地利申请签证经验,供有需要的小伙伴借鉴: 我申请的是去克拉根福大学联合培养一年,正常的居留签证需要半年之久,但是如果有托管协议(Hosting Agreement)可以先申请D类签证,抵达奥地利再…

Shell脚本攻略:循环语句for

目录 一、理论 1.for循环 二、实验 1.实验一 2.实验二 3.实验三 4.实验四 5.实验五 6.实验六 7.实验七 一、理论 1.for循环 (1)for循环的常见三种用法 Ubuntu系统在6.10版本后默认使用dash环境; 而CentOS系统常见默认使用的是ba…

00后是真卷不过,工作没两年,跳槽到我们公司起薪22K都快接近我了

在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。 真正让人反感的,是技术平平&…

C++搜索二叉树

一、搜索二叉树概念 搜索二叉树是一种树形结构,常用于map当中。搜索二叉树严格遵守左小右大的规则 C语言中实现搜索二叉树有一些困难,并且在面对一些特定题目实现较困难。因此采用C的方式再次实现搜索二叉树 二、搜索二叉树的实现 插入 搜索二叉树在…

ASEMI代理长电可控硅BT136参数,BT136规格,BT136说明

编辑-Z 长电可控硅BT136参数: 型号:BT136 RMS通态电流IT(RMS):6A 非重复浪涌峰值导通电流ITSM:25A 峰值栅极电流IGM:2A 平均栅极功耗PG(AV):0.5W 存储接点温度范围Tstg:-40 to 150℃ 工…

Linux -- 进阶 Web服务器 搭建基于 https 协议的静态网站 ( 预备知识 )

概念引入 : 什么是 HTTPS ? HTTPS 协议背景 ? >>> HTTP 协议 即 超文本传输协议 , 它出生的很早,在早期,网络服务的相关攻击呢,或者病毒啥的几乎没有,安全类的问 题也是少之又…

【SpringCloud】Gateway网关

文章目录 1、网关的作用2、搭建网关服务3、路由断言4、GatewayFilter5、全局过滤器6、过滤器的执行顺序7、限流过滤器8、跨域问题处理 1、网关的作用 服务就像一个景点,如果人人可以访问,不管是游客还是搞破坏的人都放进来,那一定出事。由此…

零基础去学习渗透,很难吗?

前言: 很多朋友问我,想搞网络安全,编程重要吗,选什么语言呢? 国内其实正经开设网络安全专业的学校很少,大部分同学是来自计算机科学、网络工程、软件工程专业的,甚至很多非计算机专业自学的。…

抖音seo源码开发|矩阵号排名|账号矩阵系统开发搭建

源码展示 抖音seo又叫抖音搜索引擎,只要能做到布词,和过去的百度seo优化一样,布词,布关键词,当搜索栏搜索时可以搜索到该短视频。优化视频关键词,做好关键词的优化,就能在别人抖音搜索栏搜索的时…