Traffic Engineering Flashcards
Traffic Engineering
Process of re configuring the network the network in response to changing traffic loads to achieve operational goal
3 steps of traffic engineering
Measure, Model, Control
Traffic Optimization
Input Network Graph (nodes / links) Traffic matrix (router to router)
Output
Set of link weights for optimizing routes
Objective Function
Traffic optimization goal
Interdomain TE goals
Predictability
Limit neighbor influence
Reduce routing change overhead
Achieving Interdomain TE goals
Predict -> no globally visible changes
Neighbor Influence -> Consistent adverts
Reduce overhead -> group prefixes
Data Center Characteristics
Multi tenancy
Elastic Resources
Flexible service management
Data Center Topology
Core Layer (top) Aggregation Layer (middle) Access Layer (bottom)
Scale Problem
Core layer sees significantly greater amounts of traffic than access layer
Pseudo MAC addresses
Allows creation of hierarchical network
Intercept ARP maps MACs to pseudo MACs
Valiant Load Balance
Servers randomly select intermediate connection point to spread traffic out across servers in a data center
Jellyfish topology
Random Regular Graph
Random: randomly selected from regular graphs
Regular: Each node has same degree
Graph: Switches are nodes
Jellyfish Goals
More servers reachable along shorter paths
TE what can be measured
Link saturation
Latency
Cost
TE implement control
Adjust link weights to change traffic flows
Use SDN to control routes
How do pods and pseudo MACs improve scalability
They allow the creation of hierarchy on a flat network
Allows smaller switch tables because only pseudo MACs (pod IDs) need to be stored
Jellyfish advantages
Network load balancing
Higher capacity
Shorter paths
incremental expansion
Jellyfish disadvantages
Does not handle heterogenous devices well
Potential long calbe runs between devices
PortLand Fabric Manager
Fabric Manager responsible for maintaining network configuration soft state
Soft state performs ARP, multicast, fault tolerance
Fabric Manager is a user process running on a dedicated machine
Pseudo MAC process
Components
pod, position, port, VM ID
Provides hierarchical structure to decrease switch port tables
Jellyfish generation
N = Number of switches k = number ports per switch r = number ports used to connect to switches
Random Regular Graph(N,k,r)