chapter 4: network layer

38
CHAPTER 4: NETWORK LAYER Packet Switching Virtual Circuits Datagrams Network Routers Internet Protocol IPv4 IPv6 Routing Algorithms IP Routing Broadcast and Multicast

Upload: sani

Post on 23-Feb-2016

73 views

Category:

Documents


0 download

DESCRIPTION

CHAPTER 4: NETWORK LAYER. Packet Switching Virtual Circuits Datagrams Network Routers Internet Protocol IPv4 IPv6 Routing Algorithms IP Routing Broadcast and Multicast. NETWORK LAYER RESPONSIBILITIES. Moving Transport segments from their sources to their destinations. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CHAPTER 4:          NETWORK LAYER

CHAPTER 4: NETWORK LAYER

• Packet Switching• Virtual Circuits• Datagrams

• Network Routers• Internet Protocol• IPv4• IPv6

• Routing Algorithms• IP Routing• Broadcast and Multicast

Page 2: CHAPTER 4:          NETWORK LAYER

NETWORK LAYER RESPONSIBILITIES

Page 2Chapter 4CS 447

• Moving Transport segments from their sources to their destinations• Breaking segments into manageable units at the source and reassembling

them at the destination• Determining paths for packets to take through the network, and ensuring

that those paths are followed.

Page 3: CHAPTER 4:          NETWORK LAYER

CIRCUIT SWITCHING

Page 3Chapter 4CS 447

In traditional circuit switching, an end-to-end circuit is established and maintained until one of the endstations terminates the

connection.

Page 4: CHAPTER 4:          NETWORK LAYER

PROBLEMS WITHCIRCUIT SWITCHING

Page 4Chapter 4CS 447

Circuit switching has one great advantage: once established, the circuit is dedicated, i.e., a communication line is completely open until formally terminated.However, this approach has a number of serious problems:• Many networked applications don’t require a dedicated circuit, so reserving

a communication line until an endstation formally terminates it can represent a serious waste of resources.

• The route originally selected for the circuit may be optimal to begin with, but may prove to be suboptimal as the communication continues.

• An entire, end-to-end path must be found and reserved before any communication is allowed between the two endstations; this is definitely not conducive to many modern applications (e.g., Web surfing, videoconferencing).

• Transmission errors are propagated all the way to the destination, requiring retransmission across the entire network.

Page 5: CHAPTER 4:          NETWORK LAYER

PACKET SWITCHING

Page 5Chapter 4CS 447

In packet switching, the source’s message is broken into manageable “packets” that are transmitted to the destination individually, not

necessarily along the same path.

Page 6: CHAPTER 4:          NETWORK LAYER

THE PROS AND CONS OF PACKET SWITCHING

Page 6Chapter 4CS 447

Packet switching remedies the principal problems of circuit switching:

However, packet switching does have its own set of problems:

• Lines aren’t dedicated, so their utilization is higher.

• Messages are “packetized”, so line-sharing is reasonably fair.

• Routing may be dynamic, i.e., an alternate route may be chosen when traffic patterns change.

• The entire route does not have to be chosen prior to sending any data.

• Errors aren’t propagated end-to-end.

• Switches must be programmed to make sophisticated routing decisions.• Switches must manage memory for queued packets that await forwarding.• Packets must be prefixed with control headers, increasing overhead.• Endstations must deal with missing packets and packets received out of order.• Without a dedicated circuit, transmission times become unpredictable.

Page 7: CHAPTER 4:          NETWORK LAYER

VIRTUAL CIRCUITS

Page 7Chapter 4CS 447

NetworkNode

NetworkNode

NetworkNode

NetworkNode

NetworkNode

VC7

packet

VC4

packet

VC2

packet

VC8

packet

VC6

packet

VC3

packetVC1

packet

VC3

packet

VC1

packet

VC8

packet

VC5

packet

Node has a VC table that looks something like this:

IncomingVC #

SourceNode

OutgoingVC #

