44 Networking and Online Games: Understanding and Engineering
44 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games In other words, an IP address represents both the identity of the attached host and the host s location on the network. (This location is topological rather than geographical. It reflects where the host exists within the interconnections of IP networks and service providers that make up the Internet.) IP addresses are closely related to, but not the same as, Fully Qualified Domain Names (FQDNs, or simply domain names ). Domain names (often imprecisely referred to as Internet addresses) are textual addresses of the form www.gamespy.com , www.freebsd.org or www.bbc.co.uk . Domain names must be resolved into IP addresses using the Domain Name System (DNS). Endpoint applications typically hide this translation step from the user, and use the resulting numeric IP address to establish communication with the intended destination. (We will discuss the DNS in greater detail later in this chapter.) 4.1.2 Layered Transport Services Most game developers will utilise IP in conjunction with either the TCP [RFC793] or UDP [RFC768]. TCP and UDP are transport protocols, designed to provide another layer of abstraction on top of the IP layer s network service. Both TCP and UDP support the concurrent multiplexing of data from multiple applications onto a single stream of IP packets between two IP hosts. TCP additionally provides reliable delivery on top of the IP network s best effort service. 4.1.2.1 Transmission Control Protocol (TCP) Early Internet applications such as email, file transfer protocols and remote console login services were sensitive to packet loss but relatively insensitive to timeliness (everything sent had to be received, but delays from tens of milliseconds to a few seconds were tolerable). The common end-to-end transport requirements of such applications (reliable ordered transfer of bytes from one endpoint to another) motivated development of TCP. TCP sits immediately above the IP layer within a host (see Figure 4.3), and creates bidirectional paths (sometimes referred to as TCP connections or TCP sessions)between endpoints. An application s outbound data is broken up and transmitted inside TCP frames, which are themselves carried inside IP packets across the network to the destination. The 136.80.1.2 IP Network Destination 142.8.20.8 Source 136.80.1.2 TCP Frame 142.8.20.8 TCP header TCP payload (application data) TCP layer IP layer TCP layer IP layer Figure 4.3 TCP runs transparently across the IP network
Note: If you are looking for good and high quality web space to host and run your application check Lunarwebhost Mac Web Hosting services