[네트워크] 네트워크 기초(3) - 프로토콜, 프로토콜 개념, 프로토콜 예시, 계층별 프로토콜, 프로토콜 기본요소

앞선 시간에서 네트워크를 거시적으로 다루고, 분류했다면, 이번 장에선 네트워크를 좀 더 세부적으로 살펴보겠다. 

 

우리가 앞으로 학습할 개념은 크게 세 가지이다. 

1. 프로토콜 - 정보를 올바르게 주고받기 위해 합의된 규칙이나 방법
2. 네트워크 참조 모델 - 통신이 일어나는 구조를 계층화한 것
3. 캡슐화(역캡슐화) - 통신 과정에서 이루어지는 것

 

 

먼저 프로토콜에 대해 알아보자. 

예시로 프로토콜의 개념 먼저 알아보기

프로토콜을 한 마디로 정의하자면

컴퓨터 내부 OR 컴퓨터 사이에서 원활한 통신을 위해 데이터 교환 방식을 정의하는 규칙 체계이다. 

 

현대 인터넷은 호스트 간 패킷을 교환하는 방식으로 대부분 패킷 교환 방식을 사용한다. 

앞서 패킷 교환 방식이 택배를 주고받는 과정과 비슷하다고 언급한 바 있다.

 

내가 미국에 있는 테일러 스위프트(수신지 호스트)에게 한국어로 된 팬레터를 보낸다고 가정해보자. 그렇다면, 순서는 다음과 같다.

  1. 선물할 팬 레터(페이로드)를 택배 상자에 담는다. 
  2. 배송 주소 등 택배 기사가 읽을 메시지(헤더)를 작성하고 첨부한다.
  3. 택배 기사(네트워크 장비)를 통해 발송한다.

위 과정이 순조롭게 진행되려면 다음과 같은 사항이 필요하다.

  • 테일러 스위프트가 내 팬레터의 언어를 이해할 수 있어야 한다.
  • 택배 기사도 택배 송장에 적힌 메시지를 이해할 수 있어야 한다.
  • 여러 명의 택배 기사가 필요하다면, 택배 기사까지 주고받는 언어도 서로 통해야 한다.

결국, 올바르게 정보를 주고받기 위해서는 합의된 언어 의사소통 방식이 필요하다.

 

프로토콜 개념

네트워크에서의 이 합의된 의사소통 방식이 바로 프로토콜이다.
언어가 정보를 주고받기 위해 사회적으로 합의된 의사소통 방식이라면,
프로토콜은 노드 간에 정보를 올바르게 주고받기 위해 합의된 규칙이나 방법을 의미한다. 

 

즉, 서로 다른 통신 장치들이 정보를 주고받으려면 프로토콜이 통해야 한다.

통신을 위해 프로토콜이 가져야 할 일반적인 기능은 다음과 같다.

  • 데이터 처리 기능
  • 제어 기능
  • 관리적 기능

 

프로토콜 예시

아래 문장들을 이해가 안 되도 좋으니 한 번 읽어보자.

IP는 패킷을 수신지까지 전달하기 위해 사용되는 프로토콜이다.
ARP는 192.168.1.1과 같은 형태의 'IP 주소'를 A1:B2:C3:D4:E5:F6과 같은 형태의 'MAC 주소'로 대응시키는 즉, 네트워크 상에서 IP주소를 물리적 네트워크 주소로 대응(bind)시키기 위해 사용되는 프로토콜이다.  
보통 인터넷에 있는 데이터를 요청할 때에는 HTTP라는 프로토콜을 사용하며, 주소(URL,URI)를 통해 접근할 수 있게 된다. HTTPSHTTP에 비해 보안상 더 안전한 프로토콜이다. 
TCPUDP에 비해 일반적으로 느리지만 신뢰성이 높은 프로토콜이다.

 

