Packet Structure
This project is related to sending the data packets from the client to the server, where the server sends the acknowledgment to the client. The client and server model is one of the software architecture model, which communicates through the computer networks. The data packets are sent from the client to the server and then from the server to the client. It is peer to peer process. The client server model is based on network computing and it has various types of applications.
The client directly interacts with the graphical user interface. It always sends the request to the client and it waits for the replies. Finally, it receives the replies form the server. The server waits for the client request and it responds to the client. The server communicates with other server, on client request. It is very secure and it sends the data packets from one to another. The client server of the computing model can be used for computerized system, in the development process. The designing of network model can use the function that follows two types of independent and autonomous processes: server and clients, which will be investigated in this report.
1. Client-Server Architecture
The client sends the request to the server. The server responds to the client. The server manages the file server, print server and the network server. Server means powerful computer or process of file, printer and network. It communicates with the client. The client also communicates with the server. It accesses data and it manages all the data. The resource of the service is called as servers and the resource of the request is called as client. It is a three tier architecture.
Where, the server is a computer and the clients are laptops, mobile phone etc. The internet is an intermediate between the server and client. The client sends the request and the server receives the request, for which the server responds to the client.
2. Three tier architecture
The three tier architecture is can be utilized for the disadvantages of two tier architecture. The three tier architecture of the client and server condition that can oversee on the middleware data of the framework application. The actualization of the middleware that can be used for collection of data, for example exchange process on the three tier architecture, massage server or application servers.
The application of client and server message capacity of middleware that can used for the executing the application and database organizing. Add to the middleware what can be planning and priorization for work in advancement. The for the most part utilized clients and enhancing the adaptability of message that can be contrast with the two tier architecture.
The three tier architecture follows the features, which includes,
- The greater degree flexibility.
- Security increase and high productivity.
- High performance, message sharing between the servers.
Advantages of the three tier architecture
- Availability-application can exploit the modular architecture, and it can enable system using the easily scalable components, which increases the availability.
- Maintainability-Because, each tier is independent of the other tiers, for the updates or changes of the client server process model.
Disadvantages of three tier architecture
- High cost
- Structure is more complex, when compared to 1 and 2 tier architectures.
- 3. Client and server interaction
The client and server can interact by exchanging messages, in the protocol communication with each other, across the internet or any other network. The client server application can be used for the local area networks. The client requests sending some message on the server, it can be perform it and return reply on acknowledgement message, to send and receive the request from the client. The protocol that specified the format of the message can be exchanged and interacts with messages, using the user datagram protocol and transmission control protocol of the system application.
Client-Server Architecture
4. User datagram protocol
User datagram protocol can use this concept, to establish a two way connection between the client and the server. UDP is not the connection based application system. To send each data packet transmission is an independent event process. That transmission of data can provide fast and lightweight local packet broadcasts, and remote multicasting packets. UDP is used for inherently less reliability than TCP. The server can wait to receive the request and that can provide the request information.
Thus, this side of the transmission may be referred as the receiver. When the receiver creates UDP objects, it must define a port number on which it will receive request. The client sends the request for information and the receiver can reply with acknowledgement .Thus, this side of the transmission may be referred to, the requestor can create the objects of UDP ports; it can be used for dynamic port number. The set is by default, 0. When it sends the packet, it must specify the host name and the port number of the provider. Sending the data that can specify the address can be used for the two method of Ipv4 and Ipv6.
Process 1 process 2
Data
Sender receiver
Structure of UDP packets is,
Transmission control protocol
The TCP protocols can establish and maintain a network conversation via, which the application program can exchange data. The TCP works with internet protocol (IP), which defines how computers send packets of data to each other. The IP address is connectionless of packet delivered to the client.
The TCP reliable services that can be used for the same set of following stages are,
- Basic data Transfer,
- Reliability,
- Multiplexing,
- Connections,
- Security and acknowledgement.
Reliability
The reliability can be used for the client to transmit the data to the server, which can be recovered from the data that is damaged, lost or delivered out of order by the internet connection system. The number of each octet data transmitted, which requires a positive acknowledgement form to receive TCP. If the ACK is not received within the timeout interval, the data is retransmitted to the client.
6. Socket programming
The client and server model is one of the most used communication paradigms in the network systems. Clients normally communicate with one server at a time. From a server perspective, at any point in time, it is not unusual for communication, where the server has multiple clients. Clients need to know the existence and the address of the server, but the server does not need to know the address of the client prior to the connection to be established. The client and server communicate by means of multiple layers of network protocol.
Socket programming in byte transition protocol
Socket is one endpoint of a two way communication link of request and response on the client server process. The socket byte, can be used in bound to a port number, so that the TCP connection can identify the application that the data is destined to be sent to. An end point is a combination of an IP address, which will be displayed on the byte transition of the client and server process, in the communication system.
Three Tier Architecture
7. TCP byte transition protocol
The TCP provides the byte transition control that can be used for the connection oriented, reliable, byte stream service. The term connection oriented means the two application using TCP must establish a TCP connection with each other before they can exchange data. It is a full duplex protocol, meaning that each TCP connection supports a pair of byte streams, one flowing in each direction. The TCP includes a flow control mechanism for each of this byte stream that allows the receiver to limit how much data the sender can transmit. TCP also implements a congestion control mechanism.
The congestion control can be used for operating, by observing that the read at which new packets should be injected into the network is the rate at which the acknowledgements are returned by the other end. The sender starts by transmitting one segment and waits for its ACK. When that ACK is received, the congestion window is incremented from one to two, and two segments can be sent. When each of those two segments are acknowledged, the congestion window is increased to four. This provides an exponential growth, although it is not exactly exponential because, the receiver may delay its ACKs, typically sending one ACK for every two segments that it receives on each pair of the bytes packets. The congestion control can be used for two methods likewise, fast retransmit and fast recovery.
Fast retransmit packets can be used for the TCP, which may generate an immediate acknowledgement to the client (a duplicate ACK) when an out of order segment is received. This duplicate ACK should not be delayed. The purpose of this duplicate ACK is to let the other end know that a segment was received out of order, and tell what sequence number is expected.
Fast recovery can be used for, after fast retransmit, which sends what appears to be the missing segment, congestion avoidance, but no slow start is performed. This is the fast recovery client and server process. It improvements that allow high throughput under moderate congestion of the duplicate ACKS tells the TCP more than that, just a packet has been lost.
8. Data Vector Upload Phase
The client creates many data packets and it sends all the data to the server. The data should be sent one by one. The server waits for the client request and it receives the request. The server responds to the client and it sends the acknowledgement when the client request is correct (E. and O. 2018). The client should be waiting for the server’s response. The client should send the packet in a particular time.
9. Computation Request Phase
The client sends the data packet to the server. The server waits for client’s request and it receives the request. The client should wait for sometimes for the server to respond. The server sends the acknowledgment to the client. Finally, the server computes all the data vectors.
10. Result Download Phase
The client will be receiving CLUS packet from the server within 20 second. If it does not receive CLUS packet from the server, then it declares server failure. The client receives the packet, then the server sends acknowledgment to the client. Finally, it generates the data.
User Datagram Protocol
11. K-means Clustering
The k means clustering algorithm attempts to split anonymous data set (a set containing no information as to class identity) into a fixed number (k) of clusters. Initially, k number of so called centroids is chosen for the client and server application process. Each Centroid is thereafter set to the arithmetic mean of the cluster it defines. It has the unlabeled data and it is one type of unsupervised learning. It finds the group and it denotes the variable k. It is used to label the data. Label means it is training data. The client sends the data to the server .The server receives the data and it responds the data. The server sends the acknowledgement to the client. The client waits for the acknowledgment and it computes the data. It computes by the k means clustering algorithm.
12. Flow Chart
The flowchart can be used for the work flow of the process model. The flowchart analysis is a useful tool for determining how to work on the process model, to ease analyzing process. By studying the process steps, the related potential sources of problems can be identified.
First, start the server and client. The client sends the request to the server. The server waits for the client request and it responds to the client. If the request is correct, then the connection is successful. If the request is incorrect, then it shows error. The client sends the request to the server, to receive the client request from the server, for replying with an acknowledgement to send to the client. This allows to connect to the server, with a request.
13. Block Diagram
A block diagram, which is used for the system principal parts is represented by the blocks connected to the server that shows the relationship of each blocks. That, in the software design and process of flow diagrams, it is the heavily used client server architecture. The server communicates with the client and the client communicates with the server. The client always sends the request and the server waits for the client’s request (Kumar and Singh 2010). The server responds the client when the request is correct.
14. UML Class diagram
The UML diagram can be used for static structure diagram, which describes the structure of a system, by showing the system’s classes, its attributes, operations (or methods), and the relationship among the objects. The client and server connects through internet. The internet is an intermediate of client and server. The client sends the request and server responds to the client’s request. The server checks whether the request is correct or not. If the request is correct, then the server sends the acknowledgement. If the request is incorrect, then the server does not send any response to the client.
The client’s process to send the request message on the proxy and the message retransmit to the server and the data will be stored in the server database. The server can send the streaming data on the proxy to the data channel control, to check the message if any errors will occur or not. The proxy data will send the streaming data, added delay and noise message to send it to the client. The client again sends the feedback on the proxy data channel, where it can verify the feedback on the server and again send it on the streaming data, in the client process application.
15. State Transition Diagram
The direction of the flow control can change in the data of client and server acknowledgement.
- We can use the set of states.
- Initial state
- Final sate
- Action (inside the processing of client and server message sending and receiving request)
The client sends the data packet and for sometimes it waits for server’s request. The server sends the response to the client. The server waits for the client’s request. Finally, it computes the data when the client’s request is correct. The TCP client sends the data on the socket and connects it on the server process and then reads the data, if it is valid or not. The data is valid to store on the data base server process.
16. Output screenshots
Open the net beans, Open the file on UDPdatapacket and right click to run the program, if the user first run the server program.
17. Conclusion
In this project, the client and server model’s design is designed. The given data is used for data transfer from the client to server. The client requests the server and the server responds to the client. The server sends acknowledgement. Finally, it computes the data. At last, it receives the replies from the server. The server waits for the client’s request and it responds to the client. The server communicates with the other server, for client’s request. It is very secure and it sends the data packet to one to another. The client server of the computing model can be used for computerized system, in the development process. The designing of network model can use the function that follows two types of independent and autonomous processes: server and clients, which are investigated in this report.
References
E., O., and O. O. 2018. “Development Of An Electronic Examination System Using A Client Server Model”. International Journal Of Computer Applications 180 (24): 1-6. doi:10.5120/ijca2018916559.
Kumar, Pradeep, and Yogesh Singh. 2010. “A Software Reliability Growth Model For Three-Tier Client Server System”. International Journal Of Computer Applications 1 (13): 9-16. doi:10.5120/289-451.