Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 1 ECSE-4670: Computer...
-
date post
20-Dec-2015 -
Category
Documents
-
view
218 -
download
1
Transcript of Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 1 ECSE-4670: Computer...
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 1
ECSE-4670: Computer Communication Networks (CCN)
ECSE-4670: Computer Communication Networks (CCN)
Network Layer
Shivkumar Kalyanaraman: [email protected]
Biplab Sikdar: [email protected]
http://www.ecse.rpi.edu/Homepages/shivkuma
Network Layer
Shivkumar Kalyanaraman: [email protected]
Biplab Sikdar: [email protected]
http://www.ecse.rpi.edu/Homepages/shivkuma
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 2
• understand principles behind network layer services:– Internetworking concepts– The network layer– IP – routing (path selection)– how a router works
ChapterGoals
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 3
• Internetworking• network layer services• IP• routing principle: path selection• hierarchical routing• Internet routing protocols reliable transfer
– intra-domain– inter-domain
• what’s inside a router?
Overview
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 4
The Internetworking Problem• Two nodes communicating across a
“network of networks”…
– How to transport packets through this heterogeneous mass ?
A B
Cloud
Cloud
Cloud
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 5
The Internetworking Problem
• Problems: heterogeneity and scaling• Heterogeneity:
– How to interconnect a large number of disparate networks ? (lower layers)
– How to support a wide variety of applications ? (upper layers)
• Scaling: – How to support a large number of end-
nodes and applications in this interconnected network ?
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 6
Heterogeneity: Solutions
• Translation (eg: bridges): specify a separate mapping between every pair of protocols(+) No software changes in networks required.
() Need to specify N mappings when a new lower layer protocol is added to the list
() When many networks, subset = 0() Mapping may be asymmetric
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 7
Heterogeneity: Solutions
– Overlay model: Define a new protocol (IP) and map all networks to IP(+) Require only one mapping (IP -> new
protocol) when a new protocol is added(+) Global address space can be created
for universal addressibility and scaling
() Requires changes in lower networks (eg: protocol type field for IP)
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 8
Heterogeneity: Solutions
() IP has to be necessarily simple else mapping will be hard.
– Even in its current form mapping IP to ATM has proven to be really hard.
– Basis for “best-effort” forwarding() Protocol mapping infrastructure
needed: address hierarchy, address resolution, fragmentation
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 9
The Internet Network layer
routingtable
Host, router network layer functions:
Routing protocols•path selection•RIP, OSPF, BGP
IP protocol•addressing conventions•datagram format•packet handling conventions
ICMP protocol•error reporting•router “signaling”
Transport layer: TCP, UDP
Link layer
physical layer
Networklayer
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 10
IP Addressing: introduction• IP address: 32-bit
identifier for host, router interface
• interface: connection between host, router and physical link– router’s typically have
multiple interfaces– host may have multiple
interfaces– IP addresses associated
with interface, not host, router
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 11
IP Addressing - 1• IP address:
– network part (high order bits)
– host part (low order bits)
• What’s a network ? (from IP address perspective)– device interfaces with
same network part of IP address
– can physically reach each other without intervening router
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
network consisting of 3 IP networks(for IP addresses starting with 223, first 24 bits are network address)
LAN
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 12
IP Addressing - 2How to find the
networks?• Detach each
interface from router, host
• create “islands of isolated networks
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.1
223.1.2.6
223.1.1.2
223.1.7.0
223.1.7.1223.1.8.0223.1.8.1
223.1.9.1
223.1.9.2
Interconnected system consisting
of six networks
223.1.3.2223.1.3.1
223.1.3.27
223.1.2.2
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 13
IP Addresses
0 network host
10 network host
110 network host
1110 multicast address
A
B
C
D
class1.0.0.0 to127.255.255.255
128.0.0.0 to191.255.255.255
192.0.0.0 to223.255.255.255
224.0.0.0 to239.255.255.255
32 bits
given notion of “network”, let’s re-examine IP addresses:
“class-full” addressing:
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 14
Some Special IP Addresses
• All-0s This computer• All-1s All hosts on this net (limited
broadcast: don’t forward out of this net)
• All-0 host suffix Network Address (‘0’ means ‘this’)
• All-1 host suffix All hosts on the destination net (directed broadcast).
• 127.*.*.* Loopback through IP layer
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 15
IP addressing: CIDR - 1
• classful addressing: – inefficient use of address space,
address space exhaustion
– e.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that network
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 16
IP addressing: CIDR - 2
• CIDR: Classless InterDomain Routing– network portion of address of arbitrary
length– address format: a.b.c.d/x, where x is #
bits in network portion of address
11001000 00010111 00010000 00000000
networkpart
hostpart
200.23.16.0/23
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 17
Subnet Addressing
– External routers need to store entries only for the “network ID”
– Internal routers & hosts use subnet mask to identify “subnet ID” and route packets between “subnets” within the “network”.
– Eg: Mask: 255.255.255.0 => subnet ID = 8 bits with upto 62 hosts/subnet
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 18
Subnet Addressing (Continued)
– Route table lookup: • IF ((Mask[i] & Destination Addr) = =
Destination[i]) Forward to NextHop[i]
– Subnet mask can end on any bit.– Mask must have contiguous 1s followed
by contiguous zeros. Routers do not support other types of masks.
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 19
Route Table Lookup: Example
Destination Mask Next Hop30.0.0.0 255.0.0.0 40.0.0.740.0.0.0 255.0.0.0 Deliver direct128.1.0.0 255.255.0.0 Deliver direct192.4.10.0 255.255.255.0 128.1.0.9
30.0.0.030.0.0.0 40.0.0.040.0.0.0 128.1.0.0128.1.0.0 192.4.0.0192.4.0.0
30.0.0.7
40.0.0.7 128.1.0.8 192.4.10.9
40.0.0.8 128.1.0.9
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 20
IP addresses: how to get one?
Hosts (host portion):• hard-coded by system admin in a file• DHCP: Dynamic Host Configuration
Protocol: dynamically get address: “plug-and-play”– host broadcasts “DHCP discover” msg– DHCP server responds with “DHCP offer” msg– host requests IP address: “DHCP request”
msg– DHCP server sends address: “DHCP ack” msg
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 21
IP addresses: how to get one?
Network (network portion):• get allocated portion of ISP’s
address space:
ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20
Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23
Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23
Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….
Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 22
Hierarchical addressing: route aggregation
“Send me anythingwith addresses beginning 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-Us“Send me anythingwith addresses beginning 199.31.0.0/16”
200.23.20.0/23Organization 2
...
...
Hierarchical addressing allows efficient advertisement of routing information:
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 23
Hierarchical addressing: more specific routes
ISPs-R-Us has a more specific route to Organization 1
“Send me anythingwith addresses beginning 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-Us“Send me anythingwith addresses beginning 199.31.0.0/16or 200.23.18.0/23”
200.23.20.0/23Organization 2
...
...
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 24
IP addressing: the last word...
Q: How does an ISP get block of addresses?
A: ICANN: Internet Corporation for Assigned Names and Numbers
– allocates addresses– manages DNS– assigns domain names, resolves
disputes
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 25
Getting a datagramfrom source to dest. - 1
IP datagram:
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
B
E
miscfields
sourceIP addr
destIP addr data
datagram remains unchanged, as it travels source to destinationaddr fields of interest here
routing table in ADest. Net. next router Nhops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 26
Getting a datagramfrom source to dest. - 2
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
B
E
Starting at A, given IP datagram addressed to B:look up net. address of Bfind B is on same net. as Alink layer will send datagram directly to B inside link-layer frame
B and A are directly connected
Dest. Net. next router Nhops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
miscfields 223.1.1.1 223.1.1.3 data
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 27
Getting a datagramfrom source to dest. - 3
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
B
E
Dest. Net. next router Nhops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
Starting at A, dest. E:look up network address of EE on different network
A, E not directly attached
routing table: next hop router to E is 223.1.1.4 link layer sends datagram to router 223.1.1.4 inside link-layer framedatagram arrives at 223.1.1.4 continued…..
miscfields 223.1.1.1 223.1.2.2 data
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 28
Getting a datagramfrom source to dest. – 4
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
B
E
Arriving at 223.1.4, destined for 223.1.2.2look up network address of EE on same network as router’s
interface 223.1.2.9 router, E directly attached
link layer sends datagram to 223.1.2.2 inside link-layer frame
via interface 223.1.2.9 datagram arrives at 223.1.2.2!!! (hooray!)
miscfields 223.1.1.1 223.1.2.2 data network router Nhops interface
223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9
223.1.3 - 1 223.1.3.27
Dest. next
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 29
IP Features
• Connectionless service• Addressing• Data forwarding• Fragmentation and reassembly • Supports variable size datagrams• Best-effort delivery• Provides only “Send” and “Delivery”
services. Error and control messages generated by Internet Control Message Protocol (ICMP)
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 30
What IP does NOT provide
• End-to-end data reliability & flow control (done by TCP or application layer protocols)
• Sequencing of packets (like TCP)
• Error detection in payload (TCP, UDP or other transport layers)
• Error reporting (ICMP)
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 31
What IP does NOT provide (Continued)
• Setting up route tables (RIP, OSPF, BGP etc)
• Connection setup (it is connectionless)
• Address/Name resolution (ARP, RARP, DNS)
• Configuration (BOOTP, DHCP)• Multicast (IGMP, MBONE)
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 32
IP datagram format
ver length
32 bits
data (variable length,typically a TCP
or UDP segment)
16-bit identifier
Internet checksum
time tolive
32 bit source IP address
IP protocol versionnumber
header length (bytes)
max numberremaining hops
(decremented at each router)
forfragmentation/reassembly
total datagramlength (bytes)
upper layer protocolto deliver payload to
head.len
type ofservice
“type” of data flgsfragment
offsetupper layer
32 bit destination IP address
Options (if any) E.g. timestamp,record routetaken, pecifylist of routers to visit.
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 33
IP Fragmentation & Reassembly - 1
• network links have MTU (max.transfer size) - largest possible link-level frame.– different link types,
different MTUs • large IP datagram divided
(“fragmented”) within net– one datagram becomes
several datagrams– “reassembled” only at
final destination– IP header bits used to
identify, order related fragments
fragmentation: in: one large datagramout: 3 smaller datagrams
reassembly
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 34
IP Fragmentation and Reassembly - 2
ID=x
offset=0
fragflag=0
length=4000
ID=x
offset=0
fragflag=1
length=1500
ID=x
offset=1480
fragflag=1
length=1500
ID=x
offset=2960
fragflag=0
length=1040
One large datagram becomesseveral smaller datagrams
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 35
Summary
• Internet architectural principles• IP addressing and header• Fragmentation/Reassembly, Path
MTU discovery