这是用户在 2024-10-24 18:29 为 https://app.immersivetranslate.com/word/ 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?

A Model of BGP Routing for Network Engineering
用于网络工程BGP路由模型

Nick Feamster
尼克·费姆斯特

Jared Winick
贾里德·威尼克

Jennifer Rexford
詹妮弗·雷克斯福德

MIT Computer Science & AI Lab
麻省理工学院计算机科学人工智能实验室

Lockheed Martin
洛克希德马丁公司

AT&T Labs–Research
AT&T实验室–研究

feamster@csail.mit.edu

jared.winick@lmco.com

jrex@research.att.com

ABSTRACT
抽象

The performance of
的性能
IP
知识产权
networks depends on
networks 依赖于
a wide
variety
品种
of
dy- namic conditions.
条件。
Traffic
交通
shifts,
变化
equipment
设备
failures,
失败
planned
计划
main- tenance, and topology changes in other parts of the Internet can
Internet 其他部分的维护和拓扑更改可以
all
degrade
降低
performance.
性能。
To
maintain
保持
good
performance,
性能
network operators must continually reconfigure the routing
网络运营商必须不断重新配置路由
protocols.
协议。
Op- erators configure BGP
操作器配置 BGP
to
control how traffic
控制流量
flows
to
neighboring Autonomous
邻近的自治
Systems
系统
(ASes),
(AS)、
as
well
as
how
如何
traffic
交通
traverses
遍历
their networks.
他们的网络。
However, because BGP route selection is distributed, indirectly controlled by configurable policies, and influenced by complex
但是,由于 BGP 路由选择是分布式的,间接受可配置策略控制,并受复杂
interactions
相互 作用
with
intradomain
域内
routing
路由
protocols,
协议
operators
运营商
cannot predict how
无法预测如何
a particular
特定
BGP
边界网关协议
configuration
配置
would
愿意
behave
做人
in
practice.
实践。
To avoid inadvertently degrading network performance, operators
为避免无意中降低网络性能,运营商
need
需要
to
evaluate
评价
the
effects
影响
of
configuration
配置
changes
变化
be- fore deploying them on a live network
在将它们部署到实时网络上之前
. We propose an algorithm that computes the outcome of the BGP route selection process for each router in
我们提出了一种算法,用于计算
a single
AS, given only a
AS,仅给定
static
静态的
snapshot of the net-
网络快照-
work
工作
state, without
state,不带
simulating
模拟
the
complex details
复杂细节
of
BGP
边界网关协议
message
消息
passing.
通过。
We describe a BGP emulator based on this algorithm;
我们描述了基于此算法的 BGP 仿真器;
the emulator exploits the unique characteristics of routing data to reduce computational overhead.
仿真器利用路由数据的独特特性来减少计算开销。
Using data from a large ISP, we show that
使用来自大型 ISP 的数据,我们表明
the emulator
模拟器
correctly computes BGP
正确计算 BGP
routing decisions and has a running time that is acceptable for many tasks, such as traffic engineering and capacity planning.
路由决策,并且具有许多任务(如流量工程和容量规划)可接受的运行时间。

Categories and Subject Descriptors
类别主题描述符

C.2.2 [Network Protocols]: Routing Protocols; C.2.6 [Computer- Communication Networks]: Internetworking
C.2.2[NetworkProtocols(网络协议)]:路由协议;C.2.6[计算机 - 通信网络]:互联互通

General Terms
一般条款

Algorithms, Management, Performance, Measurement
算法,管理,性能,测量

Keywords
关键字

BGP, traffic engineering, modeling, routing
BGP,流量工程,建模,路由

INTRODUCTION
介绍

The delivery of IP packets through the Internet depends on a large collection of routers that compute end-to-end paths in a dis-
通过Internet传输IP数据包取决于大量路由器,这些路由器

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
允许免费制作本作品的全部或部分数字或纸质副本供个人或课堂使用,前提是副本不是出于营利商业利益而制作分发,并且副本上带有声明完整引文第一页。其他方式复制重新发布、服务器上发布重新分发列表,需要事先获得特别许可和/或付费。

SIGMETRICS/Performance’04, June 12–16, 2004, New York, NY, USA. Copyright 2004 ACM 1-58113-664-1/04/0006 ...$5.00.
SIGMETRICS/Performance'04,2004 年 6 月 12 日至 16 日,美国纽约州纽约市。版权所有 2004 ACM 1-58113-664-1/04/0006 ...5.00 美元

tributed fashion,
致敬时尚,
using standardized routing protocols.
使用标准化路由协议。
Providing low
提供低
latency,
延迟
high
throughput, and
吞吐量,以及
high
reliability
可靠性
requires network
需要网络
operators
运营商
to
adjust
调整
routing
路由
protocol configuration
协议配置
when
什么时候
performance
性能
problems arise
问题出现
or network conditions
或网络状况
change.
改变。
For example, an
例如,
op- erator
操作器
might
可能
adjust
调整
the
configuration
配置
to
respond
响应
to
network
网络
conges- tion or equipment failures or to prepare for planned maintenance. However,
冷凝或设备故障或为计划维护做准备。然而
the
complexity
复杂性
of
the
protocols,
协议
the
large
number
of
tun- able
可调
parameters,
参数
and
the
size
大小
of
the
network
网络
make
it
extremely difficult for operators to reason about the effects of their actions. The common approach of “tweak and pray” is no longer accept- able
操作员极难推断其操作的效果。“调整和祈祷”的常见方法不再被接受
in
an
environment
环境
where
哪里
users
用户
have
high
expectations
期望值
for
per- formance and reliability [1].
性能和可靠性 [1]。
To avoid costly debugging time and catastrophic mistakes, operators must be able to make predictions quickly based on an
为避免昂贵的调试时间和灾难性错误,操作员必须能够根据
accurate
准确
model of the routing protocols.
路由协议的模型。

Previous
以前
work
工作
in
this
area
面积
has
具有
focused
集中
on
Interior
内部
Gateway
网关
Pro- tocols (IGPs), such as Open Shortest Path First
协议 (IGP),例如开放最短路径优先
(OSPF)
(OSPF)
and Inter- mediate
和中级
System-Intermediate
系统-中间体
System
系统
(IS-IS),
(IS-IS)、
that
operate
操作
within
a single
Autonomous System
自治系统
(AS).
(AS) 的 S
In
these
这些
protocols, each
协议,每个
link
链接
has
具有
a configurable
配置
integer
整数
“cost”
“成本”
that
is
used
使用
to
compute
计算
the
shortest
最短
path (smallest
路径(最小
cost
成本
path)
路径)
through
通过
the
network.
网络。
Tuning
调音
these
这些
link
链接
weights gives operators a way to modify the paths inside the AS to satisfy network
weights 为运营商提供了一种修改 AS 内部路径以满足网络
and
user
用户
performance
性能
goals
目标
[2]. Several
[2]. 几个
existing
现存
tools
工具
[3, 4, 5] capture
捕获
how
如何
changes
变化
to
the
link
链接
weights
权重
would
愿意
affect
影响
the
flow of
流程
the
offered
提供
traffic
交通
over
the
new
新增功能
paths
路径
and
also
propose
提出
good
can- didate settings of the link weights.
can- didate 链接权重的设置。
Although these tools are ex- tremely valuable to network operators, the flow of traffic in large service
尽管这些工具对网络运营商来说非常有价值,但大型服务中的流量
provider
供应商
backbones
骨干
ultimately
最终
depends
取决于
on
the
inter
国米
domain routing
域路由
protocol
协议
as
well. A
井。一个
provider
供应商
uses
使用
the
Border
边境
Gateway
网关
Pro-
优点-
tocol (BGP) to exchange reachability information with neighboring
tocol (BGP) 与邻居交换可访问性信息
domains
and
to
propagate
传播
these
这些
routes
路线
within
its
own
network. Un- fortunately,
网络。不幸的是,
several
几个
subtleties
微妙
make
modeling
建 模
BGP
边界网关协议
route
路线
selection in an AS much more challenging than emulating IGP:
在 AS 中选择比模拟 IGP 更具挑战性:

BGP’s distributed, path vector operation means that every router may have a different view of network state. In contrast to link state protocols that flood complete information throughout the network, a BGP-speaking router sends incremental reachability in- formation only to its immediate neighbors. In BGP, a router sends an advertisement to notify its neighbor of a new route to a desti- nation prefix and a withdrawal to revoke the route when it is no longer available. Each BGP-speaking router locally computes its own best BGP route from the best routes announced by its neigh- bors. A change in the best path at one router can affect the selection of the best route at another router, and no single router has a com- plete view of the available BGP routes in the AS.
BGP 的分布式路径向量操作意味着每个路由器可能具有不同的网络状态视图。在整个网络中泛洪完整信息的链路状态协议相比,使用 BGP 的路由器直接邻居发送增量可达性信息在 BGP 中路由器发送通告以通知其邻居新路由到目的地前缀,并在路由不再可用时发送撤销以撤销该路由。每个 BGP 语言路由器都会根据其邻居宣布的最佳路由在本地计算自己的最佳 BGP 路由。一台路由器上最佳路径的更改可能会影响另一台路由器最佳路由的选择,并且没有单个路由器可以完整地了解 AS 中可用的 BGP 路由。

BGP route selection is a complex process that depends on a combination of route attributes. While most IGPs advertise a sin- gle integer metric for each link and select routes based on shortest
BGP 路由选择是一个复杂的过程,取决于路由属性的组合。虽然大多数 IGP为每个链路通告一个单整数度量,并根据最短

eBGP
eBGP 协议

routes
路线

Neighboring AS
相邻AS

aegress
出口
routers
路由器

eBGP
eBGP 协议

b routes
B路由

BGP
边界网关协议
routing
路由
decisions
决定
when
什么时候
the
network is
network 是
configured “correctly”
配置“正确”
, which can be checked separately by testing
可通过测试单独检查
certain sufficient con- ditions.
某些足够的条件。
Our
我们
model
can
also
be
combined
组合的
with
prefix-level
前缀级别
traffic
交通

AB

R

ingress router
入口路由器

Figure 1: Network engineering terminology.
1:网络工程术语。

paths, BGP route advertisements include various attributes, such as the list of the ASes in the path (the AS path) and the IP address of the router responsible for the route (the next hop). BGP route selec- tion is based on a complex, multi-stage decision process [6]. BGP allows operators to specify complex policies that have an indirect effect on the selection of the best path.
paths,BGP 路由通告包括各种属性,例如路径中的 AS 列表(AS路径)和负责路由路由器的 IP 地址下一)。BGP路由选择基于复杂的多阶段决策过程[6]。BGP 允许运营商指定对最佳路径的选择产生间接影响的复杂策略。

BGP route selection depends on interactions with intradomain routing protocols. Whereas the IGP can be modeled in isolation, the selection of the best BGP route at each router also depends on the IGP path cost to the BGP next hop announcing the route. “Hot potato” routing, where a router prefers the route with the shortest IGP path (the closest exit point), introduces a complex coupling between BGP and the underlying IGP.
BGP路由选择取决于域内路由协议的交互虽然 IGP 可以单独建模,但在每个路由器上选择最佳 BGP路由还取决于通告路由BGP下一跃点IGP路径成本。“烫手山芋”路由,即路由器首选具有最短 IGP 路径(最近的出口点)的路由,在 BGP 和底层 IGP 之间引入了复杂的耦合。

Hierarchical iBGP configuration affects the routing choices that are available at each router. Internal BGP (iBGP) is used to distribute BGP-learned routes throughout an AS. Rather than having an iBGP session between each pair of routers (“full mesh iBGP”), large provider networks typically distribute routes in a hi- erarchical fashion. This makes the choices available at one router dependent on the decisions made at other routers and may prevent the protocol from converging.
分层iBGP配置会影响每个路由器可用的路由选择内部BGP (iBGP)用于在整个 AS 中分配 BGP 学习的路由。大型提供商网络通常以分层方式分发路由,而不是在每对路由器之间有一个 iBGP 会话(“全网状 iBGP”)。这使得一个路由器上的可用选择取决于其他路由器上做出决策并且可能会阻止协议收敛。

In
this
paper,
we
我们
present
目前
a model
that
accurately
准确
determines
决定
how the
如何
network
网络
configuration
配置
and
the
routes
路线
learned
博学
via
通过
external
外部
BGP (eBGP) affect the flow of traffic through an AS. While some ex- isting tools simulate BGP’s behavior [7], this is the first paper to develop a model that determines the
BGP (eBGP) 会影响通过 AS 的流量。虽然一些现有的工具模拟了 BGP 的行为 [7],但这是第一篇开发模型来确定
outcome
结果
of the BGP
BGP 的
path se- lection process at each router in
每个路由器的路径选择过程
an AS without simulating the dy- namics of the protocol.
一个 AS,而不模拟协议的动态。
This type of model is important for sev- eral reasons.
这种类型的模型很重要,原因如下。
First, network operators need to know the paths that routers ultimately
首先,网络运营商需要知道路由器最终的路径
select to perform engineering tasks (e.g., traffic engineering and maintenance), but they have no need for a com- putationally
选择执行工程任务(例如,流量工程和维护),但他们不需要计算
expensive
simulation
模拟
of
routing
路由
dynamics.
动力学。
We
我们
present an
现在
emulator
仿真
based
基于
on
our
我们
model
that
facilitates
促进
these
这些
tasks
任务
by
pro- viding fast, accurate answers to “what if” questions about the ef- fects
快速、准确地回答有关效果的 “假设” 问题
of
changes
变化
to
the
network.
网络。
Second,
第二
an
accurate
准确
model
of
BGP
边界网关协议
route
路线
selection
选择
can be
可以是
used
使用
to
improve
提高
and
validate existing
验证现有
simula-
模拟-
tors
托尔斯
by
highlighting
突出
subtleties
微妙
of
the
protocol
协议
and
situations
情况
where BGP might not converge to a unique solution.
其中 BGP 可能不会收敛到唯一的解决方案。
A simulator may only
模拟器只能
compute
计算
one
possible
可能
outcome,
结果
which
may
五月
not
accurately
准确
re- flect the outcome in a real network.
在真实的网络中重新调整结果。
The modeling framework we present can determine whether a BGP configuration would con- verge to a unique outcome.
我们提供的建模框架可以确定 BGP 配置是否会趋近于独特的结果。

Predicting how a configuration change would affect the flow of traffic first requires a way to determine which route each ingress router in the AS would select for each destination prefix, given a network configuration and the eBGP routes learned at the egress routers (as shown in Figure 1). This paper solves precisely this problem. The model of BGP routing that we present is essentially an abstraction that conceals protocol details that are irrelevant to the outcome of the BGP decision process. The model computes
要预测配置更改将如何影响流量,首先需要一种方法来确定 AS 中的每个入口路由器将为每个目标前缀选择哪个路由,给定网络配置和在出口路由器上学习的 eBGP 路由 (如图 1 所示)。本文正是解决了这个问题。我们提供BGP路由模型本质上是一个抽象,它隐藏了与 BGP决策过程结果无关的协议细节模型计算

measurements to form the basis of a traffic engineering tool.
测量构成流量工程工具的基础

