1
Computer Networking: A Top Down Approach 6th Edition
Jim Kurose, Keith Ross
application protocols
Transport layer service models
Client-server paradigm
Peer-to-peer paradigm
Web
Text messaging
Remote login
P2P file sharing
Network games
Streaming stored video
Voice over IP
Social networking
Search
Network apps run on end systems
They communicate over the network
Web server software communicates with browser software
When you create a network apps you do not need to write software for network core
devices
Applications are not run on network core devices
Rapid application development
Client-Server
Peer-to-Peer (P2P)
Server
Servers have permanent IP addresses
They are always-on host.
Clients
They communicate with server.
They may have dynamic IP addresses
They do not communicate directly with each
other.
No always on server
End systems directly communicate with each other
Peers requset service from other peers.
Peers provide service in return to other peers
Peers may change IP addresses
Complex management
Self scalability: New peers bring new
service capacity and new service requests.
The programs that is running within a host is called as process.
Inter-process communication: The
communicaiton between two processes within the same host.
Processes in different hosts communicate
by exchanging messages
Client process: Process that initiates communication
Server process: Process that waits to be contacted.
Sockets
Process sends/receives messages to/from its
socket.
To receive messages process must have identifier
Identifier includes both IP address and port numbers
Example port numbers:
HTTP Server: 80
Mail Server: 25
Type of messages
Message syntax
Message semantics
Rules
Open protocols:
Defined in RFCs, HTTP, SMTP
Proprietary protocols:
Skype
needs
Data integrity
Timing
Throughput
Security
TCP Service
Reliable transport
Flow control
Congestion control
Does not provide timing, minimum throughput, security
Connection-oriented
UDP Service
Unreliable data transfer