Computer Science

OSI 7계층 (Open System Intercon)

닉네임못짓는사람 2021. 12. 29. 23:48
반응형

OSI 7계층은 네트워크 통신 프로토콜을 각 기능별로 7개 계층으로 나눈것을 말한다.

통신 과정을 각 계층별로 나눈 이유, 목적은 통신이 이루어지는 과정을 단계별로 파악하기 위해서이다.

 

각 계층이 정해진 작업만 수행하면 흐름을 파악하기가 용이하고,

혹 통신 과정에 이상이 생겼을 때 어느 단계에서 발생했는지를 확인하여 효율적인 해결이 가능하다.

OSI 7계층은 위의 7개 계층으로 되어있는데, 각 계층에 대해서 알아보도록 하자.

1계층 - 물리 계층(Physical layer)


물리 계층은 실제 장치들을 연결하기 위한 전기적, 물리적 세부 사항들을 정의한다.

 

이 계층에선 전송하려는 데이터가 무엇인지, 어떤 오류가 있는지는 전혀 신경쓰지 않고

단지 디지털 데이터를 그에 맞는 전기적 신호들로 변환, 변조하여 전송한다.

 

1계층에 속하는 장비들은 허브, 리피터, 통신 케이블 등이 있으며, 전송 단위는 bit이다.

 

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


데이터 링크 계층은 통신 간에 신뢰성 있는 전송을 보장하기 위한 계층으로

통신 중 오류검사, 재전송 등의 기능을 수행한다.

 

이 계층에선 물리적 주소인 MAC주소를 가지고 통신하며, 이는 네트워크 카드가 만들어질 때 주소가 정해져있다.

데이터 링크 계층의 예로는 이더넷이, HDLC나 ADCCP같은 P2P프로토콜,

패킷 스위칭 네트워크, LLC나 ALOHA같은 근거리 네트워크용 프로토콜이 있다.

 

2계층에 속하는 장비들은 스위치가 있으며, 데이터 전송 단위는 Frame(프레임)이라고 한다.

 

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


네트워크 계층은 데이터가 목적지까지 이동하는 경로를 정하는 계층이다.

 

이 계층에선 라우팅, 포워딩, 세그멘테이션, 인터네트워킹 등의 작업을 수행하며 IP주소를 지정한다.

이를 통해서 Source부터 Destination까지 데이터가 이동할 가장 안전하고 빠른 경로를 정하여 전송한다.

 

3계층에 속하는 대표적인 장비는 라우터가 있으며, 데이터 전송 단위는 Packet(패킷)이라고 한다.

 

4계층 - 전송 계층(Transport layer)


전송 계층은 양 끝단(End to end)의 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있도록 해주는 계층이다.

 

이 계층에선 흐름제어, 오류제어 등의 작업을 수행하며 패킷을 전송하는 방법을 정하거나

패킷이 유효한지, 전송이 실패했을 때 어떤 작업을 수행할 지 등을 정하고, 전송받은 패킷을 합쳐서 위 계층으로 넘겨준다.

 

전송 계층 프로토콜의 예로는 TCP, UDP가 있는데

둘의 차이는 간단하게 말하면 연결형이냐, 비연결형이냐로 말할 수 있다.

 

TCP의 경우 3-way handshaking등의 과정을 통해 통신을 수행하는 두 사용자가 연결되어있는지를 확인하고

패킷을 전송하면 Destination에서 해당 패킷을 제대로 받앗는지까지 검사한다.

때문에 당연하게도 UDP와 비교하면 상대적으로 속도가 느리지만, 더 신뢰성이 높은 통신이 가능하다.

 

UDP의 경우 TCP와 달리 3-way handshaking등의 과정이 존재하지 않으며,

checksum을 통해 최소한의 오류만 검사하고, 상대방이 패킷을 제대로 받았는지 제대로 확인하지 않는다.

때문에 TCP보다 상대적으로 속도가 빠르며 네트워크 부하가 적다, 반면 당연하게도 신뢰성이 낮은 통신을 수행한다.

UDP의 경우 신뢰성보다는 속도, 연속성이 중요한 서비스에 사용이 되는데 예로는 실시간 스트리밍 서비스 등이 있다.

 

4계층에서 보내는 데이터의 단위는 Segment(세그먼트)이다.

 

5계층 - 세션 계층(Session layer)


세션 계층에선 사용자간의 포트연결(세션)이 유효한지 확인하고 설정한다.

 

이 계층에선 세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능을 수행하며

포트번호를 통해서 전송받은 데이터를 적절한 프로세스와 이어주는 역할을 한다.

 

6계층 - 표현 계층(Presentation layer)


표현 계층에선 코드간의 번역을 담당하여 사용자 시스템에서

데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어준다.

 

이 계층에선 데이터 압축, 암호화 복호화, 데이터 부호화와 변환등의 기능을 수행하며

MIME인코딩이나 암호화 등의 작업이 이 계층에서 이루어진다.

 

예를 들면, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔주거나

해당 데이터가 어떤 형식의 데이터인지(txt, gif, jpge등) 구분하는것이 역할이다.

 

7계층 - 응용 계층(Application layer)


응용 계층에선 OSI 7계층 통신의 최종 목적지로서 전달받은 데이터를 다시 파싱하여

응용 소프트웨어를 통해 최종적으로 사용자에게 전달하는 역할을 한다.

 

이 계층에선 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하며,

사용자, 즉 사람이 인식하고 응용 계층 아래의 표현 계층과 상호 작용할 수 있는

데이터와 그림을 사용자에게 보여주는 사용자 인터페이스(UI)의 역할을 한다.

 

7계층에 속하는 프로토콜은 HTTP, FTP, SMTP, POP3, Telnet등이 있다.

반응형