KEMBAR78
Understanding computer networks | PDF
Narendran Thangarajan,
 Final Year CSE, SSNCE.
   What makes a computer network
   Uses
   Explain how TCP/IP model evolved
    ◦ TCP/IP Model
        Network Access Layer
        Internet Layer
        Transport Layer
        Application Layer
   Sockets
   What happens when we open a website
   Various fields of research
Two computers connected with a cable




                                 More than two computers connected
                                 using an internetworking device
   Resource Sharing
    ◦ Hardware (Processor, Storage, Printers)
    ◦ Software (Google Docs)
   Information Sharing
    ◦ Access required information anywhere (Files, DB)
    ◦ Search for Information (Google!)
   Communication
    ◦ eMail and Chat
    ◦ Forums
   Remote Computing
   Distributed Processing
    ◦ Grid Computing
    ◦ Hadoop
   Two Sub-layers
    ◦ Physical Layer
    ◦ Data Link Layer

   Physical Layer
    ◦ Consists of the basic networking hardware
      transmission technologies
    ◦ Defines how raw bits are transmitted between
      computers.
    ◦ Eg: Ethernet, SONET, USB, Wifi, WiMAX, Bluetooth, IRDA

   Data Link Layer
    ◦ Provides a unique address to each computer.
      (MAC Address)
   Two major divisions
    ◦ Wired
      Ethernet Physical Cables – Coaxial, UTP
      SONET – Synchronous Optical Networking
      USB

    ◦ Wireless
        IEEE 802.11 – Popularly called “Wifi”
        WiMAX
        Bluetooth
        IRDA
Infrastructure WLAN              Adhoc Wireless Networks
Access point bridges the wired   Decentralized – Does not
network and the wireless         depend upon preexisting
network                          infrastructure
   Once physically connected to the network, our
    computer is identified to the other systems using a
    hardware address called MAC Address

   MAC Address is unique
   48-bit address burnt into the NIC of every machine
Hub (Layer 1)
Transmits the
incoming data to all
the nodes attached
to it


 Switch (Layer 2)
 Transmits the
 incoming data to
 the receiver alone
   There must be atleast one switch that knows the
    location of all the systems in the network.
   Any solutions?
   Group a set of computers under a single IP
    network address.

   There are many IP host addresses under a
    single network address.
    ◦ Eg: Network Address = 10.0.0.0
          Host addresses = 10.0.0.1, 10.0.0.2,10.0.0.254

   Each group is called a LAN (Local Area
    Network) and systems are connected using a
    Switch.
   Routers make the Internet Layer of the TCP/IP
    stack.
   Using the IP Address we can find a computer
    uniquely.

   But communications take place between specific
    processes running on different computers

   PORT NUMBERS to the rescue!

   Port numbers is a number given to a software-
    construct and a logical endpoint (not a hardware
    component).
    Eg: HTTP – 8080, MySQL - 3306
   IP Address  Unique computer
    Port number  Unique process

   (IP Address : Port Number)  Unique process
    in a given computer. The endpoint for any
    communication ie. A socket.

   Eg: www.facebook.com would be running on
    40.0.0.10:8080. 8080 is the port number
    since it’s a website.
Client Server Applications

        The Web Service is provided by the server
        and the clients use these services


   Client
                                                     Server
                           Network


Client machine
                                                Server machine
             This is where sockets come in !!
        A client, A server, and network
Sockets
 Introduced in BSD 4.1 UNIX 1981.


 Sockets are the endpoints of any
  communication over the internet.

 Sockets are identified by socket addresses.


 Socket Address = IP Address + Port Number
Why IP Address + Port number?
 • IP Address is of the form 10.0.0.1

 • Port Number can be anything from 0 to 65,535.
Destination Socket = 10.0.0.2 : 80

IP Address – Choose network

                      20.0.0.0



     10.0.0.0                     30.0.0.0




                       40.0.0.0
Destination Socket = 10.0.0.2 : 80


IP Address -> MAC Address – Locate the
                          specific system



            10.0.0.1

        10.0.0.2
Port Number – Process specific
Port 10000



                           Port 11000




                         Port 120000
Understanding Ports

         OutLook             AVG
Gmail               YM
         Express            Update



Port 1   Port 2    Port 3   Port 4
10000    11000     12000    13000

          Transport Layer
                                         Packet
                                         Port num    Data
                                           10000      “Hi!”

                                     Network layer
What happens when you type
   www.facebook.com?
Browser looks up IP Address
   Browser DNS Cache
   OS Cache
   Router Cache
   ISP DNS Cache
   Recursive search
   After all this we get an IP address! The IP Address of
    the actual web server where the files of
    facebook.com are stored.
