计算机网络网络层
Posted zizi7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络网络层相关的知识,希望对你有一定的参考价值。
目录
互联网路由选择协议
- 路由算法可以分为:静态路由选择策略、动态路由选择策略,其中动态路由可以自适应网络状态变化,但开销较大
- 互联网采用的路由策略主要是动态的、分布式(分层次)的:
1)内部网关协议IGP
2)外部网关协议EGP
内部网关协议IGP
- IGP用于一个内部使用的自治系统里,源主机与目的主机都处于该系统内
- IGP有多种具体协议,主要是RIP和OSPF
路由信息协议RIP
RIP是一种分布式的基于距离向量的路由选择协议,最大优点是简单
- RIP要求网络内每一个路由器都要维护从它自己到其他每一个目的网络的距离记录
- 距离的定义是经过路由器的数量(也称跳数)
- RIP允许一条路径最多只能包含15个路由器(15跳),否则认为不可达(因此RIP只适合小型互联网)
- RIP中每个路由器仅和其相邻的路由器交换信息,并且每个路由器按固定时间间隔(如30秒)交换路由信息
- 通过相邻路由器交换信息,RIP可以实现比较快的“收敛”(每个路由器更新得到正确的路由信息)
- RIP的一个特点是:好消息传播的快,坏消息传播的慢。因为某个路由检测到的坏消息(如网络故障导致不可达)在传播过程中可能因为其他路由器未更新的错误信息干扰,往往要数分钟才能完成收敛
开放最短路径优先OSPF
OSPF是为了克服RIP的缺点被开发的
其最主要特征是使用分布式的链路状态协议,而不是RIP的距离向量协议
- OSPF的泛洪法信息发送:路由器向所有相邻的路由器发送信息,每个相邻路由器又将此信息发往其所有相邻路由器。作为对比,RIP仅仅向自己的相邻路由器发送信息
- 只有当链路状态发生变化时,路由器才向所有路由器发送信息。而RIP不管网络是否有变化,都定期交换路由信息
- OSPF允许给每条路径指派不同的代价,而不是像RIP一样只是用跳数作为代价
- OSPF的特点是更新过程收敛快
外部网关协议EGP
内部网关协议(RIP、OSPF)目标是在一个自治系统内使数据有效传送到目的站,而
1)整个互联网规模太大,每个自治系统的协议不一致,自治系统间路由选择很困难,需要维护的路由表很大
2)自治系统间的路由选择需要考虑有关策略(如政治军事因素),不局限于最少跳数
外部网关协议目前用的是边界网关协议BGP
- 其目标是力求寻找一条能到达目的网络的比较好的路由,而非最佳路由
- 每个自治系统选至少1个路由器作为BGP发言人,BGP发言人之间通过TCP建立连接,进行BGP会话交换路由信息,获知该自治系统与其他自治系统的可达性
IPv6
项目 | IPv4 | IPv6 |
---|---|---|
地址空间 | 32位 | 128位 |
首部格式 | 不定长度,4字节对齐 | 固定40字节,8字节对齐 |
自动配置 | 不支持 | 支持,不再需要DHCP |
协议扩充 | 不支持 | 支持 |
图1. IPv6数据报的一般形式
- IPv6将IPv4中首部的选项放到了扩展首部中,这样路由器不用每次都检查选项,从而大大提高了处理效率
- 为了方便,IPv6使用冒号16进制表示:每个16位的值用16进制表示,各值之间用冒号分割,一共128/16=8个区间
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
1)每个区间可以省略数字前面的0
2)连续区间为0可以做零压缩(一个地址只能用一次零压缩):
FF05:0:0:0:0:0:0:B3 => FF05::B3
3)支持结合点分10进制记法(IPv4记法)
0:0:0:0:0:200C:128.10.2.1 => ::200C:128.10.2.1
IPv4向IPv6过渡
双协议栈和隧道技术可以实现过渡期间的兼容问题
双协议栈
主机或路由器装有IPv4和IPv6两种协议栈,如果DNS返回的目的地址是IPv4则使用IPv4协议,否则使用IPv6协议
这种方式可能存在信息损失:源地址和目的地址均为IPv6,但中间路由是IPv4,则传输过程中由IPv6转为IPv4的过程会丢失某些字段
隧道技术
在IPv6数据报要进入IPv4网络时,将IPv6数据报全部封装为IPv4数据报的数据部分(IPv4首部的协议字段设置为41),再一次进入IPv6网络时再将其“提取”出来
可以避免双协议栈的信息损失
IP多播
- 由一个源点发送到多个终点(一对多通信)
- 多播的目的地址不是某台主机的IP地址,而是一个多播组的地址,多台主机加入该多播组实现多播
- 多播组地址使用IP地址中的D类地址:224.0.0.0 到 239.255.255.255
IP多播需要两种协议:网际组管理协议(IGMP)、多播路由选择协议
IGMP协议
使用IP数据报传递报文
1)当某台主机加入新的多播组时,该主机向多播地址发送IGMP报文,本地多播路由器利用多播路由选择协议把这种组成员关系转发给其他多播路由器;
2)本地多播路由器会周期性探询局域网内的主机,如果一个组在经过几次探询后没有一台主机响应,则认为本网络的主机均已离开这个组。不再将该组的成员关系转发给其他多播路由器。
多播路由选择协议
目标是找出以源主机为根节点的多播转发树
该协议还没有标准化
虚拟专用网VPN
因为IP地址紧缺及安全性的要求,一个机构内往往不能把所有主机都接入外网。
原则上此时本机构可以自行分配IP地址。但考虑到连入外网可能造成的IP地址冲突,RFC1918指定了一些专用地址,这些地址只能用于内部通信:
- 10.0.0.0 到 10.255.255.255
- 172.16.0.0 到 172.31.255.255
- 192.168.0.0 到 192.168.255.255
有时候一个机构的多个部门分布在不同地区,除了租用专用线路,还可以利用虚拟专用网VPN技术实现内部通信:
假定某个机构在相隔较远的场所分别建立了专用网A和B,其网络地址分别为专用地址10.1.0.0和10.2.0.0
首先确保A和B各自至少有1个路由器具有公网IP,假设分别为路由器R1和R2。
在A和B内部的通信都不经过互联网。但如果A中某台主机10.1.0.1要与B中10.2.0.3通信,R1收到数据报后,首先对其加密,然后加上外部数据报,源地址为R1公网IP,目的地址为R2公网IP。R2收到后首先对数据部分解密,再根据内部数据报的目的地址10.2.0.3发给对应主机
网络地址转换NAT
当专用网内部的主机需要与外网通信时,除了再直接分配其一个公网IP,还可以通过NAT实现通信
首先需要该专用网内有一个路由器至少有1个公网IP,安装了NAT软件后成为NAT路由器。
当NAT路由器收到内部主机A发往外网主机B的数据报时,将其源地址改为路由器的公网IP,再做转发。
NAT有2个问题:
1)专用网内部最多同时与外网通信的主机数目受限于NAT路由器公网IP地址数量;
2)外网主机B无法主动与内网主机A通信,B只能找到NAT路由器
现在常用的NAT将端口号也利用起来,实现一个公网IP支持多台内网主机同时连接外网
比如将内网的192.168.0.3:30000和192.168.0.4:30000分别映射为公网的172.38.1.5:40000和172.38.1.5:40001
这种方式可以缓解对公网IP数量的要求,NAT路由器也可以通过转换表实现外网与内网的主动通信
以上是关于计算机网络网络层的主要内容,如果未能解决你的问题,请参考以下文章
计算机网络—— 网络层(789):IPv4数据报的首部格式网际控制报文协议ICMP虚拟专用网VPN与网络地址转换NAT
计算机网络—— 网络层(789):IPv4数据报的首部格式网际控制报文协议ICMP虚拟专用网VPN与网络地址转换NAT