OSI 7계층

백지원·2024년 1월 7일
0

OSI 7 계층

탄생 배경

네트워크 통신을 계층화해 통신 과정을 단계적으로 파악하고, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있도록 원인 파악을 용이하게 하기 위해 국제표준화기구 ISO에서 개발한 모델이자 표준 규격이다.

각각의 계층별 프로토콜 데이터 단위를 맞추기 위해 상위계층에서 하위계층으로 내려갈수록 캡슐화, 하위계층에서 상위계층으로 올라갈수록 역캡슐화가 진행된다.

초기에는 여러 정보 통신 업체 장비들은 자신의 업체 장비들끼리만 연결이 되어 호환성이 없었다.
모든 시스템들의 상호 연결에 있어 문제없도록 표준을 정한것이 OSI 7계층이다.

즉, OSI 7계층은 표준(호환성)과 학습도구에 의미로 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 모델이다.


OSI 모델의 각 레이어는 특정 기능을 가지며, 바로 위, 아래 레이어와 통신한다. 각 레이어를 살펴보면 다음과 같다.

📝 각 계층 별 특징과 프로토콜

1계층. 물리 계층 Physical Layer

전기적, 기계적, 기능적인 특성을 이용하여 디지털 비트를 전기/무선/광 신호로 변환 후 통신 케이블로 데이터를 전송한다. 이때 데이터를 전달만 할 뿐 전송하려는 에러 검출 및 복구, 흐름제어에는 전혀 신경쓰지 않는다. 때문에 상위 계층에서 이를 대신해줘야 한다. 0과 1의 비트열을 주고받으며 장비로는 케이블, 리피터, 허브가 있다.

포인트 투 포인트(Point to Point) 간 신뢰성있는 전송을 보장하기 위한 계층으로 1계층을 통해 송수신되는 정보의 에러 검출 및 복구를 수행합니다. 이를 위해 물리 계층에서 발생할 수 있는 오류를 찾아 내고, 수정하는 데 필요한 기능적, 절차적 수단을 제공합니다.
이 계층에서는 맥 주소를 가지고 통신하게 되며 전송되는 단위는 프레임입니다. 대표적인 장비로는 브리지, 스위치 등이 있습니다.

3계층. 네트워크 계층 Network Layer

이 계층은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능을 합니다. 경로를 선택하고 경로에 따라 패킷을 전달해주는 라우팅 기능이 이 계층의 핵심 역할입니다. 라우터가 라우팅을 통해 최적 경로를 설정하며, 라우터가 주고받는 데이터 단위를 패킷이라고 합니다.
(대표적인 장비는 라우터이며 요즘은 2계층 대표적인 장비중 하나인 그 스위치에 라우팅 기능을 장착한 스위치도 있다고 합니다.)

이 외에도 네트워크 계층은 라우팅 말고도 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등을 수행합니다. 네트워크 계층은 논리적인 주소 구조(IP), 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적(hierarchical)입니다.

4계층. 전송 계층 Transport Layer

종단간 신뢰성 있고 효율적인 데이터를 전송하는 계층입니다. 기능은 에러 검출 및 복구와 흐름제어, 중복검사 등을 수행하여 노드간 신뢰성 있고 정확한 정보 전송을 담당합니다. 실질적인 정보 전송과 논리적 연결 사이 다리 역할을 한다고 볼 수 있습니다. 에러를 감지하여 패킷을 재전송(에러 복구)하고, 중복된 패킷은 버려지며 송신자와 수신자 간의 컴퓨터 성능 차이(속도)를 고려해 수신자가 안전하게 패킷을 수신할 수 있도록 보장합니다.

주고받는 데이터 단위는 Segment이고, 가장 잘 알려진 전송 계층의 예로는 TCP, UDP가 있습니다.

5계층. 세션 계층 Session Layer

두 기기 사이의 통신을 시작하고 종료하는 일을 담당하는 계층입니다. 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 합니다. 세션 계층은 교환되고 있는 모든 데이터를 전송할 수 있도록 충분히 오랫동안 세션을 개방한 다음, 리소스를 낭비하지 않기 위해 세션을 즉시 닫을 수 있도록 보장합니다.

또한 세션 계층은 데이터 전송을 체크포인트와 동기화합니다. 예를 들어, 100MB의 파일이 전송되는 경우 세션 계층이 5MB마다 체크포인트를 설정할 수 있습니다. 52MB가 전송 된 후 연결이 끊어 지거나 충돌이 발생하면 마지막 체크 포인트에서 세션을 재개하는 것이 가능합니다. 즉, 50MB의 데이터만 더 전송하면 됩니다. 체크 포인트가 없으면 전체 전송을 처음부터 다시 시작해야 합니다

6계층. 표현 계층 Presentation Layer

송/수신측간 데이터 형식을 정의하고 수신한 데이터를 변환, 검색, 암호화, 압축 등의 과정을 거쳐 애플리케이션 계층이 사용할 수 있는 데이터 형태로 변환하는 계층입니다. 데이터 변환을 수행함으로써 데이터 표현이 상이한 응용 프로세스의 독립성을 제공합니다.

서로 통신하는 두 개의 통신 장치는 서로 다른 인코딩 방법을 사용하고 있을 수 있으므로, 애플리케이션 계층이 이해할 수 있는 구문으로 수신 데이터를 변환합니다.

암호화된 연결을 통해 통신하는 경우 이 계층은 최종 송신자에게 암호화를 추가할 뿐만 아니라, 최종 수신자에게 암호화를 디코딩하여 암호화되지 않은 readable한 데이터로 애플리케이션 계층을 제시할 수 있도록 하는 역할을 합니다.

마지막으로, 애플리케이션 계층에서 수신한 데이터를 세션 계층으로 보내기 전에 압축하는 일을 담당합니다. 전송할 데이터의 양을 최소화함으로써 통신의 속도와 효율을 높이는 데 도움이 됩니다.

7계층. 응용 계층 Application Layer

이 계층은 사용자와 직접 상호 작용하는 계층으로 User Interface를 제공합니다. 응용 프로세스 간의 정보 교환을 담당합니다.

최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있습니다.
통신 패킷들은 위의 프로토콜에 의해 모두 처리되며 우리가 흔히 사용하는 Chrom이나 메일 프로그램은 프로토콜을 보다 쉽게 사용하게 해주는 응용 프로그램입니다.


OSI 7계층 모델과 TCP/IP 4계층 모델 비교

  • TCP/IP 프로토콜은 OSI 모델보다 먼저 개발되었다.
  • TCP/IP 프로토콜의 계층은 OSI 모델의 계층과 정확하게 일치하지 않는다.
  • 세션(Session)과 표현(presentation) 2개의 계층이 TCP/IP프로토콜 그룹에 없다
  • 두 모델 모두 계층형 이라는 공통점을 가지고 있으며 TCP/IP는 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수인 반면, OSI 7 Layer는 표준이 되기는 하지만 실제적으로 구현되는 예가 거의 없어 신뢰성이 떨어진다.
  • OSI 7 Layer는 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면, 실질적인 통신 자체는 TCP/IP 프로토콜을 사용한다.
  • 전체적인 통신전반에 대한 표준화 방식이 OSI 모델이라면 TCP/IP 모델은 데이터 전송에 특화되어있다.

프로토콜 데이터 단위 (PDU)

프로토콜 데이터 단위(Protocol Data Unit)는 데이터 통신에서 상위 계층이 전달한 데이터에 붙이는 제어정보를 뜻한다.

즉, 각 레이어를 거치면서 헤더 정보가 추가되고, 데이터를 지칭하는 이름이 달라지는 것이다.
Transport layer는 Segment, Network layer는 Packet, Data ling layer에서 Frame이라 한다. 더 자세히 알아보자.

1. 세그먼트 (전송 계층(4))

예를 들면, 상위 계층에서 데이터를 전달받은 전송계층에서는 아래의 정보들를 추가해 그룹화 한다. 이때부터 데이터는 데이터가 아니라, 세그먼트라고 불리는 것이다.

발신지 포트 : 발신하는 application의 포트번호
목적지 포트 : 수신해야 할 application의 포트번호
순서 번호 : 순차적 전송할 경우 순서를 붙이며, 순서가 어긋나면 목적지 프로토콜이 이를 바로 잡는다.
Error Detection : 발신지와 목적지 프로토콜은 세그먼트를 연산하여 오류 검출 코드를 각각 만든다. 만약 발신지에서 전송한 세그먼트에 포함된 오류 검출 코드와 목적지에서 만든 오류 검출 코드가 다르다면 전송되는 과정에서 오류가 발생한 것으로 판단한다. 이 경우, 수신측은 그 세그먼트를 폐기하고 복구 절차를 밟는다. 오류검출코드는 체크섬, 프레임 체크 시퀀스라고도 부른다.

2. 패킷 (네트워크 계층(3))

전송 계층으로 부터 전달받은 세그먼트에 네트워크 계층 정보가 붙어 패킷이라고 불리게 된다.

발신지 컴퓨터 주소(Destination IP) : 패킷의 발신자 주소
목적지 컴퓨터 주소(Source IP) : 패킷의 수신자 주소
서비스 요청 : 네트워크 접속 프로토콜은 우선 순위와 같은 서브 네트워크의 사용을 요청할 수 있다.


OSI 7계층 통신 방식

상위 계층으로 올라갈수록 다루는 데이터의 크기는 작아지고, 하위 계층으로 내려갈수록 헤더정보가 추가되어 주고받는 데이터의 크기는 커진다.
아래 이미지를 보면 다른 노드를 거쳐 데이터가 전송될 때, 중간 다리인 노드들은 Network layer까지만 처리된다는 것을 알 수 있다.



Reference

0개의 댓글