Search
Duplicate
🔋

[모두의 네트워크] 02.네트워크의 기본 규칙 - OSI 모델, 캡슐화, 역캡슐화

간단소개
OSI 모델이 뭔지 궁금했다면! 읽어보세요~~
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
네트워크
CS
Scrap
태그
9 more properties
네트워크에서는 통신을 하기 위해 지켜야 하는 규칙이 있다. 통신의 기본 규칙인 프로토콜에 대해 배운다.
오늘의 키워드
오늘의 목표
프로토콜이란?
네트워크에서 문제없이 통신하려면 규칙(약속)을 지켜야 한다.
서로 다른 나라 사람들이 만났을 때 서로 알아들을 수 있는 언어로 대화를 나누는 것과 비슷하다.
서로 대화할 때 “영어로 대화한다”는 규칙을 정해두면 문제없이 대화할 수 있다.
이와 같은 규칙을 프로토콜(protocol)이라고 한다. 네트워크에 대해 공부할 때는 매우 중요한 용어이니 꼭 기억할것!
프로토콜에 대한 이해를 돕기 위해, 편지를 예를 들어보자. 편지가 배송되는 대략적인 과정은 다음과 같다.
단, 2번에서 주소를 적지 않거나, 우표를 붙이지 않은 채로 우체통에 넣으면 편지를 어디로 보내야 하는지 알 수가 없다. 그래서 2번에서는 주소를 적고 우표를 붙이는 작업이 필요하다. 규칙에는 “편지를 쓰는 규칙”, “편지를 보내는 규칙”, “우체국의 규칙” 등 여러 규칙이 있는데, 이 규칙들은 서로 영향을 주지 않는다는 특징이 있다.
즉, 편지가 상대방에게 도착해서 읽혀지기까지 (독립적인) 여러 규칙을 거친다는 느낌으로 이해하면 된다.
OSI 모델?
과거에는 같은 회사의 컴퓨터끼리만 통신이 가능했던 시절이 있었다. 거기에 케이블을 연결하는 커넥터도 회사별로 다르기도 했었다. 이 문제를 해결하기 위해 “표준 규격*”을 정해야만 했었다.
⇒ 규격 : 기술적인 사항에 대해 제정한 기준을 말하는데, 보통은 기술적 표준을 의미한다.
표준 규격을 정하는 단체는 여러곳이 있고, 그 중에서도 ISO 국제표준화기구에서 OSI모델이라는 표준 규격을 제정했다.
OSI 모델은 네트워크 기술의 기본이 되는 모델이다. 데이터의 송수신은 컴퓨터에서 컴퓨터로 데이터를 전송하는 것이다. 이 때 컴퓨터 내부에서는 여러 가지 일을 하는데, 이런 일을 일곱 개 계층으로 나누어서 한다. 그 일곱 개 계층이 바로 다음과 같은 OSI 모델이다. 계층이라는 용어 대신 레이어라는 용어를 사용하기도 한다.
통신할 때 데이터는 맨 위의 응용 계층에서 순차적으로 아래 계층으로 전달 된다. 각 계층의 역할은 다음 표와 같다.
다음 그림은 데이터를 송신하는 측과 데이터를 수신하는 측을 포함해서 OSI 계층을 살펴본 그림이다.
데이터를 전송하는 쪽(송신 측)은 데이터를 보내기 위해서 상위 계층에서 하위계층으로 데이터를 전달한다. 각 계층은 독립적이므로 데이터가 전달되는 동안에 다른 계층의 영량을 받지 않는다. 데이터를 받는 쪽(수신 측)은 하위 계층에서 상위 계층으로 각 계층을 통해 전달된 데이터를 받게 된다.
TCP/IP 모델?
지금까지는 OSI 모델에 대해 살펴봤다. 7계층을 4계층으로 바꾸어 생각하면 이해가 더 쉬울것이다. 이 4계층 모델을 TCP/IP 모델이라고 한다. TCP/IP 모델은 다음 그림과 같이 4계층으로 이루어져 있다.
다음은 OSI 모델과 TCP/IP 모델을 비교한 내용이다.
OSI 모델의 응용, 표현, 세션 계층이 응용계층으로 합쳐져 있다. 각각의 계층에는 다양한 프로토콜(통신 규칙)이 있다.
캡슐화와 역캡슐화
데이터를 송수신할 때는 캡슐화와 역캡슐화가 이루어진다.
컴퓨터 A에서 컴퓨터 B로 데이터를 보낸다고 생각해 보자.
데이터를 보내려면, 위의 그림과 같이, 데이터의 앞부분에 전송하는데 필요한 정보를 붙여서 다음 계층으로 보내야한다. 이 정보를 헤더라고 하는데, 헤더에는 데이터를 전달받을 상대방에 대한 정보도 포함되어 있다. 이처럼 헤더를 붙여 나가는 것을 “캡슐화”라고 한다. 한편 데이터를 받는 쪽에서는 헤더를 하나씩 제거해 나가야 하는데, 이것을 “역캡슐화”라고 한다.
일반적으로 5계층인 세션 계층과 6계층인 표현계층은 7계층인 응용계층을 포함해서 생각할 수 있는데, 이렇게 포함한 채로 OSI 모델로 캡슐화와 역캡슐화의 과정을 살펴보자.
위의 그림은 캡슐화와 역캡슐화의 전체 흐름을 표현한 것이다.
우선 송신 측 컴퓨터에서 웹사이트에 접속하려고 하면, 1번 응용계층에서는 웹 사이트를 접속하기 위한 “요청 데이터”가 만들어진다.
다음으로, 해당 데이터는 2번의 전송 계층에 전달되는데, 아래 그림과 같이, 전송 계층에서 신뢰할 수 있는 통신이 이루어지도록 응용계층에서 만들어진 데이터에 헤더를 붙인다.
그리고 다음 그림과 같이 전송 계층에서 만들어진 데이터를 다른 네트워크와 통신하기 위해 3의 네트워크 계층에서 헤더를 붙인다. 또 네트워크 계층에서 만들어진 데이터에 물리적인 통신 채널을 연결하기 위해 4의 데이터 링크 계층에서 헤더와 트레일러를 붙인다.
트레일러는 데이터를 전달할 때 데이터의 마지막에 추가하는 정보를 말한다.
위의 과정을 통해 전송 계층 헤더, 데이터 링크 계층 헤더와 트레일러가 추가 되었다. 이처럼 필요한 데이터를 추가해 나가는 것을 “캡슐화”라고 한다.
이제 부터 수신 측의 5~9번 단계를 살펴보도록 하자.
수신 측은 각 계층의 헤더를 제거하면서 데이터를 전달하고 있다. 캡슐화와는 반대로 데이터 링크 계층부터 순서대로 상위 계층으로 전달하고 있다.
송신 층의 데이터 링크 계층에서 추가된 헤더와 트레일러는 수신 측인 데이터 링크 계층에서 제거한다. 그루 네트워크 계층에서 네트워크 계층 헤더를 제거하고,
다음으로 전송 계층의 헤더를 제거하고, 모든 헤더가 제거된 데이터가 수신 측에 도착하게 된다.
데이터 한개를 전달하는 데도 네트워크 통신의 내부에서는 이러한 일이 일어나게 되며, 데이터를 전달하기 위한 여러 가지 규칙이 있기 때문에 데이터를 문제없이 전달 할 수 있다.
 VPN?
