CS/네트워크

OSI 7 계층, TCP/IP 4 계층 정리

soo-dal 2024. 1. 11. 20:54

네트워크 과목의 뼈대가 되는 OSI 7 계층, 그리고 이것과 비슷한 빈도로 언급되는 TCP/IP 4계층.

어디서는 전자로, 어디서는 후자로 설명되어 헷갈리기도 한다.

OSI 7계층 모델과 TCP/IP 4계층 모델을 살펴보고,  OSI 모델을 기준으로 각 계층을 하나씩 살펴보자.

 

 

목차

1. OSI 7 계층 개요

2. OSI 계층별 특징

 

 

1. OSI 7 계층 개요

네트워크가 처음 나왔을 때 정해진 규칙이 따로 없었기 때문에 다른 시스템끼리의 호환성 문제가 발생했다. 이를 해결하기 위해 표준을 만들 필요가 있었으며 1984년 국제표준화기구(ISO)에서 처음으로 OSI 7 모델을 개발 하였다. 

OSI 7 계층이란 표준화를 위한 네트워크 모델이라고 생각하면 되겠다('이 모델에 맞춰서 시스템 만드셈' 이런 용도)

 

OSI 7 계층은 통신이 일어나는 과정을 7개의 단계로 구분하였으며 아래와 같은 계층 구조를 가진다.

OSI 7 계층구조도

OSI 7 계층 특징

  • 통신의 과정을 7개 단계로 나눴으며, 단계별로 파악이 가능
  • 각 계층은 독립적인 모듈로 구성
  • 각 계층은 상하 관계

 

TCP/IP 4계층 모델

네트워크를 공부하다보면 OSI 7 계층 모델과 같이 등장하는 것이 TCP/IP 4계층 모델이다. 어디에서는 OSI 7 계층이 사용되고, 어디서는 TCP/IP 4계층이 사용되는 것을 볼 수 있다. 어떤 차이가 있는 것일까?

 

간단히 말하자면, OSI 7 계층의 경우 이론 설명을 위해 많이 사용되며(계층을 7개로 나눠놨으니 각각에 대해 설명을 하기 쉽다) 네트워크 표준으로 채택되지 않았다. 반면, TCP/IP 4계층은 OSI 7 계층 이후에 나온 모델이며, 네트워크 표준으로 채택되어 실무에서 널리 사용하고 있다. 

OSI 7 계층 = 이론적인 관점을 설명하기 위해 사용
TCP/IP 4계층 = 실무에서 많이 사용

 

 

 

2. OSI 7 계층별 특징

사용자와 직접 상호작용하는 응용 계층에서 시작해서 Top-Down 방식으로 설명을 드리겠다.

 

응용 계층(7계층)

  • 사용자와 직접 상호작용하며 서비스간 통신을 지원
  • 송신측 - 사용자로부터 데이터를 입력받아 하위 계층으로 전달, 수신측 - 하위계층에서 전송받은 데이터를 사용자에게 전달
  • 여러 응용 프로그램이 이 계층에서 동작(네이버, 유튜브 등)
  • 대표 프로토콜 - HTTP, DNS, Telnet, FTP

 

표현 계층(6계층)

  • 송신측과 수신측의 데이터 호환성을 위해 데이터의 형식을 정의하고 표준화를 담당
  • 송신측 - 인코딩, 암호화, 수신측 - 디코딩, 복호화
  • 표현 계층에서는 아래 작업이 수행된다.
    • 데이터 변환 - 데이터 형식 정의, 데이터 교환시 형식 변환(eg. 송신 = UTF-8, 수신 = EUC-KR 사용)
    • 압축 - 효율적인 데이터 전송을 위한 압축
    • 암호화 - 데이터를 암호화하여 보안 강화
  • 대표 프로토콜 - JPEG, GIF

 

세션 계층(5계층)

  • 양 끝단 세션의 생성, 유지, 종료를 담당
  • 대화제어(연결 시작, 유지, 종료), 흐름제어(데이터 속도 조절), 오류 복구 등을 수행
  • TCP/IP 계층에서 전송 계층이 하는 일 중 일부를 진행
  • 대표 프로토콜 : RPC, PPTP

 

헷갈리는 부분 정리

