0% found this document useful (0 votes)
19 views

Lecture 3

cloud computing AWS

Uploaded by

anumiqbal024
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Lecture 3

cloud computing AWS

Uploaded by

anumiqbal024
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Computer

Communications
& Networks
CSNC-2413

Lec: 3 Computer
• N/W Architecture & Networking: A
Application Development Top Down
Approach
6th edition
Jim Kurose, Keith
Ross
Addison-Wesley
March 2012
Network Architecture
 Network communications - a complex task
 To deal with this complexity… SIMPLIFY
 comm task divided into modules
 modules arranged in layers
 each layer performs a subset of comm function

 Forms a Network Architecture


• multiple layers
• each layer has one/more Protocols
• protocols perform specific comm tasks
• provide/obtain services to/from higher/lower layer

2
Network Architecture
Network Architecture
A structured set of protocols to implement the
communications function

application
Example of a layered
transport
network system
network

link

physical

3
Internet protocol stack
 Application: support applications (network API)
- FTP, SMTP, HTTP, DNS, DHCP
application
 Transport: process-process data transfer (ports)
- TCP (reliable), UDP (unreliable)
transport
 Network: global addressing (IP addr), routing of
pkts from src to dest network
- IPv4, IPv6
link
 Link: data transfer between neighboring
network elements
physical
- Ethernet, WiFi (802.11), 3G/4G, PPP
 Physical: bits “on the wire”

4
TCP/IP Model
 Some of the protocols & networks in TCP/IP protocol stack…

HTTP FTP SMTP DNS

Ethernet WiFi 3G/4G PPP

5
Encapsulation  Data generated by Appl layer
 When being sent, each layer
appends its header
 When being received, each
layer removes its header
Principle of Encapsulation &
Decapsulation

6
Why Layered Architecture
 Network Architecture - layered architecture
 provides modularity
• changes in one layer do not require changes in other layers
• simplifies system maintenance & upgradation

 facilitates process of network evolution


• allows to change/improve underlying technologies, with
increase in application demands

7
Some network apps
 e-mail  streaming stored
 web surfing video
(YouTube, Netflix)
 search engine  IP radio, TV
 P2P file sharing  multi-user N/W
 text messaging games
 social networking  voice over IP
(Skype, viber)
 remote login
 real-time video
conferencing
 …..
How these appls are created…
8
Creating network apps
application
transport

Write appl programs to run network


data link
physical
only on end systems
 appl comm over N/W
 web browser comm with
server

No need to write software


for network-core devices…
 network-core devices function application
at lower layers transport
network
data link application
physical transport
network

confining appls to end systems data link


physical

allows rapid appl development &


deployment

9
Application architectures
Possible structures of applications:
 client-server
 peer-to-peer (P2P)

10
Client-server architecture
Servers
 always-on host
 permanent addr (IP & port)
 rely on fixed infra-structure
 data centers for scaling

Clients
client/server  request services from
servers
 intermittent host
connections
 dynamic addr (IP & port)
 no direct comm with each
11
other
P2P architecture
 NO always-on server peer-peer
 arbitrary end systems comm
directly
 peers request services from other
peers, & also provide services
 Self Scalability
 new peers bring new service
demands
 also add new service capacity

 Complex Management
 peers connect intermittently
 change IP addrs

 min, or no reliance, on infra-


12
structure
Architectural Challenges
Client Server
 Infra-structure intensive
 Cost of server hardware, software & access network
B/W
 System management needs/costs
 May become a bottleneck

P2P
 Not ISP friendly; require high upload B/W
 Security issues
 Incentives; users need to volunteer storage,
bandwidth & computation resource

13
How do Appls comm
Applications are processes running on
hosts…
 Appls within same  Appls in distant hosts
host
 processes comm by
 processes usually exchanging messages
comm using IPC
 Use sockets, RPC
(Inter Process Comm)
 use Pipes, FIFOs,
shared memory

14
Sockets
 Remote processes comm thru sockets…
Socket : “software interface between process & N/W”
 Process sends/receives msgs to/from its socket
 process reads/writes the socket to receive/send msgs

15
Process Address
 to receive msgs, process
must have identifier
 identifier includes both
 host device has unique IP address & port
IP address (32 bits) number associated with
but many processes may run
a process
on same host on a host…
 Socket address
 need another level of
IP addr + Port No
identifier – Port No (16
bits)

to send HTTP msg to web server gaia.cs.umass.edu…


IP address: 128.119.245.12 port number: 80

16
Socket Programming
 Allows network applications to communicate across
an Internet
Socket Interface
 Socket API mainly provides
Transport layer service
interface
• Stream-sockets for TCP TCP UDP
• Datagram-sockets for UDP
IP

 Based on client/server Network Access


architecture

17
Client/Server functions
 Client / Server may run on same or different hosts
 Client makes Request…
 sends message to server to perform a task
 Server Responds…
 performs task & sends back reply

1. Client sends request


Client Server
process process Resource
4. Client 3. Server sends response 2. Server
handles handles
response request

18
Servers /
Services
 Servers : long-running application processes
(daemons)
 typically created at boot-time by OS
 run continuously in background
 web server, or mail server

 Server waits for requests on a well-known port


associated with a particular service
/etc/services
 Port 7: echo server provides list of
 Port 23: telnet server available services
 Port 25: mail server (Linux machine)
 Port 53: DNS server
 Port 80: HTTP server
19
Clients
 Client – appl launched to access some service,
mostly on remote system
 web browser, ftp client, telnet client, ssh client

 Client does not need well known port


 usually assigned ephemeral port by kernel
 can also be selected by application

Server - need not know client location


Client - needs to know server location
(port + IP address)

20
Socket
 Socket is an endpoint of bidirectional comm…
 identified by socket descriptor

 Clients & Servers comm with each other thru


sockets
 open a socket
 write data to socket
 read data from socket

App
3 2
1
socket Dest
.

21
Socket Address
 The pair IP Address + Port -– makes up a “socket-
address”
Client IP address Server IP address
128.2.194.242 208.216.181.15

Client Server

3479 is an 53 is a well-known
ephemeral port port associated with
allocated by DNS servers
kernel (unix) Server socket
Client socket address
128.2.194.242:3479 address
208.216.181.15:53

22
TCP & UDP Ports
 TCP and UDP port numbers ranges:
 values 0 – 216 (65,536 ports)
 Internet Assigned Numbers Authority (IANA)
 Well Known Ports (0 - 1023)
 used by system processes for well known services
 HTTP: 80, E-mail: 25, DNS: 53
 Registered Ports (1024 - 49151)
 used by vendors for common applications
 Web Proxy: 8080, IPSec: 1293, Kaaza: 1214
 Dynamic or Ephemeral Ports (49152 - 65535)
 used by clients
 automatically allocated by kernel on temporary basis

23

You might also like