【Hello Network】DNS协议 NAT技术 代理服务器

news2025/2/25 15:09:58

本篇博客简介:介绍DNS协议 NAT技术和代理服务器

网络各协议补充

  • DNS
    • DNS背景
    • DNS介绍
    • DNS总结
    • 域名简介
  • NAT技术
    • NAT技术背景
    • NAT IP转换过程
    • NAPT
    • NAT技术缺陷
    • NAT和代理服务器
  • 网络协议总结
    • 应用层
    • 传输层
    • 网络层
    • 数据链路层

DNS

DNS是一整套从域名映射到IP的系统

DNS背景

为什么要有域名

其实作为我们程序员来说 使用域名还是IP地址是无所谓的

但是站在商业公司和用户的角度就不这么认为了

商业公司希望用户能够快速的记住自己公司的网址 而用户也希望自己喜欢网站的网址好记一点 方便访问

这个时候域名的作用就显现出来了 它能够让ip地址变得更好记

DNS介绍

它是怎么工作的

在这里插入图片描述
我们在浏览器中输入网址之后 该网址就会首先发送给域名解析服务器

在解析完毕之后 域名解析服务器就会返回给我们一个ip地址

之后我们就可以用这个ip地址访问真正的服务器了

域名服务器的重要性

有的同学可能会认为域名服务器所做的工作十分简单 可有可无

但是实际上域名服务器是一种十分重要的网络技术

有人可能会说 我们不是可以直接用ip地址访问吗

对 是可以这样子做 这是因为我们是程序员 或多或少有一定的知识储备 事实上让全体国民都放弃使用域名而使用ip不现实

就比如在伊拉克战争期间 美国关停了域名服务器对于伊拉克的服务 导致伊拉克的互联网企业造成了毁灭性的打击

为什么有时候我们能够正常使用qq正常打游戏但是不能使用浏览器访问网页

此时极有可能是我们浏览器内置的DNS解析服务器挂掉了

DNS总结

  • DNS是应用层的协议
  • DNS底层使用的是UDP协议
  • 浏览器会缓存DNS结果

域名简介

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

  • com: 一级域名. 表示这是一个企业域名. 同级的还有 “net”(网络提供商), “org”(非盈利组织) 等
  • baidu: 二级域名, 公司名
  • www: 只是一种习惯用法. 之前人们在使用域名时, 往往命名成类似于ftp.xxx.xxx/www.xxx.xxx这样的格式, 来表示主机支持的协议

NAT技术

NAT技术背景

之前我们讨论了 IPv4协议中 IP地址数量不充足的问题NAT技术当前解决IP地址不够用的主要手段 是路由器的一个重要功能

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

NAT IP转换过程

IP转换过程如下图
在这里插入图片描述

  • 首先我们准备发送一个消息 目标地址是 163.221.120.9 源地址是 10.0.0.10 (私有ip)
  • 这个消息经过NAT路由器之后我们原本的源IP被转化为了路由器的wanIP 202.244.174.37
  • 当NAT路由器收到外部数据的时候又会把IP从202.244.174.37 转化为 10.0.0.10 (私有ip)
  • 在NAT路由器内部 有一张自动生成的 用于地址转换的表
  • 10.0.0.10 第一次向 163.221.120.9发送数据时就会生成表中的映射关系

NAPT

那么问题来了 如果局域网内 有多个主机都访问同一个外网服务器, 那么对于服务器返回的数据中 目的IP都是相同的

那么NAT路由器如何判定将这个数据包转发给哪个局域网的主机呢

这个时候我们回顾之前学过的知识 我们可以通过IP+PORT唯一的确定网络中的一个程序

但是经过我们的NAT技术转换之后 我们的IP都统一了 假如说局域网中两台主机使用的端口号再一致 那么在数据返回的时候我们就无法确定 这是局域网中哪台主机发送的数据了

在这里插入图片描述

而在NAPT技术中 我们会制作一张地址转换表 表的两边互为key值

加入在局域网中有两个端口号相同的程序 那么在这张表中 NAT路由器会自动更改其中一个程序的端口来保证一一对应

NAT技术缺陷

  • 无法从NAT外部向内部服务器建立连接 (其实是可以使用内网穿透技术实现的)
  • 装换表的生成和销毁都需要额外开销
  • 通信过程中一旦NAT设备异常 即使存在热备 所有的TCP连接也都会断开

NAT和代理服务器

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

代理服务器看起来和NAT设备有一点像

客户端向代理服务器发送请求 代理服务器将请求转发给真正要请求的服务器 服务器返回结果后 代理服务器又把结果回传给客户端

正向代理

我们客户端向服务器请求数据的时候并不直接将请求发送给服务器 而是发送给代理服务器

代理服务器帮助我们访问一些我们不能访问的网站

反向代理

我们客户端在请求数据的时候并不直接发送给服务器 而是发送给反向代理服务器

