Computer Networking: A Top Down Approach �6th edition �Jim Kurose, Keith Ross�Addison-Wesley�March 2012
Computer Communications �& Networks
CSNC-2413
Lec: 3
Network Architecture
2
Network Architecture
Example of a layered network system
Network Architecture
A structured set of protocols to implement the �communications function
application
transport
network
link
physical
3
Internet protocol stack
application
transport
network
link
physical
4
TCP/IP Model
5
Ethernet
WiFi
PPP
3G/4G
HTTP
FTP
SMTP
DNS
Encapsulation
6
Principle of Encapsulation & Decapsulation
Why Layered Architecture
7
Some network apps
8
How these appls are created…
Creating network apps
Write appl programs to run only on end systems
No need to write software for network-core devices…
confining appls to end systems� allows rapid appl development & deployment
application
transport
network
data link
physical
application
transport
network
data link
physical
application
transport
network
data link
physical
9
Application architectures
Possible structures of applications:
10
Client-server architecture
Servers
Clients
client/server
11
P2P architecture
peer-peer
12
Architectural Challenges
Client Server
P2P
13
How do Appls comm
14
Applications are processes running on hosts…
Sockets
Socket : “software interface between process & N/W”
15
Process Address
but many processes may run �on same host
IP addr + Port No
16
to send HTTP msg to web server gaia.cs.umass.edu…
IP address: 128.119.245.12 port number: 80
Socket Programming
Socket Interface
TCP
UDP
IP
Network Access
17
Client/Server functions
Client
process
Server
process
1. Client sends request
2. Server
handles
request
3. Server sends response
4. Client
handles
response
Resource
18
Servers
/etc/services �provides list of available services �(Linux machine)
19
Clients
Server - need not know client location
Client - needs to know server location�(port + IP address)
20
Socket
App
socket
3
2
1
Dest.
21
Socket Address
Server
Client
Client socket address
128.2.194.242:3479
Server socket address
208.216.181.15:53
Client IP address
128.2.194.242
Server IP address
208.216.181.15
3479 is an
ephemeral port allocated by kernel (unix)
53 is a well-known �port associated with �DNS servers
22
TCP & UDP Ports
23