Date post: | 01-Apr-2015 |
Category: |
Documents |
Upload: | madeline-blundell |
View: | 214 times |
Download: | 1 times |
1
Internetwork ProtocolsLesson 11
NETS2150/2850
http://www.ug.cs.usyd.edu.au/~nets2150/
School of Information Technologies
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
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
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
5
Architectural ApproachesMode of Operation:
Connection orientedConnectionless
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
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.
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
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)
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
10
IP Operation
11
IP Design Issues
RoutingDatagram lifetimeFragmentation and re-assemblyError controlFlow control
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
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
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
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!
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
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
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
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
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
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)
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”
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
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.
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)
26
Internet Protocol (IP) Version 4
Part of TCP/IPSpecified in RFC 791Will (eventually) be replaced by IPv6
27
IP Services
Send primitiveRequest transmission of data unit onto the network
Deliver primitiveNotify user of arrival of data unit from the network
28
IPv4 Header
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
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
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
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
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
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
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
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.
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!)
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
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”
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
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
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
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
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
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
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
47
48
49
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)!