31
Network Layer: IP (contd.), ICMP, Overview of Network Control Plane and Routing Algorithms UG3 Computer Communications & Networks (COMN) Mahesh Marina [email protected] Slides thanks to Myungjin Lee and copyright of Kurose and Ross

Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Network Layer: IP (contd.), ICMP, Overview of Network Control Plane and Routing Algorithms

UG3 Computer Communications & Networks(COMN)Mahesh Marina

[email protected]

Slides thanks to Myungjin Lee and copyright of Kurose and Ross

Page 2: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

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 address

space

2

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

Page 3: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Hierarchical addressing: route aggregation

3

�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:

Page 4: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

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

...

...

Hierarchical addressing: more specific routes

4

Page 5: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

IP addressing: the last word...

Q: how does an ISP get block of addresses?A: ICANN: Internet Corporation for Assigned

Names and Numbers http://www.icann.org/– allocates addresses– manages DNS– assigns domain names, resolves disputes

5

Page 6: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Network Address Translation (NAT)

6

Page 7: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

NAT: network address translation

7

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 ofInternet

datagrams with source or destination in this networkhave 10.0.0/24 address for source, destination (as usual)

all datagrams leaving localnetwork have same single

source NAT IP address: 138.76.29.7,different source

port numbers

Page 8: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

NAT: network address translation

motivation: local network uses just one IP address as far as outside world is concerned:– range of addresses not needed from ISP: just one IP

address 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)

8

Page 9: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

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

NAT: network address translation

Page 10: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 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.186, 80

NAT translation tableWAN 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, 5001D: 128.119.40.186, 80

2

2: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,updates table

S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3

3: reply arrivesdest. address:138.76.29.7, 5001

4: NAT routerchanges datagramdest addr from138.76.29.7, 5001 to 10.0.0.1, 3345

NAT: network address translation

10

Page 11: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

NAT Discussion

• 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– address shortage should instead be solved by IPv6– violates end-to-end argument

• NAT possibility must be taken into account by app designers, e.g., P2P applications

– NAT traversal: what if client wants to connect to server behind NAT?

11

Page 12: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Internet Control Message Protocol

12

Page 13: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

ICMP: internet control message protocol

13

• used by hosts & routers to communicate 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 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

Page 14: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Traceroute and ICMP

14

• when ICMP messages arrives, source records RTTs

• source sends series of UDP segments to dest– first set has TTL =1– second set has TTL=2, etc.– unlikely port number

• when nth set of datagrams arrives to nth router:– router discards datagrams– and sends source ICMP

messages (type 11, code 0)– ICMP messages includes

name of router & IP address

stopping criteria:v UDP segment eventually

arrives at destination hostv destination returns ICMP �port unreachable�message (type 3, code 3)

v source stops

3 probes

3 probes

3 probes

Page 15: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

IPv6

15

Page 16: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

IPv6: motivation

• initial motivation: 32-bit address space soon to be completely allocated

• additional motivation:– header format helps speed processing/forwarding– header changes to facilitate QoS

IPv6 datagram format: – fixed-length 40 byte header– no fragmentation allowed

16

Page 17: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

IPv6 datagram format

17

priority: identify priority among datagrams in flowflow Label: identify datagrams in same �flow.�

(concept of �flow� not well defined)next header: identify upper layer protocol for data

data

destination address(128 bits)

source address(128 bits)

payload len next hdr hop limitflow labelpriver

32 bits

Page 18: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

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

18

Page 19: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Transition from IPv4 to IPv6

• not all routers can be upgraded simultaneously– no �flag days�– how will network operate with mixed IPv4 and IPv6

routers? • tunneling: IPv6 datagram carried as payload in IPv4

datagram among IPv4 routers

19

IPv4 source, dest addr IPv4 header fields

IPv4 datagramIPv6 datagram

IPv4 payload

UDP/TCP payloadIPv6 source dest addr

IPv6 header fields

Page 20: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Tunneling

20

physical view:IPv4 IPv4

A B

IPv6 IPv6

E

IPv6 IPv6

FC D

logical view:IPv4 tunnel

connecting IPv6 routers E

IPv6 IPv6

FA B

IPv6 IPv6

Page 21: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

flow: Xsrc: Adest: F

data

A-to-B:IPv6

Flow: XSrc: ADest: F

data

src:Bdest: E

B-to-C:IPv6 inside

IPv4

E-to-F:IPv6

flow: Xsrc: Adest: F

data

B-to-C:IPv6 inside

IPv4

