22
1 Data Communication & Networks G22.2262-001 Session 7 - Main Theme Networks: Part I Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 2 Agenda Packet Switching Virtual Circuit vs. Datagram Networks The Internet Protocol Conclusion

g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

1

1

Data Communication & NetworksG22.2262-001

Session 7 - Main ThemeNetworks: Part I

Circuit Switching, Packet Switching, The Network Layer

Dr. Jean-Claude Franchitti

New York UniversityComputer Science Department

Courant Institute of Mathematical Sciences

2

Agenda

Packet SwitchingVirtual Circuit vs. Datagram NetworksThe Internet ProtocolConclusion

Page 2: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

2

3

Part I

Packet Switching

4

Switching Networks

Long distance transmission is typically done over a network of switched nodesNodes not concerned with content of dataEnd devices are stations

Computer, terminal, phone, etc.

A collection of nodes and connections is a communications networkData routed by being switched from node to node

Page 3: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

3

5

Technology

Two different switching technologiesCircuit switchingPacket switching

6

Simple Switched Network

Page 4: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

4

7

Circuit Switching

Dedicated communication path between two stations (during conversation)Three phases

EstablishTransferDisconnect

Must have switching capacity and channel capacity to establish connectionMust have intelligence to work out routing

8

Circuit Switching - Issues

Circuit switching is inefficient (designed for voice)

Resources dedicated to a particular callMuch of the time a data connection is idleData rate is fixed

Both ends must operate at the same rate

Set up (connection) takes timeOnce connected, transfer is transparent

Page 5: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

5

9

Packet Switching – Basic Operation

Data transmitted in small packetsTypically 1000 octetsLonger messages split into series of packetsEach packet contains a portion of user data plus some control info

Control infoRouting (addressing) info

Packets are received, stored briefly (buffered) and passed on to the next node

Store and forward

10

Use of Packets

Page 6: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

6

11

Network LayerTransport segment from sending to receiving hostOn sending side encapsulates segments into datagramsOn receiving side, delivers segments to transport layernetwork layer protocols in every host, routerRouter examines header fields in all IP datagrams passing through it

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

12

Key Network – Layer Functions

forwarding: move packets from router’s input to appropriate router outputrouting: determine route taken by packets from source to destination

Routing algorithms

Analogy:routing: process of planning trip from source to destinationforwarding: process of getting through single interchange

Page 7: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

7

13

Interplay Between Routing and Forwarding

1

23

0111

value in arrivingpacket’s header

routing algorithm

local forwarding tableheader value output link

0100010101111001

3221

14

Connection Setup

3rd important function in some network architectures:

ATM, frame relay, X.25

Before datagrams flow, two hosts and intervening routers establish virtual connection

Routers get involved

Network and transport layer connection service:Network: between two hostsTransport: between two processes

Page 8: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

8

15

Network Service Model

Example services for individual datagrams:

Guaranteed deliveryGuaranteed delivery with less than 40 msec delay

Example services fora flow of datagrams:

In-order datagram deliveryGuaranteed minimum bandwidth to flowRestrictions on changes in inter-packet spacing

Q: What service model for “channel” transporting datagrams from sender to receiver?

16

Network Layer Service Model

NetworkArchitecture

Internet

ATM

ATM

ATM

ATM

ServiceModel

best effort

CBR

VBR

ABR

UBR

Bandwidth

none

constantrateguaranteedrateguaranteed minimumnone

Loss

no

yes

yes

no

no

Order

no

yes

yes

yes

yes

Timing

no

yes

yes

no

no

Congestionfeedback

no (inferredvia loss)nocongestionnocongestionyes

no

Guarantees ?

Page 9: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

9

17

Part II

Virtual Circuit vs. Datagram Networks

18

Network Layer Connection & Connection-Less Service

Datagram network provides network-layer connectionless serviceVC network provides network-layer connection serviceAnalogous to the transport-layer services, but:

Service: host-to-hostNo choice: network provides one or the otherImplementation: in the core

Page 10: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

10

19

Virtual Circuits

Call setup, teardown for each call before data can flowEach packet carries VC identifier (not destination host address)Every router on source-dest path maintains “state” for each passing connectionLink, router resources (bandwidth, buffers) may be allocated to VC

“source-to-dest path behaves much like telephone circuit”– Performance-wise– Network actions along source-to-dest path

20

VC Implementation

Packet belonging to VC carries a VC numberVC number must be changed on each link

New VC number comes from forwarding table

A VC consists of:

1. Path from source to destination2. VC numbers, one number for each link along

path3. Entries in forwarding tables in routers along

path

Page 11: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

11

21

Forwarding Table

12 22 32

1 23

VC number

interfacenumber

Incoming interface Incoming VC # Outgoing interface Outgoing VC #

1 12 2 222 63 1 18 3 7 2 171 97 3 87… … … …

Forwarding table innorthwest router:

Routers maintain connection state information!

22

Virtual Circuits: Signaling Protocols

Used to setup, maintain teardown VCUsed in ATM, frame-relay, X.25Not used in today’s Internet

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Initiate call 2. incoming call3. Accept call4. Call connected

5. Data flow begins 6. Receive data

