CS

[CS] OSI 7 계층

mark340 2023. 1. 28. 02:22

OSI 7 계층

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

계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문

 

1계층 - 물리계층(Physical Layer)

  • 이 계층에서는 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송
  • 사용되는 통신 단위는 비트이며 이것은 1과 0으로 나타내어지는, 즉 전기적으로 On, Off 상태라고 생각하면 된다. 
  • 이 계층에서는 단지 데이터를 전달만 할뿐 전송하려는(또는 받으려는)데이터가 무엇인지, 어떤 에러가 있는지 등에는 전혀 신경 쓰지 않는다. 
  • 이 계층에 속하는 대표적인 장비는 통신 케이블, 리피터, 허브등이 있다.
  • 케이블, 리피터, 허브를 통해 데이터 전송

 

2계층 - 데이터 링크계층(DataLink Layer)

  • 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할
  • 통신에서의 오류도 찾아주고 재전송도 하는 기능
  • 네트워크 브릿지나 스위치를 통해 Mac주소를 가지고 물리계층에서 받은 정보를 전달한다.
  • 신뢰성있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요
  • 프레임에 주소부여(MAC - 물리적주소), 에러검출/재전송/흐름제어

 

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

  • 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)
  • 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달
  • 대표적인 장비는 라우터
  • 데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층
  • 논리적인 주소 구조(IP), 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적(hierarchical)이다.
  • 주소부여(IP), 경로설정(Route)

 

4계층 - 전송 계층(Transport Layer) 

  • 통신을 활성화하기 위한 계층이다. 보통 TCP프로토콜을 이용하며, 포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다. 
  • 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져 준다. 
  • 패킷 생성(Assembly/Sequencing/Deassembly/Error detection/Request repeat/Flow control) 및 전송

 

TCP 프로토콜(Transmission Control Protocol)

  • 양종단 호스트 내 프로세스 상호 간에 신뢰적인 연결지향성 서비스를 제공
  • 신뢰적인 전송을 보장함으로써, 어플리케이션 구현이 한층 쉬워지게 됨
  • 패킷 손실, 중복, 순서바뀜 등이 없도록 보장
  • 양단간 어플리케이션/프로세스는 TCP가 제공하는 연결성 회선을 통하여 서로 통신

 

UDP 프로토콜(User Datagram Protocol)

  • 전송 계층의 통신 프로토콜의 하나 (TCP에 대비됨)
  • 신뢰성이 낮은 프로토콜로써 완전성을 보증하지 않으나, 가상회선을 굳이 확립할 필요가 없고 유연하며 효율적 응용의 데이타 전송에 사용
  • 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공 
  • 실시간 응용 및 멀티캐스팅 가능
  • 헤더가 단순함

 

5계층 -세션 계층(Session Layer) 

  • 데이터가 통신하기 위한 논리적인 연결을 말한다. 통신을 하기위한 대문이라고 보면 된다.
  • 세션 설정, 유지, 종료, 전송 중단시 복구 등의 기능이 있다.
  • 동시 송수신 방식(duplex), 반이중 방식(half-duplex), 전이중 방식(Full Duplex)의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정 등을 수행한다. 
  • 이 계층은 TCP/IP 세션을 만들고 없애는 책임을 진다.
  • 통신하는 사용자들을 동기화하고 오류복구 명령들을 일괄적으로 다룬다. 
  • 통신을 하기 위한 세션을 확립/유지/중단

 

6계층 - 표현 계층(Presentation Layer)

  • 데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화 한다.
  • 표현 계층(Presentation layer)은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 준다.
  • 인코딩이나 암호화 등의 동작이 이 계층에서 이루어진다. 
  • 사용자의 명령어를 완성및 결과 표현. 포장/압축/암호화

 

7계층 - 응용 계층(Application Layer)

  • 최종 목적지로서 HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다. 
  • 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다. 
  • 네트워크 소프트웨어 UI 부분, 사용자의 입출력(I/O)부분

 

HTTP 프로토콜(HyperText Transfer Protocol)

  • 웹상에서 웹 서버 및 웹브라우저 상호 간의 데이터 전송을 위한 응용계층 프로토콜
  • 요청 및 응답의 구조
  • 클라이언트와 서버 간에 `HTTP 메세지`를 주고받으며 통신