基础IP协议知识

网络层最主要的协议就是IP协议,IP协议最主要的工作有两个

一个地址管理,使用IP地址这个概念,标识网络上某个设备的位置

二是路由选择,在两个通信节点之间选一个合适的路径

IP协议的数据报

四位版本

这里主要使用的是IPV4和IPV6,使用最多的还是IPV4

四位首部长度

IP协议报头的长度,和TCP一样,使用的是4个字节为一个单位,也就是15*4=60字节

八位服务类型

决定了IP协议的工作方式

每次只能选一个,可以进行转换(和赛罗转形态差不多)

十六位总长度

一个IP数据报的长度64kb

虽然和UDP的一样,但是在IP协议内封装好了拆包和组包的功能,这可以让IP协议在传输一个较大的TCP协议的时候,可以把他拆成很小,然后再组合

拆包和组包

16位标识:

拆包:会把拆出来的多个包,设置相同的标识

组包:会把相同标识的包组合到一起

3位标识符

第一位:预留位,现在还没用

第二位:标志位,标记这个数据包是否进行了拆包的操作

第三位:表示这个包是否是最后的一位

13位片偏移

按照大小进行排序,小在前大在后

八位生存时间

表示一个IP数据报,能够在网络上传播的最大时间,这个时间使用的单位是次数,每经过一个TTL的值就会加一,如果当TTL减到0,就说明丢包了

Windows默认TTL是128

这里转发了19次,经过了19个路由器

八位协议

这里指的是分用的时候,IP协议解析IP数据报的时候,载荷交给上层处理,上层是UDP还是TCP,这里就是区分UDP还是TCP

十六位首部校验和

IP协议会自行检验报头部分的内容是否正确

源IP和目的IP

这里是IP协议的核心部分

IP协议的本质上是通过32位的整数来表达的,单位为了方便阅读,所以就会把IP写作点分十进制

用三个点划分成四个部分

每个位置的取值都是0-255

IP不够用咋办?

方案一 动态分配IP

每个设备上网的时候分配IP,不上网就不分配IP

治标不治本

方案二 NAT机制 网络地址转换

把IP分成两类

  1. 外网IP/公网IP
  2. 内网IP/私网IP

10*

172.16-172.31*

192.168*

这三个开头都属于内网

在NAT机制下,网络通讯是如何进行的?

  1. 在同一个局域网下,设备A访问设备B

由于IP本身不重复,可以正常访问(如果你手动把两个设备的IP调成一样,就会导致两个设备都上不了网)

  1. 公网设备A访问公网设备B

由于IP本身也不重复,也可以正常访问

  1. 不同的局域网,设备A直接访问设备B

NAT机制不允许这样的访问方式,A和B都属于私有IP

  1. 局域网设备A访问公网设备B

网络地址映射

  1. 公网设备A访问局域网设备B

内网穿透,VPN

这两个和NAT本质上都不冲突,都是借助其他带有公网IP的设备进行转发

NAT机制

举例子

在局域网中,每台机器都有一个私有IP,这个在同一个局域网中是不会重复的,如果需要访问外网,私有的IP会进过NAT的映射机制,就会把IP改成公网的IP,进而去访问你想访问的网址。

都替换成公网的IP,那怎么知道哪个是哪个的?

  1. 首先,会有端口号区分,每个私有IP随机分配的端口号是不一样的,NAT会记住谁是谁
  2. 那如果私有IP分配的端口号一样了咋办

NAT在进行替换的时候,是可以对端口号进行随意替换的,他会记着返回去是谁,哪个端口号就行,至于到他这里转发的端口号就别管

方案三 IPV6

IPV4是使用4个字节作为IP地址

IPV6是使用16个字节作为IP地址

之所以在全国大范围推广IPV6

因为IPV4的地址分配权在美国手里,随时会被卡脖子,所以全国推行IPV6,在需要的时候,可以替换成IPV6

IP地址的其他规则

网段划分

前半部分称为:网络号

后半部分称为:主机号

在同一个局域网中,网络号必须相同,主机号必须不同

在不同的局域网中,网络号必须不同,主机号无限制

子网掩码

255.255.255.0

子网掩码也是一个32位的整数,

规则很死,左边全是1,右边全是0,不能出现1和0交错的现象

简写:192.168.98/24

/24表示的是前24位都是1

如果IP网络号部分和子网掩码部分相同,那么我们就认为他们是在一个局域网下

子网掩码只干两件事

  1. 帮设备区分自己人还是外人

同一个局域网下的子网掩码必须一样,不然无法互相访问,255部分表示是网络号,0部分表示的是主机名字

  1. 决定一个局域网能连接多少台设备

主机号有八位,表示最多可以表示254家用一般支持254台设备

特殊的IP

举例:

192.168.100.0不能这样设置,因为0代表的是这个网络

192.168.100.255广播地址,往这上面发数据包,会被转发到这个局域网的所有设备(投屏类似)

127.0.0.1环回网络,无论你的设备真实IP是啥都可以使用这个表示

192.168.100.1一般认为使用1的都是网关

IP协议的第二个要点

路由选择

简化模型(问路的方式)

在这个过程中,就属于路由选择

因为在真实的网络环境中是十分复杂的,所以任何一个路由器是无法存储所有的网络信息,但是他们会知道自己附近有谁。所以就可以通过类似于问路的情况去找到对应的地址

相关推荐
blasit21 小时前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Jony_4 天前
高可用移动网络连接
网络协议
chilix4 天前
Linux 跨网段路由转发配置
网络协议
DianSan_ERP6 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅6 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
gihigo19986 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
2501_946205526 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel6 天前
第七部分:高级IO
服务器·网络
数字护盾(和中)6 天前
BAS+ATT&CK:企业主动防御的黄金组合
服务器·网络·数据库