brunch

You can make anything
by writing

C.S.Lewis

by 박두산 Oct 19. 2020

OSI 모델

네트워크에서 데이터를 주고받기 위한 통신규격

우리는 다른 컴퓨터와 통신을 할 때 인터넷을 이용한다. 이 때, 인터넷을 통해 데이터를 보내기 위해서는 서로간의 통신 규약이 필요하다. 어떤 방식으로 보낼 것인지 미리 약속을 하는 것이다. 우리가 우체국을 통해 우편을 편지를 보내기 위해서는 편지봉투에 보내는 사람과 받는 사람의 정보를 사용하고 우표를 붙이는 것과 같은 맥락이다.


OSI(Open Systems Interconnection Reference Model) 모델은 국제표준화기구인 ISO(International Organization for Standardization)에서 제정한 표준 규격으로 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 쉽게 말해, 우리의 데이터는 이 OSI 7계층의 방식을 통해 데이터를 보낸다고 생각하면 된다.(TCP/IP 모델로 구분할 수도 있다.)


OSI는 7개 계층(7 Layer)로 구성되어 있다. 그림으로 보면 다음과 같다.

 1계층응용 계층은 사용자가 인터넷 서비스를 이용할 때 가장 먼저 마주하는 계층이다. 이메일과 파일 전송, 웹 사이트 조회 등에 대한 서비스를 직접적으로 이용하는 계층이다.


2계층표현 계층은 코드 간의 번역을 담당한다. 문자 코드, 압축, 암호화 등의 데이터를 변환하여 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어준다. 예를 들면, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔준다.


3계층세션 계층은 세션을 체결하고 통신 방식을 결정한다. 여기에서 세션이란 컴퓨터와 같은 두개의 디바이스(Device)사이에서 데이터를 주고받는 것을 의미한다. 따라서 세션을 체결한다는 것은 두개의 컴퓨터에서 데이터를 주고받는 것을 시작한다고 보면 되겠다. 세션 계층은 세션을 체결하고 통신 방식(i.e. 반이중 방식(half-duplex))을 결정한다.


4계층전송 계층은 데이터 전송 상에서 오류를 제어해 신뢰성 있는 통신을 주고 받을 수 있도록 한다. 덕분에 상위 계층들이 유효성이나 효율성을 생각하지 않도록 한다.


5계층네트워크 계층은 다른 네트워크와 통신하기 위해 노드를 거칠 때마다 경로 찾아주는 역할을 한다. 이를 위해 네트워크 계층은 라우팅, 흐름제어, 오류제어, 인터네트워킹(internetworking) 등을 수행한다. 또한, 전송 계층이 요구하는 서비스 품질을 제공하기 위한 수단을 제공한다. 라우터가 이 계층에서동작한다.


6계층데이터 링크 계층은 네트워크 기기(세그먼트) 간의 데이터 전송 및 물리 주소를 결정하며 신뢰성 있는 전송을 보장하기 위해 오류 제어와 흐름제어를 필요로 한다.


7계층물리 계층은 시스템 간의 물리적인 연결과 전기 신호를 변환 및 제어한다. 우리가 전송하고자 하는 데이터를 전기신호로 변환하여 하드웨어상의 기계적인 통신을 담당한다.



이 OSI 7계층을 통한 데이터의 송수신은 다음 그림과 같은 방식으로 진행된다. 송신 측에서는 1계층부터 데이터 전송을 시작하며, 수신 측에서는 역으로 7계층 부터 데이터 수신을 시작한다.

이후로는 각 계층별 세부적인 기능을 정리하하도록 할 생각이며 네트워크 생태계 전반에 대해 다뤄볼 예정이다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari