<<

Application Layer CS 78 Computer Networks

Internet Protocol (IP) our focus

• What we will lean Link Layer Andrew T. Campbell – What’s inside a router – IP forwarding [email protected] – Internet Control Message Protocol (ICMP) – IP routing

The Network Layer Interplay between routing and • Transport segment from forwarding sending to receiving host • On sending side encapsulates segments into • On receiving side, delivers segments to transport layer • Network layer protocols in every host, route • Router examines header fields in all IP datagrams passing through it • Two important functions – forwarding: move packets from router’s input to appropriate router output – routing: determine route taken by packets from source to dest.

1 The Internet Network layer versus networks Host, router network layer functions: Internet (datagram) Virtual circuits • data exchange among Transport layer: TCP, UDP computers • evolved from telephony – “elastic” service, no strict • human conversation: IP protocol Routing protocols timing req. •addressing conventions •path selection – strict timing, •datagram format •RIP, OSPF, BGP • “smart” end systems •packet handling conventions reliability Network (computers) requirements layer forwarding – can adapt, perform control, ICMP protocol error recovery – need for guaranteed table •error reporting •router “signaling” – simple inside network, service complexity at “edge” • “dumb” end systems – many link types Link layer – telephones – different characteristics physical layer – uniform service difficult – complexity inside network

Virtual Circuit Networks Network service model

• First let’s talk about virtual circuit networks as a What service model for “channel” transporting contrast to IP networks datagrams from sender to receiver? • Based on establishing and tearing down connections Example services for Example services for a • Another important function in some network individual flow of datagrams: architectures: datagrams: • in-order datagram – ATM, , X.25 delivery – Before datagrams flow, two end hosts and intervening routers • guaranteed delivery establish virtual connection • guaranteed minimum • routers get involved • guaranteed delivery bandwidth to flow – Network vs transport layer connection service: with less than 40 • restrictions on changes • network: between two hosts (may also involve intervening msec delay in inter-packet spacing routers in case of VCs) • Transport: between two processes

2 Network layer connection and Network layer service models connection-less service Guarantees ? Network Service Congestion Architecture Model Bandwidth Loss Order Timing feedback • Datagram network provides network-layer connectionless service Internet best effort none no no no no (inferred via loss) • VC network provides network-layer ATM CBR constant yes yes yes no rate congestion connection service ATM VBR guaranteed yes yes yes no • Analogous to the transport-layer services, rate congestion ATM ABR guaranteed no yes no yes but: minimum – service: host-to-host ATM UBR none no yes no no – no choice: network provides one or the other – implementation: in network core

Virtual circuits VC implementation “source-to-dest path behaves much like • VC comprises telephone circuit” – path from source to destination – performance-wise – VC numbers, one number for each link along – network actions along source-to-dest path path • , teardown for each call before data can flow – entries in forwarding tables in routers along path • each packet carries VC identifier (not destination • packet belonging to VC carries VC number host address) (rather than dest address) • every router on source-dest path maintains “state” • VC number can be changed on each link. for each passing connection • link, router resources (bandwidth, buffers) may be – New VC number comes from forwarding table allocated to VC (dedicated resources = predictable service)

3 Forwarding table Virtual circuits: signaling VC number protocols 12 22 32 1 3 • Used to setup, maintain teardown VC 2 • Used in ATM, frame-relay, X.25 Forwarding table in interface • Not used in today’s Internet northwest router: number Incoming interface Incoming VC # Outgoing interface Outgoing VC #

1 12 3 22 application 6. Receive data application 2 63 1 18 transport 5. Data flow begins transport 3 7 2 17 network 4. Call connected 3. Accept call network 1 97 3 87 1. Initiate call 2. incoming call … … … … data link physical physical

Routers maintain connection state information!

Datagram networks Forwarding table - 4 billion • No call setup at network layer possible entries • Routers: no state about end-to-end connections – no network-level concept of “connection” Destination Address Range Link Interface • Packets forwarded using destination host address 11001000 00010111 00010000 00000000 – packets between same source-dest pair may take different through 0 paths 11001000 00010111 00010111 11111111

11001000 00010111 00011000 00000000 through 1 application 11001000 00010111 00011000 11111111 application transport transport network 11001000 00010111 00011001 00000000 network through 2 data link 1. Send data 2. Receive data data link 11001000 00010111 00011111 11111111 physical physical otherwise 3

4 Longest prefix matching

Prefix Match Link Interface 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 otherwise 3 What’s in an IP router?

Examples

DA: 11001000 00010111 00010110 10100001 Which interface?

DA: 11001000 00010111 00011000 10101010 Which interface?

Router Architecture Overview Input Port Functions

Two key router functions: • run routing algorithms/protocol (RIP, OSPF, BGP) • forwarding datagrams from incoming to outgoing link

Decentralized switching • Given datagram dest., lookup output port using forwarding table in input port memory • Goal: complete input port processing at ‘line speed’ • Queuing: if datagrams arrive faster than forwarding rate into switch fabric

5 Three types of switching fabrics Switching Via Memory First generation routers: • traditional computers with switching under direct control of CPU • packet copied to system’s memory • speed limited by memory bandwidth (2 bus crossings per datagram)

Input Memory Output Port Port

System Bus

Switching via An Interconnection Switching Via a Bus Network

• Overcome bus bandwidth limitations • datagram from input port memory • Banyan networks, other interconnection nets initially developed to output port memory via a shared bus to connect processors in multiprocessor • bus contention: switching speed limited by • Advanced design: fragmenting datagram into fixed length cells, bus bandwidth switch cells through the fabric. • 1 Gbps bus, Cisco 1900: sufficient speed for • Cisco 12000: switches Gbps through the interconnection access and enterprise routers (not regional network or backbone)

6 Output Ports Output port queueing

• Buffering required when datagrams arrive from fabric faster than the transmission rate • buffering when arrival rate via switch exceeds output line speed • Scheduling discipline chooses among queued datagrams for • queueing (delay) and loss due to output port buffer overflow! transmission

Input Port Queuing • Fabric slower than input ports combined -> queueing may occur at input queues • Head-of-the-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward • Queueing delay and loss due to input buffer overflow!

7