基础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协议的第二个要点

路由选择

简化模型(问路的方式)

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

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

相关推荐
奋斗羊羊26 分钟前
TCP、UDP 和串口通信对比分析
网络协议·tcp/ip·udp
wWYy.1 小时前
C++-集群聊天室(2):muduo网络库
网络·c++
珠海西格1 小时前
远动通信装置为何是电网安全运行的“神经中枢”?
大数据·服务器·网络·数据库·分布式·安全·区块链
java干货2 小时前
微服务:把一个简单的问题,拆成 100 个网络问题
网络·微服务·架构
LcVong2 小时前
WPF MediaPlayer获取网络视频流当前帧并展示图片完整范例
网络·wpf
新缸中之脑2 小时前
Moltbook:OpenClaw的社交网络
网络
开开心心就好3 小时前
键盘映射工具改键位,绿色版设置后重启生效
网络·windows·tcp/ip·pdf·计算机外设·电脑·excel
不知名。。。。。。。。3 小时前
传输层————TCP/UDP
网络协议·tcp/ip·udp
zhengfei6113 小时前
MCP 将帮助防御者更努力、更智能地进行检测工程
网络
郝学胜-神的一滴3 小时前
Linux Socket模型创建流程详解
linux·服务器·开发语言·网络·c++·程序人生