IP 网际协议

1. 概述

IP 协议,网际协议,所有计算机网络都使用 IP 协议, 使得性能各异的网络在网络层上就像是一个统一的网络,在网络中传输数据包,上层协议使用TCP协议就是现在的互联网。

IP不提供可靠的传输服务,它不提供端到端的或(路由)结点到(路由)结点的确认,对数据没有差错控制,它只使用报头的校验码,它不提供重发和流量控制。如果出错可以通过ICMP报告,ICMP在IP模块中实现。

IP 由网络号 和 主机号 构成, 主机号在网络号表示的范围内必须唯一。以IPV4为例,如下图所示(该图出自《计算机网络第七版》,谢希仁老师编著,下同)。单位请求的IP地址指的是网络号,主机号有单位自己分配,但需要保证主机号唯一。

IP 网际协议_第1张图片

分为网络号和主机号的两级结构的好处,减少路由表中数据的存储,路由器可以根据仅靠网络号来转发分组。

IP数据报和TCP报文、MAC帧的关系,如下图所示:

IP 网际协议_第2张图片

2. 地址解析协议 ARP

地址解析协议 ARP。ARP协议只用在局域网中,它用来将IP地址解析为MAC地址(物理地址)。

局域网中的每个主机都有一个ARP缓存,它保存了最近发起的IP地址到MAC地址的映射记录,当该主机要向局域网中的某一主机发送数据时,它会先从自己的缓存中查找,看是否存在目标IP地址,如果找到了,就通过映射找到它的MAC地址,从而发送过去,如果没有找到该目的IP地址,它就向该局域网内发送一个广播,广播中包含自己的IP地址、MAC地址和目的主机的IP地址,局域网内的所有主机都会收到该广播,但只有目的IP地址的主机会做出回应,并把自己的MAC地址发送给源主机,源主机收到后,在自己的ARP缓存中增加上该映射,并根据发来的MAC地址将数据发送给目的主机。

ARP高速缓存中的表项一般都要设置超时值,如果一段时间内没有与某主机通信,就将该主机对应的IP与MAC之间的映射关系去掉,下次在需要通信时,依然发送广播。

如果ARP请求是从一个网络的主机到另一个网络的主机,那么连接这两个网络的路由器就可以回答该请求,这个过程成为ARP代理。

ARP协议 常与RARP协议(逆地址解析协议)配合使用,但现在已经被淘汰, DHCP协议中 包含 RARP 。

3. IP分片

以太网的MTU是1500。如果IP层有数据包要传,而且数据包的长度超过了MTU,那么IP层就要对数据包进行分片(fragmentation)操作,使每一片的长度都小于或等于MTU。我们假设要传输一个UDP数据包,以太网的MTU为1500字节,一般IP首部为20字节,UDP首部为8字节,数据的净荷(payload)部分预留是1500-20-8=1472字节。如果数据部分大于1472字节,就会出现分片现象。

IP 数据包的格式如下所示:

IP 网际协议_第3张图片

4. 子网掩码

子网掩码的作用:主机号再分成一个子网号和主机号,便将一个网络又划分成了若干子网,子网掩码与该子网中的IP地址相与,便得到该子网,另外,子网对于子网内部的路由器是不透明的(对于本网络以外透明),也就是说IP数据报传到该网络的网关时,网关再将该数据报传送到子网的默认路由器上,最后通过该路由器再交付给该主机。

子网掩码的用途:减少路由表中数据的存储。

对于A类地址来说,默认的子网掩码是255.0.0.0;

对于B类地址来说默认的子网掩码是255.255.0.0;

对于C类地址来说默认的子网掩码是255.255.255.0。

5. 路由器分组转发  

主机通过路由器和目的主机连接。主机通过IP数据报连接目的主机时,按照如下步骤搜索(同一网络中的搜索要经过ARP协议将目的主机的IP地址解析为MAC地址):

搜索路由表,优先搜索匹配主机,如果能找到和IP地址完全一致的目标主机,则将该包发向目标主机。

搜索路由表,如果匹配主机失败,则匹配同子网的路由器,这需要子网掩码的协助。如果找到路由器,则将该包发向路由器。

搜索路由表,如果匹配同子网路由器失败,则匹配同网号路由器,如果找到路由器,则将该包发向路由器。

搜索路由表,如果以上都失败了,就搜索默认路由,如果默认路由存在,则发包。

如果都失败了,报告转发分组失败。

参考文献:

  • 计算机网络/谢希仁编著. ——7版 ——北京:电子工业出版社,2017.1
  • https://blog.csdn.net/ns_code/article/details/29894111

  • https://blog.csdn.net/ever_peng/article/details/80054212

你可能感兴趣的:(#,----计算机网络,三,后端开发,计算机网络学习笔记)