您现在的位置是:首页 >学无止境 >传统协议大比拼之IP协议网站首页学无止境

传统协议大比拼之IP协议

忘忧记 2023-06-17 00:00:03
简介传统协议大比拼之IP协议


一、引言

其实我为什么要介绍这个ip协议呢.想来大家也不会陌生,IP协议属于网络层的内容,我之所以拿出来讲,是因为ip协议网络层非常重要的一环,它对我们实际的生活产生了非常重要的作用,至于它有什么神奇的,我接下来会慢慢的解释其中的原因.

二、IP协议的基本特点

2.1 IP协议的作用和基本功能

基本功能:IP协议是互联网协议族中最基础的协议之一,其作用是在Internet上实现数据包的传输。
至于它的基本功能就是地址管理和路由选择
地址管理:地址管理就是给每个网络的设备分配一个地址,这个地址是唯一的
路由选择:具体就是网络中的传输,要走哪条路线的

2.2 地址管理

其实针对地址管理,我们可以想象一下ip地址是怎么去给每个设备分配ip地址的,这里我们就需要看一下ip数据包的格式,来分析了.
在这里插入图片描述
综合以上图示,我们可以看到我们有32位源ip地址和32位目的IP地址.32位的ip地址代表这2^32=4,294,967,296,这么多ip地址,怎么去分配呢?实际上我们分配ip地址的方式也是经历了几个变化的.具体经历了哪些分配方式,我一一列举一下.


手动分配IP

最初,IP地址是手动分配的,即由管理员为每个主机分配唯一的IP地址,这种方式需要高度的人工干预,管理成本高,也不够灵活。
为什么一开始采用这种方式呢?谁也没想到,计算机会发展到今天,每一个人都有多个设备,多个设备都需要一个ip地址.突然有一天,发现ip地址突然不够用了,自然我们就要改变策略了.

动态主机配置协议(DHCP)

为了简化IP地址的管理,动态主机配置协议(DHCP)被引入。DHCP是一种自动分配IP地址的协议,允许主机在连接到网络时自动获取一个IP地址、子网掩码、默认网关和其他配置参数。DHCP服务器会在网络上动态分配IP地址,使得管理员只需要维护DHCP服务器即可,大大降低了管理成本。
使用一个简单的话就是,上网的时候才分配ip,不上网就不分配ip,但是这依然没有解决ip地址不够的问题,试问在当今互联网发展的时代,你真的能离开网络一分钟吗?恐怕几秒钟都不行吧

网络地址转换(NAT)

随着互联网的迅猛发展,IPv4地址的枯竭成为一个严重的问题。网络地址转换(NAT)被发明,以解决IPv4地址不足的问题。NAT是一种在IP数据包通过路由器或防火墙时重新写入源地址或目标地址的技术。它允许多台主机共享一个公共IP地址,并且增强了网络的安全性。
这段话估计有些抽象,我们简单来说,我们这个NAT机制就是划分了内网和外网,中间有一个设备把这个ip地址转换了而已,我画个示意图,大家就明白了.
在这里插入图片描述
另外的话,再举一个例子,来说明,具体的流程就如下.
在这里插入图片描述

IPv6

IPv6是下一代互联网协议,与IPv4相比,它具有更大的地址空间,更好的安全性和可扩展性。IPv6地址长度为128位,相对于IPv4的32位地址,IPv6能够提供约340万亿亿亿亿个IP地址,可以解决IPv4地址不足的问题。同时,IPv6还提供了更好的安全性和可扩展性,支持更多的协议和服务。
在这里插入图片描述
IPv6相对于IPV4从原来的32位变成了128位,可分配地址多了,自然就解决麻烦了,据说IPv6能为地球上的每一粒啥子分配IP地址.从跟本上解决了地址不足的问题.


2.2 路由选择

IP路由选择的功能是决定数据包从源地址到目的地址的传输路径
其实就是决定一个东西到另一个地方去.实际上我们发送数据要经历的过程.在实际的网络过程中,我们也有可能堵车,所以我们才有了路由选择协议.
在这里插入图片描述