Flow: XSrc: ADest: F

data

src:Bdest: E

physical view:A B

IPv6 IPv6

E

IPv6 IPv6

FC D

logical view:IPv4 tunnel

connecting IPv6 routers E

IPv6 IPv6

FA B

IPv6 IPv6

Tunneling

21

IPv4 IPv4

Page 22: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

IPv6: adoption

• Google: 8% of clients access services via IPv6• NIST: 1/3 of all US government domains are IPv6

capable

• Long (long!) time for deployment, use–20 years and counting!–think of application-level changes in last 20 years: WWW, Facebook, streaming media, Skype, …–Why?

Page 23: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Network Layer: Control Plane

Page 24: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Network-layer functions

• forwarding: move packets from router�s input to appropriate router output

data plane

control plane

Two approaches to structuring network control plane:§ per-router control (traditional) ç our initial focus§ logically centralized control (software defined networking)

Recall: two network-layer functions:

§ routing: determine route taken by packets from source to destination

Page 25: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Per-router control plane

RoutingAlgorithm

Individual routing algorithm components in each and every router interact in the control plane

dataplane

controlplane

4.1 • OVERVIEW OF NETWORK LAYER 309

tables. In this example, a routing algorithm runs in each and every router and both forwarding and routing functions are contained within a router. As we’ll see in Sec-tions 5.3 and 5.4, the routing algorithm function in one router communicates with the routing algorithm function in other routers to compute the values for its forward-ing table. How is this communication performed? By exchanging routing messages containing routing information according to a routing protocol! We’ll cover routing algorithms and protocols in Sections 5.2 through 5.4.

The distinct and different purposes of the forwarding and routing functions can be further illustrated by considering the hypothetical (and unrealistic, but technically feasible) case of a network in which all forwarding tables are configured directly by human network operators physically present at the routers. In this case, no routing protocols would be required! Of course, the human operators would need to interact with each other to ensure that the forwarding tables were configured in such a way that packets reached their intended destinations. It’s also likely that human configu-ration would be more error-prone and much slower to respond to changes in the net-work topology than a routing protocol. We’re thus fortunate that all networks have both a forwarding and a routing function!

Values in arrivingpacket’s header

1

23

Local forwardingtable

header

0100011001111001

1101

3221

output

Control plane

Data plane

Routing algorithm

Figure 4.2 ♦ Routing algorithms determine values in forward tables

M04_KURO4140_07_SE_C04.indd 309 11/02/16 3:14 PM

1

2

0111

values in arriving packet header

3

Page 26: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

dataplane

controlplane

Logically centralized control planeA distinct (typically remote) controller interacts with local control agents (CAs)

Remote Controller

CA

CA CA CA CA

1

2

0111

3

values in arriving packet header

Page 27: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Routing protocols

Routing protocol goal: determine “good” paths (equivalently, routes), from sending hosts to receiving host, through network of routers• path: sequence of routers packets will traverse

in going from given initial source host to given final destination host

• “good”: least “cost”, “fastest”, “least congested”• routing: a “top-10” networking challenge!

Page 28: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

1

23

IP destination address in arriving packet�s header

routing algorithm

local forwarding tabledest address output link

address-range 1address-range 2address-range 3address-range 4

3221

Interplay between routing, forwarding

28

routing algorithm determinesend-end-path through network

forwarding table determineslocal forwarding at this router

Page 29: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

u

yx

wv

z2

21

3

1

1

2

53

5

graph: G = (N,E)

N = set of routers = { u, v, w, x, y, z }

E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }

Graph abstraction

29

Page 30: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Graph abstraction: costs

30

u

yx

wv

z2

21

3

1

1

2

53

5 c(x,x�) = cost of link (x,x�)e.g., c(w,z) = 5

cost could always be 1, or inversely related to bandwidth,or related to congestion

cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)

key question: what is the least-cost path between u and z ?routing algorithm: algorithm that finds that least cost path

Page 31: Network Layer: IP (contd.), ICMP, Overview of Network ... · Transition from IPv4 to IPv6 •not all routers can be upgraded simultaneously –no flag days –how will network operate

Routing algorithm classification

31

Q: static or dynamic?static:• routes change slowly over

timedynamic: • routes change more

quickly– periodic update– in response to link

cost changes

Q: global or decentralized information?

global:• all routers have complete

topology, link cost info• �link state� algorithmsdecentralized: • router knows physically-

connected neighbors, link costs to neighbors

• iterative process of computation, exchange of info with neighbors

• �distance vector� algorithms