hi,大家好,小魏又来了,我们已经认识了UDP,TCP,现在来认识一下位于网络层的协议,IP
认识IP地址
1.地址管理
2.路由选择
在之前的讲解中我们已经认识到了网络层的IP协议,负责寻路操作
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。
作用:
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异,通俗的来讲就是区分一下每台主机
之前只是给大家粗略的介绍了一下IP,今天来深入讨论一下
IP协议功能具体划分为地址管理和路由选择
1.地址管理
每个网络上的设备都要分配一个地址(这个地址是唯一的)
我们来了解一下IP数据报的格式
IP地址本质上是一个32位的整数,我们一般把它写成点分十进制,有三个点,每个点的取值范围都是0-255;
32位的整数可以表示42亿九千万个地址,那么够不够用呢?
答案是不够的,那么我们要怎样解决这样的问题呢?
1采用动态分配IP地址的方式
具体是咋样实现的呢?
当设备上网的时候才分配IP,不上网就不分配IP,那么在地球上每个地方的作息都不一样,那么就可以剩出一大批的IP地址,就可以缓解IP不够的问题!!!注意是缓解,没有增加IP数量,不能从根本上解决问题
2.路由器的NAT机制
把所有的IP分为两类,内网和外网
内网IP:
10.*
172.16.-172.31.
192.168.*
外网IP:剩下的IP
外网IP必须是唯一的
内网IP可以重复出现(在不同的局域网中)
内网设备如果要访问外网.会给内网分配一个外网IP,不过这个外网IP不是这个内网一人的,而是这个内网中所有的设备都共用这一个外网IP.
举个例子
内网设备比喻为皇宫里的某位妃子,外网就是皇上,妃子要去看皇上,要经过皇上的贴身太监的传召,那么这个太监就可以是外网IP,不是只有这个妃子可以联系这个太监,是皇宫的所有妃子都可以联系这个太监!
这样说是不是很好理解
那么此时一个外网IP代表一系列的内网设备
什么是内网?
可以理解为局域网,局域网就是内网,通过ipconfig在cmd窗口得到的网址就是内网
这个就是我设备的内网IP,是在学校这个局域网得到的IP,注意,所在的局域网不同,设备的内网IP就不同
什么是外网?
就是通过百度搜索出来的网址,给大家看一下
这个地址不是只有我的电脑是这个,是这一片区域的外网地址都一样!
当我和另一个人同时访问百度,我们在同一个区域,同一个局域网下,如何访问呢?
我和小魏的源IP不同,目的IP相同,到达路由器以后,路由器会针对源IP替换成路由器自己的IP后继续转发给百度服务器,百度服务器收到的数据报就认为都来自4.3.2.1这个IP,不是192.168.10.1也不是192.168.10.90,外网设备无法直接访问内网设备
然后把响应返回给路由器,路由器咋知道哪个响应是哪个设备发出的呢?
通过不同的端口号区分不同的主机!
NAT机制针对的是内网访问外网,内网访问外网时,路由器的NAT机制被启动
如果是内网访问内网,外网访问外网,外网访问内网,都没有这样的机制,就是通过单纯地路由器转发
3.采用ipv6协议
这个方式从根本上解决了IP不够的问题
IPv4是传统的IP协议,4个字节,32位来表示IP地址
IPv6是更加新的IP协议,使用16个字节,也就是128位来表示IP地址
就是有2^128这么多IP地址,这是一个非常巨大的数字,多到可以给每个沙子都分配一个I IP地址
🐷🐷🐷IP地址的组成
IP地址分为两个部分
1.网络号:标识网段:保证相互连接的两个网段具有不同的标识,也就是标识一个局域网
2.主机号标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;
*通过合理设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的IP地址都是唯一的。*也就是标识一个局域网内部的设备
这段话比较抽象,我们来画个图!!!
一个路由器有两个IP地址,分别在不同的局域网中,一个WAN口IP,一个LAN口IP
路由器的作用就是把连个局域网连起来
位于紫色框里面的是以192.168.0这个就是网络号
.1
.111
.231都是主机号
位于绿色框里的是以光猫的的WAN口连接的网络IP为网络号
网络号是192.168.1
主机号是.123
.24
此时对于路由器来说,这个路由器就是把这两个局域网给连到一起了,这俩局域网叫做"相邻"的局域网,这两个局域网的网络号不能一样!!!
一个IP地址,对于网络号和主机号是咋区分的?
一定是前三个是网络号吗,不一定!!!😎
对于网络号主机号的分类有两种
1.IP地址分类(太老了,已经不用了,不讲)
2.子网掩码(这个是现实的网络主机号划分方式)
这个子网掩码是255.255.0.0
255换做十六进制是0xff,255.255.0.0换成二进制是24个1,八个0,前二十四位是网络号,剩下八位是主机号
子网掩码在二进制的角度看也是一个32位的整数,左侧都是1,右侧都是0,左侧有几个1,代表IP地址的哪些位就是网络号
一般的家用网络子网掩码就是255.255.255.0
大型网络就不一定了
特殊的IP地址:假设子网掩码是255.255.0 主机号为0的IP:192.168.0.0
这个可以看做网络号.局域网里不存在主机号为0的主机 主机号全为1
:192.168.0.255,是广播地址,往这个地址发送UDP数据报,这个数据报会被转发给整个局域网的所有主机 TCP不支持广播也不支持群聊
环回IP:127.* 我们最常用的就是127.0.0.1
环回IP对应的有环回网卡,也就是虚拟网卡io,通过环回网卡传输的数据,走环回网卡(因为是虚拟的,纯内存操作,不涉及硬件),速度就会很快
主机号为1 192.168.0.1这个叫做网关IP,网关是局域网的出口
2.路由选择
网络环境错综复杂,比如从主机A到主机B可能有很多条路径,存在大量冗余,那么IP协议就需要进行路由选择
数据传输会经过多个路由器的转发,某一个路由器无法把整个网络环境都记录下来,路由器只能记录周围的情况数据,就知道下一个它的上一个,路由器采用路由表这样的结构记录邻居的信息
👀转发过程是递进式的
可以把路由选择当成问路过程,IP数据报在转发的过程中就是一个问路过程,是一步步接近目的地的
每个路由器只认识周围情况,不知道目的地在哪,因为目的IP在路由表找不到匹配结果,那么此时路由器会给出指示,也就是路由表的"下一跳表项",把IP数据宝走向更上层的路由器,功能也就越强大~
今天的讲解就到这里了,我们下期再见~~~
完结撒花🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸,下期见啦!!!