UNIT – I Introduction: Protocols and standards –standards Organizations–internet standards–internet administration-The OSI model and the TCP/IP protocol suit : the OSI model–layers in the OSI model – TCP/IP protocol suit–addressing–IP versions. 1. Introduction An increasing number of people are using the Internet and, many for the first time, are using the tools and utilities that at one time were only available on a limited number of computer systems (and only for really intense users!). One sign of this growth in use has been the significant number of Transmission Control Protocol/Internet Protocol (TCP/IP) and Internet books, articles, courses, and even TV shows that have become available in the last several years; there are so many such books that publishers are reluctant to authorize more because bookstores have reached their limit of shelf space! This memo provides a broad overview of the Internet and TCP/IP, with an emphasis on history, terms, and concepts. It is meant as a brief guide and starting point, referring to many other sources for more detailed information. 2. What are TCP/IP and the Internet? While the TCP/IP protocols and the Internet are different, their histories are most definitely intertwingled! This section will discuss some of the history. For additional information and insight, readers are urged to read two excellent histories of the Internet: Casting The Net: From ARPANET to INTERNET and beyond... by Peter Salus (Addison-Wesley, 1995) and Where Wizards Stay Up Late: The Origins of the Internet by Katie Hafner and Mark Lyon (Simon & Schuster, 1997). Internet Standards -In each of these lists, RFC titles are shown in bold-face if they are current; obsoleted RFCs are shown in light red RFC0768 (STD0006) User Datagram Protocol RFC0791 (STD0005) Internet Protocol RFC0792 (STD0005) Internet Control Message Protocol RFC0793 (STD0007) Transmission Control Protocol RFC0821 (STD0010) Simple Mail Transfer Protocol (Obsoleted by: RFC2821) RFC0822 (STD0011) STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES (Obsoleted by: RFC2822) RFC0826 (STD0037) Ethernet Address Resolution Protocol: Or Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware RFC0854 (STD0008) Telnet Protocol Specification RFC0855 (STD0008) Telnet Option Specifications RFC0856 (STD0027) Telnet Binary Transmission RFC0857 (STD0028) Telnet Echo Option RFC0858 (STD0029) Telnet Suppress Go Ahead Option RFC0859 (STD0030) Telnet Status Option RFC0860 (STD0031) Telnet Timing Mark Option RFC0861 (STD0032) Telnet Extended Options: List Option RFC0862 (STD0020) Echo Protocol RFC0863 (STD0021) Discard Protocol RFC0864 (STD0022) Character Generator Protocol RFC0865 (STD0023) Quote of the Day Protocol RFC0866 (STD0024) Active users RFC0867 (STD0025) Daytime Protocol RFC0868 (STD0026) Time Protocol RFC0891 (STD0044) DCN Local-Network Protocols RFC0894 (STD0041) A Standard for the Transmission of IP Datagrams over Ethernet Networks RFC0895 (STD0042) Standard for the transmission of IP datagrams over experimental Ethernet networks RFC0903 (STD0038) A Reverse Address Resolution Protocol RFC0907 (STD0040) Host Access Protocol specification RFC0919 (STD0005) Broadcasting Internet Datagrams RFC0922 (STD0005) Broadcasting Internet datagrams in the presence of subnets RFC0950 (STD0005) Internet Standard Subnetting Procedure RFC0959 (STD0009) File Transfer Protocol RFC1001 (STD0019) Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and methods RFC1002 (STD0019) Protocol standard for a NetBIOS service on a TCP/UDP transport: Detailed specifications RFC1006 (STD0035) ISO Transport Service on top of the TCP Version: 3 RFC1034 (STD0013) Domain names - concepts and facilities RFC1035 (STD0013) Domain names - implementation and specification RFC1042 (STD0043) Standard for the transmission of IP datagrams over IEEE 802 networks RFC1044 (STD0045) Internet Protocol on Network System's HYPERchannel: Protocol Specification RFC1055 (STD0047) Nonstandard for transmission of IP datagrams over serial lines: SLIP RFC1065 Structure and identification of management information for TCP/IP-based internets (Obsoleted by: RFC1155) RFC1088 (STD0048) Standard for the transmission of IP datagrams over NetBIOS networks RFC1112 (STD0005) Host extensions for IP multicasting RFC1119 Network Time Protocol (version 2) specification and implementation (Obsoleted by: RFC1305) RFC1122 (STD0003) Requirements for Internet Hosts - Communication Layers RFC1123 (STD0003) Requirements for Internet Hosts - Application and Support RFC1132 (STD0049) Standard for the transmission of 802.2 packets over IPX networks RFC1155 (STD0016) Structure and identification of management information for TCP/IP-based internets RFC1201 (STD0046) Transmitting IP traffic over ARCNET networks RFC1209 (STD0052) The Transmission of IP Datagrams over the SMDS Service RFC1212 (STD0016) Concise MIB definitions RFC1213 (STD0017) Management Information Base for Network Management of TCP/IP-based internets:MIB-II RFC1350 (STD0033) The TFTP Protocol (Revision 2) RFC1390 (STD0036) Transmission of IP and ARP over FDDI Networks RFC1661 (STD0051) The Point-to-Point Protocol (PPP) RFC1662 (STD0051) PPP in HDLC-like Framing RFC1722 (STD0057) RIP Version 2 Protocol Applicability Statement RFC1723 RIP Version 2 - Carrying Additional Information (Obsoleted by: RFC2453) RFC1725 Post Office Protocol - Version 3 (Obsoleted by: RFC1939) RFC1869 (STD0010) SMTP Service Extensions (Obsoleted by: RFC2821) RFC1870 (STD0010) SMTP Service Extension for Message Size Declaration RFC1939 (STD0053) Post Office Protocol - Version 3 RFC2289 (STD0061) A One-Time Password System RFC2328 (STD0054) OSPF Version 2 RFC2427 (STD0055) Multiprotocol Interconnect over Frame Relay RFC2453 (STD0056) RIP Version 2 RFC2578 (STD0058) Structure of Management Information Version 2 (SMIv2) RFC2579 (STD0058) Textual Conventions for SMIv2 RFC2580 (STD0058) Conformance Statements for SMIv2 RFC2819 (STD0059) Remote Network Monitoring Management Information Base RFC2920 (STD0060) SMTP Service Extension for Command Pipelining RFC3411 (STD0062) An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks RFC3412 (STD0062) Message Processing and Dispatching for the Simple Network Management Protocol (SNMP) RFC3413 (STD0062) Simple Network Management Protocol (SNMP) Applications RFC3414 (STD0062) User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3) RFC3415 (STD0062) View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP) RFC3416 (STD0062) Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP) RFC3417 (STD0062) Transport Mappings for the Simple Network Management Protocol (SNMP) RFC3418 (STD0062) Management Information Base (MIB) for the Simple Network Management Protocol (SNMP) RFC3550 (STD0064) RTP: A Transport Protocol for Real-Time Applications RFC3551 (STD0065) RTP Profile for Audio and Video Conferences with Minimal Control RFC3629 (STD0063) UTF-8, a transformation format of ISO 10646 RFC3986 (STD0066) Uniform Resource Identifier (URI): Generic Syntax RFC4506 (STD0067) XDR: External Data Representation Standard RFC5011 (STD0074) Automated Updates of DNS Security (DNSSEC) Trust Anchors RFC5234 (STD0068) Augmented BNF for Syntax Specifications: ABNF RFC5343 (STD0078) Simple Network Management Protocol (SNMP) Context EngineID Discovery RFC5590 (STD0078) Transport Subsystem for the Simple Network Management Protocol (SNMP) RFC5591 (STD0078) Transport Security Model for the Simple Network Management Protocol (SNMP) RFC5652 (STD0070) Cryptographic Message Syntax (CMS) RFC5730 (STD0069) Extensible Provisioning Protocol (EPP) RFC5731 (STD0069) Extensible Provisioning Protocol (EPP) Domain Name Mapping RFC5732 (STD0069) Extensible Provisioning Protocol (EPP) Host Mapping RFC5733 (STD0069) Extensible Provisioning Protocol (EPP) Contact Mapping RFC5734 (STD0069) Extensible Provisioning Protocol (EPP) Transport over TCP RFC6152 (STD0071) SMTP Service Extension for 8-bit MIME Transport RFC6353 (STD0078) Transport Layer Security (TLS) Transport Model for the Simple Network Management Protocol (SNMP) RFC6376 (STD0076) DomainKeys Identified Mail (DKIM) Signatures RFC6409 (STD0072) Message Submission for Mail RFC6522 (STD0073) The Multipart/Report Media Type for the Reporting of Mail System Administrative Messages RFC6891 (STD0075) Extension Mechanisms for DNS (EDNS(0)) RFC7011 (STD0077) Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information RFC7296 (STD0079) Internet Key Exchange Protocol Version 2 (IKEv2) Internet Standards Organizations (ISOC, IAB, IESG, IETF, IRSG, IRTF) High-quality, widely-accepted open standards become more important the larger the number of people that use a network. The largest network of all is of course the Internet, which connects millions of people on thousands of individual networks into a globe-spanning internetwork. The Internet has revolutionized not only networking and computing, but communication, business, and even society as a whole. One of the critical factors in the success of the Internet has been its development using open standards. Of course, nobody sat down one day and said “hey, let’s create the Internet!” (No, not even Al Gore. J) It began as a small research network, and was developed over time concurrently with the technology set that implemented it: TCP/IP. At first, a relatively small organization was sufficient to manage the development of Internet standards and oversee its activities, but as the Internet continued to grow, this became inadequate. Eventually a more formalized structure of organizations was required, to manage the Internet development process and other activities to ensure the continued success and growth of the Internet and the TCP/IP technologies that power it. Today, there are six organizations that are responsible for the development of the Internet’s architecture, standards and policies, and related activities. They are closely-related, with certain organizations being responsible for oversight of others, as shown in Figure 7. These organizations perform many tasks, and can be somewhat confusing to understand, since many have similarsounding names and responsibilities. Therefore, I will concentrate mostly on their role in the development of Internet standards, since that is our primary interest in this discussion. Figure 7: Internet Standards Organizations The Internet Society (ISOC) oversees the IAB, which in turn directs the IETF and IRTF. The IETF develops current Internet and TCP/IP standards, and is headed by the IESG, which manages IETF working groups (WGs). The IRTF is the IETF’s research counterpart, containing research groups (RGs) led by the IRSG. OSI OSI (Open Systems Interconnection) is reference model for how applications can communicate over a network. A reference model is a conceptual framework for understanding relationships. The purpose of the OSI reference model is to guide vendors and developers so the digital communication products and software programs they create will interoperate, and to facilitate clear comparisons among communications tools. Most vendors involved in telecommunications make an attempt to describe their products and services in relation to the OSI model. And although useful for guiding discussion and evaluation, OSI is rarely actually implemented, as few network products or standard tools keep all related functions together in well-defined layers as related to the model. The TCP/IP protocols, which define the Internet, do not map cleanly to the OSI model. OSI layers The main concept of OSI is that the process of communication between two endpoints in a telecommunication network can be divided into seven distinct groups of related functions, or layers. Each communicating user or program is at a computer that can provide those seven layers of function. So in a given message between users, there will be a flow of data down through the layers in the source computer, across the network and then up through the layers in the receiving computer. The seven layers of function are provided by a combination of applications, operating systems, network card device drivers and networking hardware that enable a system to put a signal on a network cable or out over Wi-Fi or other wireless protocol). The seven Open Systems Interconnection layers are: Layer 7: The application layer. This is the layer at which communication partners are identified (Is there someone to talk to?), network capacity is assessed (Will the network let me talk to them right now?), and that creates a thing to send or opens the thing received. (This layer is not the application itself, it is the set of services an application should be able to make use of directly, although some applications may perform application layer functions.) Layer 6: The presentation layer. This layer is usually part of an operating system (OS) and converts incoming and outgoing data from one presentation format to another (for example, from clear text to encrypted text at one end and back to clear text at the other). Layer 5: The session layer. This layer sets up, coordinates and terminates conversations. Services include authentication and reconnection after an interruption. On the Internet, Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) provide these services for most applications. Layer 4: The transport layer. This layer manages packetization of data, then the delivery of the packets, including checking for errors in the data once it arrives. On the Internet, TCP and UDP provide these services for most applications as well. Layer 3: The network layer. This layer handles the addressing and routing of the data (sending it in the right direction to the right destination on outgoing transmissions and receiving incoming transmissions at the packet level). IP is the network layer for the Internet. Layer 2: The data-link layer. This layer sets up links across the physical network, putting packets into network frames. This layer has two sub-layers, the Logical Link Control Layer and the Media Access Control Layer. Ethernet is the main data link layer in use. Layer 1: The physical layer. This layer conveys the bit stream through the network at the electrical, optical or radio level. It provides the hardware means of sending and receiving data on a carrier network. IPADDRESSING Short for Internet Protocol address, an IP address is an address of a computer or other network device on a network using TCP/IP. For example, the number "69.72.169.241" is an example of such an address. These addresses are similar to an addresses used on a house and is what allows data to reach the appropriate destination on a network and the Internet. There are five classes of available IP ranges: Class A, Class B, Class C, Class D and Class E, while only A, B, and C are commonly used. Each class allows for a range of valid IP addresses. Below is a listing of these addresses. Class Address Range Supports Class A 1.0.0.1 to 126.255.255.254 Supports 16 million hosts on each of 127 networks. Class B 128.1.0.1 to 191.255.255.254 Supports 65,000 hosts on each of 16,000 networks. Class C 192.0.1.1 to 223.255.254.254 Supports 254 hosts on each of 2 million networks. Class D 224.0.0.0 to 239.255.255.255 Reserved for multicast groups. Class E 240.0.0.0 to 254.255.255.254 Purposes. Reserved for future use, or Research and Development Ranges 127.x.x.x are reserved for the loopback or localhost, for example, 127.0.0.1 is the common loopback address. Range 255.255.255.255 broadcasts to all hosts on the local network. IP address breakdown Every IP address is broke down into four sets of octets that break down into binary to represent the actual IP address. The below table is an example of the IP 255.255.255.255. If you are new to binary, we highly recommend reading our binary and hexadecimal conversions section to get a better understanding of what we're doing in the below charts. IP: 255 255 255 255 Binary value: 11111111 11111111 Octet value: 8 8 8 11111111 11111111 8 If we were to break down the IP "166.70.10.23", you would get the below value. In the below table, the first row is the IP address, the second row is the binary values, and the third row shows how the binary value equals the section of the IP address. 166 70 10100110 10 23 01000110 128+32+4+2=166 00001010 64+4+2=70 Automatically assigned addresses 00010111 8+2=10 16+4+2+1=23 There are several IP addresses that are automatically assigned when you setup a home network. These default addresses are what allow your computer and other network devices to communicate and broadcast information over your network. Below is the most commonly assigned network addresses in a home network. 192.168.1.0 0 is the automatically assigned network address. 192.168.1.1 1 is the commonly used address used as the gateway. 192.168.1.2 2 is also a commonly used address used for a gateway. 192.168.1.3 - 254 Addresses beyond 3 are assigned to computers and devices on the network. 192.168.1.255 255 is automatically assigned on most networks as the broadcast address. If you have ever connected to your home network, you should be familiar with the gateway address or 192.168.1.1, which is the address you use to connect to your home network router and change its settings. IP Versions and Version Numbers The IP defined in RFC 791 was the first widely-used version of the Internet Protocol. Interestingly, however, it is not version 1 of IP but version 4! This would of course imply that there were earlier versions of the protocol at one point. Interestingly, however, there really weren't. As I mentioned above, IP was created when its functions were split out from an early version of TCP that combined both TCP and IP functions. TCP evolved through three earlier versions, and was split into TCP and IP for version 4. That version number was applied to both TCP and IP for consistency. IP Version 4 IPv4 Internet Protocol version 4 is the fourth iteration of the Internet Protocol (IP) and it is the first version of the protocol to be widely deployed. IPv4 is the dominant network layer protocol on the Internet and apart from IPv6 it is the only standard internetwork-layer protocol used on the Internet. It is described in IETF RFC 791 (September 1981) which made obsolete RFC 760 (January 1980). The United States Department of Defense also standardized it as MIL-STD-1777. IPv4 is a data-oriented protocol to be used on a packet switched internetwork (e.g., Ethernet). It is a best effort protocol in that it does not guarantee delivery. It does not make any guarantees on the correctness of the data; It may result in duplicated packets and/or packets out-of-order. These aspects are addressed by an upper layer protocol (e.g., TCP, and partly by UDP). The entire purpose of IP is to provide unique global computer addressing to ensure that two computers communicating over the Internet can uniquely identify one another. IPv6 IPv6 stands for Internet Protocol version 6. It is the second version of the Internet Protocol to be used generally across the virtual world. The first version was IPv4. IPv5 was a protocol of a different sort, intended to support video and audio rather than all-purpose addressing. IPv6 is also known as IPng, which stands for IP Next Generation. One of the main upgrades in IPv6 is in the number of addresses available for networked devices. For example, each mobile phone or other kind of electronic device can have its own IPv6 address. IPv6 allows 3.4x10^38 addresses. This is mainly due to the number of bits in each protocol. IPv4 addresses have 32 bits in them and so allow a maximum of four billion addresses. IPv6 addresses have 128 bits. However, IPv4 is still the protocol of choice for most of the Internet. The transition will be a steady one, and IPv6 is the future of Internet addressing, mainly because industry experts believe that they are close to running out of available addresses altogether. Another example of an IPv6 upgrade is multicasting, which is standard in IPv6 but only optional in IPv4. Multicasting is delivering a data stream to multiple destinations at the same time, with no duplication unless called for. Those functionalities are not supported by IPv4. The other two types of addressing that are standard practice for IPv6 are unicast and anycast. The former is a transmission from just one host to just one other host; the latter is from one host to the nearest of many hosts. IPv6 also has two other significant advantages over IPv4. IPv6 offers a higher level of built-in security, and it has been specifically designed with mobile devices in mind. The security comes in the form of IPsec, which allows authentication, encryption, and compression. The mobility comes in the form of Mobile IP ,which allows roaming between different networks without losing an established IP address. Both of these functionalities are requirements of IPv6 and so are designed to be built into every IPv6 stack, address, and network.