OSI 7계층에 대해 알아보자

거북이·2024년 6월 7일

목차

1. OSI 7계층의 유래

2. OSI 7계층의 정의

3. 7계층 세분화




OSI 7계층의 유래

옛날 M과 H라는 회사가 있었는데 M과 H라는 회사는 각각 다른 통신 규약이 있었고,
회사 내에서 통신하는 것은 아무런 문제가 되지 않았지만, M과 H라는 다른 회사가 통신을 하려고 하니
문제가 생기게 되었습니다. 왜 안되는지 고민해보니 회사 간 통신 규약이 일치하지 않았고
이러한 문제를 해결하기 위해 ISO 국제표준화기구에서 표준화된 네트워크 프로토콜을 만들어보자.
라는 생각으로 OSI 7계층이 탄생하게 되었습니다.
여기서 프로토콜이란 컴퓨터 또는 전자기기 간의 원활한 통신을 위해 지키기로 약속한 규약 입니다.

OSI 7계층의 정의

네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층간 상호 작동하는 방식을 정해 놓은 것입니다.
ISO가 1984년에 발표했으며, 통신이 일어나는 과정을 7단계로 크게 구분하여
한 눈에 들어올 수 있도록 정의했기 때문에 단계별로 파악하기 용이합니다.
통신을 해야하는 컴퓨터 간에 네트워크를 형성하여 데이터를 주고 받기 위해서는 7계층이 다 구현되어야 하며,
각각의 계층은 서로 독립된 기능을 제공합니다.
특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문에 편리한 장점이 있고,
각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공합니다.

1계층인 물리계층(Physical Layer) 부터
2계층인 데이터링크 계층(DataLink Layer)
3계층인 네트워크 계층(Network Layer)
4계층인 전송 계층(Transport Layer)
5계층인 세션 계층(Session Layer)
6계층인 표현 계층(Presentation Layer)
7계층인 응용 계층(Application Layer)으로 구성되어 있으며, 사진으로 보면 다음과 같습니다.

7계층 세분화

    1. 물리 계층

물리 계층은 OSI 모델의 최하위 계층에 속하며,
상위 계층(데이터 링크)에서 전송된 데이터를
물리적인 전송 매체(허브, 라우터, 케이블 등)를 통해
다른 시스템에 전기적 신호를 전송하는 역할을 합니다.

    1. 데이터 링크 계층

네트워크 기기들 사이의 데이터 전송을 하는 역할을 합니다.
물리적인 네트워크 사이에 데이터 전송을 담당하는 계층 으로써
Point to Point 간 신뢰성 있는 전송을 보장하기 위한 계층이라고 할 수 있습니다.
물리 계층을 통해 송수신되는 데이터의 전송 오류를 감지하는 기능을 제공하고
오류 감지 시 재전송합니다.
MAC(맥) 주소를 가지고 통신하며 전송 단위는 프레임입니다.
대표적인 장비로는 브리지, 스위치 등이 있습니다.

    • 데이터 링크 계층 용어 정리

프레임 : 데이터 링크 계층에서 데이터를 전달하는 단위입니다.

MAC(맥)주소 : 네트워크 장치가 고유하게 가지고 있는 식별자입니다.
네트워크 인터페이스 카드(Network Interface Card, NIC)에 할당되며,
이더넷(Ethernet)이나 Wi-Fi와 같은 네트워크 기술을 사용하는 장치들이 MAC 주소를 사용하여 통신합니다.
네트워크 통신에서 중요한 역할을 하며, 데이터가 네트워크를 통해 전송될 때
출발지와 목적지의 MAC 주소를 사용하여 데이터를 올바른 장치로 전달합니다.
이를 통해 네트워크에서 데이터를 안전하게 전송하고, 충돌을 방지할 수 있습니다.

    1. 네트워크 계층

디바이스에서 데이터그램이 가는 경로를 설정해주는 역할을 합니다.
라우팅 알고리즘을 사용하여 최적의 경로를 선택하고 송신 측으로부터 수신 측으로 전송합니다.
이때, 전송되는 데이터는 패킷(Packet) 단위로 분할하여 전송한 후 다시 합쳐지게 됩니다.
목적지 네트워크 주소(IP)를 정하고, 그에 따른 경로(Route)를 선택하고
경로에 따라 패킷을 전달해 주는 역할이라고 할 수 있으며 전송 단위는 패킷입니다.
대표적인 장비로는 라우터, L3 스위치가 있습니다.

    • 네트워크 계층 용어 정리

패킷 : 네트워크 계층에서 데이터를 전달하는 단위입니다.
데이터를 패킷 단위로 분할하여 전송하며, 이때 패킷에는 네트워크 주소 정보와 함께 데이터가 포함됩니다.
주로 IP 프로토콜을 사용하는 인터넷에서 패킷이라는 용어가 많이 사용됩니다.

    1. 전송 계층

하위 계층으로 신뢰할 수 있는 데이터를 전송합니다.
단말 간 전달 데이터의 오류를 제어합니다.
TCP/UDP 프로토콜이 존재합니다.

