Network

OSI 7 Layer 정리 (Open System Interconnection)

GGkeeper 2021. 10. 25. 21:16

OSI 모형이란 국제표준화기구인 ISO에서 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명하기 위해 개발한 모델입니다. 프로토콜은 연결을 위한 일종의 규칙입니다. 쉽게 말하면 둘 이상의 디바이스에서 서로 연결하기 위해 일어나는 일들을 과정에 따라 구분한 단계라고 생각하면 이해하기 쉬울 것 같습니다.

 

1. 요약

 

개방형 시스템 상호 연결 모델의 표준이다.

실제 인터넷에서 사용되는 TCP/IP 는 OSI 참조 모델을 기반으로 상업적이고 실무적으로 이용될 수 있도록 단순화한 것이다.

 

2. 탄생 배경

 

초기 여러 정보 통신 업체 장비들은 자신의 업체 장비들끼리만 연결이 되어 호환성이 없었다.

모든 시스템들의 상호 연결에 있어 문제없도록 표준을 정한것이 OSI 7계층이다.

즉, 표준(호환성)과 학습도구로써 제작되었다.

 

3. 작동원리

 

OSI 7계층은 응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리계층으로 나뉜다.

전송 시 7계층에서 1계층으로 각각의 층마다 인식할 수 있어야 하는 헤더를 붙이고 (캡슐화)

수신 시 1계층에서 7계층으로 헤더를 떼어낸다. (디캡슐화)

 

 

<OSI 7 Layer>
-현재 참조용(학습용)으로 사용되고 있음
-1~4 계층 : 하위계층 (= 하드웨어 계층) 통신계층
 *데이터 전달 계층 / 네트워크 분야에서 참조

-5~7 계층 : 상위계층 (= 소프트웨어 계층) 프로그램
 *데이터 생성 계층 / 소프트웨어 개발 분야에서 참조

1계층 물리 계층 - Physical layer

물리 계층(Physical layer)은 OSI 모형의 가장 밑에 위치한 1단계입니다. 이름처럼 물리적인 현상이 일어나며, 하드웨어와도 밀접한 관련이 있는 계층입니다. 상위 계층으로부터 전달받은 데이터를 하드웨어에서 하드웨어로, 다른 장비에 전기적 신호를 전송하는 역할을 담당합니다. 물론 전달받는 하드웨어도 물리계층을 통해 전기적 신호를 처리하고 상위 계층에 비트(bit)의 형태로 전송합니다.

 

다양한 하드웨어가 이 물리계층을 통해 전기적 신호를 처리하고, 송수신 하는등 여러 종류의 하드웨어 기술이 접목되어있기 때문에 OSI 모델에서 가장 복잡한 계층이기도 합니다.

 

네트워크 어댑터, 리피터, 네트워크 허브, 모뎀 등이 물리 계층을 담당하는 하드웨어 장비의 대표적인 예시입니다.

 

 

2계층 데이터 링크 계층 - Data link layer

데이터 링크 계층(data link layer)은 물리 계층의 상위 단계로서, 비트의 형태로 전송한 데이터를 받는 계층입니다. 이 계층에서는 네트워크 위의 개체들 간 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 찾아 수정하는 역할을 담당합니다. 이를 오류 수정이라고 하는데, 데이터를 전달 받다가 연결이 불안정하거나 끊어지는 등 데이터에 직접적으로 영향을 줄 수 있는 오류를 감지하고, 만약 발견된다면 해당 데이터를 폐기시킵니다.

 

간단히 말해서 두 포인트 간의 신뢰성있는 전송을 보장하기 위한 계층이라고 보시면 될 것 같습니다.

 

 

3계층 네트워크 계층 - Network layer

네트워크 계층(Network layer)은 라우팅(routing)을 포함한 패킷 포워딩을 담당하는 계층입니다. 라우팅이란 어떤 네트워크 안에서 데이터를 전송할때 경로를 선택하는 과정을 의미하는데 간단히 이 데이터가 어떤 길로 이동할지 정해준다고 보시면 됩니다.

 

