네트워크 참조 모델
네트워크에서 정보를 주고받는 일은 주로 택배에 비유를 많이 한다.(패킷과 택배의 유사성 때문에) 택배를 주고받는 과정을 간단하게 풀어보면 아래와 같다.
- 선물한 물건을 준비한다.
- 물건을 택배 상자에 포장한다.
- 택배상자에 택배 기사가 확인할 정보를 작성에 붙인다.
- 택배 상자를 택배 기사한테 전달한다.
만약 받는 사람 입장에서 생각한다면 다음과 같다.
- 택배 기사를 통해 택배를 받는다.
- 택배에 붙여진 메시지를 제거한다.
- 택배를 개봉한다.
- 받은 물건을 확인한다.
이 과정을 통해 알 수 있는 점은 택배 송수신과정은 서로 반대의 과정으로 이루워져있고 정형화된 순서가 있음을 알 수 있다. 이러한 표현은 아래 그림과 같은 계층적 구조로 표현될 수 있다.
네트워크도 마찬가지이다. 네트워크도 정보를 주고받을 때는 정형화된 여러 단계를 거치며, 이 과정을 계층으로 표현할 수 있다. 이런 통신이 일어나는 계층의 구조를 네트워크 참조 모델(Network reference model)이라고 한다. 계층을 표현하는 점에서 네트워크 계층 모델이라고 부르기도 한다.
통신 계층을 나눈 이유
1) 네트워크 구성과 설계의 용이하다.
각 계층이 수행해야할 역할이 정해져 있다면 계층의 목적에 맞게 프로토콜과 네트워크 장비를 계층별로 구성할 수 있다. 예를 들어 1 계층의 목적에 맞는 장비를 구성하고 2 계층은 2 계층의 목적에 맞는 장비를 구성한다면 목적에 부합하는 프로토콜과 네크워크 장비를 사용할 수 있고, 이것은 네트워크 구성과 설계를 용이하게 만들어 준다.
2) 네트워크 문제 진단과 해결이 용이해진다.
아무래도 계층이 나누어져있으면 문제가 발생 시 원인을 파악하기 수월하다. 계층별로 확인함으로써 원인을 찾을 수 있기 때문이다. 예를 들면 인터넷이 갑자기 안되면 가장 먼저 최하위 계층인 1 계층에 문제를 확인하기 위해 유무선 매체의 접속을 확인하고 이상이 없으면 2 계층으로 넘어가는 순차적인 확인이 가능해진다.
즉, 네트워크를 계층별로 진단함으로써 문제 발생 지점을 추측할 수 있어, 문제 진단과 해결이 수월해진다는 장점이 있다.
대표적인 네트워크 참조 모델
- OSI 모델(OSI 7 계층)
- TCP/IP 모델(TCP/IP 4 계층)
OSI 모델
국제 표준화 기구에서 만든 네트워크 참조 모델이다. 통신 단계를 총 7개의 계층으로 나누며, 최하위 계층에서 최상위 계층 순으로 물리 계층, 데이터 링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층, 응용 계층으로 분류가 된다.
물리 계층(Physical Layer)
- OSI 모델의 최하단 계층
- 1(On), 0(Off)로만 표현되는 비트 신호를 주고 받는 계층으로 가장 근원적인 통신이 이루어진다.
- 비트 데이터도 통신 매체에 따라 전기, 빛, 전파 등으로 신호를 전달받을 수 있다.
- 통신 매체에 맞는 신호가 운반되도록 비트 데이터 변환 및 통신 매체를 통한 송수신을 담당하는 계층
- 주로 네트워크 장비나 통신 매체를 의미한다.
데이터 링크 계층(Data Link Layer)
- 네트워크 내 주변 장치 간의 정보를 올바르게 주고받기 위한 계층
- 이더넷을 비롯한 LAN 기술이 데이터 링크 계층과 연관되어 있다.
- 정보를 올바르게 주고받기 위한 계층이므로,
- 물리 계층을 통해 주고 받는 정보에 오류가 없는지 확인하며
- MAC 주소라는 주소 체계(식별자)를 통해 네트워크 내 송수신지를 특정할 수 있다.
- 그렇기 때문에 전송 과정에서 발생할 수 있는 충돌 문제를 해결하는 계층이다.
네트워크 계층(Network Layer)
- 메시지를 다른 네트워크에 속한 수신지까지 전달하는 계층
- 데이터 링크는 네트워크 내 주변장치라면 네트워크 계층은 네트워크와 네트워크간의 통신을 의미한다.
- 인터넷을 가능하게 하는 계층
- IP 주소 라는 주소 식별자를 통해 수신지 호스트와 네트워크를 식별하고, 원하는 수신지에 도달하기 위한 최적의 경로 결정한다.
전송 계층(Transport Layer)
- 신뢰성 있고 안정성 있는 전송을 해야 할 때 필요한 계층
- 패킷이 정상적으로 보내졌는지, 중간에 유실되지 않았는지, 순서가 다르게 보내지 않았는지 등 전송 오류를 점검하여 신뢰성 있고 안정적인 전송을 이루어지게 한다.
- 사용자 프로세스를 확인하기 위한 식별자인 포트라는 정보도 포함하고 있다.
세션 계층(Session Layer)
- 세션(통신을 주고받는 호스트의 응용 프로그램 간 연결 상태)을 관리하는 계층
- 연결 상태를 생성하거나 유지하고, 종료되었을 때 끊어주는 역할을 한다.
표현 계층(Presentation Layer)
- 문자를 컴퓨터가 이해할 수 있는 코드로 변환하거나, 암축, 암호화와 같은 작업을 하는 계층
응용 계층(Application Layer)
- 최상단 계층
- 사용자 및 사용자가 이용하는 응용 프로그램에 다양한 네트워크 서비스를 제공하는 계층이다.
- 웹 브라우저, 이메일 클라이언트 프로그램 등 실질적인 네트워크 서비스가 제공된다.
- 다양한 서비스를 제공할 수 있는 만큼 타 계층에 비해 해당 계층에 속한 프로토콜이 많다.
TCP/IP 모델
OSI 모델은 주로 네트워크를 이론적으로 기술하고 이해할 때 사용된다. 반면에 TCP/IP 모델은 이론보다는 구현에 중점을 둔 네트워크 참조 모델이다.
OSI 모델의 목적은 `이상적 설계`에 가까우며, TCP/IP를 `실질적 구현`에 가깝다.
TCP/IP 4 계층, 인터넷 프로토콜 스위트, TCP/IP 프로토콜 스택이라고 부르기도 한다. TCP와 IP는 프로토콜이며, IP는 인터넷 프로토콜(Internet Protocol)의 약자이다. TCP/IP가 참조 모델 네이밍으로 활용되는것으로 보아 두 프로토콜이 오늘날 네트워크 구현의 핵심으로 간주됨을 나타낸다.
프로토콜 스위크, 프로토콜 스택은 무슨 의미일까?
이 두 단어는 다양한 계층의 프로토콜 집합을 의미한다. TCP/IP 모델은 기본적으로 두 모델에 중점을 두지만 UDP. ARP, HTTP 등 다양한 프로토콜들이 주로 묶여 함께 사용이 된다. 그렇기 때문에 TCP/IP를 중심으로 한 다양한 프로토콜의 집합을 통칭하기 위해 사용이 된다.
TCP/IP 계층은 최하위 계층에서 최상의 계층으로 각각 네트워크 액세스 계층, 인터넷 계층, 전송 계층, 응용 계층으로 이루어 진다.
네트워크 액세스 계층(Network Access Layer)
- 네트워크 액세스 계층은 링크 계층 또는 네트워크 인터페이스 계층이라고도 부른다.
- OSI 모델의 데이터 링크 계층이랑 유사하다.
- 최하위 계층이지만 물리 계층이 아닌 데이터 링크 계층 역할을 수행한다고 본다. TCP/IP에서는 OSI 계층의 물리적 계층에 해당하는 개념이 없다고 보는 견해가 지배적이다.
인터넷 계층(Internet Layer)
- OSI 모델의 네트워크 계층과 유사하다.
- 주로 프로토콜과 네트워크 장비의 역할과 동작을 담당한다.
전송 계층(Transport Layer)
- OSI 계층의 전송 계층과 유사하다.
응용 계층(Application Layer)
- OSI 모델의 세션 계층, 표현 계층, 응용 계층을 합친 것과 유사하다.
유사하다고 표현하는 이유
OSI 7 계층과 TCP/IP 4 계층을 공부하면 이 두 계층이 네트워크의 반드시 지켜야 할 규칙이며, 모든 프로토콜이나 네트워크 장비는 네트워크 참조 모델에 맞추어 특정 계층에 완벽히 대응된다고 생각을 하게 된다.
그렇기 때문에 네트워크 지식이 마치 네트워크 참조 모델을 이해라고 오해하기 쉽다.
네트워크 지식 = 네트워크 참조 모델은 아니다.
네트워크 참조 모델은 모든 프로토콜과 장비들이 지켜야 한 엄격한 규칙이나 법규를 의미하지 않는다. 참조라는 단어에서 알 수 있듯이 가이드라인 같은 역할을 수행한다.
참조에 역할로 이해해야 되는 이유는 지금도 새로운 장비와 프로토콜이 만들어져 있고, 모든 프로토콜이 모든 모델의 특징에 완벽히 대응되지는 않기 때문이다. 물론 완벽히 매칭되기도 하지만 애매하게 분류하기 어려운 프로토콜/장비도 존재한다.
그래서, TCP/IP 관련 자료를 찾아보면 계층별 명칭과 구성, 계층 수 들이 약간의 차이를 보이는 것을 확인할 수 있다. 오히려 엄격한 규칙으로 간주한다면 약간의 차이를 보이는 서술 방식과 프로토콜/장비에 혼란스러울 수 있다.
OSI 모델과 TCP/IP 모델 간의 비교도 마찬가지이다. OSI 모델은 이론적 설계, TCP/IP는 구현적 설계를 기반으로 한 참조 모델이다. 두 모델은 별개의 목적을 가지고 있는 별개의 모델이다. 그렇기 때문에 유사하다는 표현을 사용한다.
네트워크 참조 모델이나 특정 계층은 네트워크를 작동시키기는 주체가 아니다.
실적적으로 동작하는 주체는 네트워크 참조 모델에 속한 프로토콜과 네트워크 장비이다.
개발자 입장에서는 실질적 학습 대상은 프로토콜이나 네트워크 장비가 되어야 한다. 물론 면접, 시험이 목적이라면 참조 모델에 대한 부분도 알고 있어야 한다.
참고
혼자 공부하는 네트워크 - 예스24
혼자 해도 충분하다!1:1 과외하듯 배우는 네트워크 자습서『혼자 공부하는 네트워크』는 개발자의 필수 지식인 네트워크를 기본부터 제대로 학습할 수 있도록 돕는 입문서이다. 다수의 네트워
www.yes24.com
'Knowledge > 네트워크' 카테고리의 다른 글
[네크워크] 트래픽과 네트워크 성능 지표 (0) | 2024.05.16 |
---|---|
[네트워크] 캡슐화와 역캡슐화 (0) | 2024.05.16 |
[네트워크] 네트워크의 언어, 프로토콜(Protocol) (0) | 2024.05.14 |
[네크워크] 유니캐스트, 멀티캐스트, 브로드캐스트 (0) | 2024.05.10 |
[네크워크] 회선 교환 방식과 패킷 교환 방식 (0) | 2024.05.10 |