Upload
others
View
21
Download
0
Embed Size (px)
Citation preview
基于IPv6的anycast服务
张丽
报告内容
l anycast定义l 应用背景(做什么样的事情)
l 需要解决哪些问题
l 为什么在IP层来做l 计划怎样做
l 相关研究
l 进度安排
anycast定义
l 为anycast报文提供到服务于该anycast地址的一组服务器中的至少一台(最好是一台)的尽力而为传送的无状态服务。(RFC1546,1993)
l 发送到一个 anycast 地址的报文被传送到由该地址标识的接口之一(最近的一个,根据路由协议的距离量度标准)。(RFC2373,1998)
Group A
(Member 1)
Group A
(Member 2)
Sender 2
Sender 1
Anycast Packet
Anycast Packet
IP anycast
XXX://1.1.1.2/yyy/…..
到哪个1.1.1.2最快,而且它能够服务?四川联通! …
…北京联众
1.1.1.2
四川联通
1.1.1.2
广州电信
1.1.1.2
保定热线
1.1.1.2
我们的目标
需要解决哪些问题
l 怎样知道这个地址对应于哪些服务器,而且这些服务器都是活着的
l 怎样找到能够最快的服务器
l 怎样保证连续的服务都由同一台服务器来做
l 其他
为什么要在IP层来做
l 应用层做法
l IP层做法优缺点
应用层的三种常见做法
l 用户在每次连接服务器之前逐个测试(等待时间过长);
l 目录服务器
l DNS
目录服务器
l 目录服务器定期替潜在的用户检测;
l 用户连接服务器前向目录服务器查询;
缺点:
用户必须首先知道“目录服务器”的位置每个用户区域内必须有这样的“目录服务器”每次探测都直接由anycast服务器参与
DNS
l 多个服务器由一个域名标识;
l anycast服务器定期探测到潜在用户的距离,并发送给DNS服务器;
l 用户在解析时获得一个最优的服务器
缺点:
用户需要知道DNS服务器的位置每次探测都直接由anycast服务器参与每次用户访问都必须解析域名
IP层做法的优点
l 用户连接服务器前,不用进行距离探测,也不用向任何做选择的服务器查询;
l anycast服务器只定期报告其状态,不再参与到用户距离的探测,该开销与用户数量无关;
l 探测距离过程的开销比应用层小。
探测距离过程的开销比应用层小
ABC
DE
FGIP层测量G,C,B 到A距离的开销
应用层测量G 到A距离的开销
应用层测量C 到A距离的开销
应用层测量E 到A距离的开销
IP层做法的缺点
l 必须分配IP地址空间:l 使用anycast寻址需要路由器支持;l 服务器选择由网络来做,用户没有参与的可能;
l 无连接服务问题;
l 网络层处理服务器吞吐率、负载之类的应用层路由指标比较难。
对这些缺点这样说
l IPv6已经为anycast分配了地址空间;l 由于IPv6的接纳,anycast已经被路由器厂商逐步支持;l 在多数情况下,用户不参与是一种方便;
l 无连接服务可以通过IP源路由轻松解决,开销非常小;l 网络层可以通过anycast服务器向路由器的活动报告中,捎带服务器吞吐率、负载之类的指标,使IP-anycast在一定程度上考虑这些指标。
无连接服务问题
Group A
(Member 1)
Group A
(Member 2)
Group A
(Member 3)
TCP client
TCP SYN
packet
SYN-ACK Packet
TCP ACK
packet
计划怎样做
l 任务分析
l IP对anycast支持现状分析l 到底怎样做
目标
l 找到最快的服务器
l 最快=最短服务时间=最短网络传输时间+最短服务器服务时间
l 服务器服务时间在负载不过重的情况下认为近似相同
l 目标:找到网络传输时间最短的服务器
总任务
以最短网络传输时间为路由指标的
IP-anycast服务
要做哪些事情
l 知道一个anycast地址对应于哪些服务器,而且这些服务器都是活着的
l 找到网络传输时间最短的服务器
l 保证连续的服务都由同一台服务器来做
l 其他
组管理协议
路由协议
无连接问题解决方案
链路地址解析方案
如果什么都不做,IPv6能实现以最短传输时间为路由指标的anycast吗?
l 成立了组管理小组,没有结果;anycast服务器可以通过直接运行路由协议直接进入路由系统
lRIPlOSPFlBGP
lND (邻居发现)
lARP
l 路由协议(没有专门的路由协议)l 无连接服务
l 链路地址解析
l 结论
Anycast in RIP
B,CBCBCC
522644
ABCDEF
hopcostdest
3
4
2
1
4
2
2
2
1
1
A
DB
C E
F
S
A
A
路由协议( RIP )
只支持跳数做最短路径选择;
不支持多个等距离路径之间的选择;
结论:
可以知道最短网络传输时间的服务器;
相同距离服务器中的一台屏蔽掉其他服务器
前提:
跳数反映网络传输时间;主机直接参与路由
Anycast in OSPF
R3 R4 R5
A
R2
A
R1
R3 R4 R5
R2 A
R1
路由协议( OSPF)(1)
支持一个或多个路由指标。若只用一个路由指标,则任选。如,cisco的OSPF:基本带宽是否支持等距离多路径选择由实现决定
结论:
可以找到最短网络传输时间的服务器;
相同距离服务器中的一台可能屏蔽掉其他服务器
不同自治系统的OSPF可能使用不同的路由指标
路由协议( OSPF)(2)
前提:
各个自治系统路由的距离指标统一
支持反映网络传输时间的距离指标
支持等距离多路径选择
主机参与路由
主机路由作为外部路由
路由协议( BGP )
以最短AS(自治系统)数目为路由指标
结论:
可以找到最短传输时间的服务器
前提:
最短AS路径反映网络传输时间
无连接服务问题
建议更改TCP协议,规定anycast地址不能做源地址结论:
有副作用
anycast源地址鉴别机制的新需求源/目的地址对安全检查的手段无法奏效实施困难
更改TCP协议
TCP client
TCP server
TCP SYN(SA=C,DA=A)
TCP SYN-ACK(SA=S,DA=C)
TCP ACK(SA=C,DA=S)
SA:源地址
DA:目的地址
S:server地址
C:client地址
A:anycast地址
地址解析协议
ND和ARP只能将一个IP地址解析成一个链路地址区别:
ND较快发现正在使用的链路地址的主机宕机ARP等到超时才能发现结论:
若局域网内有多个anycast服务器,则一个将篇屏蔽掉其他的
ARP的超时更新会破坏有连接服务
地址解析过程
R
A
A
A
A的MAC?
A的MAC?
A的MAC?
MAC1
MAC2
MAC3
A:MAC2
MAC1
MAC3
…
总结
l 没有组管理,主机通过运行路由协议加入,很危险
l 建议更改TCP协议,有副作用,而且实施困难l 路由协议需要改动,需要反映网络传输时间的路由指标,而跳数和AS数不能反映网络传输时间
l 链路地址解析协议不能满足anycast的要求
结论
如果什么都不做,IPv6不能实现以最短传输时间为路由指标的anycast!
跳数和来回时间的关系(RTT)
在IP层到底怎样做
l 要解决的问题 l无连接服务问题
l组管理
l路由
l链路地址解析
l 要注意的问题– 应该避免主机参与路由
– 无连接服务不采用更改TCP协议的解决方案
IPv6对anycast的特别限制(技术成熟时去掉)
l IPv6限制1:Anycast地址不能分配给主机主机参与路由-〉很危险-〉 Anycast地址不能分配给主机-〉服务器不能使用anycast服务
l IPv6限制2: Anycast地址不能作为源地址更改TCP协议-〉anycast不能作为源地址
-〉实施困难-〉源地址鉴别
-〉不能用源/目的检查手段
无连接服务问题
l 目标
简单、易于实现、开销小、能够将anycast地址做源地址,避免带来的安全需求
l 解决方案
使用IP源路由选项
插入IP源路由
组管理
l 目标
及时把可用的、合法的anycast成员列表反应给路由系统;
l 解决方案
针对anycast特点的组管理协议
D1
D3NAM
D2
AM
A4
A2
A3
A1SAM
AM
AM
AM
R1
R2R3
R4 R5R6
R8
R7
R9
Anycast 组管理协议
SAM:超级组管理者,负责管理和分发组成员列表
AM:组管理者,负责根据组成员列表鉴别成员,产生并传播合法可用活动成员表
NAM:非组管理者,没有组成员表,负责传播活动成员表
路由
l 目标
以最短网络传输时间为指标、简单、开销小,
l 解决方案
独立于其他路由协议的以最短网络传输时间为目标的anycast路由算法
R1 R2 R3 R4
R5 R6 R7 R8
R9 R10
R11 R12 R13 R14
R15 R16 R17 R18
14
13
12
1
4
13
22
6
17
36
3 1
32 4
1
5
吸收算法
吸收过程从每个与anycast服务器相连的路由器开始,依次由近及远经过每个网络节点
路由形成过程反映网络传输时间
一个路由器经过一些会话成为另一个路由器关于某个anycast地址的下一跳的过程叫做吸收
地址解析
l 目标
简单,支持同一局域网中多个anycast主机l 解决方案
不改变地址解析协议,把anycast成员的单播地址作为最后一跳,由路由系统通过现有地址解析协议变相完成地址解析
地址解析解决方案
U3的MAC?
U3的MAC?
U3的MAC?
MAC3
U3:MAC3
U1,U2,U31A
nextcostdest
R
A
A
A
U1
U2
U3
相关研究
l anycast多路路由协议四种序(SSP,MIN_D,SBT,CBT),加权随机多路径选择
l GIA(a framework for scalable global ip-anycast)利用cache技术,使用带有宿主网络号的独立anycast地址,修改BGP
l CCDA(content distribution architecture using network layer anycast)边缘路由器负责探测距离,更改DNS,更改客户端程序
l 其他
安全、QoS,地址预留等等
进度安排
2002年8月- 2002年8月末,路由算法以及组管理协议性能模拟测试
2002年9月- 2002年9月末,设计anycast服务总体体系结构,同时修改并进一步完善路由及组管理协议;
2002年10月- 2002年10月末,设计并实现anycast服务原型系统,同时考虑地址压缩算法;
2002年11月- 2002年12月末,测试,改进系统,形成一个比较稳定的原型系统。