Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Internet Technologies: A Postgraduate Curriculum Outline, Study notes of Internet and Information Access

Data Structures & Algorithms

Typology: Study notes

2015/2016

Uploaded on 11/03/2016

hamed_karimi
hamed_karimi 🇮🇳

4.5

(4)

5 documents

1 / 139

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
OFFICIAL CURRICULUM FOR POST GRADUATE PROGRAM
UNIVERSITY OF MYSORE
Internet Technologies
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Partial preview of the text

Download Internet Technologies: A Postgraduate Curriculum Outline and more Study notes Internet and Information Access in PDF only on Docsity!

OFFICIAL CURRICULUM FOR POST GRADUATE PROGRAM

UNIVERSITY OF MYSORE

Internet

Technologies

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:

  • Is logically linked together by a globally unique address space based on the Internet Protocol (IP) or its subsequent extensions/follow-ons;
  • Is able to support communications using the Transmission Control Protocol/ Internet Protocol (TCP/IP) Suite or its subsequent extensions/follow-ons, and/or other IP-compatible protocols;
  • Provides, uses or makes accessible, either publicly or privately, high level services layered on the communications and related infrastructure described herein.

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

  • Strengths 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.

  • Weaknesses of Internet Technology

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:

  • Application
  • Presentation
  • Session
  • Transport
  • Network
  • Data Link

NETWORK LAYER

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:

  • Routing: routes frames among networks.
  • Subnet traffic control: routers (network layer intermediate systems) can instruct a sending station to "throttle back" its frame transmission when the router's buffer fills up.
  • Frame fragmentation: if it determines that a downstream router's maximum transmission unit (MTU) size is less than the frame size, a router can fragment a frame for transmission and re-assembly at the destination station.
  • Logical-physical address mapping: translates logical addresses, or names, into physical addresses.
  • Subnet usage accounting: has accounting functions to keep track of frames forwarded by subnet intermediate systems, to produce billing information.

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:

  • Message segmentation: accepts a message from the (session) layer above it, splits the message into smaller units (if not already small enough), and passes the smaller units down to the network layer. The transport layer at the destination station reassembles the message.
  • Message acknowledgment: provides reliable end-to-end message delivery with acknowledgments.
  • Message traffic control: tells the transmitting station to "back-off" when no message buffers

are available.

  • Session multiplexing: multiplexes several message streams, or sessions onto one logical link

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:

  • Session establishment, maintenance and termination: allows two application processes on different machines to establish, use and terminate a connection, called a session.
  • Session support: performs the functions that allow these processes to communicate over the network, performing security, name recognition, logging, and so on.

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:

  • Character code translation: for example, ASCII to EBCDIC.
  • Data conversion: bit order, CR-CR/LF, integer-floating point, and so on.
  • Data compression: reduces the number of bits that need to be transmitted on the network.
  • Data encryption: encrypt data for security purposes. For example, password encryption.

ICMP

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:

  • IP ad dressing – The IP addressing conventions are part of the IP protocol. Designing an IPv4 Addressing Scheme introduces IPv4 addressing and IPv6 Addressing Overview introduces IPv6 addressing.
  • Host-to-host c ommunications – IP determines the path a packet must take, based on the

receiving system's IP address.

  • Packet f ormatting – IP assembles packets into units that are known as datagrams. Datagrams are fully described in Internet Layer: Where Packets Are Prepared for Delivery.
  • Fragmentation – If a packet is too large for transmission over the network media, IP on the sending system breaks the packet into smaller fragments. IP on the receiving system then reconstructs the fragments into the original packet. Oracle Solaris supports both IPv4 and IPv6 addressing formats, which are described in this book. To avoid confusion when addressing the Internet Protocol, one of the following conventions is used:
  • When the term “IP” is used in a description, the description applies to both IPv4 and IPv6.
  • When the term “IPv4” is used in a description, the description applies only to IPv4.
  • When the term “IPv6” is used in a description, the description applies only to IPv6.

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:

  • Dropped packets – Packets that arrive too fast to be processed
  • Connectivity failure – A destination system cannot be reached
  • Redirection – Redirecting a sending system to use another router

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 :

  1. Routing - The process of transferring packets received from the Data Link Layer of the source network to the Data Link Layer of the correct destination network is called routing.

We classify networks as follows:

  1. Large N etworks: 8-bit network address and 24-bit host address. There are approximately 16 million hosts per network and a maximum of 126 ( 2^7 - 2 ) Class A networks can be defined. The calculation requires that 2 be subtracted because 0.0.0.0 is reserved for use as the default route and 127.0.0.0 be reserved for the loop back function. Moreover each Class A network can support a maximum of 16,777,214 (2^24 - 2) hosts per network. The host calculation requires that 2 be subtracted because all 0's are reserved to identify the network itself and all 1s are reserved for broadcast addresses. The reserved numbers may not be assigned to individual hosts.
  2. Medium N etworks: 16-bit network address and 16-bit host address. There are approximately 65000 hosts per network and a maximum of 16,384 (2^14) Class B networks can be defined with up to (2^16-2) hosts per network.
  3. Small N etworks: 24-bit network address and 8-bit host address. There are approximately 250 hosts per network.