NextNode

1 3 3 8 4 2 5 5 7 6 8 1

• Routes are chosen when the VC is initially set up

• All packets must follow the VC route, even if traffic conditions have improved or worsened

• Buffer space must be allocated for each VC

• A failed router destroys all VCs running through it

• VC routing is handled by a table

Page 8: CHAPTER 4:          NETWORK LAYER

DATAGRAMS

Page 8Chapter 4CS 447

NetworkNode

NetworkNode

NetworkNode

NetworkNode

NetworkNode

pkt to

dest. X

pkt to

dest. X

pkt to

dest. X

pkt to

dest. X

pkt to

dest. X

pkt to

dest. X

• No route set-up is done• All packets must contain

the full source and destination addresses

• Each packet is routed independently

• A failed router only affects the packets passing through it when the failure occurs

• Congestion control is difficult

IP uses a datagram approach to packet switching, while

Multiprotocol Link Switching (MPLS) uses virtual circuits.

Page 9: CHAPTER 4:          NETWORK LAYER

PACKET SWITCHING COMPARISONS

Page 9Chapter 4CS 447

Issue Datagram Virtual CircuitConnection

Set-Up

Addressing

StateInformation

Routing

Effect ofSwitch Failures

Quality of ServiceSupport

CongestionControl

Issue Datagram Virtual CircuitConnection

Set-Up Not needed Required

Addressing

StateInformation

Routing

Effect ofSwitch Failures

Quality of ServiceSupport

CongestionControl

Issue Datagram Virtual CircuitConnection

Set-Up Not needed Required

Addressing Each packet contains full destination address

Each packet contains a short VC identifier

StateInformation

Routing

Effect ofSwitch Failures

Quality of ServiceSupport

CongestionControl

Issue Datagram Virtual CircuitConnection

Set-Up Not needed Required

Addressing Each packet contains full destination address

Each packet contains a short VC identifier

StateInformation

Switch does not hold state information

Switch holds VC state information in a table

Routing

Effect ofSwitch Failures

Quality of ServiceSupport

CongestionControl

Issue Datagram Virtual CircuitConnection

Set-Up Not needed Required

Addressing Each packet contains full destination address

Each packet contains a short VC identifier

StateInformation

Switch does not hold state information

Switch holds VC state information in a table

Routing Each packet is forwarded independently

All packets follow the same route

Effect ofSwitch Failures

Quality of ServiceSupport

CongestionControl

Issue Datagram Virtual CircuitConnection

Set-Up Not needed Required

Addressing Each packet contains full destination address

Each packet contains a short VC identifier

StateInformation

Switch does not hold state information

Switch holds VC state information in a table

Routing Each packet is forwarded independently

All packets follow the same route

Effect ofSwitch Failures

None, except for loss of packets during crash

All VCs passing through the failed switch are broken

Quality of ServiceSupport

CongestionControl

Issue Datagram Virtual CircuitConnection

Set-Up Not needed Required

Addressing Each packet contains full destination address

Each packet contains a short VC identifier

StateInformation

Switch does not hold state information

Switch holds VC state information in a table

Routing Each packet is forwarded independently

All packets follow the same route

Effect ofSwitch Failures

None, except for loss of packets during crash

All VCs passing through the failed switch are broken

Quality of ServiceSupport Difficult Easy

CongestionControl

Issue Datagram Virtual CircuitConnection

Set-Up Not needed Required

Addressing Each packet contains full destination address

Each packet contains a short VC identifier

StateInformation

Switch does not hold state information

Switch holds VC state information in a table

Routing Each packet is forwarded independently

All packets follow the same route

Effect ofSwitch Failures

None, except for loss of packets during crash

All VCs passing through the failed switch are broken

Quality of ServiceSupport Difficult Easy

CongestionControl Difficult Easy

Page 10: CHAPTER 4:          NETWORK LAYER

INTERNETWORKING

Page 10Chapter 4CS 447

