Wednesday, 21 October 2015

ASSIGNMENT 4

TASK 4
1.      What is a client-server?
Client server is a program relationship in which one program where client request a service or resource from another program where it is server. In the easy term, server will serve request from a client. Client will establish a connection to the server over local area network(LAN) or wide area network(WAN), such as the internet. Once the server has fulfilled the client’s request, the connection is terminated. Web browser is a client program that has requested service from a server in fact the service and resource that the server provide is the delivery of this Web page.
2.      How does it works?

The client–server model of computing is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system. A server host runs one or more server programs which share their resources with clients. A client does not share any of its resources, but requests a server's content or service function. Clients therefore initiate communication sessions with servers which await incoming requests.
Examples of computer applications that use the client–server model are email ,network printing, and the World Wide Web.
3.      Why is a client server good?
The client–server characteristic describes the relationship of cooperating programs in an application. The server component provides a function or service to one or many clients, which initiate requests for such services. Whether a computer is a client, a server, or both, is determined by the nature of the application that requires the service functions. For example, a single computer can run web server and file server software at the same time to serve different data to clients making different kinds of requests. Client software can also communicate with server software within the same computer. Communication between servers, such as to synchronize data, is sometimes called inter-server or server-to-server communication

4.      What are the drawback to the client-server model.
The drawback of client server model are stated as below:
1)Congestion in Network: Too many requests from the clients may lead to congestion, which rarely takes place in P2P network. Overload can lead to breaking-down of servers. In peer-to-peer, the total bandwidth of the network increases as the number of peers increase. 
2) Client-Server architecture is not as robust as a P2P and if the server fails, the whole network goes down. Also, if you are downloading a file from server and it gets abandoned due to some error, download stops altogether. However, if there would have been peers, they would have provided the broken parts of file. 

3) Cost: It is very expensive to install and manage this type of computing.
4) You need professional IT people to maintain the servers and other technical details of network.

5.      What are the correlation the thin and thick client to this topic
Thin client-
                       


A thin client (sometimes also called a lean, zero or slim client) is a computeror a computer program that depends heavily on another computer (its server) to fulfill its computational roles. This is different from the traditional fat client, which is a computer designed to take on these roles by itself. The specific roles assumed by the server may vary, from providing data persistence (for example, for diskless nodes) to actual information processing on the client’s behalf.
Thin clients occur as components of a broader computer infrastructure, where many clients share their computations with the same server. As such, thin client infrastructures can be viewed as providing some computing service via several user interfaces. This is desirable in contexts where individual fat clients have much more functionality or power than the infrastructure requires.
Thick client-
In contrast, a thick client (also called a fat client) is one that will perform the bulk of the processing  in client/server applications. With thick clients, there is no need for continuous server communications as it is mainly communicating archival storage information to the server. As in the case of a thin client, the term is often used to refer to software, but again is also used to describe the networked computer itself. If your applications require multimedia components or that are bandwidth intensive, you'll also want to consider going with thick clients. One of the biggest advantages of thick clients rests in the nature of some operating systems and software being unable to run on thin clients. Thick clients can handle these as it has its own resources.



                       

Thursday, 15 October 2015

TASK 3:Difference between TCP nd UDP
1.      TCP or Transmission Control Protocol 
-          TCP is connection oriented – once a connection is established, data can be sent bidirectional.
2.      UDP or User Datagram Protocol.
-          UDP is a simpler, connectionless Internet protocol. Multiple messages are sent as packets in chunks using UDP.


TCP
UDP
Connection
TCP is a connection-oriented protocol
UDP is a connectionless protocol.

Function
As a message makes its way across the internet from one computer. This is connection based.
UDP is also a protocol used in message transport or transfer. This is not connection based which means that one program can send a load of packets to another and that would be the end of the relationship.

Usage
TCP is suited for applications that require high reliability, and transmission time is relatively less critical.
UDP is suitable for applications that need fast, efficient transmission, such as games. UDP's stateless nature is also useful for servers that answer small queries from huge numbers of clients.

Use By Other Protocols
HTTP, HTTPs, FTP, SMTP, Telnet
DNS, DHCP, TFTP, SNMP, RIP, VOIP.

