P4P: Proactive Provider Assistance for P2P

Download Report

Transcript P4P: Proactive Provider Assistance for P2P

P4P Implementation
Yale LANS
P4P Portal Services

Location Portal Service

pDistance Portal Service

Two services because


Different functionalities
Different update time-scales

location large but more stable
Location Portal Service

Allows an ISP to aggregate the Internet
address space to define its own “myInternet” view


Highly preferred by ISPs during our field tests
The “my-Internet” view of an ISP consists
of a set of PIDs (partition IDs)
PID

A PID denotes a set of network locations

A generalization of network aggregation
concepts such as autonomous system (AS) or
intradomain routing area

Can denote aggregation such as


a subnet, a point of presence (PoP), a type of customers (dsl
vs fiber), an AS, or a set of ASes
May define hierarchical PIDs, but focus on one
level so far
“My-Internet” View of isp1: an Example
pid4.intra.isp1
pid5.exter.isp1
pid1.intra.isp1
pid6.exter.isp1
pid2.intra.isp1
pid7.exter.isp1
pid3.intra.isp1
Implementation: Interfaces Defined in
the Location Portal Service

GetPID



(MUST)
IP address → PID
A list of IP addresses → their corresponding PIDs
GetPIDMap



(SHOULD)
PID → list of IP prefixes/ASNs belonging to the
PID
A list of PIDs → their corresponding PID Maps
Null → PID Maps for all PIDs
pDistance Portal Service

The pDistance Portal Service allows an ISP
to define the pDistance for any given pair of
network locations

network location: IP address/PID


If input is a pair of IP addresses, the ISP may either
return more precise metric, or internally map IP
addresses to PIDs and then return metric
pDistance: path metric distance, provider distance
pDistance

Semantics of pDistance depends on

Ordinal or numerical (default) pDistance

Type of pDistance, e.g.,



Routing Hop-Count pDistance
Routing Air-Mile pDistance
Routing Cost pDistance (default if not indicated)
Example: Routing Cost pDistance of isp1
f(BGP local pref., AS_PATH, …)
Multihoming cost opt. dual
pid4
pid5
pid1
pid6
pid2
pid7
pid3
OSPF path cost;
TE dual variables
Implementation: Interface Defined in
the pDistance Portal Service

GetpDistance


(MUST)
[a pair of network locations, and optionally type of
pDistance] → pDistance value
[A set of pairs of network locations and optionally
type of pDistance] → pDistance values
How May a P2P Application Use
these P4P Portal Services?

This depends on the applications

It is a place for application innovation
Example: Tracker-Based

The tracker resolves the PIDs of clients

By using PID Maps

The tracker uses a peering weight matrix to
select initial peers for a new client

Peering weight matrix computed according
to channel state and pDistance matrix
Tracker ISP Data Structures
ISPPIDMap
PIDMap
PIDMapPortalAPI
ISPPDistanceMap
PDistanceMap
PDistanceMapPortalAPI
ISP 1
ISP M
Per Channel Data Structures

A list of ISPs maintained for the channel

An ISPView for each maintained ISP


An ISP view partitions the peers in the channel
according into peer groups
A PeeringGuidance matrix guides how to select
peers from the peer groups,

e.g., for a peer in peer group 1, how many peers to
select from group 1, from group 2, …
Per Channel Data Structures
Peer
Group1
Peer
Group2
Peer
Group 3
Peer
Group 4
isp1
ispK
Per Channel Data Structures: Peer
Group by PID
pid1
list of clients in pid1
pid7
list of clients in pid7
peering weight matrix
total
intra
ISP
pid1
pid2
pid3
pid4
pid
1
pid
2
pid
3
pid
4
pid
5
pid
6
pid
7