Client-server paradigm
-
Server
항상 대기해야 한다.
고정된 IP address를 사용한다.
-
Client
서버와 통신한다.
intermittently connected
동적인 ip주소를 갖고있다.
클라이언트끼리 직접 통신은 어렵다.
직접통신:P2P
ex ) HTTP,IMAP,FTP
-
P2P
항상 켜져있지 않다.
직접적으로 COMMUNICATE한다.
peer는 다른 peer에게 request하고 응답한다.
Processes communicating
process : 호스트 내에서 실행되는 프로그램
- 같은 호스트 내에서, 두개의 프로세스는 inter-proccess Communication을 사용하여 커뮤니케이션한다.
다른 호스트끼리의 communication은 messages를 exchanging하며 소통한다.
Socket
프로세스는 소켓을 통해서 메세지를 주고받는다.
Addressing processes
호스트는 unique한 32bit ip주소를 갖는다.
ip주소만을 가지고는 통신할 수 없다, ip주소와 port number를 갖고 있어야한다.
transport Layer가 application Layer에게 제공하는 서비스 종류
- data integrity
변하지 않는 데이터(무결성)
- timing
- throughput
- security
TCP
- reliable transport
- flow control : 받을 수 있을 만큼만 보냄
- congestion control : 혼잡 제어
- connection-oriented : 클라이언트와 서버 사이에 connection setup한다.
UDP
- unreriable data transfer
- 혼잡제어, flow control등을 제공하지 않음.
-Internet telephony, interactive games등이 UDP 프로토콜을 사용한다.