ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

其他重要协议

2019-08-02 20:41:15  阅读:235  来源: 互联网

标签:协议 重要 其他 IP 代理服务器 DNS NAT ICMP 路由器


DNS(Domain Name System)

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

DNS背景

TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序,但是IP地址不方便记忆。

于是人们发明了一种叫主机名的东西,是一个字符串,并且使用hosts文件来描述主机名和IP地址的关系。

最初,通过互联网信息中心(SRI-NIC)来管理这个hosts文件的。

  • 如果一个新计算机要接入网络,或者某个计算机IP变更,都需要到信息中心申请变更hosts文件
  • 其他计算机也需要定期下载更新新版本的hosts文件才能正确上网。

这就太麻烦了,于是产生了DNS系统

  • 一个组织的系统管理机构,维护系统内的每个主机的IP和主机名的对应关系
  • 如果新计算机接入网络,将这个信息注册到数据库中;
  • 用户输入域名的时候,会自动查询DNS服务器,由DNS服务器检索数据库,得到对应的IP地址

DNS域名系统,简单描述其工作原理。

当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用一般不直接为用户使用,而是为其他应用服务,如HTTP,SMTP等在其中需要完成主机名到IP地址的转换。

 

至今,我们的计算机上仍然保留了hosts文件,在域名解析的过程中仍然会优先查找hosts文件的内容

cat /etc/hosts

域名使用 " .  "连接

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

 

ICMP协议

ICMP协议: 因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。

ICMP协议是一个网络层协议

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

ICMP功能

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

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

ping命令

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

注意注意注意!!!

有些面试官会问:telnet是23端口,ssh是22端口,那么ping是多少端口?

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

 

tracetoute命令

也是基于ICMP协议实现,能够打印出可执行程序主机,一直到目标主机之前经历多少路由器。

 

NAT技术

NAT技术背景

在IPv4协议中,IP地址数量不充足的问题

NAT技术当前解决了IP地址不够用的主要手段,是路由器的一个重要功能。

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

NAT IP转换过程

  • 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发送数据时就会生成表中的映射关系。

NAPT

如果局域网内,有多个主机都访问 同一个外网服务器,那么对于服务器返回的数据中,目的IP都是相同的,那么NAT路由器如何判定将这个数据包转发给哪个局域网的主机?

这个时候NAPT来解决这个问题,使用IP+port建立这个关联关系

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

NAT技术的缺陷

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

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

NAT和代理服务器

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

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

那么NAT和代理服务器的区别有哪些呢?

  • 从应用上讲,NAT设备是网络基础设备职意,解决的是IP不足的问题,代理服务器则是更贴近具体应用,比如通过代理服务器进行翻墙,另外像迅游这样的加速器,也是使用代理服务器
  • 从底层实现上讲,NAT是工作在网络层,直接对IP地址进行替换,代理服务器往往工作在应用层
  • 从使用范围上讲,NAT一般在局域网的出口部署,代理服务器可以在局域网做,也可以在广域网做,也可以跨网
  • 从部署位置上看,NAT一般集成在防火墙,路由器等硬件设备上,代理服务器则是一个软件程序,需要部署在服务器上

代理服务器是一种比较广的技术

  • 翻墙:广域网中的代理
  • 负载均衡:局域网中的代理

代理服务器又分为正向代理和反向代理

  • 正向代理用于请求和转发(例如借助代理绕过反爬虫)
  • 反向代理往往作为一个缓存

标签:协议,重要,其他,IP,代理服务器,DNS,NAT,ICMP,路由器
来源: https://blog.csdn.net/Soldier49Zed/article/details/98232278

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有