




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Data Structures & Algorithms
Typology: Study notes
1 / 139
This page cannot be seen from the preview
Don't miss anything!
UNIVERSITY OF MYSORE
On 24 October 1995, the Federal Networking Council, a group of representatives from the U.S. government agencies that support the science and technology use of the Internet by U.S. researchers, defined the Internet as follows: "Internet" refers to the global information system that:
They define the Internet not so much as a physical network, but rather as any subnetwork that executes the Internet protocol suite and related services. One of the great strengths of the Internet is that it spans highly diverse physical link technologies: twisted pair, coax, optical fiber, microwave, radio frequency, satellite, and so on.
Strengths and Weaknesses of Internet Technology
A key underlying assumption of the Internet is that end nodes are intelligent and have the ability to execute the TCP/IP protocol stack. Until recently, this implied a fairly complex (and expensive) end device, such as a laptop computer. Today’s personal digital assistants, costing a few hundred dollars, are now sufficiently powerful to execute these protocols. While existing telephone handsets are quite a bit dumber (and less expensive) than this, it should be noted that cellular telephones do possess embedded microprocessors and have the capability to run more sophisticated software than is currently the case for the telephone network.
Several of the key design principles that underlie Internet technology come from its origin as a proposed architecture for a survivable command and control system in the event of a nuclear war. The Internet achieves its robust communications through packet switching and store-and-forward routing. It is not necessary to create a circuit between end points before communications can commence. Information is sent in small units, packets, which may be routed differently from each other, and which may arrive at their destination out of order. This is sometimes called a datagram service (TCP, a transport layer protocol, insures that data arrives without errors and in the proper sequence). The routing infrastructure gracefully adapts to the addition or loss of nodes. But the network does assume that all routers will cooperate with each other to insure that the packets eventually reach their destination.
The first design principle is that there is no state in the network, in particular, there is no connection state in the switches. This has the positive effect of making the network highly robust. A switch can fail, and since it contained no critical state, the network can adapt to the loss by rerouting the packet stream around the lost switch.
A variation on this is called the end-to-end principle. It is better to control the connection between two points in the network from the ends rather than build in support on a hop-by-hop basis. The standard example of the end-to-end principle is error control, which can be done on a link by link basis, but still must be done on an end-to-end basis to insure proper functioning of the connection.
A second principle is the Internet’s highly decentralized control. Routing information is distributed among the nodes, with no centralized node controlling critical functions such as routing. This helps enhance the network’s resilience to failure.
One the great successes of the Internet are its ability to operate over an extremely heterogeneous collection of access technologies, despite large variations in bandwidth, latency, and error behavior. The key advantage this provides is that the network needs to make few assumptions about the underlying link technologies.
The Internet also has some serious weaknesses. First, it provides no differential service. All packets are treated the same. Should the network become congested, arbitrary packets will be lost. There is no easy way to distinguish between important traffic and less important traffic, or real-time traffic that must get through versus best effort traffic that can try again later. Note that the existing protocols do have the ability to support priority packets, but these require cooperation that the priority bit is set only for the appropriate traffic flows.
Second, there are no control mechanisms for managing bottleneck links. This is related to the first weakness, in that the Internet has no obvious strategy for scheduling packets across the bottleneck. Recent work by Floyd and Jacobson has developed a scheme called class-based queuing, which does provide a mechanism for dealing with this problem across bottlenecks like the "long, thin pipe" of the Internet between North America and Europe.
The third weakness lies in one of the Internet’s strengths: store-and-forward routing. The queuing nature of store-and-forward networks introduces variable delay in end-to-end performance, making it difficult to guarantee or even predict performance. While this is not a problem for best effort traffic, it does represent challenges for supporting real-time connections.
A fourth weakness arises from another one of the Internet’s strengths: decentralized control. In this case, it is very difficult to introduce new protocols or functions into the network, since it is difficult to upgrade all end nodes and switches. It will be interesting to see how rapidly IPv6, the latest generation of the routing protocols, is disseminated through the Internet. A partial solution is to retain backward compatibility with existing protocols, though this weighs down the new approaches with the old. A way to circumvent this limitation is to provide new services at the applications level, not inside the network. We will discuss the client-proxy-server architecture in Section "Next Generation Internet"
The last in our list of weaknesses comes from the Internet’s assumption of a cooperative routing infrastructure. Without a truly trusted infrastructure, the Internet as it now exists suffers from well known security problems. Several solutions are on the horizon. One is end-to-end encryption, which protects the information content of packets from interception. A second is policy-based routing, which limits packet flows to particularly trusted subnetworks. For example, using policy-based
This approach stands in stark contrast to the ATM model. The latter has a more static view of performance in terms of guarantees. Guarantees simplify the applications since they need not be written to be adaptive. But it places the onus on the network to police the behavior of the traffic so that the guarantees can be achieved. This puts more state into the network, which now requires set- up before use and which makes the network sensitive to failures.
A second critical advantage of the ISPN architecture is the ease with which new services can be introduced into the network, using the so-called "proxy architecture." Proxies are software intermediaries that provide useful services on behalf of clients while shielding servers from client heterogeneity. For example, consider a multipoint videoconference involving all but one participant who are connected by high speed links. Rather than default the lowest common denominator resolution and frame rate of the poorly connected node, a proxy can customize the stream for the available bandwidth of the bottleneck link.
It should be noted that there has recently been some controversy within the Internet Engineering community about whether there is a need for RSVP-based reservations and control signaling at all. One way to look at the Internet’s solution for improving performance is simply to add more bandwidth to the network, either by using faster link technology or by increasing the number of switches in the network. With the arrival of widespread fiber optic infrastructure, the amount of worldwide bandwidth has increased enormously. This is one of the reasons that the long distance phone service has rapidly become a commodity business. For example, the amount of transpacific and transatlantic bandwidth is expected to increase by a factor of five between 1996 and 2000 as new fiber optic cables come on line. Nevertheless, local access bandwidth is quite limited, and we expect this to continue for some time to come despite the rollout of new technologies like ADSL.
1.2 OSI Model OSI (Open Systems Interconnection) is reference model for how applications can communicate over a network. A reference model is a conceptual framework for understanding relationships. The purpose of the OSI reference model is to guide vendors and developers so the digital communication products and software programs they create will interoperate, and to facilitate clear comparisons among communications tools. Most vendors involved in telecommunications make an attempt to describe their products and services in relation to the OSI model. And although useful for guiding discussion and evaluation, OSI is rarely actually implemented, as few network products or standard tools keep all related functions together in well-defined layers as related to the model. The TCP/IP protocols, which define the Internet, do not map cleanly to the OSI model. Developed by representatives of major computer and telecommunication companies beginning in 1983, OSI was originally intended to be a detailed specification of actual interfaces. Instead, the committee decided to establish a common reference model for which others could then develop detailed interfaces, which in turn could become standards. OSI was officially adopted as an international standard by the International Organization of Standards (ISO).
OSI Layers The main concept of OSI is that the process of communication between two endpoints in a telecommunication network can be divided into seven distinct groups of related functions, or layers. Each communicating user or program is at a computer that can provide those seven layers of function. So in a given message between users, there will be a flow of data down through the layers in the source computer, across the network and then up through the layers in the receiving computer. The seven layers of function are provided by a combination of applications, operating systems, network card device drivers and networking hardware that enable a system to put a signal on a network cable or out over Wi-Fi or other wireless protocol).
The Open Systems Interconnect (OSI) model has seven layers. Beginning with the 'lowest' in the h ierarchy (the p hysical) an d p roceeding to the'highest' ( the ap plication), t he l ayers a re stacked this way:
The network layer controls the operation of the subnet, deciding which physical path the data should take based on network conditions, priority of service, and other factors. It provides:
Communications Subnet The network layer software must build headers so that the network layer software residing in the subnet intermediate systems can recognize them and use them to route data to the destination address. This layer relieves the upper layers of the need to know anything about the data transmission and intermediate switching technologies used to connect systems. It establishes, maintains and terminates connections across the intervening communications facility (one or several intermediate systems in the communication subnet).
In the network layer and the layers below, peer protocols exist between a node and its immediate neighbor, but the neighbor may be a node through which data is routed, not the destination station. The source and destination stations may be separated by many intermediate systems.
TRANSPORT LAYER The transport layer ensures that messages are delivered error-free, in sequence, and with no losses or duplications. It relieves the higher layer protocols from any concern with the transfer of data between them and their peers.
The size and complexity of a transport protocol depends on the type of service it can get from the network layer. For a reliable network layer with virtual circuit capability, a minimal transport layer is required. If the network layer is unreliable and/or only supports datagrams, the transport protocol should include extensive error detection and recovery.
The transport layer provides:
are available.
and keeps track of which messages belong to which sessions (see session layer).
Typically, the transport layer can accept relatively large messages, but there are strict message size limits imposed by the network (or lower) layer. Consequently, the transport layer must break up the messages into smaller units, or frames, prepending a header to each frame.
The transport layer header information must then include control information, such as message start and message end flags, to enable the transport layer on the other end to recognize message boundaries. In addition, if the lower layers do not maintain sequence, the transport header must contain sequence information to enable the transport layer on the receiving end to get the pieces back together in the right order before handing the received message up to the layer above.
End-to-end layers Unlike the lower "subnet" layers whose protocol is between immediately adjacent nodes, the transport layer and the layers above are true "source to destination" or end-to-end layers, and are not concerned with the details of the underlying communications facility. Transport layer software (and software above it) on the source station carries on a conversation with similar software on the destination station by using message headers and control messages.
SESSION LAYER The session layer allows session establishment between processes running on different stations. It provides:
PRESENTATION LAYER The presentation layer formats the data to be presented to the application layer. It can be viewed as the translator for the network. This layer may translate data from a format used by the application layer into a common format at the sending station, then translate the common format to a format known to the application layer at the receiving station.
The presentation layer provides:
2 Data Link Data Link PPP, IEEE 802. 1 Physical Physical Network (^) Ethernet (IEEE 802.3), Token Ring, RS-232, FDDI, and others
The table shows the TCP/IP protocol layers and the OSI model equivalents. Also shown are examples of the protocols that are available at each level of the TCP/IP protocol stack. Each system that is involved in a communication transaction runs a unique implementation of the protocol stack.
Physical Network Layer The physical n etwork l ayer specifies the characteristics of the hardware to be used for the network. For example, physical network layer specifies the physical characteristics of the communications media. The physical layer of TCP/IP describes hardware standards such as IEEE 802.3, the specification for Ethernet network media, and RS-232, the specification for standard pin connectors.
Data-Link Layer The data-link layer identifies the network protocol type of the packet, in this instance TCP/IP. The data-link layer also provides error control and “framing.” Examples of data-link layer protocols are Ethernet IEEE 802.2 framing and Point-to-Point Protocol (PPP) framing.
Internet Layer The Internet layer, also known as the network layer or IP layer , accepts and delivers packets for the network. This layer includes the powerful Internet Protocol (IP), the Address Resolution Protocol (ARP), and the Internet Control Message Protocol (ICMP).
IP Protocol The IP protocol and its associated routing protocols are possibly the most significant of the entire TCP/IP suite. IP is responsible for the following:
receiving system's IP address.
ARP Protocol The Address Resolution Protocol (ARP) conceptually exists between the data-link and Internet layers. ARP assists IP in directing datagrams to the appropriate receiving system by mapping Ethernet addresses (48 bits long) to known IP addresses (32 bits long).
ICMP Protocol The Internet Control Message Protocol (ICMP) detects and reports network error conditions. ICMP reports on the following:
1.4 Network Layer, Addressing Schemes, Address Classes The network layer is concerned with getting packets from the source all the way to the destination. The packets may require to make many hops at the intermediate routers while reaching the destination. This is the lowest layer that deals with end to end transmission. In order to achieve its goals, the network layer must know about the topology of the communication network. It must also take care to choose routes to avoid overloading of some of the communication lines while leaving others idle. The network layer-transport layer interface frequently is the interface between the carrier and the customer, that is the boundary of the subnet. The functions of this layer include :
We classify networks as follows:
The IP specifications divide addresses into the following classes:
Special Addresses: There are some special IP addresses :
Subnetting Sub netting means organizing hierarchies within the network by dividing the host ID as per our network. For example consider the network ID : 150.29.x.y We could organize the remaining 16 bits in any way, like : 4 bits – department 4 bits – LAN 8 bits – host This gives some structure to the host IDs. This division is not visible to the outside world. They still see just the network number, and host number (as a whole). The network will have an internal routing table which stores information about which router to send an address to. Now consider the case where we have: 8 bits - subnet number, and 8 bits - host number. Each router on the network must know about all subnet numbers. This is called the subnet mask. We put the network number and subnet number bits as 1 and the host bits as 0. Therefore, in this example the subnet mask becomes: 255.255.255.0. The hosts also need to know the subnet mask when they send a packet. To find if two addresses are on the same subnet, we can AND source address with subnet mask, and destination address with subnet mask, and see if the two results are the same. The basic reason for
structure is: First three bits: They specify the precedences i.e. the priority of the packets. Next three bits: D bit - D stands for delay. If the D bit is set to 1, then this means that the application is delay sensitive, so we should try to route the packet with minimum delay.