1. 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 each interface
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.2
223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 1
1
2. IP Addressing
• IP address:
– network part/prefix (high
order bits)
– host part (low order bits)
– Additional hosts to 223.1.1
network would have address
of 223.1.1.xxx
• 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.2
223.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
3. IP Addressing
How to find the networks?
• Detach each interface
from router, host
• create “islands of isolated
networks
• There are 6 networks on
right incl. that joining
R1R2, R2R3, R1R3.
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2
223.1.2.1
223.1.2.6
223.1.3.2
223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.0
223.1.7.1
223.1.8.0
223.1.8.1
223.1.9.1
223.1.9.2
R1
R3
R2
4. IP Addresses
0network host
1110 multicast address
A
D
class
1.0.0.0 to
127.255.255.255
10 network host
B 128.0.0.0 to
191.255.255.255
110 network host
C 192.0.0.0 to
223.255.255.255
224.0.0.0 to
239.255.255.255
32 bits
given notion of “network”, let’s re-examine IP addresses:
“class-full” addressing: 4 shown, 5th
was for future use
beginning with 11110
5. IP Addresses (Class A, B, C. D later)
0network host
A 1.0.0.0 to
127.255.255.255
2^7 networks (first bit is 0)
2^(24) interfaces
10 network host
B 128.0.0.0 to
191.255.255.255
2^(14) networks (first 2 bits are 10)
2^(16) interfaces
110 network host
C 192.0.0.0 to
223.255.255.255
2^(21) networks (first 3 bits are 110)
2^(8) interfaces
6. Classful addressing
Class A, B, C networks require 1, 2 and 3 bytes for the
network portion.
E.g., Class C networks can accommodate only 2^8-2 =
254 hosts (2 are reserved). Small for most medium to
large organizations.
However Class B supports 65,634 hosts – too large.
An organization with 2000 hosts ended up with class B
addressing – address space was ill used.
Therefore in 1993, Classless Interdomain Routing
(CIDR) was introduced.
7. IP addressing: CIDR (RFC 1519)
• 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
• Classful/CIDR addressing example:
– Prev. example with 2000 hosts. Therefore 2^16 – 2000 = 63K
addresses were unused.
– CIDR: Network part: 21 bits. Host part: 2^11 = 2048 hosts.
11001000 00010111 00010000 00000000
network
part
host
part
200.23.16.0/21
8. IP addresses: how to get one?
Q: How does host get IP address?
• hard-coded by system admin in a file
– Wintel: control-panel->network->configuration-
>tcp/ip->properties
– UNIX: /etc/rc.config
• DHCP: Dynamic Host Configuration Protocol:
dynamically get address from a server
– “plug-and-play”
(more shortly)
9. IP addresses: how to get one?
Q: How does network get network part of IP addr?
A: gets allocated portion of its provider ISP’s address
space
ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20
(allocated to ISP). It is divided into 8 equal sized blocks.
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
10. Hierarchical addressing: route aggregation
“Send me anything
with 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 7
Internet
Organization 1
ISPs-R-Us
“Send me anything
with addresses
beginning
199.31.0.0/16”
200.23.20.0/23
Organization 2
.
.
.
.
.
.
Hierarchical addressing allows efficient advertisement of routing
information: “Fly-by-night-ISP requests that all datagrams whose first
20 address bits match 200.23.16.0/20. The world doesn’t know that
within this there are 8 other orgs. each with their own networks.
11. Hierarchical addressing: more specific
routes
Suppose Org. 1 dislikes Fly-by-night-ISP’s service and wants to move to
ISPs-R-Us? Org.1 keeps its addresses in 200.23.18.0/23 but now
ISPs-R-Us advertises 200.23.18.0/23.
Organization 0
“Send me anything
with addresses
beginning
200.23.16.0/20” Internet
“Send me anything
with addresses
beginning 199.31.0.0/16
or 200.23.18.0/23”
Fly-By-Night-ISP
ISPs-R-Us
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Organization 7
Organization 1
200.23.20.0/23
Organization 2
.
.
.
.
.
.
When other routers see 200.23.16.0/20 &
200.23.18.0/23 and want to route to 200.23.18.0/23
They will use the longest prefix matching rule
and send to ISPs-R-Us
12. IP addressing: the last word...
Q: How does an ISP get block of addresses?
A: ICANN: Internet Corporation for Assigned
Names and Numbers (guidelines in RFC 2050)
– allocates addresses
– manages DNS
– assigns domain names, resolves disputes
13. Little more on DHCP
Network admin. can configure DHCP so that a given host gets a
persistent IP address, i.e., each time a host joins the network
it gets the same IP address.
Problem: Many ISP’s don’t have as many IP addresses as there
are hosts.
Solution: If an ISP has 4000 customers but only 400 are online
at a given time. In that case it might only need a block of 512
addresses (e.g., 200.23.30.0/23)
Each time a host joins the network it is assigned a new and
arbitrary IP address
DHCP server updates list of available addresses
14. Getting a datagram from source to dest.
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.2
223.1.3.1
223.1.3.27
A
B
E
misc
fields
source
IP addr
dest
IP addr
data
• Simplified IP hdr above
• datagram remains unchanged, as it
travels source to destination
• addr fields of interest
• Let A send datagram to B
• IP proto. in A sees 223.1.1 in
forwarding table matching leading
bits of IP address of B with one
hop, i.e., B is on same network.
• A puts datagram to link-layer
protocol whose job it is to move
datagram to B.
Dest. Net. next router Nhops
223.1.1 1
223.1.2 223.1.1.4 2
223.1.3 223.1.1.4 2
forwarding table in A
16. Getting a datagram from source to dest.
Dest. Net. next router Nhops
223.1.1 1
223.1.2 223.1.1.4 2
223.1.3 223.1.1.4 2
Starting at A, dest. E:
• look up network address of E in
forwarding table
• E 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 frame
• datagram arrives at 223.1.1.4
• continued…..
misc
fields 223.1.1.1 223.1.2.2 data
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.2
223.1.3.1
223.1.3.27
A
B
E
forwarding table in A
17. Getting a datagram from source to dest.
Arriving at 223.1.4, destined for
223.1.2.2
• look up network address of E in
router’s forwarding table
• E 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!)
misc
fields 223.1.1.1 223.1.2.2 data Dest. Net router Nhops interface
223.1.1 - 1 223.1.1.4
223.1.2.0/24 - 1 223.1.2.9
223.1.3 - 1 223.1.3.27
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.2
223.1.3.1
223.1.3.27
A
B
E
forwarding table in router
18. More on forwarding tables
• Forwarding tables in routers are central
• How are forwarding tables configured and maintained
for large networks with multiple paths?
– These tables must allow good paths
• As it turns out, routing algorithms have the role of
configuring and maintaining these tables.
19. IP datagram format
ver length
32 bits
data
(variable length,
typically a TCP
or UDP segment)
16-bit identifier
Internet
checksum
time to
live
32 bit source IP address
IP protocol version
number
header length
(bytes)
max number
remaining hops
(decremented at
each router)
for
fragmentation/
reassembly
total datagram
length (bytes)
upper layer protocol
to deliver payload to
head.
len
type of
service
“type” of data
flgs
fragment
offset
upper
layer
32 bit destination IP address
Options (if any) E.g. timestamp,
record route
taken, specify
list of routers
to visit.
how much overhead
with TCP?
• 20 bytes of TCP
• 20 bytes of IP
• = 40 bytes + app
layer overhead
20. IP datagram format (cont’d)
• Version number: IPv4 or IPv6. Datagram format changes with
this number. For now we will describe v4.
• Header length: v4 datagram contains a variable number of
options. It indicates where data starts
• Type of service: Permits different types of v4 datagrams.
Example: Cisco routers examine the first three bits and
interprets these as defining different levels of service to be
provided by the router. This is a policy issue and is
determined by routers admin.
• Datagram length: Total length of header + data (i.e.,
datagram). Theoretical max. is 2^16 but datagrams are rarely
greater than 1500 bytes and are frequently set to 576 bytes.
21. IP datagram format (cont’d)
• Identifier, flags, frag. offset: To be discussed.
• Header length: v4 d’gram contains a variable number of
options. It indicates where data starts
• Time to live: TTL prevents d’grams from ending in router
loops & living forever. TTL = TTL –1 on passage through
router; TTL=0 means discard d’gram.
• Protocol: Only used when IP d’gram reaches final destination.
Value 6 means pass to TCP, 17 to UDP. The protocol # is the
“glue” that holds the network and transport layers together.
• Header checksum : Discussed in TCP (transport layer).
Routers discard d’grams that have bit errors. Recomputed at
each router as at least TTL changes.
22. IP datagram format (cont’d)
• Identifier, flags, frag. offset: To be discussed.
• Header length: v4 d’gram contains a variable number of
options. It indicates where data starts
• Time to live: TTL prevents d’grams from ending in router
loops & living forever. TTL = TTL –1 on passage through
router; TTL=0 means discard d’gram.
• Protocol: Only used when IP d’gram reaches final destination.
Value 6 means pass to TCP, 17 to UDP. The protocol # is the
“glue” that holds the network and transport layers together.
• Header checksum : Discussed in TCP (transport layer).
Routers discard d’grams that have bit errors. Recomputed at
each router as at least TTL changes.
23. IP datagram format (cont’d)
• Source and dest IP addresses: We know about this.
However, 255.255.255.255 is a special IP add. When
a datagram has this IP, then the message is delivered
to all hosts on the same network. Routers could also
forward it to neighbouring networks.
• Options: Options field permits extensions to IP
header. Options are simply not used much today and
are dropped in IPv6.
• Data (payload): Most of the time, IP carries TCP or
UDP, but ICMP messages could be carried too.
24. IP Fragmentation & Reassembly
• 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 datagram
out: 3 smaller datagrams
reassembly
25. IP Fragmentation and Reassembly
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 becomes
several smaller datagrams
• IP header has
identification (x), flag,
and fragmentation fields
• Example: 4000byte
d’gram (20byte header
+ 3980 IP payload).
• MTU = 1500bytes
• Frag 1: 1480bytes +
20byte header
• Frag 2: 1480bytes +
20byte header
• Frag 3: 3980-2*1480
bytes + 20byte header
26. ICMP: Internet Control Message Protocol
• used by hosts, routers, gateways to
communication network-level
information
– error reporting: unreachable
host, network, port, protocol
– echo request/reply (used by
ping)
• network-layer “above” IP:
– ICMP msgs carried in IP
datagrams
• ICMP message: type, code plus
first 8 bytes of IP datagram causing
error
Type Code description
0 0 echo reply (ping)
3 0 dest. network unreachable
3 1 dest host unreachable
3 2 dest protocol unreachable
3 3 dest port unreachable
3 6 dest network unknown
3 7 dest host unknown
4 0 source quench (congestion
control - not used)
8 0 echo request (ping)
9 0 route advertisement
10 0 router discovery
11 0 TTL expired
12 0 bad IP header
13 0 Timestamp
14 0 Timestamp reply
15 0 Information request
16 0 Information reply
27. ICMP: Internet Control Message Protocol
32 bits
Type Code Checksum
Unused
IP header + 64 bits of original datagram
Most frequent ICMP message format
28. ICMP: Ping
32 bits
Type Code Checksum
Data ….
Ping uses Echo/Echo Reply
Identifier Sequence Number
• Ping uses Echo/Echo Reply
•TYPE = 8 for Echo
•TYPE = 0 for Echo reply, a new value of IP and Ping checksum is
calculated.
•Ping computes time between sending Echo d’grams and the
corresponding reply and computes RTT from that.
29. •Pinging stymie.gsfc.nasa.gov [128.183.8.93] with 32
bytes of data:
•Reply from 128.183.8.93: bytes=32 time<10ms TTL=64
•Reply from 128.183.8.93: bytes=32 time<10ms TTL=64
•Reply from 128.183.8.93: bytes=32 time<10ms TTL=64
•Reply from 128.183.8.93: bytes=32 time<10ms TTL=64
•Ping statistics for 128.183.8.93:
• Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
•Approximate round trip times in milli-seconds:
• Minimum = 0ms, Maximum = 0ms, Average = 0ms
Ping – Example session
30. DHCP: Dynamic Host Configuration Protocol
Goal: allow host to dynamically obtain its IP address from network
server when it joins network
Can renew its lease on address in use
Allows reuse of addresses (only hold address while connected an “on”
Support for mobile users who want to join network (more shortly)
DHCP overview:
– 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
32. DHCP client-server scenario
DHCP server: 223.1.2.5 arriving
client
time
DHCP discover
src : 0.0.0.0, 68 (port)
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654
DHCP offer
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddr: 223.1.2.4
transaction ID: 654
Lifetime (of IP Add): 3600 secs
DHCP request
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
There may be multiple
DHCP servers responding
with a “DHCP offer”
Client will choose from
one of many servers – if
more than one server
responds.
33. NAT: Network Address Translation
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
local network
(e.g., home network)
10.0.0/24
rest of
Internet
Datagrams with source or
destination in this network
have 10.0.0/24 address for
source, destination (as usual)
All datagrams leaving local
network have same single source
NAT IP address: 138.76.29.7,
different source port numbers
1) Every IP-capable device needs an IP address.
2) Proliferation of Small Office/Home Office (SOHO) networks.
3) The range of addresses needs to be larger.
NAT enabled
router
34. NAT: Network Address Translation
• Motivation: local network uses just one IP address as far
as outside word is concerned:
– no need to be allocated range of addresses from ISP:
- just one IP address is used for all devices
– can change addresses of devices in local network
without notifying outside world
– can change ISP without changing addresses of
devices in local network
– devices inside local net not explicitly addressable,
visible by outside world (a security plus).
35. NAT: Network Address Translation
Implementation: NAT router must:
– 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.
– remember (in NAT translation table) every (source IP address,
port #) to (NAT IP address, new port #) translation pair
– 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
36. NAT: Network Address Translation
10.0.0.1
10.0.0.2
10.0.0.3
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
1
10.0.0.4
138.76.29.7
1: host 10.0.0.1
sends datagram to
128.119.40, 80
NAT translation table
WAN side addr LAN side addr
138.76.29.7, 5001 10.0.0.1, 3345
…… ……
S: 128.119.40.186, 80
D: 10.0.0.1, 3345 4
S: 138.76.29.7, 5001
D: 128.119.40.186, 80
2
2: NAT router
changes datagram
source addr from
10.0.0.1, 3345 to
138.76.29.7, 5001,
updates table
S: 128.119.40.186, 80
D: 138.76.29.7, 5001 3
3: Reply arrives
dest. address:
138.76.29.7, 5001
4: NAT router
changes datagram
dest addr from
138.76.29.7, 5001 to 10.0.0.1, 3345
Arbitrarily chosen by NAT router
37. NAT: Network Address Translation
• 16-bit port-number field:
– 60,000 simultaneous connections with a single LAN-
side address!
• NAT is controversial:
– routers should only process up to layer 3
– violates end-to-end argument
• NAT possibility must be taken into account by app designers,
eg, P2P applications
– address shortage should instead be solved by IPv6
38. Chapter 4 roadmap
4.1 Introduction and Network Service Models
4.2 Routing Principles
4.3 Hierarchical Routing
4.4 The Internet (IP) Protocol
4.5 Routing in the Internet
– 4.5.1 Intra-AS routing: RIP and OSPF
– 4.5.2 Inter-AS routing: BGP
4.6 What’s Inside a Router?
4.7 IPv6
4.8 Multicast Routing
4.9 Mobility
39. Routing in the Internet
• The Global Internet consists of Autonomous Systems
(AS) interconnected with each other:
– Stub AS: small corporation: one connection to other AS’s
– Multihomed AS: large corporation (no transit): multiple
connections to other AS’s
– Transit AS: provider, hooking many AS’s together
• Two-level routing:
– Intra-AS: administrator responsible for choice of routing
algorithm within network
– Inter-AS: unique standard for inter-AS routing: BGP
41. Intra-AS Routing
• Also known as Interior Gateway Protocols (IGP)
• Most common Intra-AS routing protocols:
– RIP: Routing Information Protocol
– OSPF: Open Shortest Path First
– IGRP: Interior Gateway Routing Protocol (Cisco
proprietary)
42. RIP ( Routing Information Protocol)
• Distance vector algorithm
• Included in BSD-UNIX Distribution in 1982
• Distance metric: # of hops (max = 15 hops)
– Can you guess why?
• Distance vectors: exchanged among neighbors every
30 sec via Response Message (also called
advertisement)
• Each advertisement: list of up to 25 destination nets
within AS
43. RIP: Example
Destination Network Next Router Num. of hops to dest.
w A 2
y B 2
z B 7
x -- 1
…. …. ....
w x y
z
A
C
D B
Routing table in D
44. RIP: Example
Destination Network Next Router Num. of hops to dest.
w A 2
y B 2
z B A 7 5
x -- 1
…. …. ....
Routing table in D
w x y
z
A
C
D B
Dest Next hops
w - -
x - -
z C 4
…. … ...
Advertisement
from A to D
Note # of hops < 7 (see prev. table)
45. RIP: Link Failure and Recovery
If no advertisement heard after 180 sec -->
neighbor/link declared dead
– routes via neighbor invalidated
– new advertisements sent to neighbors
– neighbors in turn send out new advertisements (if
tables changed)
– link failure info quickly propagates to entire net
– poison reverse used to prevent ping-pong loops
(infinite distance = 16 hops)
46. RIP Table processing
• RIP routing tables managed by application-level
process called route-d (daemon)
• advertisements sent in UDP packets, periodically
repeated
physical
link
network forwarding
(IP) table
Transprt
(UDP)
routed
physical
link
network
(IP)
Transprt
(UDP)
routed
forwarding
table
47. RIP Table example (continued)
Router: giroflee.eurocom.fr
• Three attached class C networks (LANs)
• Router only knows routes to attached LANs
• Default router used to “go up”
• Route multicast address: 224.0.0.0
• Loopback interface (for debugging)
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
127.0.0.1 127.0.0.1 UH 0 26492 lo0
192.168.2. 192.168.2.5 U 2 13 fa0
193.55.114. 193.55.114.6 U 3 58503 le0
192.168.3. 192.168.3.5 U 2 25 qaa0
224.0.0.0 193.55.114.6 U 3 0 le0
default 193.55.114.129 UG 0 143454
48. OSPF (Open Shortest Path First)
• “open”: publicly available
• Uses Link State algorithm
– LS packet dissemination
– Topology map at each node
– Route computation using Dijkstra’s algorithm
• OSPF advertisement carries one entry per neighbor
router
• Advertisements disseminated to entire AS (via
flooding)
– Carried in OSPF messages directly over IP (rather than
TCP or UDP
49. OSPF “advanced” features (not in RIP)
• Security: all OSPF messages authenticated (to
prevent malicious intrusion)
• Multiple same-cost paths allowed (only one path in
RIP)
• For each link, multiple cost metrics for different TOS
(e.g., satellite link cost set “low” for best effort; high
for real time)
• Integrated uni- and multicast support:
– Multicast OSPF (MOSPF) uses same topology
data base as OSPF
• Hierarchical OSPF in large domains.
51. Hierarchical OSPF
• Two-level hierarchy: local area, backbone.
– Link-state advertisements only in area
– each nodes has detailed area topology; only know
direction (shortest path) to nets in other areas.
• Area border routers: “summarize” distances to nets
in own area, advertise to other Area Border routers.
• Backbone routers: run OSPF routing limited to
backbone.
• Boundary routers: connect to other AS’s.
52. Inter-AS routing in the Internet: BGP
Figure 4.5.2-new2: BGP use for inter-domain routing
AS2
(OSPF
intra-AS
routing)
AS1
(RIP intra-AS
routing) BGP
AS3
(OSPF intra-AS
routing)
BGP
R1 R2
R3
R4
R5
53. Internet inter-AS routing: BGP
• BGP (Border Gateway Protocol): the de facto standard
• Path Vector protocol:
– similar to Distance Vector protocol
– each Border Gateway broadcast to neighbors (peers)
entire path (i.e., sequence of AS’s) to destination
– BGP routes to networks (ASs), not individual hosts
– E.g., Gateway X may send its path to dest. Z:
Path (X,Z) = X,Y1,Y2,Y3,…,Z
54. Internet inter-AS routing: BGP
Suppose: gateway X send its path to peer gateway W
• W may or may not select path offered by X
– cost, policy (don’t route via competitors AS), loop prevention reasons.
• If W selects path advertised by X, then:
Path (W,Z) = w, Path (X,Z)
• Note: X can control incoming traffic by controlling it route
advertisements to peers:
– e.g., don’t want to route traffic to Z -> don’t advertise any routes to Z
55. BGP: controlling who routes to you
Figure 4.5-BGPnew: a simple BGP scenario
A
B
C
W
X
Y
legend:
customer
network:
provider
network
• A,B,C are provider networks
• X,W,Y are customer (of provider networks)
• X is dual-homed: attached to two networks
– X does not want to route from B via X to C
– .. so X will not advertise to B a route to C
56. BGP: controlling who routes to you
Figure 4.5-BGPnew: a simple BGP scenario
A
B
C
W
X
Y
legend:
customer
network:
provider
network
• A advertises to B the path AW
• B advertises to W the path BAW
• Should B advertise to C the path BAW?
– No way! B gets no “revenue” for routing CBAW since neither W nor
C are B’s customers
– B wants to force C to route to w via A
– B wants to route only to/from its customers!
57. BGP operation
Q: What does a BGP router do?
• Receiving and filtering route advertisements from
directly attached neighbor(s).
• Route selection.
– To route to destination X, which path )of
several advertised) will be taken?
• Sending route advertisements to neighbors.
58. BGP messages
• BGP messages exchanged using TCP.
• BGP messages:
– OPEN: opens TCP connection to peer and
authenticates sender
– UPDATE: advertises new path (or withdraws old)
– KEEPALIVE keeps connection alive in absence of
UPDATES; also ACKs OPEN request
– NOTIFICATION: reports errors in previous msg;
also used to close connection
59. Why different Intra- and Inter-AS routing ?
Policy:
• Inter-AS: admin wants control over how its traffic
routed, who routes through its net.
• Intra-AS: single admin, so no policy decisions needed
Scale:
• hierarchical routing saves table size, reduced update
traffic
Performance:
• Intra-AS: can focus on performance
• Inter-AS: policy may dominate over performance
60. IPv6
• Initial motivation: 32-bit address space
completely allocated by 2008.
• Additional motivation:
– header format helps speed processing/forwarding
– header changes to facilitate QoS
– new “anycast” address: route to “best” of several
replicated servers
• IPv6 datagram format:
– fixed-length 40 byte header
– no fragmentation allowed
61. IPv6 Header (Cont)
Priority: identify priority among datagrams in flow
Flow Label: identify datagrams in same “flow.”
(concept of“flow” not well defined).
Next header: identify upper layer protocol for data
62. Other Changes from IPv4
• Checksum: removed entirely to reduce
processing time at each hop
• Options: allowed, but outside of header,
indicated by “Next Header” field
• ICMPv6: new version of ICMP
– additional message types, e.g. “Packet Too Big”
– multicast group management functions
63. Transition From IPv4 To IPv6
• Not all routers can be upgraded simultaneous
– no “flag days”
– How will the network operate with mixed IPv4 and
IPv6 routers?
• Two proposed approaches:
– Dual Stack: some routers with dual stack (v6, v4)
can “translate” between formats
– Tunneling: IPv6 carried as payload in IPv4
datagram among IPv4 routers