Browser sends a HTTP request to the
    webserver



 Browser cache?! – Not possible. Facebook is
  dynamic
 GET http://facebook.com/ HTTP/1.1
  Accept: application/x-ms-application, image/jpeg, application/xaml+xml,
  [...]
  User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64;
  [...]
  Accept-Encoding: gzip, deflate
  Connection: Keep-Alive Host: facebook.com
  Cookie: datr=1265876274-[...]; locale=en_US; lsd=WW[...]; c_user=2101[...]
Get the response from facebook.com server


 Facebook sends back a permanently moved 301 to
    redirect the browser to www.facebook.com
   HTTP/1.1 301 Moved Permanently
    Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0,
    pre-check=0
    Expires: Sat, 01 Jan 2000 00:00:00
    GMT Location: http://www.facebook.com/ P3P: CP="DSP LAW"
    Pragma: no-cache
    Set-Cookie: made_write_conn=deleted;
    expires=Thu, 12-Feb-2009 05:09:50 GMT; path=/;
    domain=.facebook.com; httponly
    Content-Type: text/html;
    charset=utf-8 X-Cnection: close
    Date: Fri, 12 Feb 2010 05:09:51 GMT Content-Length: 0
Browser takes the redirection



 Browser gets the actual IP address and makes a HTTP
  request to that address.
 GET http://www.facebook.com/ HTTP/1.1
  Accept: application/x-ms-application, image/jpeg,
  application/xaml+xml, [...]
  Accept-Language: en-US
  User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1;
  WOW64; [...]
  Accept-Encoding: gzip, deflate
  Connection: Keep-Alive
  Cookie: lsd=XW[...]; c_user=21[...]; x-referer=[...]
  Host: www.facebook.com
Facebook.com server handles the request



 First the web server handles the request.
 Then the Request Handler (PHP, Perl, Java,
  etc.) takes the required data from the request
  and prepares the output.
Facebook.com sends the requested web page



 HTTP/1.1 200 OK
  Cache-Control: private, no-store, no-cache, must-revalidate, post-
  check=0, pre-check=0
  Expires: Sat, 01 Jan 2000 00:00:00 GMT P3P: CP="DSP LAW"
  Pragma: no-cache Content-Encoding: gzip
  Content-Type: text/html;
  charset=utf-8 X-Cnection: close
  Transfer-Encoding: chunked
  Date: Fri, 12 Feb 2010 09:05:55 GMT
  (Compressed data)2b3��������T�n�@����[...]
Actual data (after decompression)
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
  Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
  lang="en" id="facebook" class=" no_js"> <head> <meta http-
  equiv="Content-type" content="text/html; charset=utf-8" /> <meta
  http-equiv="Content-language" content="en" /> ...
End of story

