哦哦,原来IP是这么回事啊,终于明白了
IP是Internet Protocol(网络协议)的缩写,也就是网络之间的互连的协议,工作在TCP/IP结构的网络层。
我们都知道网络层的作用是数据的跨网络传输
网络层的基本过程有以下四个
1.终端设备编址:为终端设备配置一个唯一的IP地址
2.封装:将来自传输层的PDU(协议数据单元)封装进数据包中,并为其添加IP报头
3.路由:为原终端到目的终端寻找最佳路径
4.解封:在目的终端的网络层中把封装好的数据包将其解封并传输给上层传输层
所谓的IP地址也就是按照IP协议规定的格式,为每一个接入到Internet的主机所分配的一个唯一的通信地址,是网络层及以上各层所使用的的一个地址。
IP地址现在由因特网域名和地址分配机构ICANN进行管理与分配
现在的IP地址有两个版本:IPv4和IPv6。
下面分别来介绍这两种地址
IPv4
也就是我们通常所说的IP地址,用来标识每一个不同的终端设备。
IP的基本特征:
1.无连接:发送数据包之前不与目标设备建立连接
2.最大努力(尽力交付):IP协议不保证所有交付的数据包都能接受,因为它的无连接特性,目的设备不知道什么时候会发送数据包,发送的内容也不知道,所有很可能在途中数据包出现丢失与损坏,IP不具备管理和恢复未送达或已损坏的数据包的能力,另外IP无法重传数据包,传输层负责保证数据的可靠性
3.介质无关性:IP的运作与协议栈低层传送的数据介质无关
IP地址的表示方式
通常IPV4地址用点分十进制法表示
IPV4是一个32位的二进制编制,在计算机中存储的是0101这样的连续二进制代码,为了提高可读性,我们将每八位分为一组,用十进制表示,每组之间用“.”分隔开,也就是所谓的点分十进制法
其全部的IP地址就可以表示为0.0.0.0——255.255.255.255
eg:IP地址为:11000000101010000000101000000001
点分十进制转换后就是:192. 168.10.1
自己也可以试着算一下
这里进制之间的转换就不再多废话了,当然想省事的话也可以直接通过计算器来进行相应的转换,附上链接: 在这里.
IPV4地址是由网络号(net_id)+主机号(host_id)两部分组成
一个网络号在整个因特网范围内必须是唯一的,而一个主机号则是在它前面的网络号所指明的网络范围内必须是唯一的,这也就保证了每一个IP地址都是唯一的
在这就要引出一个新的名词:子网掩码
子网掩码是一个32位的IP地址,有2部分组成,前半部分由连续的1组成,后半部分由连续的0组成。
为了确定IPV4的网络部分与主机部分,要将子网掩码与IPV4地址逐位比较
逻辑与(&)运算:有0得0,全1为1
将子网掩码与IPV4地址进行与操作后得到的就是网络地址
eg:求192.168.10.1/24的网络地址
“/24”表示的就是24位子网掩码
24位的子网掩码为11111111111111111111111100000000,点分十进制转换后就是255.255.255.0
192.168.10.1转换为二进制为11000000101010000000101000000001
进行与运算后得出为192.168.10.0,即该IP地址的网络地址
我们做题可以发现,当子网掩码的前半部分连续1与IP进行与运算后,得到的跟IP地址原来数一样,因此像上一题24位子网掩码一样,我们就可以直接把IP地址的前24位直接抄下来,后面直接是8个0(因为子网掩码的后八位为0,不管IP地址的后八位是什么,运算后都为0)
所以答案就是192.168.10.0
主机部分就是子网掩码的后半部分连续0对应的IP地址,上一题的主机地址就是0
当然,在现实生活中,各种网络规模的差异也是很大的,有的会用成百上千台主机,而有的网络只需要几十台主机,为了避免IP地址的浪费,就采用分类编址的方法,将IP地址分为A到E五类,称为传统有类编址
ABC类称为基本类,用于主机地址;D类用于组播广播;E类为保留类
如下图所示(画图软件实在是用不太好,那就手动画图吧)
ABCDE五类高八位上分别有自己的标识位:
A类——0;
B类——10;
C类——110;
D类——1110;
E类——1111;
通过它们的标识位就可以划分出它们各自的范围(也就是根据第一个字节进行判断)
A类第一字节取值范围为——1~126;
B类第一字节取值范围为——128~191;
C类第一字节取值范围为——192~223;
这里说一下为什么要减2:全0表示本地地址;全1表示网络上的所有主机。所有这两个不能用于地址的分配
可以发现A类的网络数很少但是它容纳的主机数是非常多的,C类的网络数很多,但是可容纳的主机数很少,正好符合了我们设置地址的初衷(不让其浪费网络地址)
在有类编址中,如果没有说明子网掩码,则使用默认的子网掩码,即:
A类——255.0.0.0
B类——255.255.0.0
C类——255.255.255.0
并非所有的IPV4地址都用于互联网。还有一部分私有地址(也就是内网IP地址),它不允许在公网上面传递,只能供内部使用。
内部网络使用了私有地址无法访问internet会用到NAT(地址转换技术)将内部的私有地址转换为可以访问internet的外部网址让给内部网络上网。
ABC三类中划分了三类私有地址:
A类——10.0.0.0~10.255.255.255;
B类——172.16.0.0~172.31.255.255;
C类——192.168.0.0~192.168.255.255;
IPV4的数据通信方式:
1.单播:1对1,IPV4的单播地址范围为0.0.0.0~233.255.255.255
2.组播:1对多,IPV4将224.0.0.0~224.255.255.255作为本地网络的组播地址
3.广播:1对所有,IPV4的广播地址为:255.255.255.255,即FFFF
还有一些特殊的IPV4地址:
环回地址(127.0.0.0~127.255.255.254):主机可以使用这个测试地址测试TCP/IP配置是否运行正常
本地链路地址(169.254.0.1~169.254.255.254):自动私有IP编址(APIPA)地址,实现了与MAC地址的转换
因为传统的有类编址浪费了大量的地址,现在人们采用了一种新的无类编址方式,用13-27位长的前缀取代了原来的三类地址的划分,,帮助延迟了IPV4地址的消耗和最终耗尽。
IPV6
IPV4的局限性:
1.IP地址耗尽:随着人工智能、物联网的发展,各种智能终端设备的出现,急需为每一个终端配置一个唯一的IP地址,倒逼网络的革新与发展
2.Internet路由表膨胀:随着连接到Internet的服务器数量大量增加,网络路由的数量也不断增加,IPV4路由严重消耗着Internet路由器上的大量内存和处理器资源
3.缺乏端到端的连接:NAT(网络地址转换)技术困难
IPV6的优点:
1.更大的地址空间:128位的编址,产生地址空间足够用,IPV4采用32位的编址技术
2.改进了对数据包的处理
3.消除了对NAT的需求
IPV6的表示方法:冒分十六进制法
也就是每16位为1组,每组用十六进制表示,每组之间用冒号“:”分隔开
例如,69DC:8864:FFFF:FFFF:0000:1280:8C0A:FFFF
是不是看着很多,当然,它也有自己的省略规则
规则1:忽略前导0
eg:00AB>>AB
0A00>>A00
注意:前面的0可省略,后面0不可省
规则2:忽略全0数据段(也就是使用双冒号“::”替换任何一个或多个由全0组成的16位数据段)
eg:2001:0000:0000:A2C0>>2001::A2C0
注意:双冒号(::)在每个地址中只能使用一次;
IPV4与IPV6共存的迁移技术:
1.双栈:允许IPV4与IPV6在同一网络中共存,双栈设备同时运行IPV4和IPV6协议栈
2.隧道:在IPV4网络中传递IPV6数据包的一种方法,将IPV6数据包封装在IPV4数据包中
3.转换:IPV6数据包转换为IPV4数据包
又到结束啦,你学会IP协议了吗,没学会那就再好好看一遍哈哈下次见