Internetwork Protocols

50
1 Internetwork Protocols Lesson 11 NETS2150/2850 http://www.ug.cs.usyd.edu.au/ ~nets2150/ School of Information Technologies

description

Internetwork Protocols. Lesson 11 NETS2150/2850 http://www.ug.cs.usyd.edu.au/~nets2150/. School of Information Technologies. Lesson Outcomes. The needs for internetworking and not standalone network! Design issues in a connection-less model Understand the intricacies of IP addressing - PowerPoint PPT Presentation

Transcript of Internetwork Protocols

Page 1: Internetwork Protocols

1

Internetwork ProtocolsLesson 11

NETS2150/2850

http://www.ug.cs.usyd.edu.au/~nets2150/

School of Information Technologies

Page 2: Internetwork Protocols

2

Lesson Outcomes

The needs for internetworking and not standalone network!Design issues in a connection-less modelUnderstand the intricacies of IP addressingWhat’s missing in IPv4?The importance of ICMP, the companion protocol of IP

Page 3: Internetwork Protocols

3

Internetworking TermsCommunications Network

Facility that provides data transfer service

An internetCollection of communications networks interconnected by routers

The Internet - note upper case IThe global collection of thousands of individual machines and networks

An intranetCorporate internet operating within the organizationUses Internet (TCP/IP) technology to deliver documents and resourcesCan be isolated internet, or can have links to the Internet

Page 4: Internetwork Protocols

4

The Internet/Network layer

routingtable

Host, router network layer functions:

Routing protocols•path selection•RIP, OSPF

IP protocol•addressing conventions•packet format•packet handling conventions

ICMP protocol•error reporting•router “signalling”

Transport layer: TCP, UDP

Data link layer

physical layer

Networklayer

Page 5: Internetwork Protocols

5

Architectural ApproachesMode of Operation:

Connection orientedConnectionless

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

Page 6: Internetwork Protocols

6

Connection Oriented

Assume that each network is connection orientedIntermediate System (IS1) connect two or more networks

Logical connection set up between ESs• Concatenation of logical connections across

networks

Individual network virtual circuits joined by IS

1: Bridges and routers are examples of ISs.

Page 7: Internetwork Protocols

7

Connectionless OperationCorresponds to datagram mechanism in packet switched networkEach NPDU treated separatelyNetwork layer protocol common to all ESs and routers

Known generically as the internet protocol

Internet Protocol (IP)One such internet protocol was developed for ARPANET (Advanced Research Projects Agency Network )

RFC 791

Lower layer protocol needed to access particular network

Page 8: Internetwork Protocols

8

Connectionless Internetworking

Pros:FlexibilityRobustNo connection setup overhead

Cons:Unreliable, not guaranteed deliveryNot guaranteed order of delivery

• Packets can take different routes

Reliability is responsibility of next layer up (e.g. TCP)

Page 9: Internetwork Protocols

9

Ordered Delivery

PDUs may arrive out of orderDifferent paths through network

But, PDU order must be maintainedNumber PDUs sequentially

Easy to reorder received PDUs

Page 10: Internetwork Protocols

10

IP Operation

Page 11: Internetwork Protocols

11

IP Design Issues

RoutingDatagram lifetimeFragmentation and re-assemblyError controlFlow control

Page 12: Internetwork Protocols

12

RoutingEnd systems and routers maintain routing tables

Indicate next router to which packet should be sent, for all possible destination networkCould be static

• But, may contain alternative routes

Or Dynamic• Flexible response to congestion and errors

Source routingSource specifies route as sequential list of routers to be followed because of:

• Security• Priority

Page 13: Internetwork Protocols

13

Datagram Lifetime

Datagram could loop indefinitelyConsumes resourcesTransport protocol may need upper bound on datagram life

Datagram marked with lifetime TTL field in IPDecrement TTL on passing through each routerOnce lifetime expires, datagram discarded

Page 14: Internetwork Protocols

14

Fragmentation and ReassemblyNetwork links have MTU (max. transmission unit) - largest possible data link-level frame

Different link types, different MTUs ATM 53 octetsEthernet 1518 octets

Pros:More efficient error control

• Smaller retransmission

Fairer• Prevent monopolising

Smaller buffers at rcvr

fragmentation: in: one large packetout: 3 smaller packets

reassembly

Page 15: Internetwork Protocols

15

Disadvantages of Fragmentation

Make PDUs as large as possible becausePDU contains some control informationSmaller block, larger overhead to data ratio

PDU arrival generates interrupt to CPUWaste CPU timeSmaller blocks, more interrupts!

Page 16: Internetwork Protocols

16

Fragmentation and Reassembly

When to re-assemble??At destination?• Results in packets getting smaller as data

traverses internet