1. 세션 계층 = TCP 프로토콜과 유사한데, TCP/IP 4계층에서 전송계층으로 포함되는건가?

세션 계층을 정리하면서 TCP 프로토콜이 지원하는 기능이 여기에 해당하는 것을 볼 수 있다. TCP/IP 4계층과의 비교 그림에서는 세션 계층이 응용 계층으로 포함되듯이 그렸는데 사실은 TCP/IP 4계층의 전송 계층에 대응된다.

 

 

2. 세션계층의 세션은 무엇인가? 

대부분의 블로그에서 세션 계층 설명에서 아래와 같이 정리를 해놓았다.

- TCP/IP 세션을 만들고 없애는 역할
- 세션 = 클라이언트와 웹 서버 간 네트워크 연결이 지속 유지되고 있는 상태(브라우저 시작과 종료)


이렇게 정리를 해놔서 헷갈렸다. TCP에서 말하는 세션과 HTTP에서 말하는 세션이 다른 것으로 이해를 했는데 같은 곳에 있다니..

 

내 나름대로 정리를 해보자면 각 세션은 의미하는게 서로 다르며,  위에서 작성된 세션은 각각 TCP의 가상회선과 HTTP에서 세션을 의미한다. 또한, 세션 계층에서의 세션은 이보다 좀 더 일반적인 통신의 연결 상태를 의미한다고 보면 된다.

TCP  세션 = 송신측과 수신측이 3-way-handshake를 통한 논리적 연결 (가상회선)
HTTP 세션 = 웹 서버와 브라우저 간 연결
세션 계층의 세션 = 두 시스템의 통신시 일반적인 연결

 

 

전송 계층(4계층)

  • 종단 간 신뢰성 있는 통신을 가능하게 해주는 계층
  • 오류 검출 및 복구, 흐름 제어, 중복 검사 등이 수행될 수 있음
  • 헤더 : 포트 번호, 체크썸
  • 전송 단위 : 세그먼트(Segment), 데이터그램(Datagram)
  • 대표 프로토콜 : TCP ,UDP

 

 

네트워크 계층(3계층)

  • 송신 호스트에서 목적 호스트로 데이터 패킷을 전달하는 역할
  • 수행 작업
    • 라우팅 - 여러 경로 중 최적의 경로를 선택
    • 패킷 전송 - 목적 호스트까지의 패킷 전송을 담당
    • 서비스 품질 제어(Quality of Service, QoS) - 특정 패킷에 우선순위를 설정하거나 특정 대역폭을 보장받을 수 있음
  • 대표 프로토콜 - IP

 

데이터 링크 계층(2계층)

  • 이웃한 노드 사이의 신뢰성 있는 데이터 전송을 담당
  • 물리계층을 통해 전송된 전기적 신호의 오류 감지 및 수정 수행
  • MAC 주소를 가지고 통신
  • 전송 단위 - 프레임(Frame)
  • 대표 프로토콜 - Ethernet, WIFI

전송 계층이 양 종단 간의 신뢰성을 보장했다면 데이터링크 계층은 이웃 장치 간의 신뢰성을 보장

 

물리 계층(1계층) 

  • 비트를 전기신호로 변환하고 물리적으로 전송하는 역할
  • 0,1 로 이루어진 데이터를 전기신호로 변환
  • 전기신호를 케이블, 광섬유, 무선 매체를 통해 전송
  • 프로토콜 존재 x(하드웨어를 다루기에)

 

요약

OSI 7 모델

응용계층(7계층) - 사용자와 상호작용하며 서비스의 통신을 지원
표현계층(6계층) - 데이터의 형식 정의 및 표준화
세션계층(5계층) - 종단 간 세션의 연결,유지,해제를 하며 데이터 흐름을 관리
전송계층(4계층) - 종단 간 데이터 신뢰성에 대한 처리
네트워크 계층(3계층) - 송신측에서 수신측까지 신속한 데이터 전송
데이터 링크 계층(2계층) - 이웃 노드 간 신뢰성 있는 통신을 담당
물리 계층(1계층)  - 노드 간 전기신호 전달

 

 

[참고 링크]

https://backendcode.tistory.com/167#google_vignette

https://github.com/ssafy-tech-concert/ssafy-tech-concert/blob/master/Computer-Science/OSI%207%20layer.md

https://dev-coco.tistory.com/161