150 likes | 269 Views
Overview. Last Lecture Congestion control Source: chapter 12 This Lecture Internet Protocols (1) Source: chapter 15 Next Lecture Internet Protocols (2) Source: chapter 15. TCP/IP. Transmission Control Protocol Internet Protocol
E N D
Overview • Last Lecture • Congestion control • Source: chapter 12 • This Lecture • Internet Protocols (1) • Source: chapter 15 • Next Lecture • Internet Protocols (2) • Source: chapter 15
TCP/IP • Transmission Control Protocol • Internet Protocol • TCP/IP refers to an entire suite of networking protocols, developed for use on the Internet • TCP and IP are two of the most important • TCP/IP reference model
TCP/IP and Internet • Internet is different from ‘internet’ • A brief history • 1969 ARPA funded ARPANET • 1973 Ethernet (Bob Metcalfe’s PhD Thesis) • 1977 packet switching funded by ARPA • 1979 Internet Research Group for TCP/IP • 1982/1983 TCP/IP as a core protocol • 1983 BSD4.2 Unix with TCP/IP from UCB • 1986 BSD4.3, performance improvements • 1988 BSD4.3, slow start, congestion avoidance • 1993 BSD4.4, multicasting • Size • 1969 - 4 sites • 1981 - 200 sites • 1996 - 100,000th network added in Internet • 1997 - 16M computers • 1998 - 30M computers • 2000 - 50M computers • How many computers in Internet today? • Internet Activities Board • Internet Engineering Task Force • Internet Research Task Force • Network Information Center • RFC: technical reports on protocols
IP - Internet Protocol • Unreliable connectionless protocol • A datagram service • Not guaranteed delivery • best effort delivery • Packets are not guaranteed to arrive in order or via the same route • Packets may be duplicated • Routing decisions may be made for each packet • Reliability is the responsibility of next layer up (e.g. TCP) • Uses the packet-switching technique • IP takes care of network differences • Make sure IP packets can be transferred through different networks • Use data link layer protocols, e.g. Ethernet, or other network layer protocols, e.g. X.25, as vehicles to transfer IP packets • IP packets are encapsulated into data link layer frames or other network packets Ethernet hdr IP packet
IP operation • The following figure illustrates how an IP packet is transferred from one LAN to another LAN through X.25
Interface with higher layer • Interface with higher layer, e.g. TCP • Functions to be performed • Form of primitive implementation dependent • e.g. subroutine call • Send • Request transmission of data unit • Deliver • Notify user of arrival of data unit • Parameters for send and deliver • Source address • Destination address • Protocol • Type of service indicators • Identification • Don’t fragment identifier • Time to live • Data length • Option data • Data
IP packet format • Version (4 bits) • version of IP that created the packet • Currently IPv4, shortly IPv6 • Header length (4 bits) • number of 32-bit words in the packet header • Minimum 5, maximum 15 • Service type (3 bits) • allows the host to tell the subnet what kind of service it desires (reliability and speed) • Total datagram length (16 bits) • length of the entire IP packet. Max 64KB.
IP packet fields • Identification, flags, fragment offset • used for breaking up a packet received from the next higher layer protocol and reassembling it if the packet is too big • Time to live (8 bits) • Decremented by routers to prevent looping. • Normally set to 30 • Packet is discarded when it reaches 0. • Protocol (8 bits) • Specifies the next higher protocol. Used at destination to give data to appropriate entity. • 6, to TCP; 17, to UDP; 1, to ICMP • Header checksum (16 bits) • Error correction for the packet header. IP only worries about errors at its level. • Source and destination IP addresses • 32 bit fields for the addresses • Options • record route, timestamp, packet routing, security • Padding • makes header end at a 32 bit boundary
IP packet fields • Data • data provided by higher layer. • Integer multiple of 8 bits long (octet) • Max length of an IP datagram (header plus data) 65,535 octets • Type of services • Precedence: 3 bits, 8 levels • Reliability: 1 bit, normal or high • Delay: 1 bit, normal or low • Throughput: 1 bit, normal or high • Options • Security • Attach a security label • Source routing • A sequence of router addresses specifying the route • Route recording • Record the sequence of routers visited • Stream identification: reserve resources for real-time applications • Timestamping:add a timestamp when goes by
Fragmentation • Different networks allow different maximum frame sizes. • Maximum Transfer Unit (MTU). • If IP receives a packet larger than the MTU of an underlying network, IP must break up the packet into fragments to transmit it. • The identification, flags, and fragment offset fields are used in this process • Identification: packet’s identification value • Flag field contains a more-fragments bit (mfb), indicating there are more fragments following • Fragment offset field: offset of the fragment in the packet’s data field
Re-assembly • 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, which inhibits dynamic routing • IP re-assembles at destination only • Dealing with failure • Re-assembly may fail if some fragments get lost • Need to detect failure • Re-assembly time out • Assigned to first fragment to arrive • If timeout expires before all fragments arrive, discard partial data • Use time-to-live field of the first fragment as the packet life time • Let the time-to-live field continue to decrement per second • If time-to-live runs out, discard partial data
IP Addresses • An IP address has four bytes • Dotted decimal notion e.g.139.80.32.92 • IP addresses are divided into classes • Class A • 0nnnnnnn xxxxxxxx xxxxxxxx xxxxxxxx • 8-bit network address • 24-bit node ID address • 126 networks of 16 million hosts • Class B • 10nnnnnn nnnnnnnn xxxxxxxx xxxxxxxx • 16-bit network address • 16-bit node ID address • 16,384 networks of 64K hosts • Class C • 110nnnnn nnnnnnnn nnnnnnnn xxxxxxxx • 24-bit network address • 8-bit node ID address • 2 million networks of 254 hosts
IP Addresses • Class D is multicast address • 1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx • Class E is reserved for future use • 11110xxx xxxxxxxx xxxxxxxx xxxxxxxx • Example: 139.80.32.92 • Which class? Convert it into binary code: • 10001101.01010000.00100000.01011100
Internet Domains and Names • IP domain • Hierarchical • Domains are not geographical • Domains can have subdomains • Example: edu, com, org, gov, nz, co.nz • IP name • ws1.cs.mit.edu • vax2.dunedin.xyz.co.nz • IP name is different from IP address! • Examples • mary.otago.ac.nz - 139.80.32.92 • microsoft.co.nz - 202.37.145.231 • There is a mapping between IP name and IP address • Domain Name System (DNS) • Provide DNS servers to map an IP Name into an IP address • A distributed database for name-address pairs - no DNS server knows everything • A hierarchical system distributed among DNS servers • Try ‘nslookup’ to get the IP address for a text name • Example: nslookup atlas.otago.ac.nz
Summary • TCP/IP reference model • TCP/IP protocol suite • Internet Protocol • Datagram service • Packet switching • Interface with higher layer • IP packet format • Fragmentation and re-assembly • IP addresses and classes • Internet domains and names