反向代理服务器接收到请求之后分配给服务器 之后服务器构建响应并且转给反向代理服务器

之后由反向代理服务器转给客户端

NAT和代理服务器的区别

  • 从应用上讲, NAT设备是网络基础设备之一, 解决的是IP不足的问题. 代理服务器则是更贴近具体应用, 比如通过代理服务器进行翻墙, 另外像迅游这样的加速器, 也是使用代理服务器
  • 从底层实现上讲 NAT是工作在网络层 直接对IP地址进行替换 代理服务器往往工作在应用层
  • 从使用范围上讲 NAT一般在局域网的出口部署 代理服务器可以在局域网做 也可以在广域网做 也可以跨网

正向代理和反向代理的区别

  • 正向代理主要服务于客户端 反向代理主要服务于服务器
  • 在正向代理中 服务器不知道真正的客户端是谁 在反向代理中 客户端不知道真正的服务器是谁

网络协议总结

应用层

  • 应用层的作用: 满足我们日常需求的网络程序, 都是在应用层
  • 能够根据自己的需求, 设计应用层协议.
  • 理解HTTP协议
  • 了解DNS协议原理和工作流程

传输层

  • 传输层的作用: 负责数据能够从发送端传输接收端.
  • 理解端口号的概念.
  • 认识UDP协议, 了解UDP协议的特点
  • 认识TCP协议, 理解TCP协议的可靠性. 理解TCP协议的状态转化.
  • 掌握TCP的连接管理, 确认应答, 超时重传, 滑动窗口, 流量控制, 拥塞控制, 延迟应答, 捎带应答特性.
  • 能够基于UDP实现可靠传输.
  • 理解MTU对UDP/TCP的影响.

网络层

  • 网络层的作用:在复杂的网络环境中确定一条合适的路径。
  • 理解IP地址,理解IP地址和MAC地址的区别。
  • 理解IP协议格式
  • 理解如何解决IP数目不足的问题,掌握网段划分的两种方案,理解私有IP和公网IP
  • 理解网络层的IP地址路由过程,理解一个数据包如何跨网段到达最终目的地
  • 理解IP数据包分片的原因
  • 了解NAT设备的工作原理

数据链路层

  • 数据链路层的作用: 两个设备(同一种数据链路节点)之间进行传递数据
  • 以太网是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等
  • 以太网帧格式
  • 理解mac地址
  • 理解arp协议
  • 理解MTU

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

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

相关文章

【产品应用】一体化无刷电机在无泵罐装中的应用

随着科技的不断发展,电动化和智能化成为现代工业发展的两大趋势。在液体灌装领域,无泵罐装技术逐渐受到广泛关注。这种技术取消了传统的泵送系统,通过一体化无刷电机的应用,实现了更为高效、精确的灌装过程。本文将详细介绍一体化…

ICS PA1

ICS PA1 init.shmake 编译加速ISA计算机是个状态机程序是个状态机准备第一个客户程序parse_argsinit_randinit_loginit_meminit_isa load_img剩余的初始化工作运行第一个客户程序调试:零断点TUI 基础设施单步执行打印寄存器状态扫描内存 表达式求值词法分析递归求值…

Qt 雷达模拟仿真工具3.0

Qt 雷达模拟仿真工具3.0 文章目录 Qt 雷达模拟仿真工具3.0ChangeLog效果图Qt交流群 ChangeLog 原有功能1.0版本原有功能2.0版本增加百度在线地图;增加百度离线地图;增加地图街道图卫星图切换;增加地图缩放与雷达图距离联动;增加地图定位&…

icon图标一键制作,这个免费在线工具超好用!

图标设计看似微小,实则意义非凡。它能直观地表达抽象概念,减轻用户认知负担。设计师通过改变图标,可打造界面独特视觉风格。图标种类繁多,如平面、线条、玻璃、3D等。应用广泛,因此在线制作图标的设计工具备受设计师青睐。今天就来看看获取免费图标素材和快速在线制作图标的技巧…

CTFshow——web入门——反序列化web254-web278 详细Writeup

前言 在做题之前先简要总结一下知识点 private变量会被序列化为:\x00类名\x00变量名 protected变量会被序列化为: \x00\*\x00变量名 public变量会被序列化为:变量名__sleep() ://在对象被序列化之前运行__wakeup() //将在反序列化之后立即…

DIFFEDIT-图像编辑论文解读

文章目录 摘要算法Step1:计算编辑maskStep2:编码Step3:使用mask引导进行解码理论分析: 实验数据集:扩散模型:ImageNet数据集上实验消融实验IMAGEN数据集上实验COCO数据集上实验 结论 论文: 《D…

abap table control控制屏幕字段显示/隐藏

需求:隐藏TABEL CONTROL的某一列或者多列,其实针对这样子的需求,我们最常想到的就是通过设置字段属性为ACTIVE或INVISIBLE,经过测试,发现,此方法无效。 解决方法:通过CODING修改tabctrl-cols下…

