从零开始的计算机网络基础(图文并茂,1.8w字,面试复习必备) (9)

但划分子网始终需要是2的倍数同时总共也就40亿个,对于信息大爆炸的今天完全不够用,那么怎么解决呢?这个问题专家们早就想到了,所以很早开始了ipv6的协议制定,当然替换一个协议相当于动摇了一个摩天大厦的根基,这务必是一个缓慢的过程。所以聪明的开发人员采用了网络地址转换(NAT)的方法扩充了ip地址

NAT

提到这个词大家估计还有点疑惑这是个啥,不过提到内网穿透,大家估计就来劲了。还是用图说一下原理吧。

NAT.png

上图简单地反映了内网穿透的原理(其实就是利用了传输层端口的多路复用)。我们知道HTTP协议的默认端口是80端口,同时用户只能访问公网ip上的信息。所以当右边的用户想要访问左边用户上的服务时,会在公网服务器上开放一个端口然后与局域网的端口连接(实际上是80端口监听时,将该请求转发到某端口),之后建立了一条通信隧道,与之类似,左边用户也与公网服务器建立一条隧道。这样看起来两个用户通过公网服务器(中介)进行相互访问一样。举个生活中的例子就是,在同一个家庭组(WIFI网络下),三大运营商只会随机分配给你一个ip,但连接该WIFI的通常不少于一人,那么虚拟子网络中的用户使用虚拟ip与其他家庭组用户之间进行通信时所用到的技术就涵盖了内网穿透。

ICMP

ICMP协议是一个用于差错报告的协议,它的报文类型如下

icmp.png

ipv6

ipv6.png

从数据报就可以看出ipv6相比ipv4更加简洁清晰,删去了很多不必要的字段。然后将ip地址的比特位数从32位增加到128位,据说地球上的每一粒沙都可以分配一个ip地址。以下为字段说明:

版本: 与ipv4起到的作用一样。

流量类型: 标识流量的优先级。

流标签: 用于标识一条数据报的流,可以按发送方的要求进行特殊处理的流,可以设置优先级(会员机制)。更多内容请参考《计算机网络 自顶向下方法》

有效载荷长度: Content数据的长度

下一个首部: 该字段标识数据报中内容需要交给哪一个协议(如TCP或UDP)

跳限制: 数据报每经过路由转发其值-1,当其值为0时,该数据报被丢弃。与ipv4中TTL类似

IPv4如何向IPv6迁移

我们注意到两个协议上都有版本字段,那么是否可以通过修改该字段进行迁移呢?当然是不行的,ipv4和ipv6数据报首部完全不一样,没办法采用与原协议方法进行传输。

所以比较直接的方法是采用双栈的方法,假定两个IPv6节点要是有IPv6数据报进行交互,但他们是由中间IPv4路由器互联的。我们将两台IPv6路由器之间的中间IPv4路由器的集合称为一个隧道。隧道中,IPv6将其所有字段放到IPv4的数据报字段中,再由IPv4传输给另一个IPv6,详情参考《计算机网络 自顶向下方法》

RIP,OSRF

之前有提到过路由选择算法,而实现路由选择有两个比较有名的协议分别是RIP和OSPF。

RIP

RIP是一种距离向量协议,每个路由器内部维护了一个路由选择表的RIP表,它包含了当前路由到达目标地所经历的跳数。

rip1.png

rip2.png

OSPF

OSPF是基于链路状态的协议,路由器在本地运行迪杰斯特拉算法(最短路径算法),求出当前路由器据个节点的权重,然后将所有链路费用设置为1,然后如何根据权重选择链路由管理员自己决定。

RIP和OSPF的区别 1、路由算法:

RIP协议是一种典型的距离矢量协议,它使用的也是距离矢量算法,该算法可以用一句话来概括:进行路由更新时传递路由表。

OSPF协议则是一种典型的链路状态协议,它使用的是Dijkstra算法,该算法是通过OSPF邻居之间泛洪发送LSA(链路状态通告)来进行路由更新,并且它会计算出去往所有已知目的地址的所有无环路径,以不同种类的LSA类型将其保存到LSDB(链路状态数据库)中,所有运行OSPF的设备都会有自己的LSDB,然后将LSDB中最优的LSA更新到路由表中。

2、度量值:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywwpy.html