Transcript 第14讲网络层
第16讲 网络层(5)
知识回顾
路由算法
自治系统
内部网关协议
– RIP
– OSPF
本讲内容和目标
了解外部网关协议BGP的工作机制
了解路由器的内部结构及转发的含义
理解VPN概念及其工作原理
理解NAT基本概念及其工作原理
了解IPV6技术
外部网关协议
边界网关协议(BGP, Border Gateway Protocol)是互联网
的核心路由协议。它通过维护路由表来实现自治系统(AS)
之间的可达性,属于矢量路由协议。BGP不使用传统域内
路由协议的距离度量,而是基于路径、网络策略和规则集
来决定路由。
自从1994年以来,BGP版本4在互联网上广泛使用。版本4
的主要改进在于支持无类型域间路由(CIDR)并使用路由
聚类来减小路由表的尺寸。从最早的RFC 1771开始,经过
超过20版草稿,BGP版本4最终在2006年1月发行的RFC
4271內定案。
BGP 使用的环境却不同
因特网的规模太大,使得自治系统之间路由选择非
常困难。对于自治系统之间的路由选择,要寻找最
佳路由是很不现实的。
– 当一条路径通过几个不同 AS 时,要想对这样的路径计算
出有意义的代价是不太可能的。
– 比较合理的做法是在 AS 之间交换“可达性”信息。
自治系统之间的路由选择必须考虑有关策略。
因此,边界网关协议 BGP 只能是力求寻找一条能够
到达目的网络且比较好的路由(不能兜圈子),而
并非要寻找一条最佳路由。
BGP 发言人
(BGP speaker)
每一个自治系统的管理员要选择至少一个路由
器作为该自治系统的“ BGP 发言人” 。
一般说来,两个 BGP 发言人都是通过一个共
享网络连接在一起的,而 BGP 发言人往往就
是 BGP 边界路由器,但也可以不是 BGP 边界
路由器。
BGP 交换路由信息
一个 BGP 发言人与其他自治系统中的 BGP 发言人要交
换路由信息,就要先建立 TCP 连接,然后在此连接上
交换 BGP 报文以建立 BGP 会话(session),利用 BGP 会
话交换路由信息。
使用 TCP 连接能提供可靠的服务,也简化了路由选择
协议。
使用 TCP 连接交换路由信息的两个 BGP 发言人,彼此
成为对方的邻站或对等站。
BGP 发言人和
自治系统 AS 的关系
AS1
BGP
BGP
发言人
发言人
AS2
BGP 发言人
BGP 发言人
AS3
AS4
BGP 发言人
AS5
AS 的连通图举例
BGP 所交换的网络可达性的信息就是要到达某个网络所要
经过的一系列 AS。
当 BGP 发言人互相交换了网络可达性的信息后,各 BGP
发言人就根据所采用的策略从收到的路由信息中找出到达
各 AS 的较好路由。
AS2
AS1
AS3
AS4
AS5
BGP 发言人交换路径向量
自治系统 AS2 的 BGP 发言人通知主干网的 BGP 发
言人:“要到达网络 N1, N2, N3 和 N4 可经过 AS2。”
地区 ISP
(AS2)
主干网
(AS1)
地区 ISP
(AS3)
本地 ISP(AS4)
N 1, N 2
本地 ISP(AS5)
N 3, N 4
本地 ISP(AS6)
N5
本地 ISP(AS7)
N 6, N 7
BGP 发言人交换路径向量
主干网还可发出通知:“要到达网络 N5, N6 和 N7
可沿路径(AS1, AS3)。”
地区 ISP
(AS2)
主干网
(AS1)
地区 ISP
(AS3)
本地 ISP(AS4)
N 1, N 2
本地 ISP(AS5)
N 3, N 4
本地 ISP(AS6)
N5
本地 ISP(AS7)
N 6, N 7
BGP 协议的特点
BGP 协议交换路由信息的结点数量级是自治系统数的量级,
这要比这些自治系统中的网络数少很多。
每一个自治系统中 BGP 发言人(或边界路由器)的数目
是很少的。这样就使得自治系统之间的路由选择不致过分
复杂。
BGP 支持 CIDR,因此 BGP 的路由表也就应当包括目的
网络前缀、下一跳路由器,以及到达该目的网络所要经过
的各个自治系统序列。
在BGP 刚刚运行时,BGP 的邻站是交换整个的 BGP 路由
表。但以后只需要在发生变化时更新有变化的部分。这样
做对节省网络带宽和减少路由器的处理开销方面都有好处。
路由器在网际互连中的作用
路由器的结构
路由器是一种具有多个输入端口和多个输出端口
的专用计算机,其任务是转发分组。也就是说,
将路由器某个输入端口收到的分组,按照分组要
去的目的地(即目的网络),把该分组从路由器
的某个合适的输出端口转发给下一跳路由器。
下一跳路由器也按照这种方法处理分组,直到该
分组到达终点为止。
典型的路由器的结构
路由选择处理机
3——网络层
2——数据链路层
1——物理层
路由选择协议
路由
选择
路由表
输入端口
1
2
输出端口
3
3
交换结构
2
1
…
…
2
3
转发表
输入端口
1
分组处理
分组
转发
输出端口
3
2
1
“转发”和“路由选择”的区别
“转发”(forwarding)就是路由器根据转发表将用户的 IP
数据报从合适的端口转发出去。
“路由选择”(routing)则是按照分布式算法,根据从各相
邻路由器得到的关于网络拓扑的变化
情况,动态地
改变所选择的路由。
路由表是根据路由选择算法得出的。而转发表是从路由
表得出的。
在讨论路由选择的原理时,往往不去区分转发表和路由
表的区别,
IP 多播的基本概念
视频服务器 M
90 个
不使用多播时需要
发送 90 次单播
R1
30 个
30 个
30个
R4
R3
R2
…
30 个
30 个
30 个
…
…
共有 90 个主机接收视频节目
多播可明显地减少
网络中资源的消耗
视频服务器 M
发送 1 次多播
1个
R1
复制
1个
R3
R2
多播
多播组成员
共有 90 个
…
1个
1个
1个
R4
多播
…
1 个 多播
…
1个
IP 多播的一些特点
(1) 多播使用组地址—— IP 使用 D 类地址支持多播。
多播地址只能用于目的地址,而不能用于源地址。
(2) 永久组地址——由因特网号码指派管理局 IANA
负责指派。
(3) 动态的组成员
(4) 使用硬件进行多播
在局域网上进行硬件多播
因特网号码指派管理局 IANA 拥有的以太网地址块的高 24 位
为 00-00-5E。
因此 TCP/IP 协议使用的以太网多播地址块的范围是:从 0000-5E-00-00-00 到 00-00-5E-FF-FF-FF
D 类 IP 地址可供分配的有 28 位,在这 28 位中的前 5 位不能
用来构成以太网硬件地址。
0
8
16
24
D 类 IP 地址 1110
0
1
0
0
5
E
00000001 00000000 01011110 0
表示多播
最低 23 位来自 D 类 IP 地址
48 位以太网地址
31
VPN技术概述
VPN的概念
– 虚拟专用网(Virtual Private Network,VPN)被定义为通过一个公
用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿
过混乱的公用网络的安全、稳定的隧道。
– VPN依靠ISP(Internet服务提供商)和其他NSP(网络服务提供商),
在公用网络中建立专用的数据通信网络的技术。在虚拟专用网中,
任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,
而是利用某种公众网的资源动态组成的。
– VPN是对企业内部网的扩展。一般以IP为主要通讯协议。
VPN技术概述(续)
隧道
– VPN是在公网中形成的企业专用链路。采用“隧道”技术,可以模
仿点对点连接技术,依靠Internet服务提供商(ISP)和其他的网络服务
提供商(NSP)在公用网中建立自己专用的“隧道”,让数据包通过这
条隧道传输。对于不同的信息来源,可分别给它们开出不同的隧道。
– 隧道是一种利用公网设施,在一个网络之中的“网络”上传输数据
的方法。隧道协议利用附加的报头封装帧,附加的报头提供了路由
信息,因此封装后的包能够通过中间的公网。封装后的包所途经的
公网的逻辑路径称为隧道。一旦封装的帧到达了公网上的目的地,
帧就会被解除封装并被继续送到最终目的地。
VPN的安装和使用
– http://www.ouyaoxiazai.com/article/24/300.html
VPN的基本功能
VPN的主要目的是保护传输数据,是保护从信道的一个端
点到另一端点传输的信息流。信道的端点之前和之后,
VPN不提供任何的数据包保护。VPN的功能至少应包括:
– 加密数据。以保证通过公网传输的信息即使被他人截获也不会泄露。
– 信息验证和身份识别。保证信息的完整性、合理性,并能鉴别用户的身份。
– 提供访问控制。不同的用户有不同的访问权限。
– 地址管理。VPN方案必须能够为用户分配专用网络上的地址并确保地址的
安全性。
– 密钥管理。VPN方案必须能够生成并更新客户端和服务器的加密密钥。
– 多协议支持。VPN方案必须支持公共因特网络上普遍使用的基本协议,包
括IP、IPX等。
RFC 1918 指明的专用地址
(private address)
10.0.0.0 到 10.255.255.255
172.16.0.0 到 172.31.255.255
192.168.0.0 到 192.168.255.255
这些地址只能用于一个机构的内部通信,而不能用于
和因特网上的主机通信。
专用地址只能用作本地地址而不能用作全球地址。在
因特网中的所有路由器对目的地址是专用地址的数据
报一律不进行转发。
用隧道技术实现虚拟专用网
本地地址
全球地址
125.1.2.3
部门 A
X
10.1.0.1
隧道
本地地址
194.4.5.6
部门 B
R1
因特网
使用隧道技术
R2
Y
10.2.0.3
用隧道技术实现虚拟专用网
本地地址
全球地址
125.1.2.3
部门 A
X
10.1.0.1
本地地址
194.4.5.6
隧道
部门 B
R1
R2
因特网
Y
10.2.0.3
使用隧道技术
网络地址 = 10.1.0.0
(本地地址)
网络地址 = 10.2.0.0
(本地地址)
用隧道技术实现虚拟专用网
源地址:125.1.2.3
目的地址:194.4.5.6
加密的从 X 到 Y 的内部数据报
外部数据报的数据部分
125.1.2.3
部门 A
X
10.1.0.1
数据报首部
194.4.5.6
隧道
部门 B
R1
R2
因特网
Y
10.2.0.3
使用隧道技术
125.1.2.3
R1
X
194.4.5.6
R2
部门 B
部门 A
Y
10.2.0.3
10.1.0.1
虚拟专用网 VPN
VPN的隧道技术
VPN中的隧道是由隧道协议形成的,VPN使用
的隧道协议主要有三种:点到点隧道协议
(PPTP)、第二层隧道协议(L2TP)以及
IPSec。PPTP和L2TP集成在Windows中,所以
最常用。
– PPTP协议允许对IP、IPX或NetBEUI数据流进行加密,然后封装在IP
包头中通过企业IP网络或公共因特网络发送。
– L2TP协议允许对IP,IPX或NetBEUI数据流进行加密,然后通过支
持点对点数据报传递的任意网络发送,如IP,X.25,帧中继或ATM。
– IPSec隧道模式允许对IP负载数据进行加密,然后封装在IP包头中通
过企业IP网络或公共IP因特网络如Internet发送。
点到点隧道协议(PPTP)
PPTP协议
– Point-to-Point Tunnel Protocol, 2层协议,需要把网络协议包封装到
PPP包,PPP数据依靠PPTP协议传输
– PPTP通信时,客户机和服务器间有2个通道,一个通道是tcp 1723端
口的控制连接,另一个通道是传输GRE PPP数据包的IP隧道
– PPTP没有加密、认证等安全措施,安全的加强通过PPP协议的
MPPE(Microsoft Point-to-Point Encryption)实现
– windows中集成了PPTP Server和Client,适合中小企业支持少量移动
工作者
– 如果有防火墙的存在或使用了地址转换,PPTP可能无法工作
IPSec协议
IPSec协议
–
–
–
–
三层协议,直接传输网络协议数据包
基于TCP/IP的标准协议,集成到IPv6中,仅仅传输IP协议数据包
提供了强大的安全、加密、认证和密钥管理功能
适合大规模VPN使用,需要认证中心(CA)来进行身份认证和分发
用户的公共密钥
IPSec的工作模式
– 传输模式:只对IP数据包的有效负载进行加密或认证。此时,继续
使用以前的IP头部,只对IP头部的部分域进行修改,而IPSec协议头
部插入到IP头部和传输层头部之间。
– 隧道模式:对整个IP数据包进行加密或认证。此时,需要新产生一
个IP头部,IPSec头部被放在新产生的IP头部和以前的IP数据包之间,
从而组成一个新的IP头部。
IPSec协议(续)
IPSec协议安全要素
– ESP(Encapsulating Security Payload)。ESP协议主要用来处理
对IP数据包的加密。ESP是与具体的加密算法相独立的,几乎支持各
种对称密钥加密算法,默认为3DES和DES
– AH(Authentication Header)。AH只涉及到认证,不涉及到加密
– IKE(Internet Key Exchange)。IKE协议主要是对密钥交换进行管理,
它主要包括三个功能:
• 对使用的协议、加密算法和密钥进行协商
• 方便的密钥交换机制(这可能需要周期性的进行)
• 跟踪对以上这些约定的实施
内联网 intranet 和外联网 extranet
(都是基于 TCP/IP 协议)
由部门 A 和 B 的内部网络所构成的虚拟专用网 VPN 又称
为内联网(intranet),表示部门 A 和 B 都是在同一个机构的
内部。
一个机构和某些外部机构共同建立的虚拟专用网 VPN 又称
为外联网(extranet)。
125.1.2.3
R1
X
194.4.5.6
R2
部门 B
部门 A
Y
10.2.0.3
10.1.0.1
虚拟专用网 VPN
远程接入VPN
(remote access VPN)
有的公司可能没有分布在不同场所的部门,但有很多
流动员工在外地工作。公司需要和他们保持联系,远
程接入 VPN 可满足这种需求。
在外地工作的员工拨号接入因特网,而驻留在员工 PC
机中的 VPN 软件可在员工的 PC 机和公司的主机之间
建立 VPN 隧道,因而外地员工与公司通信的内容是保
密的,员工们感到好像就是使用公司内部的本地网络。
IPSecVPN系统的组成
IPSecVPN的实现包含管理模块、密钥分配和生成模
块、身份认证模块、数据加密/解密模块、数据分
组封装/分解模块和加密函数库几部分组成。
加密函数库
网络管理员
Telnet
Intranet用户
管
理
模
块
密钥分配和
生成模块
身份认
证模块
数据加密/
解密模块
数据分组封装/分解模块
VPN的类型
VPN的分类方法比较多,实际使用中,需要通过客户端与服
务器端的交互实现认证与隧道建立。基于二层、三层的VPN,
都需要安装专门的客户端系统(硬件或软件),完成VPN相
关的工作。
一个VPN解决方案不仅仅是一个经过加密的隧道,它包含
– 访问控制、认证、加密、隧道传输、路由选择、过滤、高可用性、
服务质量以及管理
VPN系统大体分为4类
– 专用的VPN硬件
– 支持VPN的硬件或软件防火墙
– VPN软件
– VPN服务提供商
网络地址转换 NAT
网络地址转换 NAT (Network Address Translation)方法于
1994年提出。
需要在专用网连接到因特网的路由器上安装 NAT 软件。
装有 NAT 软件的路由器叫做 NAT路由器,它至少有
一个有效的外部全球地址 IP地址。
所有使用本地地址的主机在和外界通信时都要在 NAT
路由器上将其本地地址转换成 IP地址才能和因特网连
接。
http://www.ipv6.ru/english/documents/theory/n
at.php
地址转换初步
地址转换功能将内部网络的私有地址转换为可路由的公共地
址。
这一功能一方面节约了大量公共IP地址,同时也增加了内部
网络 的安全性。
两种主要的地址转换模式:
– 内部地址翻译NAT(Translation inside local addresses)
– 内部全局地址复用PAT(Overloading inside glogal addresses)
内部地址翻译NAT
内部地址翻译(Translation inside local addresses) :
• 位于inside网络和outside网络中的NAT路由器在发送数据包之前,负
责把内部IP翻译成外部合法地址。内部网络的主机不可能同时进行网
络的外部通信,所以一般同一时刻,只有一部分内部地址需要翻译。
• NAT的翻译可以采取静态翻译(static translation)和动态翻译
(dynamic translation)两种。静态翻译将内部地址和外部地址一对一
对应。当NAT需要确认哪个地址需要翻译,翻译时采用哪个地址pool
时,就使用了动态翻译。
网络地址转换 NAT
•
•
本地地址和全局地址.
在内部网络中本地地址可见.
内部全局地址复用PAT
内部全局地址复用(overloading inside global addresses) :
• 采用port multiplexing技术,或改变外出数据的源port技术可以将多个
内部IP地址影射到同一个外部地址,这就是PAT(port address
translator)。和内部地址翻译一样,NAT router同样也负责查表和翻
译内部IP地址,唯一的区别就是由于使用了overloading,router将复
用同样的内部全局IP地址,并存储足够的信息以区分它和其他地址,
这样查询出来的是extended entry。
• NAT router和外部主机的通讯采用翻译过的内部全局地址,故同一般
的通信没有差别,router到内部主机通讯时,同样要查NAT表。
端口地址转换 PAT
IPv6
从计算机本身发展以及从因特网规模和网络传输速率来看,现在 IPv4 已很不适用。
最主要的问题就是 32 位的 IP 地址不够用。要解决 IP 地址耗尽的问题的措施:
– 采用无类别编址 CIDR,使 IP 地址的分配更加合理。
– 采用网络地址转换 NAT 方法以节省全球 IP 地址。
– 采用具有更大地址空间的新版本的 IP 协议 IPv6。
IPv6的基本首部
– IPv6 仍支持无连接的传送所引进的主要变化如下
– 更大的地址空间。IPv6 将地址从 IPv4 的 32 位 增大到了 128 位。
– 扩展的地址层次结构。
– 灵活的首部格式。
– 改进的选项。
– 允许协议继续扩充。
– 支持即插即用(即自动配置)
– 支持资源的预分配。
IPv6 数据报的一般形式
有效载荷
选项
基本
首部
扩展
首部 1
…
扩展
首部 N
数 据 部 分
IPv6 数据报
IPv6 将首部长度变为固定的 40 字节,称为基本首部(base
header)。
将不必要的功能取消了,首部的字段数减少到只有 8 个。
取消了首部的检验和字段,加快了路由器处理数据报的速度。
在基本首部的后面允许有零个或多个扩展首部。
所有的扩展首部和数据合起来叫做数据报的有效载荷(payload)或
净负荷。
IPv6 与 IPv4 数据报首部的对比
有变化
比特 0
固
定
部
分
IPv4 20
首部 字节
可变
部分
取消
4
8
版 本 首部长度
标
生存时间
16
19
服务类型
协
31
总 长 度
标志
识
24
片 偏 移
首 部 检 验 和
议
源 地 址
目 的 地 址
可 选 字 段 (长 度 可 变)
上面是 IPv4 数据报的首部
填
充
比特 0
4
版本
12
通信量类
24
流
有 效 载 荷 长 度
IPv6
的
基
本
首
部
40 B
16
标
31
号
下一个首部
跳数限制
源 地 址
(128 bit)
目 的 地 址
(128 bit)
源地址—— 128 bit。是数据报的发送站的 IP 地址。
目的地址—— 128 bit。是数据报的接收站的 IP 地址。
冒号十六进制记法
每个 16 bit 的值用十六进制值表示,各值之间用
冒号分隔。
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
零压缩(zero compression),即一连串连续的零可
以为一对冒号所取代。
– FF05:0:0:0:0:0:0:B3
可以写成:FF05::B3
– 0:0:0:0:0:0:128.10.2.1再使用零压缩即可得
出: ::128.10.2.1
特殊地址
未指明地址 这是 16 字节的全 0 地址,可缩写为两个冒
号“::”。这个地址只能为还没有配置到一个标准的
IP 地址的主机当作源地址使用。
环回地址
即 0:0:0:0:0:0:0:1(记为 ::1)。
基于 IPv4 的地址 前缀为 0000 0000 保留一小部分地址
作为与 IPv4 兼容的。
本地链路单播地址
课件制作人:谢希仁
IPv6的安装和配置
IPv6协议的下载
– http://nic.jlu.edu.cn/ipv6/software/tpipv6-001205-SP3IE6.zip
IPv6协议安装
– 网络-添加
命令行状态
Ipv6 install
Ping6 0:0:0:0:0:0:0:1
点分十进制记法的后缀
CIDR 的斜线表示法仍然可用
– 60 bit的前缀 12AB00000000CD3 可记为:
12AB:0000:0000:CD30:0000:0000:0000:0000/60
或12AB::CD30:0:0:0:0/60
或12AB:0:0:CD30::/60
本讲小结
本讲介绍了VPN技术,其中包括VPN概念及基本功能、相
关技术以及VPN的分类。
举例说明了VPN在现代企业网中的典型应用。
介绍了NAT技术,包括NAT基本概念、NAT工作原理及典
型应用。
IPV6技术
作业
1. 利用Windows2000 Server建立VPN应用系统。
2. 随着IPv4地址的减少,私有地址的使用越来越广泛。然而,
私有地址并不能够直接在Internet上访问资源。某单位内部
有1200台主机需要访问Internet。同时有WWW服务器、Email服务器及ERP应用服务器各一台,这些服务器需要能
够被Internet用户直接访问。请回答以下问题:
⑴ 写出Internet三类私有地址范围。
⑵ 作为网络管理员需要使用什么技术来满足该单位的网络需求,简述
其工作原理。
⑶ 根据技术分类,写出1200台主机及服务器分别使用哪种技术,需要
多少个公网地址。
作业(续)
3.当使用IPv6时,是否ARP协议需要改变?如果需要
改变,那么应当概念性的改变还是技术性的改变?
4.趣味小知识:设每隔1微微秒就分配出100万个IPv6
地址。计算大约要用多少年才能将IPv6地址空间全
部用光?可以和宇宙的年龄(大约有100亿年)进
行比较。