프로그래밍 공방

OSI 7 Layer 본문

개발/문제해결

OSI 7 Layer

hyosupsong 2021. 1. 24. 20:21

OSI 7 Layer

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

계층화의 장점

시스템이 계층구조를 가질때, 그 계층이 제공하는 서비스의 구현을 변경하는 것이 쉽다.
-> 한 계층이 상위 계층에 같은 서비스를 제공하고, 하위 계층의 서비스를 이용하는 한, 어떤 한 계층의 구현이 변하더라도 시스템의 나머지 부분은 변하지 않는다.

계속해서 갱신되는 복잡하고 커다린 시스템의 경우, 시스템의 다른 요소에 영향을 주지 않고 서비스 구현을 변화시킬 수 있다.

OSI 7 Layer 모델

애플리케이션 계층

 - 네트워크 애플리케이션과 애플리케이션 계층 프로토콜이 있는 계층
 - 인터넷 애플리케이션 계층 : HTTP, SMTP, FTP 등을 포함
 - DNS 서비스 (www.xxx.com -> 32비트(ip)) 등
 - 애플리케이션 계층 프로토콜은 여러 종단 시스템에 분산되어 있어서, 한 종단 시스템에 있는 애플리케이션이 다른 종단 시스템에 있는 애플리케이션과 정보 패킷을 교환하는데 이 프로토콜을 사용한다.
   -> 이 정보 패킷을 "메시지"라고 부른다.

프레젠테이션 계층

- 통신하는 애플리케이션들이 교환되는 데이터의 의미를 해석하도록 하는 서비스를 제공
- 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 애플리케이션 계층으로부터 덜어준다. / 데이터 압축, 데이터 암호화 포함) 
- 애플리케이션이 데이터가 표현/저장되는 내부 포맷을 걱정하지 않아도 되게 한다.
  (ex. EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔준다.)

세션 계층

- 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공
- TCP/IP 세션을 만들고 없애는 역할을 한다.
- 데이터 교환의 경계와 동기화를 제공 

- 체크 포인트와 회복 방법을 세우는 수단을 포함

트랜스포트 계층

 - 클라이언트와 서버 간에 애플리케이션 계층 메시지를 전송하는 서비스를 제공한다.
 - TCP / UDP(트랜스포트 프로토콜, 애플리케이션 계층 메시지를 전달)
 - TCP : 연결지향형 서비스를 제공 (메시지 전달 보장, 흐름제어(송신자/수신자의 속도 일치), 긴 메시지를 짧은 메시지로 나누고 혼잡제어 기능을 제공하여, 네트워크가 혼잡할 때 출발지의 전송속도를 줄이도록 한다.)
 - UDP : 비연결형 서비스를 제공 (신뢰성, 흐름제어, 혼잡제어를 제공하지 않음)
 - 트랜스포트 계층 패킷은 "세그먼트"라고 부른다.

네트워크 계층

- 출발지와 목적지 사이에서 데이터그램이 이동하는 경로를 결정하는 라우팅 프로토콜을 포함
  (한 호스트에서 다른 호스트로 데이터그램을 라우팅하는 역할을 한다.)
- 출발지의 인터넷 트랜스포트 계층 프로토콜은 트랜스포트 계층 세그먼트와 목적지 주소를 네트워크 계층으로 전달한다.
- 목적지 호스트의 트랜스포트 계층으로 세그먼트를 운반하는 서비스를 제공
- IP프로토콜 (IP 데이터그램의 필드를 정의하며 종단 시스템과 라우터가 이 필드에 어떻게 동작하는지를 정의하는 프로토콜을 갖고 있다.)
- 네트워크 계층을 가진 모든 인터넷 요소는 IP 프로토콜을 수행해야만 한다.

링크 계층

- 경로상의 한 노드(호스트 혹은 패킷 스위치)에서 다른 노드로 패킷을 이동하기 위해, 네트워크 계층은 링크 계층 서비스에 의존한다.
- 링크 계층에서 제공하는 서비스는 그 링크에서 사용하는 특정 링크 계층 프로토콜에 의존한다.
- 링크 계층 프로토콜(이더넷, 와이파이, DOCSIS) / 어떤 프로토콜은 수신 노드까지 신뢰적 전송을 제공한다
  (TCP의 신뢰적 전달 서비스와는 다르다)
- 데이터그램이 출발지에서 목적지로 가는 데 여러 링크를 거치므로 경로상의 다른 링크에서 다른 링크 계층 프로토콜에 의해 처리될 수 있다.
- 링크 계층 패킷을 "프레임"이라고 한다.

물리 계층

- 프레임 내부의 각 비트를 한 노드에서 다음 노드로 이동하는 것
- 링크의 실제 전송 매체(꼬임쌍선, 단일 모드 광케이블)에 의존한다.

캡슐화 

OSI 계층에서 사용자 데이터가 각 계층을 지나면서, 하위 계층은 상위 계층에서 온 정보를 데이터로 취급하며 자신의 계층 특성을 담은 제어정보를 헤더화시켜 이를 붙이는 과정

각 계층에서 패킷은 헤더 필드와 페이로드 필드라는 두 가지 형태의 필드를 갖는다.
* 페이로드는 일반적으로 상위 계층으로부터의 패킷이다.

참고) 각 계층에서 패킷은 다르게 불려진다.
애플리케이션 계층 = 메시지
트랜스포트 계층 = 세그먼트
네트워크 계층 = 데이터그램
링크 계층 = 프레임

'개발 > 문제해결' 카테고리의 다른 글

[백준] 1010번 : 다리놓기  (0) 2021.01.26
[백준] 1766번 : 문제집  (0) 2021.01.26
[프로그래머스] 셔틀버스  (0) 2021.01.23
[프로그래머스] 가사 검색  (0) 2021.01.21
[프로그래머스] 베스트앨범  (0) 2021.01.20