operang)systems)and)networks) …...computer)networks) 4 why)do)we)need)anetwork)layer?) •...
TRANSCRIPT
![Page 1: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/1.jpg)
Opera&ng Systems and Networks Network Lecture 5: Network Layer 1
Adrian Perrig Network Security Group ETH Zürich
![Page 2: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/2.jpg)
2
Pending Issues • Ethernet performance? See Sec&on 4.3.3 in book. For reasonable parameters, ~85% efficiency.
![Page 3: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/3.jpg)
Computer Networks 3
Where we are in the Course • Star&ng the Network Layer!
– Builds on the link layer. Routers send packets over mul&ple networks
Physical Link
Network Transport Applica&on
![Page 4: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/4.jpg)
Computer Networks 4
Why do we need a Network layer? • We can already build networks with links and switches and send frames between hosts …
![Page 5: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/5.jpg)
Computer Networks 5
Shortcomings of Switches 1. Don’t scale to large networks
– Blow up of rou&ng table, broadcast
Table for all des&na&ons in the world!
Broadcast new des&na&ons to the whole world!
![Page 6: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/6.jpg)
Computer Networks 6
Shortcomings of Switches (2) 2. Don’t work across more than one link layer technology
– Hosts on Ethernet + 3G + 802.11 …
Can we play too? Go away!
![Page 7: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/7.jpg)
Computer Networks 7
Shortcomings of Switches (3) 3. Don’t give much traffic control
– Want to plan routes / bandwidth
That was lame.
![Page 8: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/8.jpg)
Computer Networks 8
Network Layer Approach • Scaling:
– Hierarchy, in the form of prefixes
• Heterogeneity: – IP for internetworking
• Bandwidth Control: – Lowest-‐cost rou&ng – Later QOS (Quality of Service)
![Page 9: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/9.jpg)
Computer Networks 9
Topics • Network service models
– Datagrams (packets), virtual circuits • IP (Internet Protocol)
– Internetworking – Forwarding (Longest Matching Prefix) – Helpers: ARP and DHCP – Fragmenta&on and MTU discovery – Errors: ICMP (traceroute!)
• IPv6, the future of IP • NAT, a “middlebox” • Rou&ng algorithms
This &me
Next &me
![Page 10: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/10.jpg)
Computer Networks 10
Rou&ng vs. Forwarding • Rou&ng is the process of deciding in which direc&on to send traffic – Network wide (global) and expensive
Which way?
Which way?
Which way?
![Page 11: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/11.jpg)
Computer Networks 11
Rou&ng vs. Forwarding (2) • Forwarding is the process of sending a packet on its way
– Node process (local) and fast
Forward! packet
![Page 12: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/12.jpg)
Computer Networks 12
Our Plan • Forwarding this &me
– What routers do with packets
• Rou&ng next &me – Logically this comes first – But ignore it for now
![Page 13: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/13.jpg)
Computer Networks 13
Network Services (§5.1) • What kind of service does the Network layer provide to the Transport layer? – How is it implemented at routers?
Service? What’s he talking about?
![Page 14: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/14.jpg)
Computer Networks 14
Two Network Service Models • Datagrams, or connec&onless service
– Like postal lemers – (This one is IP)
• Virtual circuits, or connec&on-‐oriented service – Like a telephone call
![Page 15: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/15.jpg)
Computer Networks 15
Store-‐and-‐Forward Packet Switching • Both models are implemented with store-‐and-‐forward packet switching – Routers receive a complete packet, storing it temporarily if necessary before forwarding it onwards
– We use sta&s&cal mul&plexing to share link bandwidth over &me
![Page 16: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/16.jpg)
Store-‐and-‐Forward (2) • Switching element has internal buffering for conten&on
Computer Networks 16
. . .
. . .
. . . . . .
Input Buffer Output Buffer Fabric
Input Output
![Page 17: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/17.jpg)
Store-‐and-‐Forward (3) • Simplified view with per-‐port output buffering
– Buffer is typically a FIFO (First In First Out) queue – If full, packets are discarded (conges&on, later)
Computer Networks 17
(FIFO) Queue
Queued Packets
Router Router
=
![Page 18: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/18.jpg)
Datagram Model • Packets contain a des&na&on address; each router uses it to forward each packet, possibly on different paths
Computer Networks 18
ISP’s equipment
![Page 19: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/19.jpg)
Datagram Model (2) • Each router has a forwarding table keyed by address
– Gives next hop for each des&na&on address; may change
Computer Networks 19
A’s table (ini&ally) A’s table (later) C’s Table E’s Table
B B
![Page 20: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/20.jpg)
IP (Internet Protocol) • Network layer of the Internet, uses datagrams (next)
– IPv4 carries 32 bit addresses on each packet (osen 1.5 KB)
Computer Networks 20
Payload (e.g., TCP segment)
![Page 21: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/21.jpg)
Virtual Circuit Model • Three phases:
1. Connec&on establishment, circuit is set up • Path is chosen, circuit informa&on stored in routers
2. Data transfer, circuit is used • Packets are forwarded along the path
3. Connec&on teardown, circuit is deleted • Circuit informa&on is removed from routers
• Just like a telephone circuit, but virtual in the sense that no bandwidth need be reserved; sta&s&cal sharing of links
Computer Networks 21
![Page 22: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/22.jpg)
Virtual Circuits (2) • Packets only contain a short label to iden&fy the circuit
– Labels don’t have any global meaning, only unique for a link
Computer Networks 22
ISP’s equipment
![Page 23: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/23.jpg)
Virtual Circuits (3) • Each router has a forwarding table keyed by circuit
– Gives output line and next label to place on packet
Computer Networks 23
A’s table C’s Table E’s Table
1
1
Circuit #1
Circuit #2 H3
H1 F
F
5 5
![Page 24: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/24.jpg)
Virtual Circuits (4) • Each router has a forwarding table keyed by circuit
– Gives output line and next label to place on packet
Computer Networks 24
A’s table C’s Table E’s Table
1
1
Circuit #1
Circuit #2
5
2 2 2 H3
H1 1 1 F
F
5 5
![Page 25: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/25.jpg)
MPLS (Mul&-‐Protocol Label Switching, §5.6.5) • A virtual-‐circuit like technology widely used by ISPs
– ISP sets up circuits inside their backbone ahead of &me – ISP adds MPLS label to IP packet at ingress, undoes at egress
Computer Networks 25
![Page 26: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/26.jpg)
Datagrams vs Virtual Circuits • Complementary strengths
Computer Networks 26
Issue Datagrams Virtual Circuits
Setup phase Not needed Required
Router state Per des&na&on Per connec&on
Addresses Packet carries full address Packet carries short label
Rou&ng Per packet Per circuit
Failures Easier to mask Difficult to mask
Quality of service Difficult to add Easier to add
![Page 27: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/27.jpg)
Computer Networks 27
Internetworking (§5.5, 5.6.1) • How do we connect different networks together?
– This is called internetworking – We’ll look at how IP does it
Hi there! Hi yourself
![Page 28: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/28.jpg)
Computer Networks 28
How Networks May Differ • Basically, in a lot of ways:
– Service model (datagrams, VCs) – Addressing (what kind) – QOS (priori&es, no priori&es) – Packet sizes – Security (whether encrypted)
• Internetworking hides the differences with a common protocol. (Uh oh.)
![Page 29: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/29.jpg)
Connec&ng Datagram and VC networks • An example to show that it’s not so easy
– Need to map des&na&on address to a VC and vice-‐versa – A bit of a “road bump”, e.g., might have to set up a VC
Computer Networks 29
Bump! Bump! Virtual circuit
![Page 30: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/30.jpg)
Computer Networks 30
Internetworking – Cerf and Kahn • Pioneered by Cerf and Kahn, the “fathers of the Internet” – In 1974, later led to TCP/IP
• Tackled the problems of interconnec&ng networks – Instead of manda&ng a single network technology
© 2009 IEEE © 2009 IEEE
Vint Cerf Bob Kahn
![Page 31: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/31.jpg)
Internet Reference Model • IP is the “narrow waist” of the Internet
– Supports many different links below and apps above
Computer Networks 31
7. Applica&on 4. Transport
3. Internet
2/1. Link Ethernet 802.11
IP
TCP UDP
HTTP SMTP RTP DNS
3G DSL Cable
![Page 32: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/32.jpg)
Computer Networks 32
IP as a Lowest Common Denominator
• Suppose only some networks support QOS or security etc. – Difficult for internetwork to support
• Pushes IP to be a “lowest common denominator” protocol – Asks limle of lower-‐layer networks – Gives limle as a higher layer service
![Page 33: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/33.jpg)
IPv4 (Internet Protocol) • Various fields to meet straighzorward needs
– Version, Header (IHL) and Total length, Protocol, and Header Checksum
Computer Networks 33
Payload (e.g., TCP segment)
![Page 34: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/34.jpg)
IPv4 (2) • Network layer of the Internet, uses datagrams
– Provides a layer of addressing above link addresses (next)
Computer Networks 34
Payload (e.g., TCP segment)
![Page 35: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/35.jpg)
IPv4 (3) • Some fields to handle packet size differences (later)
– Iden&fica&on, Fragment offset, Fragment control bits
Computer Networks 35
Payload (e.g., TCP segment)
![Page 36: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/36.jpg)
IPv4 (4) • Other fields to meet other needs (later, later)
– Differen&ated Services, Time to live (TTL)
Computer Networks 36
Payload (e.g., TCP segment)
Later, with ICMP
Later, with QOS
![Page 37: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/37.jpg)
Computer Networks 37
IP Prefixes (§5.6.1-‐5.6.2) • What do IP addresses look like?
– And IP prefixes, or blocks of addresses – (This is IPv4; we’ll cover IPv6 later.)
To: 128.0.32.4 From: 18.31.0.67
18.31.0.67
![Page 38: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/38.jpg)
IP Addresses • IPv4 uses 32-‐bit addresses
– Later we’ll see IPv6, which uses 128-‐bit addresses • Wrimen in “domed quad” nota&on
– Four 8-‐bit numbers separated by dots
Computer Networks 38
aaaaaaaabbbbbbbbccccccccdddddddd ↔ A.B.C.D
8 bits 8 bits 8 bits 8 bits
00010010000111110000000000000001 ↔
![Page 39: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/39.jpg)
IP Prefixes – Modern • Addresses are allocated in blocks called prefixes
– Addresses in an L-‐bit prefix have the same top L bits – There are 232-‐L addresses aligned on 232-‐L boundary
Computer Networks 39
![Page 40: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/40.jpg)
IP Prefixes (2) • Wrimen in “IP address/length” nota&on
– Address is lowest address in the prefix, length is prefix bits – E.g., 128.13.0.0/16 is 128.13.0.0 to 128.13.255.255 – So a /24 (“slash 24”) is 256 addresses, and a /32 is one address
Computer Networks 40
000100100001111100000000xxxxxxxx ↔
↔ 128.13.0.0/16
![Page 41: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/41.jpg)
IP Prefixes (3) • More specific prefix
– Has longer prefix, hence a smaller number of IP addresses • Less specific prefix
– Has shorter prefix, hence a larger number of IP addresses
Computer Networks 41
Prefix length
Addresses in prefix
/8 /16 /24 /32 /0
20 28 216 224 232
Less specific More specific
![Page 42: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/42.jpg)
IP Address Classes – Historical • Originally, IP addresses came in fixed size blocks with the class/size encoded in the high-‐order bits – They s&ll do, but the classes are now ignored
Computer Networks 42
0
10
110
0 16 24 32 bits 8 Class A, 224 addresses
Class B, 216 addresses
Class C, 28 addresses
Network por&on Host por&on
![Page 43: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/43.jpg)
Computer Networks 43
Public / Private IP Addresses • Public IP addresses, e.g., 18.31.0.1
– Valid des&na&on on the global Internet – Must be allocated to you before use – Now exhausted … &me for IPv6!
• Private IP addresses – Can be used freely within private networks (home, small company) – 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 – Need public IP address(es) and NAT to connect to global Internet
![Page 44: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/44.jpg)
Alloca&ng Public IP Addresses • Follows a hierarchical process
– IANA delegates to regional bodies (RIRs) – RIRs delegate to companies in their region – Companies assign to their customers/computers (later, DHCP)
Computer Networks 44
IANA (All IPs)
ARIN (US, Canada) APNIC (Asia Pacific)
RIPE (Europe) LACNIC (La&n America)
AfriNIC (Africa)
ISPs
Enterprises
Customers
Computers (DHCP)
![Page 45: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/45.jpg)
Computer Networks 45
IP Forwarding (§5.6.1-‐5.6.2) • How do routers forward packets?
– We’ll look at how IP does it – (We’ll cover rou&ng later)
Forward!
packet
![Page 46: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/46.jpg)
Computer Networks 46
Recap • We want the network layer to:
– Scale to large networks • Using addresses with hierarchy
– Support diverse technologies • Internetworking with IP
– Use link bandwidth well • Lowest-‐cost rou&ng
Next &me
More later
This lecture
![Page 47: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/47.jpg)
IP Forwarding • IP addresses on one network belong to the same prefix • Node uses a table that lists the next hop for IP prefixes
Computer Networks 47
D C B
A
Prefix Next Hop 192.24.0.0/18 D 192.24.12.0/22 B
![Page 48: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/48.jpg)
Longest Matching Prefix • Prefixes in the table might overlap!
– Combines hierarchy with flexibility
• Longest matching prefix forwarding rule: – For each packet, find the longest prefix that contains the des&na&on address, i.e., the most specific entry
– Forward the packet to the next hop router for that prefix
Computer Networks 48
![Page 49: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/49.jpg)
Longest Matching Prefix (2)
Computer Networks 49
Prefix Next Hop 192.24.0.0/18 D 192.24.12.0/22 B
192.24.0.0
192.24.63.255
/18
/22 192.24.12.0
192.24.15.255
IP address
192.24.6.0 à 192.24.14.32 à 192.24.54.0 à
More specific
D
B
D
![Page 50: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/50.jpg)
Host/Router Dis&nc&on • In the Internet:
– Routers do the rou&ng, know which way to all des&na&ons – Hosts send remote traffic (out of prefix) to nearest router
Computer Networks 50
It’s my job to know which way to go …
Not for my network? Send it to the router
![Page 51: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/51.jpg)
Computer Networks 51
Host Forwarding Table • Give using longest matching prefix
– 0.0.0.0/0 is a default route that catches all IP addresses
Prefix Next Hop My network prefix Send direct to that IP
0.0.0.0/0 Send to my router
![Page 52: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/52.jpg)
Computer Networks 52
Flexibility of Longest Matching Prefix • Can provide default behavior, with less specific prefixes – To send traffic going outside an organiza&on to a border router
• Can special case behavior, with more specific prefixes – For performance, economics, security, …
![Page 53: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/53.jpg)
Computer Networks 53
Performance of Longest Matching Prefix
• Uses hierarchy for a compact table – Benefits from less specific prefixes
• Lookup more complex than table – Was a concern for fast routers, but not an issue in prac&ce these days
![Page 54: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/54.jpg)
Computer Networks 54
Other Aspects of Forwarding • It’s not all about addresses …
Payload (e.g., TCP segment)
![Page 55: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/55.jpg)
Computer Networks 55
Other Aspects (2) • Decrement TTL value
– Protects against loops • Checks header checksum
– To add reliability • Fragment large packets
– Split to fit it on next link • Send conges&on signals
– Warns hosts of conges&on • Generates error messages
– To help mange network • Handle various op&ons
Coming later
![Page 56: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/56.jpg)
Computer Networks 56
Helping IP with ARP, DHCP (§5.6.4) • Filling in the gaps we need to make for IP forwarding work in prac&ce – Ge}ng IP addresses (DHCP) – Mapping IP to link addresses (ARP)
What link layer address do I use?
What’s my IP?
![Page 57: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/57.jpg)
Computer Networks 57
Ge}ng IP Addresses • Problem:
– A node wakes up for the first &me … – What is its IP address? What’s the IP address of its router? Etc. – At least Ethernet address is on NIC
Hey, where am I?
![Page 58: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/58.jpg)
Computer Networks 58
Ge}ng IP Addresses (2) 1. Manual configura&on (old days)
– Can’t be factory set, depends on use 2. A protocol for automa&cally configuring addresses
(DHCP) – Shiss burden from users to IT folks
Use A.B.C.D What’s my IP?
![Page 59: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/59.jpg)
Computer Networks 59
DHCP • DHCP (Dynamic Host Configura&on Protocol), from 1993,
widely used
• It leases IP address to nodes • Provides other parameters too
– Network prefix – Address of local router – DNS server, &me server, etc.
![Page 60: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/60.jpg)
Computer Networks 60
DHCP Protocol Stack • DHCP is a client-‐server applica&on
– Uses UDP ports 67, 68
Ethernet
IP
UDP
DHCP
![Page 61: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/61.jpg)
Computer Networks 61
DHCP Addressing • Bootstrap issue:
– How does node send a message to DHCP server before it is configured?
• Answer: – Node sends broadcast messages that delivered to all nodes on the network
– Broadcast address is all 1s – IP (32 bit): 255.255.255.255 – Ethernet (48 bit): ff:ff:ff:ff:ff:ff
![Page 62: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/62.jpg)
Computer Networks 62
DHCP Messages Client Server
One link
![Page 63: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/63.jpg)
Computer Networks 63
DHCP Messages (2) Client Server
DISCOVER
REQUEST
OFFER
ACK
Broadcast
![Page 64: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/64.jpg)
Computer Networks 64
DHCP Messages (3) • To renew an exis&ng lease, an abbreviated sequence is used: – REQUEST, followed by ACK
• Protocol also supports replicated servers for reliability
![Page 65: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/65.jpg)
Computer Networks 65
Sending an IP Packet • Problem:
– A node needs Link layer addresses to send a frame over the local link
– How does it get the des&na&on link address from a des&na&on IP address?
Uh oh … My IP is 1.2.3.4
![Page 66: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/66.jpg)
Computer Networks 66
ARP (Address Resolu&on Protocol) • Node uses to map a local IP address to its Link layer addresses
Source Ethernet
Dest. Ethernet
Source IP
Dest. IP Payload …
Link layer
From DHCP
From NIC
From ARP
![Page 67: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/67.jpg)
Computer Networks 67
ARP Protocol Stack • ARP sits right on top of link layer
– No servers, just asks node with target IP to iden&fy itself – Uses broadcast to reach all nodes
Ethernet
ARP
![Page 68: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/68.jpg)
Computer Networks 68
ARP Messages Node Target
One link
![Page 69: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/69.jpg)
Computer Networks 69
ARP Messages (2) Node Target
REQUEST Broadcast Who has IP 1.2.3.4?
REPLY
I do at 1:2:3:4:5:6
![Page 70: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/70.jpg)
Computer Networks 70
Discovery Protocols • Help nodes find each other
– There are more of them! • E.g., zeroconf, Bonjour
• Osen involve broadcast – Since nodes aren’t introduced – Very handy glue
![Page 71: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/71.jpg)
Big packet
Computer Networks 71
Packet Fragmenta&on (§5.5.5) • How do we connect networks with different maximum packet sizes? – Need to split up packets, or discover the largest size to use
It’s too big! Take that
![Page 72: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/72.jpg)
Computer Networks 72
Packet Size Problem • Different networks have different maximum packet sizes or MTUs – MTU = Maximum Transmission Unit – E.g., Ethernet 1.5K, WiFi 2.3K
• Prefer large packets for efficiency – But what size is too large? – Difficult because node does not know complete network path
![Page 73: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/73.jpg)
Computer Networks 73
Packet Size Solu&ons • Fragmenta&on (now)
– Split up large packets in the network if they are too big to send
– Classic method, but dated
• Discovery (next) – Find the largest packet that fits on the network path and use it – IP uses today instead of fragmenta&on
![Page 74: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/74.jpg)
IPv4 Fragmenta&on • Routers fragment packets that are too large to forward • Receiving host reassembles to reduce load on routers
Computer Networks 74
Fragment! Reassemble!
Fits on first link
![Page 75: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/75.jpg)
IPv4 Fragmenta&on Fields • Header fields used to handle packet size differences
– Iden&fica&on, Fragment offset, MF/DF control bits
Computer Networks 75
Payload (e.g., TCP segment)
![Page 76: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/76.jpg)
Computer Networks 76
IPv4 Fragmenta&on Procedure • Routers split a packet that is too large:
– Typically break into large pieces – Copy IP header to pieces – Adjust length on pieces – Set offset to indicate posi&on – Set MF (More Fragments) on all pieces except last
• Receiving hosts reassembles pieces: – Iden&fica&on field links pieces together, MF tells receiver when it has all pieces
![Page 77: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/77.jpg)
IPv4 Fragmenta&on (2)
Computer Networks 77
ID = 0x12ef Data Len = 2300 Offset = 0 MF = 0
ID = Data Len = Offset = MF =
ID = Data Len = Offset = MF =
Before MTU = 2300
Aser MTU = 1500
(Ignore length of headers)
![Page 78: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/78.jpg)
IPv4 Fragmenta&on (3)
Computer Networks 78
ID = 0x12ef Data Len = 2300 Offset = 0 MF = 0
ID = 0x12ef Data Len = 1500 Offset = 0 MF = 1
ID = 0x12ef Data Len = 800 Offset = 1500 MF = 0
Before MTU = 2300
Aser MTU = 1500
![Page 79: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/79.jpg)
Computer Networks 79
IPv4 Fragmenta&on (4) • It works!
– Allows repeated fragmenta&on
• But fragmenta&on is undesirable – More work for routers, hosts – Tends to magnify loss rate – Security vulnerabili&es too
![Page 80: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/80.jpg)
Computer Networks 80
Path MTU Discovery • Discover the MTU that will fit
– So we can avoid fragmenta&on – The method in use today
• Host tests path with large packet – Routers provide feedback if too large; they tell host what size would have fit
![Page 81: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/81.jpg)
Path MTU Discovery (2)
Computer Networks 81
Try 1200 Try 900
MTU=1200 bytes MTU=900 MTU=1400
![Page 82: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/82.jpg)
Path MTU Discovery (3)
Computer Networks 82
Try 1200 Try 900
Test #2 Test #3 Test #1
MTU=1200 bytes MTU=900 MTU=1400
![Page 83: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/83.jpg)
Computer Networks 83
Path MTU Discovery (4) • Process may seem involved
– But usually quick to find right size
• Path MTU depends on the path, so can change over &me – Search is ongoing
• Implemented with ICMP (next) – Set DF (Don’t Fragment) bit in IP header to get feedback messages
![Page 84: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/84.jpg)
Computer Networks 84
Error Handling with ICMP (§5.6.4) • What happens when something goes wrong during forwarding? – Need to be able to find the problem
Yikes! What happened?
XXXXXXX
![Page 85: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/85.jpg)
Computer Networks 85
Internet Control Message Protocol • ICMP is a companion protocol to IP
– They are implemented together – Sits on top of IP (IP Protocol=1)
• Provides error report and tes&ng – Error is at router while forwarding – Also tes&ng that hosts can use
![Page 86: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/86.jpg)
ICMP Errors • When router encounters an error while forwarding:
– It sends an ICMP error report back to the IP source address – It discards the problema&c packet; host needs to rec&fy
Computer Networks 86
Report then toss it! Oh, now I see … XXXXXXX
ICMP report
![Page 87: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/87.jpg)
ICMP Message Format • Each ICMP message has a Type, Code, and Checksum • Osen carry the start of the offending packet as payload • Each message is carried in an IP packet
Computer Networks 87
![Page 88: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/88.jpg)
ICMP Message Format (2) • Each ICMP message has a Type, Code, and Checksum • Osen carry the start of the offending packet as payload • Each message is carried in an IP packet
Computer Networks 88
Src=router, Dst=A Protocol = 1 Type=X, Code=Y Src=A, Dst=B
XXXXXXXXXXXXXXX
Por&on of offending packet, star&ng with its IP header
ICMP header IP header ICMP data
![Page 89: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/89.jpg)
Example ICMP Messages
Computer Networks 89
Name Type / Code Usage Dest. Unreachable (Net or Host) 3 / 0 or 1 Lack of connectivity Dest. Unreachable (Fragment) 3 / 4 Path MTU Discovery Time Exceeded (Transit) 11 / 0 Traceroute Echo Request or Reply 8 or 0 / 0 Ping
Tes&ng, not a forwarding error: Host sends Echo Request, and des&na&on responds with an Echo Reply
![Page 90: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/90.jpg)
Traceroute • IP header contains TTL (Time to live) field
– Decremented every router hop, with ICMP error if it hits zero – Protects against forwarding loops
Computer Networks 90
![Page 91: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/91.jpg)
Traceroute (2) • Traceroute repurposes TTL and ICMP func&onality
– Sends probe packets increasing TTL star&ng from 1 – ICMP errors iden&fy routers on the path
Computer Networks 91
. . . Local Host
Remote Host 1 hop 2 hops 3 hops N-‐1 hops N hops
![Page 92: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/92.jpg)
Computer Networks 92
IP Version 6 (§5.6.3) • IP version 6, the future of IPv4 that is now (s&ll) being deployed
Why do I want IPv6 again?
![Page 93: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/93.jpg)
Computer Networks 93
• At least a billion Internet hosts and growing …
• And we’re using 32-‐bit addresses!
Internet Growth
![Page 94: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/94.jpg)
The End of New IPv4 Addresses • Now running on lesover blocks held by the regional registries; much &ghter alloca&on policies
Computer Networks 94
IANA (All IPs)
ARIN (US, Canada)
APNIC (Asia Pacific)
RIPE (Europe) LACNIC
(La&n Amer.) AfriNIC (Africa)
ISPs
Companies
Exhausted on 2/11! End of the world ? 12/21/12?
Exhausted on 4/11 and 9/12!
![Page 95: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/95.jpg)
Computer Networks 95
IP Version 6 to the Rescue • Effort started by the IETF in 1994
– Much larger addresses (128 bits) – Many sundry improvements
• Became an IETF standard in 1998 – Nothing much happened for a decade – Hampered by deployment issues, and a lack of adop&on incen&ves
– Big push ~2011 as exhaus&on looms
![Page 96: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/96.jpg)
IPv6 Deployment
Computer Networks 96
Time for growth!
Source: Google IPv6 Sta&s&cs, 30/1/13
Percentage of users accessing Google via IPv6
![Page 97: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/97.jpg)
Computer Networks 97
IPv6 • Features large addresses
– 128 bits, most of header
• New nota&on – 8 groups of 4 hex digits (16 bits) – Omit leading zeros, groups of zeros
Ex: 2001:0db8:0000:0000:0000:ff00:0042:8329 à
32 bits
![Page 98: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/98.jpg)
Computer Networks 98
IPv6 (2) • Lots of other, smaller changes
– Streamlined header processing – Flow label to group of packets – Bemer fit with “advanced” features (mobility, mul&cas&ng, security)
32 bits
![Page 99: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/99.jpg)
Computer Networks 99
IPv6 Transi&on • The Big Problem:
– How to deploy IPv6? – Fundamentally incompa&ble with IPv4
• Dozens of approaches proposed – Dual stack (speak IPv4 and IPv6) – Translators (convert packets) – Tunnels (carry IPv6 over IPv4)
![Page 100: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/100.jpg)
Tunneling • Na&ve IPv6 islands connected via IPv4
– Tunnel carries IPv6 packets across IPv4 network
Computer Networks 100
![Page 101: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/101.jpg)
Tunneling (2) • Tunnel acts as a single link across IPv4 network
Computer Networks 101
User User Tunnel
![Page 102: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/102.jpg)
Tunneling (3) • Tunnel acts as a single link across IPv4 network
– Difficulty is to set up tunnel endpoints and rou&ng
Computer Networks 102
IPv6
Link
User User
IPv4 Link
IPv6 IPv6
Link
IPv6
Link IPv4 Link
IPv6 IPv6
Link
Na&ve IPv4 Na&ve IPv6 Na&ve IPv6
Tunnel
![Page 103: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/103.jpg)
Computer Networks 103
Network Address Transla&on (§5.6.2) • What is NAT (Network Address Transla&on)? How does it work? – NAT is widely used at the edges of the network, e.g., homes
I’m a NAT box too!
Internet
![Page 104: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/104.jpg)
Layering Review • Remember how layering is meant to work?
– “Routers don’t look beyond the IP header.” Well …
Computer Networks 104
TCP
IP
802.11
App
IP
802.11
IP Ethernet
TCP
IP
802.11
App
IP
802.11
IP Ethernet
Router
802.11
![Page 105: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/105.jpg)
Middleboxes • Sit “inside the network” but perform “more than IP” processing on packets to add new func&onality – NAT box, Firewall / Intrusion Detec&on System
Computer Networks 105
TCP
IP
802.11
App
IP
802.11
IP Ethernet
TCP
IP
802.11
App
IP IP Ethernet
Middlebox
App / TCP
802.11
![Page 106: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/106.jpg)
Computer Networks 106
Middleboxes (2) • Advantages
– A possible rapid deployment path when there is no other op&on
– Control over many hosts (IT)
• Disadvantages – Breaking layering interferes with connec&vity; strange side effects
– Poor vantage point for many tasks
![Page 107: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/107.jpg)
Computer Networks 107
NAT (Network Address Transla&on) Box • NAT box connects an internal network to an external network – Many internal hosts are connected using few external addresses
– Middlebox that “translates addresses”
• Mo&vated by IP address scarcity – Controversial at first, now accepted
![Page 108: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/108.jpg)
Computer Networks 108
NAT (2) • Common scenario:
– Home computers use “private” IP addresses – NAT (in AP/firewall) connects home to ISP using a single external IP
address
ISP
Unmodified computers at home Looks like one computer outside
NAT box
![Page 109: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/109.jpg)
Computer Networks 109
How NAT Works • Keeps an internal/external table
– Typically uses IP address + TCP port – This is address and port transla&on
• Need ports to make mapping 1-‐1 since there are fewer external IPs
Internal IP:port External IP : port 192.168.1.12 : 5523 44.25.80.3 : 1500 192.168.1.13 : 1234 44.25.80.3 : 1501 192.168.2.20 : 1234 44.25.80.3 : 1502
What ISP thinks What host thinks
![Page 110: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/110.jpg)
How NAT Works (2) • Internal à External:
– Look up and rewrite Source IP/port
Computer Networks 110
Internal IP:port External IP : port 192.168.1.12 : 5523 44.25.80.3 : 1500
NAT box
External des&na&on IP=X, port=Y
Internal source
Src = Dst =
Src = Dst =
![Page 111: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/111.jpg)
How NAT Works (3) • External à Internal
– Look up and rewrite Des&na&on IP/port
Computer Networks 111
Internal IP:port External IP : port 192.168.1.12 : 5523 44.25.80.3 : 1500
NAT box
External source
IP=X, port=Y Internal
des&na&on
Src = Dst =
Src = Dst =
![Page 112: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/112.jpg)
How NAT Works (4) • Need to enter transla&ons in the table for it to work
– Create external name when host makes a TCP connec&on
Computer Networks 112
Internal IP:port External IP : port 192.168.1.12 : 5523
NAT box
External des&na&on IP=X, port=Y
Internal source
Src = Dst =
Src = Dst =
![Page 113: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/113.jpg)
Computer Networks 113
NAT Downsides • Connec&vity has been broken!
– Can only send incoming packets aser an outgoing connec&on is set up
– Difficult to run servers or peer-‐to-‐peer apps (Skype) at home
• Doesn’t work so well when there are no connec&ons (UDP apps)
• Breaks apps that unwisely expose their IP addresses (FTP)
![Page 114: Operang)Systems)and)Networks) …...Computer)Networks) 4 Why)do)we)need)aNetwork)layer?) • We)can)already)build)networks))with)links)and)switches) and)send)frames)between)hosts)…)](https://reader034.vdocuments.site/reader034/viewer/2022042305/5ed07b10b0e09762e52be537/html5/thumbnails/114.jpg)
Computer Networks 114
NAT Upsides • Relieves much IP address pressure
– Many home hosts behind NATs • Easy to deploy
– Rapidly, and by you alone • Useful func&onality
– Firewall, helps with privacy
• Kinks will get worked out eventually – “NAT Traversal” for incoming traffic