目录
编辑
一,IP协议
二,协议字段
三,IP层传输数据的问题
1,如何将报头和有效载荷分离
2,向上协议选择
3,局域网
四,IP问题
1,IP的组成
2,IP的划分
3,特殊IP
4,IP分配不足的问题解决方案
五,数据包分片问题
一,IP协议
IP协议是网络互联协议,是TCP/IP四层结构里的网络层IP协议。这个协议的作用是确保数据数据能够可靠的到达目标主机。
二,协议字段
四位版本号:该字段填入的就是IP报文的协议字段。例如ipv4和ipv6,用于标识协议版本。
四位首部长度:表示报头的长度。
八位服务类型(TOS):用于标识IP数据包的服务要求,前两位表示服务优先级,中间三位表示一些特定的服务,最后三位是保留字段。
十六位总长度:表示有效载荷和数据报加起来的长度。
八位生存时间:IP报文能在网络当中生存的最大跳数,当这个数减少为0时这个数据报便是一个丢弃报文消散在网络当中。
三,IP层传输数据的问题
1,如何将报头和有效载荷分离
采用的分离方式是定长报头+自描述字段。IP报头的长度是20个字节的,当我们读取数据时会先读取这二十个字节得数据。这二十个数据里面便包含了表示报头长度得四位首部长度,还有表示整个数据包长度得十六位总长度。这两个字段相减便是有效载荷的长度。
2,向上协议选择
要进行协议选择便要通过八位协议号中的数据来进行选择。
3,局域网
出现
局域网的出现的主要原因便是IP地址不足导致的。我们都知道IP地址是一个32位的数字,所以IP地址的范围便是[0,2^32-1],随着全球入网设备的不断增多IP地址有耗尽的风险。因为这个原因,我们便要将网络划分为一个个的小网络。这样的小网络便被称为一个局域网。
作用
为什么局域网出现后便可以缓解IP地址耗尽的风险呢?因为不同的局域网当中的IP地址是可以相同的。比如说我有一个IP:12.22.99.88。那这个IP能够出现在A局域网当中,也能出现在B局域网当中。
公网IP和私网IP
公网IP便是在公网通信当中使用到的IP,私网IP便是在局域网当中使用的IP。这里有一点要注意,私网IP说不能出现在公网当中的,因为可能造成IP重复的情况发生。
不同局域网之间的主机如何通信
不同的局域网之间得主机的通信是靠路由来实现的。这就好比你要到一个陌生的城市的某个地点去旅游。你不知道路怎么走,这个时候咋办呢?只有问人了。在这种情况下,你就相当于一个数据包,而这个路人便是一个路由器,这个路人在思考的过程便是一个查找路由表的过程。这个路人给出的答案会有两种,一种是知道,所以你便可以靠着这个路人的指引到达下一跳。第二种便是不知道,这个时候他会指向一个默认的地点,你也会被发到这个默认的路由器上。
所以不同局域网中的主机是通过路由器来找到彼此的。
过程
1,目标ip与源IP到达路由器。
2,进行NAT转换,这个源IP被转化为公网IP。
3,目标IP与上这个路由器的子网掩码,并查找路由表。
4,找到了便将这个数据发送到下一跳,如果找不到便通过Iface发送到下一个默认路由器。
在Linux和Windows系统当中,我们可以分别通过route 和 route PRINT来查看路由表:
参数:
Destination:代表的是目的网络地址。
Gateway:代表的是下一跳地址。
Genmask:代表的是子网掩码。
Flags:U表示正在使用,G就表示默认网关(路由器)。
Iface:代表的是发送接口。
NAT技术
我们在彼此通信时,是通过私有IP来找到彼此吗?并不是!因为私网IP是用在自己的局域网当中的,所以在这里便会有一个IP地址转换的过程。NAT技术转换的是什么ip呢?是私网ip和公网ip。并且这个转换技术被称为NAT技术。
WAN口IP&&LAN口IP
在路由器上一般会有两个端口,一个叫做LAN口IP一个叫做WAN口IP。这两个端口,LAN连接的是局域网,WAN连接的是公网。在进行私网IP和公网IP交换时交换的便是这两个端口的IP。
四,IP问题
1,IP的组成
IP由两部分组成:网络号+主机号
通过网络号便能找到一个局域网,通过主机号便能找到这个局域网当中的唯一一台主机。
2,IP的划分
按照地址划分
在一开始,IP的按照地址的方式划分:
之后大部分人在申请IP时都在申请B类IP,于是便导致A类IP被大量的浪费。在IPV4IP有限的情况下,还要被大量浪费?于是,这种划分方式就被逐渐淘汰了。
CDIR(无类别域间路由)
CDIR的划分方式便是引入子网掩码比如以下例子:
-
例子:192.168.1.0/24
-
/前面表示网络号。
-
24表示这个IP的前面24位代表网络号,后面八位表示这个局域网的主机号
-
这种划分方式能够灵活的分配IP地址,能够减小路由表的大小,减小路由负担。
IPV6
前面的方式都是在缓解IPV4 类型的IP耗尽问题,而IPV6便是在从根源上解决这个问题。IPV6便是让IP的变得更长(128位),所以这样就能让IP资源变得几乎无限。
3,特殊IP
-
特殊IP
-
网络地址:除了网络号,后面的数据都是0
-
广播地址:除了网络号,后面的数据都是1
-
本地环回:127.0.0.1
-
4,IP分配不足的问题解决方案
-
IP划分不足问题解决方案
-
动态划分
-
只给在使用网络的主机划分IP地址,当你不联网时你的主机便没有分配IP地址。
-
-
NAT划分
-
通过私有IP和公网IP的转换让不同的局域网有相同的IP存在。
-
-
IPV6
-
16字节,128位的IP地址。
-
-
五,数据包分片问题
-
分片与组装
-
分片
-
为什么要分片?
-
数据的传输是由数据链路层完成的,数据链路层有一个MTU(最大传输单元)。当数据(包含报头)超过了这个大小时便要分片,也就是将数据变小后再传输。数据包的大小是由TCP协议来控制的。
-
-
如何分片?
-
13位偏移:表示当前分片相对于数据开始段的偏移量。
-
3位标志
-
第一位:保留。
-
第二位:1表示禁止分片,0表示允许分片。
-
第三位:表示更多分片。
-
-
16位标识字段:标识分片id,同一个报文的不同分片的id是相同的。
-
-
是否建议切片:不建议,因为切片增大了数据包丢失的风险。丢包TCP就要重发一整个报文(切片前的)。
-
-
组装文章来源:https://www.toymoban.com/news/detail-850821.html
-
根据上面的字段信息来组装接片。文章来源地址https://www.toymoban.com/news/detail-850821.html
-
-
到了这里,关于网络协议学习——IP协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!