IP协议
IP协议的数据报组成
- 版本号:占4位,表示ip的版本,互相通信的主机使用的ip协议版本必须一致。分为IPv4和IPv6
- 首部长度:占4位,可表示最大的十进制数为15,15*4=60,最大是60字节
- 服务类型:占8位,只有4位有效,4位TOS表示,最小延时,最大吞吐量,最高可靠性,最小成本
- 总长度:数据包的最大长度,如果传输的数据包超过最大长度,此时的IP协议就会进行分包/组包,以容纳数据大小。
- 标识,标志,片偏移:三者是分包组包的一种说明。标识是识别同一个包,标志是标识后面是否还有其他数据,片偏移是指数据在原来数据的相对位置,不会关心数据内容。
- 生存时间:占8位,数据每经过一个路由器TTL就会减一,当TTL=0时,就丢弃这个数据。
- 首部校验和:占16位,只检测数据包的首部,不包括数据部分,每次经过一个路由器,都会重新计算一次,如果两次结果不一样就会将数据包丢弃。
- 源地址和目标地址,发送IP数据包的称为源地址,接收数据包的称为目标地址
IP地址的表示
IP地址是用点分十进制来表示的,例如:xxx.xxx.xxx.xxx
这种样式。
网络号(标示网段)+ 主机号(识别设备不同)= IP
因为网络号的不确定性,推出子网掩码来标识网络号,以此区分网络号和主机号,同样的子网掩码也是点分十进制来表示,化成二进制时,1占的位数就是网络号,0为主机号的位数。
一些特殊的IP地址:
IP主机全部为0,表示该IP是网络号
IP主机号全部为1,表示该ip是一个广播地址,发送至该ip的信息会广播到所有局域网。
IP使用无法满足现在需求
网络层协议的IP地址深入人心,不过在之前IP被设计出来时,并没有考虑到IP地址到如今已经不够用了,不过,什么也难不倒我们的科学家,对此产出了许多的解决办法,我们知道一个设备有两个IP地址,一个是主机。Ip,一个是入口ip。
1.动态分配IP地址
在同一个路由器下,连接的设备中只分配IP给需要的设备,不需要时会进行回收,这就是动态分配IP地址。
- 地址管理
给不同的设备分配唯一的IP地址
2.路由管理
1.NAT机制
2.将所有IP进行分类
内网:10.*
172.16.*
-172.31.*
192.168.*
外网: 其他不是内网的IP
只需要外网设备IP唯一,内网ip在同一局域网必须相同,但在不同局域网中内网ip可以一样。内网设备对外网设备进行访问就会被分配外网ip,但是这个外网ip不是设备独占。
内网外网的设备访问:
✨
外网设备 --> 外网设备 :不需要NAT机制,可以直接通信
内网设备 --> 内网设备 :不允许
外网设备 --> 内网设备 :不允许
内网设备 --> 外网设备 :会触发NAT机制,路由器将源IP改成路由器分配的IP
3.IPv6
IPv4是最常用的ip地址,不过为了避免一些不必要的麻烦,创建出了一种新型的IP地址ipv6。
首先我们来认识一下IPv4与IPv6的大小
IPv4:使用4个字节,32位来表示ip地址
IPv6:使用16个字节,128位来表示ip地址,相比于ipv4存储和使用方面更方便。
ipv6的扩展及推广范围:因为IPv6创建时间较晚,两个协议并不兼容,如果需要设备都改成使用ipv6,需要将设备进行改进或者更换设备,使用ipv6的路还是任重道远。
路由规划
互联网中存在大量的数据冗余,比如A路由器到B路由器可以有多个道路可以选择,就相当于路径的选择。网络环境中的道路异常复杂多变,路由器无法将所有网络环境都记录,只能根据路由表来识别(获得)更短路径。因此如果在没有规划的情况下,路由想要到达目标地址只会走路由器的默认路径,直到找到一个路由,这个路由中识别到目标地址的存在。