CS정리/컴퓨터 네트워크
[컴퓨터 네트워크] OSI 7 계층 소개 (4 - 7계층 : 전송, 세션, 표현, 응용 계층)
freelini
2022. 3. 16. 17:07
4계층 : 전송 계층 (Transport Layer)
전송 계층의 정의 및 특징
- 전송 계층의 데이터 : 세그먼트(segment)
- 세그먼트 헤더에는 포트 주소와 소켓 주소가 포함됨
- 종간단(End to End) 에러 없이 데이터를 전송할 수 있도록 에러 여부 확인
- 1~3계층과의 차이 : 1~3 계층은 출발지에서 목적지까지 어떻게 도착하는지에만 관여. 하지만 4계층은 목적지에 도착한 이후로도 서버에 어떠한 서비스를 쓸 것인지, 즉 이 서버에 어떠한 포트로 데이터를 전달할 것인지 결정
전송 계층의 주요 3가지 기능
- 흐름 제어 : 수신 측에서 설정한 흐름을 제어함.
- 혼합 제어 : 네트워크 내 대기하는 패킷 수를 줄여 혼잡을 미연에 방지 또는 제어하며, 일반적으로 송신측 전송을 억제 하는 방법을 많이 사용
- 오류 제어 : 주고 받는 데이터에 오류가 생기면 재전송 등의 방법으로 오류 해결
※ 흐름 제어와 오류 제어가 2계층과 겹치지만 하드웨어 계층(1~3계층)과 소프트웨어 계층(4~7계층)으로 나누어져 있어 있음
→ 그러므로, 2계층에서의 제어는 하드웨어에서의 제어이며 4계층에서의 흐름 및 오류 제어는 소프트웨어에서의 제어로 나뉨
5계층 : 세션 계층 (Session Layer)
세션 계층의 정의 및 특징
- 세션 계층의 데이터 : 메세지(Message)
- 세션이란 연결의 설정과 해제, 즉, 통신의 시작과 종료를 정의함
- 세션에서 사용되는 포트 번호는 4계층에서 정의되며, 5계층은 이 정의돈 포트 번호를 기반으로 가상 회선을 만듦
세션* 이란? : 시작과 끝의 포트 번호가 서로 간에 통신을 하게 되는 가상회선
6계층 : 표현 계층 (Presentation Layer)
표현 계층의 정의 및 특징
- 데이터를 어떻게 표현하는지 정의하는 계층 (확장자를 기반으로 문서 파일 .. 등 알 수 있는 데이터를 어떻게 표현하는지 정의)
- 이 기종의 시스템들은 각기 다른 데이터 표현 방식을 사용함. 이를 하나의 통일된 구문 형식으로 변환 시키는 기능 필요
- 응용 계층에서 생성된 데이터를 다른 컴퓨터가 이해할 수 있는 형태로 변환
- 데이터 압축 기능 지원 (데이터의 효율적인 전달과 저장을 위해 사용)
- 암호화를 통해 데이터의 보안을 높임 (데이터 통신에 있어서 비밀 유지)
- 표현 계층은 소프트웨어에서의 암호화이고, 하드웨어에서도 암호화 할 수 있는 방법 존재
7계층 : 응용 계층 (Application Layer)
응용 계층의 정의 및 특징
- 응용 프로그램과 통신 프로그램 사이에서 이를 연결하는 역할. 즉, 사용자가 서비스를 받을 수 있게끔 연결하는 역할을 함.
- OSI 7 Layer의 최상위 계층이며, 사용자가 가장 가까운 계층
- 응용 계층에서 사용되는 프로토콜의 예시들은 Http, FTP, SMTP, SSH, https 프로토콜 등이 있음
통신을 위한 프로토콜 종류 및 특징
- Http(Hyper Text Transfer Protocol) : 웹 브라우저를 사용하여 인터넷을 통해 데이터를 송수신, www 이용시 사용
- FTP(File Transfer Protocol) : 파일 전송 프로토콜
- SNMP(Simple Network Management Protocol) : 모니터링
- Telnet : 원격 접속
- SSH(secure Shell) : 암호화 원격 접속
- https(Hyper Text Transfer Protocol over Secure Socket) : http의 보안이 강화된 프로토콜
OSI 7 Layer의 캡슐화와 역캡슐화
- OSI 7 Layer는 각 계층별로 고유 기능과 역할을 가지고 있음
- 계층별로 가지고 있는 고유 기능과 역할을 각 계층에 헤더 형식으로 붙여 데이터에 기록
- OSI 7 Layer를 기반으로 하는 통신은 캡슐화와 역캡슐화의 과정을 통해 상호 데이터를 주고받는 방식으로 통신
- 캡슐화(Encapsulation) : 계층별 헤더를 데이터 유닛의 맨 앞에 붙임
- 역캡슐화(Decapsulation) : 데이터 유닛의 맨 앞에 있는 계층별 헤더를 제거함