PDP Implementation V'1'0 - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

PDP Implementation V'1'0

Description:

RuleDomain (char[]) // domain which this rule apply to. RuleName (char[]) // name of the rule ... Ordered linked list based on rule priority. ... – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 23
Provided by: Kev8110
Category:

less

Transcript and Presenter's Notes

Title: PDP Implementation V'1'0


1
PDP Implementation V.1.0
  • Dongming Wang

2
Switch On
  • Initialization
  • Policy Repository
  • PIB
  • MIB
  • Read topology file
  • To know which routers and hosts are in the same
    domain
  • To know which are border routers or core routers,
    and how they are connected. Therefore,determine
    if there exist a satisfied route for admitted
    RSVP request.
  • To know how to send provisioning/signaling
    decision to routers. For instance IP
    address,port

3
Contd
  • Provisioning
  • Read all the provisioning policy rules from
    repository and apply to all routers based on role
    combination.

4
Function Interface to Repository
5
Provisioning Rule Struture
  • For Each Rule, therere following elements
  • RuleDomain (char) // domain which this rule
    apply to
  • RuleName (char) // name of the rule
  • RuleUsage (char) // describe the usage of this
    rule
  • RuleRoleList (object) // role of the rule, same
    rule is possible to play as more than one roles,
    so use object implemented by link list
  • RulePriority (int) // priority of rule
  • RuleValidityPeriodList (object) // valid time
    period for the rule, same rule is possible to be
    valid in more than one time period, so use object
    implemented by link list
  • Practions (object) // action if this rule is
    chosen, same rule could have more than one
    actions, so use object implemented by link list
    (More Details on next slide)

6
Provisioning Action Struture
  • For Each Practions Object (see previous page),
    therere following elements
  • Name (char) // name of the action
  • Direction (char) // 0IN 1OUT
  • SetDSCPValue (char) // range to be defined in
    accordance with predefined PHBs
  • Meter (object) // Installs a reusable meter with
    the action
  • MeterScope (char) // FLOW/INTERFACE/DEVICE
  • PRTrfcprof (object) // DiffServ traffic profile
  • OutofProfileAction (char) // 0shape 1discard
    2remark
  • OOProfileRemarkValue (char) // If
    OutofProfileAction2, then set SetDSCPValueOOProf
    ileRemarkValue

7
Provisioning Meter Struture
  • For Each Meter Object (see previous page),
    therere following elements
  • Name (char) // name of the meter
  • Prid (int) // reference to the row of PIB
  • DataSpecification (int) // committed only
  • CommitedRate (int) // byte/sec, same as
    tokenrate in rsvp profile
  • CommitedBurst (int) // bytes, same as bucketsize
    in rsvp profile
  • PeakRate (int) // NOT USED, same as peakrate in
    rsvp profile
  • PeakBurst (int) // NOT USED, same as bucket size
    in rsvp profile
  • HighConfAction (int) // premium service
  • MedConfAction (int) // discarding
  • LowConfAction (int) // NOT USED

8
Provisioning Rule Preparation
  • All returned rules from repository are formed as
    a linked list
  • Reform the linked list
  • Rules playing the same role linked together
  • Ordered linked list based on rule priority.
  • Lower Priority rules should be installed earlier,
    so that higher priority rules can overwrite lower
    priority rules

9
Contd
10
Deploy Provisioning Rules
  • Scan one rule on the linked list
  • Map its format to COPS interface function format.
    (need to check)
  • Get the topology info (IP address, port etc.)
    about the routers for each rule
  • Call COPS interface to send out the configuration
    info.
  • Upon the receipt of feedback for each
    successfully installed rule, store configuration
    info for this rule in PIB. (need talk to chanmin
    park for PIB format)

11
Questions for Provisioning?
  • If we need to store both policy rules instances
    and configuration info inside PIB?
  • How to implement the rules with time condition?

12
Signaling
  • Wait for request from host
  • Once COPS coming in containing user ID info and
    RSVP FLOW SPEC, PDP will call COPS interface
    function to get all the data.
  • Call ps_rep_policyquery(domain,user,flowspec),
    and get all policies regarding this request.
  • Policy-based Admission Control
  • Install configuration for admitted request

13
User ID Structure
  • User Information
  • SourceIP (char) //The source IP address of the
    transmission.
  • SourcePort (int) //The source Port of the
    transmission.
  • DestinationIP (char) //The Destination IP
    address.
  • DestinationPort (int) //The Destination Port.
  • IPProtocol (int) //The IP protocol number.
  • ToS (int) //The IP Header ToS byte.
  • DSCP (int) //The IP header DSCP byte or to
    DCLASS RSVP object
  • DestinationMac (char ) //Destination MAC address
  • SourceMac (char ) //Source MAC address

