Network Layer1 Goals: Understand Internet network layer concepts Understand Internet routing ...

36
Network Layer 1 Network Layer Goals: Understand Internet network layer concepts Understand Internet routing Understand Internet network layer protocols Content: IP addressing Getting datagram from source to destination Internet Protocol (IP) ICMP Intra- & Inter-AS routing Multicast routing

Transcript of Network Layer1 Goals: Understand Internet network layer concepts Understand Internet routing ...

Page 1: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 1

Network Layer

Goals: Understand

Internet network layer concepts

Understand Internet routing

Understand Internet network layer protocols

Content: IP addressing Getting datagram from

source to destination Internet Protocol (IP) ICMP Intra- & Inter-AS routing Multicast routing

Page 2: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 2

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

Page 3: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 3

IP Addressing IP address: 32-bit

identifier for host, router interface

interface: connection between host/router and physical link routers typically have

multiple interfaces host may have

multiple interfaces IP addresses

associated with interface, not host or 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

Page 4: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 4

IP Addressing 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

Page 5: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 5

IP Addresses

0network host

10 network host

110 network host

1110 multicast address

A

B

C

D

class

1.0.0.0 to127.255.255.255

128.0.0.0 to191.255.255.255

192.0.0.0 to239.255.255.255

240.0.0.0 to247.255.255.255

32 bits

Page 6: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 6

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.2223.1.3.1

223.1.3.27

A

BE

headerfields

sourceIP addr

destIP addr data

datagram remains unchanged, as it travels source to destination

addr fields of interest here

Dest. Net. next router Nhops

223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

routing table in A

Page 7: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 7

Getting a datagram from source to dest.

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

BE

Starting at A, given IP datagram addressed to B:

look up net. address of B find B is on same net. as A

using subnet mask link 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

headerfields 223.1.1.1223.1.1.3 data

Page 8: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 8

Getting a datagram from source to dest.

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

BE

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 E 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…..

headerfields 223.1.1.1223.1.2.2 data

Page 9: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 9

Getting a datagram from source to dest.

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

BE

Arriving at 223.1.4, destined for 223.1.2.2

look up network address of E 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!)

headerfields 223.1.1.1223.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

Page 10: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 10

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, specifylist of routers to visit.

Page 11: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 11

IP Fragmentation and Reassembly

network links have MTU (max. transfer unit) - 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

Page 12: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 12

IP Fragmentation and Reassembly

ID=x

offset=0

fragflag=0

length=4000

ID=x

offset=0

fragflag=1

length=1500

ID=x

offset=1500

fragflag=1

length=1500

ID=x

offset=3000

fragflag=0

length=1000

One large datagram becomesseveral smaller datagrams

Page 13: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 13

Internet Control Message Protocol (ICMP), RFC792 The purpose of ICMP messages is to provide feedback

about problems in the IP network environment Delivered in IP packets

ICMP message format4 bytes of ICMP header and optional message

ICMP: Internet Control Message Protocol

Page 14: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 14

ICMP Functions

To announce network errors If a network, host, port is unreachable, ICMP Destination

Unreachable Message is sent to the source host

To announce network congestion When a router runs out of buffer queue space, ICMP

Source Quench Message is sent to the source host

To assist troubleshooting ICMP Echo Message is sent to a host to test if it is alive -

used by ping

To announce timeouts If a packet’s TTL field drops to zero, ICMP Time Exceeded

Message is sent to the source host - used by traceroute

Page 15: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 15

ICMP Problems

ICMP has also received bad press from denial of service attacks and because of the number of sites generating monitoring traffic

ICMP messages may be blocked (i.e., dropped) by firewall and processed at low priority by router

As a consequence some ISPs disable ICMP even

though this potentially causes poor performance and does not comply with RFC1009 (Internet Gateway Requirements)

In spite of these limitations, ICMP is still most widely used in active network measurements

Page 16: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 16

ICMP MessagesType 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 17: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 17

