목차
네트워크의 발전
이미 수많은 사람들이 익숙하게 사용하고 있는 인터넷 Internet 은 연구소, 기업, 학교 등의 소규모 조직에서 사용하기 시작한 작은 단위의 네트워크 Network 들을 서로 연결하면서 발전하였다.
그 과정에서 자연스럽게 연결 방식의 표준화를 요구하게 되었고, 오늘날 전 세계로 확산되어 거대한 인터넷으로 성장하였다.
네트워크 기초 용어
네트워크를 이해하려면 시스템, 인터페이스, 전송 매체, 프로토콜, 네트워크, 인터넷 같은 용어를 먼저 알아야 한다.
네트워크 Network
- 전송 매체Transmission Media 를 매개로 서로 연결되어 데이터를 교환하는 시스템 System의 모음
- 인터페이스 Interface: 시스템과 전송 매체의 연결 지점에 대한 규격
- 시스템이 데이터를 교환할 때는 임의의 통신 규칙인 프로토콜 Protocol을 따름
- 프로토콜처럼 서로 다른 시스템을 상호 연동해 동작시키려면 연동 형식의 통일이 필요하고, 이 통일을 표준화 Standardization 라 한다.
- 위 그림은 시스템과 전송 매체로 네트워크를 구성한 예이다.
- 시스템은 반드시 컴퓨터일 필요는 없지만, 보통 컴퓨터 시스템으로 가정함.
- 시스템들은 물리적으로 공유하는 전송 매체에 의하여 서로 연결된다.
- 시스템이 전송 매체를 통해 데이터를 교환하려면 반드시 표준화된 프로토콜을 사용해야 함.
- 흔히 사용하는 인터넷은 IP Internet Protocol 라는 네트워크 프로토콜을 사용하는 네트워크의 집합체임.
- 여기서 IP는 프로토콜의 의미가 포함된 약자이지만 보통 IP 프로토콜이라 부름.
시스템
- 시스템 System 은 내부 규칙에 따라 능동적으로 동작하는 대상을 가리킨다.
- 자동차, 커피 자판 기, 컴퓨터, 마이크로프로세서, 하드디스크 등과 같은 물리적인 대상뿐 아니라, 신호등으로 교통을 제어하는 운영 시스템, MS 윈도우즈 등의 운영체제, 프로그램의 실행 상태를 의미하는 프로세스 같은 논리적인 대상들도 시스템이다.
- 시스템의 동작에 필요한 외부 입력이 있을 수 있으며, 내부 정보와 외부 입력의 조합에 따른 출력(시스템 실행의 결과물)이 있을 수 있다. 한편, 작은 시스템이 여러 개 모여 더 큰 시스템을 구성할 수 있으므로 크기를 기준으로 시스템을 나누지는 않는다.
인터페이스
- 인터페이스 Interface 는 시스템과 시스템을 연결하기 위한 표준화된 접근 방법.
- 예를 들어, 컴퓨터 본체와 키보드를 연결하여 제대로 동작하게 하려면 키보드의 잭을 본체의 정해진 위치에 꽂아야 함. ➡️ 이렇게 하려면 상호 간의 데이터 교환을 위한 RS-232C, USB 등과 같은 논리적인 규격뿐만 아니라, 잭의 크기와 모양 같은 물리적인 규격도 표준화되어야 함.
- 인터페이스를 이용해 연결하는 시스템은 능력과 권한이 같은 경우도 있지만 서로 서비스를 주고 받는 상하 관계일 수도 있음.
전송 매체
- 시스템끼리 정해진 인터페이스를 연동해 데이터를 전달하려면 물리적인 전송 수단인 전송 매체 Transmission Media 가 반드시 있어야 함.
- 전송 매체는 사람의 눈으로 볼 수 있는 동축 케이블을 포함하여 소리를 전파하는 공기, 무선 신호 등 다양하게 존재함.
- 인터페이스는 시스템 간의 연동을 위한 논리적인 규격이고, 인터페이스에서 정해진 규칙은 매체를 통해 전송됨으로써 구현되고 동작된다고 볼 수 있음.
프로토콜
- 상호 연동되는 시스템이 전송 매체를 통해 데이터를 교환할 때는 표준화된 특정 규칙을 따르는데, 이 규칙을 프로토콜 Protocol 이라 함.
- 일반적으로 프로토콜은 주종(主從) 관계가 아닌 동등한 위치에 있는 시스템 사이의 규칙이라는 측면이 강조되어 인터페이스와 구분된다.
- 인터페이스는 두 시스템이 연동하기 위한 특정한 접촉 지점 Access Point 을 의미하는 경우가 많지만, 프로토콜은 주고받는 정보의 형식과 그 과정에서 발생하는 일련의 절차적 순서에 무게를 둔다.
네트워크
- 통신용 매체를 공유하는 여러 시스템이 프로토콜을 사용하여 데이터를 주고받을 때, 이들을 하나의 단위로 통칭하여 네트워크 Network 라 부름.
- 일반적인 컴퓨터 네트워크에서는 물리적인 통신 매체로 연결된 컴퓨터들이 동일한 프로토콜을 이용해 서로 데이터를 주고받음.
- 소규모 네트워크가 모여 더 큰 네트워크를 구성할 수 있는데, 네트워크끼리는 라우터 Router 라는 중개 장비를 사용해서 연결한다
인터넷
- 인터넷 Internet 은 전 세계의 모든 네트워크가 유기적으로 연결되어 동작하는 통합 네트워크임.
- 인터넷으로 연결된 시스템, 인터페이스, 전송 매체, 프로토콜 들은 그 종류가 매우 복잡하고 다양하지만, 데이터 전달 기능에 한해서는 공통으로 IP(Internet Protocol) 프로토콜을 사용함.
- 인터넷이라는 용어는 IP의 첫 단어인 Internet에서 유래함.
표준화
- 서로 다른 시스템이 상호 연동해 동작하려면 표준화 Standardization 라는 연동 형식의 통일이 필요.
- 예를 들어, 프린트 용지를 생각해보자. 일반적으로 프린터와 프린트 용지를 만드는 회사는 다르다. 하지만 사전에 A4 규격이라는 통일된 틀을 만들어두었기 때문에 서로 다른 회사에서 생산한 프린터와 프린트 용지를 자유롭게 사용할 수 있는 것이다
시스템 기초 용어
[시스템의 구분]
- 네트워크를 구성하는 시스템이 반드시 컴퓨터처럼 복잡한 기능을 수행해야 하는 것은 아니지만, 일반적으로 컴퓨터 시스템으로 가정.
- 네트워크 시스템은 수행 기능에 따라 다음과 같이 다양한 명칭으로 부를 수 있다.
노드
- 노드 Node 는 인터넷에 연결된 시스템을 가장 일반화한 용어이다.
- 데이터를 주고받을 수 있는 모든 시스템을 통칭하여 사용.
호스트
- 호스트 Host 는 일반적으로 컴퓨팅 기능이 있는 시스템을 의미.
- 일반 사용자가 호스트 내의 응용 프로그램을 실행하므로 사용자가 네트워크에 접속하는 창구 역할을 한다.
- 클라이언트와 서버로 세분(호스트 사이에 제공되는 서비스를 기준으로)
클라이언트
- 클라이언트 Client 는 서비스를 이용하는 시스템
- 호스트는 다양한 서비스를 서로 주고받기 때문에 임의의 호스트가 클라이언트나 서버로 고정되지는 않음.
- 이용하는 서비스의 종류에 따라서 클라이언트가 될수도 있고, 서버가 될 수도 있음.
- 그러므로 특정 서비스를 기준으로 상대적인 관점에서 클라이언트와 서버라는 용어를 사용함.
서버
- 서버 Server 는 서비스를 주고받는 호스트들의 관계에서 임의의 서비스를 제공하는 시스템.
- 일반적으로 서버는 클라이언트보다 먼저 실행 상태가 되어 클라이언트의 요청에 대기 해야 함.
- 그리고 영원히 종료하지 않으면서 클라이언트의 요청이 있을 때마다 서비스를 반복해서 제공해야 한다.