RIP(距离向量型的协议)

  • 距离矢量路由协议,通过交换跳数信息构建路由表
  • 最大跳数限制为15,超过15跳视为不可达,用于小型网络
  • 收敛速度慢,网络拓扑变化时需要较长时间重新收敛
  • 简单易实现,适用于小型网络

OSPF(链路状态类型协议)

  • 链路状态路由协议,通过广播链路状态更新信息构建完整的网络拓扑图,然后使用Dijkstra算法计算最短路径
  • 支持网络分区和路径冗余,用于中大型网络,可支持数万台路由器
  • 收敛速度快,网络变化时可以快速重新收敛新的最短路径
  • 配置和实现较为复杂

BGP(边界网关协议)

  • 路径矢量路由协议,通过与相邻路由器交换路径信息更新路由表
  • 主要用于连接不同的自治系统网络,实现自治系统间的路由选择
  • 通过AS路径属性避免路由循环,每个AS只出现一次
  • 支持手动配置路由策略,实现路由选择的灵活控制
  • 全球公用互联网上部署最广的路由协议

这里我们知识简单的解释一下路由选择协议,这并不是我必须要去解释的,大家感兴趣,可以去了解一下.

2.3 IP协议的特点:

无连接、不可靠、分组交换、最大传输单元(MTU)等。

  1. 无连接:IP协议是无连接的,它不在发送方和接收方之间建立和维护连接状态。每个数据包的传输是独立的。

    2.面向数据包:IP协议面向数据包提供服务,它不保证数据包的有序到达,也不提供差错控制和流量控制。这简化了协议,并使其适用于几乎任何类型的网络。
    3.可变长度:IP数据包的长度是可变的,可以在40~65515字节之间。这使得IP有足够的灵活性来运行各种网络应用。

    4.无路由的:IP协议本身并不定义具体路由过程,只定义了路由选择的接口和相关信息。实际路由过程由路由协议如RIP、OSPF和BGP来定义。这使得IP协议本身保持简单,可以根据不同的网络采用不同的路由协议。

    5.提供最佳努力的交付:IP协议不保证数据能够被如期交付,它只是尽最大努力完成数据交付。拥塞和错误是可以接受的。需要更强可靠性的应用可以使用上层TCP协议。
    6.通过TTL实现数据报文生存期控制:每个IP数据报文都有一个生存期字段,通常称为Time to Live(TTL)。它用于在数据报文的生存期到期之前丢弃该数据报文,并通知发送方。这可以防止数据报文无限期循环。

    7.提供片段化与重组:为了适应不同网络中的最大传输单元(MTU),IP协议提供数据报文的分片与重组功能。这使得IP可以在具有不同MTU的异构网络中工作。

三、IP地址的组成

一般来说,IP地址由网络号和主机号组成.
网络号:标识网段,保证相互连接具有不同的标识
主机号:标识主机,同一个网络段内,主机之间具有相同的网络号,但是必须有不同的主机号.
大概是怎么一回事呢,我们在实际网络中,我们可以看一下下图.
在这里插入图片描述

3.1 IP地址的分类

1. 按A/B/C类

大概如下图所示
在这里插入图片描述

2.按照子网掩码分类

  • 255.0.0.0:A类地址,8位网络号,24位主机号
  • 255.255.0.0:B类地址,16位网络号,16位主机号
  • 255.255.255.0:C类地址,24位网络号,8位主机号
  • 255.255.255.224:27位网络号,5位主机号,用于划分小型子网
    在这里插入图片描述

3.CIDR 与VLSM

  • CIDR:无类别域间路由选择,使用从1到32的自然数表示子网掩码中当前有多少个网络号位,如/24表示24位网络号,/30表示30位网络号。
  • VLSM:可变长子网掩码,允许不同子网使用不同长度的子网掩码,实现更加灵活的地址划分,提高地址利用效率。

4.全局地址与私有地址

  • 全局地址:由ICANN统一分配的网络号,用于互联网,如A/B/C类地址和大部分CIDR地址。
  • 私有地址:用于专用网络,不可直接访问互联网。如:
    10.0.0.0 - 10.255.255.255
    172.16.0.0 - 172.31.255.255
    192.168.0.0 - 192.168.255.255