Intermediate re-assembly?• Need large buffers at routers• Buffers may fill with fragments• All fragments must go through same router

– Inhibits dynamic routing

Page 17: Internetwork Protocols

17

IP Fragmentation (1)

IP reassembles at destination onlyIt uses these fields in header

Identifies end system originated packet• Source and destination address• Protocol layer generating data (e.g. TCP)• Identification supplied by IP layer

Total Length• Length of packet in octets

Page 18: Internetwork Protocols

18

IP Fragmentation (2)

Offset• Position of fragment of user data in

original packet• In multiples of 64-bit (8-octet) units

More fragment flag• Indicates that this is not the last fragment• 0 – last or the only packet• 1 – not last

Page 19: Internetwork Protocols

19

IP Fragmentation and ReassemblyID=x

offset=0

Moreflag=0

length=4000

ID=x

offset=0

Moreflag=1

length=1500

ID=x

offset=185

Moreflag=1

length=1500

ID=x

offset=370

Moreflag=0

length=1040

One large packet becomes3 smaller packets

Example4000-octet packet (with 20-octet header)MTU = 1500 octets

Data in each is 1480 octets

Fragments = 3980/1480 = 3

Offset in 1st fragment = 0, 2nd fragment = (1480/8) = 185 and 3rd fragment = (185+185) = 370

Page 20: Internetwork Protocols

20

Dealing with Failure

Reassembly may fail if some fragments get lostSo, need to detect failureReassembly time out

Assigned to first fragment to arriveIf timeout expires before all fragments arrive, discard partial data

Use packet lifetime (time to live)If TTL runs out, kill partial data

Page 21: Internetwork Protocols

21

Error Control

IP do NOT guarantee deliveryIP uses checksum for error detectionRouter should attempt to inform source if packet discarded

e.g. for TTL expiring or destination unreachableBut, datagram identification needed

Handled by ICMP protocol (see later)

Page 22: Internetwork Protocols

22

IP Checksum – 2 steps

1. Add the 16-bit values up. Each time a carry-out (17th bit) is produced, swing that bit around and add it back into the lsb

2. Once all the values are added in this manner, invert all the bits in the result - called its “one's complement”

Page 23: Internetwork Protocols

23

Example: 1000 0110 0101 1110 1010 1100 0110 0000 0111 0001 0010 1010 1000 0001 1011 0101

First, we add the 16-bit values 2 at a time: 1000 0110 0101 1110 First 16-bit value + 1010 1100 0110 0000 Second 16-bit value ------------------------- 1 0011 0010 1011 1110 Produced a carry-out, which gets added + \----------------------> 1 back into lsb ---------------------------- 0011 0010 1011 1111 + 0111 0001 0010 1010 Third 16-bit value ---------------------------- 0 1010 0011 1110 1001 No carry to swing around (**) + 1000 0001 1011 0101 Fourth 16-bit value ---------------------------- 1 0010 0101 1001 1110 Produced a carry-out, which gets added + \----------------------> 1 back into lsb ---------------------------- 0010 0101 1001 1111 Our sum

lsbmsb

Page 24: Internetwork Protocols

24

Example (Cont.)

Then we have to take the one's complement of the sum.

We do this by simply inverting all the bits in the final result from above:

0010 0101 1001 1111 Our sum

1101 1010 0110 0000 The "one's complement"

So the checksum stored in the header would be 1101 1010 0110 0000.

Page 25: Internetwork Protocols

25

Flow Control

Allows routers and/or stations to limit rate of incoming dataDifficult in connectionless systemsNot done here, left to higher layer (i.e. transport)

Page 26: Internetwork Protocols

26

Internet Protocol (IP) Version 4

Part of TCP/IPSpecified in RFC 791Will (eventually) be replaced by IPv6

Page 27: Internetwork Protocols

27

IP Services

Send primitiveRequest transmission of data unit onto the network

Deliver primitiveNotify user of arrival of data unit from the network

Page 28: Internetwork Protocols

28

IPv4 Header

Page 29: Internetwork Protocols

29

Header Fields (1)Version (4 bits)

Currently 4

Internet header length (4 bits)In 32-bit unitsIncluding options

Type of service (before) – Differentiated Service (now) (8 bits)

Allows classification of packets

Total length (16 bits)in octetsHeader plus data

Page 30: Internetwork Protocols

30

Header Fields (2)Identification (16 bits)

Sequence numberUsed with addresses and user protocol to identify packet uniquely

Flags (3 bits)More bit (1 bit)Don’t fragment (1 bit)

Fragmentation offset (13 bits)Time to live (8 bits)Protocol (8 bits)

Next higher layer to receive data field at destination

Page 31: Internetwork Protocols

31

Header Fields (3)Header checksum (16 bits)

Reverified and recomputed at each routerUses 16-bit ones complement sum

