티스토리 뷰

/* 본 포스팅은 한빛미디어의 '쉽게 배우는 데이터 통신과 컴퓨터 네트워크 | 박기현 저'를 참고하여 작성되었음을 미리 알려드립니다. */


 네트워크는 외형적으로 시스템과 전송 매체로 구성된다. 데이터 통신을 위한 전송 매체는 전송 대역, 전송 속도, 전송 오류율 같은 물리적인 특성이 주 관심사므로 논리적인 기능은 비교적 단순한다. 시스템은 전송 매체를 이용해 논리적으로 다양한 연동 형태로 구성할 수 있어 개념의 확장이 폭넓고 복잡하다.


 네트워크를 구성하는 시스템이 반드시 컴퓨터처럼 복잡한 기능을 수행해야 하는 것은 아니지만, 일반적으로 컴퓨터 시스템으로 가정한다. 네트워크 시스템은 수행 기능에 따라 다음과 같이 다양하게 부를 수 있다.



# 노드

 노드(Node)는 인터넷에 연결된 시스템을 가장 일반화한 용어다. 데이터를 주고받을 수 있는 모든 시스템을 통칭한다.



# 호스트

 호스트(Host)는 일반적으로 컴퓨팅 기능이 있는 시스템이다. 일반 사용자가 응용 프로그램을 실행할 수 있어 사용자가 네트워크에 접속하는 창구 역할을 한다.



# 클라이언트

 호스트를 세분화할 때 호스트 사이에 제공되는 서비스를 기준으로 클라이언트와 서버로 나눈다. 클라이언트(Client)는 서비스를 요청하는 시스템이다. 호스트는 다양한 서비스를 서로 주고받기 때문에 임의의 호스트가 클라이언트나 서버로 고정되지 않는다. 이용하는 서비스의 종류에 따라서 클라이언트가 될 수도 있고, 서버가 될 수도 있다. 그러므로 특정 서비스를 기준으로 클라이언트와 서버라는 상대적 용어로 구분한다.



# 서버

 서버(Server)는 서비스를 주고받는 호스트들의 관계에서 특정 서비스를 제공하는 시스템이다. 일반적으로 서버는 클라이언트보다 먼저 실행 상태가 되어 클라이언트의 요청에 대기해야 한다. 그리고 영원히 종료하지 않으면서 클라이언트의 요청이 있을 때마다 서비스를 반복해서 제공해야 한다.



# 클라이언트와 서버

 아래의 그림은 임의의 서비스를 기준으로 클라이언트와 서버의 상대적인 관계를 설명한다. 그림에서 호스트 2는 파일 송수신 기능을 제공하는 FTP(File Transfer Protocol) 서비스를 제공하며, 호스트 3은 원격 단말기 기능인 텔넷(Telnet) 서비스를 제공한다.


FTP 서비스를 먼저 살펴보면, 호스트 1은 호스트 2에 FTP 서비스를 요청한다. 따라서 FTP 서비스를 기준으로 하면 호스트 1이 클라이언트가 되고, 호스트 2는 서버가 된다. 반면, 텔넷 서비스는 호스트 2가 호스트 3에 요청한다. 텔넷 서비스를 기준으로 하면 호스트 2가 클라이언트고, 호스트 3은 서버다.


 따라서 호스트 2는 사용하는 서비스의 종류에 따라 클라이언트가 되기도 하고, 서버가 되기도 한다. 결론적으로 클라이언트와 서버라는 용어는 서비스 이용의 상대적 위치에 따라 결정된다. // 절대적인 개념이 결코 아니다.


 클라이언트와 서버의 명칭을 호스트 시스템에 부여해 사용할 수도 있다. 특히 다양한 서비스 기능을 제공하는 대형 시스템을 서버로 설정해 다수의 클라이언트가 서버에 접속해 서비스를 이용하도록 할 수 있다. 그러나 기능적인 관점에서는 위의 그림처럼 호스트에서 실행되는 응용 서비스별로 구분하는 것이 더 정확하다.


 인터넷에서 네트워크 서비스의 기능은 대부분 응용 프로그램으로 구현되므로 보통 클라이언트 프로세스, 서버 프로세스라는 호칭이 더 자연스러울 수 있다.




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday