OSI 7계층을 정리해보자!

OSI의 7계층을 분석하고 정리해보자! CS 지식 채우기
윤여찬's avatar
Jul 15, 2024
OSI 7계층을 정리해보자!
네트워크 프로토콜의 통신 구조를 각각 7계의 계층으로 분리한 하나의 모델이고 ISO 국제표준화기구에서 개발한것이다!
 
notion image
최하위 계층인 물리계층부터, 데이터 링크, 네트워크, 전송, 세션, 표현, 응용까지 총 7개의 계층으로 이루어져있다.
 
7개의 계층은 네트워크 통신 과정을 단계별로 파악할 수 있게 도와준다.
 
중요한건 각각의 계층이 서로 독립적인 성질을 띄기 때문에, 네트워크 구성을 한 눈에 꿰뚫어 볼 수 있으며, 에러 발생 시에는 해당하는 계층의 장비 혹은 소프트웨어만 보수하면 된다는 성질이 있다.

1계층, 물리 계층(Physical)

7계층 중에서 최하층 계층으로 통신 케이블을 이용해서 데이터를 전송하는 물리적인 송수신을 담당하는 계층이다.
 
전기적, 기계적인 특성을 이용하며, 0과 1로 나타내어지는 전기적 신호를 비트(Bits) 단위로 보내고 받는 역할을 한다.
 
중요한건 어떤 데이터가 오고가는지, 데이터가 문제 있는지 등등은 고려하지 않고
데이터를 단순 전달하는 것이 중요하다.
 
전기적 신호를 데이터로 주고 받는 역할을 하는 계층이다. 물리적 계층에 속하는 장비는 허브(Hub), 리피터(Repeater), 네트워크 카드, 통신 케이블이 있다.
notion image
허브
notion image
리피터

물리 계층을 바탕으로 인접한 두 장치간에 데이터를 주고 받을 수 있도록 하는 계층이다.
링크를 한다? → 포인트 투 포인트 (Point to Point) 연결이라고 한다.
 
MAC 주소를 이용하여 통신하고, 송수신하는 데이터의 오류와 흐름을 관리하는 기능이 있다.
신뢰성 있는 전송을 보장하기 위해 CRC 기반의 오류 제어와 흐름을 이용한다.
 
데이터링크 계층을 이용하는 프로토콜은 이더넷이 있고, 기본 데이터 단위는 프레임(Frame)이다.
데이터링크 계층의 장비로는 브릿지나 스위치가 있다.
 
notion image
notion image

3계층, 네트워크 계층 (Network)

데이터를 목적지까지 최적의 경로(안전하고 빠르게)로 전달하기 위한 계층이다.
이러한 경로 탐색 과정을 라우팅이라고한다. Routing…
 
목적지에 도달하기 위한 경로를 선택하고, 경로에 따라 패킷을 전달하는 것이 네트워크 계층의 역할이다. 네트워크 계층에서는 라우팅, 흐름 제어, 세그멘테이션, 오류 제어, 인터네트워킹 등의 기능을 수행한다.
 
이러한 기능들은 전송 계층(Transport)에서 요구하는 서비스 품질(QoS)을 제공하기 위한 수단이된다.
네트워크 계층의 대표적인 프로토콜로는 IP 프로토콜이 있고, 기본 데이터 단위는 패킷(Packet)이다.
네트워크 계층의 장비는 라우터, 공유기, 스위치(L3 스위치)가 있다.
notion image
스위치
notion image
라우터
notion image
공유기

4계층, 전송 계층(Transport)

종단간 (End to End) 신뢰성 있는 연결을 담당하는 계층이다.
송신자와 수신자가 정확하고 신뢰성 있는 통신을 하기 위해 오류 검출/복구, 흐름 제어, 중복 검사 등 기능을 수행하는 계층이다.
 
전송 계층에서 사용하는 프로토콜은 TCP/UDP가 대표적이다.
데이터 전송을 위해 포트(Port)를 사용하고, 데이터 단위는 세그먼트(Segment)이다.
전송 계층의 장비로는 게이트웨이, 로드밸런서가 있다.
notion image
게이트웨이
notion image
로드밸런서

5계층, 세션 계층(Session)

세션 계층은 현재 응용 계층 (Application) 계층에서 같은 기능을 수행하고 있기 때문에 현재에는 개념적으로 남아 있는 계층이다.
 
7계층을 설명하기 위해 유지되고 있는 개념이라고 칭하는 부분이 많았다. 🤔
실제로는 TCP/IP 4계층이 사용되기에 그렇다고한다.
 
세션 계층에서는 양 끝단의 프로세스가 통신을 관리하기 위한 방법을 제공한다.
세션 계층에서는 통신 연결을 관리, 손상 되는 경우는 복구, 장시간 연결되지 않으면 연결을 끊고 다시 연결하는 역할을 수행한다!

6계층, 표현 계층(Presentation)

서로 다른 사용자 시스템 간에 번역을 담당하는 계층이다.
 
예전에는 사용자 시스템이 워낙 다양하여 표현 계층을 통해 맞춰줄 필요성이 존재했다고 한다.
 
MIME 인코딩이나 암호화 등의 동작을 수행하고, 응용프로그램이 데이터를 나타낼 수 있도록 데이터를 준비하는 역할을 한다!

7계층, 응용 계층(Application)

유저가 이용하는 응용프로그램과 직접 관련되어 서비스를 제공하는 계층이다.
 
최상위 계층으로 사용자에게 직접적으로 보여지는 부분이고, 웹서버나 웹브라우저에서 직접적으로 데이터를 전송/수신할 때에 이용되는 계층이다.
 
