One of TCP/IP’s problems is that it has significant problems in supporting data, which is needed for multimedia and telecom.In general, the routing is pretty unstable at times, and tends to lose a lot of packets when a switch goes down because of incoherent routing tables
OSI
The Open Systems Interconnect (OSI) is an abstract description for layered communications and computer network protocol design. It was developed as part of the open systems interconnection initiative. In its most basic form, it divides network architecture into seven layers which from top to bottom is the Application, Presentation, Session, Transport, Network, Data-Link and Physical Layers. It is therefore often referred to as the OSI Seven Layer Model.
The layers are in two groups. The upper four layers are used whenever a message passes from or to a user. The lower three layers (up to the network layer) are used when any message passes through the host computer. Messages intended for this computer pass to the upper layers. Messages destined for some other host are not passed up to the upper layers but are forwarded to another host.
The seven layers are:-
-
Layer 7: Application
This is the layer at which communication partners are identified, quality of service is identified, user authentication and privacy are considered, and any constraints on data syntax are identified. The application layer passes data to the presentation layer and receives data from the presentation layer and from the user. The application communicates with remote applications and determines the user capability within the network.
-
Layer 6: Presentation
This is a layer, usually part of an operating system, that converts incoming and outgoing data from one presentation format to another. For example, from a text stream into a popup window with the newly arrived text. Sometimes called the syntax layer. It also passes data between the application and the session layers.
-
Layer 5: Session
This layer sets up, coordinates, and terminates conversations, exchanges, and dialogs between the applications at each end. It deals with session and connection coordination. The layer passes data between the presentation and the transport layers.
-
Layer 4: Transport
This layer manages the end-to-end control. For example, determining whether all packets have arrived and error-checking. It ensures complete data transfer. The transport layer passes the data between the network and the session layer.
-
Layer 3: Network
This layer handles the routing of the data sending it in the right direction to the right destination on outgoing transmissions and receiving incoming transmissions at the packet level. The network layer does routing and forwarding. The layer passes data between separate sub networks and hides network topology from higher layers. The layer passes data between data link and the transport layer.
-
Layer 2: Data Link
This layer provides synchronization for the physical level and does bit-stuffing for strings of 1's in excess of 5. It furnishes transmission protocol knowledge and management. The data link layer is often called MAC layer which is Medium Access Control, through the MAC layer there is a sub layer. The data link layer passes data between the physical and network layers.
-
Layer 1: Physical
This layer conveys the bit stream through the network at the electrical and mechanical level. It provides the hardware means of sending and receiving data on a carrier. The layer describes characteristics of mechanics, electrical and functional parts of the physical interface. The layer passes data up to the data link layer and also receives from the data link layer.
iii. Use a diagram to show how a message is passed (physically and logically), using the OSI model between two Application-layer peers that are separated by a single router.
The main ideas about formal correspondence between TCP-IP layers and OSI layers can be easily deducted from the following diagram:
Part Two (Network Application Architectures)
There are three predominant network application architectures used in modern network applications: the client-server architecture, the Peer to Peer (P2P) architecture and a hybrid of the client-server and P2P architectures.
- Briefly compare and contrast client server and P2P architectures providing one advantage of each.
i.
Client Server
Client server describes the relationship between two computer programs in which one program, the client, makes a service request from another program, the server, which fulfills the request. Although the client server idea can be used by programs within a single computer, it is a more important idea in a network. In a network, the client server model provides a convenient way to interconnect programs that are distributed efficiently across different locations. Computer transactions using the client server model are very common.
For example, to check your bank account from your computer, a client program in your computer forwards your request to a server program at the bank. That program may forward the request to its own client program that sends a request to a database server at another bank computer to retrieve your account balance. The balance is returned back to the bank data client, which in turn serves it back to the client in your personal computer, which displays the information for you.
The client server model has become one of the central ideas of network computing. Most business applications being written today use the client server model. So does the Internet's main program, .
Relative to the Internet, your Web is a client program that requests services which are the sending of Web pages or files from a Web server which technically is called a Hypertext Transport Protocol or server in another computer somewhere on the Internet. Another program relationship models is , with either of two programs able to initiate a transaction.
Advantages of client server are:-
- Access, resources and data security are controlled throught the server
- Any element can be upgraded when needed
- New technology can be easily intergrated into the system
- All componenets (clients, networkm servers) work together
The client server allows the installation of anti-virus on a dedicated server; this means that all stations that are connected to that server are protected against viruses. In peer to peer, each station has to be installed with the anti-virus. Because peer to peer allows the sharing of files it is possible that some files are infected and because anti-virus is not as effective on peer to peer, the virus would get in and disrupt the network.
Peer -to-peer
Peer-to-peer is a communications model in which each party has the same capabilities and either party can initiate a communication session. Other models with which it might be contrasted include the model and the model. In some cases, peer-to-peer communications is implemented by giving each communication node both server and client capabilities. In recent usage, peer-to-peer has come to describe applications in which users can use the Internet to exchange files with each other directly or through a mediating server.
On the Internet peer-to-peer is a type of transient Internet network that allows a group of computer users with the same networking program to connect with each other and directly access files from one another's hard drives. and Wire are examples of this kind of peer-to-peer software. Major producers of content, including record companies, have shown their concern about what they consider illegal sharing of copyrighted content by suing some peer-to-peer users.
Meanwhile, corporations are looking at the advantages of using peer-to-peer as a way for employees to share files without the expense involved in maintaining a centralized server and as a way for businesses to exchange information with each other directly.
Comparing Client server and Peer-to-peer
Network requires special software to control the flow of information between users. A Network Operating System is installed onto each PC that requires network access. The network operating system is like a traffic cop that monitors the exchange and flow of files, electronic mail, and other network information. Network Operating Systems are classified according to whether they are peer-to-peer or client-server network operating systems. Peer-to-peer network operating system like Windows 95, Windows98 and Windows for Workgroups are best for home and a small office use, they are great for sharing applications, data, printers, and other constrained resources across a few PC’s. Client-server network operating system like Windows NT, Linux and NetWare are ideal for large-scale organizations that require fast network access for video, publishing, multimedia, spreadsheet, database, and accounting operations.
A peer-to-peer network allows two or more PCs to pool their resources together. Individual resources like disk drives, CD-ROM drives, and even printers are transformed into shared, collective resources that are accessible from every PC. Unlike client-server networks, where network information is stored on a centralized file server PC and made available to tens, hundreds, or thousands client PCs, the information stored across peer-to-peer networks is uniquely decentralized. Because peer-to-peer PCs have their own hard disk drives that are accessible by all computers, each PC acts as both a client information requestor and a server information provider. In the diagram below, three peer-to-peer workstations are shown. Although not capable of handling the same amount of information flow that a client-server network might, all three computers can communicate directly with each other and share one another's resources.
The advantages of peer-to-peer over client server include:-
- No need for a network administrator
- Network is fast and inexpensive to setup & maintain
- Each PC can make backup copies of its data to other PCs for security.
-
Easiest type of network to build, peer-to-peer is perfect for both home and office use.
In a Client-server environment like Windows NT, files are stored on a centralized, high speed file server PC that is made available to client PCs. Network access speeds are usually faster than those found on peer-to-peer networks, which is reasonable given the vast numbers of clients that this architecture can support. Nearly all network services like printing and electronic mail are routed through the file server, which allows networking tasks to be tracked. Inefficient network segments can be reworked to make them faster, and users' activities can be closely monitored. Public data and applications are stored on the file server, where they are run from client PCs' a location, which makes upgrading software a simple task network, administrators can simply upgrade the applications stored on the file server, rather than having to physically upgrade each client PC.
In the client-server diagram below, the client PCs are shown to be separate and subordinate to the file server. The clients' primary applications and files are stored in a common location. File servers are often set up so that each user on the network has access to their own directory, along with a range of public directories where applications are stored. If the two clients above want to communicate with each other, they must go through the file server to do it. A message from one client to another is first sent to the file server, where it is then routed to its destination. With tens or hundreds of client PCs, a file server is the only way to manage the often complex and simultaneous operations that large networks require.
- Choose one application that uses a hybrid of client-server and P2P architectures and describe briefly how it works.
An application that uses Peer-to-peer architecture is Napster and LimeWire. The Peer-to-peer application works by the user must first download and execute a peer-to-peer networking program. After launching the program, the user enters the IP address of another computer belonging to the network. Typically, the web page where the user got the download will list several IP addresses as places to begin. Once the computer finds another network member on-line, it will connect to that user's connection that has their IP address from another user's connection. Users can choose how many member connections to seek at one time and determine which files they wish to share or password protect.
Part Three (Transport-layer Services and Protocols)
Transport layer has a critical role of providing communication services directly to the application processes running on different host.
- Regarding the transport services provided by the Internet, there is insufficient support for interactive multimedia applications. Discuss the above statement justifying why you agree or disagree with it
- Compare the functions provided by the two main transport protocols, TCP and UDP. As part of your answer give an example application of each and why it is used in that application.
- Describe briefly how TCP uses the window-size to provide both flow control and congestion control.
ii.
Transmission Control Protocol (TCP) is the most commonly used protocol on the internet. The reason for this is because TCP offers error correction. When the TCP protocol is used there is a guaranteed delivery, this is due largely in part to a method called flow control. The flow control determines when data needs to be re-sent and stop the flow of data until previous packets are successfully transferred. This works because if a packet data is sent, a collision may occur. When this happens, the client re-requests the packet from the server until the whole packet is complete and is identical to the original.
User Datagram Protocol (UDP) is another commonly used protocol on the internet. However, UDP is never used to send important data such as web pages and database information. UDP is commonly used for streaming audio and video devices. Streaming media such as Windows Media audio files (.WMA), Real Player (.RM), and others use UDP because it offers speed. The reason UDP is faster than TCP is because there is no from of flow control or error correction. The data sent over the internet is affected by collisions, and errors will be prevented. UDP is only concerned with speed; this is the main reason why streaming media is not high quality.
iii
Describe briefly how TCP uses the window-size to provide both flow control and congestion control
TCP uses the window-size to provide both flow control and congestion control. TCP transmits data up to the window size before waiting for the packets; the full bandwidth of the network may not always get used. The limitation caused by window size can be calculated.
At any given time, the window advertised by the receive side of TCP corresponds to the amount of free receive memory it has allocated for this connection. Otherwise it would take the risk to have to drop received packets by lack of space.
Unrelated to the TCP receive window, the sending side should also allocate the same amount of memory as the receive side for good performance. That is because, even after data has been sent on the network, the sending side must hold it in memory until its has been acknowledged as successfully received, just in case it would have to be retransmitted. If the receiver is far away, acknowledgments will take a long time to arrive. If the send memory is small, it can saturate and block emission. A simple computation gives the same optimal send memory size as for the receive memory size given above.