IPv4协议讲解

IPv4,全称为Internet Protocol version 4,是一种用于在互联网上标识设备的标准。它是一种32位的二进制数,通常以点分十进制的形式表示,例如192.168.1.1。IPv4地址的主要作用是为互联网上的每个网络和每台主机分配一个唯一的逻辑地址,以便它们之间可以进行通信。

以下是关于IPv4的一些关键信息:

地址结构:IPv4地址由两部分组成,即网络部分和主机部分。网络部分标识主机所属的网络,而主机部分则标识该网络上的具体主机。
子网划分:通过子网掩码可以将IPv4地址分为不同的子网,这有助于组织内部网络并提高IP地址的使用效率。
查看方法:在电脑上查看IPv4地址通常可以通过操作系统的网络设置或命令行工具来完成。例如,在Windows系统中,可以使用ipconfig命令来查看IPv4地址。
协议族:IPv4是TCP/IP协议族中的核心协议之一,它与TCP(传输控制协议)和UDP(用户数据报协议)等其他协议一起工作,以确保数据的有效传输。
地址耗尽:由于IPv4地址的数量有限(总共有2^32个),随着互联网的快速发展,可用的IPv4地址已经接近耗尽。这是推动IPv6(下一代互联网协议)发展的主要原因。
IPv6比较:IPv6是为了解决IPv4地址耗尽问题而设计的,它使用128位地址,提供了更多的地址空间。IPv6还引入了许多改进,如简化的数据包头部、改进的安全性和更好的支持移动设备。

IP协议

IP协议,全称Internet Protocol(互联网协议),也是TCP/IP协议体系中最核心的协议之一,通过IP地址,保证了联网设备的唯一性,IP最大的特性是为两个终端之间的通信提供更高的效率、更高的传输速度,也带来了弊端,就是无连接以及不可靠的传输。

IPv4协议讲解_第1张图片
IP协议中提供了IP地址,在数据包中包含源目IP地址,中间处理数据包的路由器可以根据目的地址查询路由表来得到转发的方向(交给谁处理)
IP地址中的源IP给接收方提供了一个回复的信息,它可以根据这个源进行正确的响应。
IP协议虽然数据包中包含了源目地址信息,但是一旦这个数据包发送出去后,不一定保证能够到达地方,比如中途路由线路坏了或者它也不知道目的地怎么走(类似于快递中丢件了),这里就正好体现了IP协议的弊端,无连接以及不可靠的传输特性。那带来了一个问题,如果真出现了丢包,IP协议不能处理,谁处理呢?TCP协议处理。

IP协议的报文格式

那么在IP协议中它也有自己的报文格式,正式因为有了这个格式,数据在从上往下封装的时候,才能完整的生成一个对应每层的头部。

IPv4协议讲解_第2张图片
 版本:4个比特,标识当前的IP协议版本,这里为IPV4(IPV6的数据包结构有所调整)。
 头部长度:4个比特,标识整个IP头部的长度,正常情况下IP头部为20个字节,最大为60字节。
 服务类型:8个比特,为不同的IP数据包给予不同的服务质量,用于QOS技术。
 总长度 :16个比特,标识IP头部以及上层数据的数据包大小,IP包最大为65535个字节。
 标识符:16个比特,用来实现IP分片的重组功能,为每个分配打上标记。
 标记符:3个比特,用来表示是否还有IP分片或是否允许分片。
 分片偏移:13个比特,明确告诉这个IP分片的位置,方便接收端收到后进行IP分片的重组。
 生存时间:8个比特,早期定义是这个数据包在传输中的时间单位,但是后续发现不可行,改成了每经过一个三层设备,TTL减少1,直到变成0则直接丢弃,避免数据包在网络中无休止的传递,起到了防止环路的作用,并且每个系统的TTL不一样,Windows个人版本TTL为64,Windows服务器版本为128,Linux为64,常见的网络设备为255跟64两种。
 协议:8个比特,标识IP协议上层使用的协议,第二章介绍到的TCP协议号为6,UDP协议号为17(这个会随着学习慢慢的接触更多,目前记住TCP与UDP的协议号即可)
 头部校验和:16个比特,用于检验IP数据包是否完整以及被修改,校验失败则直接丢弃。
 源地址:32个比特,表明发送端的IP地址
 目的地址:32个比特,表明目的端(接收端)的IP地址。
 可选项:这个字段很少使用。

IPv4地址的格式

在IP协议的报文中,可以得知IP地址是有32个比特,IP地址在计算机中是以二进制的方式处理的,如果全部以二进制的形式来表示,使用跟表达都非常的困难,所以为了人类方便记忆,采用了点分十进制的方式,将32位的IP地址以8位为一组,分成四个部分,每组以【.】进行隔开,再将每组转换成十进制。
IP地址其实是由2个部分组成的,一个是网络号(网段地址)和主机号(主机地址),这个两个组成很关键,网络号是设备所在区域的一种标识区分,网络号相同的设备处于同一个网段内,网络号不同的设备处于不同网段,两个之间通信需要依赖三层设备。主机号是在同一个网段中标识不同终端设备,同一个网段内的终端是不允许出现重复的主机号的。
那在IP地址中,哪几位是网络号?哪几位是主机号呢?下面就来了解下地址分类以及子网掩码的概念。

IP地址分类

