본문 바로가기

CS/네트워크

OSI 7계층

OSI란?

국제표준화기구에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 모델

프로토콜을 기능별로 나누었다.

  • why? 관리를 용이하도록 해준다. 계층별로 나누어 관리하면 어디서 문제가 발생했는지 빠르게 파악할 수 있어 도움이 된다. 
  • 현재는 OSI 7계층보다 TCP/IP(updated ver.) 모델이 더 많이 사용되고 있다!
  • TCP/IP(updated ver.)은 ( Application / Transport / Network / Data-Link / Physical )으로 나누고 있다.

  • 하위계층은 상위계층에게 기능을 제공한다.
  • 하위는 하드웨어(data-link, physical), 상위는 소프트웨어로 구현되어 있다.

Application layer

  • 응용 서비스를 수행한다.
  • 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공한다.
  • endSystem에 존재한다.
  • Client-Server, P2P 구조 등
  • HTTP

Presentation layer

  • 코드 간의 번역을 수행하여 사용자가 데이터 형식 차이를 다루어야 하는 부담을 덜어준다.
  • MIME 인코딩(바이너리→텍스트), 암호화, 압축 수행
  • JPEG, MPEG

Session layer

  • End-system 에 있는 프로세스가 통신을 관리하기 위한 방법을 제공한다.
  • TCP/IP를 만들고 없애는 책임을 갖는다.
  • 통신 시작부터 종료하기까지의 시간을 세션이라 한다.
  • duplex, half-duplex, full-duplex 통신을 수행한다.
  • API, Socket
  • input: ( Hello ) → output: ( status code: 500 Hello )

Transport layer

  • 효율성유효성을 보장하여 End-system에 있는 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있도록 한다.
  • TCP, UDP
  • 포트 번호 사용 : 하나의 컴퓨터에서 동시에 실행되고 있는 프로세스들이 서로 겹치지 않게 가지는 정수값
  • 상위 계층에서 받은 데이터 앞에 포트 번호를 붙인다(encoder)
  • or
  • 하위 계층에서 받은 데이터에서 포트 번호를 뗀다(decoder)
  • Segment 단위

Network layer

  • 여러 노드를 거칠 때마다 경로(최적의 경로)를 찾아주는 역할을 담당한다.
  • 라우팅, 흐름 제어, 세그멘테이션, 오류 제어, 인터네트워킹 등
  • 네트워크 관리자가 직접 할당하는 구조를 갖고 계층적이다.
  • IP 주소를 이용하여 경로를 찾는다 : 라우팅
  • 만약 목적지의 주소를 알지 못한다면, 자신 다음의 라우터에게 데이터를 넘겨준다 : forwarding
  • Packet 단위
  • 하나의 라우터는 LAN단위, LAN들이 묶이면 WAN을 구성한다.

Data link layer

  • 신뢰성 있는 전송을 보장하기 위한 계층이다.
  • 주소 값은 물리적으로 할당받는다. 즉, 맥 주소가 정해져 있다.
  • 여러 대의 컴퓨터가 통신하기 위해서 필요하다.
  • 수신자 입장에서는 여러 대의 컴퓨터에서 보내오는 데이터를 구분할 필요가 있다.
  • 이를 위해 송신자는 데이터 앞, 뒤에 특정 비트열을 붙여서 전송한다.
  • (1111) real data (0000) → real data
  • 네트워크 '안' 에서의 전송을 담당한다.(LAN)
  • 이더넷
  • Frame 단위

Physical layer

  • 하드웨어 전송 기술을 말한다.
  • bit 단위 ↔ 아날로그 신호
  • PHY 칩

아래는 많은 도움이 되었던 유튜브 강의?이다.

https://www.youtube.com/watch?v=1pfTxp25MA8 

 

'CS > 네트워크' 카테고리의 다른 글

HTTP 헤더  (0) 2021.05.25
GET과 POST  (0) 2021.05.18
TCP의 3 way handshake와 4 way handshake  (0) 2021.05.17
TCP/UDP의 Header  (0) 2021.05.17
TCP와 UDP  (0) 2021.05.15