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 connected with 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)
Transmits the
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 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
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.
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
26. 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.
27. 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[...]
28. 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
29. 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
30. 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.
31. 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�@����[...]
32. 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" /> ...