The rest of the paper is organized as follows.
本文的其余部分组织如下。
In Section 2, we present several examples of network engineering tasks that moti- vate the need for an accurate, predictive model of BGP path se- lection in an AS. Section 3 describes the practical constraints that the
在第 2 节中,我们提供了几个网络工程任务示例,这些任务激发了对 AS 中 BGP 路径选择的准确预测模型的需求。第 3 节描述了
network
网络
configuration
配置
and
routing
路由
advertisements
广告
must
必须
satisfy to make modeling BGP route selection possible and applies these constraints
satisfy 使建模 BGP 路由选择成为可能,并应用这些约束
in
a novel
小说
way
道路
to
decompose
分解
the
route
路线
prediction
预测
prob- lem
问题
into
three
distinct
不同
phases.
阶段。
In
Section
部分
4, we
我们
describe
描述
each
phase of the route prediction algorithm in detail.
阶段。
Section 5 describes a prototype
第 5 节 描述了原型
implementation
实现
of
a BGP
边界网关协议
emulator. In
仿真。在
Sections
部分
6 and
7, we
7、我们
present
目前
an
evaluation
评估
and
validation
验证
of
our
我们
prototype
原型
on
routing and configuration data from a large tier-1
来自大型 Tier-1 的路由和配置数据
ISP.
国际互联网服务提供商。
These experiments show that the route prediction algorithm accurately predicts BGP routing decisions and that it is efficient enough to be practical for many network engineering tasks.
这些实验表明,路由预测算法可以准确预测 BGP 路由决策,并且它的效率足以用于许多网络工程任务。
Section 8 provides an overview of related work. We conclude in Section 9.
第 8 节概述了相关工作。我们在第 9 节中总结。

NETWORK ENGINEERING
网络工程

In this section, we discuss network engineering problems that operators commonly face. These examples demonstrate the need to systematically model BGP’s route selection process and move beyond today’s “tweak and pray” techniques. We then discuss why a practical model of BGP is useful; in particular, we discuss the advantages a model has over simulation and live testing.
在本节中,我们将讨论运营商通常面临的网络工程问题。这些示例表明,需要系统地对 BGP 的路由选择过程进行建模,并超越当今的 “调整祈祷” 技术。然后,我们将讨论为什么实用的 BGP 模型很有用;特别是,我们讨论了模型相对于模拟和实时测试的优势。

Network Engineering Problems
网络工程问题

Network operators must adjust routing protocol configuration to respond to the following common changes in network conditions:
网络运营商必须调整路由协议配置,以响应网络状况中的以下常见变化

Changes in traffic load. Because traffic is dynamic, the amount of traffic to any destination may suddenly change, causing changes in traffic distribution across network links. For example, a Web site sometimes experiences a traffic surge due to a flash crowd (i.e., the “Slashdot effect”); a network that was routing traffic to that desti- nation through a neighboring AS could experience congestion on an outbound link to that destination. A network operator must re- configure routing policy to alleviate congestion.
流量负载的变化由于流量动态的,因此到任何目的地流量可能会突然发生变化,从而导致跨网络链接的流量分配发生变化例如网站有时会由于突发事件“Slashdot 效应”)而遇到流量激增;通过相邻 AS 将流量路由到该目的地的网络可能会在到该目的地的出站链路上遇到拥塞。网络运营商必须重新配置路由策略以缓解拥塞。

Changes in link capacity. Network links are frequently up- graded to higher capacity. In response, network operators may wish to adjust configuration to route additional traffic through recently upgraded links. For example, if link in Figure 1 were upgraded from an OC12 to an OC48, a network operator would want to shift traffic from to .
链路容量的变化。网络链接经常升级到更高的容量。作为回应,网络运营商可能希望调整配置,以通过最近升级的链路路由额外的流量。例如,如果图 1 中的链路从OC12 升级到 OC48,则网络运营商希望将流量从转移到

Long-term connectivity changes. On longer timescales, the points where a network connects to neighboring ASes, as well as the ASes that it connects to, change. As links to other ASes appear and disappear, network operators must move large amounts of traf- fic. If the AS shown in Figure 1 added a third link to its neighboring AS, an operator would shift a portion of traffic to that AS from and to the new link.
长期连接更改。在更长的时间尺度上,网络连接到相邻 AS 的点以及所连接的AS都会发生变化。随着其他AS的链接出现和消失,网络运营商必须移动大量的流量。如果1中所示AS相邻 AS 添加了第三链路,则运营商会将一部分流量从新链路转移到该 AS

Changes in available routes. Due to protocol dynamics and changing commercial agreements, an AS might suddenly receive an alternate route to a destination that could cause traffic flow to shift dramatically; alternatively, an existing route could suddenly disappear. These events may require a network operator to rebal- ance the flow of traffic.
可用路线的更改。由于协议动态和不断变化的商业协议,AS 可能会突然收到一条通往目的地的备用路由,这可能会导致流量发生巨大变化;或者,现有路由可能会突然消失。这些事件可能需要网络运营商重新平衡流量。

Planned maintenance. Network operators commonly perform routine maintenance on portions of their network, adjusting inte-
计划内维护。网络运营商通常会对其网络的某些部分进行例行维护调整内部

rior routing link weights to divert traffic away from the part of the network that is undergoing maintenance. If router were under- going an upgrade, the network operator could adjust both the IGP link weights and the BGP configuration to divert traffic away from
RIOR路由链路权重,用于将流量正在维护的网络部分转移出去。如果路由器正在进行升级,网络运营商可以调整IGP 链路权重BGP配置,以流量

without overloading links that border neighboring domains.
而不会使相邻接壤的链接过载。

Failure and disaster planning. An operator may wish to evaluate the robustness of the network by examining the effects of failures on routing and traffic flow. Studying the effects of a component or link failure or even a more serious catastrophe (e.g., fiber cut, tunnel fire, or terrorist attack) helps network operators and planners make design decisions.
故障和灾难规划。运营商可能希望通过检查故障对路由和流量的影响来评估网络的稳健性研究组件或链路故障甚至严重的灾难(例如,光纤切断、隧道火灾恐怖袭击)的影响,有助于网络运营商规划者做出设计决策。

Tools exist to help network operators adjust interior routing pro- tocol parameters to rebalance traffic within an AS [3, 4, 5], but op- erators must also rebalance traffic across its external links to other networks by reconfiguring BGP. A network operator who wants to shift traffic from link to in Figure 1 typically would adjust the import policy for a set of routes at router , commonly by decreas- ing the “local preference” attribute that router assigns to these routes [8]. This would cause the routes learned at router for these destinations to appear more attractive than those at , causing the traffic to those destinations to exit the AS via .
存在帮助网络运营商调整内部路由协议参数的工具,以重新平衡AS 内的流量[3,4,5],操作者还必须在其通过重新配置BGP 连接到其他网络的外部链接想要将流量从链路转移到图 1 中的网络运营商通常会调整路由器一组路由导入策略通常是通过减少路由器分配给这些路由的 “本地首选项” 属性[8]。这将导致在路由器上为这些目的地学习的路由看起来比在路由器上学习的路由更具吸引力,从而导致到这些目的地的流量通过 AS 退出

Network Engineering Requirements
网络工程要求