Ordering Of Data Packets
TCP rearranges data packets in the order specified.
UDP has no inherent order as all packets are independent of each other. If ordering is required, it has to be managed by the application layer.

Speed Of Transfer
The speed for TCP is slower than UDP
UDP is faster because there is no error-checking for packets.

Reliability
There is absolute guarantee that the data transferred remains intact and arrives in the same order in which it was sent.
There is no guarantee that the messages or packets sent would reach at all.
Header Size
TCP header size is 20 bytes
UDP Header size is 8 bytes.

Common Header Fields
Source port, Destination port, Check Sum
Source port, Destination port, Check Sum

Streaming Of Data
Data is read as a byte stream, no distinguishing indications are transmitted to signal message (segment) boundaries.
Packets are sent individually and are checked for integrity only if they arrive. Packets have definite boundaries which are honored upon receipt, meaning a read operation at the receiver socket will yield an entire message as it was originally sent.

Weight
TCP is heavy-weight. TCP requires three packets to set up a socket connection, before any user data can be sent. TCP handles reliability and congestion control.

UDP is lightweight. There is no ordering of messages, no tracking connections, etc. It is a small transport layer designed on top of IP.
Data Flow Control
TCP does Flow Control. TCP requires three packets to set up a socket connection, before any user data can be sent. TCP handles reliability and congestion control.

UDP does not have an option for flow control

Error Checking
TCP does error checking
UDP does error checking, but no recovery options.

Fields
1. Sequence Number,
2. AcK number,
3. Data offset,
4. Reserved,
5. Control bit,
6. Window,
7. Urgent Pointer
8. Options,
9. Padding,
10. Check Sum,
11. Source port,
12. Destination port

1. Length,
2. Source port,
3. Destination port,
4. Check Sum

Acknowledgement
Acknowledgement segments
No Acknowledgment

Handshake
SYN, SYN-ACK, ACK
No handshake (connectionless protocol)
Checksum
checksum
to detect errors



Sunday, 11 October 2015

TASK 2:Briefly describe the process of sendin packet from host A to host D.


The transmission would go like this:
Host A wants to send a packet to Host D. Host A must knows Host D's IP address. However, if it does not know, then it will send something called an ARP request (Address Resolution Protocol) to the network, with the destination IP. 
 A few things will happen here:
  1. If the IP is local. The host with that IP will reply back to the sender with its MAC address.
  2. If the IP is non-local. The gateway router will detect this and send its MAC address.
  3. If the IP is non-local and Host A's default gateway and subnet mask are set. Using this information Host A can determine the non-locality of the IP address and send it to the router's MAC address (ARPing if not known yet).
If Host A found this out earlier, it will be in the ARP cache and Host A will just use that. Now that the MAC address is sent, the packet can be transferred. The next stop will be the switch. The switch knows which outbound port the MAC address listed as the destination is on, because it tracks every MAC address it's seen a packet come from and which port it came on, If it does not know, then it will flood it out every single port, guaranteeing it'll arrive.
As such, the packet arrives at the router. The IP model is that it divides every single IP address in the network/world into a hierarchy which is subnet. The packet is then sent out that port.

TASK 1: List all the dial-up modem speed (connection vs bitrate)

Note that the values given are maximum values, and actual values may be slower under certain conditions (for example, noisy phone lines)
Connection
110 baud (Bell 101)
0.1 kbit/s
(110 bits per second)
300 baud (Bell 103 or V.21)
0.3 kbit/s
1200 baud (Bell 212A or V.22)
1.2 kbit/s
2400 baud (V.22bis)
2.4 kbit/s
2400 baud (V.26bis)
2.4 kbit/s
4800 baud (V.27ter)
4.8 kbit/s
9600 baud (V.32)
9.6 kbit/s
14.4 kbit/s (V.32bis)
14.4 kbit/s
28.8 kbit/s (V.34)
28.8 kbit/s
33.6 kbit/s (V.34)
33.6 kbit/s
56k kbps (V.90)
56.0/33.6 kbit/s
56k kbps (V.92)
56.0/48.0 kbit/s
Hardware compression (V.92/V.44)
56.0 to 320.0 kbit/s
(variable)
Server-side web compression
   200.0 to 1000.0 kbit/s
(variable)


The figure above shows that the connection with its modulation , bitrate and year released.