본문 바로가기
Computer Science/Network

OSI Model & TCP/IP Model

by JuHy_ 2020. 6. 30.

OSI Model이란?

OSI(Open Systems Interconnection) 모델이란 ISO에서 computer networking 과정을 정의한 모델이다.

OSI 모델은 networking 과정을 크게 7개로 나누어 분류하여 정의하며, 각각의 단계를 layer라고 한다.

이 layer에는 어떻게 데이터를 가공하여 전송할 지 정의된 protocol들이 속해있다.

각각의 protocol들은 하위 layer의 기능을 사용할 수 있으며, 이를 바탕으로 상위 layer에게 기능을 제공한다.

 

이제 7개의 layer들은 각각 무슨 역할을 하며, 어떤 protocol들이 속해있는지 알아보자.

 

 

OSI Layers

Layer 1 - Physical Layer (물리 계층)

물리 계층은 하드웨어를 통한 데이터의 물리적 전송에 사용되는 기술들로 이루어져 있다.

0과 1의 bit로 구성된 데이터를 전기적 신호로 변환하고, 케이블을 통해 변환된 전기 신호를 전송한다.

 

Layer 2 - Data Link Layer (데이터 링크 계층)

데이터 링크 계층에서는 크게 오류 감지와 주소 할당 기능을 수행한다.

먼저, 물리 계층으로부터 받은 데이터를 검사하여 오류가 감지되면 해당 데이터를 폐기한다.

그리고 데이터에 MAC 주소를 할당하여 네트워크 내에 데이터가 전달될 위치를 지정하여 전송한다.

대표적인 링크 계층 프로토콜로는 Ethernet이 있다.

 

Layer 3 - Network Layer (네트워크 계층)

네트워크 계층에서는 호스트에 대한 주소 할당 및 데이터를 전송하기 위한 경로 설정(Routing) 기능을 수행한다.

네트워크 사이에서 데이터를 주고 받기 위해 네트워크 내의 각각의 호스트에 IP 주소를 할당한다.

그리고 데이터를 전송할 때 해당 IP 주소까지 데이터를 전송할 최적의 경로를 탐색하여 설정한다.

대표적인 네트워크 계층 프로토콜로는 IP(Internet Protocol)가 있으며, Router가 동작하는 계층이다.

 

Layer 4 - Transport Layer (전송 계층)

전송 계층에서는 데이터 패킷 생성데이터 흐름 제어오류 제어 기능을 수행한다.

먼저, 데이터를 전송하기 전 port, flag, checksum 등의 정보를 붙여 network packet이라는 형태로 변환한다.

packet 형태로 변환된 데이터를 목적지까지 전송하며, 오류가 발생할 경우 재전송함으로서 신뢰성을 보장하기도 한다.

대표적인 전송 계층 프로토콜로는 TCP(Transmission Control Protocol)과 UDP(User Datagram Protocol) 등이 있다.

 

Layer 5 - Session Layer (세션 계층)

세션 계층에서는 application과 user 간의 연결, 즉 세션 관리동기화를 수행한다.

데이터를 전달 또는 수신하기 위해 세션을 열고 닫거나, 오류가 발생할 경우 세션을 복구한다.

그리고 데이터를 주고 받는 대상 간에 데이터가 올바르게 전달되었는지 확인하기 위해 synchronization point를 설정하여 통신 중간중간 데이터가 해당 지점까지는 확실히 전달이 완료되었는지 저장하는 synchronize 작업을 수행한다.

 

Layer 6 - Presentation Layer (표현 계층)

표현 계층에서는 데이터 해석 및 암호화/복호화 작업을 수행하며, syntax layer(문맥 계층)으로도 불린다.

전달할 또는 전달받은 데이터가 인코딩이 다를 경우 적합한 인코딩으로 해석한다.

또한, 데이터 통신 간 보안을 유지하기 위해 암호화/복호화 작업을 수행한다.

 

Layer 7 - Application Layer (응용 계층)

응용 계층에서는 사용자로부터의 입출력(I/O) 및 사용자 인터페이스(UI)를 정의한다.

데이터가 들어오면 이를 해석하여 적절한 위치에 UI를 통해 표현하고,

사용자로부터 데이터를 입력받아 하위 layer로 전달하게 된다.

대표적으로 HTTP, FTP 등이 응용 계층에 해당한다.

 

 

 

TCP/IP Model이란?

TCP/IP Model이란 OSI Model과 마찬가지로 데이터를 주고받는데 사용되는 protocol의 모음이다.

대표적인 protocol인 TCP와 IP를 따 TCP/IP Model로 부르지만 Internet Protocol Suite(Stack)이라고도 부른다.

 

OSI Model과의 차이점은 7개의 layer가 아닌 4개(혹은 5개)의 layer로 분류하고 있다는 점이다.

여전히 OSI Model이 많이 사용되고 있긴 하지만, 불필요하게 많은 layer들로 구성된다는 이유로 TCP/IP Model을 표준으로 사용하기도 한다.

 

 

TCP/IP Layers

Layer 1 - Link Layer (링크 계층)

링크 계층은 OSI Model의 데이터 링크 계층(layer 2)과 같이 오류 감지주소 할당 기능을 수행한다.

기본적으로 물리 계층(layer 1)을 포함하여 말하지만, 이를 분리하여 5개의 Layer로 표현하기도 한다.

따라서 분리하여 표현하지 않을 경우 물리적 전송 기능도 수행한다고 볼 수 있다.

 

Layer 2 - Internet Layer (인터넷 계층)

인터넷 계층은 OSI Model의 네트워크 계층(layer 3)과 같이 주소 할당경로 설정(Routing) 기능을 수행한다.

대표적으로 Internet Protocol(IP)가 이 계층에 속한다.

 

Layer 3 - Transport Layer (전송 계층)

전송 계층은 OSI Model의 전송 계층(layer 4)과 같이 패킷 생성전송 및 오류 제어 기능을 수행한다.

대표적으로 TCP와 UDP가 이 계층에 속한다.

 

Layer 4 - Application Layer (응용 계층)

TCP/IP Model의 응용 계층은 OSI Model의 세션 계층(layer 5), 표현 계층(layer 6), 응용 계층(layer 7)을 포함한다.

따라서 세션 관리동기화, 데이터 해석, 암호화/복호화, 입출력(I/O) 등의 기능을 수행한다.

대표적으로 HTTP, DNS, FTP 등이 이 계층에 속한다.

 

 

 

이 블로그에서는 주로 TCP/IP Model을 기준으로 사용할 예정이며,

응용 계층, 전송 계층, 인터넷 계층 순으로 각 계층에 속한 프로토콜들을 자세히 다룰 예정이다.

 

 

 

Reference

https://en.wikipedia.org/wiki/OSI_model

https://en.wikipedia.org/wiki/Internet_protocol_suite

'Computer Science > Network' 카테고리의 다른 글

Electronic Mail (SMTP, POP3, IMAP / MIME)  (0) 2020.07.17
File Transfer Protocol (FTP)  (0) 2020.07.15
HyperText Transfer Protocol (HTTP)  (0) 2020.07.15