Motivated by these practical network engineering examples, we now present several requirements for a network engineering tool that predicts the outcome of BGP route selection. (Throughout the paper, we use the term “prediction” to describe the process of de- termining the outcome of BGP route selection offline.)
在这些实际网络工程示例的启发下,我们现在提出了对预测BGP路由选择结果的网络工程工具的几个要求。(在整篇论文中,我们使用术语“预测”来描述离线 BGP 路由选择结果的过程。

Operators need to be able to predict the effects of a configura- tion change before deployment in the live network. Operators typi- cally handle network engineering tasks by tuning the existing con- figuration of the live network, witnessing the effects of the change, and reverting to the previous configuration if the desired effects are not achieved. This method is time consuming and can lead to unnecessary performance degradation. The complexity of interdo- main routing makes it essentially impossible to compute back-of- the-envelope estimates of the effects of configuration changes.
运营商需要能够在部署到实时网络之前预测配置更改的影响操作员通常通过调整实时网络的现有配置见证更改的影响以及如果未达到预期效果,则恢复到以前的配置来处理网络工程任务此方法非常耗时,并且可能导致不必要的性能下降。interdo- main routing 的复杂性使得基本上不可能计算配置更改影响的包络估计。

Because network engineering involves exploring a large search space, operators need to predict the effects of each candidate con- figuration change as quickly as possible. Operators usually need to experiment with many possible configuration changes before arriv- ing at an acceptable solution. This requires techniques for quickly evaluating the effects of a proposed configuration change. In prac- tice, the candidate configuration changes typically are just small modifications to the existing configuration, which are less likely to cause significant unexpected changes in routes or the offered traffic load. To be useful, a route prediction tool should be fast at evaluat- ing incremental changes.
由于网络工程涉及探索大型搜索空间,因此操作员需要尽快预测每个候选配置变化的影响操作员通常需要尝试许多可能的配置更改,然后才能找到可接受的解决方案。这需要快速评估提议配置更改效果的技术。在实践中,候选配置更改通常只是现有配置的微小修改,不太可能导致路由提供的流量负载发生重大意外变化。为了有用路线预测工具应该能够快速评估增量变化。

Network engineering tasks require an accurate prediction of the outcome of the BGP path selection process but do not require a detailed simulation of the protocol dynamics. Network simulators (e.g., SSFNet [7]) help operators understand dynamic routing pro- tocol behavior, but simulation represents network behavior in terms of message passing and protocol dynamics over a certain period of time. In contrast, network engineers usually just need to know the outcome of the path-selection process and not the low-level timing details. Furthermore, existing simulators do not capture some of the relevant protocol interactions that can affect the outcome of the decision process. Simulating every detailed interaction is hard to do without a higher level model of BGP in the first place.
网络工程任务需要准确预测BGP路径选择过程的结果不需要协议动态进行详细仿真网络模拟器(例如 SSFNet[7])帮助运营商了解动态路由协议行为,但模拟表示一段时间消息传递协议动态的网络行为的时间。相比之下网络工程师通常只需要知道path-selection过程的结果而不是低级的timing 细节。此外,现有的模拟器无法捕获一些可能影响决策过程结果相关协议交互首先,如果没有更高级别的 BGP 模型,就很难模拟每一个详细的交互。

In summary, BGP path selection is a massive, highly tunable, distributed computation. To maintain good end-to-end performance,
总之,BGP 路径选择是一种大规模、高度可调的分布式计算。为了保持良好的端到端性能,

operators need a way to predict the outcome of this computation under various configurations (1) efficiently, (2) in a way that facil- itates evaluating incremental changes, and (3) without deploying configuration changes on a live network. In the following sections, we describe a way to model the BGP decision process across every router in an AS; our algorithm correctly and efficiently computes the outcome of the BGP decision process at each router.
运营商需要一种方法来预测各种配置下计算的结果 (1) 高效,(2) 以一种便于评估增量更改的方式,以及 (3) 无需实时网络上部署配置更改。在以下部分中,我们将介绍一种AS 中跨每个路由器BGP决策过程进行建模的方法;我们的算法正确有效地计算每个路由器的 BGP 决策过程的结果。

MODELING FRAMEWORK
建模框架

At a glance, modeling the routing decisions in an AS seems as simple as applying the BGP decision process at each router. How- ever, the BGP routing system inside an AS is not guaranteed to converge to a unique solution where routers make consistent deci- sions. Even when the system converges, the decision made at one router can affect the options available to other routers. Applying theoretical results from previous work, we impose three practical constraints on the routing system that make modeling BGP route selection possible. We then show that route selection can be mod- eled in three distinct phases when these constraints are satisfied.
乍一看,在 AS 中对路由决策进行建模似乎就像在每个路由器上应用BGP决策流程一样简单。然而,AS 内部的 BGP 路由系统并不能保证收敛路由器做出一致决定的独特解决方案即使系统收敛,在一个路由器上做出的决策也会影响其他路由器的可用选项。应用以前工作的理论结果,我们对路由系统施加了三个实际约束,使建模 BGP 路由选择成为可能然后我们表明当满足这些约束条件时,路线选择可以分为三个不同的阶段进行修改。

Constraints on the Routing System
路由系统的约束

Given the eBGP-learned routes to a destination prefix, we would like to determine which route each router would ultimately select. Unfortunately, certain network configurations do not lend them- selves to efficient route prediction. This is a fundamental problem underlying BGP—some configurations do not converge, and deter- mining whether a system converges to a unique solution is compu- tationally intractable [9]. To make modeling BGP route selection feasible, we impose three constraints and explain why these con- straints are reasonable to assume in practice.
给定eBGP 学习目标前缀路由我们想确定每个路由器最终会选择哪个路由。遗憾的是,某些网络配置本身并不适合进行有效的路线预测。这是 BGP 背后的一个基本问题— 某些配置收敛,确定系统是否收敛唯一的解决方案计算上是棘手的 [9]。为了使建模 BGP 路由选择可行,我们施加了三个约束,并解释了为什么在实践中可以合理假设这些约束。

If the eBGP-learned routes change frequently, the internal rout- ing system does not have time to propagate the effects of one eBGP advertisement before the next one arrives. As such, we assume:
如果eBGP 学习路由频繁更改则内部路由系统没有时间下一个 eBGP 通告到达之前传播一个 eBGP 通告的效果。因此,我们假设:

Constraint 1. The eBGP-learned routes change slowly with respect to the timescale of network engineering decisions.
约束1.eBGP 学习的路由会随着网络工程决策的时间尺度而变化缓慢。

In practice, most BGP routes are stable for days or weeks at a time [10], and the vast majority of traffic is associated with these stable routes [11]. This allows emulation to operate on a static snapshot of the eBGP routes. Any eBGP routing change can be treated as a separate problem instance.
在实践中,大多数 BGP 路由一次稳定数天或数周[10],并且绝大多数流量都与这些稳定路由相关联 [11]。这允许仿真对 eBGP 路由的静态快照进行操作。任何 eBGP 路由更改都可以被视为单独的问题实例。

Network operators have significant flexibility in deciding how to propagate the eBGP-learned routes throughout the AS. In the simplest
网络运营商在决定如何在整个 AS 中传播 eBGP 学习的路由方面具有极大的灵活性。在最简单的
case,
the
routers
路由器
are
configured
配置
in
a full
mesh
网孔
of
iBGP
iBGP 协议
ses- sions.
系列。
In
general,
常规
though,
虽然
the
routers
路由器
may
五月
form
形式
a more
更多
complicated
复杂
signaling
信号
graph
of
iBGP
iBGP 协议
sessions,
会话
as
shown
显示
in
Figure
数字
2. Each
2. 每个
edge corresponds
边对应
to
an
iBGP
iBGP 协议
session
会期
between
之间
a pair
of
routers. A
路由器。一个
router does not normally forward iBGP-learned routes to its other iBGP neighbors.
路由器通常不会将 iBGP 学习的路由转发到其其他 iBGP 邻居。
However,
然而
a router
路由器
can
be
configured
配置
as
a route
路线
reflector
反射镜
(RR),
(RR)、
which
forwards
前锋
routes
路线
learned
博学
from
one
of
its
route-reflector clients to its other clients.
route-reflector 客户端连接到其其他客户端。
Following terminology from previous work
遵循以前工作中的术语
[12], we
我们
use
the
term
术语
up
向上
for
the
iBGP
iBGP 协议
session
会期
from
a router
路由器
to its
到其
RR,
RR,
over
for
a conventional iBGP
传统 iBGP
session
会期
between
之间
two
routers, and
routers,以及
down
for the iBGP session from an RR to a client.
对于从 RR 到客户端的 iBGP 会话。
A valid signaling path
有效的信令路径
consists of zero or more
由零个或多个组成
up
向上
edges, followed by at most
edges 的 Edge 上,后跟最多
one
over
edge, followed
边 (Edge) > 跟随
by
zero
or
more
更多
down
edges.
边缘。
Alter- natively,
Alter- native,
routers
路由器
within
an
AS
can
also
be
grouped
分组
into
one
or
more “confederations”.
更多的 “联盟”。
Because confederations are
因为联盟是
used much less
用得少得多
fre- quently
经常
than
route
路线
reflectors,
反射
we
我们
focus
重点
on
modeling
建 模
route
路线
reflectors and do not model the effects of confederations.
reflectors 的 Reflects 的 S 的 Reflect S 的 S 的 Reflect

Every eBGP-learned route should propagate through the signal- ing graph to every other router in the AS. For example, consider
每个eBGP 获知路由都应通过信令传播到 AS 中的每个其他路由器例如考虑

Figure 2: Example iBGP signaling graph
2:示例iBGP信令

Figure 2. The edge between andis an over session, whereas the edge from to is an up session. An eBGP route learned at can reach viaand . An AS’s signaling graph can violate this property even if all routers are connected via IGP. For example, if the session between and were an over session instead of an up session, would have no way to receive an eBGP route learned at . These types of partitions can make modeling difficult; therefore, we assume:
图 2. 之间的边over session,而fromto 之间的 up 会话。在 获知的eBGP 路由可以通过 到达即使所有路由器通过 IGP 连接,AS 的信令图也可能违反属性例如,如果和 之间的会话over 会话而不是 up 会话,则无法接收获知的 eBGP 路由。这些类型的分区可能会使建模变得困难;因此,我们假设:

Constraint 2. Each router has a valid iBGP signaling path to every other router1
约束2.每个路由器都有一条到其他路由器1 的有效 iBGP 信令路径
.

An operational network should not violate this constraint, since this could create a network partition, even though the AS is connected at the IP level. An AS with a full mesh of iBGP sessions satisfies this constraint; so does a full iBGP mesh among the top-level RRs who, in turn, each have iBGP sessions to their RR clients (a common configuration scenario).
可操作的网络不应违反约束,因为这可能会创建网络分区,即使ASIP 级别连接也是如此。具有完整iBGP会话网格AS满足此约束;顶级RR之间的完整iBGP网格也是如此,而顶级 RR 又每个 RR 都有与其 RR 客户端的 iBGP 会话(一种常见的配置场景)。

Ensuring
确保
that
each eBGP-learned
每个 eBGP 学习
route
路线
has an
具有
iBGP
iBGP 协议
path to
路径
ev- ery
每个
other
其他
router
路由器
still
does not
guarantee
保证
that
each
router
路由器
converges to a unique solution.
收敛到一个独特的解决方案。
A router only learns about the routes adver- tised
路由器只了解所建议的路由
by
its
immediate
立即的
iBGP
iBGP 协议
and
eBGP
eBGP 协议
neighbors. For
邻居。为
example,
in Figure 2, if
在图 2 中,如果
and
have eBGP-learned routes, router
具有 eBGP 学习的路由、路由器
learns
学习
a single
单个
route
路线
from
its
route
路线
reflector
反射镜
RR1. Suppose
RR1.假设
that
RR1 selects the eBGP route advertised by
选择由
. Then,
然后
would pick
会选的
’s route as well, even if
的 route 中,即使
would have preferred
本来更愿意
’s
route
路线
over
’s
route. Note that
路线。请注意,
makes a different routing decision than it would if it could
做出与可以时不同的路由决策
select
选择
its
best
最好
route
路线
from
all
the
eBGP
eBGP 协议
routes
路线
(i.e.,
(即
from
both
and
). In some
在一些
situations,
情况
differences
差异
in the routers’
在路由器的
local rankings of the BGP routes can cause persistent oscillations and even forwarding loops,
BGP 路由的本地排名可能会导致持续振荡甚至转发循环,
which make it difficult to model the out- come of the BGP decision process.
这使得很难对 BGP 决策过程的结果进行建模。
Fortunately,
幸运
these problems can
这些问题可以
be
avoided
避免
if
如果
the
network
网络
configuration
配置
satisfies
满足
the
following
以后

sufficient condition [12]:
充分条件[12]:

CONSTRAINT 3. (a) A router prefers routes learned from down neighbors over routes learned from other neighbors, (b) the signal- ing graph does not have any cycle of up edges, and (c) the shortest IGP path between each pair of routers is a valid signaling path.
C昂斯特兰特3.(a)路由器首选下行邻居获知路由而不是其他邻州获知路由(b)信令没有任何上行沿周期以及 (c)每对路由器之间最短的 IGP 路径是有效的信令路径。

Part (a) is satisfied when routers do not change the attributes of iBGP-learned routes and each router has a lower IGP path cost to its clients than to other routers. The common practices of applying import policies only on eBGP sessions and placing RRs and their clients in the same point-of-presence (i.e., “PoP”) ensure that these conditions hold. Part (b) states that if is an RR for , and is an RR for , then is not an RR for , consistent with the common practice of constructing a route-reflector hierarchy, rather than an arbitrary signaling graph. Part (c) ensures that all routers along a shortest path to an egress point have selected the same egress point,
当路由器不更改 iBGP 获知路由的属性,并且每个路由器到其客户端的 IGP 路径开销低于其他路由器时,满足 (a) 部分仅在 eBGP 会话上应用导入策略并将 RR 及其客户端置于同一入网点(即“PoP”)的常见做法可确保这些条件成立。(b) 部分规定,如果是 RR for 并且RR for,则不是 RR这与构建路由反射器层次结构的常见做法一致,而不是任意信令图。(c) 部分确保通往出口最短路径上的所有路由器选择了相同的出口点,

This property can be checked by a breadth-first walk through the edges in the signaling graph and marking the nodes as they are visited; in the graph walk, an over or down edge can only be followed by a down edge.
可以通过广度优先遍历信令图中的并在访问节点时标记节点检查属性;在图形遍历中,沿沿只能为后跟一个沿。

Table 1: Steps in the BGP decision process
1:BGP决策过程中的步骤

which prevents “deflections”. Part (c) is more difficult to ensure in practice but is consistent with the approach of assigning clients to RRs that are along the shortest path to each egress point.
这可以防止 “偏转”。Part(c) 在实践中更难确保,但与将客户分配到沿到每个出口点的最短路径上的 RR 的方法一致。

Imposing these three constraints make modeling BGP route se- lection possible. Each router applies a multi-stage decision pro- cess [6] to select a single best route, as summarized in Table 1. The decision process considers the set of available routes to a destina- tion and proceeds step-by-step to eliminate candidate routes. For example, the decision process first eliminates all routes that do not have the highest local preference value, and so forth, until a single best route remains. Since the route selected at one router can affect the routes available at another router, we cannot simply apply the BGP decision process independently at each router. Although we must model the distribution of routes within an AS, Constraints 1 and 3 ensure that the system converges to a unique solution, which allows us to apply the following intuitive result:
施加这三个约束使 BGP 路由选择建模成为可能。每个路由器都应用一个多阶段决策过程[6]选择单个最佳路由,1 所示。决策过程考虑通往目的地的可用路线集,并逐步消除候选路线。例如,决策过程首先消除所有没有最高本地优先级值的路由依此类推直到保留单个最佳路由。由于在一个路由器上选择的路由会影响另一个路由器上可用的路由,因此我们不能简单地在每个路由器上独立应用 BGP 决策过程。尽管我们必须对 AS 内路由的分布进行建模,但约束 1 和3确保系统收敛唯一的解决方案,这使我们能够应用以下直观的结果:

Theorem 1. If a routing system is guaranteed to converge to a unique solution, the solution is independent of the order that routers exchange routes and apply the decision process.
定理1.如果保证路由系统收敛到唯一的解决方案,则该解决方案与路由器交换路由和应用决策过程的顺序无关。

We proved a slightly different version of this theorem in our pre- vious work (Theorem 4.1, [13]). In practice, a router may receive numerous route advertisements and select (and propagate) a best route multiple times before settling on a final choice. Fortunately, with careful selection of a particular ordering of these events, a prediction algorithm can predict the outcome without simulating the protocol dynamics.
我们在之前的工作中证明了这个定理的略微不同的版本(定理4.1,[13])。在实践中,路由器可能会收到大量路由通告,并在确定最终选择之前多次选择 (和传播) 最佳路由。幸运的是,通过仔细选择这些事件的特定顺序,预测算法可以在不模拟协议动态的情况下预测结果。

Phases of the Route Prediction Algorithm
路线预测算法阶段

Although some of the constraints we discussed have previously been presented as conditions for stable routing, these constraints are also necessary to model BGP route selection; we now construc- tively apply these constraints to propose a novel way of decompos- ing route prediction. Theorem 1 gives us the flexibility to define a message ordering without affecting correctness. Specifically, the algorithm selects a message ordering that decomposes the problem into three distinct phases, as shown in Figure 3. The rest of the sec- tion explains this decomposition, deferring the detailed discussion of each phase to Section 4.
尽管我们之前讨论的一些约束作为稳定路由的条件提出,但这些约束对于BGP路由选择进行建模是必需的;我们现在结构性地应用这些约束提出一种分解路线预测的新方法定理 1 为我们提供了定义消息顺序的灵活性,而不会影响正确性。具体来说,该算法选择一种消息排序,将问题分解为3 个不同的阶段如图3 所示本节的其余部分解释了这种分解,将每个阶段的详细讨论推迟到第 4 节。

Receiving the eBGP routes and applying import policy: The first phase assumes that each router receives all of its eBGP-learned routes and applies the import policies, before exchanging any iBGP update messages. Each eBGP-learned route has attributes (such as the destination prefix and the AS path) and is associated with an eBGP session. The import policy may filter the route or set certain attributes such as local preference, origin type, and multiple-exit discriminator (MED), according to attributes in the advertised route (e.g., based on ASes in the AS path). Because applying the im- port policy is a local operation for each eBGP-learned route at each
接收eBGP路由应用导入策略: 第一阶段假设每个路由器交换任何iBGP 更新消息之前,都会收到所有 eBGP 学习路由应用导入策略。每个eBGP 学习路由都有属性(例如目标前缀和 AS 路径),并与一个 eBGP 会话相关联导入策略可以根据通告路由中的属性(例如,基于 AS 路径中的 AS过滤路由设置某些属性,例如本地首选项、源类型和多出口标识符 (MED)。因为应用 im- port策略每个 eBGP 学习路由的本地操作

Some router vendors allow tiebreaking based on the “oldest” route (i.e., the route that was learned first). This feature is often disabled to avoid introducing non-determinism into the BGP path-selection process.
一些路由器供应商允许根据“最旧”路由(即首先学习的路由)进行平局。此功能通常被禁用,以避免在 BGP 路径选择过程中引入不确定性。

import policies
导入策略

router ID
路由器ID

iBGP signaling graph
iBGP信令

IGP path costs
IGP路径成本

Figure 3: Decomposing network-wide BGP route selection into three independent phases
3:网络范围的BGP路由选择分解为三个独立的阶段

router, the first phase emulates exactly the operations a real router would perform upon receiving each of the eBGP routes. These routes, with modified attributes, form the input to the second phase. Computing the best eBGP-learned routes: Many routes from the first phase would never be selected by any router as the best BGP route. For example, an eBGP-learned route with a local pref- erence of 90 would never be selected over another route with a local preference of 100. As long as every eBGP-learned route can reach every router (Constraint 2), no router would ever make a less attractive decision than any other router in the AS. In other words,
router,第一阶段完全模拟真实路由器接收每个eBGP路由将执行的操作这些路由具有修改的属性,构成了第二阶段输入计算 eBGP 学习的最佳路由:第一阶段中的许多路由永远不会被任何路由器选择为最佳 BGP路由。例如,本地优先级90eBGP 获知路由永远不会选择在本地优先级为100 的另一个路由上。只要每个eBGP 获知的路由都可以到达每个路由器(约束2),任何路由器都不会做出 AS 任何其他路由器更有吸引力的决定换句话说

Corollary 1. Constraint 2 implies that every router in the AS selects a best BGP route that is equally good through the first four steps in the decision process.
推论1.约束 2 意味着 AS 中的每个路由器都会选择一条最佳 BGP 路由,该路由在决策过程的前四个步骤中表现同样好。

For example, a router on the east coast of the United States might select a route learned in New York, whereas a router on the west coast might select a route learned in San Francisco. Still, these two routes would have the same local preference, AS path length, and origin type; if the two routes have the same next-hop AS, they would also have the same MED value. This property allows the second phase of the algorithm to focus on the selection of the “best” eBGP routes across the eBGP-speaking routers, without modeling the details of distributing these routes throughout the AS.
例如,美国东海岸的路由器可能会选择在纽约学习的路由,而西海岸的路由器可能会选择在旧金山学习的路由。尽管如此,这两条路由将具有相同的本地首选项、AS 路径长度和类型;如果两条路由具有相同的下一跳AS,则它们也将具有相同的 MED 值。此属性允许算法第二阶段专注于选择eBGP 的路由器“最佳”eBGP路由而无需对在整个 AS 中分配这些路由的细节进行建模。

Modeling the influence of iBGP and IGP within the AS:
对 iBGP 和 IGP 在 AS 中的影响进行建模:
In the third phase, each router selects a single route from the set of best
在第三阶段中,每个路由器从最佳路由集中选择一条路由
eBGP
eBGP 协议
routes.
路线。
Each
border router
边界路由器
that
contributes
贡献
to
the
set
设置
of best routes selects its own best eBGP-learned route.
of best routes 选择自己的最佳 eBGP 学习路由。
Every other router selects one of these routes after they have propagated via iBGP; this behavior is consistent with step 5 of the BGP decision process. The
每个其他路由器在通过 iBGP 传播后都会选择其中一条路由;此行为与 BGP 决策过程的步骤 5 一致。这
decision
决定
at
each
router
路由器
depends
取决于
on
the
routes
路线
selected by
选择者
its
iBGP
iBGP 协议
neighbors, the
neighbors、
costs
成本
of
the
IGP paths to
paths 到
the
exit
退出
points where these routes were learned, and the router IDs of the iBGP sessions.
获知这些路由的点,以及 iBGP 会话的路由器 ID。
This introduces a dependency between iBGP and IGP. Fortunately,
这引入了 iBGP 和 IGP 之间的依赖关系。幸运
the
algorithm
算法
only
needs
需要
to
consider
考虑
the
total
IGP path cost
路径成本
of
the
shortest
最短
IGP path(s)
路径
between
之间
each
pair
of
routers,
路由器
rather than hop-by-hop costs.
而不是逐跳成本。
We can make this simplification because Constraint 3(c) implies that all of the routers along the IGP path from
我们可以进行这种简化,因为约束 3(c) 意味着 IGP 路径上的所有路由器都从
a router
路由器
to
its
chosen
选择
egress
出口
point
have
selected
选择
the
same
相同
best BGP route.
最佳 BGP 路由。
That is, no router along the path to the egress point would
也就是说,通往出口点的路径上没有路由器会
deflect
转移
a data
数据
packet
toward
a different
不同
egress
出口
point
than
the ingress router had selected.
入口路由器已选择。

Although the diagram in Figure 3 shows only three phases, we envision that network operators could incorporate other modules for additional functionality. For example, a module could combine the predicted BGP routes with traffic data to predict the load on each link in the network. Using the emulator for traffic engineer- ing assumes that traffic volumes are relatively stable, and that they remain stable in response to configuration changes. In previous work, we found that prefixes responsible for large amounts of traf- fic have relatively stable traffic volumes over long timescales [8]. Operators could use the emulator to test configuration changes on reasonably slow timescales that affect prefixes with stable traffic
虽然图 3 中的图表只显示了三个阶段,但我们认为网络运营商可以整合其他模块以获得额外的功能。例如模块可以将预测的 BGP 路由与流量数据相结合,以预测网络中每个链路上的负载。使用仿真器进行流量工程假设流量相对稳定,并且它们会保持稳定以响应配置更改。在以前的工作中,我们发现负责大量流量的前缀在很长的时间尺度上具有相对稳定的流量[8]。操作员可以使用仿真器在相当的时间尺度上测试配置更改,这些更改会影响具有稳定流量的前缀

volumes. A network operator could also combine measurements or estimates of the traffic arriving at each ingress point for each des- tination prefix [14] with the link-level paths to predict the load on each link in the network. Another module might evaluate the op- timality of the these link-level paths in terms of propagation delay or link utilization and could search for good configuration changes before applying them on a live network.
卷。网络运营商还可以每个目的地前缀[14]到达每个入口点的流量的测量或估计链路级路径相结合,以预测网络中每条链路上的负载。另一个模块可能会根据传播延迟或链路利用率评估这些链路级路径Op-Timity可以在将配置更改应用于实时网络之前搜索良好的配置更改。

ROUTE PREDICTION ALGORITHM
路线预测算法

Drawing on the modeling framework from Section 3, this section proposes an algorithm that computes the best route at each router in an AS. Since the path selection process is independent for each prefix, we focus on the prediction problem for a single destination prefix. To ensure that the algorithm is efficient, the best route that the algorithm predicts for each router should not change the pre- dictions made earlier for other routers. In other words, we design the algorithm to emulate a BGP message ordering that does not re- quire any backtracking. Satisfying this constraint for the first phase of the algorithm is straightforward because applying the import pol- icy is a purely local operation at each router. However, the second and third phases of the algorithm are more complicated because of subtle interactions in the BGP decision process:
本节借鉴第 3 节中的建模框架提出了一种算法,用于计算 AS 中每个路由器的最佳路由。由于每个前缀的路径选择过程是独立的,因此我们专注于单个目标前缀预测问题为了确保算法的高效性,算法为每个路由器预测的最佳路由不应改变之前为其他路由器所做的预测。换句话说,我们设计算法模拟不需要任何回溯BGP消息排序算法第一阶段满足约束非常简单因为应用导入策略每个路由器本地操作但是,由于 BGP 决策过程中的细微交互算法第二阶段第三阶段更加复杂

The interaction between MED and router ID prevents the second phase of the algorithm from simply selecting the locally- best route at each router. This complication arises because the BGP decision process only compares MED values for routes with the same next-hop AS. As such, the MED value of an eBGP route learned at one router may affect the local ranking of eBGP-learned routes at another router.
MED路由器ID之间的交互可防止算法第二阶段简单地在每个路由器上选择本地最佳路由。之所以出现这种复杂性是因为 BGP 决策过程比较具有相同下一跃点AS 的路由的MED 值因此在一台路由器上获知的 eBGP 路由的 MED 值可能会影响另一台路由器上获知的 eBGP 路由的本地排名。

The interaction between iBGP and the IGP prevents the third phase of the algorithm from visiting each router in the AS in an arbitrary order. This complication arises because the best BGP route at one router (chosen based on the IGP path costs and router IDs from its vantage point) affects the op- tions available to its iBGP neighbors.
iBGPIGP之间的交互可防止算法的第三阶段以任意顺序访问 AS 中的每个路由器之所以出现这种复杂性,是因为一台路由器上的最佳 BGP路由(根据IGP路径成本和路由器 ID 从其有利位置选择)会影响其 iBGP 邻居可用的操作。

The remainder of this section describes how the second and third phases of the algorithm arrive at the correct prediction without backtracking.
本节的其余部分介绍了算法的第二阶段和第三阶段如何在不回溯的情况下得出正确的预测

Computing the Set of Best eBGP Routes
计算最佳eBGP路由

The second phase of the algorithm begins with a complete set of eBGP routes (after modification by the import policies) and pro- duces the set of candidate best eBGP routes; the best route that each router selects is an element from this set. Thus, the second phase of the algorithm must have the following properties:
算法的第二阶段从一整套eBGP路由开始(在被导入策略修改),产生候选最佳eBGP路由;每个路由器选择的最佳路由是此集合中的一个元素。因此,算法的第二阶段必须具有以下属性:

It must eliminate any eBGP-learned routes that could not be the best route at any router in the AS. We impose this con- straint to simplify later stages of the algorithm.
必须消除任何eBGP 学习路由,这些路由在 AS 中的任何路由器上都不是最佳路由。我们施加此约束以简化算法的后期阶段。

Figure 4: Interaction between MED and router ID in the BGP decision process. Small numbers are router IDs.
4:BGP 决策过程中 MED路由器ID之间的交互。小数字是 router ID。

At the completion of the second phase, each eBGP-speaking router must contribute at most one candidate route. This property must hold because the BGP protocol specification requires each router to select and propagate a single best route.
第二阶段结束时每个支持 eBGP 的路由器最多只能贡献一条候选路由此属性必须成立,因为 BGP 协议规范要求每个路由器选择并传播单个 最佳路由。

The second phase of the algorithm determines the best route to a destination at every eBGP-speaking router by starting with the complete set of eBGP-learned routes and systematically eliminat- ing routes from this set of candidate routes
算法的第二阶段确定每个 eBGP 会话路由器上到目的地的最佳路由,方法是从完整的 eBGP 学习路由集开始,并从这组候选路由中系统地消除路由
.

First, the algorithm eliminates every route from this set that would be eliminated based on the first three steps of the BGP decision pro- cess (i.e., local preference value, AS path length, and origin type). The algorithm effectively applies the first three steps of the BGP de- cision process globally across the set of all candidate eBGP routes. It might seem appealing either to continue applying steps of the BGP decision process globally or to apply the remaining steps of the decision process locally at each router (i.e., eliminate all routes from the set of candidate routes based on MED, router ID, etc.). However, the interaction of the MED and router ID attributes pre- cludes having a consistent ranking of routes at each router. Figure 4 presents a simple example that illustrates why these two approaches are incorrect.
首先,该算法集合中消除将根据 BGP决策过程的前三个步骤(即本地首选项值、AS 路径长度和源类型)消除的所有路由。该算法有效地BGP决策过程的前三个步骤全局应用于所有候选eBGP 路由。继续全局应用 BGP 决策过程的步骤,或者在每个路由器本地应用决策过程的其余步骤(即,根据 MED、路由器 ID 等从候选路由集中消除所有路由),这似乎很有吸引力。但是,MED 和路由器 ID 属性的交互会妨碍每个路由器路由排名一致4 给出了一个简单的示例,说明了为什么这两种方法不正确。

Global route elimination is not correct. Consider the example in Figure 4 and assume that AS 3 learns eBGP routes
全局路由消除不正确。考虑图 4 中的示例,并假设 AS 3 学习 eBGP 路由

that are equally good through step 3 in the BGP decision process. Routesandare learned from AS 1, and routesandare learned from AS 2. In a global comparison of the routes,and are first eliminated based on MED, and then routerpicks route (since is preferred to based on the router ID comparison ap- plied at router). However, this conclusion is incorrect, because would always prefer routeover route , sinceis learned via eBGP (step 5) andandare equally good up through step 4 (recall that a router does not compare the MEDs of routes with
在 BGP 决策过程的第 3 步中同样有效。 路由and 是从AS1 学习的,路由and是从 AS 2 学习的。在路由的全局比较中,首先根据 MED 消除路由,然后路由器选择路由(因为最好根据路由器 ID 比较在路由器上应用)。但是,这个结论是不正确的,因为总是更喜欢路由而不是路由因为是通过eBGP(第 5 步)学习的,并且在第 4 步之前同样好(回想一下路由器不会比较MED路由

different next-hop ASes).
不同的下一跃点AS)。

Local route elimination is not correct. It might also seem natural to simply select a best route locally at each router and subsequently eliminate routes from this set by comparing routes within this set of locally best routes. This does not work either. Consider Figure 4 again. Applying the decision process locally at each router, router selects route because its router ID is lower than that of ; sim- ilarly, routerselects route . This suggests that routerwould ultimately selectas its best route, sinceis better thandue to MED comparison. However, this conclusion is also incorrect,
本地路由消除不正确简单地在每个路由器本地选择一个最佳路由然后通过比较这组本地最佳路由中的路由来从该集中消除路由,这似乎也很自然。这也不起作用。再次考虑4。每台路由器本地应用决策过程路由器选择路由,因为它的路由器 ID 小于 ;类似地,路由器选择路由这表明路由器最终选择作为其最佳路由,因为 DUEMED比较要好。 然而,这个结论也是不正确的,

because will always prefer route over route .
因为永远更喜欢route而不是route

To correctly handle the interaction between the MED and router ID attributes, the algorithm determines the effects of steps 4–8 of the BGP decision process by emulating the effects of a particular message ordering that correctly propagates the effects of MED on each router’s best route without backtracking. Figure 5 summarizes
为了正确处理MED路由器 ID 属性之间的交互,该算法通过模拟特定消息排序的效果来确定 BGP 决策过程步骤 4-8 的效果,从而正确传播MED每个路由器最佳路线5总结了

While there are eBGP-speaking routers with candidate eBGP-learned

routes that have not either been eliminated or marked as a best route:

Select any eBGP-speaking router that has at least one candidate route and consider the route that is best locally at that router among the remaining candidate routes.

Eliminate this route if it has a higher MED value and the same next-hop AS as the locally-best route at another router.

Otherwise, eliminate all other routes at this router, as well as all other routes with the same next-hop AS and a larger MED value. Mark the remaining route at this router as the best route.

Figure 5:
图 5:
Applying steps 4–8 of the BGP decision process to determine the set of best eBGP routes.
应用 BGP 决策过程的步骤 4-8 来确定最佳 eBGP 路由集。

this part of the algorithm. The network in Figure 4 starts with and as the locally-best routes atand , respectively, based on router ID. The algorithm applies the following steps:
这部分算法。图 4 中的网络以 开头,分别基于路由器 ID 的本地最佳路由 和 。该算法应用以下步骤:

Consider: The locally-best route is , which has a higher MED value and the same next-hop AS as , so eliminate from the candidates at router
考虑本地最佳路由是,它具有更高的 MED 值和相同的下一跳 AS,因此从路由器的候选路由中消除
.

Consider : The locally-best route is . No other router has a locally-best route with smaller MED value and the same next-hop AS, so mark as the best route and eliminate
考虑一下:本地最佳路线。没有其他路由器具有MED 值较小且下一跳 AS 相同的本地最佳路由,因此请标记为最佳路由并消除
.

Consider : The locally-best route among the remaining candidates is , and no other routers have routes left, so mark
考虑:其余候选路由器中的本地最佳路由并且没有其他路由器有剩余的路由因此标记

as a best route.
作为最佳路线。

This algorithm computes the correct routing decision for each router: at routerand at router . At router , is better than (step 5), (step 7) and (step 4). At router,is better than(step
算法计算每个路由器的正确路由决策atrouter atrouter路由器处,优于(步骤 5)、(步骤 7) 和(步骤 4)。在 router 处优于 (step

5); is not better than , but this does not matter because router does not select , and is not better than , but this does not matter since is always worse than (step 4).
5);不是 better than,但这无关紧要,因为 router选择也不是betterthan但这无关紧要,因为总是 Worse than(步骤 4)。

Theorem 2. For each eBGP-speaking router in the network, the second phase of the route prediction algorithm selects the best route for that router if the best route for that router is an eBGP- learned route. If the best route is an iBGP-learned route, the second phase eliminates all routes at that router.
定理2. 对于网络中的每个 eBGP 语言路由器,如果该路由器的最佳路由是 eBGP 学习的路由,则路由预测算法第二阶段会为该路由器选择最佳路由如果最佳路由iBGP 学习路由,则第二阶段将消除该路由器上的所有路由。

The proof of this theorem follows from two proofs in our previous work [13]. In this work, we first show that the second phase of the route prediction algorithm never eliminates a candidate route that an eBGP-speaking router would have selected as its best route (Theorem A.4) and the algorithm always eliminates every candi- date route that BGP eliminates (Theorem A.4). Additionally, the second phase of the algorithm correctly predicts the set of best eBGP routes without backtracking.
定理证明来自我们之前工作中的两个证明[13]。在这项工作中,我们首先表明,路由预测算法的第二阶段从未消除讲 eBGP路由器选择作为其最佳路由的候选路由(定理 A.4),并且该算法总是消除 BGP 消除的所有候选路由(定理 A.4)。此外,该算法的第二阶段正确预测最佳 eBGP 路由集,而无需回溯。

Computing the Best Route at Each Router
计算每个路由器的最佳路由

The third phase of the algorithm determines the best BGP route at each router, given the IGP path costs to each eBGP speaking router and the iBGP signaling graph. On the surface, this problem has a relatively simple solution: for each router, take the set of best eBGP-learned routes and select the closest egress point, breaking ties based on router ID. This approach would work if the eBGP- speaking routers readvertised every eBGP-learned route to every router in the AS, as in a full-mesh iBGP configuration. However, the use of route reflectors (RRs) typically violates this assumption. The routing alternatives available to a particular router depends on its position in the route reflector hierarchy. For example, consider
算法第三阶段根据每个 eBGP 说话路由器的 IGP 路径开销iBGP信令,确定每个路由器上的最佳BGP 路由。表面上看,这个问题有一个相对简单的解决方案:对于每个路由器,一组最好的 eBGP 学习的路由,并选择最近的出口点,根据路由器 ID 打破平局。如果讲 eBGP 的路由器将每个 eBGP 学习的路由重新调整到 AS 中的每个路由器,则此方法将起作用,就像在全网状 iBGP 配置中一样。但是,使用路由反射器 (RR) 通常会违反假设。特定路由器可用的路由替代方案取决于其路由反射器层次结构的位置例如考虑

Figure 6: Interaction between iBGP and IGP in the decision process, where small numbers are IGP path costs, solid lines are iBGP sessions, and the dashed line is an IGP path.
图 6:决策过程中 iBGP 和 IGP 的交互,其中小数字是 IGP 路径成本,实线是 iBGP 会话,虚线是 IGP 路径。

Consider the routers in a partial order defined by the up edges in the signaling graph, starting with a router that has no down neighbors. For each router, select the best route among avail- able candidate routes from the down neighbors that have al- ready selected a route. If no candidate routes exist, do not assign a best route yet.

Consider the routers in a partial order defined by the down edges in the signaling graph, starting with a router that has no up neighbors. For each router that did not select a route in previous step, select the best route among the routes selected by the immediate up and over neighbors.

Figure 7: Efficiently computing the best route at each router
7:高效计算每个路由器的最佳路由

the network shown in Figure 6. Routersandhave eBGP routes and , respectively, that are equally good through the first four steps of the decision process. In this network,prefers route because it has a smaller IGP path cost tothan to ; however, would prefer over , because its shortest IGP path tohas
网络如图 6 所示。路由器分别具有eBGP路由 ,它们在决策过程的前四个步骤中同样出色。在此网络中,首选路由,因为它的 IGP 路径成本小于 to;但是,首选路由,因为它最短的 IGP 路径具有

cost (via router ), but its shortest path tohas cost . However, only advertises its best route, , to; as such,never
cost(通过 router),但其最短路径cost但是,仅通告最佳路由, ;因此从来没有

learns about route .
了解route.

To
account
帐户
for
these
这些
dependencies,
依赖
the
algorithm
算法
emulates
模拟
a par-
㩱-
ticular
网状
iBGP
iBGP 协议
message
消息
ordering, making
订购、制作
decisions
决定
at
each
router
路由器
and
propagating the
传播
effects
影响
of
these
这些
decisions to
决策
other
其他
routers, visiting each
routers,访问每个
router
路由器
without
没有
backtracking.
回溯。
(Theorem
(定理
1 allows
允许
the
algorithm to
algorithm 设置为
select any iBGP
选择任何 iBGP
message ordering.)
消息排序。
If Constraint 3 is
如果 Constraint 3 为
satisfied, the algorithm can consider the routing decisions at each router in the AS in
满意后,算法可以考虑 AS 中每个路由器的路由决策
the
order specified in
Order 中指定的
Figure 7.
图 7.
Applying this
应用此
algorithm to
algorithm 设置为
the
example in
example 中的
Figure
数字
6, the
shaded routers select
阴影路由器 select
best routes in the
最佳路线
first
第一
step,
since
因为
each
of
those
那些
routers
路由器
has
具有
a direct
直接
path
路径
down
the iBGP
iBGP
hierarchy
等级制度
to
an
eBGP-speaking
eBGP 语言
router. First,
路由器。第一
and
select best eBGP
选择最佳 eBGP
routes
路线
and
, respectively; since
分别;因为
the
routers are
路由器是
at the same
同时
level
水平
in
the
hierarchy,
等级制度
the
algorithm
算法
can
visit
访问
them
他们
in
any
任何
or- der. Then,
或。然后
applies the BGP decision process to
将 BGP 决策过程应用于
and
, and selects
,然后选择
because
因为
it
has
具有
a smaller
较小
IGP path
路径
cost. The
成本。这
BGP
边界网关协议
decision process is
决策过程是
applied
应用的
to
the
rest
休息
of
the
routers
路由器
by
starting
开始
from
the
top of
顶部
the
hierarchy
等级制度
and
proceeding
进程
downward.
向下。
receives
接收
, which is
哪个是
its
best
最好
(and
(以及
only)
仅)
route
路线
to
the
destination;
目的地;
similarly
同样地
for
, which receives
它接收
from
, and
, which receives
它接收
from
.

The algorithm operates by defining two partial orderings of the routers, based on the up edge and the down edges, respectively. This is possible because Constraint 3(b) requires that the signal- ing graph does not have any cycles of these edges. Visiting the routers in the up direction ensures that each router selects a down route, where possible, as required by Constraint 3(a). Visiting the remaining routers in the down direction ensures that each router has all of the up and over routes available when making a deci- sion. Considering the routers in this particular ordering guarantees
该算法通过分别基于沿和沿定义路由器的两个部分排序来运行。这是可能的,因为约束 3(b) 要求信号图没有这些边的任何周期。沿上行方向访问路由器可确保每个路由器在可能的情况下根据约束 3(a) 的要求选择下行路由。沿 down 方向访问其余路由器可确保在做出决定时,每个路由器都有所有可用的 up over 路由。考虑特定Ordering保证中的路由器

that no router makes a decision that should change later, after some other router makes a decision. As a result, we know:
没有路由器做出的决定应该在以后改变在其他路由器做出决定之后。因此,我们知道:

Theorem 3. If Constraints 2 and 3 are satisfied, the third phase of the algorithm correctly predicts the egress router that each ingress router would choose using BGP without backtracking.
定理3.如果满足约束23则算法第三阶段将正确预测每个入口路由器将使用 BGP 选择的出口路由器,而无需回溯。

This theorem is a restatement of a theorem from earlier work [15] on sufficient conditions for stable BGP routing at the AS level. The previous result uses a constructive proof to show that a specific set of export policy and preference relations between ASes can guar- antee that BGP will arrive at a stable path assignment: the proof shows the existence of a stable routing first by assigning paths to up AS neighbors, then to over and down neighbors. Other previ- ous work observed that the conditions for BGP stability at the AS- level are the same as those for iBGP with route reflection within an AS [12]. Theorem 3 follows directly from applying the construc- tive proof for stable global routing to iBGP with route reflection, and the proof is the same.
定理是对早期工作 [15]关于在 AS级别稳定BGP路由充分条件的定理的重述。前面的结果使用建设性证明表明AS 之间的一组特定的导出策略和首选项关系可以保证 BGP 将到达稳定的路径分配:该证明首先通过将路径分配给上行 AS 邻居,然后分配给下行来显示稳定路由的存在邻居。之前的其他工作观察到AS 级BGP稳定性的条件 AS 具有路由反射iBGP的条件相同[12]。定理 3 直接来自将稳定全局路由的构造证明应用于具有路由反射的 iBGP,证明是相同的。

EMULATOR DESIGN
仿真器设计

To demonstrate that the algorithm from Section 4 is accurate and practical, we have implemented a BGP emulator that computes the outcome of the BGP decision process for all routers in an AS. In this section, we discuss the input data that the emulator requires and how network operators can obtain this data in practice. Then we describe the basic design of the emulator, deferring the discussion of performance optimizations to Section 6.3.
为了证明4中的算法是准确和实用的,我们实现了一个BGP模拟器,用于计算AS 中所有路由器的 BGP 决策过程的结果。在本节,我们将讨论仿真器所需的输入数据,以及网络运营商在实践中如何获取这些数据。然后我们描述 emulator 的基本设计,将性能优化的讨论推迟到 Section 6.3 。

Input Data
输入数据

As shown in Figure 8, the emulator uses three inputs:
如图8 所示仿真器使用三个输入:

BGP routing tables: The BGP tables for the eBGP-speaking routers provide the first phase of the algorithm with a snap- shot of the routes advertised by neighboring ASes. We ignore the router’s current view of the best route and the current set- ting of the local preference attribute, since these relate to the existing network configuration rather than the scenarios we might want to emulate.
BGP路由表:使用 eBGP 的路由器BGP为算法的第一阶段提供了相邻AS 通告路由的快照我们忽略了路由器当前的最佳路由视图本地首选项属性的当前设置因为这些现有网络配置有关,而不是我们可能想要模拟的场景。

Router configuration files: The configuration files are used to
路由器配置文件配置文件用于

(1) determine the import policies (i.e., route maps) for each eBGP session, (2) determine the iBGP signaling graph, and
(1) 确定每个 eBGP 会话的导入策略(即路由映射),(2) 确定iBGP信令图,以及

(3) compute the IGP path costs between each pair of routers. The import policies are used to manipulate attributes of the eBGP routes in the first phase of the algorithm, and the iBGP and IGP information are needed for the third phase.
(3)计算路由器之间的IGP路径开销。在算法的第一阶段,导入策略用于操作 eBGP路由的属性而第三阶段则需要 iBGP 和 IGP 信息。

BGP neighbor information: Because the BGP decision pro- cess depends on the router ID associated with the BGP ses- sion announcing the route, our algorithms require knowing the router ID associated with each BGP session. The second phase uses the router IDs of the eBGP sessions, while the third phase uses the router IDs for the iBGP sessions.
BGP邻居信息:由于BGP决策过程取决于与宣布路由的 BGP 实例关联的路由器 ID,因此我们的算法需要知道每个BGP 会话关联的路由器ID第二阶段使用 eBGP 会话的路由器 ID,而第三阶段使用 iBGP 会话的路由器 ID。

We emphasize several points with regard to the input data. First, a network operator can capture all of the necessary data with telnet or ssh access to each router. Second, many aspects of the input data (e.g., the router ID data, routes for prefixes with stable traffic volumes, etc.) do not change very often; as such, the emulator is useful even if all of the input data is collected infrequently (e.g., once a day). Finally, because certain inputs can be approximated (e.g., router ID is typically the loopback IP address of the router) and often do not affect the decision process, the emulator can be effective even with limited input.
我们强调关于输入数据的首先,网络运营商可以通过对每个路由器的 telnet 或 ssh 访问来捕获所有必要的数据。其次,输入数据的许多方面(例如,路由器ID数据、具有稳定流量的前缀路由等)不要经常更改;因此,即使不经常收集所有输入数据(例如,每天一次),仿真器也很有用。最后,由于某些输入可以近似计算(例如,路由器 ID 通常是路由器的环回 IP 地址),并且通常不会影响决策过程,因此即使输入有限,仿真器也可以有效。

Figure
数字
8: Data
8:数据
flow
in
the
emulator.
仿真。
Fonts
字体
specify
指定
raw
inputs
输入
, input tables
输入表
, and
DERIVED TABLES
派生表
. In practice, operators might collect raw inputs once a day.
.在实践中,操作员可能每天收集一次原始输入。

Emulator Design Overview
仿真器设计概述

The emulator uses a database back-end. This design provides ef- ficient access to small subsets of the configuration data and routes and also stores intermediate results, which allow us to validate each part of the algorithm separately. Figure 8 summarizes how the em- ulator uses the inputs and intermediate results to generate a table of predicted routes. The emulator performs route prediction with three distinct database operations that correspond to the three phases de- scribed in Section 3.2:
仿真器使用数据库后端。这种设计提供了配置数据和路由的小子集的有效访问存储了中间结果,使我们能够验证算法的每个部分分别。图8总结了em- ulator如何使用输入中间结果生成预测路线仿真器使用三个不同的数据库操作执行路线预测,这些操作对应于第 3.2 节中描述的三个阶段

Computing
计算机科学
the modified routes:
修改后的路线:
Once the emulator loads the BGP tables and route maps into the database, the first operation applies
模拟器将 BGP 表和路由映射加载到数据库后,将应用第一个操作
the
import
进口
policies
政策
to
the
eBGP
eBGP 协议
routes: each
routes: each
row
of
the
im- port
IM 端口
table
桌子
specifies
指定
how
如何
a particular
特定
set
设置
of
rows
in
the
known
已知
routes
路线
table should be modified; the emulator performs the actual mod- ifications on the
table 应该修改;仿真器对
MODIFIED ROUTES
修改的路线
table.
桌子。
More specifically, each row
更具体地说,每行
of
the
import
进口
table
桌子
specifies
指定
a router
路由器
name,
名字
the
IP
知识产权
address
地址
of
the BGP
BGP
neighbor,
邻居
and
an
AS
path
路径
regular
定期
expression. Each
表达。每
row
of
the
known routes
已知路线
table contains a routing table entry, which includes the IP
table 包含一个路由表条目,其中包括 IP
prefix,
前缀
the router where
其中
the route was
路线是
learned, the
学习后,该
next-hop IP
下一跳 IP
address (i.e.,
address(即
the
BGP
边界网关协议
neighbor), and
neighbor) 和
the
AS
path
路径
for that
为了那个
route (among other
路线(除其他
attributes). For
属性)。为
each
row
in
the
import
进口
table,
桌子
the
first operation applies the policy by (1) finding the appropriate routes by
第一个操作通过以下方式应用策略:(1) 通过以下方式查找适当的路由
selecting
选择
the
set
设置
of
routes
路线
learned
博学
at
the
corresponding
相应
router
路由器
on that BGP
在该 BGP 上
session
会期
that
match
火柴
the specified
指定的
AS
path
路径
regular expres- sion and (2) setting the other attributes (e.g., local preference) ac- cording to
常规表达和 (2) 根据
the
values
specified
指定
in
that
row
of
the
import
进口
table.
桌子。
The primary challenges associated with this operation result from the potentially large number (i.e., on the order of millions) of eBGP- learned routes; we address these challenges in Section 6.3.
与此操作相关的主要挑战是由于可能大量(即数百万个)eBGP 学习的路由;我们将在 Section 6.3 中解决这些挑战。

Computing the egress points: The second operation applies the technique from Section 4.1 to generate the set of best eBGP-learned routes, which serves as an input to the third module. This part of the algorithm performs “select” statements on the MODIFIED ROUTES table to successively refine the set of candidate routes. The router ID table contains the router ID for every BGP session at each router, which is needed for step 7 of the decision process. As the method from Section 4.1 marks “best” routes, these routes are inserted into the EGRESS POINTS table for use by the third operation.
计算出口点:第二个操作应用4.1中的技术生成最佳 eBGP 学习路由路由用作第三个模块输入部分算法对 MODIFIED ROUTES执行 “select” 语句,以连续优化候选路由集。 路由器 ID包含每个路由器每个BGP会话路由器ID,这是决策过程的步骤 7 所必需的。由于Section 4.1中的方法标记了 “best” routes,因此这些路由插入EGRESS POINTS 表中,供第三个操作使用。

Computing the predicted routes: The third operation uses the iBGP signaling graph, IGP path costs, and technique from Sec- tion 4.2 to determine the best BGP route for each prefix at each router. The module uses the iBGP signaling graph to determine which routes are advertised to each router, the IGP path costs be- tween each pair of routers to determine the closest eBGP-speaking router to each ingress router (used in step 6 of the decision pro- cess), and the router ID of each iBGP session (step 7) to determine the egress router that each ingress router will select. The RR clients
计算预测的路由:第三个操作使用 iBGP 信令图、IGP 路径成本和第 4.2 节中的技术来确定每个路由器上每个前缀的最佳 BGP 路由。该模块使用 iBGP 信令图来确定向每个路由器通告的路由,每对路由器之间的 IGP 路径成本,以确定每个入口路由器最近的 eBGP 会话路由器(在决策过程的步骤 6 中使用),以及每个iBGP会话路由器ID(步骤7)确定每个入口路由器选择的出口路由器RR客户端

table represents the iBGP signaling graph and IGP path costs rep- resents the shortest IGP path between each pair of routers in the AS. Each row of RR clients specifies a route reflector client for a particular cluster; this provides the partial ordering needed by the algorithm. When applying the IGP tiebreaking step at an ingress router, IGP path costs is used to determine the egress router with the shortest IGP path.
表表示 iBGP 信令图,IGP 路径开销表示 AS 中每对路由器之间的最短 IGP 路径。RR 客户端的每一行 都为特定集群指定一个路由反射器客户端;这提供了算法所需的部分排序。在入口路由器上应用 IGP 平局步骤时,IGP 路径成本用于确定具有最短 IGP 路径的出口路由器。

PERFORMANCE EVALUATION
性能评估

In this section, we evaluate the performance of our implementa- tion of the BGP emulator. We do not attempt to perform a complete performance analysis of the prototype. Rather, we conduct experi- ments that demonstrate the practicality of the prediction algorithm.
本节我们将评估BGP仿真器实现的性能我们不会尝试原型进行完整的性能分析。相反,我们进行了实验以证明预测算法实用性

While our evaluation is preliminary, our performance tests demon- strate that the emulator can operate on timescales that could allow an operator to use a BGP emulator based on our algorithms in a practical setting. Our evaluation demonstrates the following points:
虽然我们的评估初步的,但我们的性能测试表明,仿真器可以在允许运营商在实际环境中使用基于我们算法的 BGP 仿真器的时间尺度上运行。我们的评估展示了以下几点:

The emulator computes the best routes for one prefix through- out a large tier-1 ISP network in about one second. Although predicting the best route for all prefixes at all routers in such a network takes several hours, this type of computation does not need to be performed all that frequently in practice.
仿真器可在大约1计算出整个大型Tier-1ISP网络中一个前缀的最佳路由。尽管预测此类网络中所有路由器上所有前缀的最佳路由需要几个小时,但在实践中不需要那么频繁地执行这种类型的计算

Exploiting commonalities among route advertisements to elim- inate redundant computation reduces the running time of the emulator by approximately 50%.
利用路由通告之间的共性消除冗余计算,可将仿真器的运行时间减少约 50%。

Using the emulator to evaluate the effects of an incremental change to router configuration typically takes only a few sec- onds. Thus, we believe that the emulator can be practical for tasks such as interdomain traffic engineering.
使用仿真器评估路由器配置的增量更改的效果通常只需要几秒钟。因此,我们相信仿真器可以用于域间流量工程等任务。

After briefly discussing the evaluation framework, we examine the emulator’s performance. First, we discuss the emulator’s per- formance when it computes the routes for every prefix in the rout- ing table from scratch, without any performance optimizations. We then examine how insights from the BGP decision process and pre- vious measurement studies can improve performance. Finally, we describe how the emulator can quickly predict the effects of incre- mental configuration changes.
在简要讨论了评估框架之后,我们研究了仿真器的性能。首先,我们讨论模拟器在从头开始计算路由表中每个前缀路由时的性能而无需进行任何性能优化。然后,我们研究了来自BGP决策过程先前测量研究见解如何提高性能最后,描述了模拟器如何快速预测递增构型变化的影响

Evaluation Framework
评估框架

We ran the emulator on a Sun Fire 15000 with 192 GB of RAM and 48 900 MHz Ultrasparc-III Copper processors. Because this is a time-shared machine, we ran each of our experiments several times to ensure the accuracy of our measurements. Except where noted, the prototype used only two 900 MHz processors (one for the database process and one for the emulator itself); the combined memory footprint of the database process and the emulator never exceeded 50 MB. Because the emulator did not use more resources than a standard PC, the results of our evaluation should reasonably reflect the emulator’s performance on commodity hardware.
我们在具有 192GBRAM 和 48 900 MHz Ultrasparc-III 铜处理器SunFire15000上运行仿真器因为这是一台分时机器,所以我们每次实验都运行了几次,以确保测量的准确性。除非另有说明,否则原型只使用了两个 900 MHz 处理器(一个用于数据库进程一个用于仿真器本身);数据库进程和仿真器的总内存占用量从未超过50MB。由于仿真器使用的资源并不标准PC 因此我们的评估结果合理地反映仿真器在商用硬件上的性能。

Because the emulator’s running time depends on many interde- pendent factors—including the number of neighbor ASes, the num- ber of eBGP sessions, the number of prefixes, and the number of routers—running independent benchmarks for each of these factors with realistic routing and configuration data is extremely difficult. For example, it is difficult to run an experiment that controls every other factor that affects running time while varying the number of eBGP sessions. Similarly, determining a precise running time for the emulator to process an incremental configuration change is dif- ficult because the running time depends on how many routes must be recomputed as a result of that change.
由于仿真器的运行时间取决于许多相互因素(包括邻居AS 的数量eBGP 会话的数量、前缀的数量和路由器的数量),因此使用实际的路由配置数据针对这些因素中的每一个运行独立的基准测试非常难。例如很难运行一个实验来控制影响运行时间的所有其他因素,同时改变 eBGP 会话的数量。同样,确定仿真器处理增量配置更改的精确运行时间很困难,因为运行时间取决于由于该更改而必须重新计算路由

Rather than isolating individual factors that affect performance, which is difficult and may not accurately reflect realistic network conditions, we evaluated the BGP emulator’s running time using the actual routing tables and configuration data from a large tier-1 ISP with several hundred routers; we present absolute performance numbers, as well as appropriate averages, to give a rough estimate of the emulator’s running time for an arbitrary-sized network. We also use the averages to estimate the running time for computing the effects of incremental routing changes. Most networks have fewer prefixes in their routing tables, fewer routers, and fewer BGP sessions per router. Therefore, the running times we report can be considered conservative: the emulator should have a shorter run- ning time for most other networks.
我们没有隔离影响性能的单个因素(这很困难,而且可能无法准确反映实际网络状况),而是使用实际路由和来自拥有数百台路由器的大型Tier 1 ISP 的配置数据来评估 BGP 仿真器的运行时间;我们提供绝对性能数字以及适当的平均值,以略估计任意大小网络模拟器运行时间我们还使用平均值来估计运行时间,以计算增量路由更改的影响。大多数网络路由表中的前缀较少,路由器较少每个路由器的 BGP 会话较少因此,我们报告的运行时间可以被认为是保守的:对于大多数其他网络,模拟器的运行时间应该更短。

Route Prediction from Scratch
从头开始路线预测

To
get
获取
a baseline performance estimate
基准性能估计
for
the
algorithm,
算法
we
我们
first
第一
ran the emulator without any performance optimizations.
运行模拟器时未进行任何性能优化。
Before the
emulator
仿真
can
begin
开始
executing
执行
the
route
路线
prediction
预测
algorithm,
算法
it must load
它必须加载
the
input data
输入数据
into
the
database.
数据库。
Loading
装载
the
configura- tion
配置
data
数据
has
具有
three
separate
分开
steps: (1)
步骤: (1)
parsing
解析
and
loading
装载
the
rout- ing tables, (2) parsing and loading the import policies, (3) build- ing the database indexes.
路由表,(2) 解析和加载导入策略,(3) 构建数据库索引。
The first two steps can be parallelized by router since the tables
前两个步骤可以通过 router 并行化,因为表
and configuration for each router can be parsed
并且可以解析每个路由器的配置
and
loaded
加载
independently. When
独立地。什么时候
loading
装载
each
routing
路由
table in
table 中
sequence, the
sequence 中,使用
prototype
原型
parsed
解析
and
loaded
加载
all
1,620,061 eBGP- learned routes from a large
eBGP - 从大型
tier-1
第 1 层
ISP in
ISP 输入
just over 90 minutes, at a rate
只需 90 多分钟,以
of
about 280
约 280
routes
路线
per
second.
第二。
When
什么时候
loading
装载
up
向上
to
20 tables in
20 张牌桌
parallel,
平行
the
emulator
仿真
finished
完成
loading
装载
the
routing
路由
tables
in
about 520
约 520
seconds.
秒。
The
speed
速度
of
this
operation
操作
is
not
critical,
危急
since
因为
it is likely only performed once per day.
它可能每天只执行一次。
The time to
是时候
parse and load the import policies and router ID information was negligible;
解析和加载导入策略和路由器 ID 信息可以忽略不计;
the emulator parsed
解析的模拟器
and
loaded
加载
this
information
信息
in
just
over 1
超过 1
second. Once all of the data was parsed and loaded into the database, the emulator applied the 486 import
第二。解析完所有数据并将其加载到数据库中后,仿真器将应用 486 导入
policy operations to the eBGP- learned
对 eBGP 的策略操作 - 学习
routes
路线
in
a total
of
1,576 seconds,
or
about
大约
0.31 opera- tions per second (it does not make sense to give a per-prefix per- formance
每秒操作数(给出每个前缀的性能没有意义
number
for
this
module, since
模块,因为
one
import
进口
policy
政策
applies to many prefixes).
适用于许多前缀)。
The second module computed the set of best eBGP
第二个模块计算了最佳 eBGP 的集合
routes at
路线在
a rate
of
about 3
约 3
prefixes
前缀
per
second, and the
second 和
third module
第三个模块
computed
计算
the
best
最好
route
路线
for each
对于每个
prefix
前缀
and
ingress
入口
router
路由器

at approximately 7.3 milliseconds per prefix per router.
每个路由器每个前缀大约7.3毫秒

Although the emulator takes a total of about 5 hours to compute all routes for all routers in a large ISP network, running the emula- tor is likely to be much faster in most cases. First, depending on the task, a network operator may not need to perform route prediction for every prefix. For example, it is well known that the majority of network traffic is destined for a relatively small fraction of the to- tal prefixes [8]; thus, a network operator would likely to be able to perform effective traffic engineering by emulating route selection for only a small number of prefixes. Similarly, a network opera- tor who is debugging a reachability problem to a single prefix or small group of prefixes will only need to run the emulator for those prefixes. Second, several performance optimizations can signifi- cantly improve the efficiency of the emulator, as discussed in the next subsection.
虽然模拟器总共需要大约5个小时计算大型ISP 网络中所有路由器的所有路由,但运行模拟器可能会快得多在大多数情况下首先,根据任务的不同,网络运营商可能不需要每个前缀执行路由预测例如,众所周知大多数网络流量的目的地是相对较小的to- tal前缀[8];因此,网络运营商可能能够通过仅模拟少量前缀的路由选择来执行有效的流量工程。同样,正在调试单个前缀或一小组前缀的可访问性问题的网络操作人员只需这些前缀运行仿真器其次,一些性能优化可以显著提高仿真器的效率,如下一小节所述。

Performance Optimizations
性能优化

To ensure that the emulator operates on reasonable timescales, even with a large number of routes and eBGP sessions, we de- signed the emulator around the inherent structure of the input data. In particular, we make three observations that inspire aspects of the design: (1) many BGP routes have the same AS path attribute;
为了确保仿真器在合理的时间范围内运行,即使有大量的路由和 eBGP 会话,我们围绕输入数据的固有结构仿真器进行了设计。特别是,我们提出了三个观察结果,这些观察激发了设计的各个方面:(1)许多BGP路由具有相同的AS路径属性;

(2) neighboring ASes often advertise a large group of prefixes with
(2)相邻的AS通常会通告一大前缀

the same attributes across all eBGP sessions, and they often ad- vertise a large group of prefixes to the same set of eBGP-speaking routers; and (3) incremental router configuration changes typically only affect a relatively small number of routes. These observations allow the BGP emulator to scale to a large number of prefixes and eBGP sessions and divide the emulator’s running time in half.
在所有 eBGP 会话中具有相同的属性,并且它们通常一大前缀分配给同一讲 eBGP 的路由器;3)增量路由器配置更改通常只影响相对较少路由。这些观察结果允许BGP仿真扩展到大量前缀和 eBGP 会话,并将仿真器的运行时间减半。

Store
商店
and
manipulate
操纵
each
unique
独特
AS
path
路径
only
once:
一次:
Modi- fying the
eBGP-learned
eBGP 学习
routes
路线
according
根据
to
import
进口
policies
政策
poten- tially
潜力
involves
涉及
sequentially
顺序
scanning
扫描
each
router’s
路由器的
BGP
边界网关协议
routing
路由
ta- ble for routes whose AS paths match a given regular expression; performing this operation once per import policy would involve many
ta- ble 表示 AS 路径与给定正则表达式匹配的路由;每个导入策略执行一次此操作将涉及许多
table
桌子
scans.
扫描。
Fortunately,
幸运
many
eBGP-learned
eBGP 学习
routes
路线
have
the same
一样
AS
path: in
path: 在
our
我们
BGP
边界网关协议
routing
路由
tables,
each
unique
独特
AS
path
路径
ap- pears in twenty
20 年梨
eBGP-learned routes, on average.
eBGP 学习的路由。
We
我们
exploit this observation by
利用此观察结果
having
具有
the
known
已知
routes
路线
and
MODIFIED ROUTES
修改的路线
ta- bles store a pointer
指针
(i.e., a foreign key) into a separate table that contains the distinct AS paths.
(即外键)放入包含不同 AS 路径的单独表中。
This level of indirection signifi- cantly reduces the overhead of the first module, which repeatedly modifies attributes for some set of routes that match a certain AS path
这种间接级别显著减少了第一个模块的开销,该模块会重复修改与特定 AS 路径匹配的某些路由集的属性
regular
定期
expression.
表达。
The
first
第一
module
模块
(1) searches
搜索
the
relatively small AS path table
相对较小的 AS 路径表
to find the
要查找
AS path pointers associated with
关联的 AS 路径指针
a regular expression and (2) selects the subset of table entries that must be modified by selecting the entries that have those AS path pointers (on which the table is indexed).
正则表达式,以及 (2) 通过选择具有这些 AS 路径指针的条目(表在其上建立索引)来选择必须修改的表条目的子集。
By operating on a table of 45,000 AS paths instead of more than 1 million eBGP-learned routes,
通过在包含 45000 个 AS 路径的表上运行,而不是在超过 100 万个 eBGP 学习的路由上运行,
the
first
第一
module
模块
can
apply
应用
1.02 import
进口
policy
政策
operations
操作
per second—more
per second - 更多
than
a factor
因素
of
3 improvement
起色
over
the
0.31 opera- tions per second reported in Section 6.2.
第 6.2 节中报告的每秒操作数。

Group prefixes with the same eBGP routing choices:
具有相同 eBGP 路由选项的组前缀:
The emulator must compute the set of best eBGP-learned routes for each prefix; because an Internet routing table often has more than 100,000
仿真器必须为每个前缀计算 eBGP 学习的最佳路由集;因为 Internet 路由表通常超过 100,000 个
prefixes,
前缀
performing
执行
this
prediction
预测
once
一次
per
prefix
前缀
could be computationally expensive.
可能在计算上很昂贵。
Fortunately, because a neighbor- ing
幸运的是,因为邻居
AS
typically
通常
advertises
招聘
a large
group
of
prefixes
前缀
over
the
same set
同组
of
peering
窥视
sessions,
会话
many
prefixes
前缀
are
advertised
广告
in
exactly
完全
the same
一样
fashion
时尚
across
all
eBGP
eBGP 协议
sessions
会话
with
neighboring
邻近
ASes
AS
[8]. This
[8]. 这个
typically
通常
happens
发生
when
什么时候
a single
institution
机构
announces
宣布
several prefixes from a single location or a single peer advertises various prefixes with the same AS path length.
来自单个位置或单个对等体的多个前缀通告具有相同 AS 路径长度的各种前缀。
As such, the process for computing
因此,计算过程
the
set
设置
of
best
最好
routes
路线
is
exactly
完全
the
same
相同
for
large
groups of prefixes.
前缀组。
For example, if two prefixes have an identical set of
例如,如果两个前缀具有相同的
MODIFIED ROUTES
修改的路线
(i.e.,
(即
the
same
相同
attributes
属性
for
the
route
路线
from
each
eBGP
eBGP 协议
neighbor), the
neighbor) 中,
second
第二
module of
模块
the
emulator
仿真
would
愿意
produce
生产
the
same egress set.
相同的出口集。
In
fact, this
事实上,这个
is true
是真的
as long
只要
as the
作为
two
prefixes
前缀
have
routes
路线
with
the
same
相同
AS
path
路径
length
长度
from
each
neighbor, since
neighbor 的
the
BGP
边界网关协议
decision
决定
process
过程
only
considers
认为
the
length
长度
of
the
path. To exploit this observation, the
路径。为了利用此观察结果,
known routes
已知路线
and
MODIFIED ROUTES
修改的路线
tables store the
tables 存储
length
长度
of the AS path,
AS 路径中,
along with the pointer to
以及指向
the table of unique AS paths.
唯一 AS 路径表。
We group prefixes that have routes with the same AS path length, local preference, origin type, and MED, reducing the total number of predictions from 91,554 (i.e., one per prefix) to 8,291 (i.e., one per group of prefixes).
我们将具有相同 AS 路径长度、本地首选项、源类型和 MED 的路由的前缀进行分组,将预测总数从 91554 个(即每个前缀一个)减少到 8291 个(即每组前缀一个)。
Identi- fying
识别
these
这些
groups
of
prefixes
前缀
required
必填
1,420 seconds (this
秒(此
time
时间
is proportional to the total number of eBGP-learned routes).
与 eBGP 学习的路由总数成正比)。
After grouping the prefixes, the computation in the second module re- quires
对前缀进行分组后,第二个模块中的计算需要
only
15,753 seconds,
rather
than
the
30,212 seconds
needed when performing the computation separately for each prefix.
在为每个前缀单独执行计算时需要。
The speed-up does not exceed a factor of two
加速不超过 2 倍
because of the overhead for
由于
checking
检查
the
database
数据库
to
determine
确定
whether
是否
a new
新增功能
computation can be avoided.
可以避免计算。

Group prefixes with the same egress set: The best route that the emulator predicts at a particular ingress router ultimately de- pends on the set of routers in the egress set for that prefix. In
Group prefixes with the same egress set:仿真器在特定入口路由器上预测的最佳路由最终取决于前缀设置出口集中路由器

theory, the number of distinct sets of egress routers is exponen- tial in the number of routers.
理论上,不同出口路由器集的数量在路由器数量上呈指数级增长。
Fortunately, because many prefixes are
幸运的是,因为许多前缀是
advertised
广告
in
exactly
完全
the
same
相同
fashion,
时尚
and
because
因为
an
AS
usu- ally applies the same local policies to manipulate and select these routes, many prefixes have exactly the same set of egress routers;
通常应用相同的本地策略来操作和选择这些路由,许多前缀具有完全相同的出口路由器集;
the
emulator
仿真
can
thus
因此
select
选择
the
best
最好
route
路线
for
each
group
of
prefixes
前缀
with
the
same
相同
egress
出口
set,
设置
rather
than
for
each
prefix. In
前缀。在
our
我们
routing data,
路由数据 /
the
91,554 prefixes
前缀
have
only
290 distinct
不同
egress
出口
sets.
集。
We
我们
ex- ploit this
observation
观察
by
applying
应用
the
algorithm
算法
in
Section
部分
4.2 only once per ingress router and set of egress routers, rather than once for each ingress router and prefix.
每个入口路由器和一组出口路由器仅一次,而不是每个入口路由器和前缀一次。
Determining whether a predic- tion has already been computed for an ingress router and a set of egress routers requires an additional database query.
确定是否已为入口路由器和一组出口路由器计算预测,需要额外的数据库查询。
Despite this additional
尽管有这个额外的
overhead, this
overhead 的
optimization
优化
reduces
减少
the
running time
运行时间
of the
third
第三
module
模块
from
7.3 to
4.3 milliseconds
毫秒
per
prefix
前缀
per
ingress
入口
router.
路由器。

Compute small differences after incremental changes:
计算增量更改后的微小差异:
We envision
我们设想
that
network
网络
operators
运营商
would
愿意
use
the
BGP
边界网关协议
emulator
仿真
as a traffic engineering tool, in order to predict how a configuration change would affect the flow of traffic.
作为流量工程工具,以预测配置更改将如何影响流量。
These kinds of configu- ration changes typically
这些类型的配置更改通常
only affect some small subset of the to-
只影响 to-
tal number of routes
TAL 路由数
. Thus, in cases of incremental configuration change, the emulator avoids unnecessary recomputation by deter-
因此,在增量配置更改的情况下,仿真器通过 deter- 避免不必要的重新计算
mining
采矿
which
prefixes
前缀
are
affected
影响
by
the
policy
政策
change
改变
and
recom-
推荐-
puting
the
best
最好
routes
路线
only
for
these
这些
prefixes. The
前缀。这
first
第一
phase
阶段
of
the algorithm only reapplies the import policy for the routes learned on
该算法仅对
the
associated
相关
eBGP
eBGP 协议
session.
会期。
The
first
第一
phase keeps
相位保持
track
跟踪
of
the prefixes that are affected by the policy change, which allows the second
受策略更改影响的前缀,这允许第二个
phase
阶段
to
reevaluate
评估
the
BGP
边界网关协议
decision
决定
process
过程
only
for
these prefixes. Then,
这些前缀。然后
the
third
第三
phase
阶段
evaluates
评估
the
selection
选择
of
the
egress point
出口点
for
these
这些
destination
目的地
prefixes
前缀
only. In
只。在
fact,
事实
some
一些
of
these
这些
pre- fixes
前缀
might
可能
have
a set
设置
of
egress
出口
points
that
the
third
第三
phase
阶段
has
具有
eval- uated before, allowing the emulator to reuse the result of the ear- lier
之前评估的,允许仿真器重用早期
computation. Together,
计算。一起
these
这些
optimizations
优化
allow
允许
the
emulator to return a quick answer to “what if” questions about incremental
emulator 返回有关 incremental 的 “What if” 问题的快速答案
changes
变化
to
the
network
网络
configuration.
配置。
We
我们
find
找到
that
recomputing the
重新计算
best routes after a single import policy change takes less than one second on average.
更改单个导入策略后的最佳路由平均需要不到 1 秒的时间。

VALIDATION
验证

To verify that the emulator produces correct answers, we per- form validation using complete routing protocol implementations on
为了验证仿真器是否生成正确的答案,我们在
production
生产
routers
路由器
in
a large
operational
操作
network.
网络。
Network
网络
sim- ulators
模拟器
do
not
capture
捕获
the
full
details
of
the
standard
标准
routing
路由
proto- cols,
原始坟墓,
so
所以
it
is
not
useful
有用
to
compare
比较
the
emulator’s
模拟器的
results
结果
with
those of
那些
a simulator.
模拟器。
In
addition,
加法
we
我们
may
五月
be
unaware
知道
of
vendor-specific variations that could affect the accuracy of our results.
可能影响我们结果准确性的特定于供应商的变体。
Since we cannot make arbitrary changes to the network, we run the emula- tor
由于我们不能对网络进行任意更改,因此我们运行 emula- tor
on
individual
个人
snapshots
快照
derived
派生
from
daily
日常
dumps
转 储
of
the
router configuration files, BGP routing tables, and BGP neighbor infor- mation and compare the emulator’s route predictions to what was seen
路由器配置文件、BGP 路由表和 BGP 邻居信息,并将仿真器的路由预测与所看到的进行比较
in
practice. For
实践。为
each
phase of
阶段
the
algorithm,
算法
we
我们
compare
比较
our results to actual BGP tables and present a breakdown of any mis- matches we encounter.
将结果添加到实际的 BGP 表中,并显示我们遇到的任何不匹配的明细。
To isolate the sources of inaccuracy, we evaluate
为了隔离不准确的来源,我们评估
each
module
模块
independently,
独立地
assuming
perfect
完善
inputs
输入
from the previous module; we also perform an end-to-end validation.
来自上一个模块;我们还执行端到端验证。

The emulator generates correct results for more than of the prefixes. Most mismatches can be attributed to the fact the data sets were collected at slightly different times. The analysis focuses on a snapshot of the network state from early morning (EST) on Febru- ary 4, 2003. We validate the prediction algorithm for the 91,554 prefixes whose eBGP routes are learned at peering points to other large providers, since we have routing tables from all of these lo-
仿真器会为多个前缀生成正确的结果大多数不匹配归因于数据集收集时间略有不同。该分析侧重于2003 年 2 月 4 日清晨 (EST) 开始的网络状态快照我们验证了 91,554 个前缀的预测算法,这些前缀的 eBGP 路由是在与其他大型提供商的对等点学习的,因为我们来自所有这些lo-

AS Paths
AS路径

Number

43,434

Attribute Mismatch
属性不匹配

3

Unusual Configuration
异常配置

9

Total Errors
错误数

12 (0.028%)
12元(0.028%)

Routes
路线

1,620,061

36

277

313 (0.019%)
313元(0.019%)

Table
桌子
2: Summary
总结
of
errors
错误
in
applying
应用
import
进口
policy.
政策。

Number
Different
不同
Missing
失踪
Total
Errors
错误

AS Paths
AS路径

43,434

66187
66187

253 (0.582%)
253元(0.582%)

Prefixes
前缀

91,554

120483
120483

603 (0.659%)
603元(0.659%)

Table 3: Mispredictions in the set of best eBGP routes.
3:最佳eBGP路由集中预测错误

cations; we excluded prefixes that were learned at other routers. (Recall that the prediction algorithm relies on knowing all of the potential egress routers where routes to a prefix are learned.) The initial BGP routing data consists of 1,620,061 eBGP-learned routes with 43,434 distinct AS paths. We apply the tool to these inputs and check whether the emulator produces the same answers that the op- erational routers selected. In addition to collecting BGP routing ta- bles from the peering routers (where the eBGP routes are learned), we also collect BGP tables from several route reflectors and access routers to verify the results.
阳离子;我们排除了在其他路由器上学习的前缀。(回想一下,预测算法依赖于了解所有潜在的出口路由器,其中学习了到前缀的路由。初始BGP路由数据1,620,061eBGP 学习路由和43,434不同的AS路径组成我们将该工具应用于这些输入,并检查模拟器是否产生操作路由器选择的相同答案除了对等路由器学习 eBGP路由的地方)收集BGP路由数据我们还多个路由反射器和接入路由器收集BGP以进行验证结果。

Applying Import Policy
应用导入策略

To verify that the first phase correctly emulates the application of import policy, we need only compare the route attributes (i.e., local preference, MED, etc.) in the MODIFIED ROUTES table to the actual BGP routing tables. The MODIFIED ROUTES table contains the routes with attributes modified by applying the import policies specified in the import table to the initial known routes table. Be- cause the prototype uses routing tables to approximate the actual routes received at each router in the AS, we cannot determine what routes were discarded by the import policy. Thus, the emulator can- not emulate the filtering policies specified by import policies, but it can still determine the effects of import policy configurations that set or manipulate route attributes (e.g., for traffic engineering).
要验证第一阶段是否正确模拟了导入策略的应用,我们只需要将 MODIFIED ROUTES 表中的路由属性(即本地首选项、MED 等)与 实际的 BGP 路由表进行比较。MODIFIED ROUTES 表包含通过将导入表中指定的导入策略应用于初始已知路由修改属性路由由于原型使用路由表来近似 AS 每个路由器接收到的实际路由因此我们无法确定导入策略丢弃了哪些路由因此,仿真器无法模拟导入策略指定的过滤策略但它仍然可以确定设置或操作路由属性的导入策略配置的效果(例如,用于流量工程)。

We compare the route attributes between the
我们比较
known routes
已知路线
and
modified routes
修改的路线
tables for all 1,620,061 eBGP routes with 43,434 distinct
所有 1,620,061 个 eBGP 路由(具有 43,434 个不同的路由)的表
AS
paths.
路径。
Table
桌子
2 summarizes
总结
the
results
结果
of
our
我们
validation. The
验证。这
emulator’s
模拟器的
results
结果
matched
匹配
the
route
路线
attributes
属性
seen
明显
in
the
BGP tables
BGP 表
for
all
but
313 eBGP-learned
eBGP 学习
routes
路线
on
12 distinct
不同
AS
paths. We
路径。我们
observed 36 attribute
观察到的 36 属性
mismatches over
不匹配
3 AS
3 个 AS
paths, which can
paths,它可以
likely
可能
be
attributed
由于
to
actual policy
实际策略
changes, since
changes,因为
the
routing
路由
tables
and
the
configuration
配置
files
文件
were
captured
捕获
at
slightly
different
不同
times of
day;
日;
we
我们
verified
验证
this
conclusion
结论
by
inspecting
检查
the
configuration data
配置数据
for
the
next
下一个
day.
日。
The
remaining
剩余
mismatches
错位
involved
涉及
9 unique AS paths because the prototype did not handle a complex config- uration scenario permitted on Cisco routers.
唯一的 AS 路径,因为原型不处理 Cisco 路由器上允许的复杂配置场景。
This accounted for 277
这占了 277
of
the
313 route
路线
mismatches. Overall,
错位。整体
the
first
第一
phase
阶段
produced successful results for more than 99.97% of the cases.
为超过 99.97% 的案例产生了成功的结果。

Computing the Set of Best eBGP Routes
计算最佳eBGP路由

To verify that the second phase correctly computes the set of best eBGP routes, we check that the best route at each eBGP-speaking router as specified by the EGRESS POINTS table corresponds to the route that appears in the routing table of that router’s route reflec- tors. These routes match the vast majority of the time. However, in a few cases, the two routers had different routes (i.e., with differ- ent AS paths), even though one router apparently learned the route directly from the other; these results are summarized in the “Dif- ferent” column in Table 3. The “Missing” column highlights cases where the RR did not have any route for that prefix. Timing incon-
为了验证第二阶段是否正确计算了最佳 eBGP 路由集,我们检查EGRESS POINTS 指定的每个 eBGP 语言路由器上的最佳路由是否对应于该路由器的路由反射的路由表中显示的路由-tors 的这些路线绝大多数情况下都匹配。然而,在少数情况下,两个路由器具有不同的路由(即具有不同的AS路径),即使一个路由器显然直接从另一个路由器学习路由;这些结果总结在 3 “不同”列中“Missing”突出显示RR没有前缀的任何路由的情况时间不一致

Router
路由器

# Predictions
#预测

Case 1
案例1

Case 2
案例2

Case 3
案例3

Total Errors
错误数

Router
路由器

# Predictions
#预测

Case 1
案例1

Case 2
案例2

Case 3
案例3

Total Errors
错误数

RR1

88,865

33

322

21

376 (0.423%)
376人(0.423%)

RR1

89,343

40

459

55

554 (0.620%)
554元(0.620%)

RR2

88,164

33

185

5

223 (0.253%)
223元(0.253%)

RR2

88,647

39

314

41

394 (0.444%)
394元(0.444%)

AR1

88,165

38

178

5

221 (0.251%)
221人(0.251%)

AR1

88,649

44

307

40

391 (0.441%)
391元(0.441%)

AR2

76,547

151

170

37

358 (0.468%)
358元(0.468%)

AR2

76,733

157

283

71

511 (0.666%)
511元(0.666%)

Table 4: Errors in predicting the best egress router. Prefixes predicted incorrectly by the second phase and those where the “right” answer was not a peering router are excluded.
表 4:预测最佳出口路由器的错误。第二阶段错误预测前缀以及 “正确” 答案不是对等路由器的前缀将被排除在外。

sistencies can explain both scenarios, which together account for just over 0.5% of the cases.
sistencies 可以解释这两种情况,它们加起来只占 0.5% 多一点的情况。

To verify that the emulator does not incorrectly exclude routes from the set of best eBGP routes, we check that, for each prefix, the best route at each RR appears in the set of best eBGP routes as computed by the emulator3. In other words, we consider cases where an RR’s best route would have directed traffic towards some egress router that was not contained in the EGRESS POINTS table. Only 1.11% of best routes at RRs for 2% of prefixes fell into this category. Routing dynamics can explain these inconsistencies— through manual inspection, we found that, in many cases, the best route at the RR was clearly worse than the routes in the set of best eBGP routes (e.g., the RR’s best route had the same local prefer- ence but a higher AS path length).
为了验证仿真器不会错误地从最佳 eBGP 路由集中排除路由,我们检查对于每个前缀,每个 RR 的最佳路由是否出现在仿真器3 计算的最佳 eBGP 路由集中换句话说,我们考虑RR的最佳路由会将流量定向 EGRESS POINTS 表中未包含的某个出口路由器。对于 2% 的前缀,RR 中只有 1.11% 的最佳路由属于此类别。路由动态可以解释这些不一致 — 通过手动检查,我们发现,在许多情况下RR的最佳路由明显最佳 eBGP 路由集中路由(例如,RR 的最佳路由具有相同的本地优先级,但 AS 路径长度更高)。

Computing the Best Route at Each Router
计算每个路由器的最佳路由

To verify that the emulator correctly predicts the best egress router,
要验证模拟器是否正确预测最佳出口路由器,
we
我们
examined
检查
the
best
最好
routes
路线
in
BGP
边界网关协议
tables
at
several
几个
routers and
routers 和
compared
比较
the
(destination
(目的地
prefix,
前缀
next-hop)
next-hop)
pair
from
the
rout- ing table with the results in the
路由表,结果位于
PREDICTED
预测
ROUTES
路线
table entry
表条目
for that router.
对于该路由器。
We performed these comparisons at two access routers that connect directly to customers in different geographic locations to verify that the emulator makes correct predictions at ingress
我们在两个直接连接到不同地理位置客户的接入路由器上执行了这些比较,以验证模拟器是否在入口处做出了正确的预测
routers.
路由器。
We
我们
also
analyzed
分析
the
emulator’s
模拟器的
predictions
预测
at
two route
两条路线
reflectors
反射
to
verify
验证
that
the
algorithm
算法
makes
使
correct
正确
route
路线
pre- dictions
教义
as
it
traverses
遍历
the
signaling
信号
graph. The
图。这
best
最好
route
路线
matched our prediction for 99.5-99.7% of the cases, as summarized in Ta- ble
符合我们对 99.5-99.7% 病例的预测,如 Ta- ble 所示
4. At
4. 在
each
router,
路由器
we
我们
excluded
排除
prefixes
前缀
if
如果
the
best
最好
egress
出口
router was not one of the peering routers included in the
router 不是
known routes
已知路线
table (recall that we excluded routers for which we did not have routing tables).
表(回想一下,我们排除了没有路由表的路由器)。
In
these cases, we
这些案例,我们
cannot evaluate whether the al- gorithm
无法评估算法
would
愿意
have
made
the
correct
正确
prediction
预测
because
因为
we
我们
didn’t have the routes from that egress router in the first place.
一开始就没有来自该出口路由器的路由。

We classify the errors among the remaining prefixes in terms of three cases: Case 1: The route at the ingress router does not appear in the MODIFIED ROUTES table and, as such, does not appear in the egress set. Case 2: The route at the ingress router appears in the
我们根据三种情况其余前缀中的错误进行分类案例1:入口路由器路由显示在MODIFIED ROUTES 表中,因此不会显示在出口中设置。案例2:入口路由器路由显示在

MODIFIED ROUTES table but does not appear in the EGRESS POINTS
MODIFIEDROUTES,但显示在出口

table. Case 3: The misprediction has no obvious explanation.
桌子。案例3:预测错误没有明显的解释。

Case 1 errors likely result from timing inconsistencies, where the best route at the ingress router did not exist at the egress router when the routing tables were dumped. Timing inconsistencies can also explain Case 2 errors: for example, an ingress router or a route reflector could have a route that is no longer one of the best eBGP- learned routes; this could happen if a better route arrives at an eBGP-speaking router but has not yet propagated to other routers in the AS. We are unable to explain only 0.05% of the errors.
案例 1 错误可能是由计时不一致引起的,其中路由被转储时,入口路由器的最佳路由出口路由器不存在计时不一致也可以解释情况2的错误:例如入口路由器路由反射器路由可能不再是最好的路由之一eBGP - 学习的路由;如果更好的路由到达讲 eBGP 的路由器,但尚未传播到 AS 中的其他路由器,则可能会发生这种情况。我们无法仅解释 0.05% 的错误。

End-to-End Validation
端到端验证

We performed an end-to-end validation to study the effect of er- ror propagation on the best routes ultimately predicted by the em-
我们进行了端到端验证研究er-ror 传播em- 最终预测的最佳路线的影响

The reverse is not necessarily true. An egress point may have a larger IGP path cost to each of the top-level RRs for certain sets of eBGP routes.
反之亦然对于某些 eBGP 路由集出口到每个顶级 RR 的 IGP 路径开销可能更大

Table 5: Summary of errors for end-to-end validation.
5:端到端验证的错误摘要

ulator. We compared the emulator’s prediction with the same four routing tables used for the validation of the third module, with the exception that the input included the errors from the first two mod- ules. At these four routers, the emulator predicted the correct routes for more than 99% of all prefixes, as summarized in Table 5. We hypothesized that the majority of the mispredicted routes could be explained by the dynamics of the input data. For example, if the best route at an eBGP-speaking router were temporarily withdrawn at the time that the route reflector table was captured, inconsisten- cies between routing tables could arise4.
ulator 的我们将仿真器的预测用于验证第三个模块相同四个路由表进行了比较不同之处在于输入包括来自两个模块的错误。4个路由器上,仿真器预测超过 99% 的前缀的正确路由,如表 5 所示。我们假设大多数预测错误的路线可以用输入数据的动态来解释。例如,如果在捕获路由反射器暂时撤回讲 eBGP 的路由器的最佳路由,则路由表之间可能会出现不一致 4

These results suggest that the algorithm we have proposed is ac- curate: prediction errors are infrequent and result mainly the dy- namics of the inputs. Since most prefixes whose routes change frequently do not receive much traffic [11], these inconsistencies would certainly not prevent the emulator from being used for traf- fic engineering tasks.
这些结果表明我们提出的算法准确的:预测误差很少见,主要导致输入的动态。由于大多数路由频繁更改的前缀不会收到太多流量 [11],因此这些不一致肯定不会阻止仿真器用于贸易工程任务。

RELATED WORK
相关工作

Previous work presented an IGP emulator that helps network operators optimize link weights for intradomain traffic engineer- ing [3], but this emulator does not model changes to BGP routing policies or the effects of iBGP on path selection. There has also been much focus on modeling BGP convergence [9, 15], but this is the first paper to model BGP route selection.
以前的工作提出了一个 IGP 仿真器,它可以帮助网络运营商优化域内流量工程的链路权重 [3],但该仿真器没有对 BGP 路由策略的更改或 iBGP 对路径选择的影响进行建模。人们非常关注BGP收敛进行建模[9,15],这是第一篇对 BGP 路由选择进行建模的论文。

Recent work proposes efficient techniques for large-scale param- eter optimization for various network protocols, including the tun- ing of the local preference attribute in BGP [16]. This work is com- plementary to ours—the proposed search techniques could use our emulator as the “inner loop”. These techniques currently use sim- ulators such as SSFNet [7], but they only depend on the outcome of BGP path selection (not on dynamics) and would likely benefit from having an efficient, accurate emulator as an inner loop.
最近的工作提出了针对各种网络协议大规模参数优化的有效技术包括BGP 调整本地首选项属性[16]。这项工作与我们的工作相成——提议搜索技术可以使用我们的模拟器作为“内部循环”。这些技术目前使用诸如 SSFNet [7] 之类的仿真器,但它们仅取决于BGP路径选择的结果(而不是动态),并且可能会受益于拥有高效、准确的仿真器作为内部循环。

The BGP model in this paper applies several previous theoreti- cal results in new ways. The constraints for iBGP configuration that we present in Section 3 are motivated by previously-derived suffi- cient conditions for iBGP to guarantee that the routing protocols converge to a stable, deflection-free path assignment [12, 17]. This work specified these conditions to ensure correct routing behavior, but these constraints are also required to model BGP routing. The third phase of the route prediction algorithm also uses results from previous work. We applied a constructive proof regarding stable inter-AS policy configurations [15] to iBGP configuration and used this proof as the basis for the third phase of the algorithm.
本文中的 BGP 模型以新的方式应用了以前的几个理论结果我们在3中介绍iBGP配置的约束是由先前得出的 iBGP 的充分条件驱动的,以保证路由协议收敛稳定、无偏转路径分配[12,17]。这项工作指定了这些条件以确保正确的路由行为,但BGP 路由进行建模也需要这些约束路线预测算法第三阶段使用了以前工作的结果。我们将关于稳定的 AS 间策略配置 [15] 的建设性证明应用于 iBGP 配置,并将该证明用作算法第三阶段的基础。

Recent work explores practical traffic engineering techniques in BGP and assumes the existence of a BGP emulator for testing traf- fic engineering techniques offline [8]. We previously proposed a high-level architecture for a BGP emulator, including the decom- position in Figure 3 and the second phase of the algorithm [13]. In this paper, we present the complete design of each phase of the al- gorithm (including more detailed analysis of the second phase) and
最近的工作探索了BGP 中的实际流量工程技术假设存在用于离线测试交易工程技术的 BGP仿真器 [8]。我们之前提出了 BGP 仿真器的高级架构,包括3中的分解算法第二阶段[13]。在本文中我们介绍了算法阶段的完整设计(包括第二阶段详细分析

To evaluate our hypothesis, we analyzed a feed of iBGP update messages collected on the same day. More than 45% of the prefixes with incorrect predictions had a BGP routing change during the data collection period at the same router where the apparent mismatch occurred, and 83% of the prefixes experienced an update at some router in the AS during this period.
为了评估我们的假设,我们分析当天收集iBGP更新消息的源在发生明显不匹配的同一路由器的数据收集期间,超过 45% 的预测错误的前缀发生了BGP 路由更改,并且 83% 的前缀在此期间AS中的某个路由器上经历了更新

argue why this decomposition models the route selection process correctly. We also describe the design and implementation of an emulator based on all three phases of this algorithm and present an evaluation and validation.
争论为什么这种分解正确地模拟了路由选择过程。我们还介绍了基于算法的所有三个阶段的仿真器的设计和实现提供了评估和验证。

CONCLUSION
结论

To perform everyday network engineering tasks effectively, effi- ciently, and with minimal unnecessary changes to the live network, operators need a way to model how a routing protocol configura- tion will behave before deploying that configuration. In this paper, we have presented a model that accurately and efficiently predicts the outcome of the BGP route selection process in a single AS us- ing only a snapshot of the network configuration and the eBGP- learned routes from neighboring domains. The algorithm we have presented is the first that models the outcome of the BGP decision process across every router in an AS, without simulating protocol dynamics. We have implemented an emulator based on this model to demonstrate that our algorithm is accurate and efficient enough to be used in practice for many network engineering tasks.
为了有效、高效地执行日常网络工程任务尽量减少实时网络的不必要更改,运营商需要一种方法来在部署路由协议配置之前对路由协议配置的行为进行建模在本文中,我们提出了一个模型,该模型仅使用网络配置的快照和来自相邻域的 eBGP 学习的路由即可准确 有效地预测单个ASBGP路由选择过程的结果我们介绍算法第一个AS 中每个路由器的 BGP 决策过程结果进行建模的算法,而无需模拟协议动态。我们基于模型实现了一个仿真器以证明我们的算法足够准确和高效,可以在实践中用于许多网络工程任务。

The model we have presented is a necessary step for advancing the state of the art of network engineering. We believe that our model and BGP emulation tool present several immediate possi- bilities for future work. First, network-wide BGP route prediction could be combined with traffic measurements to help network oper- ators select BGP configuration changes that achieve various traffic engineering tasks. Second, the emulator could be combined with higher-level mechanisms that spot misconfiguration or check that other constraints, such as robustness, are satisfied [18].
我们提出的模型是推进网络工程技术水平的必要步骤。我们相信,我们的模型和 BGP 仿真工具为未来的工作提供了几种直接的可能性首先,网络范围的 BGP路由预测可以与流量测量相结合以帮助网络运营商选择完成各种流量工程任务BGP配置更改其次,仿真器可以与更高级别的机制相结合,以发现错误配置或检查是否满足其他约束条件,例如健壮性 [18]。

Finally, we note that modeling BGP routing is much more diffi- cult than it should be. In the future, we hope that routing protocol designers will consider ease of modeling as a design goal. Rout- ing protocols that are easy to model and reason about will make everyday network engineering tasks more tractable.
最后,我们注意到BGP路由建模应有的困难得多未来,我们希望 routing 协议设计人员将易于建模作为设计目标。易于建模和推理的路由协议将使日常网络工程任务更易于处理。

Acknowledgments
确认

Thanks to Joel Gottlieb, Tim Griffin, and Carsten Lund for their help with the router configuration data, and Glenn Fowler for his routing table parser. We also thank Magdalena Balazinska, Greg Harfst, Carsten Lund, Stan Rost, Aman Shaikh, and Renata Teix- eira for their comments on a draft of this paper.
感谢 Joel Gottlieb、Tim Griffin 和 Carsten Lund 对路由器配置数据的帮助,感谢 Glenn Fowler 的路由表解析器。我们还感谢 Magdalena Balazinska、Greg Harfst、Carsten Lund、Stan Rost、Aman Shaikh 和 Renata Teix- eira 对本文草案的评论。

REFERENCES
引用

D. O. Awduche, A. Chiu, A. Elwalid, I. Widjaja, and
D.O.AwducheA.ChiuA.ElwalidI.Widjaja

X. Xiao, “Overview and principles of Internet traffic engineering.” Request for Comments 3272, May 2002.
X. Xiao,“Internet 流量工程概述和原则”。征求意见 3272,2002 年 5 月

B. Fortz, J. Rexford, and M. Thorup, “Traffic engineering with traditional IP routing protocols,” IEEE Communication Magazine, October 2002.
B. Fortz、J. Rexford 和 M. Thorup,“使用传统IP路由协议的流量工程”,IEEE通信杂志,2002 年 10 月。

A. Feldmann, A. Greenberg, C. Lund, N. Reingold, and
A.FeldmannA.GreenbergC.LundN.Reingold

J. Rexford, “NetScope: Traffic engineering for IP networks,”
J.Rexford“NetScope:IP网络的流量工程,”

IEEE Network Magazine, pp. 11–19, March 2000.
IEEE网络杂志,第 11-19 页,2000 年 3 月

“Cariden.” http://www.cariden.com/, 2003.
“卡里登。”http://www.cariden.com/2003 年。

“MainStation.” http://www.makesystems.com/
“MainStation。” http://www.makesystems.com/

products/MainStation.html, 2003.
products/MainStation.html,2003 年。

“A Border Gateway Protocol 4 (BGP-4).” Internet Draft draft-ietf-idr-bgp4-23.txt, work in progress, November 2003.
“边界网关协议 4 (BGP-4)。”Internet 草案 draft-ietf-idr-bgp4-23.txt,正在进行中,2003 年 11 月

“SSFNet.” http://www.ssfnet.org/, 2003.
“SSFNet。”http://www.ssfnet.org/2003 年。

N. Feamster, J. Borkenhagen, and J. Rexford, “Guidelines for interdomain traffic engineering,” ACM Computer Communication Review, vol. 33, October 2003.
N.Feamster、J.BorkenhagenJ.Rexford“域间流量工程指南”,ACM Computer Communication Review,第 33 卷,2003 年 10 月。

T. Griffin, F. B. Shepherd, and G. Wilfong, “The stable paths problem and interdomain routing,” IEEE/ACM Trans. Networking, vol. 10, no. 1, pp. 232–243, 2002.
T.GriffinF.B.Shepherd G.Wilfong,稳定路径问题和域间路由”,IEEE/ACM Trans. Networking,第 10 卷,第 1 期,第 232-243 页,2002 年。

C. Labovitz, A. Ahuja, and F. Jahanian, “Experimental study of Internet stability and wide-area network failures,” in Proc. Fault Tolerant Computing Symposium, June 1999.
C.LabovitzA.Ahuja F.Jahanian,互联网稳定性广域故障的实验研究”,载于错计算研讨会论文集,1999 年 6 月。

J. Rexford, J. Wang, Z. Xiao, and Y. Zhang, “BGP routing stability of popular destinations,” in Proc. Internet Measurement Workshop, November 2002.
J.RexfordJ.WangZ.Xiao Y.Zhang“热门目的地的 BGP 路由稳定性”,互联网测量研讨会论文集,2002 年 11 月。

T. G. Griffin and G. Wilfong, “On the correctness of IBGP configuration,” in Proc. ACM SIGCOMM, August 2002.
T.G.GriffinG.Wilfong“关于 IBGP 配置的正确性”,ACM SIGCOMM 论文集,2002 年 8 月。

N. Feamster and J. Rexford, “Network-wide BGP route prediction for traffic engineering,” in Proc. Workshop on Scalability and Traffic Control in IP Networks, SPIE ITCOM Conference, August 2002.
N. Feamster 和 J. Rexford,“用于流量工程的网络范围 BGP 路由预测”,IP 网络可扩展性流量控制研讨会论文集SPIEITCOM 会议,2002 年 8 月。

A. Feldmann, A. Greenberg, C. Lund, N. Reingold,
A.Feldmann,A.Greenberg,C.Lund,N.Reingold

J. Rexford, and F. True, “Deriving traffic demands for operational IP networks: Methodology and experience,” IEEE/ACM Trans. Networking, vol. 9, June 2001.
J. Rexford 和 F. True,“推导运营 IP 网络的流量需求方法经验”,IEEE/ACM Trans. Networking,第 9 卷,2001 年 6 月。

L. Gao and J. Rexford, “Stable Internet routing without global coordination,” IEEE/ACM Trans. Networking, vol. 9,
L. Gao 和 J. Rexford,“无需全球协调的稳定互联网路由”,IEEE/ACMTrans.Networking vol.9

pp. 681–692, December 2001.
681-692 页,2001 年 12 月

T. Ye, H. T. Kaur, and S. Kalyanaraman, “A recursive random search algorithm for large-scale network parameter configuration,” in Proc. ACM SIGMETRICS, June 2003.
T. Ye、H. T. Kaur 和 S. Kalyanaraman,“用于大规模网络参数配置的递归随机搜索算法”,ACM SIGMETRICS 论文集,2003 年 6 月。

T. G. Griffin and G. Wilfong, “Analysis of the MED oscillation problem in BGP,” in Proc. International Conference on Network Protocols, November 2002.
T.G.GriffinG.Wilfong“BGPMED 振荡问题的分析”,载于2002 年 11 月国际网络协议会议论文集

N. Feamster, “Practical verification techniques for wide-area routing,” in 2nd ACM Workshop on Hot Topics in Networks, November 2003.
N.Feamster“广域路由实用验证技术”,2 届ACM网络热点主题研讨会,2003 年 11 月。