Linux server can communicate with Windows clients. All of us probably did it many times, because when we try to access the websites which is hosted on a Linux webserver from Windows desktop we are doing the same thing. Also, nowadays most of the servers are now running on different variants of Linux and the count is still increasing.
TCP/IP is one of the part of the Internet protocol suite, which was defined by the IETF (Internet Engineering Task Force). It precedes Windows and Linux. Being the client and server follows the same protocol suite (e.g like TCP/IP), they can communicate independent of the underlying OS. These inter compatibility is the main purpose of TCP/IP protocol. Because of these protocols that the internet exists/working today. Linux received the TCP /IP suite from Unix, which used to create the original Internet, while Windows added it later. Communication protocols are similar to languages. If two people know the same language, they can talk with each other. Linux, Windows or let it be any Operating System which knows the language of communication protocols and then they can communicate using that protocols.
There are multiple application layers like HTTP, SMTP and SMB which are layered on top of TCP. IETF created application layers like SMTP, Microsoft created SMB like layers and some such as HTTP by some others. And many protocols are eventually standardized though the IETF process. SMB is created for network shared file systems on Windows servers. Later Linux clients were written for it (Samba), by this we were able to access a Windows file share from Linux and vice-versa. Samba runs on Unix platforms, but they communicate to Windows clients like a native. Samba helps a Unix based system to move into a Windows “Network Neighborhood” without making a tumult. The windows users can access file in samba share and other print services without knowing the fact that those services are being offered by a Linux server or Unix host.
The following are some most commonly used communication between Linux servers and windows client. Also, these can be used in almost same way in Linux clients as well. Most of the services that running on Linux servers can be accessed using different client applications in windows machines one way or the other. The most frequently used one by all is the accessing of websites hosted in Linux servers using web browsers like Google Chrome, Mozilla Firefox,etc in Windows devices. All who are familiar with internet is used this at least one in their lifetime. The other communication between Linux server and client is accessing the FTP accounts on Linux FTP servers from Windows FTP clients like Filezilla. The most of people in the hosting field as well the programmers/developers use this for uploading contents to website or modify it. The other one is the SMTP which is used for email purpose. The Linux server or it variants hosts the email server and for devices using Linux, Windows,etc will use different email clients to access it. Even if for accessing SSH service running on the Linux servers can be accessed using Windows clients like “putty”. This explains the fact about the interoperability of protocols and communication between Linux servers and different Windows client applications.
Please see the following to get a detailed information on how a server-client communicate using TCP/IP. Transport protocol (TCP or UDP), Socket and IP address and port are the important things that are required to establish connection between server and clients.
Transport protocol (TCP)
TCP stands for transfer control protocol, which is a connection oriented protocol. It is a widely used stable and secure protocol for communication. In TCP, the receiver will generate the acknowledgement response of received packets, so the sender (client) must need to wait for the acknowledgement packet from the server and if the response does not come or any packet error or loss is generated, the server will resend it to the client again.
The socket represents the end point of a connection during communication between two devices. The socket required on both sides that is in server and client for communication. A socket is duplex one that means data can be sent as well as received through it.
IP address and port
Internet Protocol (IP) address has an important role in networking and they are used to communicate over a network. It is a unique numerical address that identifies each computer on a network. It have an important role in client-server communications.
The port is the logical communication place or location where information is sent. DIfferent protocols have different port numbers. Depending on the protocol being used specific ports are required to communicate between server and client. Port numbers are ranging from 0 to 65535 and Ports 0 to 1024 are reserved for use by certain privileged services.
Communication using TCP/IP
The server-client communication model helps to share the resources available on the server. It also provides services to different client devices and to remote servers. Server grant the resources and different kind of services when clients request for it.
The following are taking place at the client side for TCP/IP communication:
- Create a socket for communication.
- Configure TCP protocol with IP address of server and port number.
- Connect with server through socket
- Wait for acknowledgement from the server
- Send message to the server
- Receive message from the server
The following are taking place at the server side for TCP/IP communication:
- Create a socket for communication
- Bind the local port and connection address
- Configure TCP protocol with port number
- Listen for client connection
- Accept connection from the client
- Send Acknowledgement
- Receive message from the client
- Send message to the client
After exchanging data the socket will be closed.
ServerAdminz provides Outsourced 24/7 Technical Support, Remote Server Administration, Server Security, Linux Server Management, Windows Server Management and Helpdesk Management to Data centers, Hosting companies and ISPs around the world. We specialize in Extended Server Security, Server Hardening, Support of Linux/UNIX/Windows servers, products and services.
ServerAdminz is a server support company specialized in Outsourced 24/7 Web Hosting Support, Remote Infrastructure Management, NOC, Cloud and Enterprise Security Services. With over 10+ of years of experience in working with major Data Centers and ISPs with 130+ experienced technicians, we continue to manage more than 49,000 servers from 85+ countries and has bagged 5 international awards.
If you have any queries regarding server management services,share your thoughts and our representative will get back to you.