여기서 IP, ARP, HTTPS, HTTP, TCP,UDP 같은 것들이 모두 프로토콜이다. 앞으로 더 자세히 배우겠지만 위 예시에서 알 수 있는 점은 모든 프로토콜에는 저마다의 목적과 특징이 있다는 점이다. 프로토콜마다 목적과 특징이 다르기에 이에 부합하는 정보도 달라질 수 있다. 즉, 프로토콜마다 패킷의 헤더 내용이 달라질 수 있다. (전 포스팅에서 패킷을 택배상자에 비유하며 패킷에는 페이로드와 헤더(송장)와 같은 부가정보가 있다고 언급한 바 있다.)

 

계층별 프로토콜 종류

네트워크 참조 모델(OSI 7 Layers 프로토콜 계층)에 따라 어떤 종류의 프로토콜이 있는지 정리한 표이다.

네트워크 참조 모델에 대해서는 다음 포스팅에서 다룰 예정이다. 

주요 프로토콜은 형광색으로 표시했다.

OSI 7 계층 프로토콜 이름
7. 응용(Application) HTTP, HTTPS, SMTP, FTP, Telnet,SSH. RDP, WebSocket
6. 표현(Presentation) ASCII, MPEG, JPEG, MIDI
5. 세션(Session) NetBIOS, SAP, SDP, NWLink
4. 전송(Transport) TCP, UDP, SPX
3. 네트워크(Network) IP, IPX
2. 데이터 링크(Data Link) Ethernet, Token Ring, FDDI, Apple Talk
1. 물리(Physical) 없음

주요 프로토콜

아래는 주요 쓰이는 프로토콜읱 특징을 간략히 정리 한 것이다. 

OSI 7 계층 프로토콜 이름 설명
7. 응용 HTTP 웹에서 HTML, JSON 등의 정보를 주고받는 프로토콜
HTTPS HTTP에서 보안이 강화된 프로토콜
FTP 파일 전송 프로토콜
SMTP 메일을 전송하기 위한 프로토콜
SSH CLI 환경의 원격 컴퓨터에 접속하기 위한 프로토콜
RDP Windows 계열의 원격 컴퓨터에 접속하기 위한 프로토콜
WebSocket 실시간 통신, Push 등을 지원하는 프로토콜
4. 전송

TCP
HTTP, FTP 통신의 등의 근간이 되는 인터넷 프로토콜
UDP (양방향의 TCP와는 다르게) 단방향으로 작동하는 훨씬 더 단순하고 빠르지만, 신뢰성이 낮은 인터넷 프로토콜
3. 네트워크 IP 인터넷 프로토콜. 보편적으로 사용되는 IP 주소체계에는 (IPv4, IPv6)가 있다.

프로토콜의 기본 요소(구의타)

아래 세 가지 요소는 컴퓨터가 서로 통신할 때, 혼란 없이 데이터를 정확하게 주고받기 위해 꼭 필요한 규칙들이다.

  • 구문(Syntax) : 전송하고자 하는 데이터의 형식(Format), 부호화(Coding), 신호 레벨(Signal Level) 등을 규정
  • 의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
  • 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정

이를 HTTP로 예시를 들면 다음과 같이 표현할 수 있다.

구문(Syntax): HTTP 요청과 응답 메시지의 형식과 구조.
의미(Semantics): GET, POST 등의 요청 방법과 그에 따른 의미.
시간(Timing): 서버가 응답을 처리하고 브라우저가 그 응답을 기다리는 시간과 데이터의 순서.

   

 

 

 

참고자료

책 - 혼자 공부하는 네트워크

https://computer-science-student.tistory.com/377

 

프로토콜(Protocol)이란? - 정의, 기본 요소, 종류, 기능

프로토콜(Protocol)이란? 통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉 통신 규약 및 약속이다. 프로토콜의 기본 요소 구

computer-science-student.tistory.com

https://ko.wikipedia.org/wiki/%ED%86%B5%EC%8B%A0_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C

 

통신 프로토콜 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 통신 프로토콜은 신호 체계, 인증, 그리고

ko.wikipedia.org