什么是互联网协议(IP)
什么是互联网协议(IP)?
为了通过互联网发送某人的信息,您需要正确的地址-就像通过邮件发送常规信件一样。但是,在这种情况下,它是IP地址。就像信件收到邮票以确保到达正确的收件人一样,数据包也会获得IP地址。IP地址和邮政地址之间的区别在于它们本身不与特定位置相关:而是在建立连接期间自动或手动将它们分配给联网设备。“ Internet协议”在此过程中起着重要作用。
Internet协议:定义和历史记录。
Internet协议(IP)是无连接协议,是Internet协议套件(约500个网络协议的集合)的组成部分,负责数字网络中数据包的寻址和分段。IP与传输层TCP(传输控制协议)一起构成了互联网的基础。为了能够将数据包从发送方发送到收件人,Internet协议创建了一个数据包结构,该结构汇总了已发送的信息。因此,该协议确定如何描述有关数据源和目的地的信息,并将该信息与IP报头中的信息数据分开。这种数据包格式也称为IP数据报。
1974年,电气和电子工程师协会(IEEE)发表了美国计算机科学家Robert Kahn和Vint Cerf的研究论文,他们描述了基于Internet的前身ARPANET的双向分组网络连接的协议模型。除了TCP传输控制协议,此模型的主要组件是IP协议(除了特殊的抽象层),它允许跨不同的物理网络进行通信。此后,在“ TCP / IP”协议组合的基础上整合了越来越多的研究网络,该协议组合于1981年在RFC 971中被明确指定为标准。
IPv4和IPv6:不同版本号的背后是什么?
如今,那些关注特定IP地址特性的人,例如那些使计算机在本地网络中可寻址的IP地址,无疑将遇到IPv4和IPv6这两种变体。但是,尽管过去经历了广泛的变化,但这绝不是第四代或第六代IP协议。IPv4实际上是Internet协议的第一个正式版本,而版本号与使用TCP协议的第四个版本有关。IPv6是IPv4的直接继承者–由于经济原因,IPv5的开发被提前中止。
尽管自IPv4和IPv6以来没有再发布任何版本,但Internet协议自1974年首次提及以来已进行了修订(在此之前,它只是TCP的一部分,并不独立存在)。重点实际上是优化连接设置和寻址。例如,主机地址的位长从16位增加到32位,因此将地址空间扩展到大约40亿个可能的代理。有远见的IPv6具有128位地址字段,并允许大约340个六十亿分之一(一个数字,含37个零)的地址,从而满足对Internet地址的长期需求。
数据报的IP标头是如何构造的?
如前所述,Internet协议确保每个数据包在标头中都具有重要的结构特征,并被分配给适当的传输协议(通常为TCP)。该标题数据区已基本修订版本6,这就是为什么它是必要的IPv4和IPv6报头之间的指定。
IPv4标头的构造
每个IP标头始终以4位长的Internet协议版本号规范开头-IPv4或IPv6。然后还有另外4位,其中包含有关IP标头长度(IP标头长度)的信息,因为该信息并不总是保持恒定。报头的总长度始终根据该值乘以32位来计算。因此,在不添加任何选项的情况下,最小的标头长度为160个字节(相当于20个字节)。最大值为15到480位(相当于60个字节)。位8到15(服务类型)包括用于处理数据报和确定数据报优先级的指令。主机可以在此处指定要点的重要性,例如可靠性,吞吐量和数据传输延迟。
总长度指定数据包的总大小-换句话说,它将有用数据的大小添加到标头长度中。由于该字段的长度为16位,因此最大限制为65,635个字节。RFC 791中规定每个主机必须至少能够处理576个字节。如果需要,可以从主机到路由器或其他设备的途中对IP数据报进行分段,但分段不得小于上述576字节。IPv4标头上的其他字段具有以下含义:
● 标识:数据报的所有片段都具有与发送者相同的标识号。通过匹配此16位字段,目标主机可以将各个片段分配给特定的数据报。
● 标志:每个IP标头包含3个标志位,其中包含有关分段的信息和准则。第一比特被保留,并且总是具有值0的第二位,被称为“唐'吨片段”,通知分组是否可以被分段(0)或不(1)。最后一个“ More Fragments”位指示是否跟随其他片段(1)或该数据包是否已完成或将使用当前片段完成(0)。
● 片段对齐:此字段通知目标主机单个片段的位置,以便可以轻松地再次编译整个数据报。13位长度意味着可以将数据报拆分为8192个片段。
● 寿命(生存时间,TTL):为确保网络上的数据包不能无限期地从一个节点迁移到另一个节点,它以最大生存时间(生存时间)发送。RFC标准为此8位字段提供了秒单位,而最大生存期为255秒。对于已通过的每个网络节点,TTL至少减少1。如果达到值0,则将自动丢弃数据包。
● 协议:协议字段(8位)将相应的传输协议分配给数据包,例如TCP的值为6或UDP协议的值为17。正式名单的所有可能的协议已得到管理,并通过IANA(维护我NTERNET一个ssigned ň umbers一个uthority 2002年起)。
● 标头/校验和:16位的“校验和”字段包含标头的校验和。由于每个过渡的TTL逐渐减少,因此必须在每个网络节点上重新计算。出于效率原因,用户信息的准确性尚未得到验证。
● 源地址和目标地址:每32位(4字节)为源主机和目标主机分配的IP地址保留。这些IP地址通常以4个十进制数字(用点分隔)的形式写入。最低地址为0.0.0.0。,最高地址为255.255.255.255。
● 选项:选项字段使用标准设计中未提供的其他信息扩展了IP协议。由于这些只是可选的附加项,因此该字段具有可变的长度,该长度受最大报头长度限制。可能的选项示例包括:“安全性”(指示数据报的机密性),“记录路由”(指示已通过的所有网络节点,其遵循分组路由的IP地址)和“时间戳记”(在以下位置添加时间)传递了特定的节点)。
IPv4标头的构造
与其前身的标头不同,IPv6协议的固定大小为320位(40字节)。不太需要的信息可以分别附加在标准标题和用户数据之间。这些扩展头可以与IPv4协议的option字段进行比较,并且可以随时进行修改,而无需更改实际头。除其他外,您可以确定数据包路由,指定分段信息或通过IPSec启动加密通信。为了优化性能,不存在标头校验和。
与IPv4一样,实际的IP标头以Internet协议的4位版本号开头。以下称为“流量类别”的字段等效于旧协议变体中的“服务类型”条目。这8位与以前的版本相同,适用于这些规则:它们将数据报的定性处理通知目标主机。IPv6的新功能是FlowLabel(20位),它使从连续数据包中识别数据流成为可能。这样可以保留带宽并优化路由。
下表说明了改进的IP协议的其他标头信息:
用户数据的大小:IPv6传输所传输的用户数据大小的值,包括扩展头(总共16位)。在以前的版本中,该值必须与总长度减去标题行的长度分开计算。
下一个报头:8位的“下一个报头”字段与IPv4中的协议规范相对应,因此也承担了其功能-分配所需的传输协议。
一跳-limit:跳数限制(8位)定义了一个数据包可通过它被丢弃之前中间站的最大数目。就像IPv4中的TTL一样,每个节点的值至少减少1。
源地址和目标地址:大多数IPv6标头包含发送者和收件人的地址。如前所述,它们的长度为128位(IPv4地址的四倍)。标准符号也有显着差异。较新版本的Internet协议使用十六进制数字并将其分为8个块,每个块16位。使用双点代替简单的点将它们分开。例如,完整的IPv6地址看起来像这样2001:0db8:85a3:08d3:1319:8a2e:0370:7344.
Internet协议寻址如何工作?
为了使报头中的数据报能够对初始地址和目标地址进行基本说明,必须首先将它们分配给网络用户。通常在内部和外部或公共IP地址之间分配它们。前者保留了三个地址范围,用于在本地网络中进行通信:
● 10.0.0.0之二10.255.255.255
● 172.16.0.0之二172.31.255.255
● 192.168.0.0之二192.168.255.255
为IPv6网络提供了前缀“ fc00 :: / 7”。这些网络中的地址不在Internet中路由,因此可以在私有或公司网络中自由选择和使用。只要激活了自动地址分配并且正在使用DHCP服务器,就可以通过手动输入或自动在设备连接到网络后成功分配地址。借助子网掩码,也可以将这种类型的局域网选择性地划分为其他区域。
外部IP地址在连接到Internet时由各自的Internet提供商自动路由。互联网上的所有设备都通过公用路由器访问相同的外部IP。通常,提供商会每24小时从地址范围中分配一个新的Internet地址,该地址范围是由IANA分配给他们的。这也适用于几乎无穷无尽的IPv6地址库,这些地址仅部分释放以正常使用。此外,它不仅分为私人和公共地址,还可以通过在所谓的“地址范围”中具有更多用途的分类功能来进行区分:
● 主机范围:环回地址0:0:0:0:0:0:0:可以使用主机向自身发送IPv6数据报。
链接本地范围:对于IPv6连接,即使每台主机仅在本地网络上有效,也必须具有自己的地址。该链接本地地址由前缀“ fe80 :: / 10”标识,并且例如用于与标准网关(路由器)进行通信以生成公共IP地址。
● 唯一本地范围:这是上述地址范围“ fc00 :: / 7”,专用于本地网络配置。
● 站点本地范围:站点本地范围是现在已经过时的前缀“ fec0 :: / 10”,它也是为本地网络定义的。但是,一旦连接了不同的网络或在使用站点本地地址编号的网络之间建立了VPN连接,该标准即被视为已取代。
● 全局范围:任何想要连接到Internet的主机至少都需要其自己的公共地址。这是通过访问SLAAC(无状态地址配置)或DHCPv6(面向状态的地址配置)的自动配置获得的。
● 组播范围:可以使用IPv6将网络节点,路由器,服务器和其他网络服务分组为组播组。这些组中的每一个都有其自己的地址,该地址允许单个数据包到达所有涉及的主机。前缀“ ff00 :: / 8”表示跟随多播地址。
IP协议如何调节碎片
每当需要通过TCP / IP发送数据包时,都会自动检查总体大小。如果大小大于相应网络接口的最大传输单位,则信息将变得零散,即被分解为较小的数据块。发送主机(IPv6)或中间路由器(IPv4)接管此任务。默认情况下,数据包由接收者组成,接收者访问存储在IP标头或扩展标头中的分段信息。在特殊情况下,只要可以进行相应的配置,重组也可以由防火墙接管。
由于IPv6通常不再提供分段,也不再允许路由器分段,因此IP数据包在发送之前必须已经具有合适的大小。如果路由器到达的IPv6数据报大于最大传输单位,则路由器将丢弃它们并向发送方通知ICMPv6类型2“ Packet Too Big”消息。数据发送应用程序现在可以创建较小的无碎片数据包,也可以启动碎片。随后,将适当的扩展头添加到IP数据包,以便目标主机也可以在接收后重新组装各个片段。