1. 프로토콜(protocol)
1) 개념
- 노드 간에 정보를 올바르게 주고받기 위해 합의된 규칙이나 방법.
- 네트워크 통신이 원활하게 이뤄지려면, 서로가 사용하는 프로토콜을 양쪽이 모두 이해할 수 있어야 한다.
- 일상 속 언어와는 달리 통신 과정에서는 일반적으로 여러 프로토콜을 함께 사용한다.
- 어떤 프로토콜이 사용되느냐에 따라 패킷 헤더가 가지는 정보가 달라질 수 있다.
2) 모든 프로토콜에는 목적과 특징이 있다.
- IP는 패킷을 수신지까지 전달하기 위해 사용되는 프로토콜이다.
-> IP의 목적: 패킷을 수신지까지 전달하기 위한 것.
- ARP는 192.168.1.1과 같은 형태의 IP 주소를 A1:B2:C3:D4:E5:F6과 같은 형태의 MAC 주소로 대응하기 위해 사용되는 프로토콜이다.
-> ARP의 목적: IP 주소를 MAC 주소로 대응하기 위한 것.
- HTTPS는 HTTP에 비해 보안상 더 안전한 프로토콜이다.
- TCP는 UDP에 비해 일반적으로 느리지만 신뢰성이 높은 프로토콜이다.
이처럼, 모든 프로토콜은 저마다의 목적과 특징이 있다. 이것이 프로토콜 학습의 중점이 되어야 한다.
2. 네트워크 참조 모델
1) 개념
- 네트워크를 통해 통신하는 각 과정을 여러 단계로 나누어 정형화한 모델이다.
- 각 단계는 계층적으로 표현 가능하다.
- 메시지를 송신하기 위해 거치는 단계와 수신하기 위해 거치는 단계는 서로 반대이다.

위 이미지는 네트워크 참조 모델의 한 예시이다.
2) 목적
(1) 네트워크 구성과 설계의 용이성
- 각 계층에서 수행되어야 하는 역할을 명확하게 정의할 수 있다.
- 프로토콜과 네트워크 장비를 각 계층별로 구성할 수 있다.
(2) 네트워크 문제 진단과 해결의 용이성

- 어떤 계층에서 문제가 발생했는지를 확인함으로써 문제의 원인을 보다 쉽게 파악할 수 있다.
3) 대표적인 네트워크 참조 모델

(1) OSI 7 계층
- 국제 표준화 기구인 ISO에서 만든 네트워크 참조 모델이다.

- 물리 계층(physical layer)
OSI 모델의 최하단. 1과 0으로 표현되는 비트 신호를 주고받는 계층이다.
전기 신호, 빛 등 각 통신 매체별 신호 정보가 비트 데이터로 정의된다.
- 데이터 링크 계층(data link layer)
네트워크 내 주변 장치 간의 정보를 올바르게 주고받기 위한 계층이다.
오류 검출이 이루어진다.
네트워크 주변 장치의 식별을 위해 MAC 주소가 사용된다.
- 네트워크 계층(network layer)
메시지를 다른 네트워크에 속해 있는 수신지까지 전달하는 계층이다.
LAN과 LAN 간의 통신을 위한 기술인 IP 주소, 라우팅 등의 기술이 이용된다.
- 전송 계층(transport layer)
패킷 전송의 신뢰성과 안정성을 위한 계층이다.
패킷의 순서나 유실 및 손상 여부 등을 관리한다.
사용자 프로세스를 식별하기 위해 포트가 이용된다.
- 세션 계층(session layer)
세션(통신을 주고받는 호스트의 응용 프로그램 간 연결 상태)을 관리하는 계층이다.
- 표현 계층(presentation layer)
문자를 컴퓨터가 이해할 수 있는 코드로 변환(인코딩)하거나, 압축 혹운 암호화하는 계층이다.
- 응용 계층(application layer)
사용자 및 사용자가 이용하는 응용 프로그램의 다양한 네트워크 서비스를 제공하는 계층이다.
(2) TCP/IP 4 계층
-
인터넷 프로토콜 스위트(internet protocol suite), TCP/IP 프로토콜 스택(TCP/IP protocol stack)이라고도 한다.
-
프로토콜을 중심으로 하여 OSI 7 계층에 비해 실용성을 강조한 모델이다.