TCP 프로토콜 : 네트워크 통신에서 사용되는 프로토콜 중 하나로써
신뢰성 있는 연결 지향형 통신을 제공합니다.
OSI 모델의 전송 계층에 해당하며, 데이터를 세그먼트라고 하는 작은 단위로 분할하여 전송합니다.

UDP 프로토콜 : TCP와 마찬가지로 네트워크 통신에서 사용되는 프로토콜로
TCP와 달리 연결 지향성이 없는 비신뢰성 프로토콜입니다.
데이터를 데이터그램이라고 하는 작은 단위로 분할하여 전송합니다.

    1. 세션 계층

모든 통신 장치 간의 연결을 설정, 관리 및 종료합니다.
송신자와 수신자 간의 통신을 위해 동기화 신호를 주고 받습니다.
포트 연결이라고도 하며, SSH, TLS 등이 대표적인 프로토콜 입니다.
통신 방식(단순, 반이중, 전이중)을 결정합니다.

    • 세션 계층 용어 정리

SSH : 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고
다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜을 가르킵니다.

TLS : 인터넷 상의 커뮤니케이션을 위한 개인 정보와 데이터 보안을 용이하게 하기 위해
설계되어 널리 채택된 보안 프로토콜입니다.

동시 송수신(Full-duplex) : 동시 송수신은 두 장치 간에 양방향 통신이 가능한 상태를 의미합니다.
즉, 한 장치가 데이터를 전송하면 다른 장치도 동시에 데이터를 수신할 수 있습니다.
이것은 전화 통화와 같이 양쪽이 동시에 말할 수 있는 것과 비슷합니다.

반 이중(Half-duplex): 반 이중은 두 장치 간에 양방향 통신이 가능하지만,
한 번에 한 방향으로만 데이터를 전송할 수 있는 상태를 의미합니다.
즉, 한 장치가 데이터를 전송할 때 다른 장치는 수신 모드에 있어야 합니다.
대표적인 예시로 무선 라디오나 통화기의 버튼을 눌러 말하는 것이 있습니다.

전 이중(Full-duplex): 전 이중은 두 장치 간에 양방향 통신이 가능하며,
양쪽 장치 모두 동시에 데이터를 송수신할 수 있는 상태를 의미합니다.
즉, 두 장치 모두 송신과 수신을 동시에 수행할 수 있습니다.
예를 들어, 전화 통화 중에 두 사람이 동시에 말하고 듣는 것과 같이
양쪽이 동시에 데이터를 주고 받을 수 있습니다.

    1. 표현 계층

표현 계층은 데이터를 애플리케이션이나 네트워크에서 사용하는 형식에 맞게 변환하고,
데이터의 압축, 암호화, 인코딩, 디코딩 등의 기능을 수행합니다.
즉, 이 계층은 데이터를 이해할 수 있는 형식으로 변환하여 상위 계층에 제공합니다.
예를 들어, 텍스트 데이터를 ASCII, Unicode 등의 문자 인코딩 방식으로 변환하거나,
이미지나 오디오 데이터를 JPEG, MP3 등의 형식으로 압축할 수 있습니다.
데이터의 형식 변환과 보안 등의 작업을 담당합니다.

    • 표현 계층 특징 정리

데이터 형식 변환 : 데이터의 표현 방식을 애플리케이션이나 네트워크에서 사용하는 형식에 맞게 변환합니다.
데이터 압축 : 데이터를 압축하여 전송 효율을 높이고 대역폭을 절약합니다.
데이터 암호화 : 데이터를 보안적으로 보호하기 위해 암호화를 수행합니다.
데이터 인코딩/디코딩 : 데이터를 전송하기 위해 필요한 인코딩과 수신된 데이터의 디코딩을 수행합니다.

    1. 응용 계층

최종 사용자와 네트워크 사이의 상호 작용을 담당합니다.
이 계층은 사용자가 네트워크 서비스에 접근할 수 있도록 하며,
다양한 응용 프로그램에 대한 서비스와 인터페이스를 제공합니다.
이 계층은 이메일, 웹 브라우저, 파일 전송 프로그램, 동영상 스트리밍 앱 등과
같은 다양한 응용 프로그램을 포함합니다.

    • 응용 계층 특징 정리

사용자 인터페이스 제공 : 사용자가 네트워크 서비스에 접근하고 사용할 수 있는 인터페이스를 제공합니다.
응용 프로그램 서비스 제공 : 다양한 응용 프로그램에 대한 서비스를 제공하고, 데이터 전송 및 통신을 관리합니다.
데이터 변환 : 데이터 형식을 변환하거나 인코딩하여 응용 프로그램 간에 데이터를 교환할 수 있도록 합니다.
사용자 인증 및 보안 : 사용자 인증, 데이터 암호화 및 보안 기능을 제공하여 데이터의 안전한 전송을 보장합니다.

profile
초보 코린이입니다.

0개의 댓글