130 likes | 171 Views
Network Core and QoS. Host, router network layer functions:. ICMP protocol error reporting router “signaling”. IP protocol addressing conventions datagram format packet handling conventions. Routing protocols path selection RIP, OSPF, BGP. Routing/ Forwarding Table.
E N D
Host, router network layer functions: ICMP protocol • error reporting • router “signaling” IP protocol • addressing conventions • datagram format • packet handling conventions Routing protocols • path selection • RIP, OSPF, BGP Routing/ Forwarding Table The Internet Network layer Transport layer: TCP, UDP Network layer Link layer physical layer
Forwarding Engine –Fast path of the code • Stage 1 • Basic error checking to see if header is from a IP datagram • Confirm packet/header lengths are reasonable • Confirm that IP header has no options • Compute hash offset into route cache and load the route • Start loading of next header
Forwarding Engine – • Stage 2 • Checks to see if the cached route matches the destination of the datagram • If not, the code jumps to an extended lookup which examines the routing table in the Bcache • The code then checks the IP time-to-live (TTL) field and computes the updated TTL and IP checksum • The TTL and checksum are the only header fields that normally change and they must not be changed if the datagram is destined for the router
Forwarding Engine – softwareFast path of the code • Stage 3 • The updated TTL and checksum are put in the IP header • The necessary routing information is extracted from the forwarding table entry and the updated IP header is written out along with link-layer information from the forwarding table • The routing information includes the flow classifier (currently classifiers are associated with destination prefixes)
Questions • Given link speed and packet size how do we calculate the no. of packets that can be sent on the link. Vary the packet size from 32byte to 16K bytes and calculate no. of packets on the link. What is the impact of packet size on a network element • Given no. of lines of C code, average machine instructions for each line, and average no. of clock cycles per each instruction, calculate the time required for forwarding a packet. • If you now forwarding time for each packet, calculate the MIPS requirement
Different Types of Switching • Different Types of Switching: • Circuit Switching (telephone network) • dedicated circuit, sending and receiving bit streams • Message Switching • Packet Switching • store and forward, sending and receiving packets • Virtual Circuit Switching • Cell Switching (ATM) • What are Packets? • Data to be transmitted is divided into discrete blocks
End-end resources reserved for “call” link bandwidth, switch capacity dedicated resources: no sharing circuit-like (guaranteed) performance call setup required Network Core: Circuit Switching
Cost-Effective Resource Sharing • Must share (multiplex) network resources among multiple users. • Common Multiplexing Strategies • Time-Division Multiplexing (TDM) • Synchronous TDM (STDM) • Frequency-Division Multiplexing (FDM) • Multiplexing multiple logical flows over a single physical link.
network resources (e.g., bandwidth) divided into “pieces” pieces allocated to calls resource piece idle if not used by owning call (no sharing) dividing link bandwidth into “pieces” frequency division time division Network Core: Circuit Switching
Packet-switching versus circuit switching: human restaurant analogy other human analogies? D E Network Core: Packet Switching 10 Mbs Ethernet C A statistical multiplexing 1.5 Mbs B queue of packets waiting for output link 45 Mbs
1 Mbit link each user: 100Kbps when “active” active 10% of time circuit-switching: 10 users packet switching: with 35 users, probability > 10 active less that .004 Packet switching allows more users to use network! Packet switching versus circuit switching N users 1 Mbps link
Great for bursty data resource sharing no call setup Excessive congestion: packet delay and loss protocols needed for reliable data transfer, congestion control Q: How to provide circuit-like behavior? bandwidth guarantees needed for audio/video apps Is packet switching a “slam dunk winner?” Packet switching versus circuit switching