AB

Computer Networks and Internet Protocols Flashcards

Objectives of the Course

  • Understand how two computers in the Internet talk to each other.
  • Basic functionalities of the computer networks.
  • Learn how to program the network.
  • Future of the computer network – Do we need any further changes in the design?
  • Functionalities
  • Protocols
  • Network Architecture

Network Architecture

  • A way to visualize how two remote computers talk to each other.
  • Network Protocol Stack.
  • Requirement: Convert digital data to analog signal and vice versa using Physical Layer.
  • Requirement: Ensure proper scheduling in media access using Data Link Layer, L2 Switch.
  • Requirement: Find out a suitable path to forward data using Network Layer, L3 Switch or Routers.
  • Requirement: End to end traffic control in the network using Transport Layer.
  • Network Protocol Stack includes Application, Transport, Network, Data Link, and Physical Layers.

Data Transfer Between Two Remote Machines

  • Source and Destination communicate through Application, Transport, Network, Data Link and Physical Layers.

Protocols at Different Layers

  • Application: HTTP, FTP, SMTP
  • Transport: TCP, UDP, RTP
  • Network: IPv4, IPv6, MPLS
  • Data Link: Ethernet, WiFi, Bluetooth, UMTS, LTE
  • Physical

Network Management and Control – Cross Layer Protocols

  • Physical: Ethernet, WiFi, Bluetooth, UMTS, LTE
  • Data Link: ARP, DHCP
  • Network: IPv4, IPv6, MPLS
  • Transport: TCP, UDP, RTP
  • Application: HTTP, FTP, SMTP, DNS, SNMP

Two Ways to Learn Computer Networks

  • Application, Transport, Network, Data Link, Physical Layers displayed in a diagram.

History of Computer Networks

History of Internet - Year and Event

  • 1836: Telegraph by Cooke and Wheatstone revolutionized human communications. Morse Code (series of dots/dashes) is similar to binary (0/1).
  • 1858-1866: Transatlantic cable allowed direct instantaneous communication across the Atlantic. Cables connect all continents and are still a main telecommunications hub.
  • 1876: Telephone by Alexander Graham Bell. Telephone exchanges provide the backbone of Internet connections today. Modems provide Digital to Audio conversions for computers to connect over the telephone network.
  • 1957: US forms ARPA (Advanced Research Projects Agency) within the DoD to build US skills in computer technology. USSR launches Sputnik.
  • 1962: ARPA's contracts from the private sector to universities laid the foundations for what would become the ARPANET.
  • 1962-1968: Packet-switching (PS) networks developed. The Internet relies on packets to transfer data, which is split into tiny packets that may take different routes to a destination.
  • 1969: ARPANET commissioned by DoD for research into networking. Four nodes: UCLA, SRI, UCSB, and Univ of Utah.
  • 1971: Ray Tomlinson invents Email program to send messages across a distributed network. 15 nodes (23 hosts) on ARPANET.
  • 1973: Global Networking becomes a reality with First international connections to the ARPANET: University College of London (England) and Royal Radar Establishment (Norway).
  • 1974: Packets become mode of transfer - Transmission Control Program (TCP) specified. Packet network Intercommunication is the basis of Internet Communication. Telenet, a commercial version of ARPANET, opened as the first public packet data service.
  • 1977: E-mail becomes a reality with 100+ hosts.
  • 1979: News Groups formed and USENET established using UUCP - A collection of discussions groups, news groups.
  • 1982: establishes the Transmission Control Protocol (TCP) and Internet Protocol (IP), as the protocol suite, commonly known as TCP/IP, for ARPANET. TCP/IP defines future network communication.
  • 1983: Name server developed.
  • 1984: Domain Name Server (DNS) introduced. 1,000+ Hosts. NSFNET created, with NSF establishing 5 super-computing centers to provide high-computing power for all - This allows an explosion of connections, especially from universities.
  • 1987: Commercialization of Internet. UUNET is founded with Usenix funds to provide commercial UUCP and Usenet access, with ~30,000 Hosts.
  • 1989: First relays between a commercial electronic mail carrier and the Internet with 100,000+ Hosts. WWW concept by Tim Berners-Lee.
  • 1990: First search-engine (Archie) with 300,000 Hosts and 1,000 News groups. ARPANET ceases to exist. First browser/editor program.
  • 1991: User Friendly Interface to Internet established using Gopher released by Paul Lindner and Mark P. McCahill from the U of Minnesota - Text based, menu-driven interface to access internet resources.
  • 1992: Multimedia changes the face of the Internet, with 1+ Million Hosts and 4,000 News groups. The term "Surfing the Internet" is coined by Jean Armour Polly.
  • 1993: The WWW Revolution truly begins with 2 Million Hosts and 600 WWW sites. The Mosaic Web browser is released on the Net.
  • Web exploded…
    • 1994 – 3,2 million hosts and 3,000 websites
    • 1995 – 6,4 million hosts and 25,000 websites
    • 1997 – 19,5 million hosts and 1,2 million websites
    • January 2001 – 110 million hosts and 30 million websites
    • Expansion continues….
  • Some Facts
    • 1994 – Hotmail starts web based email
    • 1994 – World Wide Web Consortium (W3C) was founded
    • 1995 – JAVA source code was released
    • 1996 – Mirabilis (Israel) starts ICQ
    • 1998 – Google is founded

