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

这篇具有很好参考价值的文章主要介绍了【Hello Network】DNS协议 NAT技术 代理服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

DNS

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

DNS背景

为什么要有域名

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

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

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

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

DNS介绍

它是怎么工作的

【Hello Network】DNS协议 NAT技术 代理服务器,网络,网络协议
我们在浏览器中输入网址之后 该网址就会首先发送给域名解析服务器

在解析完毕之后 域名解析服务器就会返回给我们一个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转换过程如下图
【Hello Network】DNS协议 NAT技术 代理服务器,网络,网络协议

  • 首先我们准备发送一个消息 目标地址是 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都统一了 假如说局域网中两台主机使用的端口号再一致 那么在数据返回的时候我们就无法确定 这是局域网中哪台主机发送的数据了

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

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

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

NAT技术缺陷

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

NAT和代理服务器

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

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

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

正向代理

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

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

反向代理

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

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

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

NAT和代理服务器的区别

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

正向代理和反向代理的区别文章来源地址https://www.toymoban.com/news/detail-672371.html

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

网络协议总结

应用层

  • 应用层的作用: 满足我们日常需求的网络程序, 都是在应用层
  • 能够根据自己的需求, 设计应用层协议.
  • 理解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

到了这里,关于【Hello Network】DNS协议 NAT技术 代理服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Hello Network】TCP协议

    作者:@小萌新 专栏:@网络 作者简介:大二学生 希望能和大家一起进步 本篇博客简介:较为详细的介绍TCP协议 TCP全称为“传输控制协议(Transmission Control Protocol)” TCP协议是当今互联网当中使用最为广泛的传输层协议 TCP协议被广泛应用 其根本原因就是提供了详尽的可靠性

    2024年02月03日
    浏览(41)
  • 【Hello Network】UDP协议

    作者:@小萌新 专栏:@网络 作者简介:大二学生 希望能和大家一起进步 本篇博客简介:简单介绍传输层和UDP协议 我们使用的TCP/IP协议中可以简单的把网络划分为四个部分 自顶向下分别是应用层 传输层 网络层和数据链路层 其中我们的HTTP协议就是应用层的协议 它是基于传输

    2024年02月02日
    浏览(33)
  • 【Hello Network】HTTP协议

    作者:@小萌新 专栏:@网络 作者简介:大二学生 希望能和大家一起进步 本篇博客简介:较为详细的介绍HTTP协议 HTTP(Hyper Text Transfer Protocol)协议又叫做超文本传输协议 是一个简单的请求-响应协议 HTTP通常运行在TCP之上 在编写网络通信代码时 我们可以自己进行协议的定制

    2024年02月03日
    浏览(34)
  • 【Hello Network】TCP协议相关理解

    作者:@小萌新 专栏:@网络 作者简介:大二学生 希望能和大家一起进步 本篇博客简介:补充下对于TCP协议的各种理解 我们要理解CLOSE_WAIT状态 首先要知道什么时候会出现CLOSE_WAIT状态 当我们的客户端和服务器通信的时候 客户端调用close函数关闭其文件描述符 此时客户端在底

    2024年02月03日
    浏览(37)
  • 网络技术学习十三:DNS(域名服务器)

    产生背景 通过IP地址访问目标主机,不便于记忆 通过容易记忆的域名来标识主机位置 域名的树形层次化结构 根域 领级域 主机所处的国家/区域,注册人的性质 二级域 注册人自行创建的名称 主机名 区域内部的主机的名称 由注册人自行创建和管理 用于域名和IP地址的互相解

    2024年02月09日
    浏览(39)
  • TCP/IP,UDP,DNS,NAT,DHCP,HTTP协议

    1.TCP/IP协议 TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个

    2024年01月17日
    浏览(48)
  • 【计算机网络笔记】Web缓存/代理服务器技术

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月08日
    浏览(43)
  • 解决网络协议服务器问题的关键:定位能力与抓包技术

    本文分享自华为云社区《提升网络协议服务器的定位能力》,作者:张俭。 近期,我再次涉足于协议服务器相关的工作领域,致力于定位并解决各种问题。简单总结一些心得给大家。如果想要定位出协议服务器的问题,那么这些能力可能至关重要。 注:我这里比较偏向协议

    2024年01月16日
    浏览(43)
  • 网络层IP协议和数据链路层--理解NAT/NAPT路由技术

    传输层 为 应用层数据报文 提供 传输策略 ,而 网络层 则为 传输层数据报文 提供网络传输路径规划( 基于路由节点的路径规划 ), 数据链路层 则负责将 网络层报文 传送给 局域网内 的其他主机 由于 数据链路层 存在 最大传输单元 MTU (数据链路层报文的最大字节数),因此 IP 协议

    2024年04月13日
    浏览(43)
  • DNSProxy: 快速、安全的DNS代理服务

    项目地址:https://gitcode.com/slene/dnsproxy DNSProxy是一个小巧而强大的DNS代理工具,由开发者slene维护并托管在GitCode上。它旨在提供一种简单且有效的方式来管理你的DNS查询,确保快速响应和隐私保护。本文将深入探讨该项目的核心功能、技术实现、应用场景以及其独特之处。 DNS

    2024年04月17日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包