IPV4协议/IPV6协议

文章目录


IP协议(Internet Protocol):网络层协议。
网络层协议位于传输层和链路层中间,传输层解决端到端的问题,预先建立连接保证了消息的可靠性。而IP协议并不预先建立连接,它任由数据在网络中传输,每个节点通过路由算法来找到数据传输到的下个节点,它不保证数据的可靠性。消息可靠性有上方传输层来保证。
IP协议目前主要有两种架构,IPv4和IPv6,IPv4是目前应用最广泛的互联网协议。

IPV4协议的工作原理

1.分片(Fragmentation)
还是将数据拆分传输,把数据切分成片,适配底层传输网络
2.增加协议头(IP Header)
IPV4协议/IPV6协议

Type Of Service:服务的类型,是为了响应不同的用户诉求,用来选择延迟、吞吐量和丢包率之间的关系。
IHL(Internet Header Length):IP协议头的大小。
Total Length:报文(封包datagram)的长度
Identification:报文的ID,发送方分配,代表顺序
Fragment offset:描述是否要分包(拆分),和如何拆分。
Time To Live:封包存活的时间。
Protocol:描述上层的协议,比如TCP=6,UDP=17
Options:可选项
Checksum:检验封包的正确性
3.延迟、吞吐量、丢包率
延迟:1bit的数据从网络的1个终端传送到另一个终端需要的时间
吞吐量:单位时间内可以传输的平均数据量。
丢包率:发送出去的封包没有到达目的地的比例。
注意:三个条件无法同时满足
4.寻址(Addressing)
寻址:给一个地址,然后找到这个东西。IPv4地址是32位:逐级寻址
例如:103.16.3.17
103对应二进制:0110 0111
16对应二进制: 0001 0000
3对应二进制:0000 0011
17对应二进制:0001 0001

第一步:找到顶层网络
103.16.3.1 最顶层的网络号和 255.0.0.0 (子网掩码)做位与运算得到:
位运算:1&1=1,1&0=0,0&1=0,0&0=0
103.16.3.1 & 255.0.0.0 = 103.0.0.0(顶层网络)
IPV4协议/IPV6协议

第二步:找到下一层网络 用IP地址103.16.3.1和下一级的子网掩码做位与运算:
103.16.3.1 & 255.255.0.0 = 103.16.0.0(下一级网络) IPV4协议/IPV6协议
第三步:找到再下一级网络
使用 255.255.255.0 子网掩码找到下一级网络:
103.16.3.1 & 255.255.255.0 = 103.16.3.0
IPV4协议/IPV6协议
最后一步:定位设备,设备就在子网 103.16.3.0 中;最终找到的设备号是 1
注意:子网掩码不一定都是 255

5.路由(Routing)
若寻找的IP地址不在局域网中,需要网关路由找到去往对应网络的路径。IP地址和子网掩码位与的过程是由路由算法实现的。

IPV6协议

IPv4只能支持大约43亿设备(2的32次方),远远是不够用的。
IPv4有个方案是拆分子网:例如一个公司分配一个外网ip,那么公司中局域网内应用要想访问外网,需要NAT协议转换,通过同一个外网ip进行访问。
IPV4协议/IPV6协议
IPv4不够用,那么就出现了IPv6的协议,IPv4有4个8位,共32位,IPv6有8个16位,共128位也就是(2的128次方),这个数量目前来说是绝对够用的吧。
IPv6和IPv4两者工作原理相似,为切片、增加封包头、路由(寻址)几个阶段。

IPv6和IPv4的主要区别

1.区别一:地址
地址数量:IPv4有4个8位,共16位,IPv6有8个16位,共128位
分割符号:IPv4的地址用 ‘.’ 分割,如 103.28.7.35 。每一个是8位,用0-255的数字表示。
IPv6的地址用’:'分割,如 0123:4567:89ab:cdef:0123:4567:89ab:cdef 。每个是一个16位的16进制数字,就是4个字符。
2.书写方式:IPv6地址可简写
例如:0123:4567:0000:0000:0123:4567:0000:cdef

可以省略若干组 0000用::代替,简写后就是0123:4567::0123:4567:0000:cdef
但是只能出现一次,如果出现多次,比如将后边的0000也用::代替,如 0123:4567::0123:4567::cdef
,那怎么知道是前边有八个0还是后边有八个0呢。所以说只能出现一次。

开头的0和连续的0也可以省略简写如:123:4567::123:4567:0:cdef

3.寻址
寻址-全局单播
站点前缀(Site Prefix):48bit(也就是前三个16位),一般是由ISP(Internet Service Providor,运营商)或者RIR(Regional Internet Registry, 地区性互联网注册机构)。RIR将IP地址分配给运营商。
子网号(Subnet ID):16bit(第四个16位),用于站点内部区分子网。
接口号(Interface ID):64bit后四个16位),用于站点内部区分设备。
IPV4协议/IPV6协议

寻址-本地单播
就是给定地址,在本地网定位设备
例如:fe80::123e:456d
fe80开头就标记为Link-local,在本地进行寻址
分组多播
需要以8个1,也就是 ff00 开头,后面跟上一个分组的编号。
所在的网络中已经定义了该分组编号,而且有设备可以识别这个编号。
拥有分组下设备的完整清单,并把数据发送给对应的设备们。
IPv4也支持分组多播,但需要网络配置整体配合。

4.新设备接入
新设备接入IPv6后,会使用IPv6的邻居发现协议(Neighbour Discover Protocol)为自己申请一个IP地址。当新设备需要发送信息到目的地时,还可以通过ND协议广播查询目标设备。然后如果需要路由,还可以通过ND查找路由器。IPv6:更加无状态化,减少数据冗余带来的风险和负担
IPV4协议/IPV6协议

Ipv6的主要优势:

解决了IP地址耗尽的问题
解决了网络区域、站点划分的问题。
协议层支持多播。Ipv6可以有专门的地址用作多播。
支持邻居发现协议,自动分配地址,做到了无状态接入设备。

上一篇:nginx编译安装


下一篇:CentOS 8 防火墙相关命令