Wide Area Networks and Internet CT 1403 Lecture8

  • Slides: 41
Download presentation
Wide Area Networks and Internet CT 1403 Lecture-8: Internet Network Layer (Part-3) By :

Wide Area Networks and Internet CT 1403 Lecture-8: Internet Network Layer (Part-3) By : Najla Al-Nabhan 1

Lecture goals: ❖ understand principles behind: ▪ Address Resolution Protocol (ARP) in the Internet

Lecture goals: ❖ understand principles behind: ▪ Address Resolution Protocol (ARP) in the Internet ▪ Network layer service models (Connection & Connectionless) ▪ forwarding versus routing ▪ how a router works ▪ routing (path selection) ▪ Internet broadcast, multicast

Network layer: Recall! ❖ ❖ ❖ transport segment from sending to receiving host on

Network layer: Recall! ❖ ❖ ❖ transport segment from sending to receiving host on sending side encapsulates segments into datagrams on receiving side, delivers segments to transport layer network layer protocols in every host, router examines header fields in all IP datagrams passing application transport network data link physical network data link physical network data link physical application transport network data link physical

The Internet network layer host, router network layer functions: transport layer: TCP, UDP IP

The Internet network layer host, router network layer functions: transport layer: TCP, UDP IP protocol routing protocols network layer • path selection • RIP, OSPF, BGP forwarding table • addressing conventions • datagram format • packet handling conventions ICMP protocol • error reporting • router “signaling” link layer physical layer Network Layer 4 -33

IP Routing Process ❖ ❖ When packet arrives, look up dest addr local network?

IP Routing Process ❖ ❖ When packet arrives, look up dest addr local network? ▪ send immediately to destination distant network? ▪ forward to next router on the interface given in routing table not in the routing table? ▪ forward to default gateway

Address Resolution Protocol (ARP)

Address Resolution Protocol (ARP)

Address Resolution Protocol (ARP) ❖ Because there are both network -layer addresses (IP address)

Address Resolution Protocol (ARP) ❖ Because there are both network -layer addresses (IP address) and link-layer addresses (that is MAC address), there is a need to translate between them ❖ For Internet, this translation is the job of the Address Resolution Protocol (ARB) ❖ MAC address allocation administered by IEEE. Manufacturer buys portion of MAC address space (to ensure uniqueness) Analogy: ▪ MAC address: like Social Security Number ▪ IP address: like postal address ❖

ARP: address resolution protocol Question: how to determine interface’s MAC address, knowing its IP

ARP: address resolution protocol Question: how to determine interface’s MAC address, knowing its IP address? ARP table: each IP node (host, router) on LAN has table 137. 196. 7. 78 1 A-2 F-BB-76 -09 -AD < IP address; MAC address; TTL> 137. 196. 7. 23 137. 196. 7. 14 LAN 71 -65 -F 7 -2 B-08 -53 58 -23 -D 7 -FA-20 -B 0 0 C-C 4 -11 -6 F-E 3 -98 137. 196. 7. 88 ▪ IP/MAC address mappings for some LAN nodes: ▪ TTL (Time To Live): time after which address mapping will be forgotten (typically 20 min)

ARP protocol in the Internet: same LAN 1. A wants to send datagram to

ARP protocol in the Internet: same LAN 1. A wants to send datagram to B ▪ B’s MAC address not in A’s ARP table. 2. A broadcasts ARP query packet, containing B's IP address ▪ dest MAC address = FF-FF-FF-FF ▪ all nodes on LAN receive ARP query 3. B receives ARP packet, replies to A with its (B's) MAC address ▪ frame sent to A’s MAC address (unicast) 4. A caches (saves) IP-to. MAC address pair in its ARP table until information becomes old (times out) ▪ soft state: information that times out (goes away) unless refreshed 5. ARP is “plug-and-play”: ▪ nodes create their ARP tables without intervention from net administrator

Addressing: routing to another LAN walkthrough: send datagram from A to B via R

Addressing: routing to another LAN walkthrough: send datagram from A to B via R ▪ focus on addressing – at IP (datagram) and MAC layer (frame) ▪ assume A knows B’s IP address ▪ assume A knows IP address of first hop router, R (how? ) ▪ assume A knows R’s MAC address (how? ) B A R 111. 11 1 74 -29 -9 C-E 8 -FF-55 222 49 -BD-D 2 -C 7 -56 -2 A 222. 220 1 A-23 -F 9 -CD-06 -9 B 111. 11 2 CC-49 -DE-D 0 -AB-7 D 111. 11 0 E 6 -E 9 -00 -17 -BB-4 B 222. 221 88 -B 2 -2 F-54 -1 A-0 F

