Networking Chapter 1 PDF
Document Details
Uploaded by PamperedSard5963
Samuel G.
Tags
Summary
This document introduces computer networks and data communication concepts. It details the definition of computer networks, communication components, and communication models. It also discusses key communication tasks.
Full Transcript
CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK Chapter One Introduction to Computer Network 1.1. Definition of Computer Networks Although the computer industry is still young compared to other industries (e.g., automobiles and air transportation),...
CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK Chapter One Introduction to Computer Network 1.1. Definition of Computer Networks Although the computer industry is still young compared to other industries (e.g., automobiles and air transportation), computers have made spectacular progress in a short time. During the first two decades of their existence, computer systems were highly centralized, usually within a single large room. A medium-sized company or university might have had one or two computers, while large institutions had at most a few dozen. The 1970s and 1980s saw a merger of the fields of computer science and data communications that profoundly changed the technology, products, and companies of the now-combined computer-communications industry. The merging of computers and communications has had a profound influence on the way computer systems are organized. The concept of the ''computer center'' as a room with a large computer to which users bring their work for processing is now totally obsolete. The old model of a single computer serving all of the organization's computational needs has been replaced by one in which a large number of separate but interconnected computers do the job. Computer Network is a collection of autonomous computers interconnected by a single technology. Two computers are said to be interconnected if they are able to exchange information. The connection need can be via a copper wire; fiber optics, microwaves, infrared, and communication satellites. Networks come in many sizes, shapes and forms, as we will see later. 1.2. Communication Components Information, defined as a collection of facts from which conclusions may be drawn, is an important ingredient of the current modern world we live in. Nowadays, information is becoming an important resource, like money and energy, which can be spent both on business and in home. The prices of most industrial products that we consume daily include the so-called information cost. The need of information has increased from time to time. This leads to the need of sharing of information among different agents (individual), which may be at different places or locations. Data communication is the exchange of information between two agents. For exchange of information the information should be transmitted from one point to another through a transmission media called Channel. There are five components in data communication system. Message: the information to be communicated Sender: the device that sends the message Compiled By: Samuel G. 1 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK Receiver: the device that receives the message Medium: the transmission medium is the physical path that communicates the message from sender to receiver. Protocol: refers to a set of rules that coordinates the exchange of information. Both the sender and the receiver should follow the same protocol to communicate data. 1.3. Communication Model The fundamental purpose of a communications system is the exchange of data between two parties. The key elements of the model are: Source. This device generates the data to be transmitted; examples are telephones and personal computers. Transmitter. Usually, the data generated by a source system are not transmitted directly in the form in which they were generated. Rather, a transmitter transforms and encodes the information in such a way as to produce electromagnetic signals that can be transmitted across some sort of transmission system. For example, a modem takes a digital bit stream from an attached device such as a personal computer and transforms that bit stream into an analog signal that can be handled by the telephone network. Transmission System. This can be a single transmission line or a complex network connecting source and destination. Receiver. The receiver accepts the signal from the transmission system and converts it into a form that can be handled by the destination device. For example, a modem will accept an analog signal coming from a network or transmission line and convert it into a digital bit stream. Destination. Takes the incoming data from the receiver. The following figure shows the different components of data communication. Source System Destination System fig. 1.1: Communication Model Compiled By: Samuel G. 2 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK Key Communications Tasks This simple narrative conceals a wealth of technical complexity. To get some idea of the scope of this complexity, following are some of the key tasks that must be performed in a data communications system: Transmission system utilization , Addressing, Interfacing, Routing, Signal generation, Recovery, Synchronization, Message formatting, Security, Error detection and correction, Flow Control, Network management, etc. The first item, transmission system utilization, refers to the need to make efficient use of transmission facilities that are typically shared among a number of communicating devices. Various techniques (referred to as multiplexing) are used to allocate the total capacity of a transmission medium among a number of users. Congestion control techniques may be required to assure that the system is not overwhelmed by excessive demand for transmission services. In order to communicate, a device must interface with the transmission system. once an interface is established, signal generation is required for communication. The properties of the signal, such as form and intensity, must be such that they are (1) capable of being propagated through the transmission system, and (2) interpretable as data at the receiver. Not only must the signals be generated to conform to the requirements of the transmission system and receiver, but there must be some form of synchronization between transmitter and receiver. The receiver must be able to determine when a signal begins to arrive and when it ends. It must also know the duration of each signal element. Beyond the basic matter of deciding on the nature and timing of signals, there are a variety of requirements for communication between two parties that might be collected under the term exchange management. If data are to be exchanged in both directions over a period of time, the two parties must cooperate. For example, for two parties to engage in a telephone conversation, one party must dial the number of the other, causing signals to be generated that result in the ringing of the called phone. The called party completes a connection by lifting the receiver. For data processing devices, more will be needed than simply establishing a connection; certain conventions must be decided upon. These conventions may include whether both devices may transmit simultaneously or must take turns, the amount of data to be sent at one time, the format of the data, and what to do if certain contingencies, such as an error, arise. In all communications systems, there is a potential for error; transmitted signals are distorted to some extent before reaching their destination. Error detection and correction are required in circumstances where errors cannot be tolerated; this is usually the case with data processing systems. For example, in transferring a file from one computer to another, it is simply not acceptable for the contents of the file to be accidentally altered. Flow control is required to assure that the source does not Compiled By: Samuel G. 3 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK overwhelm the destination by sending data faster than they can be processed and absorbed. Next, we mention the related but distinct concepts of addressing and routing. When a transmission facility is shared by more than two devices, a source system must somehow indicate the identity of the intended destination. The transmission system must assure that the destination system, and only that system, receives the data. Further, the transmission system may itself be a network through which various paths may be taken. A specific route through this network must be chosen. Recovery is a concept distinct from that of error correction. Recovery techniques are needed in situations in which an information exchange, such as a data base transaction or file transfer, is interrupted due to a fault somewhere in the system. The objective is either to be able to resume activity at the point of interruption or at least to restore the state of the systems involved to the condition prior to the beginning of the exchange. Message formatting has to do with an agreement between two parties as to the form of the data to be exchanged or transmitted. For example, both sides must use the same binary code for characters. Frequently, it is important to provide some measure of security in a data communications system. The sender of data may wish to be assured that only the intended party actually receives the data; and the receiver of data may wish to be assured that the received data have not been altered in transit and that the data have actually come from the purported sender. Finally, a data communications facility is a complex system that cannot create or run itself. Network management capabilities are needed to configure the system, monitor its status, react to failures and overloads, and plan intelligently for future growth. 1.4. Network Types Networks may be classified according to a wide variety of characteristics such as size, architecture, topology, etc. Based on size, there are four types of network: - Local area Network (LAN) Wide Area Network (WAN) Metropolitan Area Network (MAN) Personal Area Network (PAN) A local area network (LAN) is a network confined to a small area like a building or a campus. Most LANs have communication stations that are physically linked by a cable. It is usually the case that the LAN is owned by the same organization that owns the attached devices. Compiled By: Samuel G. 4 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK A MAN covers a network in a city. As the name suggests, this sort of network is usually reserved for city areas where the city bridges its local area networks with a series of backbones, making one large network for the entire network A WAN (Wide-Area Network) is used to connect devices over large geographical distances. A WAN can be one widespread network or it can be a number of LANs linked together. High-speed dedicated data lines or satellite connections may be used to link computers resides in different continents. A PAN is a computer network used for communication among computer devices close to one person. Some examples of devices that are used in a PAN are printers, fax machines, telephones, PDAs and scanners. The following table summarizes the above classification Based on the type of computer in a network (configuration or architecture), computer networks are divided into two broad categories Peer-to-peer networks Client/Server networks Peer-to-Peer Networks In a peer-to-peer network, there are no dedicated servers, and there is no hierarchy among the computers. All the computers are equal and therefore are known as peers. Each computer functions as both a client and a server, and there is no administrator responsible for the entire network. The user at each computer determines what data on that computer is shared on the network. There are typically 10 or fewer computers in a peer-to-peer network. Peer-to-peer networks are relatively simple. Because each computer functions as a client and a server, there is no need for a powerful central server or for the other components required for a high-capacity network. Peer-to-peer networks can be less Compiled By: Samuel G. 5 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK expensive than server-based networks. In a peer-to-peer network, the networking software does not require the same standard of performance and level of security as the networking software designed for dedicated servers. Dedicated servers function only as servers and not as clients or workstations. They are discussed in more detail later. Peer- to-peer networking is built into many operating systems, for example Windows XP. In those cases, no additional software is required to set up a peer-to-peer network. Peer-to-peer networks are good choices for environments where: There are 10 users or fewer. Users share resources, such as files and printers, but no specialized servers exist. Security is not an issue. The organization and the network will experience only limited growth within the foreseeable future. Client/Server Network In an environment with more than 10 users, a peer-to-peer network—with computers acting as both servers and clients—will probably not be adequate. Therefore, most networks have dedicated servers. A dedicated server is one that functions only as a server and is not used as a client or workstation. Servers are described as "dedicated" because they are not themselves clients, and because they are optimized to service requests from network clients quickly and to ensure the security of files and directories. As networks increase in size (as the number of connected computers, and the physical distance and traffic between them, grows), more than one server is usually needed. Spreading the networking tasks among several servers ensures that each task will be performed as efficiently as possible. The following are some of the specialized servers in networking. 1. File and Print Servers File and print servers manage user access and use of file and printer resources. For example, when you are running a word-processing application, the word-processing application runs on your computer. The word-processing document stored on the file and print server is loaded into your computer's memory so that you can edit or use it locally. In other words, file and print servers are used for file and data storage. 2. Application Servers Application servers make the server side of client/server applications, as well as the data, available to clients. For example, servers store vast amounts of data that is organized to make it easy to retrieve. Thus, an application server differs from a file and print server. With a file and print server, the data or file is downloaded to the computer making the Compiled By: Samuel G. 6 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK request. With an application server, the database stays on the server and only the results of a request are downloaded to the computer making the request. A client application running locally accesses the data on the application server. For example, you might search the employee database for all employees who were born in November. Instead of the entire database, only the result of your query is downloaded from the server onto your local computer. 3. Mail Servers Mail servers operate like application servers in that there are separate server and client applications, with data selectively downloaded from the server to the client. 4. Fax Servers Fax servers manage fax traffic into and out of the network by sharing one or more fax modem boards. 5. Directory Services Servers Directory services servers enable users to locate, store, and secure information on the network. For example, some server software combines computers into logical groupings (called domains) that allow any user on the network to be given access to any resource on the network. Planning for specialized servers becomes important with an expanded network. The planner must take into account any anticipated network growth so that network use will not be disrupted if the role of a specific server needs to be changed. Advantages of client/server architecture Although it is more complex to install, configure, and manage, a server-based network has many advantages over a simple peer-to-peer network. Sharing Resources: A server is designed to provide access to many files and printers while maintaining performance and security for the user. Server-based data sharing can be centrally administered and controlled. Because these shared resources are centrally located, they are easier to find and support than resources on individual computers. Security: - Security is often the primary reason for choosing a server-based approach to networking. In a server-based environment, one administrator who sets the policy and applies it to every user on the network can manage security. Number of Users: - A server-based network can support thousands of users. This type of network would be impossible to manage as a peer-to-peer network, but current monitoring and network-management utilities make it possible to operate a server-based network for large numbers of users. Compiled By: Samuel G. 7 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK 1.5. Network Topology Topology refers to the way in which multiple devices are interconnected via communication links. There are two types of topology: physical and logical. Physical topology is the mapping of the nodes (computers) of a network and the physical connections between them – i.e., the layout of wiring, cables, the locations of nodes, and the interconnections between the nodes and the cabling or wiring system. Logical topology is bound to network protocols and describe how data is moved across the network. There are five main network topologies; bus, ring, mesh, star, and hybrid. 1. Bus topology In bus topology all stations attached, through appropriate interfacing hardware, directly to a line as transmission medium, or bus. A transmission from any station propagates the length of the medium in both directions and can be received by all other stations. The message that is transmitted contains the address of the station and the data. Each station monitors the medium and copies packets addressed to it. Because all stations share a common transmission link, only one station can successfully transmit at a time, so some form of medium access control technique is needed to regulate access. figure 1.2. Bus topology Advantages of a Bus Topology Easy to connect a computer or peripheral to a bus. Requires less cable length than a star topology. Disadvantages of a Bus Topology Entire network shuts down if there is a break in the main cable. Terminators are required at both ends of the backbone cable. Difficult to identify the problem if the entire network shuts down. Not meant to be used as a stand-alone solution in a large building. Compiled By: Samuel G. 8 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK 2. Ring topology In ring topology the network consists of a set repeaters joined by point –to point links in a closed loop. The links are unidirectional, that is, data are transmitted in one direction only, and all oriented in the same way. The data circulates around the ring in one direction (clockwise or counter clockwise). Data are transmitted in packets inserted into the ring by the stations. The packet contains source and destination address as well as other control information and user data. As a packet circulates, the destination station copies the data. Typically, the packet continues to circulate until it returns to the source station, where it is absorbed, removing it from the ring. Since the medium is shared it needed to control the order and timing of packet transmission. Figure 1.3 Ring topology Advantages Equal access for all users Each workstation has full access speed to the ring As workstation numbers increase performance diminishes slightly Disadvantages Costly Wiring Difficult Connections Expensive Adaptor Cards 3. Star topology In star topology, each station is directly connected to a common Central Switch (host). Each station transmits its message to the host and the host delivered the message to the correct distribution by identifying the address. The problem with star is, if the host fails there will not be any communication. Figure 1.4 Star topology Compiled By: Samuel G. 9 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK Advantages of a Star Topology Easy to install and wire No disruptions to the network then connecting or removing devices. Easy to detect faults and to remove parts. Disadvantages of a Star Topology Requires more cable length than a linear topology. If the hub or concentrator fails, nodes attached are disabled. More expensive than linear bus topologies because of the cost of the concentrators. 4. Mesh topology A type of network setup where each of the computers and network devices are interconnected with one another, allowing for most transmissions to be distributed, even if one of the connections go down. This type of topology is not commonly used for most computer networks, as it is difficult and expensive to have redundant connection to every computer. However, this type of topology is commonly used for wireless networks. Figure 1.5 Mesh topology 5. Hybrid topology The hybrid topology is a type of network topology that is composed of one or more interconnections of two or more networks that are based upon different physical topologies. For example a combination of star and bus topology. 1.6. Internetwork Any interconnection among or between public, private, commercial, industrial, or governmental networks is defined as an internetwork (or simply internet). There are at least three variants of internetwork, depending on who administers and who participates in them: Intranet Extranet Internet Compiled By: Samuel G. 10 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK An intranet is a set of networks that is under the control of a single administrative entity. That administrative entity closes the intranet to all but specific, authorized users. Most commonly, an intranet is the internal network of an organization. A large intranet will typically have at least one web server to provide users with organizational information. Example a network of Addis Ababa University An extranet is a An extranet is a network or internetwork that is limited in scope to a single organization private network or entity but which also has limited connections to the networks of one or more other that allows usually, but not necessarily, trusted organizations or entities (e.g. a company's customers controlled access to may be given access to some part of its intranet creating in this way an extranet). It is an extension of an intranet that is accessible to authorized external users. external users The Internet is a specific internetwork. It consists of a worldwide interconnection of governmental, academic, public, and private networks based upon the networking technologies of the Internet Protocol Suite. Note: While the uncapitalized term "internet" refers to bridged networks in general, the capitalized term "Internet" refers to the global network of networks. 1.7. Mode of transmission Mode of data transmission refers to the direction of signal flow between two linked devices. There are three different mode of transmission. Simplex transmission: - In this transmission, signals are transmitted only in one direction, i.e. it is unidirectional. One station is transmitter and the other is receiver. Television transmission is an example of simplex mode of transmission, where the satellite only transmits the data to the television set, not vice versa. Half-duplex transmission: - In this transmission mode, signals are transmitted in both direction, i.e. both stations may transmit or receive information, but only one at a time. The most common example of half-duplex transmission is the wireless handset (generally used by military personnel) where one user talks at a time and another listens. Full-duplex transmission:- In this transmission, signals transmitted in both direction, i.e. both stations may transmit and receive data simultaneously. The medium carries signals in both directions at the same time. The most common example of full-duplex transmission is the telephone network. 1.8. Data Transmission Channels Data transmission channel (data transmission media) is a physical media that carries a signal from the transmitter to the receiver. The information or signal transmitted from one device to another is through electromagnetic signals. Electromagnetic signals include power, voice, radio, waves, infrared light, visible light, ultraviolet light, X-rays, and Compiled By: Samuel G. 11 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK gamma rays. These signals can travel trough vacuum, air or any other transmission medium. The measurement of the quantity of data that can be passed down (transmitted) a communication link in a given time is done in terms of bandwidth. Generally, bandwidth refers to the maximum volume of information that can be transferred over any communication medium. In digital circuits, bandwidth is measured in bits per second (bps). The rate of data transmission is directly proportional to the bandwidth. There are two basic categories of transmission media: guided and unguided. Guided transmission media uses a cabling system that guides the data signals along a specific path. The data signals are bound by the cabling system. Guided media is also known as bound media. Example: twisted pair, optical fiber, coaxial cable. Unguided transmission media consists of a means for the data signals to travel but nothing to guide them along a specific path. The data signals are not bound to a cabling media and are therefore often called unbound media. Example: Radio wave, Satellite 1.9. Types of Connection The term direct link is used to refer to the transmission path between two devices in which signals propagate directly from transmitter to receiver. Note that this term can apply to both guided and unguided media. Where as in indirect link signals pass through intermediate devices to reach the destination. In networks, there are two types of connection: point-to-point and multipoint. Transmission medium connection is point-to-point if, first, it provides a direct link between two devices and, second, those are the only two devices sharing the medium. In a multipoint guided configuration, more than two devices share the same medium. Figure 1.6point-to- point Figure 1.7 multipoint Compiled By: Samuel G. 12 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK 1.10. Application of Computer Networks Before we start to examine the technical issues in detail, it is worth devoting some time to pointing out why people are interested in computer networks and what they can be used for. Generally, computer network has two broad uses: resource (both hardware and software) sharing and medium of communication. We will start with traditional uses at companies and for individuals and then move on to recent developments regarding mobile users and home networking. 1. Business Applications Many companies have a substantial number of computers. For example, a company may have separate computers to monitor production, keep track of inventories, and do the payroll. Initially, each of these computers may have worked in isolation from the others, but at some point, management may have decided to connect them to be able to extract and correlate information about the entire company. Put in slightly more general form, the issue here is resource sharing, and the goal is to make all programs, equipment, and especially data available to anyone on the network without regard to the physical location of the resource and the user. An obvious and widespread example is having a group of office workers share a common printer. None of the individuals really needs a private printer, and a high-volume networked printer is often cheaper, faster, and easier to maintain than a large collection of individual printers. However, probably even more important than sharing physical resources such as printers, scanners, and CD burners, is sharing information. Every large and medium-sized company and many small companies are vitally dependent on computerized information. Most companies have customer records, inventories, accounts receivable, financial statements, tax information, and much more online. Even a small travel agency is now highly dependent on computer networks for allowing employees to access relevant information and documents instantly. For smaller companies, all the computers are likely to be in a single office or perhaps a single building, but for larger ones, the computers and employees may be scattered over dozens of offices and plants in many countries. A second goal of setting up a computer network has to do with people rather than information or even computers. A computer network can provide a powerful communication medium among employees. Virtually every company that has two or more computers now has e-mail (electronic mail), which employees generally use for a great deal of daily communication. But e-mail is not the only form of improved communication made possible by computer networks. With a network, it is easy for two or more people who work far apart to write a report together. When one worker makes a change to an online document, the others can see the change immediately, instead of Compiled By: Samuel G. 13 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK waiting several days for a letter. Yet another form of computer-assisted communication is videoconferencing. Using this technology, employees at distant locations can hold a meeting, seeing and hearing each other and even writing on a shared virtual blackboard. Videoconferencing is a powerful tool for eliminating the cost and time previously devoted to travel. A third goal for increasingly many companies is doing business electronically with other companies, especially suppliers and customers. For example, manufacturers of automobiles, aircraft, and computers, among others, buy subsystems from a variety of suppliers and then assemble the parts. Using computer networks, manufacturers can place orders electronically as needed. Being able to place orders in real time (i.e., as needed) reduces the need for large inventories and enhances efficiency. A fourth goal that is starting to become more important is doing business with consumers over the Internet. Airlines, bookstores, and music vendors have discovered that many customers like the convenience of shopping from home. Consequently, many companies provide catalogs of their goods and services online and take orders on-line. This sector is expected to grow quickly in the future. It is called e-commerce (electronic commerce). 2. Home Applications Why do people buy computers for home use? Initially, for word processing and games, but in recent years that picture has changed radically. Probably the biggest reason now is for Internet access. Some of the more popular uses of the Internet for home users are as follows: 1. Access to remote information. digital library, surfing WWW, online newspapers, e-zines , etc. 2. Person-to-person communication. e-mail, Instant message(IM), chat rooms, usenet, etc. 3. Interactive entertainment. video on demand, multiperson real-time simulation games 4. Electronic commerce. 3. Mobile Users Mobile computers, such as notebook computers and personal digital assistants (PDAs), are one of the fastest-growing segments of the computer industry. Many owners of these computers have desktop machines back at the office and want to be connected to their home base even when away from home or en route. Since having a wired connection is impossible in cars and airplanes, there is a lot of interest in wireless networks. In this section we will briefly look at some of the uses of wireless networks. Compiled By: Samuel G. 14 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK Why would anyone want one? A common reason is the portable office. People on the road often want to use their portable electronic equipment to send and receive telephone calls, faxes, and electronic mail, surf the Web, access remote files, and log on to remote machines. And they want to do this from anywhere on land, sea, or air. For example, at computer conferences these days, the organizers often set up a wireless network in the conference area. Anyone with a notebook computer and a wireless modem can just turn the computer on and be connected to the Internet, as though the computer were plugged into a wired network. Similarly, some universities have installed wireless networks on campus so students can sit under the trees and consult the library's card catalog or read their e-mail. Although wireless networking and mobile computing are often related, they are not identical, Even notebook computers are sometimes wired. For example, if a traveler plugs a notebook computer into the telephone jack in a hotel room, he has mobility without a wireless network. On the other hand, some wireless computers are not mobile. An important example is a company that owns an older building lacking network cabling, and which wants to connect its computers. Installing a wireless network may require little more than buying a small box with some electronics, unpacking it, and plugging it in. This solution may be far cheaper than having workmen put in cable ducts to wire the building. One area in which mobile devices may excel is called m-commerce (mobile-commerce). A little further IBM has developed a watch that runs Linux (including the X11 windowing system) and has wireless connectivity to the Internet for sending and receiving e-mail. In the future, people may exchange business cards just by exposing their watches to each other. Compiled By: Samuel G. 15 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK 1.6 Protocols and Architectures 1.6.1 Network protocols The concepts of distributed processing and computer networking imply that entities in different systems need to communicate. Examples of entities are user application programs, file transfer packages, data base management systems, electronic mail facilities, and terminals. Examples of systems are computers, terminals, and remote sensors. In general, an entity is anything capable of sending or receiving information, and a system is a physically distinct object that contains one or more entities. For two entities to successfully communicate, they must "speak the same language". What is communicated, how it is communicated, and when it is communicated must conform to some mutually acceptable set of conventions between the entities involved. A set of rules or standards that control data transmission and other interactions between networks, computers, peripheral devices, and operating systems is called network protocols (simply protocols). The key elements of a protocol are: Syntax. Includes such things as data format, coding, and signal levels. Semantics. Includes control information for coordination and error handling. Timing. Includes speed matching and sequencing. HDLC is an example of a protocol. The data to be exchanged must be sent in frames of a specific format (syntax). The control field provides a variety of regulatory functions, such as setting a mode and establishing a connection (semantics). Provisions are also included for flow control (timing). Some important characteristics of a protocol are: Direct /indirect Monolithic/structured Symmetric/asymmetric Standard /nonstandard Communication between two entities may be direct or indirect. If two systems share a point-to-point link, the entities in these systems may communicate directly; that is, data and control information pass directly between entities with no intervening active agent. If systems connect through a switched communication network, a direct protocol is no longer possible. The two entities must depend on the functioning of other entities to exchange data. A more extreme case is a situation in which two entities do not even share the same switched network, but are indirectly connected through two or more networks. A protocol is either monolithic or structured. In monolithic approach, a protocol is implemented as one single entity that handles all the functions. A change in any aspect means that this huge package must be modified, with the risk of introducing difficult-to- find bugs. An alternative is to use structured design and implementation techniques. Instead of a single protocol, there is a set of protocols that exhibit a hierarchical or Compiled By: Samuel G. 16 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK layered structure. Primitive functions are implemented in lower-level entities that provide services to higher-level entities. A protocol may be either symmetric or asymmetric. Most of the protocols that we shall study are symmetric; that is, they involve communication between peer entities. Asymmetry may be dictated by the logic of an exchange (e.g., a client and a server process), or by the desire to keep one of the entities or systems as simple as possible. A protocol may be either standard or nonstandard. A nonstandard protocol is one built for a specific communications situation or, at most, a particular model of a computer. Nonstandard protocols are usually vendor specific. 1.6.2 Functions of protocols Before turning to a discussion of communications architecture and the various levels of protocols, let us consider a rather small set of functions that form the basis of all protocols. Not all protocols have all functions; this would involve a significant duplication of effort. There are, nevertheless, many instances of the same type of function being present in protocols at different levels. This discussion will, of necessity, be rather abstract; it does, however, provide an integrated overview of the characteristics and functions of communications protocols. We can group protocol functions into the following categories: Segmentation and reassembly Encapsulation Connection control Ordered delivery Flow control Error control Addressing Multiplexing Transmission services etc Segmentation and Reassembly A protocol is concerned with exchanging streams of data between two entities. Usually, the transfer can be characterized as consisting of a sequence of blocks of data of some bounded size. At the application level, we refer to a logical unit of data transfer as a message. Now, whether the application entity sends data in messages or in a continuous stream, lower-level protocols may need to break the data up into blocks of some smaller bounded size: this process is called segmentation. A block of data exchanged between two entities via a protocol is a Protocol Data Unit (PDU). There are a number of motivations for segmentation, depending on the context. Among the typical reasons for segmentation are Compiled By: Samuel G. 17 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK The communications network may only accept blocks of data up to a certain size. For example, an ATM network is limited to blocks of 53 octets; Ethernet imposes a maximum size of 1526 octets. Error control may be more efficient with a smaller PDU (Protocol Data Unit) size. For example, fewer bits need to be retransmitted using smaller blocks with the selective repeat technique. More equitable access to shared transmission facilities, with shorter delay, can be provided. For example, without a maximum block size, one station could monopolize a multipoint medium. A smaller PDU size may mean that receiving entities can allocate smaller buffers. An entity may require that data transfer comes to some sort of closure from time to time, for checkpoint and restart/recovery operations. There are several disadvantages to segmentation that argue for making blocks as large as possible: Each PDU, as we shall see, contains a fixed minimum amount of control information. Hence, the smaller the block, the greater the percentage overhead. PDU arrival may generate an interrupt that must be serviced. Smaller blocks result in more interrupts. More time is spent processing smaller, more numerous PDUs. The counterpart of segmentation is reassembly. Eventually, the segmented data must be reassembled into messages appropriate to the application level. If PDUs arrive out of order, the task is complicated. Encapsulation Each PDU contains not only data but control information. Indeed, some PDUs consist solely of control information and no data. The control information falls into three general categories: Address. The address of the sender and/or receiver may be indicated. Error-detecting code. Some sort of frame check sequence is often included for error detection. Protocol control. Additional information is included to implement the protocol functions The addition of control information to data is referred to as encapsulation. Data are accepted or generated by an entity and encapsulated into a PDU containing that data plus control information. An example of this is the HDLC frame. Connection Control An entity may transmit data to another entity in such a way that each PDU is treated independently of all prior PDUs. This process is known as connectionless data transfer; an example is the use of the datagram. While this mode is useful, an equally important technique is connection-oriented data transfer, of which the virtual circuit is an example. Compiled By: Samuel G. 18 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK Connection-oriented data transfer is to be preferred (even required) if stations anticipate a lengthy exchange of data and/or certain details of their protocol must be worked out dynamically. A logical association, or connection, is established between the entities. Three phases occur: Connection establishment Data transfer Connection termination During the connection establishment phase, two entities agree to exchange data. Typically, one station will issue a connection request (in connectionless fashion!) to the other. Both entities must, of course, be using the same protocol. Following connection establishment, the data transfer phase is entered; here, both data and control information (e.g., flow control, error control) are exchanged. all of the data flows in one direction, with acknowledgments returned in the other direction. More typically, data and acknowledgments flow in both directions. Finally, one side or the other wishes to terminate the connection and does so by sending a termination request. Alternatively, a central authority might forcibly terminate a connection. The key characteristic of connection-oriented data transfer is that sequencing is used. Each side sequentially numbers the PDUs that it sends to the other side. Because each side remembers that it is engaged in a logical connection: it can keep track of both outgoing numbers, which it generates, and incoming numbers, which are generated by the other side. Indeed, one can essentially define a connection oriented data transfer as one in which both sides number PDUs and keep track of the incoming and outgoing numbers. Sequencing supports three main functions: ordered deliver, flow control, and error control. Ordered Delivery If two communicating entities are in different hosts connected by a network, there is a risk that PDUs will not arrive in the order in which they were sent, because they may traverse different paths through the network. In connection-oriented protocols, it is generally required that PDU order be maintained. Flow Control flow control is a function performed by a receiving entity to limit the amount or rate of data that is sent by a transmitting entity. The simplest form of flow control is a stop-and-wait procedure, in which each PDU must be acknowledged before the next can be sent. Flow control is a good example of a function that must be implemented in several protocols. Error Control Techniques are needed to guard against loss or damage of data and control information. Most techniques involve error detection, based on a frame check sequence, and PDU Compiled By: Samuel G. 19 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK retransmission. Retransmission is often activated by a timer. If a sending entity fails to receive an acknowledgment to a PDU within a specified period of time, it will retransmit. As with flow control, error control is a function that must be performed at various levels of protocol Addressing a unique address is associated with each end system (e.g., host or terminal) and each intermediate system (e.g., router) in a configuration. Multiplexing One form of multiplexing is supported by means of multiple connections into a single system. For example, with X.25, there can be multiple virtual circuits terminating in a single end system; we can say that these virtual circuits are multiplexed over the single physical interface between the end system and the network. Transmission Services A protocol may provide a variety of additional services to the entities that use it. We mention here three common examples: Priority. Certain messages, such as control messages, may need to get through to the destination entity with minimum delay. An example would be a close- connection request. Thus, priority could be assigned on a per-message basis. Additionally, priority could be assigned on a per-connection basis. Grade of service. Certain classes of data may require a minimum throughput or a (data transfer rate) maximum delay threshold. Security. Security mechanisms, restricting access, may be invoked. All of these services depend on the underlying transmission system and on any intervening lower-level entities. If it is possible for these services to be provided from below, the protocol can be used by the two entities to exercise such services. 1.6.3 The Models In earlier days, many of the networks that were built used different hardware and software implementations, as a result, they were incompatible and it became difficult for networks using different specifications to communicate with each other. To address the problem of networks being incompatible and unable to communicate with each other, we need some way of structured model. A widely accepted structuring technique is layering. The communications functions are partitioned into a hierarchical set of layers. Each layer performs a related subset of the functions required to communicate with another system, relying on the next-lower layer to perform more primitive functions, and to conceal the details of those functions, as it provides services to the next-higher layer. Ideally, the layers should be defined so that changes in one layer do not require changes in the other layers. Thus, we have decomposed one problem into a number of more manageable sub- problems. In this chapter, we will see two famous models: OSI and TCP/IP. Compiled By: Samuel G. 20 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK For two computers, in a computer network, to communicate must talk the same language (follow the same protocol). A network protocol is a formal set of rules, conventions and data structure that governs how computers and other network devices exchange information over a network. In other words, protocol is a standard procedure and format that two data communication devices must understand, accept and use to be able to talk to each other. In this chapter we will deal with protocols and their functions in detail. 1.7 Overview of the OSI reference model The International Standard Organization (ISO) recognised that there was a need to create a network model that would help vendors to create interoperable network implementation. To address the problem of networks being incompatible and unable to communicate with each other, ISO researched various network schemes. In order to aid network interconnection without necessarily requiring complete redesign, the Open Systems Interconnection (OSI) reference model was approved as an international standard for communications architecture. The OSI model was designed to promote interoperability by creating guidelines for network data transmission between computers that have different hardware vendors, software, operating systems, and protocols. The OSI reference model architecture divides network communication into seven layers. Each layer covers different network activities, equipment, or protocols. Figure 2.1 represents the layered architecture of the OSI reference model. (Layering specifies different functions and services as data moves from one computer through the network cabling to another computer.) The OSI reference model defines how each layer communicates and works with the layers immediately above and below it. For example, the session layer communicates and works with the presentation and transport layers. Figure 1.8 The 7 layers of the OSI reference model Each layer provides some service or action that prepares the data for delivery over the network to another computer. The lowest layers (1 and 2) define the network's physical media and related tasks, such as putting data bits onto the network interface cards (NICs) and cable. The highest layers define how applications access communication services. The higher the layer, the more complex is its task. The layers are separated from each other by boundaries called interfaces. All requests are passed from one layer, through the interface, to the next layer. Each layer builds upon the standards and activities of the layer below it. Compiled By: Samuel G. 21 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK 1.7.1 Relationships among OSI reference model layers Each layer provides services to the next-higher layer and shields the upper layer from the details of how the services below it are actually implemented. At the same time, each layer appears to be in direct communication with its associated layer on the other computer. This provides a logical, or virtual, communication between peer layers, as shown in Figure 2.2. In reality, actual communication between adjacent layers takes place on one computer only, and actual communication between computers occurs at the physical layer only. At each layer, software implements network functions according to a set of protocols. Before data is passed from one layer to another, it is broken down into packets. At each OSI layer, the Network Operating System (NOS) adds additional formatting or addressing to the packet, which is needed for the packet to be successfully transmitted across the network. At the receiving end, the packet passes through the layers in reverse order. A software utility at each layer reads the information on the packet, strips it away, and passes the packet up to the next layer. When the packet is finally passed up to the application layer, the addressing information has been stripped away and the packet is in its original form, which is readable by the receiver. With the exception of the lowest layer in the OSI networking model (i.e. the physical layer), no layer can pass information directly to its counterpart on another computer. Instead, information on the sending computer must be passed down through each successive layer until it reaches the physical layer. The information then moves across the networking cable to the receiving computer and up that computer's networking layers until it arrives at the corresponding layer. For example, when the network layer sends information from computer A, the information moves down through the data-link and physical layers on the sending side, over the cable, and up the physical and data-link layers on the receiving side to its final destination at the network layer on computer B. Figure 1.9 OSI layers relationships Compiled By: Samuel G. 22 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK The principles that were applied to arrive at the seven layers can be briefly summarized as follows: Each layer should perform a well-defined function. A layer should be created where a different abstraction is needed. The function of each layer should be chosen with an eye toward defining internationally standardized protocols. The layer boundaries should be chosen to minimize the information flow across the interfaces. The number of layers should be large enough that distinct functions need not be thrown together in the same layer out of necessity and small enough that the architecture does not become unwieldy. The purpose of each of the 7 layers of the OSI model is summarised below: The Physical Layer The physical layer is concerned with transmitting raw bits over a communication channel. The design issues have to do with making sure that when one side sends a 1 bit, it is received by the other side as a 1 bit, not as a 0 bit. Typical questions here are how many volts should be used to represent a 1 and how many for a 0, how many nanoseconds a bit lasts, whether transmission may proceed simultaneously in both directions, how the initial connection is established and how it is torn down when both sides are finished, and how many pins the network connector has and what each pin is used for. The design issues here largely deal with mechanical, electrical, and timing interfaces, and the physical transmission medium, which lies below the physical layer. The Data Link Layer The main task of the data link layer is to transform a raw transmission facility into a line that appears free of undetected transmission errors to the network layer. It accomplishes this task by having the sender break up the input data into data frames (typically a few hundred or a few thousand bytes) and transmits the frames sequentially. If the service is reliable, the receiver confirms correct receipt of each frame by sending back an acknowledgement frame. Another issue that arises in the data link layer (and most of the higher layers as well) is how to keep a fast transmitter from drowning a slow receiver in data. Some traffic regulation mechanism is often needed to let the transmitter know how much buffer space the receiver has at the moment. Frequently, this flow regulation and the error handling are integrated. Broadcast networks have an additional issue in the data link layer: how to control access to the shared channel. A special sublayer of the data link layer, the medium access control sublayer, deals with this problem. The Network Layer The network layer controls the operation of the subnet. A key design issue is determining how packets are routed from source to destination. Routes can be based on static tables Compiled By: Samuel G. 23 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK that are ''wired into'' the network and rarely changed. They can also be determined at the start of each conversation, for example, a terminal session (e.g., a login to a remote machine). Finally, they can be highly dynamic, being determined anew for each packet, to reflect the current network load. If too many packets are present in the subnet at the same time, they will get in one another's way, forming bottlenecks. The control of such congestion also belongs to the network layer. More generally, the quality of service provided (delay, transit time, jitter, etc.) is also a network layer issue. When a packet has to travel from one network to another to get to its destination, many problems can arise. The addressing used by the second network may be different from the first one. The second one may not accept the packet at all because it is too large. The protocols may differ, and so on. It is up to the network layer to overcome all these problems to allow heterogeneous networks to be interconnected. In broadcast networks, the routing problem is simple, so the network layer is often thin or even nonexistent. The Transport Layer The basic function of the transport layer is to accept data from above, split it up into smaller units if need be, pass these to the network layer, and ensure that the pieces all arrive correctly at the other end. Furthermore, all this must be done efficiently and in a way that isolates the upper layers from the inevitable changes in the hardware technology. The transport layer also determines what type of service to provide to the session layer, and, ultimately, to the users of the network. The most popular type of transport connection is an error-free point-to-point channel that delivers messages or bytes in the order in which they were sent. However, other possible kinds of transport service are the transporting of isolated messages, with no guarantee about the order of delivery, and the broadcasting of messages to multiple destinations. The type of service is determined when the connection is established. (As an aside, an error-free channel is impossible to achieve; what people really mean by this term is that the error rate is low enough to ignore in practice.) The transport layer is a true end-to-end layer, all the way from the source to the destination. In other words, a program on the source machine carries on a conversation with a similar program on the destination machine, using the message headers and control messages. In the lower layers, the protocols are between each machine and its immediate neighbors, and not between the ultimate source and destination machines, which may be separated by many routers. The difference between layers 1 through 3, which are chained, and layers 4 through 7, which are end-to-end. The Session Layer The session layer allows users on different machines to establish sessions between them. Sessions offer various services, including dialog control (keeping track of whose turn it is to transmit), token management (preventing two parties from attempting the same critical Compiled By: Samuel G. 24 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK operation at the same time), and synchronization (checkpointing long transmissions to allow them to continue from where they were after a crash). The Presentation Layer Unlike lower layers, which are mostly concerned with moving bits around, the presentation layer is concerned with the syntax and semantics of the information transmitted. In order to make it possible for computers with different data representations to communicate, the data structures to be exchanged can be defined in an abstract way, along with a standard encoding to be used ''on the wire.'' The presentation layer manages these abstract data structures and allows higher-level data structures (e.g., banking records), to be defined and exchanged. The Application Layer The application layer contains a variety of protocols that are commonly needed by users. One widely-used application protocol is HTTP (HyperText Transfer Protocol), which is the basis for the World Wide Web. When a browser wants a web page, it sends the name of the page it wants to the server using HTTP. The server then sends the page back. Other application protocols are used for file transfer, electronic mail, and network news. 1.8TCP/IP Reference model Let us now turn from the OSI reference model to the reference model used in the grandparent of all wide area computer networks, the ARPANET, and its successor, the worldwide Internet. The ability to connect multiple networks in a seamless way was one of the major design goals from the very beginning. This architecture later became known as the TCP/IP Reference Model, after its two primary protocols. Another major goal was that the network be able to survive loss of subnet hardware, with existing conversations not being broken off. In other words, connections remain intact as long as the source and destination machines were functioning, even if some of the machines or transmission lines in between were suddenly put out of operation. Furthermore, a flexible architecture was needed since applications with divergent requirements were envisioned, ranging from transferring files to real-time speech transmission. The TCP/IP reference model contains four layers instead of seven as in OSI reference model. Figure 1.10 TCP/IP reference model Compiled By: Samuel G. 25 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK Network Interface(Access) Layer The Network Interface Layer (also called the Network Access Layer) is responsible for placing TCP/IP packets on the network medium and receiving TCP/IP packets off the network medium. TCP/IP was designed to be independent of the network access method, frame format, and medium. In this way, TCP/IP can be used to connect differing network types. This includes LAN technologies such as Ethernet or Token Ring and WAN technologies such as X.25 or Frame Relay. Independence from any specific network technology gives TCP/IP the ability to be adapted to new technologies such as Asynchronous Transfer Mode (ATM). The Network Interface Layer encompasses the Data Link and Physical layers of the OSI Model. Note that the Internet Layer does not take advantage of sequencing and acknowledgment services that may be present in the Data Link Layer. An unreliable Network Interface Layer is assumed, and reliable communications through session establishment and the sequencing and acknowledgment of packets is the responsibility of the Transport Layer. Internet Layer The Internet Layer is responsible for addressing, packaging, and routing functions. The core protocols of the Internet Layer are IP, ARP, ICMP, and IGMP. The Internet Protocol (IP) is a routable protocol responsible for IP addressing and the fragmentation and reassembly of packets. The Address Resolution Protocol (ARP) is responsible for the resolution of the Internet Layer address to the Network Interface Layer address, such as a hardware address. The Internet Control Message Protocol (ICMP) is responsible for providing diagnostic functions and reporting errors or conditions regarding the delivery of IP packets. The Internet Group Management Protocol (IGMP) is responsible for the management of IP multicast groups. The Internet Layer is analogous to the Network layer of the OSI model. Transport Layer The Transport Layer (also known as the Host-to-Host Transport Layer) is responsible for providing the Application Layer with session and datagram communication services. The core protocols of the Transport Layer are TCP and the User Datagram Protocol (UDP). TCP provides a one-to-one, connection-oriented, reliable communications service. TCP is responsible for the establishment of a TCP connection, the sequencing and acknowledgment of packets sent, and the recovery (retransmission) of packets lost during transmission. UDP provides a one-to-one or one-to-many, connectionless, unreliable communications service. UDP is used when the amount of data to be transferred is small (such as the data that would fit into a single packet), when the overhead Compiled By: Samuel G. 26 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK of establishing a TCP connection is not desired, or performance is needed more than the delivery guarantee or when the applications or upper layer protocols provide reliable delivery. The Transport Layer encompasses the responsibilities of the OSI Transport Layer and some of the responsibilities of the OSI Session Layer. Application Layer The Application Layer provides applications the ability to access the services of the other layers and defines the protocols that applications use to exchange data. There are many Application Layer protocols and new protocols are always being developed. The most widely known Application Layer protocols are those used for the exchange of user information: The HyperText Transfer Protocol (HTTP) is used to transfer files that make up the Web pages of the World Wide Web. The File Transfer Protocol (FTP) is used for interactive file transfer. The Simple Mail Transfer Protocol (SMTP) is used for the transfer of mail messages and attachments. Telnet, a terminal emulation protocol, is used for remote login to network hosts. Additionally, the following Application Layer protocols help facilitate the use and management of TCP/IP networks: The Domain Name System (DNS) is used to resolve a host name to an IP address. The Simple Network Management Protocol (SNMP) is used between network management console and network devices (routers, bridges, and intelligent hubs) to collect and exchange network management information. 1.9 A Comparison of the OSI and TCP/IP Reference Models The OSI and TCP/IP reference models have much in common. Both are based on the concept of a stack of independent protocols. Also, the functionality of the layers is roughly similar. For example, in both models the layers up through and including the transport layer are there to provide an end-to-end, network-independent transport service to processes wishing to communicate. These layers form the transport provider. Again in both models, the layers above transport are application-oriented users of the transport service. Despite these fundamental similarities, the two models also have many differences. In this section we will focus on the key differences between the two reference models. It is important to note that we are comparing the reference models here, not the corresponding protocol stacks. Three concepts are central to the OSI model: 1. Services. 2. Interfaces. 3. Protocols. Compiled By: Samuel G. 27 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK Probably the biggest contribution of the OSI model is to make the distinction between these three concepts explicit. Each layer performs some services for the layer above it. The service definition tells what the layer does, not how entities above it access it or how the layer works. It defines the layer's semantics. A layer's interface tells the processes above it how to access it. It specifies what the parameters are and what results to expect. It, too, says nothing about how the layer works inside. Finally, the peer protocols used in a layer are the layer's own business. It can use any protocols it wants to, as long as it gets the job done (i.e., provides the offered services). It can also change them at will without affecting software in higher layers. These ideas fit very nicely with modern ideas about object-oriented programming. An object, like a layer, has a set of methods (operations) that processes outside the object can invoke. The semantics of these methods define the set of services that the object offers. The methods' parameters and results form the object's interface. The code internal to the object is its protocol and is not visible or of any concern outside the object. The TCP/IP model did not originally clearly distinguish between service, interface, and protocol, although people have tried to retrofit it after the fact to make it more OSI-like. For example, the only real services offered by the internet layer are SEND IP PACKET and RECEIVE IP PACKET. As a consequence, the protocols in the OSI model are better hidden than in the TCP/IP model and can be replaced relatively easily as the technology changes. Being able to make such changes is one of the main purposes of having layered protocols in the first place. The OSI reference model was devised before the corresponding protocols were invented. This ordering means that the model was not biased toward one particular set of protocols, a fact that made it quite general. The downside of this ordering is that the designers did not have much experience with the subject and did not have a good idea of which functionality to put in which layer. For example, the data link layer originally dealt only with point-to-point networks. When broadcast networks came around, a new sublayer had to be hacked into the model. When people started to build real networks using the OSI model and existing protocols, it was discovered that these networks did not match the required service specifications, so convergence sublayers had to be embedded onto the model to provide a place for papering over the differences. Finally, the committee originally expected that each country would have one network, run by the government and using the OSI protocols, so no thought was given to internetworking. To make a long story short, things did not turn out that way. With TCP/IP the reverse was true: the protocols came first, and the model was really just a description of the existing protocols. There was no problem with the protocols fitting the model. They fit perfectly. The only trouble was that the model did not fit any other Compiled By: Samuel G. 28 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK protocol stacks. Consequently, it was not especially useful for describing other, non- TCP/IP networks. Turning from philosophical matters to more specific ones, an obvious difference between the two models is the number of layers: the OSI model has seven layers and the TCP/IP has four layers. Both have (inter)network, transport, and application layers, but the other layers are different. Another difference is in the area of connectionless versus connection-oriented communication. The OSI model supports both connectionless and connection-oriented communication in the network layer, but only connection-oriented communication in the transport layer, where it counts (because the transport service is visible to the users). The TCP/IP model has only one mode in the network layer (connectionless) but supports both modes in the transport layer, giving the users a choice. This choice is especially important for simple request-response protocols. 1.10 TCP/IP PROTOCOL SUITE For successful communication, every entity in the overall system must have a unique address. Actually, two levels of addressing are needed. Each host on a subnetwork must have a unique global internet address; this allows the data to be delivered to the proper host. Each process with a host must have an address that is unique within the host; this allows the host-to-host protocol (TCP) to deliver data to the proper process. These latter addresses are known as ports. The TCP/IP protocol suite, also referred to as the Internet protocol suite, is the set of communications protocols that implements the protocol stack on which the Internet and most commercial networks run. It is named after the two most important protocols in the suite: the Transmission Control Protocol (TCP) and the Internet Protocol (IP). Application Layer Protocols The protocols at this layer are categorized as: User Protocol that provide service directly to users, and Support Protocol that provide common system functions. Some of user Compiled By: Samuel G. 29 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK protocols are FTP, SMTP, Telnet etc. and some of support protocols are DNS, DHCP, SNMP etc. Some of the protocols in this layer are discussed as follows: Telnet - allows a user on a remote client machine, called the Telnet client, to access the resources of another machine, the Telnet server. – Telnet makes client machine appear as though it were a terminal directly attached to the server. File Transfer Protocol (FTP) - is the protocol that actually lets us transfer files, and it can accomplish this between any two machines using it. – Usually users are subjected to authentication Network File System (NFS) - a protocol specializing in file sharing allowing two different types of file systems to interoperate. Simple Mail Transfer Protocol (SMTP) - uses a spooled, or queued, method of mail delivery. – POP3 is used to receive mail. Simple Network Management Protocol (SNMP) - collects and manipulates valuable network information. – This protocol stands as a watchdog over the network, quickly notifying managers of any sudden turn of events. Domain Name Service (DNS) – resolves hostnames—specifically, Internet names, such as www.aau.edu.et to the IP address 10.6.10.3 Dynamic Host Configuration Protocol (DHCP) - gives IP addresses to hosts. – It allows easier administration and works well in small-to-even-very large network environments. Transport Layer Protocols Transmission Control Protocol (TCP) - takes large blocks of information from an application and breaks them into segments. – It numbers and sequences each segment so that the destination’s TCP protocol can put the segments back into the order the application intended. – Uses three way handshaking User Datagram Protocol (UDP) - does not sequence the segments and does not care in which order the segments arrive at the destination. But after that, UDP sends the segments off and forgets about them. It doesn’t follow through, check up on them, or even allow for an acknowledgment of safe arrival — complete abandonment. TCP for reliability and UDP for faster transfers. TCP and UDP must use port numbers to communicate with the upper layers, because they’re what keeps track of different conversations crossing the network simultaneously. These port numbers identify the source and destination application or process in the TCP segment. Compiled By: Samuel G. 30 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK There are 2^16 = 65536 ports available. – Well-known ports - The port numbers range from 0 to 1023. – Registered ports - The port numbers range from 1024 to 49151. Registered ports are used by applications or services that need to have consistent port assignments. – Dynamic or private ports - The port numbers range from 49152 to 65535. These ports are not assigned to any protocol or service in particular and can be used for any service or application. If a port is closed/blocked, you cannot communicate with the computer by the protocol using that port. – Eg. If port 25 is blocked you cannot send mail. Firewalls by default block all ports. You should know the port numbers of different protocols!! The following table compares the two protocols (TCP and UDP) of this layer. Table 1.1 Comparision of TCP and UDP TCP UDP Sequenced Unsequenced Reliable Unreliable - best effort only Connection-oriented Connectionless Checksum for error checking Checksum for error checking Uses buffer management (Flow Control) No buffer management (No flow control) Assign datagram size dynamically for Datagram segment is the same in size efficiency Internet Layer Protocols Internet Protocol (IP) essentially is the Internet layer. The other protocols found here merely exist to support it. It can do this because all the machines on the network have a software, or logical, address called an IP address. Internet Control Message Protocol (ICMP) works at the Network layer and is used by IP for many different services. – ICMP is a management protocol and messaging service provider for IP. – The following are some common events and messages that ICMP relates to: Destination Unreachable If a router can’t send an IP datagram any further, it uses ICMP to send a message back to the sender, advising it of the situation. Buffer Full If a router’s memory buffer for receiving incoming datagrams is full, it will use ICMP to send out this message until the congestion abates. Hops Each IP datagram is allotted a certain number of routers, called hops, to pass through. If it reaches its limit of hops before Compiled By: Samuel G. 31 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK arriving at its destination, the last router to receive that datagram deletes it. The executioner router then uses ICMP to send a message, informing the sending machine of the end of its datagram. Ping (Packet Internet Groper) uses ICMP echo messages to check the physical and logical connectivity of machines on a network. Traceroute Using ICMP timeouts, Traceroute is used to discover the path a packet takes as it traverses an internetwork. Address Resolution Protocol (ARP) finds the hardware address of a host from a known IP address. – ARP interrogates the local network by sending out a broadcast asking the machine with the specified IP address to reply with its hardware address. Reverse Address Resolution Protocol (RARP) discovers the identity of the IP address for diskless machines by sending out a packet that includes its MAC address and a request for the IP address assigned to that MAC address. – A designated machine, called a RARP server, responds with the answer, and the identity crisis is over. Network Access Layer Protocols Point-to-Point Protocol (PPP) PPP comes into play when you establish a connection to your ISP (Internet Service Provider) via a modem. The name PPP comes from the fact that when you are connected to your ISP, the ISP and you make up two points on the network hence the protocol that is used to get things `happening' between the two of you is the Point to Point Protocol or the PPP. PPP is used to carry out the following functions – Data Encapsulations – Link Control – Network Control Wireless Fidelity (Wi-Fi) Wi-Fi refers to wireless networking technology that allows computers and other devices to communicate over a wireless signal. It describes all network components that are based on one of the 802.11 standards, including 802.11a, 802.11b, 802.11g, and 802.11n. These standards were developed by the IEEE and adopted by the Wi-Fi Alliance, which trademarked the name "Wi-Fi". Wi-Fi is the standard way computers connect to wireless networks. Nearly all computers now have built-in Wi-Fi cards that allows users to search for and connect to wireless routers. Many mobile devices, video game systems, and other standalone devices also include Wi-Fi capability, enabling them to connect to wireless networks as well. These devices may be able to connect to the Internet using a Wi-Fi signal. However, it is important to understand that the Wi-Fi connection only exists between the device and the Compiled By: Samuel G. 32 CHAPTER ONE: INTRODUCTION TO COMPUTER NETWORK router. Most routers are connected to a DSL or cable modem, which provides Internet access to all connected devices. Asynchronous Transfer Mode (ATM) The Asynchronous Transfer Mode (ATM) composes a protocol suite which establishes a mechanism to carry all traffic on a stream of fixed 53-byte packets (cells). A fixed-size packet can ensure that the switching and multiplexing function could be carried out quickly and easily. ATM is a connection-oriented technology, i.e.; two systems on the network should inform all intermediate switches about their service requirements and traffic parameters in order to establish communication. Compiled By: Samuel G. 33