client-server, peer to peer
Application architectures는 두가지가 있다.
1. client-server
2. peer-to-peer (P2P)
Client-Server
client-server 구조는 client와 server 간에 데이터를 주고받는 형태이다. client는 데이터를 요청해서 받는 쪽이고, server는 데이터를 보내는 쪽이다.
Server
- client가 언제 데이터를 요청할 지 모르기에, 항상 ON 상태이다.
- client가 같은 IP 주소로 정보를 요청하므로 IP주소가 고정되어 있다.
- data center(cloud 기반)를 통해서 서버가 운용되는 경우도 있다.
Client
- 간헐적으로 연결된다.
- 일반적으로 동적 IP주소를 가진다. (IP주소가 충분하지 못하기 때문에)
- Clients끼리 직접적으로 communication을 못한다. 반드시 server를 통해서 데이터를 주고받는다.
Peer-to-Peer (P2P)
P2P방식은 서로 동등한 Peers(end systems)끼리 직접적으로 communication을 해서 정보를 주고 받는다. 새로운 peers가 나타나면 스스로 규모가 늘어난다. P2P link가 많아지는 것이다. 이것을 self scalability라고 한다.
- server같이 항상 ON되어 있는 것이 없다.
- peers는 IP주소를 변경할 수 있다. 새로운 IP주소가 부여가 된 상태에서도 여전히 P2P link를 유지하고 있다.
- 제약조건 : 사용자의 IP주소가 동적으로 바뀌면 P2P 네트워크를 뚫고 들어가지 못하는 경우가 있다. 그래서 네트워크 환경에 따라 P2P가 될수도 안될수도 있다.
- 옛날 mp3파일 공유, 두 사람 간에 화상통화, 블록체인 등등
[참고]
Computer Networking A Top-Down Approach 7-th Edition / Kurose, Ross / Pearson
'IT > 네트워크' 카테고리의 다른 글
[ 네트워크 ] Web and HTTP (0) | 2020.05.03 |
---|---|
[ 네트워크 ] Processes Communicating (0) | 2020.05.03 |
[ 네트워크 ] packet sniffing, IP spoofing (0) | 2020.05.03 |
[ 네트워크 ] Internet protocol layers (0) | 2020.05.03 |
[ 네트워크 ] Throughput (0) | 2020.05.03 |
댓글