TCP/IP学习——IP协议的辅助协议

 

在TCP/IP网络模型中,网络层仅凭借IP协议是无法实现通信功能,还需要其他技术或者协议辅助实现。比如在进行web页面访问时,不会直接输入IP地址进行通信,而是输入网址,那么就需要一种技术将这个网址转换为对应的IP地址才行。下面介绍几个常见的辅助IP协议的技术协议。

1. DNS(域名解析)

    1. 传统的IP地址是非常不便于记忆的,即使其已经转换为人们便于理解的十进制数字,但仍然是难以记忆的,所以就产生了域名,每一个域名都对应着一个IP地址。而域名与IP地址间的对应关系,就是由DNS系统进行管理。

    2. 域名:是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。比如www.baidu.com、www.oschina.net、www.csdn.net;域名结构是类似于树形结构的分层。

    3. 域名服务器:指的是安装有管理域名的软件的主机设备,域名服务器就是专门用来管理保存域名与IP地址的对应关系的。因为域名是分层的,所以域名服务器也是分层的,每一层域名服务器都管理所在层的域名,以及保存着下一层域名服务器的IP地址

    4. DNS解析器:进行DNS查询的主机和软件就是DNS解析器,比如个人电脑。

    5. DNS查询:解析器查询域名对应的IP地址时,首先会在所在的域名服务器中进行查询(实际上会先进行查询缓存,查询缓存会将之前查询完成的结果保存在缓存中),如果能找到对应的IP地址,那么就返回,如果不能找到对应的IP地址就会向上一层域名服务器进行查询,直到根域名服务器,查询完成后就将结果返回。

2. ARP

    1. ARP是一种解决地址问题的协议,以IP地址为目标,用来定位下一个应该接受数据分包的网络设备的MAC地址,该协议仅适用于IPv4。

    2. IP协议在数据链路层的问题:我们知道对于IP协议来说,通过IP地址进行定位寻址就可以找到主机位置,IP协议是跨数据链路的,但是在数据链路层中数据传输实际需要跨越多个路由节点以及多段数据链路才能到达目标IP地址,比如数据包到达了路由器A处,我们应该如何确定下一个路由节点的选择?不可能携带IP数据包对路由器B和E进行试探广播,这样的代价太巨大。

8de9bf9d8be5e102d05123a8ed34821204f.jpg

    3. ARP协议就是为解决这个问题产生的,比如主机A在发送IP数据包之前,会首先进行对同一段数据链路上的所有主机或路由节点(D和C节点)进行广播ARP请求数据包,这个数据包中包括了目标主机的IP地址,如果数据包可以被某个路由或主机接收,那么就会返回响应包,响应包中就包括了接收数据包的主机或路由的MAC地址,主机A接收到这个MAC地址后,就会在数据包的首部加上首部信息,主要包括发送端MAC地址和目标MAC地址。而为了减少ARP的请求次数,也添加了一个缓存处理,每次都会将ARP请求得到的MAC地址与IP地址对应起来并缓存。

7c332fa9e4bbf4453dec9fd9e7bc2739014.jpg8fb9aacaa93aab55c0fc7da7b696913dae2.jpg

3. ICMP

    1. ICMP是一种用来进行网络诊断的协议,其协助IP协议确认IP包是否成功送达目标地址,并且通知IP包被抛弃的原因。比如下图中主机A向主机B发送了数据包,数据包到达路由器2时,路由器2会通过ARP协议去探寻主机B的MAC地址,如果主机B关机的话,ARP响应失败,路由器2就会返回一个ICMP数据包给发送者主机A,数据包中包括发送失败的原因。

9fcc853bfc0864821b94cdb75d2b074767c.jpg

    2. ICMP消息类型:ICMP有多种消息类型,包括目标不可达、路由重定向、超时等。目标不可达就是说明IP数据包无法送达目标地址(不可达的具体原因也会在ICMP消息的数据包中表达);路由重定向就是指发送的数据包采用了次优的路由路径,返回的消息中会包含最优的路由信息;而超时是通过IP协议首部信息中的TTL(生存周期)字段数据来实现判断的,每经过一个路由器TTL就会减1,如果减到为0时数据包仍未到达目标主机,那么就会抛弃IP数据包并返回超时的ICMP消息。

4c48eb84c1da9669a9799525b9034a82434.jpg

    

4. DHCP

    1. MAC地址是与网卡绑定的,如果一台主机的网卡不变,那么MAC地址也不会改变,但是IP地址就不同了,主机的IP地址是被分配的,也就是说如果主机更换地点(尤其是对于笔记本电脑等),其IP地址都会发生改变。如果IP地址要由手动分配的话就会很复杂麻烦,所以就出现了DHCP协议,实现自动IP地址分配、统一管理IP地址分配,也就是说,只要有DHCP并且连接到网络,就可以进行TCP/IP通信。比如家里安装路由器后连接网络时,都会如下图所示设置自动获取分配本机的IP地址以及DNS服务器地址。

32b30a28f61c9b8a4a56414e2ace5756652.jpg

    2. DHCP工作机制:也就是用一个DHCP服务器保存所有要分配的IP地址、路由控制、子网掩码以及DNS服务器地址等数据,然后当DHCP客户端在网络中发现新的网络主机或路由器时,就会从DHCP服务器中取得一个可用的IP地址来分配给主机或路由。当然,如果DHCP服务器挂掉,那么该服务器所负责的所有网络节点也就都会无法连接。

5.  IP隧道

    1. 如果A区和B区网络使用的是IPv6协议,而A区与B区通过C区网络间接相连,但C区网络使用IPv4协议,这个时候肯定是无法直接进行通信的,所以就需要IP隧道技术来保证正常通信。

f966909cadd738f4222179c1b26dbf8c020.jpg

    2. IP隧道:IP隧道指的是在数据包的网络层协议首部信息之前再次追加一个网络层协议首部信息的通信方法,也就是说将网络A中传过来的IPv6数据包看作数据,在这个数据首部添加IPv4协议首部信息后在发送给网络C。

aaa544de16c7665f42fd97c2fc6fa2448cd.jpg

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章