여담으로 TCP/IP protocol suite 라는 것이 있습니다. OSI 모델 이전에 나온 프로토콜 계층인데 OSI 모델과 상당히 비슷하게 생겼습니다. 완전히 같지는 않고 계층 수에 차이가 있는데 TCP/IP protocol suite은 5계층, OSI 모델은 7계층이고 이후에 설명할 세션(session), 표현(presentation), 응용(application) 계층을 통합해서 응용(application) 계층으로 표현합니다.

 

처음 TCP/IP protocol suite이 통신규약을 설명하는 방법으로 굳어지고, OSI 모델이 이후에 등장했을때 사람들은 OSI 모델이 이전의 TCP/IP protocol suite를 완전히 대체할거라고 기대했습니다. 그러나 둘이 설명하는 부분은 미묘하지만 달랐고 서로가 서로를 완벽히 대체하는 일은 일어나지 않았습니다. OSI 모델은 TCP/IP protocol suite가 있어야 비로소 완전하다는 것이 정론입니다.

 

4계층 전송 계층 - Transport layer

전송 계층(Transport layer)은 실 사용자(end-to-end)가 신뢰성있는 데이터를 주고 받을 수 있도록 해주는 계층입니다. 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 다중화 등의 서비스를 제공합니다. 정말 극단적으로, 전송계층=TCP라고 생각해도 될 것 같습니다. 물론 이건 위험한 생각이지만 처음 배울때 개념을 이해할 때는 우선 이렇게 알아두고 자세한 내용을 공부해가는게 좋다는 생각입니다.

 

기본적으로 엔드 유저간의 연결을 위한 프로토콜임은 TCP와 UDP 모두 같지만, UDP는 TCP에서 기능들이 많이 빠진 전송 프로토콜입니다. 대신 그런만큼 속도는 빠르죠. UDP를 통한 접속에서 게임 속도가 빨랐던건 우연이 아니었던겁니다.

 

5계층 세션 계층 - Session layer

세션 계층(Session layer)은 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공하는 계층입니다. Internet Explorer를 사용하셨던 분들 중 상단 파일(F) 탭 메뉴에 새 세션(I)이라는 항목을 보신 분들이 계실지 모르겠습니다. 

여기서 말하는 세션이 바로 세션 계층이 관리하는 부분입니다. 연결의 한 단위로 생각하셔도 좋습니다. 세션 계층에서는 각 프로그램(응용 프로세스)이 맺는 연결에 관한 것들을 관할합니다. 연결을 시작하기도, 유지하기도 하고 종료하는 그 순간까지 세션 계층에서 관여하고 있다고 보시면 되겠습니다.

 

 

6계층 표현 계층 - Presentation layer

표현 계층(Presentation layer)은 데이터의 표현 차이에 대한 문제를 해결하는 역할을 하는 계층입니다. 인코딩, 암-복호화 등의 일들을 이 계층에서 수행합니다. UTF-8 과 ASCII, EUC-KR 등 여러가지 인코딩 형식에 대해 들어보신 분들이라면 빠르게 이해하실 수 있다고 생각합니다. 당연히, 텍스트 뿐 아니라 이미지, 비디오 등 모든 데이터의 형태에 관여합니다.

 

특이하게도 텔넷(telnet)이 여기 표현 계층의 프로토콜에 속한다고 합니다. 어렸을때 cmd 창에서 telnet 명령어를 이용해 옆자리 친구에게 메시지를 보내면서 놀았었는데 신기하네요.

 

 

7계층 응용 계층 - Application layer

응용 계층(application layer)은 사용자 인터페이스입니다. 사람이 인식하고 다른 계층들과 상호작용 할 수 있도록 사용자에게 보여주는 역할을 합니다. 우리가 흔히 사용하는 응용 프로그램 그 자체라고 생각하셔도 됩니다. 다만 여기에서 말하는 응용 프로그램은 GUI에만 국한되진 않습니다. FTP 같은 파일 전송 프로토콜을 사용하는 것도 응용 계층이라고 말합니다.

 

'Network' 카테고리의 다른 글

PDU & SDU 의 정리  (0) 2021.10.26
IEEE 802 란??  (0) 2021.10.25
네트워크 캡슐화 & 역캡슐화 (encapsulation & decapsulation)  (0) 2021.10.25
프로토콜(Protocol)이란?  (0) 2021.10.25
네트워크란??  (0) 2021.10.25