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 NetworksAccess point bridges the wired Decentralized – Does notnetwork and the wireless depend upon preexistingnetwork 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 theincoming data to allthe nodes attachedto 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 22.214.171.124: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 NetworkClient 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.
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" /> ...