Getting Started With Networking : Part I
How is this accomplished?
“Networking” is the basic umbrella term that we’ll use to describe any communication between one machine and another, but we’ll need to step further down into the darkest corners of your computer to learn how networking is accomplished and hopefully you’ll learn some terminology along the way…
-
Topology
- There are 2 basic layouts that computers can be arranged in when it comes to networking; client-server or peer-to-peer. At a higher level, these arrangements are known as the topology of your network.
Client-Server communication is arranged such that one machine, designated as the “Server” machine, forms a central hub which every other machine (known as “clients”) communicate with. In other words, picture a giant bicycle wheel, in which the server is at the centre communicating with each spoke. In this topology, a client may only send and receive data to the server, but does not talk directly with any other client in the system. How the internet “works” is a client-server arrangement; you pull up your web browser which acts as a client to any website which functions as a server.
Peer-to-Peer communication occurs when each client in the system sends/receives data with every other client in the system. There is one machine loosely designated a “server” but it is only to handle some basic management tasks, and not to act as any real kind of relay. The popular “Bitorrent” is an example of a peer-to-peer topology in action. -
Packets
- The basic, atomic unit of data which machines in any topology send and receive to each other is known as a “packet”. In other words, when one machine sends data to another, it does not simply send whole documents and/or files back and forth.
-
Protocols
- Unlike C3PO and his several million forms of communication, machines today pretty much only have a choice of 2 protocols (aka “languages”) to draw from; TCP/IP and UDP.
The TCP/IP, or Transmission Control Protocol, functions by a fairly rigorous process. When you want to transmit data using TCP/IP, your machine will first break down the data into the packets. As these packets are created, your machine will attach a “header” to each packet which contains the information necessary for the target machine to rebuild the whole data once all the packets are received. As the target machine begins to receive packets, it will inspect the packet headers to ensure that it has all the necessary information to rebuild your data. If it detects that some information is missing (aka a “dropped packet”) then it will ask your machine to resend the packets it needs. For this reason, TCP/IP is known as providing “guaranteed delivery” for your packets.
UDP, or User Datagram Protocol, works with packets in a different manner. Your machine will still break down the data into packets, and attach a packet header to each one, however the header contains less information than the packet headers used in a TCP/IP process. UDP headers are smaller and only provide the necessary information for rebuilding the sent data. If the target machine analyzes the received packets and discovers any missing data, nothing is done. The target machine will not ask your machine to resend any data. Unlike the TCP/IP protocol, packets are also not guaranteed to arrive in the order they were sent. While at first the UDP protocol sounds like a “bad” approach for networking, because of the way it works it provides a very fast communication layer which is important for some games like first person shooter deathmatches.The only major takeaway from understanding these 2 protocols and their use in games, is that there are cases where one protocol is preferred over another. After all, there are 2 for a reason.



This is default description text on Padangan Themes, of course you can change this text via you profile administration.