Network Layer 4-40 IP addressing: CIDR CIDR: Classless InterDomain Routing m subnet portion of address of arbitrary length m address format: a.b.c.d/x, where x is # bits in subnet portion of address 11001000 00010111 00010000 00000000 subnet part host part 200.23.16.0/23
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Network Layer 4-40
IP addressing: CIDRCIDR: Classless InterDomain Routing
m subnet portion of address of arbitrary lengthm address format: a.b.c.d/x, where x is # bits in
subnet portion of address
11001000 00010111 00010000 00000000
subnetpart
hostpart
200.23.16.0/23
Network Layer 4-41
IP addresses: how to get one?
Q: How does host get IP address?
r hard-coded by system admin in a filem Wintel: control-panel->network->configuration-
>tcp/ip->propertiesm UNIX: /etc/rc.config
r DHCP: Dynamic Host Configuration Protocol: dynamically get address from serverm “plug-and-play”
(more in next chapter)
Network Layer 4-42
IP addresses: how to get one?Q: How does network get subnet part of IP
addr?A: gets allocated portion of its provider ISP’s
m outgoing datagrams: replace (source IP address, port #) of every outgoing datagram to (NAT IP address, new port #). . . remote clients/servers will respond using (NAT IP
address, new port #) as destination addr.
m remember (in NAT translation table) every (source IP address, port #) to (NAT IP address, new port #) translation pair
m incoming datagrams: replace (NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table
Network Layer 4-50
NAT: Network Address Translation
10.0.0.1
10.0.0.2
10.0.0.3
S: 10.0.0.1, 3345D: 128.119.40.186, 80
110.0.0.4
138.76.29.7
1: host 10.0.0.1 sends datagram to 128.119.40.186, 80
r 4.5 Routing algorithmsm Link statem Distance Vectorm Hierarchical routing
r 4.6 Routing in the Internetm RIPm OSPFm BGP
r 4.7 Broadcast and multicast routing
Network Layer 4-53
ICMP: Internet Control Message Protocol
r used by hosts & routers to communicate network-level informationm error reporting:
unreachable host, network, port, protocol
m echo request/reply (used by ping)
r network-layer “above” IP:m ICMP msgs carried in IP
datagramsr ICMP message: type, code plus
first 8 bytes of IP datagram causing error
Type Code description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion
control - not used)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header
ICMP
Network Layer 4-55
Traceroute and ICMP
r Source sends series of UDP segments to destm First has TTL =1m Second has TTL=2, etc.
r When nth datagram arrives to nth router:m Router discards datagramm And sends to source an
ICMP message (type 11, code 0)
m Message includes name of router& IP address
r When ICMP message arrives, source calculates RTT
r Traceroute does this 3 times
Stopping criterionr UDP segment eventually
arrives at destination hostr Destination returns ICMP
r 4.5 Routing algorithmsm Link statem Distance Vectorm Hierarchical routing
r 4.6 Routing in the Internetm RIPm OSPFm BGP
r 4.7 Broadcast and multicast routing
Network Layer 4-69
A Link-State Routing Algorithm
Dijkstra’s algorithmr net topology, link costs
known to all nodesm accomplished via “link
state broadcast” m all nodes have same info
r computes least cost paths from one node (‘source”) to all other nodesm gives forwarding table
for that noder iterative: after k
iterations, know least cost path to k dest.’s
Notation:r c(x,y): link cost from node
x to y; = ∞ if not direct neighbors
r D(v): current value of cost of path from source to dest. v
r p(v): predecessor node along path from source to v
r N': set of nodes whose least cost path definitively known
Network Layer 4-70
Dijsktra’s Algorithm1 Initialization:2 N' = {u} 3 for all nodes v 4 if v adjacent to u 5 then D(v) = c(u,v) 6 else D(v) = ∞ 7 8 Loop9 find w not in N' such that D(w) is a minimum 10 add w to N' 11 update D(v) for all v adjacent to w and not in N' : 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N'