Books/Resources to Follow

Internet Resources

  • The Internet Engineering Task Force (IETF) - The goal of the IETF is to make the Internet work better. (https://www.ietf.org/)
  • RFC Editor - RFCs contain technical and organizational notes about the Internet.

Protocol Stacks – OSI and TCP/IP

  • Protocol: A controlled sequence of messages exchanged between systems to accomplish a task. Protocol specifications define this sequence and message format.

  • OSI Model Layers:

    • Physical: Transmission of binary data.
    • Data Link: Transfer of information units, framing, error checking.
    • Network: Delivery of packets; routing.
    • Transport: End-to-end reliable/unreliable delivery.
    • Session: Establishment and maintenance of sessions.
    • Presentation: Data formatting and encryption.
    • Application: Network applications (file transfer, terminal emulation).
  • Transmission Control Protocol/Internet Protocol (TCP/IP): A dominant standard for inter-networking that specifies how information packets are exchanged between computers over one or more networks.

  • Comparison of OSI and TCP/IP models:

    • OSI: Application, Presentation, Session, Transport, Network, Data link, Physical
    • TCP/IP: Application, Transport, Network, Data link, Physical
  • TCP/IP

    • Telenet, Trace
    • Ping
    • FTP
    • SMTP
    • SNMP
    • Rlogin
    • route
    • DNS
    • TFTP
    • BOOTP
    • RIP
    • OSPF
    • TCP
    • UDP
    • ICMP
    • IP
    • LLC
    • HDLC
    • PPP
    • Ethernet 802.3 X.25 Token Ring Frame Relay ATM SMDS etc.
    • Fiber Optics
    • UTP
    • Coax
    • Microwave
    • Satellite
    • STP
  • OSI & TCP/IP Protocol-Stacks and Protocols

    • OSI: SMTP, FTP, HTTP, POP3, IMAP4, SNMP (Application), Presentation, Session, TCP & UDP (Transport), IP (Networking), Ethernet (Datalink), Physical
    • TCP/IP: Application, Transport, Networking, Datalink And Physical, Protocols
  • TCP/IP - Packet Encapsulation

    • Application - Telnet, FTP, TFTP, HTTP,BOOTP, DHCP, SNMP - Socket API - User Data (Messages or Streams)

    • Transport - TCP, UDP - Transport Protocol Messages

    • Network - IP, ARP, ICMP - IP Datagrams

    • Data Link - PPP, SLIP, Ethernet - Network-Specific Frames

    • Physical - Physical Devices

    • Ethernet \ Frame = Ethernet \ Header(14) + IP \ Header(20) + TCP \ Header(20) + \ Application \ Data(46 \ to \ 1500 \ bytes) + Ethernet \ Trailer(4)

Local Area Network (LAN) – Typical Components

  • Clients – workstations
  • Servers – usually have more computing resources
  • Network devices
    • Repeaters
    • Hubs
    • Transceivers
    • NICs
    • Bridges
    • Switches
    • Routers

Wide Area Networks

  • A WAN is a data communications network covering a large geographic area.
  • Unlike LANs, a WAN connection is generally rented from a service provider.
  • WANs connect various sites at different geographic locations so that information can be exchanged.

Evolution of LAN Devices

  • NICs, Repeaters, & Hubs
  • Bridges
  • Switches
  • Routers

NIC Specifics

  • NICs provide hosts with access to media by using a MAC address.
  • MAC stands for Media Access Control
  • NICs operate at Layer 2 !!

NICs, Repeaters, & Hubs

  • To connect two computers, you must Install a NIC card in each computer, and attach computers using a crossover cable.
  • Repeaters can be used to increase the distance. Repeaters amplify and retime signals. approximately 100 \ meters ([
    300 \ feet).
  • Hub: A multi-port repeater.

A Dilemma!

  • As businesses expanded their networks, they began to cascade hubs.

What’s The Problem?

  1. Hubs share bandwidth between all attached devices.
  2. Hubs are stupid, Layer 1 devices. They cannot filter traffic.
  3. Most LANs use a “broadcast topology,” so every device sees every packet sent down the media.

Broadcast Topology

  • All hubs forward all traffic to all devices.
  • If Host 1 wants ping Host 2, all hosts see the ping. Only Host 2 will respond.

What’s The Solution?

  • We need a smarter hub!
  • What’s a “smarter hub” called?
  • A Bridge!
  • Bridges filter network traffic based on MAC addresses.

Bridge

  • To lessen the amount of LAN traffic, businesses began to uses bridges to filter frames based on MAC addresses.
  • Now, if Host 1 pings Host 2, only the hosts on that LAN segment see the ping. The bridges stop the ping.

Switch

  • A switch (also know as a multi-port bridge), can effectively replace these four bridges.
  • Another benefit of a switch is that each LAN segment gets dedicated bandwidth.
  • Each LAN segment gets bandwidth of 10 \ Mbps .

Router

  • Routers filter traffic based on IP addresses. The IP address tells the router which LAN segment the ping belongs to.
  • Host 1 send ping to host 16.

Devices Function at Layers

  • 7 Application (Host)
  • 6 Presentation
  • 5 Session
  • 4 Transport
  • 3 Network (Router)
  • 2 Data Link (NIC Card)
  • 1 Physical
  • Each device not only works at its layer, but all layers below it.
  • For example, a router is a layer 3 device but also uses MAC addresses (layer 2) and repeats the signal (layer 1).

Hierarchical Design Model

  • A layered model for network design.
  • Consists of 3 tiers
    • Access layer - for end user connectivity
    • Distribution layer - for policy based routing and access control
    • Core layer- for switching packets as fast as possible across the internetwork.

Few points to note

  • Routers, by default, break up broadcast domain
  • Broadcast domain – Set of all devices on a network segment that hear all the broadcasts sent on that segment
  • Breaking-up of network broadcast is important – because when a host or server sends a network broadcast, every device on the network “must” read and process that broadcast.
  • When a router’s interface receives this broadcast – it discards the broadcast without forwarding it on to other network
  • Router also breaks up “collision domain” as well !
  • Switches aren’t used to create internetworks, they’re employed to add functionality to an internetwork LAN
  • Switches only “switches” frames from one port to other within a “switched network”
  • Switches break-up collision domains.
  • Collision domain – Ethernet term! – used to describe a network scenario in which one particular device sends a packet on a network segment, forcing other devices on the same segment to pay attention to it. At the same time, a different device tries to transmit, leading to collision, then both the devices must re-transmit – a situation found in a Hub
  • Each and every port on a switch represent its own collision domain (Hub represents only one collision domain and only one broadcast domain)

Circuit Switching and Packet Switching

  • Switched Network
    • Communication between distant stations/ end-devices is typically done over a network of switching nodes.
    • Switching nodes do not concern with content of data. The purpose is to provide a switching facility that will communicate/transmit the data from source to destination via intermediate node(s).
    • A collection of nodes and connections forms a communications network.
    • In a switched communications network, data entering the network from a source station are routed to the destination by being switched from node to node.
  • Switching Technologies
    • Switching nodes may connect to other nodes, or to some stations.
    • Network is usually partially connected – However, some redundant connections are desirable for reliability
    • Two different switching technologies: Circuit switching and Packet switching

Circuit Switching

  • Dedicated communication path between two stations.
  • Three phases: Establish, Transfer, Disconnect.
  • Must have switching capacity and channel capacity to establish connection.
  • Must have intelligence to work out routing.

Packet Switching

  • A station breaks long message into packets.
  • Packets are sent out to the network sequentially, one at a time
  • The stream of packets are routed through the network and are delivered to the intended destination?
  • Two approaches: Datagram approach & Virtual circuit approach

Circuit Switching

  • Approaches

    • Space-Division Switch
    • Time-Division Switch
      • TDM Bus
    • Combinations
  • Long-distance office

  • End Office

  • Subscriber Loop

  • Connecting Trunk

  • Intercity Trunk

  • Digital PBX

  • Circuit Switching - Space Division Switch

    • Crosspoint

    • To control station

    • Multi-stage Space Division Switch

  • Circuit Switching - Time Division Multiplexing

    • a. No switching
    • b. Switching
  • Circuit Switching – Time Slot Interchange

Circuit Switching - Properties/Issues

  • Once connected, transfer is transparent
  • Developed for voice traffic (phone).
  • Inefficient
    • Channel capacity dedicated for duration of connection
    • If no data, capacity wasted
  • Set up (connection) takes time
  • Data rate is fixed - Both ends must operate at the same rate

Packet Switching – Basics

  • Data transmitted in small packets
    • Typically 1000 octets (8 bit byte)
    • Longer messages split into series of packets
    • Each packet contains a portion of user data plus some control info
  • Control info
    • Routing (addressing) info
  • Packets are received, stored briefly (buffered) and passed on to the next node
    • Store and forward

Packet-Switching Network

  • Application data, control information, and packet header

Packet Switching – Advantages

  • Line efficiency
    • Single node to node link can be shared by many packets over time
    • Packets queued and transmitted as fast as possible
  • Data rate conversion
    • Each station connects to the local node at its own speed
    • Nodes buffer data if required to equalize rates
  • Packets are accepted even when network is busy
    • Delivery may slow down
  • Priorities can be used

Packet Switching – Techniques

  • Station breaks long message into packets
  • Packets sent one at a time to the network
  • Packets are handled in two ways
    • Datagram
    • Virtual circuit

Packet Switching – Datagram

  • Each packet treated independently
  • Packets can take any practical route
  • Packets may arrive out of order
  • Packets may get lost or delayed
  • Up to receiver to re-order packets and recover from missing packets

Packet Switching – Virtual Circuit

  • Preplanned route established before any packets sent
  • Call request and call accept packets establish connection (handshake)
  • Each packet contains a virtual circuit identifier instead of destination address
  • No routing decisions required for each packet
  • Clear request to drop circuit
  • Not a dedicated path

Packet Switching - VC Switching Table

  • Contains Incoming and Outgoing ports and VCIs (Virtual Circuit Identifier)

Packet Switching – Virtual Circuits vs Datagram

  • Virtual circuits
    • Network can provide sequencing and error control
    • Packets are forwarded more quickly
      • No routing decisions to make
    • Less reliable
      • Loss of a node loses all circuits through that node
  • Datagram
    • No call setup phase
      • Better if few packets
    • More flexible
      • Routing can be used to avoid congested parts of the network

Circuit vs. Packet Switching

Circuit Switched

  • Bandwidth guaranteed
  • Circuit capacity not reduced by other network traffic
  • Circuit costs independent of amount of data transmitted, resulting in wasted bandwidth
  • Suitable for voice communication

Packet Switched

  • Bandwidth dynamically allocated on as-needed basis
  • May have concurrent transmissions over physical channel
  • May have delays and congestion
  • More cost-effective, offer better performance
  • Suitable for data communication

Protocol Stack – Layered Services

  • Protocol defines the interfaces between the layers in the same system and with the layers of peer system
  • Building blocks of a network architecture
  • Each protocol object has two different interfaces
    • service interface: operations on this protocol
    • peer-to-peer interface: messages exchanged with peer
  • “Protocol” includes
    • specification of peer-to-peer interface
    • module that implements this interface
  • Features:
    • Protocol Specification: prose, pseudo-code, state transition diagram
    • Interoperable: when two or more protocols that implement the specification accurately
    • IETF: Internet Engineering Task Force

Key Elements of a Protocol

  • Syntax: Data formats, Signal levels
  • Semantics: Control information, Error handling
  • Timing: Speed matching, Sequencing

Interfaces

  • Service and Peer Interfaces
  • High-level object linked by Service interface to Protocol
  • Protocols link to each other via Peer-to-peer interface.

Protocol Hierarchy

  • File, Digital library, Video Application linked to RRP
  • RRP Linked to MSP
  • MSP Linked to HHP

Encapsulation

  • High-level messages are encapsulated inside of low-level messages

OSI (Open Systems Interconnection) Model

  • End host: Application, Presentation, Session, Transport, Network, Data link, Physical
  • One or more nodes within the network: Network, Data link, Physical

Protocol Layers - Functions

  • Physical Layer
    • Handles the transmission of raw bits over a communication link
  • Data Link Layer
    • Collects a stream of bits into a larger aggregate called a frame
    • Network adaptor along with device driver in OS implement the protocol in this layer
    • Frames are actually delivered to hosts
  • Network Layer
    • Handles routing among nodes within a packet-switched network
    • Unit of data exchanged between nodes in this layer is called a packet
  • Lower three layers are typically implemented on all network nodes
  • Transport Layer
    • Implements a process-to-process channel
    • Unit of data exchanges in this layer is called a message
  • Session Layer
    • Provides a name space that is used to tie together the potentially different transport streams that are part of a single application
  • Presentation Layer
    • Concerned about the format of data exchanged between peers
  • Application Layer
    • Standardize common type of exchanges
  • Transport layer and the higher layers typically run only on end-hosts and not on the intermediate switches and routers

Internet Architecture

  • Application, TCP UDP, IP, Subnetwork
  • FTP, HTTP, NV, TFTP on Application Layer
  • TCP,UDP on TCP UDP Layer
  • IP on IP Layer
  • NET₁, NET₂, NETn on Subnetwork Layer

Internet Architecture

  • Defined by IETF
  • Three main features
    • Does not imply strict layering. The application is free to bypass the defined transport layers and to directly use IP or other underlying networks
    • An hour-glass shape – wide at the top, narrow in the middle and wide at the bottom. IP serves as the focal point for the architecture
    • In order for a new protocol to be officially included in the architecture, there needs to be both a protocol specification and at least one (and preferably two) representative implementations of the specification

Network Application Programming Interface (API)

  • Interface exported by the network
  • Since most network protocols are implemented (those in the high protocol stack) in software and nearly all computer systems implement their network protocols as part of the operating system
  • The interface is called the network Application Programming Interface (API)

TCP/IP Protocol Stack

  • Applications, Transport, Internetwork, Network Interface and Hardware
  • TCP/IP Layers - Group of functions in each layer
  • Application layer
    • Provided by the program that uses TCP/IP for communication.
    • An application is a user process cooperating with another process usually on a different host (there is also a benefit to application communication within a single host).
    • Examples of applications include Telnet and the File Transfer Protocol (FTP).
    • The interface between the application and transport layers is defined by port numbers and “sockets”
  • Transport layer
    • Provides the end-to-end data transfer by delivering data from an application to its remote peer. Multiple applications can be supported simultaneously.
    • Most-used transport layer protocol is the Transmission Control Protocol (TCP), which provides connection-oriented reliable data delivery, duplicate data suppression, congestion control, and flow control.
    • Another transport layer protocol: User Datagram Protocol (UDP) – It provides connectionless, unreliable, best-effort service.
    • As a result, applications using UDP as the transport protocol have to provide their own end-to-end integrity, flow control, and congestion control, if desired.
    • Usually, UDP is used by applications that need a fast transport mechanism and can tolerate the loss of some data.
  • Internetwork layer (IP / Network Layer)
    • Provides the “virtual network” image of an internet (this layer shields the higher levels from the physical network architecture below it).
    • Internet Protocol (IP) is the most important protocol in this layer. It is a connectionless protocol that does not assume reliability from lower layers.
    • IP does not provide reliability, flow control, or error recovery. These functions must be provided at a higher level.
    • Provides a routing function that attempts to deliver transmitted messages to their destination.
    • A message unit in an IP network is called an IP datagram. This is the basic unit of information transmitted across TCP/IP networks.
    • Typical internetwork-layer protocols are IP, ICMP, IGMP, ARP, and RARP.
  • Network interface layer
    • Is the interface to the actual network hardware.
    • This interface may or may not provide reliable delivery, and may be packet or stream oriented.
    • TCP/IP does not specify any protocol here but can use almost any network interface available, which illustrates the flexibility of the IP layer.
    • Examples are IEEE 802.2, X.25 (which is reliable in itself), ATM, FDDI, and even SNA.
    • There should be some underlying physical networks and interfaces
  • TCP/IP specifications do not describe or standardize any network-layer protocols per se; they only standardize ways of accessing those protocols from the internetwork layer.

TCP/IP Architecture

  • TCP/IP : Protocol Architecture and Communication Network has Computer A, Computer B, and Computer C communicate through applications, transport, and network access.
  • TCP/IP : Protocol Architecture and Communication Network has Computer X and Computer Y communicate, with Application Protocol, Transport Protocol, Network access protocol, and Communications network.

TCP/IP : Protocol Architecture and Communication Network

  • Computer X: Application, Transport, Network access
  • Computer Y: Application Protocol, Application, Transport Protocol, Network access protocol, Communications network, Transport, Network access

TCP/IP : Operation

  • Source X and Destination Y communication
  • DSAP: destination service access point.
  • DHost: destination host.

TCP/IP : Concept

  • Host A: App X, App Y communicate through TCP, IP, and Network Access
  • Host B: Port or service access point (SAP), App Y, Logical connection (TCP connection), Global network address, TCP, IP, Network Access
  • Router J: IP, NAP 1 NAP 2, Network 1, Network 2, Protocol #2, Physical, Subnetwork attachment, Physical Logical connection. Network 1 is using NAP1, and Network 2 using NAP2

TCP/IP : Sample Protocols

  • BGP, FTP, MIME, HTTP SMTP TELNET SNMP, TCP, IP, UDP, ICMP IGMP, OSPF, RSVP

Protocol Stack Implementation in a Host

  • Application, Transport - Software, Kernel
  • Network - Firmware, Device Driver
  • Data Link, Physical - Hardware

How Application Data Passes Through Different Layers

  • Application Layer: HTTP Data
  • Transport Layer: HTTP Header, TCP Header, HTTP Data
  • Network Layer: HTTP Header, TCP Header, IP Header, HTTP Data
  • Data Link Layer: HTTP Header, TCP Header, IP Header, MAC Header, HTTP Data
  • Physical Layer: HTTP Header, TCP Header, IP Header, MAC Header, PHY Header, HTTP Data, PHY Trailer

Application Layer Interfacing

  • UDP: End to end packet delivery
  • TCP: Connection Establishment, Reliable Data Delivery, Flow and Congestion Control, Ordered Packet Delivery

Responsibilities of Application Layer

  • Identifying and establishing the availability of intended communication partners
  • Synchronizing cooperating applications
  • Establishing agreement on procedures for error recovery
  • Controlling data integrity

Application Layer Examples

  • Domain Name System (DNS)
  • File Transfer Protocol (FTP)
  • Hypertext Transfer Protocol (HTTP)
  • Simple Mail Transport Protocol (SMTP)
  • Simple Network Management Protocol (SNMP)
  • Telnet
  • ….

DNS

  • Domain Name System (DNS) is a system used for translating names of domains into IP addresses.
  • There are more than 200 top-level domains on the Internet
    • .in - India
    • .us – United States
    • .uk – United Kingdom
    • .edu – educational sites
    • .com – commercial sites
    • .gov – government sites
    • .org – non-profit sites
    • .net – network service

FTP and TFTP

  • FTP is a reliable, connection-oriented service that uses TCP to transfer files between systems that support FTP.
  • TFTP is a connectionless service that uses User Datagram Protocol (UDP).
    • TFTP is used on routers to transfer configuration files and Cisco IOS images.
    • TFTP is designed to be small and easy to implement.

HTTP

  • Clients and Servers exchange messages using HTTP over TCP/IP
  • Web Browser sends HTTP Request Message
  • Web Server sends HTTP Response Message

SMTP

  • E-mail servers communicate with each other using the Simple Mail Transport Protocol (SMTP) to send and receive mail.

SNMP

  • Simple Network Management Protocol is an application layer protocol that facilitates the exchange of management information between network devices.
  • Management entity, NMS
  • Agent, Management database
  • Managed devices

Telnet

  • Telnet client software provides the ability to log in to a remote Internet host that is running a Telnet server application and then to execute commands from the command line.

Network API: “Socket”

  • Server and Client exchange messages over the network through a common Socket API