Addressing: routing to another LAN ❖A creates IP datagram with IP source A, destination

Addressing: routing to another LAN ❖A creates IP datagram with IP source A, destination B ❖A creates link-layer frame with R's MAC address as dest, frame contains A-to-B IP datagram MAC src: 74 -29 -9 C-E 8 -FF-55 MAC dest: E 6 -E 9 -00 -17 -BB-4 B IP src: 111 IP dest: 222 IP Eth Phy B A R 111. 11 1 74 -29 -9 C-E 8 -FF-55 222 49 -BD-D 2 -C 7 -56 -2 A 222. 220 1 A-23 -F 9 -CD-06 -9 B 111. 11 2 CC-49 -DE-D 0 -AB-7 D 111. 11 0 E 6 -E 9 -00 -17 -BB-4 B 222. 221 88 -B 2 -2 F-54 -1 A-0 F

Addressing: routing to another LAN ❖R forwards datagram with IP source A, destination B

Addressing: routing to another LAN ❖R forwards datagram with IP source A, destination B ❖R creates link-layer frame with B's MAC address as dest, frame contains A-to-B IP datagram MAC src: 1 A-23 -F 9 -CD-06 -9 B MAC dest: 49 -BD-D 2 -C 7 -56 -2 A IP src: 111 IP dest: 222 IP Eth Phy B A R 111. 11 1 74 -29 -9 C-E 8 -FF-55 222 49 -BD-D 2 -C 7 -56 -2 A 222. 220 1 A-23 -F 9 -CD-06 -9 B 111. 11 2 CC-49 -DE-D 0 -AB-7 D 111. 11 0 E 6 -E 9 -00 -17 -BB-4 B 222. 221 88 -B 2 -2 F-54 -1 A-0 F

Addressing: routing to another LAN ❖R forwards datagram with IP source A, destination B

Addressing: routing to another LAN ❖R forwards datagram with IP source A, destination B ❖R creates link-layer frame with B's MAC address as dest, frame contains A-to-B IP datagram MAC src: 1 A-23 -F 9 -CD-06 -9 B MAC dest: 49 -BD-D 2 -C 7 -56 -2 A IP Eth Phy IP src: 111 IP dest: 222 B A R 111. 11 1 74 -29 -9 C-E 8 -FF-55 222 49 -BD-D 2 -C 7 -56 -2 A 222. 220 1 A-23 -F 9 -CD-06 -9 B 111. 11 2 CC-49 -DE-D 0 -AB-7 D 111. 11 0 E 6 -E 9 -00 -17 -BB-4 B 222. 221 88 -B 2 -2 F-54 -1 A-0 F

Addressing: routing to another LAN ❖R forwards datagram with IP source A, destination B

Addressing: routing to another LAN ❖R forwards datagram with IP source A, destination B ❖R creates link-layer frame with B's MAC address as dest, frame contains A-to-B IP datagram MAC src: 1 A-23 -F 9 -CD-06 -9 B MAC dest: 49 -BD-D 2 -C 7 -56 -2 A IP src: 111 IP dest: 222 IP Eth Phy B A R 111. 11 1 74 -29 -9 C-E 8 -FF-55 222 49 -BD-D 2 -C 7 -56 -2 A 222. 220 1 A-23 -F 9 -CD-06 -9 B 111. 11 2 CC-49 -DE-D 0 -AB-7 D 111. 11 0 E 6 -E 9 -00 -17 -BB-4 B 222. 221 88 -B 2 -2 F-54 -1 A-0 F

Two key network-layer functions ❖ network layer has three major functions: 1. forwarding: move

Two key network-layer functions ❖ network layer has three major functions: 1. forwarding: move packets from router’s input to appropriate router output 2. routing: determine route taken by packets from source to dest. ▪ routing algorithms analogy: routing: process of planning trip from source to dest forwarding: process of getting through single interchange

Interplay between routing and forwarding routing algorithm local forwarding table value output link header

Interplay between routing and forwarding routing algorithm local forwarding table value output link header 0100 0101 0111 1001 value in arriving packet’s header 011 1 3 2 2 1 1 3 2 routing algorithm determines end-path through network forwarding table determines local forwarding at this router

