1 / 59

Chapter 8 Internet Protocol (IP)

Chapter 8 Internet Protocol (IP). Position of IP in TCP/IP protocol suite. Introduction. IP is the transmission mechanism used by the TCP/IP protocol It is unreliable and connectionless datagram protocol Providing Best-effort delivery service (best-effort : no error checking and tracking).

lyonsl
Télécharger la présentation

Chapter 8 Internet Protocol (IP)

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. Chapter 8Internet Protocol(IP)

  2. Position of IP in TCP/IP protocol suite

  3. Introduction • IP is the transmission mechanism used by the TCP/IP protocol • It is unreliable and connectionless datagram protocol • Providing Best-effort delivery service (best-effort : no error checking and tracking)

  4. 8.1 Datagram • Packets in the IP layer : called datagrams • IP datagram format • Variable-length packet consisting of header and data • Header • 20 ~ 60 bytes • Containing information that is essential for routing and delivery • IP header • Version (VER) : Version 4 or 6 (IPng) • Header length (HLEN) : represented by in 4 byte words • Ex) if HLEN = 5, the real header length is 20 bytes

  5. Datagram (cont’d)

  6. Datagram (cont’d) • Service Type • Defining how the datagram should be handled by the routers • Precedence : 3 bits • Defining the priority of the datagram in issues such as congestion • Ex) a datagram for network management vs. optional information to a group of people • At present, not used in version 4 • service type : 4 bits (TOS bits) • With only one bit set at a time • Remaining bit : not used

  7. Datagram (cont’d) • Service type or Differentiated Services

  8. TOS bits Description 0000 Normal 0001 Minimize cost 0010 Maximize reliability 0100 Maximize throughput 1000 Minimize delay Datagram (cont’d) Types of service

  9. Protocol TOS bits Description ICMP 0000 Normal BOOTP 0000 Normal NNTP 0001 Minimize cost IGP 0010 Maximize reliability SNMP 0010 Maximize reliability TELNET 1000 Minimize delay FTP (data) 0100 Maximize throughput FTP (control) 1000 Minimize delay TFTP 1000 Minimize delay SMTP (command) 1000 Minimize delay SMTP (data) 0100 Maximize throughput DNS (UDP query) 1000 Minimize delay DNS (TCP query) 0000 Normal DNS (zone) 0100 Maximize throughput Datagram (cont’d) Default types for some applications in use of TOS

  10. Datagram (cont’d) • Differentiated Services • The first 6 bits : codepoint subfield • Values for codepoints

  11. Datagram (cont’d) • Total Length : head + data • Defining the total length of the datagram including the header • Length of data = total length – header length • Limited to 65,535 (216 – 1) bytes • Encapsulation of a small datagram in an Ethernet Frame Ethernet Frame size : 46 ~ 1500 bytes

  12. Datagram (cont’d) • Flags : used in fragmentation • Fragmentation offset : used in fragmentation • Time to live • Used to control the maximum number of hops (routers) visited by the datagram • If the value is Zero, the routers discarded • If the source wants to confine the packet to the local network, it can store 1 in this field

  13. Value Protocol 1 ICMP 2 IGMP 6 TCP 8 EGP 17 UDP 89 OSPF Datagram (cont’d) • Protocol • Defining the higher level protocol that uses the services of the IP layer • TCP, UDP, ICMP, and IGMP • Multiplexing data from different higher level protocols

  14. Datagram (cont’d) • Example 1 • An arriving IP packet : 01000010 • The receiver discards the packet, Why ? - 2 x 4 bytes = 8bytes : Minimum number of bytes in the header must be 20

  15. Datagram (cont’d) • Example 2 The value of HLEN is 1000 in binary How many bytes of options are being carried by this packet ?  8 x 4 bytes = 32 bytes : 20 bytes + 12 bytes (option)

  16. Datagram (cont’d) • Exampe 3 - In an IP packet, the value of HLEN is 5 16 and the value of the total length field is 002816. How many bytes of data are being carried by this packet? Answer The HLEN value is 5, which means the total number of bytes in the header is 5  4 or 20 bytes (no options). The total length is 40 bytes, which means the packet is carrying 20 bytes of data (40-20).

  17. Datagram (cont’d) • Example 4 An IP packet has arrived with the first few hexadecimal digits as shown below:  45000028000100000102................... How many hops can this packet travel before being dropped? The data belong to what upper layer protocol?

  18. Datagram (cont’d) • Answer To find the time-to-live field, we should skip 8 bytes (16 hexadecimal digits). The time-to-live field is the ninth byte, which is 01. This means the packet can travel only one hop. The protocol field is the next byte (02), which means that the upper layer protocol is IGMP.

  19. Datagram (cont’d) • Checksum : header checksum- 16 bits • Source IP address : 32 bit-field • Destination IP address : 32 bit-field

  20. 8.2 Fragmentation • The format and size of the received frame depend on the protocol used by the physical network • Ex) A router connecting Ethernet to token ring

  21. Fragmentation (cont’d) • MTU (Maximum Transfer Unit) • When a datagram is encapsulated in a frame, the total size of the datagram must be less than this maximum size

  22. Protocol MTU Hyperchannel 65,535 Token ring (16Mbps) 17,914 Token ring (4Mbps) 4,464 FDDI 4,352 Ethernet 1,500 X.25 576 PPP 296 Fragmentation (cont’d) • MTUs for different networks Hyperchannel : Network Systems Corporation, 1988 (RFC 1044)

  23. Fragmentation (cont’d) • The maximum length of the IP datagram equals to the largest MTU defined so far (65,535 bytes) • Therefore, for the other physical networks we must divide the datagram : fragmentation • datagram that can be fragmented by the source host or any router in the path, but the reassembly of datagram is done by the destination • When a datagram is fragmented, required parts of the header must be copied by all fragments. • Changing the values of the three fields : flags, fragmentation offset, and total length • The rest of fields must be copied • Checksum must be recalculated

  24. Fragmentation (cont’d) • Fields related to fragmentation • Identification : 16 bit-field • Datagram id that is originated by the source host • Therefore, Source IP address + datagram id (identification) • All fragments having same identification number • Identification No. to be used for the destination in reassembling the datagram • Flags : 3 bit-field • D : Do not fragment (1) • If it can not pass the datagram through any available physical network, it discards the datagram and send ICMP error message to the source host • M : More fragment (0) • 0 : last fragment or only fragment

  25. Fragmentation (cont’d) • Fragmentation offset : 13-bit field • Showing relative position of this fragment with respect to the whole datagram • Measured in units of 8 bytes : forcing hosts or routers that fragment datagrams to choose the size of each fragment so that the first byte number is divisible by eight

  26. Fragmentation (cont’d)

  27. 8.3 Options • Variable part of the IP datagram : the maximum of 40 bytes • Format : Code, Length, and Data

  28. Options (cont’d) • Code field • 8 bits length and containing 3 subfields : copy, class, and number • Copy • Controlling the presence of the option in fragmentation • 0 : meaning that option must be copied only to the first fragment • 1 : meaning the option must be copied to all fragments • Class • Defining the general purpose of the option • 00 : datagram control, 01 : reserved, 10 : Debugging and management, 11: reserved

  29. Options (cont’d) • Number • Defining the type of the option : only 6 options that are currently being used • Length • defining the total length of the option including the code field and length field itself • Data • containing the data that specific options require

  30. Options (cont’d) • Option Types

  31. Options (cont’d) • No Operation • one byte option used as a filler between options

  32. Options (cont’d) • End of Option • one-byte option used for padding at the end of the option field • used as the last option

  33. Options (cont’d) • Record Route • used to record the internet routers that handle the datagram • list up to 9 router IP addresses since the max. size of the header is 60 bytes (Base header : 20 bytes) • pointer field • An offset integer field containing the byte number of the first empty entry (available entry) • When leaving the source, the pointer field has a value of four, pointing to the first empty field

  34. Options (cont’d) • Record route option

  35. Options (cont’d)

  36. Options (cont’d) • Strict Source Route • used by the source to predetermine a route for the datagram as it travels through the Internet • can choose a route with specific type of service : minimum delay or maximum throughput

  37. Options (cont’d) • Strict source route concept

  38. Options (cont’d) • Loose Source Route • similar to the strict source route, but it is more relaxed • each router in the list must be visited, but the datagram can visit other routers as well

  39. Options (cont’d) • Time Stamp • used to record the time of datagram processing by a router • expressed in millisecond from the midnight, Universal Time

  40. Options (cont’d) • overflow field : recording the number of routers that could not add their timestamp because no more fields were available • Use of flag in timestamp

  41. Options (cont’d) • Timestamp concept (when flag =1)

  42. 8.4 Checksum • Error detection method used by most TCP/IP protocols • Checksum calculation at the sender • The packet is divided into k sections, each of n bits ( n is usually 16) • All sections are added together using one’s complement arithmetic • The final result is complemented to make the checksum

  43. Checksum (cont’d) • Checksum calculation at the receiver • The packet is divided into k sections, each of n bits. • All sections are added together using one’s complement arithmetic • The result is complemented • If the final result is 0, the packet is accepted; otherwise it is rejected

  44. Checksum (cont’d) • Checksum concept

  45. Checksum (cont’d) • Checksum in one’s complement arithmetic

  46. Checksum (cont’d) • Checksum in the IP Packet • covering only the header, not the data • all higher level protocols that encapsulate data in the IP datagram have a checksum field that covers the whole packet • the header changes with each visited router, but data does not. So the checksum includes only the part which has changed • if each router must recalculates the checksum, it is needed to have the more processing time for each router

  47. Checksum (cont’d) • Example

  48. 8.5 IP Package • IP package : 8 components • Header-adding module • Processing module • Routing module • fragmentation module • reassembly module • routing table • MTU table • reassembly table

  49. IP Package (cont’d) • IP components

  50. IP Package(cont’d) • The operation of IP package • receiving an IP packet, either from the data link layer or a higher level protocol • if the packet comes from a upper layer protocol, it should be delivered to the data link layer • if the packet comes from the data link layer, forwarding to data link or a upper layer ( the destination is same as the station address)

More Related