zenn.skin 무료버전 배포중!
자세히보기

CS/Network

[Network] Client-Server 모델와 P2P(Peer-to-Peer) 모델

koosco! 2022. 10. 26. 12:24

1. Client-Server model

client는 네트워크를 통해 서버에 접속하여 데이터나 서비스를 제공받는 역할을 합니다. 보통 end host라 하며 일반 사용자가 client에 해당합니다. 엄밀히 말하면 서버에게 정보를 요청하는 응용 프로그램이나 서비스를 의미합니다.

server는 서비스를 제공하는 컴퓨터를 의미하며 Http 서버, Database 서버, 웹 서버, DNS 서버 등 client에게 데이터나 서비스 등을 제공하는 역할을 합니다.

 

client-server model은 정보 공유에 초점을 두고, 데이터 관리가 서버에 의해 이루어집니다.

클라이언트는 서버에게 정보를 요청할 수 있고, 서버는 이에 응답해주는 방식으로 동작합니다.

 

여러 클라이언트가 동시에 서버에 접속하면 서버에 부하가 늘어나기 때문에 병목현상이 일어날 수 있는 문제점이 있습니다.

하지만 client-server model은 안정적으로 정보 공유가 가능하고 확장이 용이하다는 장점이 있습니다.

 

2. Peer-to-Peer

peer-to-peer 모델에서는 중앙에서 데이터를 관리하는 서버와 요청을 하는 클라이언트가 존재하지 않습니다.

각각의 end host(node)들이 클라이언트와 서버의 역할을 합니다.

각 노드들은 서비스를 요청할 수도, 서비스를 제공할 수도 있습니다.

 

client-server model은 정보를 공유하는 것에 초점을 둔 반면 peer-to-peer model은 연결성에 초점을 둡니다.

 

분산된 여러 노드들에 의해 정보공유가 이루어지기 때문에 client-server와 같이 부하를 많이 받는 서버가 없어 병목현상이 발생하지 않는다는 장점이 있습니다.

하지만 client-server model의 경우 가급적 가까운 거리에 연결되어 가능한한 빠른 회선 서버에 연결하도록 할 수 있지만, p2p model은 이러한 방법을 사용자간의 통신에서 사용할 수 없기 때문에 애초에 client-server model보다 통신 속도가 느리다는 단점이 있습니다.

'CS > Network' 카테고리의 다른 글

[Network] IP(Internet Protocol)  (0) 2022.10.29
[Network] NAT, PAT (Network Address Translation, Port Address Translation)  (0) 2022.10.26
Cloud Computing  (0) 2022.10.13
[Network] TCP/IP Model  (0) 2022.09.07
[Network] OSI 7 layer Model  (5) 2022.09.07

'CS/Network'의 다른글

  • 현재글 [Network] Client-Server 모델와 P2P(Peer-to-Peer) 모델

관련글