Connection setup is the 3 rd important function in some network architectures; (such as

Connection setup is the 3 rd important function in some network architectures; (such as ATM, frame relay, X. 25) Occurs before data transfer: ❖ ❖ 3 -way handshake in TCP Connection All routers in the Virtual Circuit (VC) need to handshake with each other in order to establish virtual connection ▪ routers get involved ❖ network vs transport layer connection service: ▪ network: between two hosts (may also involve intervening routers in case of VCs) ▪ transport: between two processes

Network service model Q: What service model for “channel” transporting datagrams from sender to

Network service model Q: What service model for “channel” transporting datagrams from sender to receiver? example services for an example services for a individual datagram: flow of datagrams: ❖ ❖ guaranteed delivery with less than 40 msec delay ❖ in-order datagram delivery ❖ guaranteed minimum bandwidth to flow ❖ restrictions on changes in inter-packet spacing

Network layer service models: Network Service Architecture Model Guarantees Congestion ? Bandwidth No loss

Network layer service models: Network Service Architecture Model Guarantees Congestion ? Bandwidth No loss Order Timing feedback Internet best effort none ATM CBR ATM ABR no yes constant rate guaranteed no minimum no no yes yes no no (inferred via loss) no congestion yes (indicated)

virtual circuit and datagram networks

virtual circuit and datagram networks

Connection, connection-less service ❖ ❖ Transport layer provides connection & connection-less services between two

Connection, connection-less service ❖ ❖ Transport layer provides connection & connection-less services between two processes Network layer provides connection OR connection-less services between two hosts ❖ datagram network provides network-layer connectionless service ❖ virtual-circuit network provides network-layer connection service ❖ analogous to TCP/UDP connection-oriented / connectionless transport-layer services, but: ▪ service: host-to-host ▪ no choice: network provides one or the other (not both) ▪ implementation: in network core

Virtual circuits “source-to-dest path behaves much like telephone circuit” ▪ ▪ ❖ ❖ performance-wise

Virtual circuits “source-to-dest path behaves much like telephone circuit” ▪ ▪ ❖ ❖ performance-wise network actions along source-to-dest path call setup, teardown for each call before data can flow each packet carries VC identifier (not destination host address) every router on source-dest path maintains “state” for each passing connection link, router resources (bandwidth, buffers) may be allocated to VC (dedicated resources = predictable service)

VC implementation a VC consists of: 1. 2. 3. path from source to destination

VC implementation a VC consists of: 1. 2. 3. path from source to destination VC numbers, one number for each link along path entries in forwarding tables in routers along path packet belonging to VC carries VC number (rather than dest address) VC number can be changed on each link. ❖ ❖ ▪ new VC number comes from forwarding table

VC forwarding table 22 12 1 forwarding table in northwest router: Incoming interface VC

VC forwarding table 22 12 1 forwarding table in northwest router: Incoming interface VC # 1 2 3 1 … VC number interface number Incoming VC # 12 63 7 97 … 2 3 Outgoing interface 3 1 2 3 32 Outgoing 22 18 17 87 … VC routers maintain connection state information! …

Virtual circuits: signaling protocols ❖ ❖ ❖ used to setup, maintain and terminate VC

Virtual circuits: signaling protocols ❖ ❖ ❖ used to setup, maintain and terminate VC used in ATM, frame-relay, X. 25 not used in today’s Internet application transport network data link physical 5. data flow begins 4. call 1. connected initiate call 6. receive 3. data accept call 2. incoming call application transport network data link physical

Datagram networks no call setup at network layer routers: no state about end-to-end connections

Datagram networks no call setup at network layer routers: no state about end-to-end connections ❖ ❖ ▪ ❖ no network-level concept of “connection” packets forwarded using destination host address application transport network data link physical 1. send datagrams 2. receive datagrams application transport network data link physical

Datagram forwarding table routing algorithm local forwarding table dest address output link address-range 1

Datagram forwarding table routing algorithm local forwarding table dest address output link address-range 1 address-range 2 address-range 3 address-range address 4 IP destination in arriving packet’s header 3 2 2 1 1 3 2 4 billion IP addresses, so rather than list individual destination address list range of addresses (aggregate table entries)

Datagram forwarding table Destination Address Range Link Interface 11001000 00010111 00010000 through 11001000 00010111

Datagram forwarding table Destination Address Range Link Interface 11001000 00010111 00010000 through 11001000 00010111 1111 0 11001000 00010111 00011000 0000 through 11001000 00010111 00011000 1111 1 11001000 00010111 00011001 0000 through 11001000 00010111 00011111 otherwise Q: but what happens if ranges don’t divide up so nicely? 2 3

Longest prefix matching longest prefix matching when looking forwarding table entry for given destination

Longest prefix matching longest prefix matching when looking forwarding table entry for given destination address, use longest address prefix that matches destination address. Destination Address Range Link 11001000 00010111 00010*** ***** interface 11001000 00010111 00011000 ***** 0 11001000 00010111 00011*** ***** 1 otherwise 2 example s: DA: 11001000 00010111 00010110 DA: 11001000 00010111 00011000 10100001 1010 3 which interface?

Datagram or VC network: why? Internet (datagram) ❖ data exchange among computers ▪ “elastic”

Datagram or VC network: why? Internet (datagram) ❖ data exchange among computers ▪ “elastic” service, no strict timing req. ❖ many link types ▪ different characteristics ▪ uniform service difficult ❖ “smart” end systems (computers) ▪ can adapt, perform control, error recovery ▪ simple inside network, complexity at “edge” ATM (VC) ❖ evolved from telephony ❖ human conversation: ▪ strict timing, reliability requirements ▪ need for guaranteed service ❖ “dumb” end systems ▪ telephones ▪ complexity inside network

what’s inside a router

what’s inside a router

Router architecture overview two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) ❖

