[CS] OSI 7계층에 대하여

박현우·2021년 10월 29일
0

CS

목록 보기
11/20
post-thumbnail

OSI 7계층이란?

  • 네트워크 통신이 일어나는 과정을 7단계로 나눈 것을 말합니다.

왜 나누냐?

  • 스프링과 웹을 MVC로 나누면 디버깅이 수월한 것 처럼, 각 통신 과정을 계층화 하여 어떤 계층에서 문제가 발생했는지 한눈에 보기 위함입니다. 각 계층의 역할이 다르기 때문입니다.

각 계층이 하는일

1. 물리계층(Physical Layer)

  • 전송 단위 : 비트(Bits)
  • 대표 장비 : 케이블, 허브, 리피터
  • 주요 프로토콜 : Fiber
  • 물리계층은 하드웨어끼리의 전기적인, 기계적인 신호를 주고받는 역할을하는 계층입니다.
  • 0,1 로 구성된 전기적 신호의 데이터만 전달합니다.
  • 데이터의 종류나 오류를 제어하지 않습니다.
  • 전송 단위 : 프레임(Frame)
  • 대표 장비 : 브리지, 스위치
  • 주요 프로토콜 : 이더넷(Ethernet)
  • 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 합니다.
  • 브릿지나 스위치를 통해 프레임에 MAC주소(물리적 주소)를 부여해, 물리계층에서 받은 정보를 전달합니다.

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

  • 전송 단위 : 패킷(Packet)
  • 대표 장비 : 라우터
  • 주요 프로토콜 : IP, IPSec
  • 라우팅, 흐름 제어, 오류 제어, 세그먼테이션 등을 수행합니다.
    라우팅? 어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택해 가장 빠르게 데이터를 보내는 방법. 전화 통신망, 전자 정보 통신망, 교통망 등 여러 종류의 네트워크에서 사용된다.
  • 라우터에 데이터가 송수신될 IP주소를 부여합니다.

4. 전송 계층(Transport Layer)

  • 전송 단위 : 세그먼트(Segment), Datagram(UDP의 경우)
  • 대표 장비 : 게이트웨이
  • 주요 프로토콜 : TCP, UDP
  • 통신을 활성화하기 위한 계층입니다. 보통 TCP프로토콜을 이용하며, 포트를 열어서 응용프로그램들이 전송을 할 수 있게 합니다.
  • 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져 줍니다.
  • 일부 프로토콜은 상태 개념이 있고(stateful), 연결 기반(connection oriented)입니다. 이는 전송 계층이 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다는 것을 뜻합니다.
  • TCP프로토콜의 경우 잘 알려진 3way handshake, 4way handshake로 인해 신뢰성을 보장할 수 있습니다.

5. 세션 계층(Session Layer)

  • 주요 프로토콜 : RPC, Socket, Various APIS
  • 통신의 일을 책임지고 있는 계층입니다. 2대의 기기, 컴퓨터 또는 서버 간에 통신을 하기 위해서는 세션(session)을 만들어야 하는데 이 작업이 여기서 처리됩니다.

  • 네트워크 연결을 성립(Establishment), 제어와 운영(Manage and Control), 연결의 종료(Terminate)를 책임지며, 각각의 알맞은 Application으로 Data를 보내기 위해서 Application으로부터 들어오는 Data들을 분리해서 유지해 주는 기능을 수행합니다.

  • OS(Operating System)가 이 계층에 속합니다.

6. 표현 계층(Presentation Layer)

  • 주요 프로토콜 : SSL(Secure Socket Layer), FTP, SSH, ASCII, MPEG, JPEG, MIDI
  • 표현 계층은 data의 Format(형식)을 정의합니다.

  • 예를 들면, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것, 해당 데이터가 TEXT인지, 그림인지, GIF인지 JPG인지의 구분 등이 표현 계층의 몫입니다.

7. 응용 계층(Application Layer)

  • 주요 프로토콜 : HTTP, FTP, WWW, Telnet, SMTP, POP, DNS
  • 사용자가 네트워크에 접근할 수 있도록 인터페이스를 제공하며 네트워크 자원에 접근하는 방법을 제공하는 계층입니다.
  • 구글의 크롬과 같은 브라우저나 스카이프, 아웃룩 등의 응용프로그램이 이 응용 계층에서 동작합니다.

ref.

0개의 댓글