Understanding computer networks

  • 1.
  • 2.
    What makes a computer network  Uses  Explain how TCP/IP model evolved ◦ TCP/IP Model  Network Access Layer  Internet Layer  Transport Layer  Application Layer  Sockets  What happens when we open a website  Various fields of research
  • 3.
    Two computers connectedwith a cable More than two computers connected using an internetworking device
  • 4.
    Resource Sharing ◦ Hardware (Processor, Storage, Printers) ◦ Software (Google Docs)  Information Sharing ◦ Access required information anywhere (Files, DB) ◦ Search for Information (Google!)  Communication ◦ eMail and Chat ◦ Forums  Remote Computing  Distributed Processing ◦ Grid Computing ◦ Hadoop
  • 6.
    Two Sub-layers ◦ Physical Layer ◦ Data Link Layer  Physical Layer ◦ Consists of the basic networking hardware transmission technologies ◦ Defines how raw bits are transmitted between computers. ◦ Eg: Ethernet, SONET, USB, Wifi, WiMAX, Bluetooth, IRDA  Data Link Layer ◦ Provides a unique address to each computer. (MAC Address)
  • 7.
    Two major divisions ◦ Wired  Ethernet Physical Cables – Coaxial, UTP  SONET – Synchronous Optical Networking  USB ◦ Wireless  IEEE 802.11 – Popularly called “Wifi”  WiMAX  Bluetooth  IRDA
  • 9.
    Infrastructure WLAN Adhoc Wireless Networks Access point bridges the wired Decentralized – Does not network and the wireless depend upon preexisting network infrastructure
  • 10.
    Once physically connected to the network, our computer is identified to the other systems using a hardware address called MAC Address  MAC Address is unique  48-bit address burnt into the NIC of every machine
  • 11.
    Hub (Layer 1) Transmitsthe incoming data to all the nodes attached to it Switch (Layer 2) Transmits the incoming data to the receiver alone
  • 12.
    There must be atleast one switch that knows the location of all the systems in the network.  Any solutions?
  • 13.
    Group a set of computers under a single IP network address.  There are many IP host addresses under a single network address. ◦ Eg: Network Address = 10.0.0.0 Host addresses = 10.0.0.1, 10.0.0.2,10.0.0.254  Each group is called a LAN (Local Area Network) and systems are connected using a Switch.
  • 14.
    Routers make the Internet Layer of the TCP/IP stack.
  • 16.
    Using the IP Address we can find a computer uniquely.  But communications take place between specific processes running on different computers  PORT NUMBERS to the rescue!  Port numbers is a number given to a software- construct and a logical endpoint (not a hardware component). Eg: HTTP – 8080, MySQL - 3306
  • 17.
    IP Address  Unique computer Port number  Unique process  (IP Address : Port Number)  Unique process in a given computer. The endpoint for any communication ie. A socket.  Eg: www.facebook.com would be running on 40.0.0.10:8080. 8080 is the port number since it’s a website.
  • 18.
    Client Server Applications The Web Service is provided by the server and the clients use these services Client Server Network Client machine Server machine This is where sockets come in !! A client, A server, and network
  • 19.
    Sockets  Introduced inBSD 4.1 UNIX 1981.  Sockets are the endpoints of any communication over the internet.  Sockets are identified by socket addresses.  Socket Address = IP Address + Port Number
  • 20.
    Why IP Address+ Port number? • IP Address is of the form 10.0.0.1 • Port Number can be anything from 0 to 65,535.
  • 21.
    Destination Socket =10.0.0.2 : 80 IP Address – Choose network 20.0.0.0 10.0.0.0 30.0.0.0 40.0.0.0
  • 22.
    Destination Socket =10.0.0.2 : 80 IP Address -> MAC Address – Locate the specific system 10.0.0.1 10.0.0.2
  • 23.
    Port Number –Process specific Port 10000 Port 11000 Port 120000
  • 24.
    Understanding Ports OutLook AVG Gmail YM Express Update Port 1 Port 2 Port 3 Port 4 10000 11000 12000 13000 Transport Layer Packet Port num Data 10000 “Hi!” Network layer
  • 25.
    What happens whenyou type www.facebook.com?
  • 26.
    Browser looks upIP Address  Browser DNS Cache  OS Cache  Router Cache  ISP DNS Cache  Recursive search  After all this we get an IP address! The IP Address of the actual web server where the files of facebook.com are stored.
  • 27.
    Browser sends aHTTP request to the webserver  Browser cache?! – Not possible. Facebook is dynamic  GET http://facebook.com/ HTTP/1.1 Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...] User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...] Accept-Encoding: gzip, deflate Connection: Keep-Alive Host: facebook.com Cookie: datr=1265876274-[...]; locale=en_US; lsd=WW[...]; c_user=2101[...]
  • 28.
    Get the responsefrom facebook.com server  Facebook sends back a permanently moved 301 to redirect the browser to www.facebook.com  HTTP/1.1 301 Moved Permanently Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Sat, 01 Jan 2000 00:00:00 GMT Location: http://www.facebook.com/ P3P: CP="DSP LAW" Pragma: no-cache Set-Cookie: made_write_conn=deleted; expires=Thu, 12-Feb-2009 05:09:50 GMT; path=/; domain=.facebook.com; httponly Content-Type: text/html; charset=utf-8 X-Cnection: close Date: Fri, 12 Feb 2010 05:09:51 GMT Content-Length: 0
  • 29.
    Browser takes theredirection  Browser gets the actual IP address and makes a HTTP request to that address.  GET http://www.facebook.com/ HTTP/1.1 Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...] Accept-Language: en-US User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...] Accept-Encoding: gzip, deflate Connection: Keep-Alive Cookie: lsd=XW[...]; c_user=21[...]; x-referer=[...] Host: www.facebook.com
  • 30.
    Facebook.com server handlesthe request  First the web server handles the request.  Then the Request Handler (PHP, Perl, Java, etc.) takes the required data from the request and prepares the output.
  • 31.
    Facebook.com sends therequested web page  HTTP/1.1 200 OK Cache-Control: private, no-store, no-cache, must-revalidate, post- check=0, pre-check=0 Expires: Sat, 01 Jan 2000 00:00:00 GMT P3P: CP="DSP LAW" Pragma: no-cache Content-Encoding: gzip Content-Type: text/html; charset=utf-8 X-Cnection: close Transfer-Encoding: chunked Date: Fri, 12 Feb 2010 09:05:55 GMT (Compressed data)2b3��������T�n�@����[...]
  • 32.
    Actual data (afterdecompression)  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" id="facebook" class=" no_js"> <head> <meta http- equiv="Content-type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-language" content="en" /> ...
  • 33.