IPv4与IPv6的关系

评论 0 浏览 0 2021-09-17

在今天的技术时代,我们见证了互联网和网络设备使用的巨大飞跃。每个家庭都有笔记本电脑、智能手机、数字手表、物联网设备、家庭自动化组件,以及其他与家庭网络或互联网相连的设备。设备之间通过各种网络协议进行通信,其中TCP和IP是最经常使用的协议。每个连接到网络的设备都必须有一个IP地址,以识别网络上的设备。

这篇文章解释了互联网协议以及IPv6与IPv4的区别。

什么是 IP(互联网协议)

作为人类,我们使用我们的名字来识别和交流。同样,在计算世界中,设备使用IP地址来识别和相互交流。所有计算设备用于相互通信的共同语言被称为协议。与人类语言相似,协议也有一套规则,用于格式化和处理数据。

names

互联网协议(IP)是一套规则,规定了计算机之间的寻址和数据路由。它主要用于网络传输协议,如TCP和UDP。

互联网今天的存在就是因为这种独特的寻址模式。IANA管理着连接到互联网的网络/网站的IP地址范围。然而,如果我们运行一个孤立的本地网络基础设施,我们可以根据自己的喜好来分配号码。现在,让我们来了解一下这两种架构的细枝末节及其比较分析。

Ipvch

互联网协议(IP)的第一个主要版本是版本4(IPv4)。它使用32位网络寻址模式,进一步分成四个8位数,称为八位数。例如,google.com的IP地址为141.251.36.46。这种格式被称为点状四字节符号。这些IP地址可以手动配置或通过DHCP服务器自动获得。

为了检查远程设备的实时状态,我们可以使用ping命令对该IP进行ICMP探查:

ping -c 1 google.com

输出

PING google.com (142.251.36.46) 56(84) bytes of data.
64 bytes from ams17s12-in-f14.1e100.net (142.251.36.46): icmp_seq=1 ttl=116 time=247 ms

...

IP地址被分成两部分,网络和主机地址,用于创建子网络。子网号码有助于决定IP的网络和主机部分。另外,可用的IP空间被划分为五个不同的等级,如下表所示。

地址类IP区间子网掩码网络的数量每个网络中的主机数量
A级1.0.0.0 至 126.0.0.0255.0.0.012616,777,214
B类128.0.0.0 至 191.255.0.0255.255.0.016,28265,534
C级192.0.0.0至223.255.255.0255.255.255.02,097,150254
D级224.0.0.0 到 239.255.255.255多重播送
E级240.0.0.0至255.255.255.255研究/保留/试验性

子网的计算涉及到屏幕后面的一些数学红字。为了方便我们的计算,我们可以使用ipcalcsubnetcalc等工具来计算IPv4子网。下面的片段显示了如何使用这些工具:

ipcalc 110.0.20.18/24

输出

Address: 110.0.20.18 01101110.00000000.00010100. 00010010
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 110.0.20.0/24 01101110.00000000.00010100. 00000000
HostMin: 110.0.20.1 01101110.00000000.00010100. 00000001
HostMax: 110.0.20.254 01101110.00000000.00010100. 11111110
Broadcast: 110.0.20.255 01101110.00000000.00010100. 11111111
Hosts/Net: 254 Class A
subnetcalc 192.168.10.15/24

输出

Address = 192.168.10.15
11000000 . 10101000 . 00001010 . 00001111
Network = 192.168.10.0 / 24
Netmask = 255.255.255.0
Broadcast = 192.168.10.255
Wildcard Mask = 0.0.0.255
Hosts Bits = 8
Max. Hosts = 254 (2^8 - 2)
Host Range = { 192.168.10.1 - 192.168.10.254 }
Properties =
- 192.168.10.15 is a HOST address in 192.168.10.0/24
- Class C
- Private
GeoIP Country = Unknown (??)
DNS Hostname = (Name or service not known)

通常情况下,IP地址是给终端主机和路由器网关接口的,如下图所示。

internet-routing

在这里,来自机器A(10.235.64.58)的流量击中了互联网云左边的路由器网关接口(10.235.64.57)。它通过互联网路由到达谷歌服务器网关,最后到达目标服务器。

要识别网络接口IP,你可以使用诸如ifconfighostnameip这样的命令。

ifconfig ens160

