前言:在当今高度信息化的社会中,互联网已经深刻影响了人类的生活方式和交流方式,从电子邮件的收发到视频会议的举行,从社交媒体的互动到云计算的广泛应用,这一切的背后都离不开网络通信协议的支持。
✨✨✨这里是秋刀鱼不做梦的BLOG
✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客
在正式开始讲解之前,先让我们看一下本文大致的讲解内容:
目录
1.IP协议的基本概念
首先先让我们学习一下什么是IP协议:
IP协议是TCP/IP协议簇中的核心协议之一,属于网络层协议,它的主要功能是实现网络中不同主机之间的寻址与数据传输,在TCP/IP模型中,IP协议作为中间层,承上启下,向上传递数据给传输层(如TCP、UDP),向下则将数据交由链路层处理。
当然我们要注意的是IP协议是一种不可靠协议,它不保证数据的可靠传输和顺序的一致性,至此,我们就粗略的了解了什么是IP协议了,那么接下来让我们看看IP协议是如何构成的和其都有哪些类型吧!
2.IP协议的结构与分类
(1)IP地址的结构
这里以IPv4为例,一个标准的IP地址由32位二进制数构成,通常用点分十进制表示,例如“192.168.1.1”这样,而IP地址可以划分为两部分:网络号和主机号,网络号是用于标识一个特定的网络,而主机号则用于标识该网络中的某个设备。
(2)IP地址的分类
——通常IPv4地址被划分为五类:
A类地址:适用于大型网络,范围从1.0.0.0到126.255.255.255,网络号占8位,主机号占24位。
B类地址:适用于中等规模的网络,范围从128.0.0.0到191.255.255.255,网络号占16位,主机号占16位。
C类地址:用于小型网络,范围从192.0.0.0到223.255.255.255,网络号占24位,主机号占8位。
D类地址:用于多播通信,范围从224.0.0.0到239.255.255.255。
E类地址:保留地址,范围从240.0.0.0到255.255.255.255。
——虽说是五类,但是其中A/B/C类地址才是最常用的。
以上就是IP协议的结构与分类的内容了!
3.子网划分与子网掩码
在日常应用中,我们为了实现更加灵活的网络管理与资源配置,会将单一网络进一步细分成更多个小型子网络,为此,IP协议引入了子网划分的机制。
那为什么要引入子网划分呢?
——子网划分的核心目的就是为了提高IP地址的利用率、提升网络安全性与可维护性,我们通过子网划分,将一个较大的网络拆分为若干逻辑上的子网络,从而避免资源浪费。
了解了为什么要引入子网划分,那它有什么作用呢?
——子网掩码是与IP地址配套使用的重要参数,它同样由32位二进制数构成,用于区分IP地址中的网络号与主机号,常见子网掩码如下:
255.0.0.0(对应A类地址)
255.255.0.0(对应B类地址)
255.255.255.0(对应C类地址)
例如,IP地址“192.168.1.100”和子网掩码“255.255.255.0”结合使用时,其网络地址为“192.168.1.0”,主机号为“100”,这样一来,管理员可以更容易地管理网络资源,并提高通信效率。
——以上就是子网划分与子网掩码的知识了!
4.IP数据报格式与结构
学习完上述的内容之后,让我们进行本篇文章的重点,IP数据报格式与结构,IP协议传输数据的最小单位称为IP数据报,而每一个数据报都包含两个部分:首部(Header)和数据部分(Payload)
【1】首部
从上边的图片中我们可以看到,IP数据报的首部长度通常为20字节(在无选项字段的情况下),而其中包含如下字段:
版本号(Version):指明使用的是IPv4还是IPv6。
首部长度(Header Length):单位为4字节,用于标明首部占用字节长度。
服务类型(TOS):用于标记服务优先级。
总长度(Total Length):用于记录整个IP数据报的长度。
标识(Identification)、标志位(Flags)与片偏移(Fragment Offset):其时用于分片和重组机制。
生存时间(TTL):用于限制数据报在网络中存活的时间。
协议(Protocol):用于指定传输层使用的协议,比如TCP或UDP等。
头部校验和(Header Checksum):用于验证头部是否在传输中被破坏。
源地址(Source IP Address)与目的地址(Destination IP Address):指明通信双方的IP。
——当然,我相信如果读者只是看上述枯燥的定义可能不能很好的理解每个字段的意思,那么接下来,我们使用生活中的例子来解释一下每个字段:
-
版本号:这就像你使用的操作系统版本,类似Windows 10或iOS。
-
首部长度:它就像是一个信封的内容长度,告诉你信封里装了多少内容,通常是20字节,在有更多内容时会变长。
-
服务类型:它就像快递的优先级标注,告诉网络如何处理这个包裹,是否要优先送达,还是可以延迟发送。
-
总长度:这个就像快递单上的总重量,包括了包裹和信封的重量。
-
标识:这就像每个快递包裹都有一个唯一的编号,用来在运输过程中追踪。
-
标志:就像是快递包裹上的特殊标记,指示包裹是否可以拆分运输,或者它是不是最后一个包裹。
-
片偏移:如果一个包裹被拆成多个部分,偏移就像是指示拆分后每部分在原始包裹中的位置。
-
生存时间:类似快递的有效期,包裹只能在路上待一定时间,过期就会被退回。
-
协议:它就想告诉你这个包裹到底要交给哪个部门处理,比如TCP或UDP就像是不同的快递公司。
-
首部校验和:就像检查包裹是否损坏,确保送达的包裹没有在路上被搞坏。
-
源地址:就是发件人的地址,告诉你包裹从哪里发出。
-
目的地址:收件人的地址,告诉快递员包裹要送往哪里。
-
选项:其就是一些附加的要求。
通过上边的解释之后,相信读者应该对每个字段都有了自己的理解了!
【2】数据部分
——数据部分承载来自传输层的有效负载,比如TCP段或UDP报文等。
5.IP数据的分片和重组机制
——在学习完了IP数据报格式与结构之后,接下来然我们学习一下IP数据的分片和重组机制:
(1)分片
首先先让我们学习一下分片的内容:
【1】分片触发时机
当IP层从上层接收到一个数据包,其大小超过下层链路的MTU时,就需要进行分片处理。
【2】分片流程
每个分片都会保留原始IP首部中的关键信息(例如标识字段、源/目标IP地址等),并更新相关字段:
标识字段在每一个原始IP数据报中唯一,所有分片保持一致;
标志中的MF位表示是否还有后续分片;
片偏移指出该分片在原始数据中的偏移位置,单位为8字节。
通过上述晦涩难懂的解释,读者可能第一次无法进行理解,这里我们举个例子,我们假设原始数据报长4000字节,链路MTU为1500字节,扣除IP首部长度(假设为20字节),则每个分片可携带1480字节数据,那么数据会被分成3个分片:前两个携带1480字节,最后一个携带剩余的1040字节,希望通过上述的例子,读者可以更好的进行理解。
(2)重组
——了解完了分片,那么重置又是怎么实现的呢?
重组工作由接收端主机的IP层负责,IP层根据分片的标识字段和偏移值,将所有分片按顺序拼接成完整数据报,如果某个分片丢失或出错,那么整个数据报将被丢弃。
至此我们就了解了一个数据报是如何进行分片和重组的了!
6.IPv6的简单介绍
通过上文我们知道了,虽然IPv4为互联网奠定了基础,但其32位地址长度企业已难以满足当前海量设备接入的需求,因此,IETF推出了下一代互联网协议——IPv6
(1)IPv6的地址表示方式
——IPv6地址长度为128位,采用冒号十六进制格式表示。
例如:
2001:0db8:85a3:0000:0000:8a2e:0370:7334,这样的设计提供了约3.4 * 10^38
个可用地址,这样就可以保证有足够的IP地址使用了!
(2)IPv6的优势
那么IPv6相较于IPv4有哪些优势呢?
地址空间巨大:彻底解决IPv4地址枯竭问题。
无需NAT:每个设备都能拥有公网地址,实现端到端通信。
更高效的路由机制:引入了简化的首部结构。
增强的安全性:IPSec在IPv6中为强制要求,提升传输安全。
支持自动配置:通过无状态地址自动配置减少管理负担。
注意:在现代的生活中IPv4的使用还是远超于IPv6的!!!但随着物联网和5G的发展,它将在未来发挥越来越重要的作用。
以上就是本篇文章的全部内容了~~~