Routing in the Internet The Global Internet: A hierarchy of Autonomous Systems

(ASs) (enterprise ASs interconnected through ISP’s ASs)

Two level routing: Intra-AS: each enterprise is responsible for its intranet

routing policy Inter-AS: uses the standard routing protocol (e.g., BGP)

Page 18: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 18

Intra-AS Routing

Also known as Interior Gateway Protocol (IGP)

Most common IGPs:

RIP: Routing Information Protocol (IETF) OSPF: Open Shortest Path First (IETF) IGRP: Interior Gateway Routing Protocol (Cisco)

Page 19: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 19

RIP (Routing Information Protocol) Distance vector type scheme

Included in BSD-UNIX Distribution in 1982

Distance metric: # of hops (maximum 15 hops)

Distance vector: exchanged every 30 sec via a Response Message (also called Advertisement)

Each Advertisement contains up to 25 destination nets

IETF RFC 1058 - http://www.ietf.org/rfc/rfc1058.txt

Page 20: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 20

RIP Example Dest. Net. next router Nhops 1 A 2 20 B 2 30 B 7 10 -- 1 ... ... ...

D’s Table before A’s Advertisement

Dest. Net. next router Nhops 30 C 4 1 -- 1 10 -- 1 ... ... ...

A’s Advertisement

Dest. Net. next router Nhops 1 A 2 20 B 2 30 A 5 ... ... ...

D’s table after A’s advertisement

Routers labeled A, B, C, D, …Networks labeled 1, 10, 20, 30, ...

Page 21: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 21

RIP: Link Failure and Recovery If no advertisement heard after 180 sec,

neighbor/link is assumed to be dead Routes via the neighbor are invalidated;

new advertisements sent to neighbors Neighbors in turn send out new

advertisements if their tables changed Link failure info quickly propagates to the

entire net

Page 22: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 22

RIP Table processing RIP routing tables managed by an

application process called routed (daemon) advertisements encapsulated in UDP

packets (reliability not required; advertisements are periodically repeated)

Page 23: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 23

RIP Table example

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

To get routing table on Unix/Win, type netstat -rn e.g., a Router RIP table:

3 attached class C networks (LANs) via fa0, le0 and qaa0 Router only knows routes to attached LANs default is the default gateway “to go up” Route multicast address: 224.0.0.0 1st entry: Loopback interface (for debugging) Learn to use Netstat by examples:http://www.cs.unh.edu/cnrg/lin/linuxProject/resource/netstatCookbook.htm

Page 24: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 24

OSPF (Open Shortest Path First) “open”: publicly available protocol (IETF) uses the Link State (LS) algorithm, i.e.,

LS packet dissemination; topology map at each node; route computation using the Dijkstra’s

algorithm

OSPF advertisement carries one entry per neighbor router (gives link state)

Advertisements disseminated to the ENTIRE AS (via flooding)

Page 25: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 25

OSPF “advanced” features (not in RIP) Security. All OSPF messages are authenticated (to

prevent malicious intrusion); TCP connections used

Multiple same-cost paths allowed (only one path must be chosen to carry all traffic in RIP)

Multiple cost metrics for different TOS for each link (e.g., satellite link cost set “low” for best effort; high for real time)

Integrated uni- and multicast support. Multicast OSPF (MOSPF) uses the same topology database as OSPF

Hierarchical OSPF in single AS (large routing domain)

Page 26: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 26

Hierarchical OSPF An OSPF AS: Two level hierarchy

(local area and backbone) Link state advertisements do not

leave respective areas Nodes in each area have detailed

area topology; they only know direction (shortest path) to networks in other areas

“Internal routers” perform intra-AS routing only

“Area Border routers” route packets to other areas

“Backbone routers” run an OSPF routing alg limited to the backbone

“Boundary routers” connect to other ASs

Page 27: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 27

IGRP (Interior Gateway Routing Protocol) CISCO proprietary; successor of RIP (mid 80’s)

