Using the Network Layering DAG CS 118 Computer Network Fundamentals Peter Reiher Lecture 13 CS 118 Page 1 Winter 2016
Outline • The DAG – A closer look at tables – A closer look at directed links – A closer look at FSMs and their state – Optimizations and equivalences • DAG walks Lecture 13 CS 118 Page 2 Winter 2016
Reminder • This is an conceptual approach – There’s no common implementation approach – Most code is designed as a fixed structure • And what are shown as a separate tables and FSM state is often mangled together – There are programmable communication systems • That COULD be programmed like this • E.g., Netgraph, Click Lecture 13 CS 118 Page 3 Winter 2016
Another reminder • The DAG describes motion through network layers • Not motion between network nodes • Each node on a path has its own DAG of this type – Simple or complex Lecture 13 CS 118 Page 4 Winter 2016
The DAG • Components – Nodes – Arcs • Rules (constraints) Lecture 13 CS 118 Page 5 Winter 2016
10,000 ft view Rec. block • Alternating nodes stream Stream stream DNS AAAA DNS->IPv6 DNS txt DNS A DNS->O-ID DNS->IPv4 – FSM + state Soft state tunnel Soft state Hard state TCP conn. Delta-T packet – Tables 64tun cfg IPv6->IPv4 Hard state Hard state packet WDM link WDM link packet packet OSPF sBGP BGP IPv4->IPv4 IPv4->IPv4 IPv4->IPv4 • Directed arcs Legend – With rules governing Service type packet Update protocol ARP From->To IPv4->E-mac what they connect WDM ID=3 E-net Id=45 Lecture 13 CS 118 Page 6 Winter 2016
Components • Tables • FSMs and their state • Directed links Lecture 13 CS 118 Page 7 Winter 2016
Tables stream • Name translation DNS->IPv4 DNS A – Bridge identities between layers – …which indicates choices of layers (or not) – …which indicates network paths Lecture 13 CS 118 Page 8 Winter 2016
For example, Rec. block stream stream DNS->IPv4 DNS A Stream stream DNS AAAA DNS->IPv6 DNS txt DNS A DNS->O-ID DNS->IPv4 Soft state tunnel Soft state Hard state TCP conn. Delta-T packet 64tun cfg This table translates the IPv6->IPv4 DNS name to an IPv4 name Hard state Hard state packet WDM link WDM link packet packet We could have chosen tables OSPF sBGP BGP IPv4->IPv4 IPv4->IPv4 IPv4->IPv4 that translate the DNS name Legend to an IPv6 or OID name Service type packet Update protocol ARP From->To IPv4->E-mac Implying different layer WDM ID=3 choices E-net Id=45 And different paths through the network Lecture 13 CS 118 Page 9 Winter 2016
FSMs and their state • Represents the protocol TCP conn. Hard state – State • Representing a running FSM – Waiting for • Tape-in (from FSM above, i.e., “upper layer”) • Messages (from FSM below, i.e., “lower layer”) • Timer events – Emitting • Tape-out (to FSM above, i.e., “upper layer”) • Messages (to FSM below, i.e., “lower layer”) – Rules • Governing the relation of the above Lecture 13 CS 118 Page 10 Winter 2016
For example, Rec. block A TCP finite state machine stream Stream stream DNS AAAA The layer above provided an DNS->IPv6 DNS txt DNS A DNS->O-ID DNS->IPv4 IPv4 address (name) and a Soft state tunnel TCP conn. Hard state Soft state Hard state TCP conn. Delta-T DNS name (msg) packet 64tun cfg IPv6->IPv4 It will emit messages to the Hard state Hard state packet WDM link WDM link packet packet lower layer OSPF sBGP BGP IPv4->IPv4 IPv4->IPv4 IPv4->IPv4 Legend The lower layer will eventually Service type packet Update protocol ARP provide a response from the From->To IPv4->E-mac DNS server WDM ID=3 Which the TCP layer will emit E-net Id=45 to the upper DNS layer Lecture 13 CS 118 Page 11 Winter 2016
Directed links • Describe relationships between – Running FSMs (protocols in progress) • Including “users” (information source/sink) • Including links (physical information conduits) – Translation tables Lecture 13 CS 118 Page 12 Winter 2016
For example, Rec. block stream Stream stream DNS AAAA DNS->IPv6 DNS txt DNS A DNS->O-ID DNS->IPv4 Soft state tunnel Soft state Hard state TCP conn. Delta-T packet 64tun cfg IPv6->IPv4 Describes relationship between DNS � IPv4 table and TCP FSM Hard state Hard state packet WDM link WDM link packet packet OSPF sBGP BGP IPv4->IPv4 IPv4->IPv4 That table outputs serve as IPv4->IPv4 inputs to TCP FSM Legend Service type packet Update protocol ARP From->To IPv4->E-mac WDM ID=3 E-net Id=45 Lecture 13 CS 118 Page 13 Winter 2016
Rules (graph constraints) • Structure • Nodes • Links • Paths Lecture 13 CS 118 Page 14 Winter 2016
Node rules • Table rules – Root tables – Leaf tables – Other tables • FSM + state rules Lecture 13 CS 118 Page 15 Winter 2016
Root table rules • Table just below the “user FSM” – User FSM represents input/output to the communication system – User FSM isn’t really part of the system – “User” is not necessarily a human user • Translates user-provided names to the first protocol name – User-provided names are local to the OS Lecture 13 CS 118 Page 16 Winter 2016
For example, Rec. block stream DNS->IPv4 DNS A stream Stream stream DNS AAAA DNS->IPv6 DNS txt DNS A DNS->O-ID DNS->IPv4 Soft state tunnel Hard state Soft state TCP conn. Delta-T packet 64tun cfg IPv6->IPv4 The user or application provides a DNS name Hard state Hard state packet packet WDM link WDM link packet OSPF sBGP BGP IPv4->IPv4 IPv4->IPv4 IPv4->IPv4 This table translates the Legend DNS name to an IPv4 Service type packet Update protocol ARP IPv4->E-mac From->To name For the use of the next WDM ID=3 E-net Id=45 protocol down (TCP, here) Lecture 13 CS 118 Page 17 Winter 2016
Leaf table rules • Table just above the “link FSM” – Link FSM represents input/output to the physical link – Link FSM is the only part that’s “real” (all else is emulated) • Translates – Protocol names to physical encodings – Computation to communication Lecture 13 CS 118 Page 18 Winter 2016
For example, Rec. block This table translates the stream IPv4 address to an Stream stream DNS AAAA DNS->IPv6 DNS txt DNS A DNS->O-ID DNS->IPv4 Ethernet MAC address Soft state tunnel Hard state Soft state TCP conn. Delta-T packet 64tun cfg IPv6->IPv4 Which the leaf protocol Hard state Hard state can use to physically send packet packet WDM link WDM link packet OSPF sBGP BGP IPv4->IPv4 IPv4->IPv4 IPv4->IPv4 a message across an Legend packet Service type Ethernet channel IPv4->E-mac packet ARP Update protocol ARP IPv4->E-mac From->To WDM ID=3 E-net Id=45 Lecture 13 CS 118 Page 19 Winter 2016
Intermediate table rules • All other tables except root and leaf – Represents message in/out to FSM above – Represents tape-in/-out to FSM below • Translates – Names in FSM above to names in FSM below Lecture 13 CS 118 Page 20 Winter 2016
FSM + state rules • FSM represents the protocol – Operates in a single namespace • Real FSMs (part of the system) – Matches names in table above AND table below • Virtual user FSM (top/root) – Represents system in/out • Virtual link FSM (bottom/leaf) – Represents a physical link Lecture 13 CS 118 Page 21 Winter 2016
For example, A virtual user FSM Rec. block stream Stream stream DNS AAAA DNS->IPv6 DNS txt DNS A DNS->O-ID DNS->IPv4 Soft state tunnel TCP conn. Hard state Hard state Soft state TCP conn. Delta-T A real FSM packet 64tun cfg IPv6->IPv4 Hard state Hard state packet packet WDM link WDM link packet OSPF sBGP BGP IPv4->IPv4 IPv4->IPv4 IPv4->IPv4 Legend Service type packet Update protocol ARP IPv4->E-mac From->To A virtual link FSM WDM ID=3 E-net Id=45 Lecture 13 CS 118 Page 22 Winter 2016
General node rules • Roots – FSMs that represent user programs – Link to root tables • Leaves – FSMs that represent physical links – Linked from leaf tables • FSMs – Operate in a single name space – Refer to tables “below” Lecture 13 CS 118 Page 23 Winter 2016
Paths • Meaning • Rules (constraints) Lecture 13 CS 118 Page 24 Winter 2016
Linking nodes • Orientation – Directed – Acyclic • Head/tail – Connects different types of graph nodes: • If head is a table, tail is a FSM • If head is an FSM, tail is a table Lecture 13 CS 118 Page 25 Winter 2016
Head/tail rule • Tables and FSMs “alternate” – In our pictures, looks like this: Lecture 13 CS 118 Page 26 Winter 2016
Path meaning • Creates communication from networking – Composed of layered capabilities • Describes the “stack” of layers – All communication is pairwise – Nested composition = linear path (the “stack”) – Each message traverses a single path Lecture 13 CS 118 Page 27 Winter 2016
Path rules • View of a user host • View of an intermediate (relay) host • User to user view Lecture 13 CS 118 Page 28 Winter 2016
The different host types User hosts Σ 9 r s Δ 1 Relay hosts Lecture 13 CS 118 Page 29 Winter 2016
Path in a user host • Source (push) • Destination (pop) – Enter at top – Enter at bottom – Exit at bottom – Exit at top Lecture 13 CS 118 Page 30 Winter 2016
Recommend
More recommend