3.2 特殊的IP地址

环回地址

  1. 这是一个IPv4地址,属于A类地址,但其网络号全部为127,不属于任何一类常规地址范围。
  2. 这个地址指向本地主机,发送到这个地址的数据包会直接回送给本地主机。
  3. 这个地址通常用于测试网络协议和网络应用是否已正确安装和运行。如可以Ping 127.0.0.1来测试ICMP协议栈是否正常工作。
  4. 这个地址允许网络应用在本地主机上进行通信,就如同在网络上一样。这是很多网络应用在单机上运行的基础。
  5. 这个地址不可以用于主机之间的通信,只适用于本地主机上进程间或应用间的通信。
  6. 这个地址通常也被写成 localhost,这是一个域名而非Address。但会被自动解析为127.0.0.1地址。
  7. 127.0.0.1 对应的子网掩码为 255.0.0.0,但这个地址不参与任何子网划分,其全部位全为网络号。

广播地址

  1. 广播地址为网络或子网的全部主机位全为1,如Subnet 255.255.255.0的广播地址为255.255.255.255。
  2. 发送到广播地址的数据包会被网络或子网内的所有主机接收和处理。这使得一台主机可以快速地与网络或子网中的所有其他主机通信。
  3. 广播数据通常不会被路由器转发,只在本地网络或子网内传播。
  4. 由于所有主机都需要处理广播数据包,因此过多的广播流量会导致网络性能下降。所以,广播地址应谨慎使用。
  5. 一些协议如ARP、DHCP、NetBIOS等使用广播地址来实现局域网内的主机发现、地址分配等功能。
  6. 大多数路由器和交换机默认都会对广播流量进行限制以减少对网络性能的影响。部分设备也提供广播风暴控制功能。
  7. 广播地址是IP地址空间中比较特殊的一种地址,是所有主机的集合地址。但它又不具备唯一对应的物理网络接口。
    在这里插入图片描述

网关

  • 默认网关是主机进行数据包转发的第一个跳跃点。当主机要访问不在本地子网的网络时,它会将数据包转发到默认网关。
  • 默认网关通常是一个连接多个网络的路由器接口地址。它提供了主机访问外部网络的通道。
  • 主机的默认网关由系统管理员手动配置,或通过DHCP自动获取。
  • 在主机的IP配置中,默认网关是必要的参数之一。如果没有指定默认网关,主机将无法访问外部网络。
  • 同一个物理网络上的主机默认网关地址通常相同,指向连接它们的上级路由器。

在这里插入图片描述
这个网关就是局域网的出入口.


四、IP协议的工作过程

IP数据包的传输流程

  • 源主机将要传输的数据进行IP封装,形成IP数据包
  • 源主机将IP数据包发送到默认网关(默认路由)
  • 默认网关检查目的IP地址,进行路由选择决定数据包的转发路径
  • IP数据包沿着转发路径经过网络内各节点(路由器),直到到达目的主机
  • 目的主机进行IP解封装,取出原始数据

IP数据包的封装和解封装过程

  • IP封装:在网络层,源主机获取上层传输下来的报文段,加上IP头部形成IP数据包。IP头部包含源/目的IP地址,TTL,协议类型等信息。
  • IP解封装:在目的主机网络层,去除IP数据包的IP头部,提取出原始的报文段,提交给上层协议处理。

IP协议的路由选择和转发过程

  • 源主机默认路由器收到IP数据包后,检查目的IP地址,在自己的路由表中寻找最佳匹配路由条目。
  • 如果找到了匹配路由,则根据该路由的出接口转发IP数据包;如果没有找到匹配路由,则丢弃数据包
  • 中间各级路由器同样进行路由选择,直到IP数据包到达目的主机所在的网络。
  • 选择路由时,路由器会考虑路由的网络前缀,子网掩码及其它路由属性,选择最具体匹配的路由。
  • 路由表中的路由可以来自静态配置也可以来自动态路由协议。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。