Client-Server
,Peer-Peer
의 두 가지 Paradigm에 대해 알아보자
인터넷을 통해 메시지를 주고받을 때, 두 가지의 패러다임이 존재한다.
client-server, peer-peer의 두 가지이다.
각각의 특징에 대해서 알아보자.
client-server paradigm은 이름에서 알 수 있듯이 client
와 server
가 존재한다.
서버는 항상 켜져 있다는 특징을 가진다. 예를 들어 우리가 네이버에 접속하려고 하면, 접속을 시도하는 시간은 문제가 되지 않는다. 새벽 3시에 접속을 하려고 해도 언제나 접속을 할 수 있듯, 언제나 서버는 준비되어 있다.
그리고 서버의 IP address는 고정되어 있다. 서버를 이용하려는 많은 사람들이 A라는 IP address가 서버의 주소라고 알고 있는데, 갑자기 서버의 주소가 바뀌어 버린다면 A를 알고 있던 많은 사람들이 혼란에 빠지게 될 것이다. 이를 방지하기 위해 서버의 IP 주소는 바뀌지 않는다.
마지막으로 서버는 많은 사용자를 수용하기 위해 data center에 위치하는 경우가 많다.
클라이언트는 서버와 연결해서 교신하는 대상이다.
클라이언트는 서버와 달리 동적인 IP주소를 가질 수 있다.
또한 클라이언트들 간에 직접 communicate할 수 없다.
Client-Server 패러다임의 예시로는 HTTP
, IMAP
, FTP
등이 있다.
Peer-Peer 패러다임은 서버와 클라이언트처럼 각각의 역할이 나뉘지 않고 동등한 입장을 가진다.
Peer-Peer는 항상 켜져 있는 서버와 같은 개체가 없으며, 임의의 end-system이 직접적으로 연결된 구조를 나타낸다.
peer는 다른 peer에게 필요한 service를 요청한다. 또한 다른 peer가 필요로 하는 서비스를 제공하기도 한다.
Peer-Pee에서 Peer들은 간헐적으로 connect되며, IP주소를 바꾼다.
Peer-Peer Paradigm의 예시는 P2P file sharing이 있는데, torrent가 대표적이다.