Delphi 11.3 FMX 多设备平台中使用 TGrid 实现类似 TDBGrid 的效果

Delphi Firemonkey 中 TDBGrid 这个控件已经没有了。如何实现类似这个效果呢。其实可以用TGrid 来实现。以下用 11.3 来讲解。 查询里面用到的 connection 和 query 等控件那些一般的数据库用法,就不做过多描述了。请参考其他资料。 方法一.通过界面配置来实现 在…

SocketTools.NET 11.0.2148.1554 Crack

添加新功能以简化使用 URL 建立 TCP 连接的过程。 2023 年 8 月 23 日 - 12:35新版本 特征 添加了“HttpGetTextEx”函数,该函数在返回字符串缓冲区中的文本内容时提供附加选项。添加了对“FileTransfer”.NET 类和 ActiveX 控件中的“GetText”和“PutText”方法的…

尚硅谷大数据项目《在线教育之离线数仓》笔记004

视频地址:尚硅谷大数据项目《在线教育之离线数仓》_哔哩哔哩_bilibili 目录 第9章 数仓开发之DWD层 P049 P050 P051 P052 P053 P054 P055 P056 P057 P058 P059 P060 P061 P062 P063 P064 P065 P066 P067 P068 P069 P070 第9章 数仓开发之DWD…

java学习网站_Java程序员必看的学习网站

哔哩哔哩 B 站动力节点官方视频 https://space.bilibili.com/76542346?spm_id_from333.337.0.0 超多视频免费白嫖 专注 java 培训的动力节点 毕业学员业内高薪就业,逐渐得到了业界广大的好评,被业界誉为 “口口相传的 Java 黄埔军校 “。 网址&#x…

开机自启CPU设置定频

sudo apt-get install expect sudo apt-get install cpufrequtils具体步骤如下: 安装 cpufrequtils 工具 ⚫ sudo apt-get install cpufrequtils ⚫ 需要联网下载修改配置文件 ⚫ sudo vi /etc/init.d/cpufrequtils ⚫ 将 GOVERNOR“ondemand” 改为: &g…

Java 四种访问控制权限

1.背景: 针对java的类成员访问控制权限理解 2.Java有四种访问控制权限: private,protected,public,default 他们的具体访问权限都是什么呢?用例子来分析一下: 这里要分几个情景:内…

VR直播现场直击,让你的眼界无限扩大

近日,日本核废水入海闹的沸沸扬扬,我们可以看到有多个直播是在直击日本福岛核污染水排海实时画面,由此可见,直播让我们民众的眼界无限扩大。直播行业现在也是一大热门,但是VR直播则更胜一筹,犹如亲临现场的…

【瑞吉外卖】所遇问题及解决方法

太菜了实习之余瑞吉外卖补充一下基础知识(,不然真啥也不会了。 请输入正确的手机号! 是因为我测试了我的手机号,爆红,以为方法有错。但其实是前端代码检查手机号是否符合规范的语句有点()啊啊…

年中盘点2023最佳中概股:AI东风能加成几分?

互联网中概股有了摘掉“终丐股”帽子的盼头。2023年第二个财报季,阿里、腾讯、百度、网易等头部互联网公司都传来了好消息,营收、利润实现显著增长,释放出积极的信号。而且经历了长达两三年的漫长探底,7月纳斯达克中国金龙指数迎来…

openGauss学习笔记-49 openGauss 高级特性-索引推荐

文章目录 openGauss学习笔记-49 openGauss 高级特性-索引推荐49.1 单query索引推荐49.2 虚拟索引49.3 workload级别索引推荐 openGauss学习笔记-49 openGauss 高级特性-索引推荐 openGauss的索引推荐的功能,共包含三个子功能:单query索引推荐、虚拟索引…

一百六十五、Kettle——用海豚调度器调度Linux资源库中的kettle任务脚本(亲测、附流程截图)

一、目的 在Linux上脚本运行kettle的转换任务、无论是Linux本地还是Linux资源库都成功后,接下来就是用海豚调度Linux上kettle任务 尤其是团队开发中,基本都要使用共享资源库,所以我直接使用海豚调度Linux资源库的kettle任务脚本 二、前提条…

扎实写完这篇博客

(论文阅读) 作者自述:到了新的实验室,原本的实验方向发生了巨大的改变,对自动驾驶和车联网一头雾水,所以从综述入手,了解轨迹预测任务的头尾,以及对于现阶段的研究点做出初步的统计和积累,为后…

高阶数据结构跳表

"想象为翼,起飞~" 跳表简介? skiplist本质上是一种查找结构,用于解决算法中的查找问题,跟平衡搜索树和哈希表的价值是 一样的,可以作为key或者key/value的查找模型。 跳表由来 skiplist是由美国计算…