1 / 50

Internetwork Protocols

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

torie
Download Presentation

Internetwork Protocols

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. InternetworkProtocols Lesson 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 model • Understand the intricacies of IP addressing • What’s missing in IPv4? • The importance of ICMP, the companion protocol of IP

  3. Internetworking Terms • Communications Network • Facility that provides data transfer service • An internet • Collection of communications networks interconnected by routers • The Internet - note upper case I • The global collection of thousands of individual machines and networks • An intranet • Corporate internet operating within the organization • Uses Internet (TCP/IP) technology to deliver documents and resources • Can be isolated internet, or can have links to the Internet

  4. Host, router network layer functions: • ICMP protocol • error reporting • router “signalling” • IP protocol • addressing conventions • packet format • packet handling conventions • Routing protocols • path selection • RIP, OSPF routing table The Internet/Network layer Transport layer: TCP, UDP Network layer Data link layer physical layer

  5. Mode of Operation: Connection oriented Connectionless application transport network data link physical application transport network data link physical application transport network data link physical application transport network data link physical Architectural Approaches

  6. Connection Oriented • Assume that each network is connection oriented • Intermediate 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 Operation • Corresponds to datagram mechanism in packet switched network • Each NPDU treated separately • Network 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: • Flexibility • Robust • No connection setup overhead • Cons: • Unreliable, not guaranteed delivery • Not 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 order • Different paths through network • But, PDU order must be maintained • Number PDUs sequentially • Easy to reorder received PDUs

  10. IP Operation

  11. IP Design Issues • Routing • Datagram lifetime • Fragmentation and re-assembly • Error control • Flow control

  12. Routing • End systems and routers maintain routing tables • Indicate next router to which packet should be sent, for all possible destination network • Could be static • But, may contain alternative routes • Or Dynamic • Flexible response to congestion and errors • Source routing • Source specifies route as sequential list of routers to be followed because of: • Security • Priority

  13. Datagram Lifetime • Datagram could loop indefinitely • Consumes resources • Transport protocol may need upper bound on datagram life • Datagram marked with lifetime • TTL field in IP • Decrement TTL on passing through each router • Once lifetime expires, datagram discarded

  14. fragmentation: in: one large packet out: 3 smaller packets reassembly Fragmentation and Reassembly • Network links have MTU (max. transmission unit) - largest possible data link-level frame • Different link types, different MTUs • ATM  53 octets • Ethernet  1518 octets • Pros: • More efficient error control • Smallerretransmission • Fairer • Preventmonopolising • Smaller buffers at rcvr

  15. Disadvantages of Fragmentation • Make PDUs as large as possible because • PDU contains some control information • Smaller block, larger overhead to data ratio • PDU arrival generates interrupt to CPU • Waste CPU time • Smaller 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 only • It 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. length =1500 length =1500 length =4000 length =1040 ID =x ID =x ID =x ID =x Moreflag =0 Moreflag =1 Moreflag =0 Moreflag =1 offset =0 offset =0 offset =185 offset =370 One large packet becomes 3 smaller packets IP Fragmentation and Reassembly Example • 4000-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 lost • So, need to detect failure • Reassembly time out • Assigned to first fragment to arrive • If 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 delivery • IP uses checksum for error detection • Router should attempt to inform source if packet discarded • e.g. for TTL expiring or destination unreachable • But, datagram identification needed • Handled by ICMP protocol (see later)

  22. IP Checksum – 2 steps • 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 • Once all the values are added in this manner, invert all the bits in the result - called its “one's complement”

  23. 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 lsb msb Example:

  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 data • Difficult in connectionless systems • Not done here, left to higher layer (i.e. transport)

  26. Internet Protocol (IP) Version 4 • Part of TCP/IP • Specified in RFC 791 • Will (eventually) be replaced by IPv6

  27. IP Services • Send primitive • Request transmission of data unit onto the network • Deliver primitive • Notify 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 units • Including options • Type of service (before) – Differentiated Service (now) (8 bits) • Allows classification of packets • Total length (16 bits) • in octets • Header plus data

  30. Header Fields (2) • Identification (16 bits) • Sequence number • Used 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 router • Uses 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. Options • Security Label • Allows secured handling of packets • Source routing • A list of router addresses specifies a route to follow • Route recording • Records route taken by a packet • Stream identification • Allows special handling of streaming traffic • Timestamping • Intermediate routers add timestamp on packet

  33. Data Field • Carries user data from next layer up • Integer multiple of 8 bits long (octet) • Max length of packet (header plus data) 65,535 octets

  34. IP address: 32-bit identifier for host, router interface interface: connection between host/router and physical link router’s have multiple interfaces IP addresses associated with each interface Dotted-decimal notation Decimal number representing each of the octets, separated by a decimal point 223.1.1.2 223.1.1.1 223.1.2.1 223.1.2.2 223.1.3.2 223.1.3.1 223.1.3.27 223.1.2.9 223.1.1.4 223.1.1.3 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 IP Addressing: Introduction

  35. IP 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 address can physically reach each other without intervening router 223.1.1.1 223.1.2.1 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.2 223.1.3.1 IP Addressing

  36. multicast address 1110 network host 110 network 10 host IP Addresses “classful” addressing: given notion of “network”, let’s re-examine IP addresses: class Address range 0.0.0.0 to 127.255.255.255 A network 0 host 128.0.0.0 to 191.255.255.255 B 192.0.0.0 to 223.255.255.255 C 224.0.0.0 to 239.255.255.255 D 32 bits All host ids.

  37. Private IP addresses • Also called non-routable IP addresses • IP blocks reserved for private networks are: • 10.0.0.0 through 10.255.255.255 • 172.16.0.0 through 172.31.255.255 • 192.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. host part network part 11001000 00010111 00010000 00000000 200.23.16.0/23 IP addressing: CIDR • Classful addressing contributed to: • inefficient use of address space, address space exhaustion • e.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that network • Solution  classless addressing • CIDR:Classless InterDomain Routing • network portion of address is of arbitrary length • address format: a.b.c.d/x, where x is # bits in network portion of address (Slash notation)

  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->properties • Red-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 Masks • Allow arbitrary complexity of internetworked LANs within organisation • Each LAN segment assigned subnet number • Host 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 Numbers • allocates addresses • manages DNS • assigns domain names, resolves disputes

  43. Used by hosts, routers to communicate network-level information (RFC 792) error reporting: unreachable host, network, port, protocol query: echo request/reply (used by ping) In network-layer “above” IP: ICMP msgs carried in IP packets ICMP message: type, code plus IP header andfirst 8 octets of data causing error ICMP IP ICMP: Internet Control Message Protocol TypeCodedescription 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header

  44. IP v6 - Version Number • IP v 1-3 defined and replaced • IP v4 - current version • IP v5 - non-IP real-time streaming protocol • IP v6 - replacement for IP v4 • During development it was called IPng • Overall spec in RFC 2460

  45. Why Change IP? • Address space exhaustion • Two level addressing (network and host) wastes space • Network addresses used even if not connected to Internet • Exponential growth of the Internet • Single address per host • Requirements for new types of service

  46. Network sniffer or a protocol analyzer: Ethereal Ethereal: A Packet Sniffer • A basic tool for observing messages exchanges between protocol entities • It captures messages being sent/received from/by your computer • Other packet sniffers are tcpdump, Zx Sniffer & AnalogX PacketMon

  47. Summary • IP enables host-to-host delivery of packets, unreliably • Allows a flexible approach • Some assistance by ICMP when error • Who looks at process-to-process delivery?? • Transport layer (next lesson!) • Read Stallings Chapter 18 • Download RFC 791, a classic (1981)!

More Related