14
User ID Structure (contd)
  • 8021QID (int) //The VLAN ID as represented in
    the 802.1Q field of the header
  • Snap (int) //The protocol type carried over
    SNAP encapsulation
  • Ethertype (int) //The frame header ethertype
    value
  • Ssap (int) //The frame header field containing
    the source SAP
  • Dsap (int) //The frame header field containing
    the destination SAP
  • Application (char ) //The ID of the application
    that generated the flow
  • User (char ) //The ID of the user that
    initiated the flow , or is designated as the flow
    owner

15
RSVP FLOWSPEC Structure
  • RSVP Flowspec
  • TokenRate (int) // in bits/sec.
  • TokenBucketSize (int) // in bytes.
  • PeakBandwidth (int) // in bits/sec.
  • Latency (int) // in microsecs.
  • DelayVariation (int) // in microsecs.
  • ServiceType (int) // 0Guaranteed 1Controlled
    Load 2Best Effort
  • MaxSduSize (int) // in bytes.
  • MinPolicedSize (int) // in bytes.

16
Signaling/RSVP Rule Struture
  • For Each Rule, therere following elements
  • RuleDomain (char) // domain which this rule
    apply to
  • RuleName (char) // name of the rule
  • RuleUsage (char) // describe the usage of this
    rule
  • RulePriority (int) // priority of rule
  • RuleConditionList (object) // all conditions for
    this rule, rule is valid only if all conditions
    are met (More Details on following slide)
  • RSVPactions (object) // action if this rule is
    chosen, same rule could have more than one
    actions, so use object implemented by link list
    (More Details on following slide)

17
Condition Structure
  • For Each Condition, therere following elements
  • Name (char) // name of the condition
  • Op (int) // Index to operator
  • Var (int) // Index to variable name
  • Value (char ) // matching value for variable

// CONDITION SECTION Variables (numbered 1 to
50) // User Information (static) define
PS_REP_CV_SourceIP 1 define PS_REP_CV_SourcePort
2 define PS_REP_CV_DestinationIP 3 define
PS_REP_CV_DestinationPort 4 define
PS_REP_CV_IPProtocol 5 define
PS_REP_CV_ToS 6 define PS_REP_CV_DSCP 7 define
PS_REP_CV_DestinationMac 8 define
PS_REP_CV_SourceMac 9 define PS_REP_CV_8021QID
10 define PS_REP_CV_Snap 11 define
PS_REP_CV_Ethertype 12 define
PS_REP_CV_Ssap 13 define PS_REP_CV_Dsap 14 def
ine PS_REP_CV_Application 15 define
PS_REP_CV_USER 16
//Flowspec (Static) define PS_REP_CV_TokenRate 1
7 define PS_REP_CV_TokenBucketSize 18 define
PS_REP_CV_PeakBandwidth 19 define
PS_REP_CV_Latency 20 define PS_REP_CV_DelayVaria
tion 21 define PS_rEP_CV_ServiceType 22 define
PS_REP_CV_MaxSduSize 23 define
PS_REP_CV_MinPolicedSize 24 // Operators define
PS_REP_OP_Assignment 1 define
PS_REP_OP_Match 2 define PS_REP_OP_Not_Match 3
define PS_REP_OP_INSET 4 define
PS_REP_OP_NOTINSET 5
18
Signaling/RSVP Rule Preparation
  • Originally returned rules are formed a linked
    list
  • Check if one rule is met by matching all the
    conditions inside this rule. If one rule is
    invalid, it is deleted from the linked list
  • Final linked list has all valid rules
  • Sort linked list in ascending order, so higher
    priority rules can overwrite lower priority rules

19
Signaling/RSVP Action Structure
  • For Each valid rule, theres a corresponding
    action for it. Therere following elements inside
    each action
  • RSVPDirection (char) // 0IN 1OUT
  • RSVPMessType (char) // 0Path 1Resv 2Patherr
    3Resverr
  • RSVPServiceType (char) // 0Guaranteed Service
    1Controlled Load 2NULL
  • RSVPStyle (char) // 0SE 1WF 2FF
  • RSVPMeter (object) // Installs a reusable meter
    with the action.
  • RSVPMeterScope (char) // FLOW / INTERFACE /
    DEVICE
  • RSVPTrfcProf (object) // RSVP traffic profile
  • RSVPCtrlAction (object) // RSVP Control Action
  • RSVPInstallAction (object) // Actual policy
    install action.

20
RSVP Control Action Structure
  • For Each RSVP Control Action, therere following
    elements
  • name (char) // name of the control action
  • ForwardingMode (int) //
  • SendError (int) // 0no1yes
  • ReplaceDSCP (int) // not used
  • ReplacePreemptionPriority (int) // not used
  • ReplaceDefendingPriority (int) // not used

21
RSVP Install Action Structure
  • For Each RSVP Install Action, therere following
    elements
  • Name (char) // name of the install action
  • SetDSCPValue (char) // MARKER!
  • SetPreemptionPriority (int) // used to judge
    priority on incoming action
  • SetDefendingPriority (int)

22
Questions for Signaling
  • How to select route after knowing which routers
    have enough capacities for this user request?
Write a Comment
User Comments (0)
About PowerShow.com