VPN은 Virtual Private Network(가상 사설망)의 약어로, 가상 통신 터널을 만들어 기업 본사나 지사와 같은 거점 간을 연결하여 통신하거나, 외부에서 인터넷으로 사내에 접속하는 것을 말한다.
예를 들어, 서울에 본사가 있고 부산에 지사가 있다면, 본사 내부 랜에서 지사 내부 랜에 접속해 통신하는 것은 물리적인 거리가 멀어 어렵다. 이럴 때는 VPN을 이용해서 본사와 지사를 연결해서 통신할 수 있다.
VPN은 다음 두 종류로 구성되어 있다.
인터넷 VPN
인터넷 VPN에는 거점 간 접속과 원격 접속 연결이 있다. 둘 다 일반 인터넷망을 사용한다. 거점 간 접속은 IPsec이라는 암호 기술 프로토콜을 사용하여 접속한다. 반면 원격 접속 연결은 외부에서 사용하는 컴퓨터와 사내 네트워크를 연결하기 때문에 암호화된 통신로를 만든다.
IP-VPN
IP-VPN은 MPLS라는 기술을 사용하며 인터넷망이 아닌 통신 사업자 전용 폐쇄망을 사용한다. MPLS는 폐쇄망을 사용하기 때문에 제삼자에 의한 해킹이나 데이터 변조의 위험이 없어 암호화 기능이 필요하지 않다.