컴퓨터 네트워크의 기초 3부 - 네트워크 프로토콜

이문규 munch@itdonga.com

편집자 주

IT동아는 컴퓨터/인터넷 네트워크의 기초 연재 강의를 통해, 이젠 우리 삶에 일상이 된 ‘네트워크’에 대해 기본적인 지식을 제공하고자 했다. 컴퓨터 네트워크 분야가 워낙 방대하고 복잡한 이론이기 때문에, 누구라도 쉽고 이해하도록 나름대로 풀어 설명하려 노력하고 있지만 역시 쉽지 않다. A라는 기술을 이해하기 위해서는 B를 먼저 설명해야 하고, B의 개념을 이해하는 데는 C의 이론이 밑바탕에 깔려있어야 하는 등 꼬리에 꼬리를 무는 개념 설명 때문에 외려 더욱 혼란스럽기도 하다. 기초 이론이라 해도 강의 본문 한두 번 읽고 100% 이해하리라 기대하지 않는다. 하지만 필자는 이를 순전히 설명/서술 방식의 한계 때문이라 여기고 충실하고 꼼꼼하게 집필토록 하겠다. 대신 컴퓨터 실사용에 불필요한 학문적 이론은 생략하겠다.

프로토콜(protocol)은 컴퓨터뿐 아니라 다양한 방면에서 통용되는 용어다. 공상과학영화 등을 보면 자주 나오는데, 사전적으로는 ‘규약’, ‘약속’ 등을 의미한다. 컴퓨터 네트워크에서의 프로토콜은 두 기기(컴퓨터든 뭐든)가 서로 통신하기 위한 사전 약속으로 해석할 수 있다. 우리가 전화를 걸고 받을 때 서로 “여보세요”라는 말로 시작하는 것과 유사한 개념이다. 물론 “여보세요” 대신 ”네~” 혹은 “홍길동입니다”라고 말하는 이도 있지만, 이 역시도 전화 통화의 단계에서 보면 같은 맥락이다.

 01.gif
01.gif

우리가 컴퓨터를 통해 인터넷을 접속하든 공유 폴더/파일에 접근하든 메일을 주고받든 네트워크 프로토콜을 알게 모르게 이용하게 된다. 이렇듯 컴퓨터 통신에 이용되는 프로토콜은 여러 가지가 있는데, 컴퓨터와 인터넷을 사용하면서 흔히 접하게 되는 프로토콜은 대여섯 개밖에 되지 않는다. 물론 이를 몰라도 아무 문제 없겠지만, 알아 두면 조만간 요긴하게 써먹을 일이 분명 생길 것이다.

 02_1.jpg
02_1.jpg

인터넷 접속을 위한 규약 - TCP/IP

TCP/IP라는 프로토콜을 교과서적으로 설명하려면, 먼저 ‘OSI 7계층’이라는 데이터 전송 기본 이론에 대해 구구절절 늘어놓아야 한다. 전산 자격증 시험을 볼 것도 아니니 여기서는 개괄적인 개요와 개념만 인식하도록 한다.

MS 윈도우 운영체계에서도 TCP/IP라는 프로토콜을 자주 접하는데, 이는 한마디로 ‘인터넷 접속’을 위한 통신 규약이라 정의할 수 있다. 이는 TCP라는 프로토콜과 IP라는 프로토콜을 합쳐서 사용하는 것으로, ‘123.123.123.123’과 같은 IP 주소 체계를 사용하면서(IP 프로토콜의 특징), 신뢰성 높은 데이터 송수신을 제공한다(TCP 프로토콜의 특징)는 의미다.

 03_1.jpg
03_1.jpg

이에 따라 전 세계의 모든 컴퓨터, 기기가 인터넷을 통해 상호 연결되기 위해서는 TCP/IP라는 통신 규약을 사용해야 하고, 그 일환으로 IP 주소를 각각 부여하고 있다. 윈도우 운영체계의 네트워크 속성 등에서 보는 ‘Internet Protocol Version 4(TCP/IPv4)’가 바로 이것이다(MS 윈도우7 기준).

참고로 여기서 말하는 ‘인터넷’이란 엄밀히 말해, 흔히 웹 브라우저로 접속하는 ‘인터넷 웹 사이트’가 아닌, 각기 다른 지역의 컴퓨터가 서로 연결되는 방식을 통칭하는 의미다. 웹 브라우저로 접속하는 인터넷 웹 페이지는 ‘인터넷’의 방식 중 하나일 뿐이다. 이는 다음에서 바로 설명한다.

웹 페이지에 접속하기 위한 규약 - HTTP

앞서 언급한 대로, 인터넷 익스플로러 등의 웹 브라우저로 웹 페이지에 접속하는 것은 ‘인터넷’의 가장 보편적이고 대중적인 방식이다. 인터넷 웹 페이지는 ‘하이퍼 텍스트(hyper-text)’라는 글자로 구성되는데, 이 하이퍼 텍스트를 전송, 제어하는 규약이 HTTP이다. 그리고 웹 페이지를 작성하는 언어가 ‘HTML’이다. 특정 하이퍼 텍스트를 마우스로 클릭하여 다른 웹 페이지로 이동시키는 방식을 ‘하이퍼링크’라고 한다.

 04_1.jpg