在internet诞生初期,IP地址是非常充裕的,计算机科学家们进行了分类地址,把IP地址分为了5大类,分别是A类、B类、C类、D类、E类。
IPv4协议讲解_第3张图片
在每个网段中,主机号全0的网段地址以及主机号全1的广播地址是不能被使用,每个网段实际可用的地址是对应的地址数-2。
那什么是单播地址呢?每个网段内除去网段地址以及网段广播地址以外,剩下的就是单播地址,单播地址也就我们终端PC、手机以及网络设备路由器、交换机设备上使用的地址了,通信双方就一个发送方与接收方,而广播则是一个发送方,其余同网段的主机都为接收方,但是不会发往其他网段,中间三层设备会隔离广播,不会进行转发。
(1)A类地址
A类IP地址以首位为“0”开头,前面8位是网络号,网络号范围是0~127(0和127属于保留地址)。
IPv4协议讲解_第4张图片
算下来就2^(8-1)-2=126,其中8位中最开始0是固定的,所以只有7个可以变化,0与127是保留需要-2,最终有126个网段。
后24位是主机号,表示可容纳的终端数量,2^24次方=16777216个地址。
IPv4协议讲解_第5张图片
(2)B类地址
B类IP地址前两位以“10”固定开头,1-16位为网络号,网络号的范围128.0-191.255,其中169.254为保留地址,算下来2^(16-2)-1,有16383个可用网段。
IPv4协议讲解_第6张图片
后16位主机号,表示可容纳的终端数量,2^16次方=65536个地址。
IPv4协议讲解_第7张图片

(3)C类地址
C类IP地址前三位“110”固定,从1-24位为它的网络号,范围是192.0.0-223.255.255.255,其中192.0.0属于保留地址,所以有2^(24-3)-1=2097151
IPv4协议讲解_第8张图片
后8位是主机号,标识可容纳的终端数量,2^8=256个地址。
IPv4协议讲解_第9张图片
(4)D与E类地址
D类IP比较特殊,它属于组播地址,不区分网络号与主机号,用于各种协议中以及某些特殊场景,后续会慢慢熟悉,范围是224.0.0.0~239.255.255.255。而E类属于科研方面等方面,不用于互联网使用。
D类地址用于多点广播(Multicast)。
D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。
D类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1110。
D类地址范围:224.0.0.1—239.255.255.254
(5)E类IP地址
以“11110”开始,为将来使用保留。
全零(“0.0.0.0”)地址对应于当前主机。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。
⑴ E类地址也不分网络地址和主机地址,它的第1个字节的前五位固定为11110。
⑵ E类地址范围:240.0.0.1—255.255.255.254

子网掩码有什么用?

子网掩码是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上,它不能单独使用,必须跟IP地址结合在一起使用。
子网掩码将IP分为三类地址
A 类:255.0.0.0
B 类:255.255.0.0
C 类:255.255.255.0

计算网络号:
将ip地址192.168.1.1转换为二进制
11000000.10101000.00000001.00000001
将子网掩码255.255.255.0转换成二进制
11111111.11111111.11111111.00000000
然后将两者相“与(and)"运算:
11000000.10101000.00000001.00000001
11111111.11111111.11111111.00000000
然后得到:
11000000.10101000.00000001.00000000
转换成网络号就是:192.168.1.0

子网掩码,就是用来分割子网和区分那些ip是同一个网段的,那些不是同一网段的。如果不会计算,通过配置DHCP网络,网络连通后,查看网络的子网掩码。
在实际项目中,我们通常会遇到这样的ip地址。
ip地址:192.168.1.1 子网掩码:255.255.255.0
ip地址:192.168.1.2 子网掩码:255.255.255.0
我们可以直接的判断,他们是同属于一个网段的ip地址。

那么对于下面这样的呢?
ip地址:192.168.1.1 子网掩码:255.255.255.0
ip地址:192.168.1.2 子网掩码:255.255.0.0
这两个ip地址虽然在不看掩码的情况下,比较像,但他们并不是同一个网段内的。
这个可以从子网掩码来判断,
192.168.1.1 255.255.255.0是属于192.168.1.0网段的。
而192.168.1.2 255.255.0.0是属于192.168.0.0网段。

为什么要配置DNS?

DNS是 Domain Name System 的缩写,也就是 域名解析系统,它的作用非常简单,就是根据域名查出对应的 IP地址。
你可以把它想象成一本巨大的电话本,比如当你要访问域名www.163.com,首先要通过DNS查出它的IP地址是112.48.162.8。
通常我们有两种方式识别主机:通过主机名或者 IP 地址。人们喜欢便于记忆的主机名表示,而路由器则喜欢定长的、有着层次结构的 IP 地址。为了满足这些不同的偏好,我们就需要一种能够进行主机名到IP 地址转换的目录服务,域名系统作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
因此,即使不使用域名也可以通过IP地址来寻址目的主机,但域名与IP地址相比,便于人们记忆。因此对于大多数网络应用,我们一般使用域名来访问目的主机,而不是直接使用IP地址来访问。
对于本例,简单来说,当我们在浏览器地址栏中输入某个Web服务器的域名时。用户主机首先用户主机会首先在自己的DNS高速缓存中查找该域名所应的IP地址。
如果没有找到,则会向网络中的某台DNS服务器查询,DNS服务器中有域名和IP地址映射关系的数据库。当DNS服务器收到DNS查询报文后,在其数据库中查询,之后将查询结果发送给用户主机。
IPv4协议讲解_第10张图片

你可能感兴趣的:(网络协议)