네트워크를 배우면 가장 처음으로 중요하게 배우는 OSI 7 계층 모델이다.
오늘은 OSI 7 계층 모델에 대해서 정리를 해보고자 한다.
OSI 7 계층 개념
OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다.
그렇다면 왜? 계층을 나누었을까?
계층을 나눈 이유는 통신이 일어나는 과정을 단계별로 파악할 수 있기 때문이다.
즉, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건드리지 않고 이상이 생긴 단계만 고칠 수 있다.
현실세계에 비유해서 말하면 자동차가 있는데 타이어가 구멍이 났다!
그러면 우리는 자동차 전체를 수리하는가? 아니다. 자동차 전체를 바꾸는 것이 아니라 타이어만 교체하거나 수리하는 것이라고 생각한다.
OSI 7 계층도 위와 같이 특정 이상이 있는 부분만 고치기 위해서 나눈다고 생각하면 된다.
OSI의 약자는 무엇일까?
Open System Interconnection의 약자로 개방형 시스템이라는 뜻이다.
개방이 되어 있기 때문에 누구나 다 참조해서 장치를 만들거나 부가적으로 추가를 하거나 가능하다는 의미이다. OSI가 중요한 이유는 표준이기 때문에 중요하다.
다시 말하자면 OSI는 개방된 시스템, 시스템 간의 상호연결성을 부여하는 표준이다.
OSI 7계층 구조도



간단하게 언급을 하면 물리계층은 하드웨어, 데이터링크 계층은 하드웨어 + 소프트웨어, 3계층 부터는 다 소프트웨어이다.
이제 각 계층에 대해서 간단하게 정리를 해보자!
1계층 - 물리 계층(Physical Layer)
물리 계층에서는 주로 전기적, 기계적, 기능적인 특성을 이용한 통신 케이블로 데이터를 전송하게 된다.(신호를 만드는 역할)
사용되는 통신 단위는 비트(bit)이며 1과 0으로 나뉘어지는 즉, 전기적으로 ON, OFF 상태라고 생각하면 된다.
이때 단지 데이터를 전달만 할 뿐 전송하거나 받으려는 데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경쓰지 않는다.
데이터를 전기적인 아날로그 신호로 변환해서 주고 받는 기능을 하며, 이 계층에서 쓰이는 대표적인 장비는 통신 케이블, 리피터, 허브 등이 있다.
2계층 - 데이터 링크 계층(DataLink Layer)
물리 계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와준다.
따라서 통신에서의 오류도 찾아주고, 오류가 있다면 데이터를 재전송하는 기능을 가지고 있다.
오류 검사는 패리티 비트 검사, 해밍 부호 검사 등이 있다.
데이터 링크 계층은 맥 주소를 가지고 통신하며, 전송되는 단위를 프레임이라고 하고, 대표적인 장비로는 브릿지와 스위치 등이 있다. 브릿지와 스위치 등에서 맥 주소를 활용한다.
* 맥 주소와 IP 주소의 차이점은 다음 포스팅에 정리를 하도록 하겠습니다.
3계층 - 네트워크 계층(Network Layer)
네트워크 계층은 경로를 선택하고 주소를 정한 뒤, 경로에 따라 패킷을 전달해 주는 역할을 한다.
이 계층의 대표적인 장비는 라우터이며, 요즘은 2계층의 장비 중 스위치라는 장비에 라우팅 기능을 장착한 Layer3 스위치도 있다.
라우터에서 IP 주소를 활용하며, 위에서 언급한 주소를 정한다는 것이 바로 IP 주소를 의미한다.
www.naver.com과 같은 주소를 55.10.54.75와 같은 IP 주소로 변환하는 행위를 DNS라고 한다.
4계층 - 전송 계층(Transport Layer)
전송 계층에서는 데이터를 전송하고, 전송 속도를 조절하며, 오류가 발생된 부분은 다시 맞춰 주는 계층이다.
데이터를 전송 받은 경우, 전송 계층에서 데이터를 합산하여 세션 계층으로 보내주게 된다.
주로 TCP, UDP 프로토콜을 사용하며, 헤더에 송신지와 수신지의 포트 번호를 포함하여 전달하는 계층이다.
참고로, TCP의 데이터 전송 단위는 Segment, UDP의 전송 단위는 Datagram이라고 부른다.
* 포트 번호란?
하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가져야 하는 정수 값
* 네트워크 계층 vs 전송 계층
네트워크 계층은 호스트 간의 논리적 통신을 돕지만, 전송 계층은 응용 프로세스 간의 논리적 통신을 도움
5계층 - 세션 계층(Session Layer)
세션 계층은 네트워크상 양쪽 연결을 관리하고 연결을 지속 시켜주는 계층이다.
주로 TCP/IP 세션을 만들고 유지하며, 세션이 종료되거나 전송이 중단될 시 복구하는 기능이 있다.
더불어 통신하는 사용자들을 동기화한다는 특징이 있다.
6계층 - 표현 계층(Presentation Layer)
표현 계층은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식 상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다. MIME 인코딩이나 암호화 등의 동작이 해당 계층에서 이루진다.
ex) EBCDID로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것이나 특정 데이터가 text인지, gif인지, jpg인지 등의 구분을 해 준다.
7계층 - 응용 계층(Application Layer)
응용 계층은 사용자 또는 애플리케이션이 네트워크 접근할 수 있도록 해 준다. 사용자를 위한 인터페이스를 제공하며, 사용자에게 보이는 유일한 계층이라고 할 수 있다. 메일 전송, 인터넷 접속 등의 작업을 수행할 수 있다. 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.
'TIL > CS' 카테고리의 다른 글
[TIL/CS] 도메인과 아키텍처 (0) | 2023.03.09 |
---|---|
[TIL/CS] 웹 서버(Web Server)와 웹 어플리케이션 서버(WAS) (0) | 2022.11.02 |
[TIL/CS] 로드밸런싱(Load Balancing)과 로드밸런서(Load Balancer)이란? (0) | 2022.10.07 |
[TIL/CS] 외부망, DMZ, 내부망이란? (0) | 2022.10.07 |