Address Classes

The IP specifications divide addresses into the following classes:

  • Class A - For large networks 0 7 bits of the network address 24 bits of host address
  • Class B - For medium networks 1 0 14 bits of the network address 16 bits of host address
  • Class C - For small networks 1 1 0 21 bits of the network address 8 bits of host address
  • Class D - For multi-cast messages ( multi-cast to a "group" of networks ) 1 1 1 0 28 bits for some sort of group address
  • Class E - Currently unused, reserved for potential uses in the future 1 1 1 1 28 bits

Internet Protocol

Special Addresses: There are some special IP addresses :

  1. Broadcast Addresses They are of two types : (i) Limited Broadcast: It consists of all 1's, i.e., the address is 255.255.255.255. It is used only on the LAN, and not for any external network. (ii) Directed Broadcast: It consists of the network number + all other bits as1's. It reaches the router corresponding to the network number, and from there it broadcasts to all the nodes in the network. This method is a major security problem, and is not used anymore. So now if we find that all the bits are 1 in the host no. field, then the packet is simply dropped. Therefore, now we can only do broadcast in our own network using Limited Broadcast.
  2. Network ID = 0 It means we are referring to this network and for local broadcast we make the host ID zero.
  3. Host ID = 0 This is used to refer to the entire network in the routing table.
  4. Loop-back Address Here we have addresses of the type 127.x.y.z It goes down way upto the IP layer and comes back to the application layer on the same host. This is used to test network applications before they are used commercially.

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.

  • T bit - T stands for throughput. This tells us that this particular operation is throughput sensitive.
  • R bit - R stands for reliability. This tells us that we should route this packet through a more reliable network. Last two bits: The last two bits are never used. Unfortunately, no router in this world looks at these bits and so no application sets them nowadays. The second word is meant for handling fragmentations. If a link cannot transmit large packets, then we fragment the packet and put sufficient information in the header for recollection at the destination.
  1. ID Field: The source and ID field together will represent the fragments of a unique packet. So each fragment will have a different ID.
  2. Offset: It is a 13 bit field that represents where in the packet, the current fragment starts. Each bit represents 8 bytes of the packet. So the packet size can be at most 64 KB. Every fragment except the last one must have its size in bytes as a multiple of 8 in order to ensure compliance with this structure. The reason why the position of a fragment is given as an offset value instead of simply numbering each packet is because refragmentation may occur somewhere on the path to the other node. Fragmentation, though supported by IPv4 is not encouraged. This is because if even one fragment is lost the entire packet needs to be discarded. A quantity M.T.U (Maximum Transmission Unit) is defined for each link in the route. It is the size of the largest packet that can be handled by the link. The Path-M.T.U is then defined as the size of the largest packet that can be handled by the path. It is the smallest of all the MTUs along the path. Given information about the path MTU we can send packets with sizes smaller than the path MTU and thus prevent fragmentation. This will not completely prevent it because routing tables may change leading to a change in the path.
  3. Flags: It has three bits -
  • M bit : If M is one, then there are more fragments on the way and if M is 0, then it is the last fragment
  • DF bit : If this bit is sent to 1, then we should not fragment such a packet.
  • Reserved bit : This bit is not used. Reassembly can be done only at the destination and not at any intermediate node. This is because we are considering Datagram Service and so it is not guaranteed that all the fragments of the packet will be sent thorough the node at which we wish to do reassembly.
  1. Total Length : It includes the IP header and everything that comes after it.
  2. Time To Live (TTL) : Using this field, we can set the time within which the packet should be delivered or else destroyed. It is strictly treated as the number of hops. The packet should reach the destination in this number of hops. Every router decreases the value as the packet goes through it and if this value becomes zero at a particular router, it can be destroyed.
  3. Protocol : This specifies the module to which we should hand over the packet ( UDP or TCP ). It is the next encapsulated protocol. Value Protocol 0 Pv6 Hop-by-Hop Option. 1 ICMP, Internet Control Message Protocol. 2 IGMP, Internet Group Management Protocol. RGMP, Router-port Group Management Protocol. 3 GGP, Gateway to Gateway Protocol. 4 IP in IP encapsulation. 5 ST, Internet Stream Protocol. 6 TCP, Transmission Control Protocol. 7 UCL, CBT. 8 EGP, Exterior Gateway Protocol. 9 IGRP. 10 BBN RCC Monitoring. 11 NVP, Network Voice Protocol. 12 PUP. 13 ARGUS. 14 EMCON, Emission Control Protocol. 15 XNET, Cross Net Debugger. 16 Chaos. 17 UDP, User Datagram Protocol. 18 TMux, Transport Multiplexing Protocol. 19 DCN Measurement Subsystems.
    255
  4. Header Checksum: This is the usual checksum field used to detect errors. Since the TTL field is changing at every router so the header checksum (upto the options field) is checked and recalculated at every router.