5 网络层----IP协议相关技术

5.1 DNS(域名解析协议)

5.1.1 域名服务器

域名是分层结构,域名服务器也是对应的层级结构。
有了域名结构,还需要有一个东西去解析域名,域名需要由遍及全世界的域名服务器去解析,域名服务器实际上就是装有域名系统的主机。

由高向低进行层次划分,可分为以下几大类:

注:一个域名服务器所负责的范围,或者说有管理权限的范围,就称为区
我们需要注意的是:
1. 每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器
2. 每一级域名服务器都知道下级域名服务器的IP地址
3. 为了容灾, 每一级至少设置两个或以上的域名服务器


5.1.2 域名解析过程

(1) 输入域名后, 先查找自己主机对应的域名服务器,域名服务器先查找自己的数据库中的数据.
(2) 如果没有, 就向上级域名服务器进行查找, 依次类推
(3) 最多回溯到根域名服务器, 肯定能找到这个域名的IP地址
(4) 域名服务器自身也会进行一些缓存, 把曾经访问过的域名和对应的IP地址缓存起来, 可以加速查找过程

5.2 ARP(地址解析协议)

网络层实现主机之间的通信,而链路层实现具体每段链路之间的通信。因此在通信过程中,IP 数据报的源地址和目的地址始终不变,而 MAC 地址随着链路的改变而改变。

ARP 实现由 IP 地址得到 MAC 地址。

每个主机都有一个 ARP 高速缓存,里面有本局域网上的各主机和路由器的 IP 地址到 MAC 地址的映射表。

如果主机 A 知道主机 B 的 IP 地址,但是 ARP 高速缓存中没有该 IP 地址到 MAC 地址的映射,此时主机 A 通过广播的方式发送 ARP 请求分组,主机 B 收到该请求后会发送 ARP 响应分组给主机 A 告知其 MAC 地址,随后主机 A 向其高速缓存中写入主机 B 的 IP 地址到 MAC 地址的映射。

RARP是将ARP反过来,从MAC地址定位IP地址的一种协议

5.3 ICMP(网际控制报文协议)

ICMP的主要功能包括,确认IP包是否成功送达目标地址,通知在发送的过程中IP包被遗弃的具体原因,改善网络设置等。有了这些功能后,就可以获得网络是否正常、设置是够有误以及设备有何异常等信息,从而便于进行网络上的问题诊断。

ICMP 报文分为差错报告报文和询问报文。

Ping:

Ping 是 ICMP 的一个重要应用,主要用来测试两台主机之间的连通性。

Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。

Traceroute :

Traceroute 是 ICMP 的另一个应用,用来跟踪一个分组从源点到终点经历多少路由器。

Traceroute 发送的 IP 数据报封装的是无法交付的 UDP 用户数据报,并由目的主机发送终点不可达差错报告报文。

  • 源主机向目的主机发送一连串的 IP 数据报。第一个数据报 P1 的生存时间 TTL 设置为 1,当 P1 到达路径上的第一个路由器 R1 时,R1 收下它并把 TTL 减 1,此时 TTL 等于 0,R1 就把 P1 丢弃,并向源主机发送一个 ICMP 时间超过差错报告报文;
  • 源主机接着发送第二个数据报 P2,并把 TTL 设置为 2。P2 先到达 R1,R1 收下后把 TTL 减 1 再转发给 R2,R2 收下后也把 TTL 减 1,由于此时 TTL 等于 0,R2 就丢弃 P2,并向源主机发送一个 ICMP 时间超过差错报文。
  • 不断执行这样的步骤,直到最后一个数据报刚刚到达目的主机,主机不转发数据报,也不把 TTL 值减 1。但是因为数据报封装的是无法交付的 UDP,因此目的主机要向源主机发送 ICMP 终点不可达差错报告报文。
  • 之后源主机知道了到达目的主机所经过的路由器 IP 地址以及到达每个路由器的往返时间。

5.4 DHCP(动态主机设置协议)

使用DHCP之前,首先要架设一台DHCP服务器。然后将DHCP所要分配的IP地址设置到服务器上。此外还要将相应的子网掩码、路由控制信息以及DNS副武器的地址等设置到服务器上。

从DHCP中获取IP地址的流程,主要分为两个阶段

 5.5 NAT(网络地址转换)

专用网内部的主机使用本地 IP 地址又想和互联网上的主机通信时,可以使用 NAT 来将本地 IP 转换为全局 IP。

上图是一个以10.0.0.10 的主机与163.221.120.9 的主机进行通信的例子。途中的NAT路由器将发送源地址从10.0.0.10 转换为全局的IP地址(202.244.174.37)再发送数据,反之,当包从地址163.221.120.9发过来时,目的地址(202.244.174.37)先被转换为私有IP地址10.0.0.10 以后再被转发。

 在以前,NAT 将本地 IP 和全局 IP 一一对应,这种方式下拥有 n 个全局IP 地址的专用网内最多只可以同时有 n 台主机接入互联网。为了更有效地利用全局IP 地址,现在常用的 NAT 转换表把传输层的端口号也用上了,使得多个专用网内部的主机共用一个全局IP 地址。使用端口号的 NAT 也叫做网络地址与端口转换 NAPT。

 

在上图中,主机163.221.120.9 的端口号是80,LAN中有两个客户端10.0.0.10和10.0.0.11 同时进行通信,并且这两个客户端的本地端口都是1025 。此时,仅仅转换IP地址为某个全局地址202.244.174.37,会令转换后的所有数字完全一致。为此,只要将10.0.0.11的端口号转换为1026就可以解决问题。生成一个NAPT路由器的转换表,就可以正确的转换地址跟端口的组合,令客户端A、B能同时与服务器之间进行通信。

原文地址:https://www.cnblogs.com/xlzfdddd/p/10206636.html