Network Data Plane Network Data Plane Network Data Plane (S. S. Lam) 3/23/2017 1
Network layer d li delivers segments from s s ts f sending to receiving host application transport network sender encapsulates segments p g data link physical p y into datagrams network network data link data link network Receiver de-encapsulates and physical physical data link physical delivers segments to network network data link data link transport layer physical physical network layer in every host, network network data link data link every router every router physical physical network data link physical Router examines IP header application transport network field in every passing network data link network data link physical network data link d datagram (exception: routers physical physical data link physical physical running MPLS) Network Data Plane (S. S. Lam) 2 3/23/2017 2
Key Network-Layer Functions Key Network Layer Funct ons forwarding: move a packet from router’s input interface to an appropriate output input interface to an appropriate output interface routing: determine route taken by packets from source to destination f m s t d stin ti n routing protocols ( intra-AS and inter-AS ) where AS is acronym for “Autonomous System” h AS i f “A t S t ” every AS runs the same inter-AS protocol Network Data Plane (S. S. Lam) 3 3/23/2017 3
Virtual-circuit networks need 3 rd function Before datagrams can flow, end hosts and routers between them establish a virtual routers between them establish a virtual circuit Routers maintain state info Earlier networks designed initially to compete with IP: ATM, frame relay, X.25 (from old to very old) ATM frame relay X 25 (from old to very old) MPLS protocol designed more recently to provide virtual circuits supported by IP routers (typically within the same AS/ISP) (typically within the same AS/ISP) Today, such virtual circuits serve as virtual links in Internet Network Data Plane (S. S. Lam) 4 3/23/2017 4
Network layer: data plane, control plane Data plane Control plane local, per-router , p network-wide logic g function determines how datagram is routed among routers along determines how end end path from source end-end path from source d t datagram arriving on an i i host to destination host input port is forwarded main approach: to an output port routing protocols routing protocols implemented in routers values in arriving new approach packet header software-defined f d fi d networking (SDN) : 1 0111 2 implemented in logically 3 centralized server(s) t li d s (s) 3/23/2017 5 Network Data Plane (S. S. Lam) 5
Per-router control plane Individual routing process in every router. They interact by exchanging routing protocol messages Routing Routing Algorithm control plane data plane l values in arriving packet header 1 0111 2 2 3 3/23/2017 6 Network Data Plane (S. S. Lam) 6
Logically centralized control plane A distinct (typically remote) controller interacts with local control agents (CAs). The controller computes routes. t Remote Controller control plane data pl n plane CA CA CA CA CA CA CA CA CA values in arriving packet header 1 1 0111 0111 2 3 3/23/2017 7 Network Data Plane (S. S. Lam) 7
The big picture (preview) Data plane OpenFlow (SDN) match+action abstraction Forwarding using unifies routers, switches, , , network and link headers network and link headers firewalls, and NATs (but Datagrams not VCs and tunnels) VLANs Control plane Control plane MPLS virtual circuits and Routing protocols IP tunnels (transformers) intra-AS (OSPF, NATs (transformers) ( ) distance vector, Cisco Filtering (access control proprietary) lists, firewalls) inter-AS (eBGP, iBGP) using transport, network, i t t t k SDN link headers centralized controller Network Data Plane (S. S. Lam) 8 3/23/2017 8
Datagram networks IP 4 IP 6 IPv4, IPv6 no network-level concept of “connection” or “flow” each packet forwarded independently using each packet forwarded independently using destination host address packets between same source-dest pair may take different paths diff t th application application application l transport transport network network data link 1. Send data 2. Receive data . c ata data link data link physical physical Network Data Plane (S. S. Lam) 9 3/23/2017 9
IPv4 addressing: CIDR Classful addressing (now obsolete): fixed-length subnet portion of 8, 16 or 24 bits p f , CIDR: Classless InterDomain Routing o subnet portion of address of variable length o address format: a.b.c.d/x, where x is # bits in subnet portion of address subnet portion of address host subnet part part 11001000 00010111 00010000 00000000 11001000 00010111 00010000 00000000 200.23.16.0/23 Network Data Plane (S. S. Lam) 10 3/23/2017 10
4 billion IPv4 Forwarding table possible entries p Destination Address Range Link Interface 11001000 00010111 00010000 00000000 through 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 through 1 11001000 00010111 00011000 11111111 11001000 00010111 00011000 11111111 11001000 00010111 00011000 00000000 through through 2 2 11001000 00010111 00011111 11111111 otherwise 3 Network Data Plane (S. S. Lam) 11 3/23/2017 11
Longest prefix match Prefix Link Interface 11001000 00010111 00010 0 11001000 00010111 00011000 11001000 00010111 00011000 1 1 11001000 00010111 00011 2 otherwise otherwise 3 3 Examples Which interface? f DA: 11001000 00010111 00010110 10100001 DA: 11001000 00010111 00010110 10100001 DA: 11001000 00010111 00011000 10101010 Which interface? A forwarding table in an Internet core router has more than 500,000 IP prefixes Fast implementation uses Ternary Content Fast implementation uses Ternary Content Addressable Memory (TCAM), prefixes sorted in decreasing order Network Data Plane (S. S. Lam) 12 3/23/2017 12
Virtual circuits: signaling protocols g g p used to set up, maintain, tear down VC not used in Internet’s network layer but may be not used in Internet s network layer, but may be used underneath the IP layer to provide a virtual link (e.g., MPLS tunnel) in an AS application application appl cat on 6 Receive data 6. Receive data transport t nsp t 5 D t 5. Data flow begins fl b i s transport network 4. Call connected 3. Accept call network data link 1. Initiate call 2. incoming call data link physical physical physical Network Data Plane (S. S. Lam) 13 3/23/2017 13
Virtual circuit (VC) call setup, teardown for each call before data can flow flow each packet carries a VC identifier which is fixed length and short only needs to be unique for a link is carried in an additional header inserted between link and network layer headers (called layer 2½) y y every router on source-dest path maintains state information for each passing VC information for each passing VC incoming and outgoing VC identifiers, resources allocated to VC (bandwidth, buffers) Network Data Plane (S. S. Lam) 14 3/23/2017 14
VC Forwarding table VC number 12 12 22 22 32 32 3 1 2 Forwarding table in g northwest router: interface number Incoming interface Incoming VC # Outgoing interface Outgoing VC # 1 12 3 22 2 63 1 18 3 3 7 2 17 7 2 17 1 97 3 87 … … … … Forwarding is fast because short fixed-length VC numbers are Forwarding is fast because short fixed length VC numbers are used vs. IP forwarding table with variable-length prefixes. (This is not forwarding in IP layer but it is considered to be in data plane.) May have additional state information about service guarantees Network Data Plane (S. S. Lam) 15 3/23/2017 15
The Internet Network layer Host, router network layer functions: Transport layer: TCP, UDP IP protocol p Routing protocols Routing protocols •addressing conventions •path selection •datagram format Network •RIP, OSPF, BGP •packet handling conventions layer layer f forwarding di ICMP protocol table •error reporting •router “signaling” Link layer physical layer Network Data Plane (S. S. Lam) 16 3/23/2017 16
IP datagram format IP protocol version p 32 bit 32 bits total datagram l d number type of length (bytes) head. header length length ver service len for fragment fragment “type” of data fragmentation/ flgs 16-bit identifier offset reassembly upper time to header max number layer live checksum remaining hops remaining hops 32 bit source IP address (decremented at each router) 32 bit destination IP address E.g. timestamp, E i Options (if any) record route upper layer protocol data taken, specify to deliver payload to p y (variable length, g list of routers list of routers typically a TCP to visit. or UDP segment) Network Data Plane (S. S. Lam) 17 3/23/2017 17
Recommend
More recommend