赞
踩
前言:
本文是对 TCP/IP 协议栈中网络层的重要协议 IP协议 的基本介绍。
IP协议 全称为互联网协议,是一种网络层通信协议,负责网络中主机之间的数据包传输。
在 TCP/IP协议栈中,IP协议的主要功能为 地址管理和路由选择。
地址管理:制定一系列的规则,通过 IP地址 描述出一个设备在网络上的位置。
路由选择:在复杂的网络传输环境中,一个节点到另一个节点存在很多不同的传输路径,路由选择即通过路由算法在众多的路径中规划出更加合适的路径进行数据传输。
概念
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。
作用
IP地址用于定位和标识唯一的网络设备,以便数据能被正确地路由和转发。
格式
IP协议可分为 IPv4 和 IPv6。
IPv4 地址由 32位数(4字节)据组成,每 8位为一组,通常采用“点分十进制”表示,每部分大小为 0 ~ 255,如:123.5.255.1。
IPv6 地址由128位数据(16字节)组成,每 16为一组,采用 16进制表示,用冒号分隔。如:2558:1659:e670:2a6c:fd48:cf53:ee98:4f15。
组成(主要介绍 IPv4)
IP地址分为两个部分:网络号和主机号。
网络号:标识网段,即一个局域网,两个相邻局域网的网络号不能相同。
主机号:标识主机,即局域网中的一台设备,同一个局域网内主机的网络号必须相同,主机号不能相同。
注意:如果一个IP地址的主机号全为0,则该 IP表示“网络号”,不能被分配给具体的主机;如果一个 IP地址的主机号全为1,则该 IP就是一个“广播地址”,该 IP也不能被分配给具体的主机;如果一个 IP地址以127开头的,则此 IP为“环回IP”,表示“自身”,常用的环回IP有127.0.0.1等。
如何区分一个IP地址的网络号和主机号?
当前网段是采用带有子网掩码的划分方式(后面会介绍子网掩码),而在“上古时期”则采用如下图将 IP地址划分为五类。
注意:主机最大连接数应减去2,因为主机号为全 0 和全 1 是特殊IP地址。
子网与 IPv4地址一样都是一个32位的数据,用于将一个IP地址划分为网络号和主机号。其中左边连续的二进制数字 1 代表网络号,右边连续的二进制数字 0 代表主机号。例如:一个主机的 IPv4地址为 192.168.5.300,对应的子网掩码为 255.255.255.0,则该 IP地址前24位代表网络号即192.168.5.0,后8位代表主机号即0.0.0.300。
常见的子网掩码有:255.0.0.0(用于大型网络)、255.255.0.0(用于中型网络)、255.255.255.0(用于小型网络或家庭网络)。
在IPv4协议诞生初期,网络设备还比较少,32位的地址为每一台设备分配一个IP地址绰绰有余;而随着互联网普及率的大幅增加和各种智能家居设备的出现,IPv4已完全不能满足每一台设备 IP地址的分配,因此 DHCP协议和NAT技术 的出现就是为了缓解 IPv4地址枯竭的问题。
DHCP:是一种用于动态分配网络设备 IP地址和其他网络配置信息的协议(应用层协议)。它允许设备在连接到网络时自动获取所需的网络配置,没有联网时则不分配 IP地址。动态分配 IP虽然提高了 IP地址的利用率,但本质上并没有增加 IP地址的数目,因此它属于“治标不治本”的过渡方案。
NAT:是一种在网络路由器上执行的技术,能够将局域网内部设备的 IP地址映射为广域网的 公共IP地址,以实现对外部网络的访问。NAT机制本质上是让一个 外网IP地址代表一批网络设备,以此来“提高” IPv4地址的数量。
在NAT机制下,IP地址被分为两个大类,即内网IP(局域网IP)和外网IP(广域网IP)。
注意:局域网内的设备能够主动访问外网设备,而外网设备无法主动访问局域网内的设备。
NAT机制是如何工作的?(局域网内的设备如何访问外网设备?如下图)
如果一个局域网内的多个设备同时访问外网的同一服务器,当响应返回时,路由器如何知道数据应被返回哪个主机呢?(如下图)
如果一个局域网内的多个设备同时访问外网的同一服务器,且进程的端口号相同,当响应返回时,商路由器如何知道数据应被返回哪个主机呢?(如下图)
上述的一系列规则都与“地址管理”功能有关,而在 IP协议中,还有一个重要的功能——路由选择。
路由选择:指在多个可用路由之间选择最佳路径的过程,以便将数据从源IP 传输到目的IP。
在30年前,人们去到某个不认识的地方往往靠地图指引或向他人问路,而在“技术爆炸”的今天,我们无论想去哪个地方都只需要打开地图导航软件,输入目的地即可瞬间获得一条到达的最佳线路。地图软件之所以可以瞬间获得一条最佳路径,是因为在它的服务器上已经存储了所有地点的信息,相当于站在“上帝视角”引路。
当进行 IP数据报转发的时候,每个路由器都是无法得知网络“全貌”的,只知道一些局部的信息,即哪些设备是与自己相连的。因此,这就意味着 IP数据报在转发的过程是一个“探索式”的过程,无法确保数据传输路径一定是“最优解”,只能获得一个“较优解”。
路由选择的过程:
由于每个路由器都只掌握了局部信息,因此 IP数据每报经过一个路由器转发时都要经历“问路”的过程,在路由器内部有一个数据结构“路由表”,表中记录着相连设备的信息,当 IP数据报到达路由器时会根据路由器查询目的IP地址是否存在,若查到则按照给定路线将数据送往目的主机(问的人知道怎么走),若没有查到目的IP的信息(问的人不知道咋走)则按路由器的默认表项进行转发,重复上述过程,直到在生存时间(TTL)耗尽前找到目的IP为止。
以上就是本篇文章的全部内容了,如果这篇文章对你有些许帮助,你的点赞、收藏和评论就是对我最大的支持。
另外,文章的不足之处,也希望你可以给我一点小小的建议,我会努力检查并改进。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。