UNIT I
Introduction to Computer Networks: Need for Networking - Service Description –
Connectionless and Connection-Oriented Services – Circuit and Packet Switching – Access
Networks and Physical Media – Wireless Links and Characteristics – Queuing Delay and Packet
Loss – Internet Protocol stack – OSI Reference Model - Service Models – History of Computer
Networking and the Internet.
UNIT II
Application Layer: Principles of Network Applications – The Web and HTTP – FTP – Electronic
Mail – SMTP – Mail Message Formats and MIME – DNS – Socket Programming with TCP and
UDP. Multimedia Networking: Internet Telephony – RTP – RTCP – RTSP. Network Security:
Principles of Cryptography – Firewalls – Application …show more content…
Gateway – Attacks and Countermeasures.
UNIT III
Transport Layer: Transport Layer Services – Multiplexing and Demultiplexing – UDP – Reliable
Data Transfer – Go-Back-N and Selective Repeat. Connection-Oriented Transport: TCP –
Segment Structure – RTT estimation – Flow Control – Connection Management - Congestion
Control – TCP Delay Modeling – SSL and TLS. Integrated and Differentiated Services: Intserv
– Diffserv.
UNIT IV
Network Layer: Forwarding and Routing – Network Service Models – Virtual Circuit and
Datagram Networks – Router – Internet Protocol (IP) – IPv4 and IPv6 – ICMP – Link State
Routing – Distance Vector Routing – Hierarchical Routing – RIP – OSPF – BGP – Broadcast and
Multicast Routing – MPLS - Mobile IP – IPsec.
UNIT V
Link Layer: Layer Services – Error Detection and Correction Techniques – Multiple Access
Protocols – Link Layer Addressing – ARP – DHCP – Ethernet – Hubs, Bridges, and Switches –
PPP - ATM Networks - MPLS.Ring Topology - Physical Ring – Logical Ring.
TEXT BOOK
1. James F. Kurose and Keith W. Ross, “Computer Networking: A Top-Down Approach
Featuring the Internet”, Pearson Education, Third edition, 2006.
REFERENCES
1. Andrew S. Tanenbaum, “Computer Networks”, Prentice-Hall of India, Fourth edition,2003.
2. Larry L. Peterson and Bruce S. Davie, “Computer Networks: A Systems Approach”,
Elsevier, Fourth edition, 2007.
UNIT - I
Introduction to Computer Networks
Need for Networking
If your business has more than one computer, chances are you could benefit from networking them. A local area network (LAN) connects your company 's computers, allowing them to share and exchange a variety of information. While one computer can be useful on its own, several networked computers can be much more useful.
Here are some of the ways a computer network can help your business:
File sharing: Have you ever needed to access a file stored on another computer? A network makes it easy for everyone to access the same file and prevents people from accidentally creating different versions.
Printer sharing: If you use a computer, chances are you also use a printer. With a network, several computers can share the same printer. Although you might need a more expensive printer to handle the added workload, it 's still cheaper to use a network printer than to connect a separate printer to every computer in your office.
Communication and collaboration: It 's hard for people to work together if no one knows what anyone else is doing. A network allows employees to share files, view other people 's work, and exchange ideas more efficiently. In a larger office, you can use e-mail and instant messaging tools to communicate quickly and to store messages for future reference.
Organization: A variety of scheduling software is available that makes it possible to arrange meetings without constantly checking everyone 's schedules. This software usually includes other helpful features, such as shared address books and to-do lists.
Remote access: Having your own network allows greater mobility while maintaining the same level of productivity. With remote access in place, users are able to access the same files, data, and messages even when they 're not in the office. This access can even be given to mobile handheld devices.
Data protection: You should know by now that it 's vital to back up your computer data regularly. A network makes it easier to back up all of your company 's data on an offsite server, a set of tapes, CDs, or other backup systems.
What is Internet?
The Internet is a global system of interconnected computer networks that use the standard Internet Protocol Suite (TCP/IP) to serve billions of users worldwide. It is a network of networks that consists of millions of private, public, academic, business, and government networks, of local to global scope, that are linked by a broad array of electronic, wireless and optical networking technologies. The Internet carries a vast range of information resources and services, such as the inter-linked hypertext documents of the World Wide Web (WWW) and the infrastructure to support electronic mail.
Most traditional communications media including telephone, music, film, and television are reshaped or redefined by the Internet, giving birth to new services such as Voice over Internet Protocol (VoIP) and IPTV. Newspaper, book and other print publishing are adapting to Web site technology, or are reshaped into blogging and web feeds. The Internet has enabled or accelerated new forms of human interactions through instant messaging, Internet forums, and social networking. Online shopping has boomed both for major retail outlets and small artisans and traders. Business-to-business and financial services on the Internet affect supply chains across entire industries.
The origins of the Internet reach back to research of the 1960s, commissioned by the United States government in collaboration with private commercial interests to build robust, fault-tolerant, and distributed computer networks. The funding of a new U.S. backbone by the National Science Foundation in the 1980s, as well as private funding for other commercial backbones, led to worldwide participation in the development of new networking technologies, and the merger of many networks. The commercialization of what was by the 1990s an international network resulted in its popularization and incorporation into virtually every aspect of modern human life. As of 2009, an estimated quarter of Earth 's population used the services of the Internet.
The Internet has no centralized governance in either technological implementation or policies for access and usage; each constituent network sets its own standards. Only the overreaching definitions of the two principal name spaces in the Internet, the Internet Protocol address space and the Domain Name System, are directed by a maintainer organization, the Internet Corporation for Assigned Names and Numbers (ICANN). The technical underpinning and standardization of the core protocols (IPv4 and IPv6) is an activity of the Internet Engineering Task Force (IETF), a non-profit organization of loosely affiliated international participants that anyone may associate with by contributing technical expertise.
A worldwide network of networks. It is also the network of networks that connects millions computers (called hosts). The Internet is the virtual space in which users send and receive email, login to remote computers (telnet), browse databases of information (gopher, World Wide Web, WAIS), and send and receive programs (ftp) contained on these computers.
A Service Description
Connectionless and Connection-Oriented Services
The two primary types of services which are made available by a particular network layer and which actually are also useful classifications for many non-technical types of service industries are known as connection-oriented and connectionless communication.
Connection-oriented Services
One of the easiest ways to understand what a connection-oriented protocol is would be to think of a very familiar service upon which it 's based: the telephone system. When I pick up the phone, I have an open circuit, and the dial tone carrier signal allows me to connect to a destination of my choosing.
Given valid input parameters, the service:
Establishes the connection.
Allows me to utilize the connection.
Tears down the connection when I 'm done using it.
The primary difference between this method and that of a connectionless service is that in a connection-oriented system, all of my communications are taking place on the same transmission channel. On the other hand, with a connectionless service, all transmissions are independently routed, and perhaps re-assembled in some order at the other end -- the service in between has no inherent responsibility for ensuring ordinarily -- it need only assure that each transmission gets delivered from its source to its destination.
Connectionless Services
A good analogy for a connectionless service is the process of sending letters through the postal system. Each transmission (the "letter") contains the full destination address and is processed independent of related messages. As described above, the service has only to ensure that each reaches its host within certain time parameters. Unlike a connection-oriented service, the system has free reign on what happens enroute between the sender and receiver: a message can be delayed to ensure another arrives first. widely different channels of communication can be used for transmitting messages. a message can be handed off to a trusted third party in the distribution network. a message can be intercepted by a third party, copied or logged, and passed on to the intended receiver.
These operations are basically impossible for a connection-oriented service.
Types of Services Available in TCP/IP and OSI:
The OSI Reference Model provides for both connection-oriented and connectionless communication at the network level. However, it supports only connection-oriented communication at the Transport layer. It became obvious after the initial design of OSI that allowing both types of traffic at the transport layer was important even though it violated the idea of data abstraction which was central to the design of OSI.
TCP/IP, on the other hand, supports only connectionless traffic at the Network layer, but supports both modes in the Transport layer. This allows for simple request-response protocols to be easily implemented, though it complicates things somewhat for the user. At the Transport level, TCP, the Transmission Control Protocol (a connection-oriented service) as well as UDP, the Universal Datagram Protocol (a connectionless service) are provided.
Quality of Service
Reliability of connections achieved through connectionless and connection-oriented protocols is another major concern. All protocols are not created equal, and sacrifices in reliability can be made in exchange for greater speed, or vice versa. Often the trade-offs are worth it, assuming that we 're attempting to fit our task intelligently into the capacities of the protocol.
Sometimes it 's necessary for a "handshake" process to occur, especially if we need to authenticate each piece of traffic from a sender, but in many cases (such as streaming video), the performance hit involved is simply unacceptable. Not all applications require connections, and it 's naive to think of either protocol as superior to the other.
In certain cases, it 's not even necessary to ensure that a message gets sent, so long as the chance that it was received is high enough (think of the high-volume email transmissions of spammers). Consider how difficult and time-consuming it would be if each spam message had to be acknowledged by the receiver and tracked by the spammer!
Circuit and Packet Switching
Circuit switching
Circuit switching is a networking paradigm that involves the creation of persistant circuits, or paths, between two nodes in the network. One good example of a circuit-switched network is the public telephone network.
In circuit switched networks, when one node wants to send information to another, it "calls" the other node. A circuit is then established between the two nodes. In traditional circuit switching, as with the telephone network, this circuit uses a fixed amount of bandwidth (digital or analog), regardless of whether data is being sent. This can be wasteful, but provides assurance that the entire bandwidth of the connection will be available at any time while it is open.
Circuit switching has been around for a long time. The first telephone networks were circuit switched networks, even though human operators did the switching. As time marched on, mechanical, and then later, electronic machines did the switching.
Modern circuit switching, such as with ATM, can vary the amount of bandwidth allocated to a circuit dynamically, so an idle circuit does not consume bandwidth. This provides the flexibility of circuit switching without the waste of bandwidth in idle circuits.
Contrast packet switching, where there are no "connections", just individual packets with source and destination information that compete for available bandwidth. packet switching
Packet Switching is one of the most important technologies that led to the creation of the modern day internet.
To fully explain Packet Switiching a bit of history is needed first - namely some history of the telephone.
In the 1800 's when the telephone first became commercialy available there was no complicated switching system. If you wanted to make a call to someone then all you did was tell the operator who you wished to speak to and the operator would physically connect the two lines togeather. This meant that to have a conversation a whole physical connection (in this case a cable) had to be dedicated to your use. When the vaccum tube was developed a new system was created called Frequency Division Multiplexing in the 1920 's. Basicly this meant that several different phone calls could be routed down the same physical cable by increasing the frequency of the conversations at one end of cable and then using band width filters at the other end to separate the conversations again (this works by letting every call only have a certain frequency range, about 3kHz is good enough to transmit the human voice understandably, so the first call would get the 0-3kHz band, the second 4-7kHz etc.). But still this ment that each phone call would take a fixed amount of bandwidth, it made no difference whether the people were talking or just being silent the whole channel was still dedicated to them. The technical term for this sort of system is Circuit Switiching - at all points between the start and end points of the call the full capacity has to be reserved and available, no matter that it isn 't being used
Obviously this is a very inefficent system to use. Its stupid to have to dedicate a connection during the period where no data is being transmitted down it.
When the forerunner to the internet, ARPANET, was being developed it was quickly realised that dedicated connections were both too wasteful in term of bandwidth and that they were not survivable enough - remember of course that ARPANET was designed to withstand being attacked. If a node in a dedicated connection is knocked out then that whole connection is knocked out, there is no mechanism for rerouting the connection while its in progress. Thus in the mid 1960 's the idea of packet switching was developed.
The central concepts of packet switching were thought up at the same time, though independently, by two researchers in the US and the UK. Paul Baran was working for RAND Corporation in the early '60s and was working on a project to develop surviable communications networks for the US Air Force. He quickly realised that to be survivable there could be no central switching facility, each node on the network had to be responsible for the routing of data. Unforunately when AT&T was approached by the Air Force to build such a network they refused and the whole plan was put on hold. At roughly the same time as this plan was put on hold - 1965 - Donanld Watts Davies, a 41 year old physicist who was working for the National Physics Laboratory in the UK came up with same ideas for having a distibuted network. Davies initially kept his ideas quiet since he thought that he would face resistance from the Post Office (who was then responsible for the telephone system in the UK, but that side became British Telecoms later). After doing intensive studies into the validity of his ideas he gave a lecture about them in London. After the lecture he was approached by a man from the Ministry of Defence and told about Baran 's research. However, unlike AT&T, the British Post Office was very interested in Davies 's ideas and funded him to develop them further, which led to their being used in the creation of the ARPANET. It was said that later when when Baran and Davies finally met that Davies said "You may have got there first, but I got the name".
There are two central ideas behind packet switching. The first is that all data is split up in to smaller discrete chunks, each of which in encapsulated by a set of headers that detail where the packet it from and where its going to, as well as the position of the packet in the final piece of data - so that large pieces of data can be put back in order after they are recived. The second idea is that there is no central authority that governs the route that they take between nodes. Two packets from the same host to the same destination can take completely different routes. Each node is responsible for choosing where to send each packet. This allows packets to be routed around congestion and broken nodes without it having an adverse affect on the network as a whole.
Currently there are two different approaches that are common to packet switching: Datagram Switching and Virtual Circuit Packet Switching. Datagram Switching allows packets to take any route to their destination. Each packet is seen as a separate entity and is treated as such. Every node along the route to the destination will examine the packet headers and decided where to send the packet next. Virtual Circuit Packet Switching sets up a virtual path between the host and the destination each packet then follows that path. This has the advantage of allowing shorter headers as well as ensuring that packets arrive in the same order that they are send in.
Datagram Switching is used for TCP/IP.
Virtual Circuit Packet Switching is used for frame relays and X.25
Access Networks and Physical Media
Access Networks
Access networks can be loosely divided into three categories: residential access networks, connecting a home end system into the network; institutional access networks, connecting an end system in a business or educational institution into the network; mobile access networks, connecting a mobile end system into the network
These categories are not hard and fast; some corporate end systems may well use the access network technology that we ascribe to residential access networks, and vice versa. Our descriptions below are meant to hold for the common (if not every) case. Figure shows the access networks ' links highlighted in red.
Figure 1.5-1: Access networks Residential Access Networks
A residential access network connects a home end system (typically a PC, but perhaps a Web TV or other residential system) to an edge router. Probably the most common form of home access is using a modem over a POTS (plain old telephone system) dialup line to an Internet service provider (ISP). The home modem converts the digital output of the PC into analog format for transmission over the analog phone line. A modem in the ISP converts the analog signal back into digital form for input to the ISP router. In this case, the "access network" is simply a point-to-point dialup link into an edge router. The point-to-point link is your ordinary twisted-pair phone line. (We will discuss twisted pair later in this section.) Today 's modem speeds allow dialup access at rates up to 56 Kbps. However, due to the poor quality of twisted-pair line between many homes and ISPs, many users get an effective rate significantly less than 56 Kbps. For an in depth discussion of the practical aspects of modems see the Institute for Global Communications (IGC) web page on Modems and Data Communications.
While dialup modems require conversion of the end system 's digital data into analog form for transmission, so-called narrowband ISDN technology (Integrated Services Digital Network) allows for all-digital transmission of data from a home end system over ISDN "telephone" lines to a phone company central office. Although ISDN was originally conceived as a way to carry digital data from one end of the phone system to another, it is also an important network access technology that provides higher speed access (e.g., 128 Kbps) from the home into a data network such as the Internet. In this case, ISDN can be thought of simply as a "better modem".
Dialup modems and narrowband ISDN are already widely deployed technologies. Two new technologies, Asymmetric Digital Subscriber Line (ADSL) and hybrid fiber coaxial cable (HFC) are currently being deployed. ADSL is conceptually similar to dialup modems: it is a new modem technology again running over existing twisted pair telephone lines, but can transmit at rates of up to about 8 Mbps from the ISP router to a home end system. The data rate in the reverse direction, from the home end system to the central office router, is less than 1 Mbps. The asymmetry in the access speeds gives rise to the term "Asymmetric" in ADSL. The asymmetry in the data rates reflects the belief that home users are more likely to be a consumer of information (bringing data into their homes) than a producer of information.
ADSL uses frequency division multiplexing, as described in the previous section. In particular, ADSL divides the communication link between the home the ISP into three non-overlapping frequency bands: a high-speed downstream channel, in the 50 KHz to 1 MHz band; a medium-speed upstream channel, in the 4 KHz to 50 KHz band; and an ordinary POTs two-way telephone channel, in the 0 to 4 KHz band.
One of the features of ADSL is that the service allows the user to make an ordinary telephone call, using the POTs channel, while simultaneously surfing the Web. This feature is not available with standard dailup modems. The actually amount of downstream and upstream bandwidth available to the user is a function of the distance between the home modem and the ISP modem, the gauge of the twisted pair line, and the degree of electrical interference. For a high-quality line with negligible electrical interference, an 8 Mbps downstream transmission rate is possible if the distance between the home and the ISP is less than 3,000 meters; the downstream transmission rate drops to about 2 Mbps for a distance of 6,000 meters. The upstream rate ranges from 16 Kbps to 1 Mbps.
While ADSL, ISDN and dailup modems all use ordinary phone lines, HFC access networks are extensions of the current cable network used for broadcasting cable television. In a traditional cable system, a cable head end station broadcasts through a distribution of coaxial cable and amplifiers to residences. (We discuss coaxial cable later in this chapter.) As illustrated in Figure 1.5-2, fiber optics (also to be discussed soon) connect the cable head end to neighborhood-level junctions, from which traditional coaxial cable is then used to reach individual houses and apartments. Each neighborhood juncture typically supports 500 to 5000 homes.
Figure 1.5-2: A hybrid fiber-coax access network
As with ADSL, HFC requires special modems, called cable modems. Companies that provide cable Internet access require their customers to either purchase or lease a modem. One such company is CyberCable, which uses Motorola 's CyberSurfer Cable Modem and provides high-speed Internet access to most of the neighborhoods in Paris. Typically, the cable modem is an external device and connects to the home PC through a 10-BaseT Ethernet port. Cable modems divide the HFC network into two channels, a downstream and an upstream channel. As with ADSL, the downstream channel is typically allocated more bandwidth and hence a larger transmission rate. For example, the downstream rate of the CyberCable system is 10 Mbps and the upstream rate is 768 Kbps. However, with HFC (and not with ADSL), these rates are shared among the homes, as we discuss below.
One important characteristic of the HFC is that it is a shared broadcast medium. In particular, every packet sent by the headend travels downstream on every link to every home; and every packet sent by a home travels on the upstream channel to the headend. For this reason, if several users are receiving different Internet videos on the downstream channel, actual rate at which each user receives its video will be significantly less than downstream rate. On the other hand, if all the active users are Web surfing, then each of the users may actually receive Web pages at the full downstream rate, as a small collection of users will rarely receive a Web page at exactly the same time. Because the upstream channel is also shared, packets sent by two different homes at the same time will collide, which further decreases the effective upstream bandwidth. (We will discuss this collision issue in some detail when we discuss Ethernet in Chapter 5.) Advocates of ADSL are quick to point out that ADSL is a point-to-point connection between the home and ISP, and therefore all the ADSL bandwidth is dedicated rather than shared. Cable advocates, however, argue that a reasonably dimensioned HFC network provides higher bandwidths than ADSL. The battle between ADSL and HFC for high speed residential access has clearly begun, e.g.,
Enterprise Access Networks In enterprise access networks, a local area network (LAN) is used to connect an end system to an edge router. As we will see in Chapter 5, there are many different types of LAN technology. However, Ethernet technology is currently by far the most prevalent access technology in enterprise networks. Ethernet operates 10 Mbps or 100Mbps (and now even at 1 Gbps). It uses either twisted-pair copper wire are coaxial cable to connect a number of end systems with each other and with an edge router. The edge router is responsible for routing packets that have destinations outside of that LAN. Like HFC, Ethernet uses a shared medium, so that end users share the the transmission rate of the LAN. More recently, shared Ethernet technology has been migrating towards switched Ethernet technology. Switched Ethernet uses multiple coaxial cable or twisted pair Ethernet segments connected at a "switch" to allow the full bandwidth an Ethernet to be delivered to different users on the same LAN simultaneously.
Mobile Access Networks
Mobile access networks use the radio spectrum to connect a mobile end system (e.g., a laptop PC or a PDA with a wireless modem) to a base station. This base station, in turn, is connected to an edge router of a data network.
An emerging standard for wireless data networking is Cellular Digital Packet Data (CDPD). As the name suggests, a CDPD network operates as an overlay network (i.e., as a separate, smaller "virtual" network, as a piece of the larger network) within the cellular telephone network. A CDPD network thus uses the same radio spectrum as the cellular phone system, and operates at speeds in the 10 's of Kbits per second. As with cable-based access networks and shared Ethernet, CDPD end systems must share the transmission media with other CDPD end systems within the cell covered by a base station. A media access control (MAC) protocol is used to arbitrate channel sharing among the CDPD end systems.
The CDPD system supports the IP protocol, and thus allows an IP end system to exchange IP packets over the wireless channel with an IP base station. A CDPD network can actually support multiple network layer protocols; in addition to IP, the ISO CNLP protocol is also supported. CDPD does not provide for any protocols above the network layer. From an Internet perspective, CDPD can be viewed as extending the Internet dial tone (i.e., the ability to transfer IP packets) across a wireless link between a mobile end system and an Internet router.
Physical Media
In the previous subsection we gave an overview of some of the most important access network technologies in the Internet. While describing these technologies, we also indicated the physical media used. For example, we said that HFC uses a combination of fiber cable and coaxial cable. We said that ordinary modems, ISDN, and ADSL use twisted-pair copper wire. And we said that mobile access network use the radio spectrum. In this subsection we provide a brief overview of these and other transmission media that are commonly employed in the Internet.
In order to define what is meant by a "physical medium,", let us reflect on the brief life of a bit. Consider a bit traveling from one end system, through a series of links and routers, to another end system. This poor bit gets transmitted many, many times! The source end-system first transmits the bit and shortly thereafter the first router in the series receives the bit; the first router then transmits the bit and shortly afterwards the second router receives the bit, etc. Thus our bit, when traveling from source to destination, passes through a series of transmitter-receiver pairs. For each transmitter-receiver pair, the bit is sent by propagating electromagnetic waves across a physical medium. The physical medium can take many shapes and forms, and does not have to be of the same type for each transmitter-receiver pair along the path. Examples of physical media include twisted-pair copper wire, coaxial cable, multimode fiber optic cable, terrestrial radio spectrum and satellite radio spectrum. Physical media fall into two categories: guided media and unguided media. With guided media, the waves are guided along a solid medium, such as a fiber-optic cable, a twisted-pair cooper wire or a coaxial cable. With unguided media, the waves propagate in the atmosphere and in outer space, such as in a digital satellite channel or in a CDPD system.
Some Popular Physical Media
Suppose you want to wire a building to allow computers to access the Internet or an intranet -- should you use twisted-pair copper wire, coaxial cable, or fiber optics? Which of these media gives the highest bit rates over the longest distances? We shall address these questions below.
But before we get into the characteristics of the various guided medium types, let us say a few words about their costs. The actual cost of the physical link (copper wire, fiber optic cable, etc.) is often relatively minor compared with the other networking costs. In particular, the labor cost associated with the installation of the physical link can be orders of magnitude higher than the cost of the material. For this reason, many builders install twisted pair, optical fiber, and coaxial cable to every room in a building. Even if only one medium is initially used, there is a good chance that another medium could be used in the near future, and so money is saved but not having to lay additional wires.
Twisted-Pair Copper Wire
The least-expensive and most commonly-used transmission medium is twisted-pair copper wire. For over one-hundred years it has been used by telephone networks. In fact, more than 99% of the wired connections from the telephone handset to the local telephone switch use twisted-pair copper wire. Most of us have seen twisted pair in our homes and work environments. Twisted pair consists of two insulated copper wires, each about 1 mm thick, arranged in a regular spiral pattern; see Figure. The wires are twisted together to reduce the electrical interference from similar pairs close by. Typically, a number of pairs are bundled together in a cable by wrapping the pairs in a protective shield. A wire pair constitutes a single communication link.
Unshielded twisted pair (UTP) is commonly used for computer networks within a building, that is, for local area networks (LANs). Data rates for LANs using twisted pair today range from 10 Mbps to 100 Mbps. The data rates that can be achieved depend on the thickness of the wire and the distance between transmitter and receiver. Two types of UTP are common in LANs: category 3 and category 5. Category 3 corresponds to voice-grade twisted pair, commonly found in office buildings. Office buildings are often prewired with two or more parallel pairs of category 3 twisted pair; one pair is used for telephone communication, and the additional pairs can be used for additional telephone lines or for LAN networking. 10 Mbps Ethernet, one of the most prevalent LAN types, can use category 3 UTP. Category 5, with its more twists per centimeter and Teflon insulation, can handle higher bit rates. 100 Mbps Ethernet running on category 5 UTP has become very popular in recent years. In recent years, category 5 UTP has become common for preinstallation in new office buildings.
When fiber-optic technology emerged in the 1980s, many people disparaged twisted-pair because of its relatively low bit rates. Some people even felt that fiber optic technology would completely replace twisted pair. But twisted pair did not give up so easily. Modern twisted-pair technology, such as category 5 UTP, can achieve data rates of 100 Mbps for distances up to a few hundred meters. Even higher rates are possible over shorter distances. In the end, twisted-pair has emerged as the dominant solution for high-speed LAN networking.
As discussed in Section 1.5.1, twisted-pair is also commonly used for residential Internet access. We saw that dial-up modem technology enables access at rates of up to 56 Kbps over twisted pair. We also saw that ISDN is available in many communities, providing access rates of about 128 Kbps over twisted pair. We also saw that ADSL (Asymmetric Digital Subscriber Loop) technology has enabled residential users to access the Web at rates in excess of 6 Mbps over twisted pair.
Coaxial-Cable
Like twisted pair, coaxial cable consists of two copper conductors, but the two conductors are concentric rather than parallel. With this construction and a special insulation and shielding, coaxial cable can have higher bit rates than twisted pair. Coaxial cable comes in two varieties: baseband coaxial cable and broadband coaxial cable.
Baseband coaxial cable, also called 50-ohm cable, is about a centimeter thick, lightweight, and easy to bend. It is commonly used in LANs; in fact, the computer you use at work or at school is probably connected to a LAN with either baseband coaxial cable or with UTP. Take a look at the the connection to your computer 's interface card. If you see a telephone-like jack and some wire that resembles telephone wire, you are using UTP; if you see a T-connector and a cable running out of both sides of the T-connector, you are using baseband coaxial cable. The terminology "baseband" comes from the fact that the stream of bits is dumped directly into the cable, without shifting the signal to a different frequency band. 10 Mbps Ethernets can use either UTP or baseband coaxial cable., it is a little more expensive to use UTP for 10 Mbps Ethernet, as UTP requires an additional networking device, called a hub.
Broadband coaxial cable, also called 75-ohm cable, is quite a bit thicker, heavier, and stiffer than the baseband variety. It was once commonly used in LANs and can still be found in some older installations. For LANs, baseband cable is now preferable, since it is less expensive, easier to
physically handle, and does not require attachment cables. Broadband cable, however, is quite common in cable television systems. Cable television systems have been recently been coupled with cable modems to provide residential users with Web access at rates of 10 Mbps or higher. With broadband coaxial cable, the transmitter shifts the digital signal to a specific frequency band, and the resulting analog signal is sent from the transmitter to one or more receivers. Both baseband and broadband coaxial cable can be used as a guided shared medium. Specifically, a number of end systems can be connected directly to the cable, and all the end systems receive whatever any one of the computers transmits.
Fiber Optics
An optical fiber is a thin, flexible medium that conducts pulses of light, with each pulse representing a bit. A single optical fiber can support tremendous bit rates, up to tens or even hundreds of gigabits per second. They are immune to electromagnetic interference, have very low signal attenuation up to 100 kilometers, and are very hard to tap. These characteristics have made fiber optics the preferred long-haul guided transmission media, particularly for overseas links. Many of the long-distance telephone networks in the United States and elsewhere now use fiber optics exclusively. Fiber optics is also prevalent in the backbone of the Internet. However, the high cost of optical devices -- such as transmitters, receivers, and switches -- has hindered their deployment for short-haul transport, such as in a LAN or into the home in a residential access network. AT&T Labs provides an excellent site on fiber optics, including several nice animations.
Terrestrial and Satellite Radio Channels
Radio channels carry signals in the electromagnetic spectrum.
They are an attractive media because require no physical "wire" to be installed, can penetrate walls, provide connectivity to a mobile user, and can potentially carry a signal for long distances. The characteristics a radio channel depend significantly on the propagation environment and the distance over which a signal is to be carried. Environmental considerations determine path loss and shadow fading (which decrease in signal strength as it travels over a distance and around/through obstructing objects), multipath fading (due to signal reflection off of interfering objects), and interference (due to other radio channels or electromagnetic signals).
Terrestrial radio channels can be broadly classified into two groups: those that operate as local area networks (typically spanning 10 's to a few hundred meters) and wide-area radio channels that are used for mobile data services (typically operating within a metropolitan region). A number of wireless LAN products are on the market, operating in the 1 to 10 's of Mbps range. Mobile data services (such as the CDPD standard we touched on in section 1.3), typically provide channels that operate at 10 's of
Kbps.
A communication satellite links two or more earth-based microwave transmitter/receivers, known as ground stations. The satellite receives transmissions on one frequency band, regenerates the signal using a repeater (discussed below), and transmits the signal on another frequency. Satellites can provide bandwidths in the gigabit per second range. Two types of satellites are used in communications: geostationary satellites and low-altitude satellites.
Geostationary satellites permanently remain above the same spot on the Earth. This stationary presence is achieved by placing the satellite in orbit at 36,000 kilometers above the Earth 's surface. This huge distance between from ground station though satellite back to ground station introduces a substantial signal propagation delay of 250 milliseconds. Nevertheless, satellites links are often used in telephone networks and in the backbone of the Internet.
Low-altitude satellites are placed much closer to the Earth and do not remain permanently above one spot on the Earth. They rotate around the Earth just as the Moon rotates around the Earth. To provide continuous coverage to an area, many satellites to be placed in orbit. There are currently many low-altitude communication systems in development. The Iridium system, for example, consists of 66 low-altitude satellites. Lloyd 's satellite constellations provides and collects information on Iridium as well as other satellite constellation systems. The low-altitude satellite technology may be used for Internet access sometime in the future.
Transmission Media - Unguided
Unguided transmission media is data signals that flow through the air. They are not guided or bound to a channel to follow.
Line of sight propagation transmits exactly in the line of sight. The receive station must be in the view of the transmit station. It is sometimes called space waves or tropospheric propagation. It is limited by the curvature of the Earth for ground-based stations (100 km, from horizon to horizon). Reflected waves can cause problems. Examples of line of sight propagation are: FM radio, microwave and satellite.
Radio frequencies are in the range of 300 kHz to 10 GHz. We are seeing an emerging technology called wireless LANs. Some use radio frequencies to connect the workstations together, some use infrared technology.
Microwave
Microwave transmission is line of sight transmission. The transmit station must be in visible contact with the receive station. This sets a limit on the distance between stations depending on the local geography. Typically the line of sight due to the Earth 's curvature is only 50 km to the horizon! Repeater stations must be placed so the data signal can hop, skip and jump across the country.
Microwaves operate at high operating frequencies of 3 to 10 GHz. This allows them to carry large quantities of data due to their large bandwidth.
Advantages:
a. They require no right of way acquisition between towers.
b. They can carry high quantities of information due to their high operating frequencies.
c. Low cost land purchase: each tower occupies only a small area.
d. High frequency/short wavelength signals require small antennae.
Disadvantages:
a. Attenuation by solid objects: birds, rain, snow and fog.
b. Reflected from flat surfaces like water and metal.
c. Diffracted (split) around solid objects.
d. Refracted by atmosphere, thus causing beam to be projected away from receiver.
Communication Satellites
Satellites are transponders (units that receive on one frequency and retransmit on another) that are set in geostationary orbits directly over the equator. These geostationary orbits are 36,000 km from the Earth 's surface. At this point, the gravitational pull of the Earth and the centrifugal force of Earth 's rotation are balanced and cancel each other out. Centrifugal force is the rotational force placed on the satellite that wants to fling it out into space.
The uplink is the transmitter of data to the satellite. The downlink is the receiver of data. Uplinks and downlinks are also called Earth stations because they are located on the Earth. The footprint is the "shadow" that the satellite can transmit to, the shadow being the area that can receive the satellite 's transmitted signal.
QUEUING DELAY
In telecommunication and computer engineering, the queuing delay (or queueing delay) is the time a job waits in a queue until it can be executed. It is a key component of network delay.
This term is most often used in reference to routers. When packets arrive at a router, they have to be processed and transmitted. A router can only process one packet at a time. If packets arrive faster than the router can process them (such as in a burst transmission) the router puts them into the queue (also called the buffer) until it can get around to transmitting them.
The maximum queuing delay is proportional to buffer size. The longer the line of packets waiting to be transmitted, the longer the average waiting time is. However, this is much preferable to a shorter buffer, which would result in ignored ("dropped") packets, which in turn would result in much longer overall transmission times.
During network congestion, queuing delays can be considered infinite when the packet is dropped. The retransmission of such packets causes significant overall delay because all forms of delay will be incurred more than once. If the network congestion continues, the packet may be dropped many times. Many protocols, such as TCP, will "throttle back" their sending and wait for the network to clear up.
While taking about Queuing in wireless communication its an important tool for handoff as it decreases the probability of forced termination of a call due to unavailable voice channels in a base station.the basic theory is there is a time delay between the threshold level of signal required for handoff and minimum level of signal strength to maintain the call. the call in que in this mean time can be handed over to the free voice channel.
Packet Loss
Packet loss occurs when one or more packets of data travelling across a computer network fail to reach their destination. Packet loss is distinguished as one of the three main error types encountered in digital communications; the other two being bit error and spurious packets caused due to noise.
causes
Packet loss can be caused by a number of factors including signal degradation over the network medium due to multi-path fading, packet drop because of channel congestion, corrupted packets rejected in-transit, faulty networking hardware, faulty network drivers or normal routing routines (such as DSR in ad-hoc networks).
In addition to this, packet loss probability is also affected by signal-to-noise ratio and distance between the transmitter and receiver.
Effects
When caused by network problems, lost or dropped packets can result in highly noticeable performance issues or jitter with streaming technologies, voice over IP, online gaming and videoconferencing, and will affect all other network applications to a degree. [4] However, it is important to note that packet loss does not always indicate a problem. If the latency and the packet loss at the destination hop are acceptable then the hops prior to that one don 't matter. [5]
Packet recovery
Some network transport protocols such as TCP provide for reliable delivery of packets. In the event of packet loss, the receiver asks for retransmission or the sender automatically resends any segments that have not been acknowledged. [6] Although TCP can recover from packet loss, retransmitting missing packets causes the throughput of the connection to decrease. This drop in throughput is due to the sliding window protocols used for acknowledgment of received packets. In certain variants of TCP, if a transmitted packet is lost, it will be re-sent along with every packet that had been sent after it. This retransmission causes the overall throughput of the connection to drop.
Protocols such as UDP provide no recovery for lost packets. Applications that use UDP are expected to define their own mechanisms for handling packet loss.
Acceptable packet loss
“The fraction of lost packets increases as the traffic intensity increases. Therefore, performance at a node is often measured not only in terms of delay, but also in terms of the probability of packet loss…a lost packet may be retransmitted on an end-to-end basis in order to ensure that all data are[sic] eventually transferred from source to destination.” [7] The amount of packet loss that is acceptable depends on the type of data being sent. For example, for Voice over IP traffic, the only effect seen due to the occasional dropped packet is jitter, and therefore “[m]issing one or two packets every now and then will not affect the quality of the conversation. Losses between 5% and 10% of the total packet stream will affect the quality significantly.”[8] On the other hand, when transmitting a text document or web page, a single dropped packet could result in losing part of the file, which is where the aforementioned packet retransmission schemes are used. When given a situation where the amount of content due to be pushed through a connection is growing at a rate greater than it is possible to push through that connection, also known as a bottleneck, then there is no other solution than to drop packets.[9] The TCP protocol is designed with a slow-start connection strategy so that excessive packet loss will cause the sender to throttle back and stop flooding the bottleneck point with data (using perceived packet loss as feedback to discover congestion). [10] The data packets will be transmitted over a longer duration.
There are many methods used for determining which packets to drop. Most basic networking equipment will use FIFO queuing for packets waiting to go through the bottleneck and they will drop the packet if the queue is full at the time the packet is received. This type of packet dropping is called tail drop. However, dropping packets when the queue is full is a poor solution for any connection that requires real-time throughput. For these types of connections, quality of service and other methods are applied. In some connections, packets may be intentionally dropped in order to slow down specific services for no other reason than to dissuade users from using those services. For this reason, packet loss is not necessarily an indication of poor connection reliability or a bottleneck.
Packet loss is closely associated with quality of service considerations, and is related to the erlang unit of measure.
The Protocol Stack
The Internet consists of many millions of computers on tens of thousands of networks. It is arguably the most complex system ever assembled by mankind. How can such a complex system function reliably, particularly when it grows several times larger every year? The answer is that the Internet is assembled from components that have been built by many manufacturers to a common set of standards. The most fundamental of these standards, relate to a basic set of functions that has been defined collectively by the networking industry. At the core of these functions is a set of rules for exchanging information. These rules are known as protocols.Networking technology is highly modular: Its systems are divided into “chunks” of well-defined functions.
The Internet Protocol Stack
The Internet stack consists of five layers: the physical, data link, network, transport, and application layers. Rather than use the cumbersome terminology n-PDU for each of the five layers, we instead give special names to the PDUs in four of the five layers: frame, datagram, segment, and message. We don 't name a data unit for the physical layer, as no name is commonly used at this layer. The Internet stack and the corresponding PDU names are illustrated in Figure 1.24.
Figure 1.24: The Internet protocol stack, and protocol data units
A protocol layer can be implemented in software, in hardware, or using a combination of the two. Application-layer protocols--such as HTTP and SMTP--are almost always implemented in software in the end systems; so are transport-layer protocols. Because the physical layer and data link layers are responsible for handling communication over a specific link, they are typically implemented in a network interface card (for example, Ethernet or ATM interface cards) associated with a given link. The network layer is often a mixed implementation of hardware and software. We now summarize the Internet layers and the services they provide:
Application Layer
The application layer is responsible for supporting network applications. The application layer includes many protocols, including HTTP to support the Web, SMTP to support electronic mail, and FTP to support file transfer. We shall see in Chapter 2 that it is very easy to create our own new application-layer protocols.
Transport Layer
The transport layer provides the service of transporting application-layer messages between the client and server sides of an application. In the Internet there are two transport protocols, TCP and UDP, either of which can transport application-layer messages. TCP provides a connection-oriented service to its applications. This service includes guaranteed delivery of application-layer messages to the destination and flow control (that is, sender/receiver speed matching). TCP also segments long messages into shorter segments and provides a congestion control mechanism, so that a source throttles its transmission rate when the network is congested. The UDP protocol provides its applications a connectionless service, which (as we saw in Section 1.3) is very much a no-frills service.
Network Layer
The network layer is responsible for routing datagrams from one host to another. The Internet 's network layer has two principle components. It has a protocol that defines the fields in the IP datagram as well as how the end systems and routers act on these fields. This protocol is the celebrated IP protocol. There is only one IP protocol, and all Internet components that have a network layer must run the IP protocol. The Internet 's network layer also contains routing protocols that determine the routes that datagrams take between sources and destinations. The Internet has many routing protocols. As we saw in Section 1.4, the Internet is a network of networks, and within a network, the network administrator can run any routing protocol desired. Although the network layer contains both the IP protocol and numerous routing protocols, it is often simply referred to as the IP layer, reflecting the fact that IP is the glue that binds the Internet together.
The Internet transport layer protocols (TCP and UDP) in a source host passes a transport-layer segment and a destination address to the IP layer, just as you give the postal service a letter with a destination address. The IP layer then provides the service of routing the segment to its destination. When the packet arrives at the destination, IP passes the segment to the transport layer within the destination.
Link Layer
The network layer routes a packet through a series of packet switches (called routers, in the Internet) between the source and destination. To move a packet from one node (host or packet switch) to the next node in the route, the network layer must rely on the services of the link layer. In particular, at each node IP passes the datagram to the link layer, which delivers the datagram to the next node along the route. At this next node, the link layer passes the IP datagram to the network layer. The process is analogous to the postal worker at a mailing center who puts a letter into a plane that will deliver the letter to the next postal center along the route. The services provided at the link layer depend on the specific link-layer protocol that is employed over the link. For example, some protocols provide reliable delivery on a link basis, that is, from transmitting node, over one link, to receiving node. Note that this reliable delivery service is different from the reliable delivery service of TCP, which provides reliable delivery from one end system to another. Examples of link layers include Ethernet and PPP; in some contexts, ATM and frame relay can be considered link layers. As datagrams typically need to traverse several links to travel from source to destination, a datagram may be handled by different link-layer protocols at different links along its route. For example, a datagram may be handled by Ethernet on one link and then PPP on the next link. IP will receive a different service from each of the different link-layer protocols.
Physical Layer
While the job of the link layer is to move entire frames from one network element to an adjacent network element, the job of the physical layer is to move the individual bits within the frame from one node to the next. The protocols in this layer are again link dependent, and further depend on the actual transmission medium of the link (for example, twisted-pair copper wire, single-mode fiber optics). For example, Ethernet has many physical layer protocols: one for twisted-pair copper wire, another for coaxial cable, another for fiber, and so on. In each case, a bit is moved across the link in a different way.
If you examine the Table of Contents, you will see that we have roughly organized this book using the layers of the Internet protocol stack. We take a top-down approach, first covering the application layer and then preceding downwards.
Network Entities and Layers
The most important network entities are end systems and packet switches. As we discuss later in this book, there are two types of packet switches: routers and bridges. We presented an overview of routers in the earlier sections. Bridges will be discussed in detail in Chapter 5 whereas routers will be covered in more detail in Chapter 4. Similar to end systems, routers and bridges organize the networking hardware and software into layers. But routers and bridges do not implement all of the layers in the protocol stack; they typically implement only the bottom layers. As shown in Figure 1.25, bridges implement layers 1 and 2; routers implement layers 1 through 3. This means, for example, that Internet routers are capable of implementing the IP protocol (a layer 3 protocol), while bridges are not. We will see later that while bridges do not recognize IP addresses, they are capable of recognizing layer 2 addresses, such as Ethernet addresses. Note that hosts implement all five layers; this is consistent with the view that the Internet architecture puts much of its complexity at the "edges" of the network.
Hosts, routers, and bridges; each contains a different set of layers, reflecting their differences in functionality
Protocol Layers and Their Service Models
From our discussion thus far, it is apparent that the Internet is an extremely complicated system. We have seen that there are many pieces to the Internet: numerous applications and protocols, various types of end systems and connections between end systems, routers, and various types of link-level media. Given this enormous complexity, is there any hope of organizing network architecture, or at least our discussion of network architecture? Fortunately, the answers to both questions is yes.
Layered Architecture
Before attempting to organize our thoughts on Internet architecture, let 's look for a human analogy. Actually, we deal with complex systems all the time in our everyday life. Imagine if someone asked you to describe, for example, the airline system. How would you find the structure to describe this complex system that has ticketing agents, baggage checkers, gate personnel, pilots, airplanes, air traffic control, and a worldwide system for routing airplanes? One way to describe this system might be to describe the series of actions you take (or others take for you) when you fly on an airline. You purchase your ticket, check your bags, go to the gate, and eventually get loaded onto the plane. The plane takes off and is routed to its destination. After your plane lands, you de-plane at the gate and claim your bags. If the trip was bad, you complain about the flight to the ticket agent (getting nothing for your effort). This scenario is shown in Figure 1.21.
Taking an airplane trip: Actions
Already, we can see some analogies here with computer networking: You are being shipped from source to destination by the airline; a packet is shipped from source host to destination host in the Internet. But this is not quite the analogy we are after. We are looking for some structure in Figure 1.21. Looking at Figure 1.21, we note that there is a ticketing function at each end; there is also a baggage function for already-ticketed passengers, and a gate function for already-ticketed and already-baggage-checked passengers. For passengers who have made it through the gate (that is, passengers who are already ticketed, baggage-checked, and through the gate), there is a takeoff and landing function, and while in flight, there is an airplane routing function. This suggests that we can look at the functionality in Figure in a horizontal manner, as shown in Figure 1.22.
Horizontal layering of airline functionality
Figure has divided the airline functionality into layers, providing a framework in which we can discuss airline travel. Now, when we want to describe a part of airline travel, we can talk about a specific, well-defined component of airline travel. For example, when we discuss gate functionality, we know we are discussing functionality that sits "below" baggage handling, and "above" takeoff and landing. We note that each layer, combined with the layers below it, implement some functionality, some service. At the ticketing layer and below, airline-counter-to-airline-counter transfer of a person is accomplished. At the baggage layer and below, baggage-check-to-baggage-claim transfer of a person and bags is accomplished. Note that the baggage layer provides this service only to an already-ticketed person. At the gate layer, departure-gate-to-arrival-gate transfer of a person and bags is accomplished. At the takeoff/landing layer, runway-to-runway transfer of people and their bags is accomplished. Each layer provides its service by (1) performing certain actions within that layer (for example, at the gate layer, loading and unloading people from an airplane) and by (2) using the services of the layer directly below it (for example, in the gate layer, using the runway-to-runway passenger transfer service of the takeoff/landing layer).
As noted above, a layered architecture allows us to discuss a well-defined, specific part of a large and complex system. This simplification itself is of considerable value. When a system has a layered structure it is also much easier to change the implementation of the service provided by the layer. As long as the layer provides the same service to the layer above it, and uses the same services from the layer below it, the remainder of the system remains unchanged when a layer 's implementation is changed. (Note that changing the implementation of a service is very different from changing the service itself!) For example, if the gate functions were changed (for example, to have people board and disembark by height), the remainder of the airline system would remain unchanged since the gate layer still provides the same function (loading and unloading people); it simply implements that function in a different manner after the change. For large and complex systems that are constantly being updated, the ability to change the implementation of a service without affecting other components of the system is another important advantage of layering.
But enough with airlines. Let 's now turn our attention to network protocols. To reduce design complexity, network designers organize protocols--and the network hardware and software that implements the protocols--in layers. With a layered protocol architecture, each protocol belongs to one of the layers. It 's important to realize that a protocol in layer n is distributed among the network entities (including end systems and packet switches) that implement that protocol, just as the functions in our layered airline architecture were distributed between the departing and arriving airports. In other words, there 's a piece of layer n in each of the network entities. These pieces communicate with each other by exchanging layer-n messages. These messages are called layer-n protocol data units, or more commonly n-PDUs. The contents and format of an n-PDU, as well as the manner in which the n-PDUs are exchanged among the network elements, are defined by a layer-n protocol. When taken together, the protocols of the various layers are called the protocol stack.
When layer n of Host A sends an n-PDU to layer n of Host B, layer n of Host A passes the n-PDU to layer n-1 and then lets layer n-1 deliver the n-PDU to layer n of B; thus layer n is said to rely on layer n-1 to deliver its n-PDU to the destination. A key concept is that of the service model of a layer. Layer n-1 is said to offer services to layer n. For example, layer n-1 might guarantee that the n-PDU will arrive without error at layer n in the destination within one second, or it might only guarantee that the n-PDU will eventually arrive at the destination without any assurances about error.
Protocol Layering
The concept of protocol layering is fairly abstract and is sometimes difficult to grasp at first. This concept will become clear as we study the Internet layers and their constituent protocols in greater detail. But let us now try to shed some insight on protocol layering and protocol stacks with an example. Consider a network that organizes its communication protocols in four layers. Because there are four layers, there are four types of PDUs: 1-PDUs, 2-PDUs, 3-PDUs, and 4-PDUs. As shown in Figure, the application, operating at the highest layer, layer 4, creates a message, M. Any message created at this highest layer is a 4-PDU. The message M itself may consist of many different fields (in much the same way as a structure or record in a programming language may contain different fields); it is up to the application to define and interpret the fields in the message. The fields might contain the name of the sender, a code indicating the type of the message, and some additional data.
Different PDUs at different layers in the protocol architecture
Within the source host, the contents of the entire message M is then "passed" down the protocol stack to layer 3. In the example in Figure 1.23, layer 3 in the source host divides a 4-PDU, M, into two parts, M1 and M2. The layer 3 in the source host then adds to M1 and M2 so-called headers to create two layer-3 PDUs. Headers contain the additional information needed by the sending and receiving sides of layer 3 to implement the service that layer 3 provides to layer 4. The procedure continues in the source, adding more header at each layer, until the 1-PDUs are created. The 1-PDUs are sent out of the source host onto a physical link. At the other end, the destination host receives 1-PDUs and directs them up the protocol stack. At each layer, the corresponding header is removed. Finally, M is reassembled from M1 and M2 and then passed on to the application.
Note that in Figure 1.23, layer n uses the services of layer n-1. For example, once layer 4 creates the message M, it passes the message down to layer 3 and relies on layer 3 to deliver the message to layer 4 at the destination.
Interestingly enough, this notion of relying on lower-layer services is prevalent in many other forms of communication. For example, consider ordinary postal mail. When you write a letter, you include envelope information such as the destination address and the return address with the letter. The letter, along with the address information, can be considered a PDU at the highest layer of the protocol stack. You then drop the PDU in a mailbox. At this point, the letter is out of your hands. The postal service may then add some of its own internal information onto your letter, essentially adding a header to your letter. For example, in the United States a barcode is often printed on your letter.
Once you drop your envelope into a mailbox, you rely on the services of the postal service to deliver the letter to the correct destination in a timely manner. For example, you don 't worry about whether a postal truck will break down while carrying the letter. Instead the postal service takes care of this, presumably with well-defined plans to recover from such failures. Furthermore, within the postal service itself there are layers, and the protocols at one layer rely on and use the services of the layer below.
In order for one layer to interoperate with the layer below it, the interfaces between the two layers must be precisely defined. Standards bodies define precisely the interfaces between adjacent layers (for example, the format of the PDUs passed between the layers) and permit the developers of networking software and hardware to implement the interior of the layers as they please. Therefore, if a new and improved implementation of a layer is released, the new implementation can replace the old implementation and, in theory, the layers will continue to interoperate.
Layer Functions
In a computer network, each layer may perform one or more of the following generic set of tasks:
Error control, which makes the logical channel between the layers in two peer network elements more reliable
Flow control, which avoids overwhelming a slower peer with PDUs
Segmentation and reassembly, which at the transmitting side divides large data chunks into smaller pieces and at the receiving side reassembles the smaller pieces into the original large chunk
Multiplexing, which allows several higher-level sessions to share a single lower-level connection
Connection setup, which provides handshaking with a peer
Protocol layering has conceptual and structural advantages. We mention, however, that some researchers and networking engineers are vehemently opposed to layering [Wakeman 1992]. One potential drawback of layering is that one layer may duplicate lower-layer functionality. For example, many protocol stacks provide error recovery on both a link basis and an end-to-end basis. A second potential drawback is that functionality at one layer may need information (for example, a timestamp value) that is present only in another layer; this violates the goal of separation of layers.
ISO-OSI 7-Layer Network Architecture
According to the ISO standards, networks have been divided into 7 layers depending on the complexity of the functionality each of these layers provide. The detailed description of each of these layers is given in the notes below. We will first list the layers as defined by the standard in the increasing order of function complexity:
1. Physical Layer
2. Data Link Layer
3. Network Layer
4. Transport Layer
5. Session Layer
6. Presentation Layer
7. Application Layer
Physical Layer
This layer is the lowest layer in the OSI model. It helps in the transmission of data between two machines that are communicating through a physical medium, which can be optical fibres, copper wire or wireless etc. The following are the main functions of the physical layer:
1. Hardware Specification: The details of the physical cables, network interface cards, wireless radios, etc are a part of this layer.
Coaxial Cable
Hybrid Cable
Wireless Card
Network Card
2. Encoding and Signalling: How are the bits encoded in the medium is also decided by this layer. For example, on the coppar wire medium, we can use differnet voltage levels for a certain time interval to represent '0 ' and '1 '. We may use +5mV for 1nsec to represent '1 ' and -5mV for 1nsec to represent '0 '. All the issues of modulation is dealt with in this layer. eg, we may use Binary phase shift keying for the representation of '1 ' and '0 ' rather than using different volatage levels if we have to transfer in RF waves.
Binary Phase Shift Keying
3. Data Transmission and Reception: The transfer of each bit of data is the responsibility of this layer. This layer assures the transmissoin of each bit with a high probability. The transmission of the bits is not completely reliable as their is no error correction in this layer.
4. Topology and Network Design: The network design is the integral part of the physical layer. Which part of the network is the router going to be placed, where the switches will be used, where we will put the hubs, how many machines is each switch going to handle, what server is going to be placed where, and many such concerns are to be taken care of by the physical layer. The variosu kinds of netopologies that we decide to use may be ring, bus, star or a hybrid of these topologies depending on our requirements.
Data Link Layer
This layer provides reliable transmission of a packet by using the services of the physical layer which transmits bits over the medium in an unreliable fashion. This layer is concerned with :
1. Framing : Breaking input data into frames (typically a few hundred bytes) and caring about the frame boundaries and the size of each frame.
2. Acknowledgment : Sent by the receiving end to inform the source that the frame was received without any error.
3. Sequence Numbering : To acknowledge which frame was received.
4. Error Detection : The frames may be damaged, lost or duplicated leading to errors.The error control is on link to link basis.
5. Retransmission : The packet is retransmitted if the source fails to receive acknowledgment.
6. Flow Control : Necessary for a fast transmitter to keep pace with a slow receiver.
Data Link Layer
Network Layer
Its basic functions are routing and congestion control.
Routing: This deals with determining how packets will be routed (transferred) from source to destination. It can be of three types :
Static : Routes are based on static tables that are "wired into" the network and are rarely changed.
Dynamic : All packets of one application can follow different routes depending upon the topology of the network, the shortest path and the current network load.
Semi-Dynamic : A route is chosen at the start of each conversation and then all the packets of the application follow the same route.
Routing
The services provided by the network can be of two types :
Connection less service: Each packet of an application is treated as an independent entity. On each packet of the application the destination address is provided and the packet is routed.
Connection oriented service: Here, first a connection is established and then all packets of the application follow the same route. To understand the above concept, we can also draw an analogy from the real life. Connection oriented service is modeled after the telephone system. All voice packets go on the same path after the connection is established till the connection is hung up. It acts like a tube ; the sender pushes the objects in at one end and the receiver takes them out in the same order at the other end. Connection less service is modeled after the postal system. Each letter carries the destination address and is routed independent of all the others. Here, it is possible that the letter sent first is delayed so that the second letter reaches the destination before the first letter.
Congestion Control: A router can be connected to 4-5 networks. If all the networks send packet at the same time with maximum rate possible then the router may not be able to handle all the packets and may drop some/all packets. In this context the dropping of the packets should be minimized and the source whose packet was dropped should be informed. The control of such congestion is also a function of the network layer. Other issues related with this layer are transmitting time, delays, jittering.
Internetworking: Internetworks are multiple networks that are connected in such a way that they act as one large network, connecting multiple office or department networks. Internetworks are connected by networking hardware such as routers, switches, and bridges.Internetworking is a solution born of three networking problems: isolated LANs, duplication of resources, and the lack of a centralized network management system. With connected LANs, companies no longer have to duplicate programs or resources on each network. This in turn gives way to managing the network from one central location instead of trying to manage each separate LAN. We should be able to transmit any packet from one network to any other network even if they follow different protocols or use different addressing modes.
Inter-Networking
Network Layer does not guarantee that the packet will reach its intended destination. There are no reliability guarantees.
Transport Layer
Its functions are :
Multiplexing / Demultiplexing : Normally the transport layer will create distinct network connection for each transport connection required by the session layer. The transport layer may either create multiple network connections (to improve throughput) or it may multiplex several transport connections onto the same network connection (because creating and maintaining networks may be expensive). In the latter case, demultiplexing will be required at the receiving end. A point to note here is that communication is always carried out between two processes and not between two machines. This is also known as process-to-process communication.
Fragmentation and Re-assembly : The data accepted by the transport layer from the session layer is split up into smaller units (fragmentation) if needed and then passed to the network layer. Correspondingly, the data provided by the network layer to the transport layer on the receiving side is re-assembled.
Fragmentation
Reassembly
Types of service : The transport layer also decides the type of service that should be provided to the session layer. The service may be perfectly reliable, or may be reliable within certain tolerances or may not be reliable at all. The message may or may not be received in the order in which it was sent. The decision regarding the type of service to be provided is taken at the time when the connection is established.
Error Control : If reliable service is provided then error detection and error recovery operations are also performed. It provides error control mechanism on end to end basis.
Flow Control : A fast host cannot keep pace with a slow one. Hence, this is a mechanism to regulate the flow of information.
Connection Establishment / Release : The transport layer also establishes and releases the connection across the network. This requires some sort of naming mechanism so that a process on one machine can indicate with whom it wants to communicate.
Session Layer
It deals with the concept of Sessions i.e. when a user logins to a remote server he should be authenticated before getting access to the files and application programs. Another job of session layer is to establish and maintain sessions. If during the transfer of data between two machines the session breaks down, it is the session layer which re-establishes the connection. It also ensures that the data transfer starts from where it breaks keeping it transparent to the end user. e.g. In case of a session with a database server, this layer introduces check points at various places so that in case the connectoin is broken and reestablished, the transition running on the database is not lost even if the user has not committed. This activity is called Synchronization. Another function of this layer is Dialogue Control which determines whose turn is it to speak in a session. It is useful in video conferencing.
Presentation Layer
This 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 data structures to be exchanged can be defined in abstract way alongwith standard encoding. It also manages these abstract data structres and allows higher level of data structres to be defined an exchange. It encodes the data in standard agreed way(network format). Suppose there are two machines A and B one follows 'Big Endian ' and other 'Little Endian ' for data representation. This layer ensures that the data transmitted by one gets converted in the form compatibale to othe machine. This 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 data structures to be exchanged canbe defined in abstract way alongwith standard encoding. It also manages these abstract data structres and allows higher level of data structres to be defined an exchange. Other functions include compression, encryption etc.
Application Layer
The seventh layer contains the application protocols with which the user gains access to the network. The choice of which specific protocols and their associated functions are to be used at the application level is up to the individual user. Thus the boundary between the presentation layer and the application layer represents a separation of the protocols imposed by the network designers from those being selected and implemented by the network users.For example commonly used protocols are HTTP(for web browsing), FTP(for file transfer) etc.
Network Layers as in Practice
In most of the networks today, we do not follow the OSI model of seven layers. What is actually implemented is as follows. The functionality of Application layer and Presentation layer is merged into one and is called as the Application Layer. Functionalities of Session Layer is not implemented in most networks today. Also, the Data Link layer is split theoretically into MAC (Medium Access Control) Layer and LLC (Link Layer Control). But again in practice, the LLC layer is not implemented by most networks. So as of today, the network architecture is of 5 layers only.
Network Layers in Internet Today
Physical Layer
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 recieved by the other side as 1 bit and not as 0 bit. In physical layer we deal with the communication medium used for transmission.
Types of Medium
Medium can be classified into 2 categories.
1. Guided Media : Guided media means that signals is guided by the prescence of physical media i.e. signals are under control and remains in the physical wire. For eg. copper wire.
2. Unguided Media : Unguided Media means that there is no physical path for the signal to propogate. Unguided media are essentially electro-magnetic waves. There is no control on flow of signal. For eg. radio waves.
Communication Links
In a nework nodes are connected through links. The communication through links can be classified as
1. Simplex : Communication can take place only in one direction. eg. T.V broadcasting.
2. Half-duplex : Communication can take place in one direction at a time. Suppose node A and B are connected then half-duplex communication means that at a time data can flow from A to B or from B to A but not simultaneously. eg. two persons talking to each other such that when speaks the other listens and vice versa.
3. Full-duplex : Communication can take place simultaneously in both directions. eg. A discussion in a group without discipline.
Links can be further classified as
1. Point to Point : In this communication only two nodes are connected to each other. When a node sends a packet then it can be recieved only by the node on the other side and none else.
2. Multipoint : It is a kind of sharing communication, in which signal can be recieved by all nodes. This is also called broadcast.
Generally two kind of problems are associated in transmission of signals.
1. Attenuation : When a signal transmitts in a network then the quality of signal degrades as the signal travels longer distances in the wire. This is called attenuation. To improve quality of signal amplifiers are used at regular distances.
2. Noise : In a communication channel many signals transmits simultaneously, certain random signals are also present in the medium. Due to interference of these signals our signal gets disrupted a bit.
Bandwidth
Bandwidth simply means how many bits can be transmitted per second in the communication channel. In technical terms it indicates the width of frequency spectrum.
Transmission Media
Guided Transmission Media
In Guided transmission media generally two kind of materials are used.
1. Copper
Coaxial Cable
Twisted Pair
2. Optical Fiber
1. Coaxial Cable: Coaxial cable consists of an inner conductor and an outer conductor which are seperated by an insulator. The inner conductor is usually copper. The outer conductor is covered by a plastic jacket. It is named coaxial because the two conductors are coaxial. Typical diameter of coaxial cable lies between 0.4 inch to 1 inch. The most application of coaxial cable is cable T.V. The coaxial cable has high bandwidth, attenuation is less.
2. Twisted Pair: A Twisted pair consists of two insulated copper wires, typically 1mm thick. The wires are twisted togather in a helical form the purpose of twisting is to reduce cross talk interference between several pairs. Twisted Pair is much cheaper then coaxial cable but it is susceptible to noise and electromagnetic interference and attenuation is large.
Twisted Pair can be further classified in two categories:
Unshielded twisted pair: In this no insulation is provided, hence they are susceptible to interference.
Shielded twisted pair: In this a protective thick insulation is provided but shielded twisted pair is expensive and not commonly used.
The most common application of twisted pair is the telephone system. Nearly all telephones are connected to the telephone company office by a twisted pair. Twisted pair can run several kilometers without amplification, but for longer distances repeaters are needed. Twisted pairs can be used for both analog and digital transmission. The bandwidth depends on the thickness of wire and the distance travelled. Twisted pairs are generally limited in distance, bandwidth and data rate.
3. Optical Fiber: In optical fiber light is used to send data. In general terms prescence of light is taken as bit 1 and its absence as bit 0. Optical fiber consists of inner core of either glass or plastic. Core is surrounded by cladding of the same material but of different refrective index. This cladding is surrounded by a plastic jacket which prevents optical fiber from electromagnetic interferrence and harshy environments. It uses the principle of total internal reflection to transfer data over optical fibers. Optical fiber is much better in bandwidth as compared to copper wire, since there is hardly any attenuation or electromagnetic interference in optical wires. Hence there is less requirement to improve quality of signal, in long distance transmission. Disadvantage of optical fiber is that end points are fairly expensive. (eg. switches)
Differences between different kinds of optical fibers:
1. Depending on material
Made of glass
Made of plastic.
2. Depending on radius
Thin optical fiber
Thick optical fiber
3. Depending on light source
LED (for low bandwidth)
Injection lased diode (for high bandwidth)
Wireless Transmission
1. Radio: Radio is a general term that is used for any kind of frequency. But higher frequencies are usually termed as microwave and the lower frequency band comes under radio frequency. There are many application of radio. For eg. cordless keyboard, wireless LAN, wireless ethernet. but it is limited in range to only a few hundred meters. Depending on frequency radio offers different bandwidths.
2. Terrestrial microwave: In terrestrial microwave two antennas are used for communication. A focused beam emerges from an antenna and is recieved by the other antenna, provided that antennas should be facing each other with no obstacle in between. For this reason antennas are situated on high towers. Due to curvature of earth terristial microwave can be used for long distance communication with high bandwidth. Telecom department is also using this for long distance communication. An advantage of wireless communication is that it is not required to lay down wires in the city hence no permissions are required.
Satellite communication: Satellite acts as a switch in sky. On earth VSAT(Very Small Aperture Terminal) are used to transmit and recieve data from satellite. Generally one station on earth transmitts signal to satellite and it is recieved by many stations on earth. Satellite communication is generally used in those places where it is very difficult to obtain line of sight i.e. in highly irregular terristial regions. In terms of noise wireless media is not as good as the wired media. There are frequency band in wireless communication and two stations should not be allowed to transmit simultaneously in a frequency band. The most promising advantage of satellite is broadcasting. If satellites are used for point to point communication then they are expensive as compared to wired media. A Brief History of Computer Networking and the Internet 1961-1972: Development and Demonstration of Early Packet Switching Principles
The field of computer networking and today 's Internet trace their beginnings back to the early 1960s, a time at which the telephone network was the world 's dominant communication network. Recall from section 1.3, that the telephone network uses circuit switching to transmit information from a sender to receiver -- an appropriate choice given that voice is transmitted at a constant rate between sender and receiver. Given the increasing importance (and great expense) of computers in the early 1960 's and the advent of timeshared computers, it was perhaps natural (at least with perfect hindsight!) to consider the question of how to hook computers together so that they could be shared among geographically distributed users. The traffic generated by such users was likely to be "bursty" -- intervals of activity, e.g., the sending of a command to a remote computer, followed by periods of inactivity, while waiting for a reply or while contemplating the received response.
Three research groups around the world, all unaware of the others ' work, began inventing the notion of packet switching as an efficient and robust alternative to circuit switching. The first published work on packet-switching techniques was the work by Leonard Kleinrock, at that time a graduate student at MIT. Using queuing theory, Kleinrock 's work elegantly demonstrated the effectiveness of the packet-switching approach for bursty traffic sources. At the same time, Paul Baran at the Rand Institute had begun investigating the use of packet switching for secure voice over military networks, while at the National Physical Laboratory in England, Donald Davies and Roger Scantlebury were also developing their ideas on packet switching.The work at MIT, Rand, and NPL laid the foundations for today 's Internet. But the Internet also has a long history of a "Let 's build it and demonstrate it" attitude that also dates back to the early 1960 's. J.C.R. Licklider and Lawrence Roberts, both colleagues of Kleinrock 's at MIT, both went on to lead the computer science program at the Advanced Projects Research Agency (ARPA) in the United States. Roberts [Roberts 67] published an overall plan for the so-called ARPAnet, the first packet-switched computer network and a direct ancestor of today 's public Internet. The early packet switches were known as Interface Message Processors (IMP 's) and the contract to build these switches was awarded to BBN. On Labor Day in 1969, the first IMP was installed at UCLA, with three additional IMP being installed shortly thereafter at the Stanford Research Institute, UC Santa Barbara, and the University of Utah. The fledgling precursor to the Internet was four nodes large by the end of 1969. Kleinrock recalls the very first use of the network to perform a remote login from UCLA to SRI crashing the system .By 1972, ARPAnet had grown to approximately 15 nodes, and was given its first public demonstration by Robert Kahn at the 1972 International Conference on Computer Communications. The first host-to-host protocol between ARPAnet end systems known as the Network Control Protocol (NCP) was completed. With an end-to-end protocol available, applications could now be written. The first e-mail program was written by Ray Tomlinson at BBN in 1972.
1972 - 1980: Internetworking, and New and Proprietary Networks
The initial ARPAnet was a single, closed network. In order to communicate with an ARPAnet host, one had to actually be attached to another ARPAnet IMP. In the early to mid 1970 's, additional packet-switching networks besides ARPAnet came into being; ALOHAnet, a satellite network linking together universities on the Hawaiian islands; Telenet, a BBN commercial packet-switching network based on ARPAnet technology; Tymnet; and Transpac, a French packet-switching network. The number of networks was beginning to grow. In 1973, Robert Metcalfe 's PhD thesis laid out the principle of Ethernet, which would later lead to a huge growth in so-called Local Area Networks (LANs) that operated over a small distance based on the Ethernet protocol.
Once again, with perfect hindsight one might now see that the time was ripe for developing an encompassing architecture for connecting networks together. Pioneering work on interconnecting networks (once again under the sponsorship of DARPA), in essence creating a network of networks, was done by Vinton Cerf and Robert Kahn the term "internetting" was coined to describe this work. The architectural principles that Kahn ' articulated for creating a so-called "open network architecture" are the foundation on which today 's Internet is built: minimalism, autonomy: a network should be able to operate on its own, with no internal changes required for it to be internetworked with other networks; best effort service: internetworked networks would provide best effort, end-to-end service. If reliable communication was required, this could accomplished by retransmitting lost messages from the sending host; stateless routers: the routers in the internetworked networks would not maintain any per-flow state about any ongoing connection decentralized control: there would be no global control over the internetworked networks.
These principles continue to serve as the architectural foundation for today 's Internet, even 25 years later - a testament to insight of the early Internet designers.
These architectural principles were embodied in the TCP protocol. The early versions of TCP, however, were quite different from today 's TCP. The early versions of TCP combined a reliable in-sequence delivery of data via end system retransmission (still part of today 's TCP) with forwarding functions (which today are performed by IP). Early experimentation with TCP, combined with the recognition of the importance of an unreliable, non-flow-controlled end-end transport service for application such as packetized voice, led to the separation of IP out of TCP and the development of the UDP protocol. The three key Internet protocols that we see today -- TCP, UDP and IP -- were conceptually in place by the end of the 1970 's.
In addition to the DARPA Internet-related research, many other important networking activities were underway. In Hawaii, Norman Abramson was developing ALOHAnet, a packet-based radio network that allowed multiple remote sites on the Hawaiian islands to communicate with each other. The ALOHA protocol was the first so-called multiple access protocol, allowing geographically distributed users to share a single broadcast communication medium (a radio frequency). Abramson 's work on multiple access protocols was built upon by Robert Metcalfe in the development of the Ethernet protocol for wire-based shared broadcast networks. Interestingly, Metcalfe 's Ethernet protocol was motivated by the need to connect multiple PCs, printers, and shared disks together. Twenty-five years ago, well before the PC revolution and the explosion of networks, Metcalfe and his colleagues were laying the foundation for today 's PC LANs. Ethernet technology represented an important step for internetworking as well. Each Ethernet local area network was itself a network, and as the number of LANs proliferated, the need to internetwork these LANs together became all the more important. An excellent source for information on Ethernet is, which includes Metcalfe 's drawing of his Ethernet concept, as shown below in Figure.
A 1976 drawing by R. Metcalfe of the Ethernet concept
In addition to the DARPA internetworking efforts and the Aloha/Ethernet multiple access networks, a number of companies were developing their own proprietary network architectures. Digital Equipment Corporation (Digital) released the first version of the DECnet in 1975, allowing two PDP-11 minicomputers to communicate with each other. DECnet has continued to evolve since then, with significant portions of the OSI protocol suite being based on ideas pioneered in DECnet. Other important players during the 1970 's were Xerox (with the XNS architecture) and IBM (with the SNA architecture). Each of these early networking efforts would contribute to the knowledge base that would drive networking in the 80 's and 90 's.
It is also worth noting here that in the 1980 's (and even before), researchers were also developing a "competitor" technology to the Internet architecture. These efforts have contributed to the development of the ATM (Asynchronous Transfer Mode) architecture, a connection-oriented approach based on the use of fixed size packets, known as cells. We will examine portions of the ATM architecture throughout this book.
1980 - 1990: A Proliferation of Networks By the end of the 1970 's approximately 200 hosts were connected to the ARPAnet. By the end of the 1980 's the number of host connected to the public Internet, a confederation of networks looking much like today 's Internet would reach 100,000. The 1980 's would be a time of tremendous growth.
Much of the growth in the early 1980 's resulted from several distinct efforts to create computer networks linking universities together. BITnet (Because It 's There NETwork) provided email and file transfers among several universities in the Northeast. CSNET (Computer Science NETwork) was formed to link together university researchers without access to ARPAnet. In 1986, NSFNET was created to provide access to NSF-sponsored supercomputing centers. Starting with an initial backbone speed of 56Kbps, NSFNET 's backbone would be running at 1.5 Mbps by the end of the decade, and would be serving as a primary backbone linking together regional networks.
In the ARPAnet community, many of the final pieces of today 's Internet architecture were falling into place. January 1, 1983 saw the official deployment of TCP/IP as the new standard host protocol for Arpanet (replacing the NCP protocol). The transition from NCP to TCP/IP was a "flag day" type event -- all host were required to transfer over to TCP/IP as of that day. In the late 1980 's, important extensions were made to TCP to implement host-based congestion control. The Domain Name System, used to map between a human-readable Internet name (e.g., gaia.cs.umass.edu) and its 32-bit IP address, was also developed.
Paralleling this development of the ARPAnet (which was for the most part a US effort), in the early 1980s the French launched the Minitel project, an ambitious plan to bring data networking into everyone 's home. Sponsored by the French government, the Minitel system consisted of a public packet-switched network (based on the X.25 protocol suite, which uses virtual circuits), Minitel servers, and inexpensive terminals with built-in low speed modems. The Minitel became a huge success in 1984 when the French government gave away a free Minitel terminal to each French household that wanted one. Minitel sites included free sites -- such as a telephone directory site -- as well as private sites, which collected a usage-based fee from each user. At its peak in the mid 1990s, it offered more than 20,000 different services, ranging from home banking to specialized research databases. It was used by over 20% of France 's population, generated more than $1 billion each year, and created 10,000 jobs. The Minitel was in a large fraction of French homes ten years before most Americans had ever heard of the Internet. It still enjoys widespread use in France, but is increasingly facing stiff competition from the Internet.
The 1990s: Commercialization and the Web
The 1990 's were issued in with two events that symbolized the continued evolution and the soon-to-arrive commercialization of the Internet. First, ARPAnet, the progenitor of the Internet ceased to exist. MILNET and the Defense Data Network had grown in the 1980 's to carry most of the US Department of Defense related traffic and NSFNET had begun to serve as a backbone network connecting regional networks in the United States and national networks overseas. Also, in 1990, The World became the first public dialup Internet Service Provider (ISP). In 1991, NSFNET lifted its restrictions on use of NSFNET for commercial purposes. NSFNET itself would be decommissioned in 1995, with Internet backbone traffic being carried by commercial Internet Service Providers.
The main event of the 1990 's however, was to be the release of the World Wide Web, which brought the Internet into the homes and businesses of millions and millions of people, worldwide. The Web also served as a platform for enabling and deploying hundreds of new applications, including on-line stock trading and banking, streamed multimedia services, and information retrieval services. For a brief history of the early days of the WWW
The WWW was invented at CERN by Tim Berners-Lee in 1989-1991, based on ideas originating in earlier work on hypertext from the 1940 's by Bush and since the 1960 's by Ted Nelson. Berners-Lee and his associates developed initial versions of HTML, HTTP, a Web server and a browser -- the four key components of the WWW. The original CERN browsers only provided a line-mode interface. Around the end of 1992 there were about 200 Web servers in operation, this collection of servers being the tip of the iceberg for what was about to come. At about this time several researchers were developing Web browsers with GUI interfaces, including Marc Andreesen, who developed the popular GUI browser Mosaic for X. He released an alpha version of his browser in 1993, and in 1994 formed Mosaic Communications, which later became Netscape Communications Corporation. By 1995 university students were using Mosaic and Netscape browsers to surf the Web on a daily basis. At about this time the US government began to transfer the control of the Internet backbone to private carriers. Companies -- big and small -- began to operate Web servers and transact commerce over the Web. In 1996 Microsoft got into the Web business in a big way, and in the late 1990s it was sued for making its browser a central component of its operating system. In 1999 there were over two-million Web servers in operation. And all of this happened in less than ten years!
During the 1990 's, networking research and development also made significant advances in the areas of high-speed routers and routing and local area networks. The technical community struggled with the problems of defining and implementing an Internet service model for traffic requiring real-time constraints, such as continuous media applications. The need to secure and manage Internet infrastructure also became of paramount importance as e-commerce applications proliferated and the Internet became a central component of the world 's telecommunications infrastructure.
Unit II
Application Layer
File Transfer Protocol (FTP)
File Transfer Protocol (FTP) is a standard Internet protocol for transmitting files between computers on the Internet. Like the Hypertext Transfer Protocol (HTTP), which transfers displayable Web pages and related files, and the Simple Mail Transfer Protocol (SMTP), which transfers e-mail, FTP is an application protocol that uses the Internet 's TCP/IP protocols. FTP is commonly used to transfer Web page files from their creator to the computer that acts as their server for everyone on the Internet. It 's also commonly used to download programs and other files to your computer from other servers.
As a user, you can use FTP with a simple command line interface (for example, from the Windows MS-DOS Prompt window) or with a commercial program that offers a graphical user interface. Your Web browser can also make FTP requests to download programs you select from a Web page. Using FTP, you can also update (delete, rename, move, and copy) files at a server. You need to logon to an FTP server. However, publicly available files are easily accessed using anonymous FTP.
Basic FTP support is usually provided as part of a suite of programs that come with TCP/IP. However, any FTP client program with a graphical user interface usually must be downloaded from the company that makes it.
ELECTRONIC MAIL
Electronic mail, or e-mail, has been around for over two decades.
During the 1990s, it became known to the public at large and grew exponentially to the point where the number of e-mails sent per day now is vastly more than the number of snail mail
Many people also use little ASCII symbols called smileys or emoticons in their e-mail.
The first e-mail systems simply consisted of file transfer protocols, with the convention that the first line of each message (i.e., file) contained the recipient 's address. As time went on, the limitations of this approach became more obvious.
Architecture and Services
They normally consist of two subsystems: the user agents, who allow people to read and send e-mail, and the message transfer agents, which move the messages from the source to the destination. The user agents are local programs that provide a command-based, menu-based, or graphical method for interacting with the e-mail system. The message transfer agents are typically system daemons, that is, processes that run in the background. Their job is to move e-mail through the system.
E-mail systems support five basic functions.
Composition
Transfer
Reporting
Displaying
Disposition
Composition refers to the process of creating messages and answers.
Transfer refers to moving messages from the originator to the recipient. In large part, this requires establishing a connection to the destination or some intermediate machine, outputting the message, and releasing the connection.
Reporting has to do with telling the originator what happened to the message.
Displaying incoming messages is needed so people can read their e-mail.
Disposition is the final step and concerns what the recipient does with the message after receiving it.
Most systems allow users to create mailboxes to store incoming e-mail. Commands are needed to create and destroy mailboxes, inspect the contents of mailboxes, insert and delete messages from mailboxes, and so on.
Figure:. Envelopes and messages. (a) Paper mail. (b) Electronic mail.
The User Agent
A user agent is normally a program (sometimes called a mail reader) that accepts a variety of commands for composing, receiving, and replying to messages, as well as for manipulating mailboxes.
Sending E-mail
To send an e-mail message, a user must provide the message, the destination address, and possibly some other parameters. The message can be produced with a free-standing text editor, a word processing program, or possibly with a specialized text editor built into the user agent. The destination address must be in a format that the user agent can deal with. Many user agents expect addresses of the form user@dns-address.
Reading E-mail
When a user agent is started up, it looks at the user 's mailbox for incoming e-mail before displaying anything on the screen. Then it may announce the number of messages in the mailbox or display a one-line summary of each one and wait for a command.
Message Formats
RFC 822
Messages consist of a primitive envelope (described in RFC 821), some number of header fields, a blank line, and then the message body. Each header field (logically) consists of a single line of ASCII text containing the field name, a colon, and, for most fields, a value.
Figure: RFC 822 header fields related to message transport
MIME—the Multipurpose Internet Mail Extensions
RFC 822 specified the headers but left the content entirely up to the users. Nowadays, on the worldwide Internet, this approach is no longer adequate. The problems include sending and receiving
1. Messages in languages with accents (e.g., French and German).
2. Messages in non-Latin alphabets (e.g., Hebrew and Russian).
3. Messages in languages without alphabets (e.g., Chinese and Japanese).
4. Messages not containing text at all (e.g., audio or images).
A solution was proposed in RFC 1341 called MIME (Multipurpose Internet Mail Extensions)
The basic idea of MIME is to continue to use the RFC 822 format, but to add structure to the message body and define encoding rules for non-ASCII messages. By not deviating from RFC 822, MIME messages can be sent using the existing mail programs and protocols. All that has to be changed are the sending and receiving programs, which users can do for themselves.
Figure: RFC 822 headers added by MIME
Message Transfer
The message transfer system is concerned with relaying messages from the originator to the recipient. The simplest way to do this is to establish a transport connection from the source machine to the destination machine and then just transfer the message.
SMTP—the Simple Mail Transfer Protocol
SMTP is a simple ASCII protocol. After establishing the TCP connection to port 25, the sending machine, operating as the client, waits for the receiving machine, operating as the server, to talk first. The server starts by sending a line of text giving its identity and telling whether it is prepared to receive mail. If it is not, the client releases the connection and tries again later.
Even though the SMTP protocol is completely well defined, a few problems can still arise. One problem relates to message length. Some older implementations cannot handle messages exceeding 64 KB. Another problem relates to timeouts. If the client and server have different timeouts, one of them may give up while the other is still busy, unexpectedly terminating the connection. Finally, in rare situations, infinite mailstorms can be triggered. For example, if host 1 holds mailing list A and host 2 holds mailing list B and each list contains an entry for the other one, then a message sent to either list could generate a never-ending amount of e-mail traffic unless somebody checks for it.
Final Delivery
With the advent of people who access the Internet by calling their ISP over a modem, it breaks down.
One solution is to have a message transfer agent on an ISP machine accept e-mail for its customers and store it in their mailboxes on an ISP machine. Since this agent can be on-line all the time, e-mail can be sent to it 24 hours a day.
POP3
Figure:
(a) Sending and reading mail when the receiver has a permanent Internet connection and the user agent runs on the same machine as the message transfer agent. (b) Reading e-mail when the receiver has a dial-up connection to an ISP
POP3 begins when the user starts the mail reader. The mail reader calls up the ISP (unless there is already a connection) and establishes a TCP connection with the message transfer agent at port 110. Once the connection has been established, the POP3 protocol goes through three states in sequence:
1. Authorization.
2. Transactions.
3. Update.
The authorization state deals with having the user log in.
The transaction state deals with the user collecting the e-mails and marking them for deletion from the mailbox.
The update state actually causes the e-mails to be deleted.
IMAP
POP3 normally downloads all stored messages at each contact, the result is that the user 's e-mail quickly gets spread over multiple machines, more or less at random, some of them not even the user 's.
This disadvantage gave rise to an alternative final delivery protocol, IMAP (Internet Message Access Protocol).
IMAP assumes that all the e-mail will remain on the server indefinitely in multiple mailboxes. IMAP provides extensive mechanisms for reading messages or even parts of messages, a feature useful when using a slow modem to read the text part of a multipart message with large audio and video attachments.
DOMAIN NAME SYSTEM
Although programs theoretically could refer to hosts, mailboxes, and other resources by their network (e.g., IP) addresses, these addresses are hard for people to remember. when thousands of minicomputers and PCs were connected to the net, everyone realized that this approach could not continue to work forever. the size of the file would become too large. Host name conflicts would occur constantly unless names were centrally managed.
To solve these problems, DNS (the Domain Name System) was invented.
The DNS Name Space
The Internet is divided into over 200 top-level domains, where each domain covers many hosts. Each domain is partitioned into sub domains, and these are further partitioned, and so on. All these domains can be represented by a tree.
The top-level domains come in two flavors: generic and countries. The original generic domains were com (commercial), edu (educational institutions), gov (the U.S. Federal Government), int (certain international organizations), mil (the U.S. armed forces), net (network providers), and org (nonprofit organizations).
Domain names can be either absolute or relative. An absolute domain name always ends with a period (e.g., eng.sun.com.), whereas a relative one does not. Relative names have to be interpreted in some context to uniquely determine their true meaning. In both cases, a named domain refers to a specific node in the tree and all the nodes under it.
Domain names are case insensitive.
To create a new domain, permission is required of the domain in which it will be included.
Naming follows organizational boundaries, not physical networks.
Resource Records
Every domain, whether it is a single host or a top-level domain, can have a set of resource records associated with it. For a single host, the most common resource record is just its IP address, but many other kinds of resource records also exist. When a resolver gives a domain name to DNS, what it gets back are the resource records associated with that name. Thus, the primary function of DNS is to map domain names onto resource records.
A resource record is a five-tuple. Although they are encoded in binary for efficiency, in most expositions, resource records are presented as ASCII text, one line per resource record. The format we will use is as follows:
Domain_name Time_to_live Class Type Value
Name Servers
A single name server could contain the entire DNS database and respond to all queries about it. In practice, this server would be so overloaded as to be useless. Furthermore, if it ever went down, the entire Internet would be crippled.
To avoid the problems associated with having only a single source of information, the DNS name space is divided into nonoverlapping zones.
When a resolver has a query about a domain name, it passes the query to one of the local name servers. If the domain being sought falls under the jurisdiction of the name server, such as ai.cs.yale.edu falling under cs.yale.edu, it returns the authoritative resource records. An authoritative record is one that comes from the authority that manages the record and is thus always correct. Authoritative records are in contrast to cached records, which may be out of date.
Fig: How a resolver looks up a remote name in eight steps
While DNS is extremely important to the correct functioning of the Internet, all it really does is map symbolic names for machines onto their IP addresses. It does not help locate people, resources, services, or objects in general.
WORLD WIDE WEB
The World Wide Web is an architectural framework for accessing linked documents spread out over millions of machines all over the Internet. The initial proposal for a web of linked documents came from CERN physicist Tim Berners-Lee in 1989.
Architectural Overview
From the users ' point of view, the Web consists of a vast, worldwide collection of documents or Web pages. Each page may contain links to other pages anywhere in the world. Users can follow a link by clicking on it, which then takes them to the page pointed to. This process can be repeated indefinitely.
Pages are viewed with a program called a browser, of which Internet Explorer and Netscape Navigator are two popular ones. The browser fetches the page requested, interprets the text and formatting commands on it, and displays the page, properly formatted, on the screen.
Strings of text that are links to other pages, called hyperlinks, are often highlighted, by underlining, displaying them in a special color, or both.
The parts of the Web model
Here the browser is displaying a Web page on the client machine. When the user clicks on a line of text that is linked to a page on the abcd.com server, the browser follows the hyperlink by sending a message to the abcd.com server asking it for the page. When the page arrives, it is displayed. If this page contains a hyperlink to a page on the xyz.com server that is clicked on, the browser then sends a request to that machine for the page.
Client Side
When an item is selected, the browser follows the hyperlink and fetches the page selected. Therefore, the embedded hyperlink needs a way to name any other page on the Web. Pages are named using URLs (Uniform Resource Locators).
The steps that occur at the client side are:
The browser determines the URL
The browser asks DNS for the IP address
DNS replies with the IP address
The browser makes a TCP connection to port 80 on the IP address
It sends a request asking for file
The site server sends the file
The TCP connection is released.
The browser fetches and displays all the text and images in the file.
Web pages are written in standard HTML language to make it understandable by all browsers.
There are two possibilities: plug-ins and helper applications. A plug-in is a code module that the browser fetches from a special directory on the disk and installs as an extension to itself.
The other way to extend a browser is to use a helper application. This is a complete program, running as a separate process.
(a) A browser plug-in. (b) A helper application.
Server Side
The steps to be followed by the server side are:
1. Accept a TCP connection from a client (a browser).
2. Get the name of the file requested.
3. Get the file (from disk).
4. Return the file to the client.
5. Release the TCP connection.
PROCESSING OF REQUEST
The processing of request on the web is as follows:
1. Resolve the name of the Web page requested.
2. Authenticate the client.
3. Perform access control on the client.
4. Perform access control on the Web page.
5. Check the cache.
6. Fetch the requested page from disk.
7. Determine the MIME type to include in the response.
8. Take care of miscellaneous odds and ends.
9. Return the reply to the client.
10. Make an entry in the server log.
(a) Normal request-reply message sequence. (b) Sequence when TCP handoff is used
Sometimes a trick, called TCP handoff, is used to get around this problem. With this trick, the TCP end point is passed to the processing node so it can reply directly to the client.
Uniform Resource Locators
A unique name for all pages should be assigned to avoid ambiguity in identifying pages. Each page on the web is assigned a URL that efficiently serves as the page’s worldwide name. URLs have three parts- the protocol(scheme) , the DNS name of the machine on which the page is located and a local name uniquely indicating a specific page.
Static Web Documents
Web pages are currently written in a language called HTML (HyperText Markup Language). HTML allows users to produce Web pages that include text, graphics, and pointers to other Web pages.
When web pages are designed in HTML they are designed to be functionally static all the processing is done on a single line as process request, acknowledgement and display.
Dynamic Web Documents
Dynamic web documents are created at both client and server sides.
Server-Side Generation
The server side generation involves the following steps:
User fills in form.
Form sent back
Handed to CGI
CGI queries database.
Record found
CGI builds page
Page returned
Page displayed
Client-Side Generation
CGI, PHP, JSP, and ASP scripts solve the problem of handling forms and interactions with databases on the server. They can all accept incoming information from forms, look up information in one or more databases, and generate HTML pages with the results.
Usually the server side scripting is done with PHP and client side scripting is javascript. Complete web pages can be generated on the fly by various scripts on the server machine. Once they are received by the browser, they are treated as normal HTML pages and displayed.
Dynamic content generation is also possible on the client side. Web pages can be written in XML and then converted to HTML according to XSL file. Javascript programs can perform arbitrary computations.
Finally plugins and helper applications can be used to display content in a variety of formats.
HTML—The HyperText Markup Language
Web pages are currently written in a language called HTML (HyperText Markup Language). HTML allows users to produce Web pages that include text, graphics, and pointers to other Web pages. HTML is a markup language, a language for describing how documents are to be formatted. The term ' 'markup ' ' comes from the old days when copyeditors actually marked up documents to tell the printer—in those days, a human being—which fonts to use, and so on. Markup languages thus contain explicit commands for formatting. For example, in HTML, means start boldface mode, and means leave boldface mode. The advantage of a markup language over one with no explicit markup is that writing a browser for it is straightforward: the browser simply has to understand the markup commands. TeX and troff are other well-known examples of markup languages.
By embedding all the markup commands within each HTML file and standardizing them, it becomes possible for any Web browser to read and reformat any Web page. Being able to reformat Web pages after receiving them is crucial because a page may have been produced in a 1600 x 1200 window with 24-bit color but may have to be displayed in a 640 x 320 window configured for 8-bit color.
HTTP—The HyperText Transfer Protocol
The transfer protocol used throughout the World Wide Web is HTTP (HyperText Transfer Protocol). It specifies what messages clients may send to servers and what responses they get back in return. Each interaction consists of one ASCII request, followed by one RFC 822 MIME-like response. All clients and all servers must obey this protocol. It is defined in RFC 2616.
MULTIMEDIA
Multimedia is just two or more media.
When people refer to multimedia, they generally mean the combination of two or more continuous media, that is, media that have to be played during some well-defined time interval, usually with some user interaction. In practice, the two media are normally audio and video, that is, sound plus moving pictures.
Introduction to Digital Audio
An audio (sound) wave is a one-dimensional acoustic (pressure) wave. The frequency range of the human ear runs from 20 Hz to 20,000 Hz.
Audio Compression
CD-quality audio requires a transmission bandwidth of 1.411 Mbps. compressions is needed to make transmission over the Internet practical. The most popular one is MPEG audio, which has three layers (variants), of which MP3 (MPEG audio layer 3) is the most powerful and best known.
Audio compression can be done in one of two ways. In waveform coding the signal is transformed mathematically by a Fourier transform into its frequency components. The amplitude of each component is then encoded in a minimal way. The goal is to reproduce the waveform accurately at the other end in as few bits as possible.
The other way, perceptual coding, exploits certain flaws in the human auditory system to encode a signal in such a way that it sounds the same to a human listener, even if it looks quite different on an oscilloscope. Perceptual coding is based on the science of psychoacoustics—how people perceive sound. MP3 is based on perceptual coding.
The key property of perceptual coding is that some sounds can mask other sounds.
For transmission purposes, it is now sufficient to encode just the frequency band used by the jackhammers because the listeners cannot hear the flute anyway. This is called frequency masking—the ability of a loud sound in one frequency band to hide a softer sound in another frequency band that would have been audible in the absence of the loud sound. In fact, even after the jackhammers stop, the flute will be inaudible for a short period of time because the ear turns down its gain when they start and it takes a finite time to turn it up again. This effect is called temporal masking.
The audio compression is done by sampling the waveform at 32 kHz, 44.1 kHz, or 48 kHz. Sampling can be done on one or two channels, in any of four configurations:
1. Monophonic (a single input stream).
2. Dual monophonic (e.g., an English and a Japanese soundtrack).
3. Disjoint stereo (each channel compressed separately).
4. Joint stereo (interchannel redundancy fully exploited).
First, the output bit rate is chosen.
Then the samples are processed in groups of 1152 (about 26 msec worth).
In the next phase the available bit budget is divided among the bands, with more bits allocated to the bands with the most unmasked spectral power, fewer bits allocated to unmasked bands with less spectral power, and no bits allocated to masked bands. Finally, the bits are encoded using Huffman encoding, which assigns short codes to numbers that appear frequently and long codes to those that occur infrequently.
Streaming Audio
Listening to sound over the Internet. This is also called music on demand.
Figure: A straightforward way to implement clickable music on a Web page
The process starts when the user clicks on a song. Then the browser goes into action.
Step 1 is for it to establish a TCP connection to the Web server to which the song is hyperlinked.
Step 2 is to send over a GET request in HTTP to request the song.
Next (steps 3 and 4), the server fetches the song (which is just a file in MP3 or some other format) from the disk and sends it back to the browser. If the file is larger than the server 's memory, it may fetch and send the music a block at a time.
The only trouble is that the entire song must be transmitted over the network before the music starts.The file linked to the song title is not the actual music file. Instead, it is what is called a metafile, a very short file just naming the music.
The server named in the metafile is not the same as the Web server. In fact, it is generally not even an HTTP server, but a specialized media server.
The media server uses RTSP (Real Time Streaming Protocol)
The media player has four major jobs to do:
1. Manage the user interface.
2. Handle transmission errors.
3. Decompress the music.
4. Eliminate jitter.
Figure: The media player buffers input from the media server and plays from the buffer rather than directly from the network
Two approaches can be used to keep the buffer filled. With a pull server,as long as there is room in the buffer for another block, the media player just keeps sending requests for an additional block to the server. Its goal is to keep the buffer as full as possible.
The disadvantage of a pull server is all the unnecessary data requests.
With a push server, the media player sends a PLAY request and the server just keeps pushing data at it. There are two possibilities here: the media server runs at normal playback speed or it runs faster. In both cases, some data is buffered before playback begins. If the server runs at normal playback speed, data arriving from it are appended to the end of the buffer and the player removes data from the front of the buffer for playing. As long as everything works perfectly, the amount of data in the buffer remains constant in time. This scheme is simple because no control messages are required in either direction.
Fig: RTSP commands from the player to the server
Internet Radio
There are two general approaches to Internet radio. In the first one, the programs are prerecorded and stored on disk. Listeners can connect to the radio station 's archives and pull up any program and download it for listening.
The other approach is to broadcast live over the Internet. Some stations broadcast over the air and over the Internet simultaneously, but there are increasingly many radio stations that are Internet only.
What actually happens is that the user establishes a TCP connection to the station and the feed is sent over the TCP connection. Of course, this creates various problems, such as the flow stopping when the window is full, lost packets timing out and being retransmitted, and so on.
A typical Internet radio station has a Web page listing its schedule, information about its DJs and announcers, and many ads. There are also one or more icons listing the audio formats it supports
Fig: A student radio station
Voice over IP
Many packet-switching network operators suddenly became interested in carrying voice over their data networks.
The average person 's phone bill is probably larger than his Internet bill, so the data network operators saw Internet telephony as a way to earn a large amount of additional money without having to put any new fiber in the ground. Thus Internet telephony (also known as voice over IP)
H.323
H.323 entitled ' 'Visual Telephone Systems and Equipment for Local Area Networks Which Provide a Non-Guaranteed Quality of Service. ' '
H.323 is more of an architectural overview of Internet telephony than a specific protocol. It references a large number of specific protocols for speech coding, call setup, signaling, data transport, and other areas rather than specifying these things itself.
The H.323 architectural model for Internet telephony
The H.323 protocol stack
The PC now establishes a TCP connection to the gatekeeper to begin call setup. Call setup uses existing telephone network protocols, which are connection oriented, so TCP is needed.
Once the connection has been established, the gatekeeper is no longer in the loop.
Logical channels between the caller and callee during a call
RTP --- Realtime Transport Protocol
TCP/UDP are not suitable for applications with realtime character. The realtime transport protocol (RTP) is a thin protocol providing support for applications with real-time properties, including timing reconstruction, loss detection, security and content identification. RTP can be used without RTCP if desired. RTP can transport independently so that it could be used over CLNP(Connectionless Network Protocol), IPX (Internetwork Packet Exchange) or other protocols. RTP is currently also in experimental use directly over AAL5/ATM.
Development
After some initial experiments, which go back to the early 70 's, research in the field of audio (ARPA network) in 1991 formed the groundwork for RTP based MBone transmissions. Another important influence was Sun Microsystems introduction of the SPARCstation incorporating built-in audio codecs. In early versions of LBL 's Audio Conference Tool vat a protocol was used which has been referred to later on as RTP version 0.
In December 1992 Henning Schulzrinne, GMD Berlin, published RTP version 1, which went through several states of Internet drafts. It finally got approved on Nov 22, 1995 by the IESG as an proposed standard. At this time several not backward-compatible changes had been made resulting in RTP version 2. It has been published as
• RFC 1889, RTP: A Transport Potocol for Real-Time Applications
• RFC 1890, RTP Profile for Audio and Vieo Conferences with Minimal Control
On January 31, 1996, Netscape announced "Netscape LiveMedia" based on RTP, RFC 1889 and other standards.
Microsoft claims that their NetMeeting Conferencing Software supports RTP.
The latest extensions have been made by an industry alliance around Netscape Inc., who uses
RTP as the basis of their Real Time Streaming Protocol RTSP
How does RTP work
There are two transport layer protocols in the Internet protocol suite, TCP and UDP. TCP provides a reliable flow between two host. It is connection-oriented and thus can 't be used for multicast. UDP provides a connectionless unreliable datagram service. To use UDP as a transport protocol for real-time traffic, some functionality has to be added. Functionality that is needed for many real-time applications is combined into RTP, the real-time transport protocol. RTP is standardized in RFC 1889. Applications typically run RTP on top of UDP as part of the transport layer protocol,
In practice, RTP is usually implemented within the application. RTP is designed to be independent from the underlying transport protocol and can be used over unicast as well as multicast. To set up an RTP session, the application defines a particular pair of destination transport addresses (one network address plus a pair of ports for RTP and RTCP). In a multimedia session, each medium is carried in a separate RTP session, with its own RTCP packets reporting the reception quality for that session. For example, audio and video would travel on separate RTP sessions, enabling a recipient to select whether or not to receive a particular medium. An audio-conferencing scenario presented in RFC 1889 illustrates the use of RTP. Suppose each participant sends audio data in segments of 20 ms duration. Each segment of audio data is preceded by an RTP header, and then the resulting RTP message is placed in a UDP packet. The RTP header indicates the type of audio encoding that is used, e.g., PCM. Users can opt to change the encoding during a conference in reaction to network congestion or, for example, to accommodate low-bandwidth requirements of a new conference participant. Timing information and a sequence number in the RTP header are used by the receivers to reconstruct the timing produced by the source, so that in this example, audio segments are contiguously played out at the receiver every 20 ms.
RTP fixed header fields
The RTP header has the following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X| CC |M| PT | sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| synchronization source (SSRC) identifier |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| contributing source (CSRC) identifiers |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: RTP Packet Header
The first twelve octets are present in every RTP packet, while the list of CSRC (contributing source) identifiers is present only when inserted by a mixer.The fields have the following meaning: version (V): 2 bits. Version of RTP. The newest version is 2. padding (P): 1 bit. If set, the packet contains one or more additional padding octets at the end which are not part of the payload. The last octet of the padding contains a count of how many padding octets should be ignored. extension (X): 1 bit. If set, the fixed header is followed by exactly one header extension.
CSRC count (CC): 4 bits. The number of CSRC identifiers that follow the fixed header. This number is more than one if the payload of the RTP packet contains data from several sources. marker (M): 1 bit. Defined by a profile, the marker is intended to allow significant events such as frame boundaries to be marked in the packet stream. payload type (PT): 7 bits. Identifies the format of the RTP payload and determines its interpretation by the application. sequence number: 16 bits. Increments by one for each RTP data packet sent, may be used by the receiver to detect packet loss and to restore packet sequence. The initial value is randomly set. timestamp: 32 bits. The sampling instant of the first octet in the RTP data packet. May be used for synchronization and jitter calculations. The initial value is randomly set.
SSRC: 32 bits. Randomly chosen number to distinguish synchronization sources within the same RTP session. It indicates where the data was combined, or the source of the data if there is only one source.
CSRC list: 0 to 15 items, 32 bits each. Contributing sources for the payload contained in this packet. The number of identifiers is given by the CC field.
RTP features
• RTP provides end-to-end delivery services for data with real-time characteristics, such as interactive audio and video.
• Applications typically run RTP on top of UDP to make use of its multiplexing and checksum services. But efforts have been made to make RTP transport-independent so that it could be used on other protocols.
• RTP itself does not provide any mechanism to ensure timely delivery or provide other quality of service guarantees, but relies on lower-layer services to do so. RTP assumes that the underlying network is reliable and delivers packets in sequence.
• RTP is a protocol framework that is deliberately not complete. A complete specification of RTP for a particular application requires a profile specification or/and a payload format specification.
• RTP doesn 't assume anything about the underlying network, except that it provides framing. Its original design target was the Internet, but it is intended to be protocol independent.
For example, test runs of RTP transmissions over ATM AAL5 and IPv6 are in progress.
• Field PT (payload type) of the RTP header identifies within seven bits the media type and encoding/compression format of the payload. At any given time an RTP sender is supposed to send only a single type of payload, although during transmission change of payload types may occur (e.g. in reaction to bad receiving rate feedback from the receiver via RTCP packets).
• RTP provides functionality suited for carrying real-time content, e.g. a timestamp and control mechanisms for synchronizing different streams with timing properties. Because RTP/RTPC is responsible for controlling the flow of one media stream it will not automatically synchronize various streams. This has to happen at application level.
• The basis for flow and congestion control is provided by RTCP sender and receiver reports. We distinguish transient congestion and persistent congestion. By analyzing the inter arrival jitter field of the sender report (below), we can measure the jitter over a certain interval and indicate congestion before it becomes persistent, hence resulting in packet loss.
RTCP---Real-Time Control Protocol
RTCP is the control protocol that works in conjunction with RTP. It provides support for realtime conferencing for large groups within an internet, including source identification and support for gateways and multicast-to-unicast translators. It is standardized in RFC 1889 and RFC 1890. RTCP performs the following four functions.
1. Provide information to application: The primary function is to provide information to an application regarding the quality of data distribution. Experiments with IP multicasting have established the importance of user feedback from RTCP to diagnose distribution faults. Each RTCP packet contains sender and/or receiver reports that report statistics useful to the application. These statistics include number of packets sent, number of packets lost, interarrival jitter, etc. This reception quality feedback will be useful for the sender, receivers, and third-party monitors. For example, the sender may modify its transmissions based on the feedback; receivers can determine whether problems are local, regional or global; network managers may use information in the RTCP packets to evaluate the performance of their networks for multicast distribution
• Identify RTP source:
RTCP carries a transport-level identifier for an RTP source, called the canonical name (CNAME). This CNAME is used to keep track of the participants in an RTP session. Receivers use the CNAME to associate multiple data streams from a given participant in a set of related RTP sessions, e.g., to synchronize audio and video.
• Control RTCP transmission interval:
To prevent control traffic from overwhelming network resources and to allow RTP to scale up to a large number of session participants, control traffic is limited to at most 5 percent of the overall session traffic. This limit is enforced by adjusting the rate at which RTCP packets are transmitted as a function of the number of participants. Since each participant sends control packets to everyone else, each can keep track of the total number of participants and use this number to calculate the rate at which to send RTCP packets.
• Convey minimal session control information:
As an optional function, RTCP can be used as a convenient method for conveying a minimal amount of information to all session participants. For example, RTCP might carry a personal name to identify a participant on the user 's display. This function might be useful in loosely controlled sessions where participants informally enter and leave the session. RTCP control packets are periodically transmitted by each participant in an RTP session to all other participants. Feedback of information to the application can be used to control performance and for diagnostic purposes.
RTSP---Real-Time Streaming Protocol
The application-level Real Time Streaming Protocol, RTSP, aims to provide an extensible framework to enable controlled delivery of real-time data, such as audio and video. Sources of data can include both live data feeds, such live audio and video, and stored content, such as prerecorded events. It is designed to work with established protocols such as RTP, HTTP, and others to provide a complete solution for streaming media over the Internet. It supports multicast as well as unicast. It also supports interoperability between clients and servers from different vendors.
Development
TSP has been submitted for consideration as an Internet standard to the Internet Engineering Task Force as a proposed standard protocol for Internet multimedia streaming in one-to-many applications. Through this process, RTSP will allow interoperability between client-server multimedia products from multiple vendors. Allowing client and server software from multiple vendors to interoperate will give users more flexibility and choice. Although its draft specification is in the very early stages of submission to the IETF, products using RTSP are available today (even though RTSP is likely to undergo significant change as it goes through the IETF process).
What is streaming
"Streaming" breaks data into many packets sized appropriately for the bandwidth available between the client and server. When the client has received enough packets, the user software can be playing one packet, decompressing another and receiving a third. The user can begin listening almost immediately without having to download the entire media file. Sources of data for streaming can include both live data feeds and stored clips.
RTSP features
RTSP provides the following specific benefits to Internet content providers and users:
• Bidirectionality enabling full stream control
• High reliability over current net infrastructure
• Low overhead data delivery
• Ready to fully exploit of emerging technologies and protocols (e.g. IP Multicast, RTP etc.)
• Security
• Intellectual property rights protection
• Scalability
• The design is based on field-proven techniques
By being implemented across multiple operating system platforms, on both client and server (Mac, Windows 95/NT, Windows 3.1 for client; Mac Windows NT, UNIX variants on server), RTSP will allow the greatest choice for vendors deploying multimedia applications. RTSP is considered more of a framework than a protocol. It is intended to control multiple data delivery sessions, provide a means for choosing delivery channels such as UDP, TCP, IP Multicast, and delivery mechanisms based on RTP. Control mechanisms such session establishment and licensing issues are being addressed. RTSP is being designed to work on top of RTP to both control and deliver real-time content. Thus RTSP implementations will be able to take advantage of RTP improvements, such as the new standard for RTP header compression. Although RTSP can be used with unicast in the near future, its use may help smooth the transition for environments transiting from unicast to IP multicasting with RTP. RTSP can be used with RSVP to set up and manage reserved-bandwidth streaming sessions.
NETWORK SECURITY
The requirements of information security within an organization have undergone two major changes in the last decades.
The generic name for the collection of tools designed to protect data and to thwart hackers is computer security.
Another important thing is that affected security is the introduction of distributed systems and the use of networks and communication facilities for carrying data between terminal user and computer and between computer and compiler.
Network security measures are needed to protect data during their transmission and to guarantee that data transmissions are authentic.
SECURITY REQUIREMENTS AND ATTACKS
Computer and network security address three requirements.
Secrecy
Integrity
Availability
SECRECY
Requires that the information in a computer system only be accessible for reading by authorized parties. This type of access includes printing, displaying and 0other forms of disclosure, including simply revealing the existence of an object.
INTEGRITY
Requires that computer system can be modified only by authorized parties. Modification includes writing, changing status, deleting and creating.
AVAILABILITY
Requires that computer systems are available to authorized parties.
The types of attacks on the security of a computer system or network can be viewed by the function of the computer system.
In general, there is a flow of information from a source to destination. This is called normal flow.
Information source destination source
The following are the four categories of attack.
They are:
Interruption
Interception
Modification
Fabrication
Interruption
An asset of the system is destroyed or it becomes unavailable or unusable. This is an attack on availability. Examples: destruction of a piece of a hardware such as hard disk, the cutting of a communication line, or the disabling of the file management system.
Interception
An authorized party gains access to an asset. This is an attack on confidentiality. The authorized party could be a person or program or a computer.
E.g.: wiretapping to capture data in a network and the illicit copying of files or programs.
Modification
An authorized party gains access to an asset. This is an attack on confidentiality. This is an attack on integrity.
E.g: changing the values in a data file, altering a program so that it performs differently and modifying the content of messages being transmitted in a network.
Fabrication
An authorized party inserts counterfeit objects into the system. This is an attack on authenticity. Examples include the insertion of spurious messages in a network or the addition of records to a file.
PASSIVE ATTACKS
Passive attacks means the eavesdropping on or monitoring of, transmissions. The goal of the component is to obtain information that is being transmitted. Two types of attacks are involved here.
Release of message contents
Traffic analysis
Release of message contents
In this, a telephone conversation, an e-mail message, a transferred file may contain sensitive or confidential information. This helps to prevent the opponent from learning the content of these transmissions.
Traffic analysis
In this encryption is used for masking the contents which helps to observe the pattern of the messages. The opponent could determine the location and identity of communicating hosts and could observe the frequency and length of messages being exchanged.
Passive attacks are difficult to detect because they do not involve any alteration of data.
ACTIVE ATTACKS
In this, the attacks involve some modification of the data stream or creation of false stream. This is divided into four categories.
They are:
Masquerade
Replay
Modification of messages
Denial of service
Masquerade
A masquerade takes place when one entity pretends to be a different entity. A masquerade attack usually includes one of the other forms of active attacks.
Replay
Replay involves the passive capture of a data unit and its subsequent retransmission to produce an unauthorized effect.
Modification
This means that some portion of a legitimate message is altered or that messages are delayed or reordered to produce an unauthorized effect.
Denial of service
The denial of service prevents or inhibits the normal size or management of communication facilities.
Active attacks present the opposite characteristics of passive attacks.
It is quite difficult to prevent active attacks absolutely and would require physical protections of all communications facilities and paths at all times.
CRYPTOGRAPHY
Cryptography means secret writing.
A cipher is a character-for-character or bit-for-bit transformation, without regard to the linguistic structure of the message.
A code replaces one word with another word or symbol.
The encryption model (for a symmetric-key cipher)
The messages to be encrypted, known as the plaintext, are transformed by a function that is parameterized by a key. The output of the encryption process, known as the ciphertext, is then transmitted, often by messenger or radio.
The art of breaking ciphers, called cryptanalysis, and the art devising them (cryptography) is collectively known as cryptology.
A fundamental rule of cryptography is that one must assume that the cryptanalyst knows the methods used for encryption and decryption. The key consists of a (relatively) short string that selects one of many potential encryptions. In contrast to the general method, which may only be changed every few years, the key can be changed as often as required. Thus, our basic model is a stable and publicly-known general method parameterized by a secret and easily changed key.
Encryption methods have historically been divided into two categories:
Substitution ciphers
Transposition ciphers
Substitution Ciphers
In a substitution cipher each letter or group of letters is replaced by another letter or group of letters to disguise it. One of the oldest known ciphers is the Caesar cipher, attributed to Julius Caesar. In this method, a becomes D, b becomes E, c becomes F, and z becomes C. For example, attack becomes DWWDFN.
Plaintext: a b c d e f g h i j k l m n o p q r s t u v w x y z cipher text: Q W E R T Y U I O P A S D F G H J K L Z X C V B N M
The general system of symbol-for-symbol substitution is called a monoalphabetic substitution, with the key being the 26-letter string corresponding to the full alphabet.
TRANSPOSITION CIPHER: Substitution ciphers preserve the order of the plain text sysmbols but disguise them. Transposition ciphers in contrast reorder the letters but do not disguise them.
The following figure depicts a common transposition cipher, the column transposition.
M E G A B U C K 7 4 5 1 2 8 3 6 p l e a s e t r a n s f o r o n e m i l l i o n d o l l a r s t o m y s w i s s b a n k a c c o u n t s I x t w o t w o a b c d
Plain text: please transfer one million dollars to my swiss bank account six two two
In this example, MEGA BUCK is a key. The purpose of the key is to number the columns, column 1 being under the key letter closed to the start of the alphabet and so on.
ONE TIME PADS:
Constructing an unbreakable cipher is actually quite easy. The technique has been known for decades. First choose a random bit string as the key. Then convert the plaintext into a bit string, Finally compute the XOR of these two strings. The resulting ciphertext cannot be broken, and each letter will occur equally often . this method is known as one time pad. There is simple no information in the message because all possible plaintexts of the given length are equally likely.
QUANTUM CRYPTOGRAHY: Quantum cryptography is based on the fact that lights come in little packets called photons which have peculiar properties. Furthermore, light can be polarized by passing through a polarized filter. If a beam of light is passed through a polarizing filter, all the photons emerging from it will be polarized in the direction of filter‘s axis. The absolute orientation of the two filters does not matter only the angle between their axis counts.
DES—the Data Encryption Standard
This cipher, DES (Data Encryption Standard), was widely adopted by the industry for use in security products. It is no longer secure in its original form, but in a modified form it is still useful. It is a symmetric key algorithm.
Plaintext is encrypted in blocks of 64 bits, yielding 64 bits of ciphertext. The algorithm, which is parameterized by a 56-bit key, has 19 distinct stages.
The algorithm has been designed to allow decryption to be done with the same key as encryption, a property needed in any symmetric-key algorithm.
Fig: The data encryption standard
(a) General outline. (b) Detail of one iteration. The circled + means exclusive OR
The function consists of four steps, carried out in sequence.
First, a 48-bit number, E, is constructed by expanding the 32-bit Ri - 1 according to a fixed transposition and duplication rule.
Second, E and Ki are XORed together. This output is then partitioned into eight groups of 6 bits each, each of which is fed into a different S-box.
Each of the 64 possible inputs to an S-box is mapped onto a 4-bit output. Finally, these 8 x 4 bits are passed through a P-box.
A technique that is sometimes used to make DES stronger is called whitening. It consists of XORing a random 64-bit key with each plaintext block before feeding it into DES and then XORing a second 64-bit key with the resulting ciphertext before transmitting it.
Triple DES
(a) Triple encryption using DES. (b) Decryption
Here two keys and three stages are used.
In the first stage, the plaintext is encrypted using DES in the usual way with K1.
In the second stage, DES is run in decryption mode, using K2 as the key. Finally, another DES encryption is done with K1.
The reason for encrypting, decrypting, and then encrypting again is backward compatibility with existing single-key DES systems. Both the encryption and decryption functions are mappings between sets of 64-bit numbers. From a cryptographic point of view, the two mappings are equally strong.
RSA
The only catch is that we need to find algorithms that indeed satisfy all three requirements. Due to the potential advantages of public-key cryptography, many researchers are hard at work, and some algorithms have already been published. One good method was discovered by a group at M.I.T. (Rivest et al., 1978). It is known by the initials of the three discoverers (Rivest, Shamir, Adleman): RSA. It has survived all attempts to break it for more than a quarter of a century and is considered very strong. Much practical security is based on it. Its major is advantage is that it requires keys of at least 1024 bits for good security (versus 128 bits for symmetric-key algorithms), which makes it quite slow.
The RSA method is based on some principles from number theory. We will now summarize how to use the method; for details, consult the paper.
1. Choose two large primes, p and q (typically 1024 bits).
2. Compute n = p x q and z = (p - 1) x (q - 1).
3. Choose a number relatively prime to z and call it d.
4. Find e such that e x d = 1 mod z.
With these parameters computed in advance, we are ready to begin encryption. Divide the plaintext (regarded as a bit string) into blocks, so that each plaintext message, P, falls in the interval 0