Router architecture overview two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) ❖ forwarding datagrams from incoming to outgoing link ❖ forwarding tables computed, pushed to input ports routing processo r routing, management control plane (software) forwarding data plane (hardware) high-seed switching fabric router input ports router output ports

Input port functions link layer protocol (receive) line termination physical layer: bit-level reception data

Input port functions link layer protocol (receive) line termination physical layer: bit-level reception data link layer: e. g. , Ethernet see chapter 5 lookup, forwarding switch fabric queueing decentralized switching: ❖ ❖ ❖ given datagram dest. , lookup output port using forwarding table in input port memory (“match plus action”) goal: complete input port processing at ‘line speed’ queuing: if datagrams arrive faster than forwarding rate into switch fabric

Switching fabrics ❖ ❖ transfer packet from input buffer to appropriate output buffer switching

Switching fabrics ❖ ❖ transfer packet from input buffer to appropriate output buffer switching rate: rate at which packets can be transfer from inputs to outputs ▪ often measured as multiple of input/output line rate ▪ N inputs: switching rate N times line rate desirable ❖ three types of switching fabrics memor y bu s crossba r

Switching via memory first generation routers: ❖traditional computers with switching under direct control of

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 port (e. g. , Ethernet ) memor y output port (e. g. , Ethernet ) system bus

Switching via a bus datagram from input port memory to output port memory via

Switching via a bus datagram from input port memory to output port memory via a shared bus ❖ bus contention: switching speed limited by bus bandwidth ❖ 32 Gbps bus, Cisco 5600: sufficient speed for access and enterprise routers ❖ bu s

Switching via interconnection network ❖ ❖ overcome bus bandwidth limitations banyan networks, crossbar, other

Switching via interconnection network ❖ ❖ overcome bus bandwidth limitations banyan networks, crossbar, other interconnection nets initially developed to connect processors in multiprocessor advanced design: fragmenting datagram into fixed length cells, switch cells through the fabric. crossba r Cisco 12000: switches 60 Gbps through the interconnection network

Output ports switch fabric datagra m buffer link layer protocol (send) line termination queueing

Output ports switch fabric datagra m buffer link layer protocol (send) line termination queueing ❖ ❖ buffering required when datagrams arrive from fabric faster than the transmission rate scheduling discipline chooses among queued datagrams for transmission

Output port queueing switch fabric at t, packets more from input to output ❖

Output port queueing switch fabric at t, packets more from input to output ❖ ❖ switch fabric one packet time later buffering when arrival rate via switch exceeds output line speed queueing (delay) and loss due to output port buffer overflow!

Input port queuing ❖ ❖ fabric slower than input ports combined -> queueing may

Input port queuing ❖ ❖ fabric slower than input ports combined -> queueing may occur at input queues ▪ queueing delay and loss due to input buffer overflow! Head-of-the-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward switch fabric output port contention: only one red datagram can be transferred. lower red packet is blocked switch fabric one packet time later: green packet experiences HOL blocking

Midterm Revision: Your Questions: Please Ask! Difficult to Understand Topics?

Midterm Revision: Your Questions: Please Ask! Difficult to Understand Topics?