Page 12: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

12

23

Datagram NetworksNo call setup at network layerRouters: no state about end-to-end connections

No network-level concept of “connection”

Packets forwarded using destination host addressPackets between same source-dest pair may take different paths

applicationtransportnetworkdata linkphysical

applicationtransportnetworkdata linkphysical

1. Initiate call 2. incoming call3. Accept call4. Call connected

5. Data flow begins 6. Receive data

24

Forwarding Table

Destination Address Range Link Interface

11001000 00010111 00010000 00000000through 0

11001000 00010111 00010111 11111111

11001000 00010111 00011000 00000000through 1

11001000 00010111 00011000 11111111

11001000 00010111 00011001 00000000through 2

11001000 00010111 00011111 11111111

otherwise 3

4 billion possible entries

Page 13: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

13

25

Longest Prefix Matching

Prefix Match Link Interface11001000 00010111 00010 0 11001000 00010111 00011000 111001000 00010111 00011 2

otherwise 3

DA: 11001000 00010111 00011000 10101010

Examples

DA: 11001000 00010111 00010110 10100001 Which interface?

Which interface?

26

Datagram or VC Network: Why?Internet

Data exchange among computers

“Elastic” service, no strict timing req.

“Smart” end systems (computers)

Can adapt, perform control, error recoverySimple inside network, complexity at “edge”

Many link typesDifferent characteristicsUniform service difficult

ATMEvolved from telephonyHuman conversation:

strict timing, reliability requirementsneed for guaranteed service

“Dumb” end systemsTelephonescomplexity inside network

Page 14: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

14

27

Part III

IP: The Internet Protocol

28

The Internet Network Layer

Host, router network layer functions:

forwardingtable

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 15: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

15

29

IP Addressing: Introduction

IP address: 32-bit identifier for host, router interfaceInterface: connection between host/router and physical link

Router’s typically have multiple interfacesHost may have multiple interfacesIP 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.2223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

30

Subnets

IP address:Subnet part (high order bits)

Host part (low order bits)

What’s a subnet ?Device interfaces with same subnet part of IP addressCan 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 subnets

LAN

Page 16: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

16

31

Subnets

RecipeTo determine the subnets, detach each interface from its host or router, creating islands of isolated networksEach isolated network is called a subnet

223.1.1.0/24 223.1.2.0/24

223.1.3.0/24

Subnet mask: /24

32

Subnets

How many?223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.2223.1.2.1

223.1.2.6

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.2

223.1.7.0

223.1.7.1223.1.8.0223.1.8.1

223.1.9.1

223.1.9.2

Page 17: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

17

33

IP Adressing: CIDR

CIDR: Classless InterDomain RoutingSubnet portion of address of arbitrary lengthAddress format: a.b.c.d/x, where x is # bits in subnet portion of address

11001000 00010111 00010000 00000000

subnetpart

hostpart

200.23.16.0/23

34

IP Datagram Format

ver length

32 bits

data (variable length,typically a TCP

or UDP segment)

16-bit identifierInternetchecksum

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 flgs fragmentoffset

upperlayer

32 bit destination IP address

Options (if any) E.g. timestamp,record routetaken, specifylist of routers to visit.

how much overhead with TCP?

• 20 bytes of TCP• 20 bytes of IP• = 40 bytes + app

layer overhead

Page 18: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

18

35

IP Fragmentation & Reassembly

RecipeNetwork links have MTU (max.transfer size) - largest possible link-level frame

Different link types, different MTUs

Large IP datagram divided (“fragmented”) within next

One datagram becomes several datagrams“Reassembled” only at final destinationIP header bits used to identify, order related fragments

fragmentation: in: one large datagramout: 3 smaller datagrams

reassembly

36

IP Fragmentation & Reassembly

ID=x

offset=0

fragflag=0

length=4000

ID=x

offset=0

fragflag=1

length=1500

ID=x

offset=185

fragflag=1

length=1500

ID=x

offset=370

fragflag=0

length=1040

One large datagram becomesseveral smaller datagrams

Example• 4000 byte datagram• MTU = 1500 bytes

1480 bytes in data field

offset =1480/8

Page 19: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

19

37

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

38

NAT: Network Address Translation

Motivation: local network uses just one IP address as far as outside world 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 worldCan change ISP without changing addresses of devices in local networkDevices inside local net not explicitly addressable, visible by outside world (a security plus)

Page 20: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

20

39

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 destfields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table

40

NAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 128.119.40.186, 80

110.0.0.4

138.76.29.7

1: host 10.0.0.1 sends datagram to 128.119.40, 80

NAT translation tableWAN side addr LAN side addr138.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, 802

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

Page 21: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

21

41

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 3Violates end-to-end argument

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

Address shortage should instead be solved by IPv6

42

Part IV

Conclusion

Page 22: g22 2262 001 c71 - nyu.edu · Circuit Switching, Packet Switching, The Network Layer Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of

22

43

Assignment & Readings

Assignment #3 (ongoing)Assigned at the completion of Session 6

ReadingsChapter 4 (4.1, 4.2, 4.4)

44

Next Session:Networks: Part 2 (Routing)