04_1.jpg

웹 브라우저 주소창에 ‘http://…’라 입력하는 건, 이제부터 접속할 인터넷은 하이퍼 텍스트로 작성된 웹 페이지에 접속한다는 뜻이다. 만약 이 ‘http’ 대신에 다른 프로토콜(예를 들면, 아래에서 설명할 ftp)을 입력하면 다른 방식의 인터넷으로 접속된다. 아울러 ‘http://’를 생략하고 www.itdonga.com와 같은 인터넷 주소를 입력해도, 컴퓨터는 기본적으로 ‘http://’가 포함된 것으로 간주하고 웹 페이지를 띄우게 된다.

 05.jpg
05.jpg

전 세계의 모든 웹 페이지는 http 프로토콜을 통해 서비스되어야 하며, 사용자는 http 프로토콜을 지원하는 웹 브라우저를 통해 이 웹 페이지에 접속해야 한다. 이것이 네트워크에서 말하는 ‘규약’이다.

HTTPS도 있던데?

HTTPS는 http와 동일하지만 보안(secure) 기능을 추가한 것으로 http 프로토콜에 보안 기능을 제공하는 SSL 프로토콜을 접목한 형태다. 이 https는 컴퓨터 사이에 전송되는 데이터나 정보 등을 암호화하여 보안성을 강화하게 된다. 일반적으로 온라인 결재 웹 페이지나 회원 가입 웹 페이지 등에 적용되어 정보 유출을 방지한다. 웹 사이트에 로그인하거나 인터넷 쇼핑몰 등에서 온라인 결재할 때 인터넷 주소창을 유심히 보면, http에서 https로 변경됐다가 다시 http로 복귀되는 것을 볼 수 있다. 즉 회원 정보나 결재 정보가 전송되는 단계에서는 https 프로토콜로 전환되는 것이다(보통 눈 깜박할 사이에 전환되어 잘 안 보이긴 한다).

 06.jpg
06.jpg

빠른 파일 전송을 위한 규약 - FTP

순전히 파일 전송을 위해 사용하는 인터넷 규약이다. 다른 어떤 프로토콜보다 속도가 빠른 것이 특징이다. 앞선 http를 사용하는 웹 페이지에서도 파일을 다운로드할 수 있지만, 대량의 파일을 다운로드하기에는 아무래도 불편하고 느리다. ftp 프로토콜은 원격의 컴퓨터에 접속하여 파일만 빠르게 업로드/다운로드할 수 있도록 한다. 위에서 ftp 역시 인터넷 규약이라 설명한 대로, 동일한 인터넷 주소라도 ‘http://’를 입력했을 때와 ‘ftp://’를 입력했을 때는 다른 화면이 나타난다(해당 사이트에서 http와 ftp 서비스를 제공한다는 가정). 즉 같은 ‘인터넷’이지만 접속 및 전송 방식이 다른 것이다. 규약이 다르기 때문이다.

기본적으로 ftp 프로토콜을 통해 파일을 전송하려면 FTP 클라이언트 프로그램이 필요하다. http를 사용하는 웹 페이지에 접속하기 위해서는 인터넷 익스플로러 등과 같은 웹 브라우저가 필요한 것과 동일하다. 이스트소프트의 ‘알FTP’가 그 대표적인 예다(무료이면서 여러 가지 기능을 제공하기 때문에 많은 사람이 사용한다).

 07_1.jpg
07_1.jpg

물론 웹 브라우저나 윈도우 탐색기에서도 ftp 서비스를 제공하는 서버(ftp 서버)에 접근할 순 있다. ‘http://..’와 유사하게 ‘ftp://..’ 형태로 주소를 입력하면 된다. 다만 대량의 파일을 송수신할 때는 알FTP와 같은 전용 클라이언트 프로그램보다는 속도도 느리고 번거롭다.

 08_1.jpg
08_1.jpg

E 메일을 받고 보내기 위한 규약 - POP / SMTP

편지를 정확하게 보내고 받기 위해 우리는 우편번호를 적고, 보내는 사람 주소 위치, 받는 사람 주소 위치를 구분하여 기재한다. 이것이 편지 송수신에 대한 사회적인 규약이다. E 메일(이하 메일)도 마찬가지다. 메일을 인터넷으로 보내기 위한 프로토콜과 받기 위한 프로토콜을 정확히 구분해서 사용해야 하는데, 전자가 POP, 후자가 SMTP 프로토콜이다.

 09_2.jpg
09_2.jpg