Source address (32 bits)Destination address (32 bits)Options (variable)

See next slide

Padding (variable)To fill to multiple of 32 bits long

Page 32: Internetwork Protocols

32

OptionsSecurity Label

Allows secured handling of packets

Source routingA list of router addresses specifies a route to follow

Route recordingRecords route taken by a packet

Stream identificationAllows special handling of streaming traffic

TimestampingIntermediate routers add timestamp on packet

Page 33: Internetwork Protocols

33

Data Field

Carries user data from next layer upInteger multiple of 8 bits long (octet)Max length of packet (header plus data) 65,535 octets

Page 34: Internetwork Protocols

34

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

router’s have multiple interfacesIP addresses associated with each interface

Dotted-decimal notationDecimal number representing each of the octets, separated by a decimal point

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 35: Internetwork Protocols

35

IP AddressingIP address: 2 parts

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

LAN

Page 36: Internetwork Protocols

36

IP Addresses

0 network host

10 network host

110 network host

1110 multicast address

A

B

C

D

class0.0.0.0 to127.255.255.255

128.0.0.0 to191.255.255.255

192.0.0.0 to223.255.255.255

224.0.0.0 to239.255.255.255

32 bits

given notion of “network”, let’s re-examine IP addresses:

“classful” addressing:

Address range

All host ids.

Page 37: Internetwork Protocols

37

Private IP addressesAlso called non-routable IP addressesIP blocks reserved for private networks are:

10.0.0.0 through 10.255.255.255172.16.0.0 through 172.31.255.255192.168.0.0 through 192.168.255.255

Network Address Translation (NAT) protocol could be used to map private IP addresses to external IP address space (see RFC 1631)Use to hide internal network structure from the outside world (Security measure!)

Page 38: Internetwork Protocols

38

IP addressing: CIDRClassful addressing contributed to:

inefficient use of address space, address space exhaustione.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that networkSolution classless addressing

CIDR: Classless InterDomain Routingnetwork portion of address is of arbitrary lengthaddress format: a.b.c.d/x, where x is # bits in network portion of address (Slash notation)

11001000 00010111 00010000 00000000

networkpart

hostpart

200.23.16.0/23

Page 39: Internetwork Protocols

39

IP addresses: how to get one?

Q: How does host get IP address?

hard-coded by network admin:MS Windows: control-panel->network->configuration->tcp/ip->propertiesRed-Hat LINUX: /etc/sysconfig

DHCP: Dynamic Host Configuration Protocol: dynamically gets address from a server

Client “plug-and-play”

Page 40: Internetwork Protocols

40

Who assigns IP addresses?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

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 41: Internetwork Protocols

41

Subnets and Subnet MasksAllow arbitrary complexity of internetworked LANs within organisationEach LAN segment assigned subnet numberHost portion of address partitioned into subnet number and host number

With the help of subnet mask

Page 42: Internetwork Protocols

42

IP addressing: the last word...

Q: How does an ISP get block of addresses?

A: ICANN: Internet Corporation for Assigned

Names and Numbersallocates addressesmanages DNSassigns domain names, resolves disputes

Page 43: Internetwork Protocols

43

ICMP: Internet Control Message ProtocolUsed by hosts, routers to communicate network-level information (RFC 792)

error reporting: unreachable host, network, port, protocolquery: echo request/reply (used by ping)

In network-layer “above” IP:

ICMP msgs carried in IP packets

ICMP message: type, code plus IP header and first 8 octets of data 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

IPIP

ICMP

Page 44: Internetwork Protocols

44

IP v6 - Version Number

IP v 1-3 defined and replacedIP v4 - current versionIP v5 - non-IP real-time streaming protocolIP v6 - replacement for IP v4

During development it was called IPngOverall spec in RFC 2460

Page 45: Internetwork Protocols

45

Why Change IP?

Address space exhaustionTwo level addressing (network and host) wastes spaceNetwork addresses used even if not connected to InternetExponential growth of the InternetSingle address per host

Requirements for new types of service

Page 46: Internetwork Protocols

46

Ethereal: A Packet SnifferA basic tool for observing messages exchanges between protocol entitiesIt captures messages being sent/received from/by your computerOther packet sniffers are tcpdump, Zx Sniffer & AnalogX PacketMon

Network sniffer or a protocol analyzer: Ethereal

Page 47: Internetwork Protocols

47

Page 48: Internetwork Protocols

48

Page 49: Internetwork Protocols

49

Page 50: Internetwork Protocols

50

Summary

IP enables host-to-host delivery of packets, unreliably

Allows a flexible approachSome assistance by ICMP when error

Who looks at process-to-process delivery??

Transport layer (next lesson!)

Read Stallings Chapter 18Download RFC 791, a classic (1981)!