Networks can be connected via a variety of devices, operating at various protocol layers.

A repeater works at the Physical Layer to

regenerate weak signals on a bit-by-bit

basis.

A bridge works at the Data Link Layer to store and forward

frames from one LAN to another.

A router works at the Network Layer to direct incoming

packets onto networks that bring them closer to their

final destination.

Finally, a gateway works at the Transport Layer to interconnect subnetworks by keeping track of

incoming and outgoing virtual circuits that may use differing transport protocols.

Page 11: CHAPTER 4:          NETWORK LAYER

NETWORK ROUTERS

Page 11Chapter 4CS 447

A router is a network node operating at the Network Layer (and lower), with two primary

responsibilities:• Running algorithms to decide where to send incoming datagrams.• Forwarding datagrams from its input ports to its output ports.

Input Port

Bit Receptio

n(Physical

Layer)

Packet Reception

(Data Link

Layer)

Lookup, Forwarding, Queueing

(Network Layer)

Output Port

Packet Release(Data Link

Layer)

Bit Release

(Physical Layer)

Datagram Buffering, Queueing

(Network Layer)

Switching Fabric

Switching Via

Crossbar

The router’s input port mechanism contains memory

holding a lookup table indicating where to forward

packets.If the datagram arrival rate

exceeds the forwarding rate, then datagrams are queued

inside input buffers.

The router’s switching fabric

forwards the datagrams

from the input ports to the

correct output ports.

The router’s output port mechanism contains memory

buffers for holding datagrams that arrive from the fabric faster than the

router’s transmission rate.

Page 12: CHAPTER 4:          NETWORK LAYER

CROSSBAR SWITCHES

Page 12Chapter 4CS 447

Both circuit switching and packet switching rely heavily on primitive internal routing that usually takes place on a crossbar switch.

Each crosspoint in the switch has a transistor connecting a unique

input/output pair. When activated, a crosspoint transfers

every signal on its input line onto its output line.

Multistage space-division switches, use smaller

interconnected crossbar switches to inexpensively connect large numbers of

input/output pairs.

inputs

outputs

Page 13: CHAPTER 4:          NETWORK LAYER

INPUT OR OUTPUT BUFFERS?

Page 13Chapter 4CS 447