输出

ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.235.64.58 netmask 255.255.255.252 broadcast 10.235.64.59
inet6 fe80::fc7f:d8da:a969:1c1d prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:23:6f:30 txqueuelen 1000 (Ethernet)
RX packets 35607241 bytes 34540488400 (34.5 GB)
RX errors 0 dropped 12 overruns 0 frame 0
TX packets 24701952 bytes 15008379564 (15.0 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
hostname -I

输出

10.235.64.58

有一些特殊用途的网络IP地址,如0.0.0.0127.0.0.1。前者是默认路由或四位数路由,而后者被称为回环地址。

在下面的片段中,我们将看到内核IP路由表和该网络的默认路由。标志 "U "代表网络路由是向上的,而 "G "表示网络路由是网络网关。

netstat -rn | grep ens160

输出

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.235.64.57 0.0.0.0 UG 0 0 0 ens160
10.235.64.56 0.0.0.0 255.255.255.252 U 0 0 0 ens160

通常情况下,IPv4数据报由一个20字节的头字段、选项字段和长度可变的数据字段组成。样本数据包的格式如下所示。

ipv4-packet

下面,Wireshark捕获有助于从实时流量中破译数据包头信息。

wireshark

ipvsh

互联网协议第6版是互联网协议(IP)的更新版本。互联网协议第6版旨在取代旧版(IPv4),截至2018年,旧版承载了75%的互联网总流量(来源:谷歌IPv6统计)。

IPv6 地址是 128 位(16 字节),使用 32 个十六进制数字,而这些数字进一步分为八组,每组四位数字以便于管理。下面显示了一个简要说明。

ipv6

在IPv6的命名规则中,有几个基本的步骤。

规则1:所有字母都不区分大小写。例如,'ab41'等于'AB41'.。规则2:带有'0'的连续字段可以被看作是"::",但在一个寻址中只有一次。规则3:在一个字段中表示前导零是可选的。例如,'001a'等于'1a'。

例如,让我们来看看IPv6的地址,45ab:0000:a179:0000:0000:c1c0:abcd:0876。

应用规则1 => 45ab:0000:a179:0000:0000:c1c0:abcd:0876。应用规则2 => 45ab:0:a179:0:0:c1c0:abcd:876。应用规则3 =>45ab:0:a179::c1c0:abcd:876

有三种类型的IPv6地址:单播、组播和任播。单播地址是指单个网络接口和传递到该特定接口的数据包。此外,单播地址有本地(链接本地)和全局范围级别。多播地址是指数据包被传送到的组接口。任播地址是群组接口,数据包被传送到最近的接口。

以下是几个著名的地址。

]::1/128环回地址
ff00::/8组播地址
fe80::/10链路局域地址
2001::/16常规的IPv6单播地址
2002::/166to4单点播送地址
subnetcalc 2001:4860:4860::8888/64

输出

Address = 2001:4860:4860::8888
2001 = 00100000 00000001
4860 = 01001000 01100000
4860 = 01001000 01100000
0000 = 00000000 00000000
0000 = 00000000 00000000
0000 = 00000000 00000000
0000 = 00000000 00000000
8888 = 10001000 10001000
Network = 2001:4860:4860:: / 64
Netmask = ffff:ffff:ffff:ffff::
Wildcard Mask = ::ffff:ffff:ffff:ffff
Hosts Bits = 64
Max. Hosts = 18446744073709551616 (2^64 - 1)
Host Range = { 2001:4860:4860::1 - 2001:4860:4860:0:ffff:ffff:ffff:ffff }
Properties =
- 2001:4860:4860::8888 is a HOST address in 2001:4860:4860::/64
- Global Unicast Properties:
+ Interface ID = 0000:0000:0000:8888
+ Sol. Node MC = ff02::1:ff00:8888
GeoIP Country = United States (US)
DNS Hostname = dns.google

同样,IPv6数据包有头和有效载荷。头部大小固定为40字节,源和目的地址占32字节。样本数据包的格式如下所示。

ipv6-packet

虽然IPv6有很多优点,但它不能取代IPv4。两个协议版本必须共存一段时间才能实现无缝迁移。因此,服务提供商正在提供一个双栈支持系统,它拥有一个能够理解IPv4和IPv6数据包的网络接口。

有一些智能过渡机制,即IPv6隧道、IPv4映射IPv6地址等。前者将IPv6数据包封装在IPv4中,而后者在双协议栈实施中将IPv6映射到IPv4地址。

IPv4与IPv6--快速比较分析

特点介绍互联网协议--第四版[IPv4]。互联网协议--第6版[IPv6]。
部署&分配19811999
长短32位的128位的
地址空间4.29 x 10^93.4 x 10^38
格式化的问题点状十进制/ [10.235.64.56] 。十六进制/[2400::4]。
八位数的数量4个16
页眉尺寸从20 - 60字节不等。40个字节
阶级五个等级:A类、B类、C类、D类、E类无人问津
安全特性/认证和加密不详可用的
校验和可用的不详
安全协议外部的和可选择的内在的功能
合计数由TTL字段表示由Hoplimit字段表示的
碎片化由发送方和转发方路由器执行只由发件人完成的
选项字段在IPv4头中提供的没有可选字段,但可以使用IPv6扩展头文件
多重播送IGMP管理多播组的成员资格MLD取代了IGMP
广播信息可用的不可用。使用了组播
IP到MAC的映射地址解析协议邻里发现协议

总结

我们探讨了互联网协议的基础知识及其版本。一路走来,文章通过比较分析,阐明了IPv4和IPv6的寻址模式、数据包格式和功能。尽管今天IPv4承载了大部分的互联网流量,但IPv6是网络世界的未来。

关于作者

Sriram Ramanujam

一个经验丰富的全球网络自动化架构师,在开发网络自动化、工程设计、运营和遥测的可扩展解决方案方面拥有10年以上的丰富行业经验。

最后更新2023-05-12
0 个评论
标签