Distance Vector, like RIP

Several cost metrics (delay, bandwidth, reliability, load, etc.)

Uses TCP to exchange routing updates

Routing tables exchanged only when costs change

Loop free routing achieved by using a Distributed Updating ALgorithm (DUAL) In DUAL, after a distance increase, the routing table is

frozen until all affected nodes have learned of the change

http://www.cisco.com/warp/public/103/5.html

Page 28: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 28

BGP (Border Gateway Protocol): the de facto standard

Each Border Gateway broadcasts to neighbors (peers) the entire path (i.e., sequence of AS’s) to destination

For example, gateway X may store the following path to destination Z:

Path (X,Z) = X,Y1,Y2,Y3,…,Z

Inter-AS Routing

Page 29: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 29

Border Gateway Protocol (BGP) Now, suppose Gwy X sends its path (X,Y1,Y2,Y3,…,Z) to

peer Gwy W Gwy W may or may not select the path offered by Gwy

X, because of cost, policy or loop prevention reasons If Gwy W selects the path advertised by Gwy X, then: Path (W,Z) = W, Path (X,Z)

Note: path selection based not so much on cost (e.g.,# ofAS hops), but mostly on administrative and policy issues(e.g., do not route packets through competitor’s AS)

Page 30: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 30

Border Gateway Protocol (BGP)

Peers exchange BGP messages using TCP BGP defines 4 types of messages:

OPEN: opens a TCP connection to peer and authenticates sender

UPDATE: advertises new path (or withdraws old) KEEPALIVE: keeps connection alive in absence of

UPDATES; also serves as ACK to an OPEN request

NOTIFICATION: reports errors in previous msg; also used to close a connection

IETF RFC 1771 - http://www.ietf.org/rfc/rfc1771.txt

Page 31: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 31

Why Intra- and Inter-AS routing different? Policy:

Inter: concerned with policies (eg, which provider to select/avoid)

Intra: under same administrative control, so, policy-based routing is less important

Scaleability Inter: ability of routing alg. and table to scale for routing

among large numbers of networks Intra: scalability is less of a concern within an AS. A large AS

can be divided into two ASs, e.g., “areas” in OSPF

Performance: Inter: routing is policy-oriented; quality of routes is

secondary. Also, it is difficult to propagate performance metrics efficiently (latency, privacy, etc.).

Intra: focused on performance metrics; needs to keep costs low.

We need BOTH!

Page 32: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 32

Multicast Routing Multicast: delivery of a packet to a group of

receivers Multicasting is becoming increasingly popular in

the Internet (video on demand; whiteboard; interactive games)

Multiple unicast vs. multicast

Page 33: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 33

Multicast Group Address M-cast group address “delivered” to all receivers

in the group Internet uses Class D for m-cast M-cast address distribution, etc. managed by

IGMP Protocol

Page 34: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 34

IGMP Protocol (RFC 2236) IGMP (Internet Group Management Protocol) operates

between router and local hosts, typically on a LAN Router queries the local hosts for m-cast group

membership info Router “connects” active hosts to m-cast tree via m-

cast protocol Hosts respond with membership reports: actually, the

first host which responds (at random) speaks for all Host issues “leave-group” msg to leave; this is

optional since router periodically polls anyway (soft state concept)

Page 35: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 35

IGMP message typesIGMP Message type Sent by Purpose

membership query: general router query for current active multicast groups

membership query: specific router query for specific m-cast group

membership report host host wants to join group

leave group host host leaves the group

Page 36: Network Layer1 Goals:  Understand Internet network layer concepts  Understand Internet routing  Understand Internet network layer protocols Content:

Network Layer 36

SummaryYou now hopefully have: a good understanding of the Internet network

protocols and issues IP addressing, format & issues Intra-AS routing protocols

RIP OSPF IGRP

Inter-AS routing BGP

Multicast routing IGMP