If a router is forced to buffer datagrams due to excessive traffic (either fast arrival rates or slow transmission rates, should it use

input buffers (i.e., holding the datagrams before they are routed) or output buffers (i.e., holding the datagrams after they are routed)?

Router

Datagram for output port 3

Datagram for output port 3

Datagram for output port 3

Datagram for output port 4

Datagram for output port 1

Note that the use of input buffers can result in datagrams being blocked from proceeding to their output ports, even if the output

ports are open, a condition known as Head-of-Line Blocking.

Page 14: CHAPTER 4:          NETWORK LAYER

FRAGMENTATION

Page 14Chapter 4CS 447

Different networks have different packet size limitations, based upon their protocols and their system administrators.

To accommodate these differences, gateways may have to break packets into smaller fragments in order to get them through a network.

Transparent fragmentation involves breaking packets into fragments upon entrance to a network, and recombining the fragments at

the exit gateway.

This eliminates the negative effects of fragmentation (i.e., header overhead,

destination host reassembly) on the rest of the internetwork.

Non-transparent fragmentation involves breaking packets into fragments upon

entrance to a network, but recombining the fragments only at their final destination.

This eliminates the negative effects of transparency (i.e., repeated fragmenting,

common exit gateways) on the rest of the internetwork.

Page 15: CHAPTER 4:          NETWORK LAYER

INTERNET PROTOCOL

Page 15Chapter 4CS 447

IP was designed for three primary purposes:

1. Define the basic unit of data

transfer (i.e., the data format) through

any TCP/IP internet.

2. Perform the routing of data

through the internet by selecting

appropriate paths.

3. Process packets, generate error

messages, and discard packets in such a

way to ensure “unreliable” packet

delivery.

Page 16: CHAPTER 4:          NETWORK LAYER

THE IPv4 HEADER

Page 16Chapter 4CS 447

Version HdrLen Service Type

Flags Fragment Offset

Total Length

Identification

Protocol Header ChecksumTime To Live

Source IP Address

Destination IP Address

Options & Padding (if any)

Version: Version of IP used to create the datagram, used by nodes to process it correctly.HdrLen: Length of the header in 32-bit words (because the Options field has no fixed size).Service Type: 3-bit Precedence field, & three 1-bit Delay, Throughput, and Reliability flags.

Flags: Don’t-Fragment flag and More-Fragments flag.

Time To Live: Length of time (in seconds) datagram may stay in the internet.

Identification: All fragments of the same packet have the same ID number.

Version HdrLen Service Type

Flags Fragment Offset

Total Length

Identification

Total Length: Length of the entire datagram in bytes (16-bit field means 65,535-byte max).

Fragment Offset: Offset from start of packet (in bytes) of current fragment.

Protocol Header ChecksumTime To Live

Source IP Address

Destination IP Address

Options & Padding (if any)

Header Checksum: 1’s complement of 1’s complement sum of the 16-bit values in header.

Destination IP Address: 32-bit IP address of the datagram’s final destination.

Protocol: Global ID # of the protocol used to create the datagram (e.g., TCP).

Source IP Address: 32-bit IP address of the datagram’s original source.

Options & Padding: End-of-option-list; No-operation-just-align; Military-security-application; Loose-source-routing; Record-route; Stream-identifier (obsolete), Strict-source-routing; Record-internet-timestamps.

Page 17: CHAPTER 4:          NETWORK LAYER

IPv4 ADDRESSES

Page 17Chapter 4CS 447

There are three principal classes of IP addresses, with all endstations on the same network given a common prefix:

CLASS A (for networks with more than 216 endstations):Network ID0 Host ID

Actual range of values: 0.1.0.0 to 126.0.0.0Special Class A Address Conventions: 0.0.0.0 signifies “this host”

0.X.X.X signifies “all hosts on this network”X.255.255.255 signifies “directed broadcast”127.X.X.X signifies “loopback”

CLASS B (for networks with between 28 and 216 endstations):

Actual range of values: 128.0.0.0 to 191.255.0.0Special Class B Address Conventions: X.X.255.255 signifies “directed broadcast”

10 Host IDNetwork ID

CLASS C (for networks with less than 28 endstations):

110Actual range of values: 192.0.1.0 to 223.255.255.0Special Class C Address Conventions: X.X.X.255 signifies “directed broadcast”

Host IDNetwork ID

Page 18: CHAPTER 4:          NETWORK LAYER

INTERNET CONTROL MESSAGE PROTOCOL

Page 18Chapter 4CS 447

IP datagrams with the Protocol field set to 1 are ICMP messages, which allow routers to report errors or provide information about

unexpected circumstances.

ICMP Message Type Description

Echo Request/Reply Tests if a destination is reachable and responding.

Destination Unreachable Router notifies source if it can’t forward datagram.

Source Quench Router notifies source when it discards a datagram.

Redirect Router tells endstation of router to use in paths.

Time Exceeded Datagram’s Time-To-Live or reassembly time expired.

Parameter Problem Datagram’s header is bad (e.g., missing parameters).

Timestamp Request/Reply Synchronizes router’s clock with that of a neighbor.

Address Mask Request/Reply Request mask to determine which bits ID the subnet.

Page 19: CHAPTER 4:          NETWORK LAYER

IPv6

Page 19Chapter 4CS 447

The next generation of the Internet Protocol, IPv6, introduces several improvements over the previous

version, IPv4:• Address sizes are quadrupled, from 32-bits to 128

bits.• Rather than an Options-driven flexible header size, a fixed header size is

used, with various extension headers added to support options.• Additional options have been added, including jumbograms

(i.e., allowing excessively large datagrams for certain high-capacity applications), authentication, and security.

• Resource preallocation is supported, opening the door for real-time applications that require guarantees about bandwidth and delay.

Page 20: CHAPTER 4:          NETWORK LAYER

IPv6 HEADER

Page 20Chapter 4CS 447

Version: IP version used to create datagram, used to process it correctly.Traffic Class: Message priority (IP control, interactive, real-time, etc.)Flow Label: ID # involving end-to-end flow (tells routers about special handling).

Hop Limit: Remaining # of hops allowed (when 0 reached, frame is discarded).Next Header: Type of header after IPv6 header (i.e., UDP, TCP, IPv6 extension).Payload Length: Total length of transport-level payload + extension headers.

Destination IP Address: 128-bit IP address of the datagram’s final destination.Source IP Address: 128-bit IP address of the datagram’s original source.

Version Traffic Class

Next Header Hop Limit

Flow Label

Payload Length

Source IP Address

Destination IP Address

Version Traffic Class

Next Header Hop Limit

Flow Label

Payload Length

Source IP Address

Destination IP Address

Page 21: CHAPTER 4:          NETWORK LAYER

IPv6 EXTENSION HEADERS

Page 21Chapter 4CS 447

Destination Options Header #2Options relevant only to the final destination (e.g., ???)

Encapsulation Security Payload HeaderMechanisms to ensure confidential frame access (via key-based encryption)

Authentication HeaderMechanisms to detect unauthorized frame modification (via a key-based code)

Fragment HeaderEndstation fragmentation information (e.g., sequence numbers, offsets)

Source Routing HeaderStrict or loose routing information (e.g., specific routers to be traversed)

Destination Options Header #1Options relevant to all but the final destination (e.g., ???)

Hop-By-Hop Options HeaderOptions relevant to each router in the path (e.g., Jumbo Payload, Router Alert)

IPv6 options are implemented as additional extension headers after the 40-byte header, which provides extensibility to support future

services for quality of service, security, mobility, etc., without necessitating the redesign of the basic protocol

Page 22: CHAPTER 4:          NETWORK LAYER

IPv6 DEPLOYMENT

Page 22Chapter 4CS 447

IPv4 DEPLOYMENTJanuary 2000:

220,533 addresses374,013 links

5,107 autonomous systems

October 2000:626,773 addresses

1,007,723 links7,563 autonomous

systems

April 2002:1,224,773 addresses

2,093,194 links10,999 autonomous

systems

January 2008:4,853,991 addresses

5,682,419 links17,791 autonomous

systems

June 2010:16,802,061 addresses

18,796,744 links26,702 autonomous

systems

January 2009:4,752 IPv6 addresses

17,036 IPv6 links489 autonomous

systems

June 2010:8,551 IPv6 addresses

21,852 IPv6 links715 autonomous

systems

While the central pool of IPv4 addresses at the IANA was depleted in February 2011, due to

various address masking techniques, the need for IPv6 deployment has not been

overwhelming, allowing the transition to occur gradually.

Page 23: CHAPTER 4:          NETWORK LAYER

IPv6 ADOPTION HISTORY

Page 23Chapter 4CS 447

Beginning with its alpha testing in 1996, the adoption of IPv6 exhibits a common pattern in the history of communication technology

deployment.1996

1997

1998

1999

2000

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

• First, deep-pocket corporations in the server, system software, and telecommunications fields invest in research in the new technology.

• Once the viability of the technology is demonstrated, the larger manufacturers and developers become involved.

• With the technology’s foundation firmly in place, commitment by more fragile markets (mobile, cable, etc.) is facilitated.

• Finally, the technology becomes universally accepted as a standard and virtually everyone jumps on board.

Page 24: CHAPTER 4:          NETWORK LAYER

ROUTING ALGORITHMS

Page 24Chapter 4CS 447

The Network Layer has responsibility for determining end-to-end communication routes.

Routing algorithms fall into two basic categories:

Page 25: CHAPTER 4:          NETWORK LAYER

STATIC ROUTING

Page 25Chapter 4CS 447

The Pros• Routing decisions are simple, so

network nodes have little processing to contend with

• Not having to deal with control messages that address congestion problems could significantly lighten the traffic load on the network

The Cons• Ignoring changing conditions on the network may lead to a serious

performance degradation• By not rerouting around potential trouble spots within the network,

opportunities to relieve the congestion problems are missed, and the problems are exacerbated

Page 26: CHAPTER 4:          NETWORK LAYER

SHORTEST PATH ROUTING

Page 26Chapter 4CS 447

Each network node finds the shortest path from itself to every other node by applying Dijkstra’s Algorithm:

Initialize DONE_SET to {myself}For every other node N, initialize COST(N) = edgeCost(N, myself) and PRED(N) = myselfLoop through these steps until every node is in DONE_SET:

• Pick a node M not in DONE_SET whose COST is minimal, and place M in DONE_SET

• For every node N not in DONE_SET, reset COST(N) to the minimum of COST(N) & COST(M)+edgeCost(M,N) (if the latter is minimum, set PRED(N) = M

G

A

H I

E F

CB

D13

7

6

8

19

21

16

8

2

2

5

3

4 3

(0,-)

(,-) (,-)

(,-) (,-)

(,-)(,-)

(,-)

(,-)

(0,-)

(7,A)

(27,E)

(6,A)

(19,E)

(8,A) (22,E

)

(,-)

(,-)G

A

H I

E F

CB

D13

7

6

8

19

21

16

8

2

2

5

3

4 3

(0,-)

(7,A)

(,-)

(6,A)

(,-)

(8,A) (,-)

(,-)

(,-)G

A

H I

E F

CB

D13

7

6

8

19

21

16

8

2

2

5

3

4 3

Page 27: CHAPTER 4:          NETWORK LAYER

Page 27Chapter 4CS 447

(0,-)

(7,A)

(26,B)

(6,A)

(19,E)

(8,A) (22,E

)

(,-)

(,-)G

A

H I

E F

CB

D13

7

6

8

19

21

16

8

2

2

5

3

4 3

(0,-)

(7,A)

(26,B)

(6,A)

(18,H)

(8,A) (16,G)

(,-)

(,-)G

A

H I

E F

CB

D13

7

6

8

19

21

16

8

2

2

5

3

4 3

(0,-)

(7,A)

(26,B)

(6,A)

(19,E)

(8,A) (16,G)

(,-)

(,-)G

A

H I

E F

CB

D13

7

6

8

19

21

16

8

2

2

5

3

4 3

(0,-)

(7,A)

(25,D)

(6,A)

(18,H)

(8,A) (16,G)

(20,F)

(23,D)

G

A

H I

E F

CB

D13

7

6

8

19

21

16

8

2

2

5

3

4 3

(0,-)

(7,A)

(26,B)

(6,A)

(18,H)

(8,A) (16,G)

(20,F)

(,-)G

A

H I

E F

CB

D13

7

6

8

19

21

16

8

2

2

5

3

4 3

(0,-)

(7,A)

(25,D)

(6,A)

(18,H)

(8,A) (16,G)

(20,F)

(23,D)

G

A

H I

E F

CB

D13

7

6

8

19

21

16

8

2

2

5

3

4 3

(0,-)

(7,A)

(25,D)

(6,A)

(18,H)

(8,A) (16,G)

(20,F)

(23,D)

G

A

H I

E F

CB

D13

7

6

8

19

21

16

8

2

2

5

3

4 3

DIJKSTRA EXAMPLE (CONTINUED)

Page 28: CHAPTER 4:          NETWORK LAYER

Page 28Chapter 4CS 447

FLOODINGA second static routing approach is flooding, in which a network node

forwards every packet arriving on a particular incoming line onto every other outgoing line, usually with a maximum hop-count.

In spite of its obvious disadvantages vis-à-vis congestion, flooding has several advantages:• Every route is attempted, a useful feature in an emergency.• At least one received copy will use a minimum-hop route, which could

facilitate the set-up of a virtual circuit• Every node is visited, which could facilitate the dissemination of important

data (e.g., routing or congestion information)

Page 29: CHAPTER 4:          NETWORK LAYER

Page 29Chapter 4CS 447

DYNAMIC ROUTINGThe Pros• By dynamically adjusting to

network traffic conditions, the network may deliver superior performance to its users

• Conversely, the rerouting used in dynamic routing schemes can be used to alleviate congestion problems on the network.

The Cons• The adaptive strategy mustn’t react too quickly (causing a congestion-

causing oscillation between routes) or too slowly (failing to take advantage of improving congestion conditions or to avoid worsening conditions)

• The processing burden on the network nodes increases substantially

Page 30: CHAPTER 4:          NETWORK LAYER

Page 30Chapter 4CS 447

DISTANCE VECTOR ROUTINGOne method of implementing dynamic routing is to have each network node maintain a table of current measurements regarding its communication with the other network nodes (e.g., the delay in getting a message to that node).Periodically, each node is sent the tables of all of its immediate neighbors,

using that data to update its own table.

Don’t Bother!

26,27,32,25

5,12,16,27

17,16,12,14

8,9,16,11

19,23,2,8

37,29,25,33

12,12,13,10

26,14,10,6

22,13,12,15

0 -A25 IB5 CC12 FD

25 FG

8 CE

10 IH

2 FF

6 II12 FJ

A’sDelay

SendThrough

0 -25 I5 C

11 F

29 E

9 E

10 I

2 F

6 I

NetworkNode

ABCD

G

E

H

F

I13 EJ

A’s Old Delay Table

C’sDelay

5210

12

32

3

7

14

21

NetworkNode

ABCD

G

E

H

F

I17J

E’sDelay

91837

20

0

3

14

54

F’sDelay

2301410

23

14

11

0

810

I’sDelay

619218

27

5

4

2

09

Updates From A’s Neighbors

A’sDelay

SendThrough

NetworkNode

A’s New Delay Table

Page 31: CHAPTER 4:          NETWORK LAYER

Page 31Chapter 4CS 447

LINK STATE ROUTINGTo counteract the main problem with distance vector routing (namely,

that receiving localized traffic information from one’s neighbors doesn’t result in a rapid adjustment to routing), link state routing was

developed as an alternative.Whenever a network node experiences a “big” change (i.e., when it’s booted up, when a new link to it is established or an old one is severed, when the cost of one of its links changes substantially), the node floods the network with a message telling every node

in the network what its new link costs are.Whenever a network node builds up a reasonable description of the network topology, it uses Dijkstra’s Algorithm to determine its shortest path to every other node in the

network.Link Cost Options:

- Maximize Performance (simple minimum hop-count?)

- Minimize Cost (actual monetary charges for using the network?)

- Maximize Reliability (recent outages? high error rates?)

- Maximize Throughput (how long to get a bit across the link?)

- Minimize Delay (propagation delay + queueing delay)

Page 32: CHAPTER 4:          NETWORK LAYER

Page 32Chapter 4CS 447

HIERARCHICAL ROUTINGA serious problem with methods like link state routing is the need for every network node to keep data about every other network node, no

matter how large the network is.An alternative is to hierarchically divide the network into regions and

sub-regions, requiring each node to keep data about every node within its particular sub-region, but to only keep rudimentary data

about how to access the other sub-regions.Region A Region B

Region CRegion D

Sub-Region 1Sub-

Region 2

Sub-Region 3

Sub-Region 2Sub-

Region 1

Sub-Region 4

Sub-Region 1

Sub-Region 2

Sub-Region 3

Sub-Region 3

Sub-Region 1 Sub-Region 2 Each node maintains a table entry for:• every other node in its

sub-region,• one access point to every

sub-region in its same region, and

• one access point to each of the other regions.

Page 33: CHAPTER 4:          NETWORK LAYER

Page 33Chapter 4CS 447

IP ROUTING

AutonomousSystem

1

AutonomousSystem

2

AutonomousSystem

3

AutonomousSystem

4

AutonomousSystem

n

ExteriorRouter 1

ExteriorRouter 2

ExteriorRouter 3

ExteriorRouter 4

ExteriorRouter 5

Routing is handled in a hierarchical fashion in IP.• Inside the independently administered autonomous system, the Open

Shortest Path First protocol (OSPF) is used. It uses a link state dynamic routing scheme.

• Outside the autonomous systems, the Border Gateway Protocol (BGP) is used. It uses a distance vector dynamic routing scheme that keeps track of the precise path of systems that is traversed, thus accommodating both efficiency needs and political considerations.

BACKBONE NETWORK

BGP route advertisements append AS numbers, producing an active path

back to the source network

Page 34: CHAPTER 4:          NETWORK LAYER

Page 34Chapter 4CS 447

COMMON OSPF HIERARCHYOSPF

Area 0

This type of hierarchical topology is favored because it is...

Campus Backbone or

WAN

Building Backbone

Core LayerBackbone Routers; Provides

interconnectivity

Distribution LayerArea Border Routers;

Starts implementation of security, DNS, etc.

Access LayerInter-Area Routers; Provides access to servers and hosts

• Scalable – functionality is localized, so additional sites are easily added

• Easy to implement – the physical hierarchy corresponds to OSPF’s logical hierarchy

• Easy to troubleshoot – the localized functionality helps to isolate problems

• Predictable – capacity planning and modeling are facilitated by the layered approach

Page 35: CHAPTER 4:          NETWORK LAYER

Page 35Chapter 4CS 447

BGP PASS-THROUGH AUTONOMOUS SYSTEM ROUTING

In addition to its inter-AS role, BGP is

set up to handle intra-AS routing

through autonomous systems not running

BGP.

When traffic that didn’t start and won’t finish within such an autonomous system must cross the AS, BGP interacts with the routing

protocol used by the AS to transport the BGP traffic across the AS.

Page 36: CHAPTER 4:          NETWORK LAYER

Page 36Chapter 4CS 447

BROADCAST ROUTINGThe simple approaches to broadcasting messages to all network

nodes have obvious problems.

NetworkNode

broadcast packet

If the broadcast packet arrives on the same link that the node uses to send messages to the

broadcaster, the node forwards the message on all of its other links.

If the broadcast packet arrives on a different link than the one that the node uses to send

messages to the broadcaster, the node assumes it’s a duplicate and discards the

message.

• Having the broadcaster send independent copies of the message to each network node wastes bandwidth and requires the broadcaster to know every node address.

• Flooding overloads the network with redundant copies of the message.• Spanning tree approaches require every node to be cognizant of a

spanning tree.• An alternative is to use reverse path forwarding, a kind of limited

flooding.

Page 37: CHAPTER 4:          NETWORK LAYER

Page 37Chapter 4CS 447

MULTICAST ROUTINGWith emerging internetworked applications like IP television,

videoconferencing, networked gaming, and video-on-demand, the need for multicasting protocols has increased tremendously.

Multiple Unicast Send individual messages to each relevant receiver.

Slow & wasteful of bandwidth

BroadcastSend one message to everyone, with

irrelevant receivers rejecting it.

Disruptive & wasteful of bandwidth

Page 38: CHAPTER 4:          NETWORK LAYER

Page 38Chapter 4CS 447

INTERNET GROUP MANAGEMENT PROTOCOLThis IP protocol assumes that special group addresses are set up for multicast groups, and that routers periodically update their lists of

which neighboring stations are part of which groups.

ListT,MB

ListT

ListB

T,B

ListTM

When a multicast message arrives at a router, it checks

whether its subnetwork contains any of the

multicast group’s members; if so, it forwards the

message; if not, it discards it.