일반적으로 네이버 등의 포털 사이트의 메일 서비스를 통해 메일을 주고받을 때는 이들 메일 프로토콜에 대해 몰라도 된다. 포털 측에서 미리 설정해 뒀기 때문이다. 하지만 MS 아웃룩 등의 메일 클라이언트 프로그램을 설치해 이를 통해 메일을 발신, 수신하기 위해서는 POP, SMTP 프로토콜 설정을 직접 해야 한다. 예를 들어 네이버 메일을 MS 아웃룩에서 사용하려면, 네이버에서 제공하는 메일 수신용 POP 서버 주소(pop.naver.com)와 발신용 SMTP 서버 주소(smtp.naver.com)를 아웃룩에 입력하면서 계정과 암호를 설정해야 한다(물론 네이버 로그인 계정과 암호다). POP 설정만 하면 메일 수신만 가능하고, SMTP 설정만 하면 메일 발신만 가능하다.

 10_1.jpg
10_1.jpg

MS 아웃룩 같은 프로그램 외에도 스마트폰이나 태블릿 PC 등에 제공되는 메일 애플리케이션에서도 이와 같은 POP/SMTP 설정을 해야 외부 메일을 기기에서 직접 확인, 전송할 수 있다.

한편 메일을 수신하는 프로토콜은 POP 이외에 IMAP이라는 것도 많이 사용된다. 스마트폰 등에 주로 적용되는데, 메일 수신함을 폴더 형태로 편리하게 사용할 수 있거나 서버의 메일 수신함과 기기의 수신함을 동기화시킬 수 있고, 메일 미리 읽기 등이 가능하다는 특징이 있다. 설정하는 방법은 POP와 동일하다. 네이버의 경우 메일 수신 서버 설정에 imap.naver.com이라 입력하면 된다.

IP 주소를 자동으로 설정하기 위한 규약 - DHCP

앞선 1부 강의에서 살펴본 IP 주소 등의 네트워크 정보를 컴퓨터에 자동 설정하도록 하는 프로토콜이다. DHCP 서버가 각 컴퓨터에 IP 주소 등의 정보를 뿌려줄 때 상호 간에 지정한 통신 규약이 DHCP다(이를 ‘유동 IP 주소’라 한다고 1부(http://it.donga.com/openstudy/3106/)에서 배웠다). DHCP 환경에서는 IP 주소가 중복 사용될 염려가 없으며, 켜져 있는 컴퓨터에만 IP 주소 등을 할당하기 때문에 IP 주소가 쓸데없이 낭비되는 일도 없다. 물론 사용자가 일일이 직접 IP 주소 등을 입력할 필요가 없다는 점이 DHCP 서비스의 가장 큰 장점이다.

 11_1.jpg
11_1.jpg

현재 판매되는 인터넷 유무선 공유기에는 이 DHCP 서비스가 기본적으로 제공되어 하나의 공인 IP 주소를 여러 대의 컴퓨터에서 공유할 수 있다. 공유기가 아니더라도 DHCP 서버를 직접 구현하여 사용할 수도 있다. MS 윈도우 서버 운영체계나 리눅스 등의 DHCP 서비스를 실행한 후 IP 주소를 자동 할당할 컴퓨터 대수에 맞게 IP 주소 범위(pool)를 설정하면 그 범위 내에서 서버가 알아서 컴퓨터에 IP 주소를 할당한다. 물론 이 정보를 수신한 컴퓨터도 알아서 자동으로 네트워크 설정을 완료하게 된다.

 12_1.jpg
12_1.jpg

지금까지 이번 강의에서는 7개의 프로토콜에 대해서만 간략하게 알아봤지만, 실제로 컴퓨터나 네트워크 기기가 서로 통신하는 데는 수많은 프로토콜이 사용된다. 이에 대해 자세히 설명하려면 웬만한 두께의 참고서 한 권 정도가 된다. 물론 우리가 컴퓨터와 네트워크를 사용하는데 이들 프로토콜을 전부 알아야 할 필요도 없고 그러기도 어렵다. 하지만 분명한 건, 이렇게 복잡 다양한 통신 기술과 서비스가 톱니바퀴처럼 정확히 맞물려 돌아가고 있기 때문에, 책상에 앉아 지구 반대편 동네의 인터넷 웹 페이지에 접속할 수 있다는 점이다. 그런 만큼 일상의 일부가 된 인터넷을 지금보다 훨씬 유용하고 신속하게 사용하기 위해서는, 적어도 위의 프로토콜에 관한 기초 지식 정도는 알아두는 것이 바람직하다 하겠다.

약어 풀이

  • OSI - Open System Interconnection
  • TCP/IP - Transmission Control Protocol / Internet Protocol
  • HTTP - HyperText Transfer Protocol
  • HTTPS - HyperText Transfer Protocol Secure
  • HTML - HyperText Markup Language
  • FTP - File Transfer Protocol
  • POP - Post Office Protocol
  • SMTP - Simple Mail Transfer Protocol
  • IMAP - Internet Message Access Protocol
  • DHCP - Dynamic Host Configuration Protocol

글 / IT동아 이문규(munch@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.