-
네트워크 엑세스 계층(network access layer)
링크 계층, 네트워크 인터페이스 계층이라고도 한다.
OSI 7 계층의 데이터 링크 계층과 유사하다.
-
인터넷 계층(internet layer)
OSI 7 계층의 네트워크 계층과 유사하다.
-
전송 계층(transport layer)
OSI 7 계층의 전송 계층과 유사하다.
-
응용 계층(application layer)
OSI 7 계층의 세션+표현+응용 계층과 유사하다.
(3) OSI 7 계층, TCP/IP 4 계층은 사실 아무것도 해주지 않는다.
네트워크 참조 모델을 처음 학습하면 네트워크 지식 == 네트워크 참조 모델이라고 오해하기 쉽다.
하지만,
- 네트워크 참조 모델은 반드시 지켜져야 하는 규칙이 아니다.
- 네트워크 참조 모델이나 각 계층이 네트워크를 작동시키는 주체가 아니다.
네트워크를 작동시키는 주체는 네트워크 참조 모델에 속해 있는 프로토콜과 네트워크 장비이다.
- 모든 프로토콜이나 네트워크 장비가 반드시 특정 계층에 완벽히 대응되지는 않는다.
프로토콜과 네트워크 장비는 계속해서 새롭게 만들어지고 있다.
네트워크 참조 모델은 말 그대로 '참조'를 위한 밑그림일 뿐이다.
따라서 네트워크 학습의 중점은 프로토콜과 네트워크 장비가 되어야 하지, 네트워크 참조 모델이 되어서는 안 된다.
3. 캡슐화와 역캡슐화
1) 개념

(1) 캡슐화
- 메시지 송신 과정에서 이루어진다.
- 네트워크 참조 모델의 가장 높은 계층에서부터 가장 낮은 계층으로 이동하며 이루어진다.
- 각 계층별 프로토콜의 목적과 특징에 부합하는 헤더(+트레일러)를 추가하는 과정이다.
- 이전 계층에서의 패킷(
헤더+페이로드)은 다음 계층에서의 페이로드가 된다.

- 위 사진처럼 각 계층을 지나면서 헤더가 추가되며, 데이터 링크 계층에서는 트레일러도 함께 추가된다.
(2) 역캡슐화
- 메시지 수신 과정에서 이루어진다.
- 네트워크 참조 모델의 가장 낮은 계층에서부터 가장 높은 계층으로 이동하며 이루어진다.
- 각 계층별 프로토콜의 목적과 특징에 부합하는 헤더를 제거하는 과정이다.

2) PDU(Protocol Data Unit)

- 각 계층에서 송수신되는 메시지의 단위를 의미한다.
- 현재 계층의 PDU == 상위 계층의 데이터 + 현재 계층의 프로토콜 헤더(및 트레일러)
4. 트래픽과 네트워크 성능 지표
1) 트래픽(traffic)
- 네트워크 내의 정보량을 의미한다.
- 주로 노드에서 측정이 이루어진다. (특정 시점에 노드를 경유하는 정보량)
- 과도한 트래픽은 과부하(성능 저하)를 발생시킨다.
2. 네트워크 성능 지표
(1) 처리율(throughput)
- 단위 시간당 네트워크를 통해 실제로 전송되는 정보량.
- 실시간성이 강조된 지표이다.
- 표현 단위
- bps(bit/s): bits per second
- Mbps(Mbit/s): megabits per second
- Gbps(Gbit/s): gigabits per second
- pps(p/s): packets per second
(2) 대역폭(bandwidth)
- 단위 시간동안 통신 매체를 통해 송수신할 수 있는 최대 정보량.
- 통신 매체의 최대 역량을 나타내는 지표로 사용된다.
(어떤 통신 매체를 통해 정보를 주고받을 수 있는 폭이 얼마나 넓은가?)
- bps, Mbps, Gbps 단위 사용.
(3) 패킷 손실(packet loss)
- 손실된 패킷 수,
전체 패킷 / 유실된 패킷(백분위) 단위 사용.