1. Client-server architecture
• server
- always-on host
- permanent IP address
- data centers for scaling
• clients
- communicate with server
- may be intermittently connected
- may have dynamic IP addresses
2. P2P architecture
• no always-on server
• peers request service from other peers, provide service in return to other peers
- self scalability (new peers bring new service capacity, as well as new service demands)
• peers are intermittently connected and change IP addresses
- complex management
3. Processes communicating
• process : program running within a host
- client process : process that initiates communication
- server process : process that waits to be contacted
- aside : applications with P2P architectures have client processes & server processes
4. Sockets
• process sends/receives messages to/from its socket
• socket analogous to door
5. Addressing processes
• to receive messages, process must have identifier
• host device has unique 32-bit IP address
• identifier includes both IP address and port numbers associated with process on host
‣ fixed port numbers
- HTTP server : 80
- mail server : 25
6. What transport service does an app need?
• data integrity (file transfer)
• timing (interactive games)
• throughput (multimedia)
• security
7. Internet transport protocols services
• TCP service:
- reliable transport
- flow control
- connection-oriented
- congestion control
- does not provide : timing, minimum throughput guarantee, security
•UDP service :
- unreliable data transfer
- does not provide : reliablility, flow control, congestion control, timing ...
❓ why bother? why is there a UDP?
1. Because TCP set up a connection, the protocol overhead may be large
2. A certain amount of delivery per unit time can be prevented at the transport layer
3. It Can be repeated with checks in the application layer
8. App-layer protocol defines
• types of messages exchanged
- e.g) request, response
• message syntax
• message semantics
- meaning of information in fields
• rules
• kinds of
‣ open protocols
‣ proprietary protocols
9. Web and HTTP
• web page consists of objects
• object can be HTML file, JPEG image, Java applet, audio file...
• web page consists of base HTML-file which includes several referenced objects
• each object is addressable by a URL
HTTP overview
HTTP : hypertext transfer protocol
• Web's application layer protocol
• client/server model
uses TCP :
• client initiates TCP connection to server, port 80
• server accepts TCP connection from client
HTTP is "stateless"
• server maintains no information about past client requests
HTTP connections
1. non-persistent HTTP
- at most one object sent over TCP connection, connection then closed
- downloading multiple objects requires multiple connections
2. persistent HTTP
- multiple objects can be sent over single TCP connection between client, server
'네트워크 (이화여대 이미정)' 카테고리의 다른 글
Network Class 6 (0) | 2021.07.31 |
---|---|
Network Class 5 (0) | 2021.07.31 |
Network Class 3 (0) | 2021.07.24 |
Network class 2 (0) | 2021.07.23 |
Network class 1 (0) | 2021.07.23 |