Internet原理与技术
计算机专业基础笔记目录可以点这里:计算机专业基础笔记目录
Internet原理与技术1(IP地址、IP数据报、ARP协议、ICMP协议、子网编址、无分类编址与CIDR、IP分组的转发)
因特网的路由协议
自治系统与路由协议分类(IGP、EGP)
从路由算法的自适应性(对网络变化的适应能力)考虑,路由算法可分为两类:
- 静态路由选择策略
非自适应路由选择,特点是简单和开销较小,但不能及时适应网络状态的变化。 - 动态路由选择策略
自适应路由选择,特点是能较好地适应网络状态的变化,但实现较为复杂,开销也比较大。
因特网有两大类路由选择协议:
- 内部网关协议(IGP, Interior Gateway Protocol)
即在一个自治系统内部使用的路由选择协议。
目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。 - 外部网关协议(EGP, External Gateway Protocol)
即在自治系统之间交换网络可达性信息所用的路由选择协议。
在外部网关协议中目前使用最多的是 BGP-4。
内部网关协议 - RIP
-
路由信息协议RIP 是 内部网关协议IGP 中最先得到广泛使用的协议。
-
RIP协议是一种分布式的基于距离向量的内部路由选择协议。
-
RIP协议是通过“距离”的定义,来实现对最短路径的寻找。它认为一个好的路由就是它通过的路由器的数目少,即“距离短”。
-
RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。
-
把从一路由器到直接连接的网络的距离定义为 1。规定“距离”最大值为16,相当于不可达。
【例】RIP路由信息表的交换
本例中,经过三次交换,每个路由的路由信息表就包含了其他网络。
RIP工作过程
内部网关协议 - OSPF
- OSPF 对不同的链路可根据 IP 分组的不同服务类型 TOS而设置成不同的代价。
- 可以将通信量分配给多条相同代价的路径;这叫作多路径间的负载平衡。
- OSPF 规定每隔一段时间,如 30 分钟,要刷新一次数据库中的链路状态。
- 由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。
外部网关协议 - BGP
- 运行TCP上的一种自治系统的路由协议;
- 唯一一个用来处理像因特网大小的网络的协议;
- 唯一能够妥善处理好不相关路由域间的多路连接的协议;
- 采用路径向量路由协议;
- 找到一条能够到达目的网络的且比较好的路由路径,并非一条最佳路由;
路由协议总结
RIP 协议:
- 基于距离向量的分布式路由选择协议
- 只适用于小型网络,最大跳数为15
- 不能同时使用多条路由
- 每隔30秒向相邻路由器广播自己的整个路由表
- 使用运输层的UDP进行传输消息
OSPF 协议:
- 链路状态路由选择协议
- 采用 Dijkstra 最短路径算法
- 采用洪泛法来更新链路状态信息
- 所有路由器都维持一个链路状态数据库
- 直接使用IP数据报来传送信息
BGP 协议:
- 路径向量协议,保存路径
- 两个不同的自治系统之间交换信息
- 需要用邻站可达性过程来维持
网络地址转换 NAT
- 网络地址转换 NAT (Network Address Translation)方法于1994年提出,用来解决本地编址的内部网络与外网通信的问题。
- 需要在专用网连接到因特网的路由器上安装 NAT 软件。
装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部 全球地址 IPG。 - 所有使用本地地址的主机在和外界通信时都要在 NAT路由器上 将其本地地址转换成 IPG 才能和因特网连接。
【例】NAT路由转换
本地发送消息给服务器时:NAT路由器将 源IP 替换为全球地址,并记录在映射表。
服务器发送消息给本地时:NAT路由器根据映射表将全球地址替换为专用地址。
【例】引入端口后的NAT路由转化
本地发送消息给服务器:替换 源IP 和 源端口,并记录映射表中。
服务器发送消息给本地:根据映射表替换 目地IP 和 目的端口。
下一代网际协议IPv6
下一代网际协议概述
从计算机本身发展以及从因特网规模和网络传输速率来看,现在 IPv4 已很不适用。
- 最主要的问题是 32 bit 的 IP 地址不够用。
- 要解决 IP 地址耗尽的问题的措施:
采用无类别编址 CIDR,使 IP 地址的分配更加合理;
采用子网技术,实现相同网络地址在不同物理网络之间的复用;
采用网络地址转换 NAT方法以节省全球 IP 地址;
采用具有更大地址空间的新版本的 IP 协议 IPv6。
IPv6 所引进的主要变化如下:
- 更大的地址空间。IPv6 将地址从 IPv4 的 32 bit 增大到了 128 bit;
- 扩展的地址层次结构;
- 灵活的首部格式;
- 改进的选项;
- 允许协议继续扩充;
- 支持即插即用(即自动配置);
- 支持资源的预分配;
IPv6数据报格式
首先看一下 IPv4 到 IPv6 的变化:
IPv6 的数据报格:
- 通信量类(traffic class) — 8 bit。
这是为了区分不同的 IPv6 数据报的类别或优先级;目前正在进行不同的通信量类性能的实验。 - 流标号(flow label) — 20 bit。
“流”是互联网络上从特定源点到特定终点的一系列数据报;
“流”所经过的路径上的路由器都保证指明的服务质量;
所有属于同一个流的数据报都具有相同的流标号。 - 有效载荷长度(payload length) — 16 bit。
指明 IPv6 数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是 64 KB。 - 下一个首部(next header) — 8 bit。
相当于 IPv4 的协议字段或可选字段。 - 跳数限制(hop limit) — 8 bit。(IPv4 中的生存时间)
源站在数据报发出时即设定跳数限制。
路由器在转发数据报时将跳数限制字段中的值减1。
当跳数限制的值为零时,就要将此数据报丢弃。 - 源地址 — 128 bit。
数据报的发送站的 IP 地址。 - 目的地址 — 128 bit。
数据报的接收站的 IP 地址。
IPv6数据报 - 基本首部的变化
- 取消了 IPv4 的首部长度字段,IPv4 中的数据报总长度字段被有效载荷长度字段取代;
- 源、目的地址由 4字节 增大到 16字节;
- 分片有关字段被转移到了 “分片扩展首部”;
- 生存时间字段改名为跳数限制(hop limit)字段;
- 服务类型字段改名为通信量类别字段,增加流标号字段,用于资源预分配;
- 协议字段由指明后续内容格式的下一首部字段替代,注意下一首部可能是 IPv6 数据报的扩展首部,也可能是 ICMP、TCP、UDP、IGMP、OSPF 等首部。
IPv6数据报格式 - 扩展首部
- IPv6 将原来 IPv4 首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。
- 数据报途中经过的路由器都不处理这些扩展首部(只有一个首部例外,即逐跳选项扩展首部)。
- 这样就大大提高了路由器的处理效率。
IPv6 编址方案
IPv6 地址分类(单播、组播、任播)
IPv6 数据报的目的地址可以是以下 3 种基本类型地址之一:
- 单播(unicast)
单播就是传统的点对点通信。 - 组播(multicast)
组播是一点对多点的通信。 - 任播(anycast)
任播是 IPv6 增加的一种类型。
任播的目的站是一组计算机,但数据报在交付时只交付给其中的一个,通常是距离最近的一个。
IPv5 地址表示(零压缩)
IPv6 的编址:
每个 16bit 的值用十六进制值表示,各值之间用冒号分隔。
- 例如:
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
零压缩(zero compression),即一连串连续的零可以为一对冒号所取代。
- 例如:
FF05:0:0:0:0:0:0:B3
可以写成:FF05::B3
- 一个IPv6地址中,零压缩只能使用一次。
IPv4向IPv6的过渡(双协议栈、隧道)
- 向 IPv6 过渡只能采用逐步演进的办法。
- 在过渡阶段,能够利用IPv4网络实现IPv6主机之间的通信,支持IPv4系统和IPv6系统之间的通信。
- 双协议栈(dual stack)是指在完全过渡到 IPv6 之前,使一部分主机(或路由器)装有两个协议栈,一个 IPv4 和一个IPv6。
- 隧道技术
双协议栈
隧道技术
知识点总结
- 了解网络互连的需求;
- 掌握IP地址的分类,理解IP地址的分配;
- 理解并会分析IPv4数据报的格式,掌握数据报分片的计算;
- 理解和IP配套的两个协议:地址解析协议ARP和因特网控制报文协议ICMP;
- 掌握子网划分技术和无分类编址方案;
- 掌握IP分组在各种编址情况下的转发机制;
- 理解因特网中路由协议的分类以及路由协议的工作原理;
- 了解实现网络地址转换NAT所采用的方法;
- 了解IP协议的发展,掌握IPv6的主要特点;