OSI 7 계층

in·2020년 12월 3일
0

Network

목록 보기
4/5

OSI 7 계층

OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다.

그림을 보면 알겠지만 응용계층에서 내려온 데이터부터 시작해서 계속 헤더가 붙는 것을 알 수 있습니다. 이 헤더에는 그 계층에 대한 정보가 기록되어있지요.

우리가 이메일을 보낸다고 가정할때 처음 응용계층에서 헤더를 붙여 하위 계층으로 넘겨줍니다. 표현계층은 응용계층에서 내려온 헤더와 이메일 데이터를 하나의 데이터로 간주하게 됩니다. 그래서 다시 자신의 헤더를 붙이게 되지요. 이런 과정은 Encapsulation이라고 합니다.

이런식으로 물리계층까지 내려오게 되면 그때부터 0과 1의 이진 비트가 전송되게 되는 것입니다.

받은 수신자는 거꾸로 물리계층부터 시작해 헤더의 정보를 확인하고 떼어냅니다. 그리고 난 후 상위 계층으로 데이터를 전달하는 것이죠. 이렇게 헤더를 떼어내는 과정은 Decapsulation이라고 합니다.

OSI 7 계층을 나누는 이유는 무엇일까?

처음 네트워크 장치는 중구난방이었습니다. 때문에 회사의 장비마다 호환이 되지 않으며 복잡했었죠. 이에따라 네트워크를 7계층으로 분리하면서 표준을 만들게 되었습니다. 그것이 바로 OSI 7 계층입니다.

중요한 목적은 표준과 학습 도구라 할 수 있다. 표준화를 통해 이질적인 포트 문제나 프로토콜 등으로 인한 문제를 해결하여 비용을 절감했다. 또한, 계층별의 기능과 통신 과정을 단계별로 나누어서 쉽게 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문에 편리하다.

1) 물리(Physical)

리피터, 케이블, 허브 등

7계층 중 최하위 계층입니다. 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송하게 됩니다. 데이터는 0과 1의 비트열, 즉 On, Off의 전기적 신호 상태로 이루어져있지요.

이 계층은 단지 데이터를 전달하기만 합니다. 어떤 에러가 있는지 등 그런 기능에는 전혀 관여하지 않습니다.

브릿지, 스위치 등

물리 계층을 통해 송, 수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다.

데이터 링크 계층의 데이터 전송은 Point-To-Point 간 입니다.

안전한 정보의 전달이라는 것은 오류나 재전송하는 기능을 갖고 있다는 이야기죠. 또한 우리가 언젠가 한번 들었을 MAC주소를 갖고 있습니다. 그래서 통신을 할 수 있지요.

이 계층에서 부르는 데이터의 단위는 프레임(Frame)이라고 합니다.

Frame에 MAC 주소를 부여하고 에러검출, 재전송, 흐름 제어를 진행한다.

3) 네트워크(Network)

라우터, IP

네트워크 계층은 네트워크에서 아주 중요합니다.

중요한 기능 중 한가지는 바로 라우팅이라고 하는데요. 목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능을 말합니다. 따라서 최적의 경로를 설정해야하지요.

이런 라우팅 기능을 맡고 있는 계층이 네트워크 계층입니다.

라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달해준다.

또한 어느 컴퓨터에게 데이터를 전송할지 주소를 갖고 있어서 통신을 합니다. 우리가 자주 듣는 IP 주소가 바로 네트워크 계층 헤더에 속해있습니다.

라우팅, 흐름 제어, 오류 제어, 세그먼테이션 등을 수행한다.

네트워크 계층에서 부르는 데이터 단위는 패킷(Packet)이라고 합니다.

4) 전송 계층(Transport)

TCP, UDP

전송 계층 역시 네트워크에서 중요한 계층입니다. 전송 계층은 양 끝단의 사용자들이 신뢰성있는 데이터를 주고 받게 해주는 역할을 합니다.

송신자와 수신자 간의 신뢰성있고 효율적인 데이터를 전송하기 위하여 오류검출 및 복구, 흐름제어와 중복검사 등을 수행합니다.

중요한 것은 데이터 전송을 위해서 Port 번호가 사용이 됩니다. 대표적인 프로토콜로는 TCP와 UDP가 있습니다. 이 계층에서 사용하는 데이터 단위는 세그먼트(Segment)라고 합니다.

TCP, UDP 프로토콜을 통해 통신을 활성화 한다. 포트를 열어두고, 프로그램들이 전송을 할 수 있도록 제공해준다. 이를 통해 양 끝 단의 사용자들이 데이터를 주고 받을 수 있다.

TCP : 신뢰성, 연결 지향적
UDP : 비신뢰성, 비연결성, 실시간

5)세션(Session)

API, Socket

세션 계층은 응용 프로세스가 통신을 관리하기 위한 방법을 정의합니다.

이 계층은 세션을 만들고 없애는 역할을 하고 있지요.

양 끝 단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다.

데이터가 통신하기 위한 논리적 연결을 담당한다.

TCP/IP 세션을 만들고 없애는 책임을 지니고 있다.

6) 표현(Presentation)

JPEG, MPEG 등

데이터 표현에 대한 독립성을 제공하고 암호화하는 역할을 담당한다.

코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어준다.

파일 인코딩, 명령어를 포장, 압축, 암호화한다.

7) 응용(Application)

HTTP, FTP, DNS 등

사용자와 가장 가까운 계층이 바로 응용 계층입니다. 우리가 사용하는 응용 서비스나 프로세스가 바로 응용계층에서 동작합니다.

최종 목적지로 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다.

사용자 인터페이스, 전자우편, 데이터베이스 관리 등의 서비스를 제공한다.

0개의 댓글