이미지, 비디오, 음성 등 모든 형태의 데이터를 전송/수신할 수 있다.
대표적인 서비스엔
  • 웹 브라우저
    • Chorm, Safari
  • 메일
    • Outlook
  • 화상 회의
    • Discode
등이 있으며 대표적인 프로토콜로는 FTP, HTTP, POP3 등이 존재한다.
 

FTP

  • 파일 전송 프로토콜(File Transfer Protocol)의 약자
  • TCP/IP 네트워크상에서 컴퓨터들이 파일을 교환하기 위해 1971년 최초로 공개된 통신 규약
  • FTP는 비밀번호가 평문으로 전송되어 보안성이 매우 떨어지므로 FTPS를 사용하는 걸 적극 권장
  • FileZila, WinSCP 클라이언트는 오픈소스로 FTP 클라이언트 및 서버를 지원한다.

HTTP

  • HyperText Transfer Protocol 또는 HyperTexT Protocol의 약자이다. 문서를 전송하기 위한 프로토콜이다.
  • TLS를 통해 보안이 적용된 버전은 HTTPS이다.
  • 인터넷 주소 맨 앞에 들어가는 http://가 바로 이 프로토콜을 사용해서 정보를 교환하겠다는 표시이다.
  • 클라이언트가 웹 페이지에서 링크가 걸려있는 텍스트를 클릭(요청)하면 링크를 타고 새로운 페이지로 넘어간다(응답).
  • 요청메세지 정리
    • GET: 클라이언트가 서버에게 URL에 해당하는 자료의 전송을 요청한다.
    • HEAD: GET 요청으로 반환될 데이터 중 헤더 부분에 해당하는 데이터만 요청한다.
    • POST: 클라이언트가 서버에서 처리할 수 있는 자료를 보낸다. 예를 들어, 게시판에 글을 쓸 때 클라이언트의 문서가 서버로 전송되어야 한다. 멱등성을 보장하지 않는다.
    • PATCH: 클라이언트가 서버에게 지정한 URL의 데이터를 부분적으로 수정할 것을 요청한다.
    • PUT: 클라이언트가 서버에게 지정한 URL에 지정한 데이터를 저장할 것을 요청한다.
    • DELETE: 클라이언트가 서버에게 지정한 URL의 정보를 제거할 것을 요청한다.
    • TRACE: 클라이언트가 서버에게 송신한 요청의 내용을 반환해 줄 것을 요청한다.
    • CONNECT: 클라이언트가 특정 종류의 프록시 서버에게 연결을 요청한다.
    • OPTIONS: 해당 URL에서 지원하는 요청 메세지의 목록을 요청한다.

POP3

  • POP3는 Post Office Protocol의 약자로 사용자의 기기로 이메일을 다운로드하여 읽는 프로토콜이다.

IMAP

  • IMAP은 Internet Messaging Access Protocol의 약자로 서버에서 이메일을 읽는 프로토콜이다, 따라서, 어떤 상황에서든 동일한 내용을 읽어올 수 있다.

초등학생도 이해하도록 설명해보자.

물리 계층 (Physical Layer)

  • 설명: 컴퓨터끼리 실제로 데이터를 보내는 케이블이나 와이파이 신호 같은 물리적인 것들을 다뤄요.
  • 비유: 친구한테 편지를 보낼 때, 편지를 손에 들고 있는 것처럼 실제로 데이터를 보내는 부분이에요.

2. 데이터 링크 계층 (Data Link Layer)

  • 설명: 물리 계층이 보낸 데이터를 오류 없이 정확하게 전송하도록 도와줘요. 네트워크 카드가 이 일을 해요.
  • 비유: 편지를 봉투에 넣고 주소를 적어서 정확하게 친구에게 보내는 과정이에요.

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

  • 설명: 데이터가 어디로 가야 하는지 경로를 정해줘요. IP 주소를 이용해요.
  • 비유: 편지를 보내기 위해 우체국이 가장 빠른 길을 찾아주는 것과 같아요.

4. 전송 계층 (Transport Layer)

  • 설명: 데이터를 잘게 나누고, 목적지에서 다시 합쳐줘요. 데이터가 손실되지 않도록 해요.
  • 비유: 편지를 여러 장으로 나눠서 보내고, 친구가 그 편지를 다시 순서대로 합치는 과정이에요.

5. 세션 계층 (Session Layer)

  • 설명: 통신하는 두 컴퓨터 사이의 연결을 관리해요. 연결을 열고, 유지하고, 닫는 역할을 해요.
  • 비유: 친구와 전화 통화를 할 때, 전화를 걸고, 이야기하고, 전화를 끊는 것과 비슷해요.

6. 표현 계층 (Presentation Layer)

  • 설명: 데이터를 사람이 읽을 수 있는 형태로 변환해줘요. 암호화도 여기서 이루어져요.
  • 비유: 친구가 보내준 암호문을 해독해서 읽을 수 있는 글로 바꾸는 것과 같아요.

7. 응용 계층 (Application Layer)

  • 설명: 사용자가 직접 접하는 부분이에요. 웹 브라우저나 이메일 프로그램 같은 것이 여기에 해당돼요.
  • 비유: 친구가 보내준 편지를 직접 읽는 것처럼, 우리가 실제로 사용하는 프로그램이에요.
notion image

중요 개념 파악하기

TCP

  • 보내고 확인하기
  • 느리지만 확실히 순서대로 보내고 확인한다.

UDP

  • 보내고 확인 안하기
  • 장점은 보낸 후에 확인 안하니 빠르다!
 
Share article

찬찬잉