오늘은 개발과 커밋 자세히보기

프로그래밍 공부/네트워크 (Network)

[ 네트워크 이론 ] 공부 정리 - 2강. OSI 7계층 중 응용 계층, 표현 계층, 세션 계층

호크테마 2023. 5. 1. 02:56

* 공부 정리일자 (2022년 3월 14일) 
- 책&강의 : 후니의 쉽게 쓴 시스코 네트워크, 정보통신개론 / 컴퓨터 네트워크 (김삼택 교수님)
- 개인적으로 공부 및 복습하면서 정리한 내용입니다. (사진 제외) 


* 목차
1) OSI 7계층 모델 통신 개요
1.1) 동등 계층 통신 
1.2) 캡슐화 
1.3) 캡슐해제 

2) OSI 7계층 - 응용 계층 
3) OSI 7계층 - 표현 계층 
4) OSI 7계층 - 세션 계층 


1. 복습 (중요 키워드 위주)
* 복습 파트 : 2강. OSI 7계층 중 응용 계층, 표현 계층, 세션 계층

1) OSI 7계층 모델 통신 개요

OSI 7계층 모델


1.1) 동등 계층 통신 (peer-to-peer communication)
* 동등 계층 통신 (peer-to-peer communication)
- 데이터 패킷을 발신지에서 목적지 까지 전달하기 위하여 
   발신지 측에 있는 각각의 OSI 계층은 목적지 측에 있는 동등 계층과 통신

- 이 통신 과정에서 각 계층의 프로토콜은 
   각 발신지와 목적지 같은 계층 간에 프로토콜 데이터 유닛 (PDU; protocol data unit)이라고 하는 정보를 교환

- 하위 계층은 서비스 제공을 위하여 
   상위 계층으로부터 내려오는 PDU에 
   해당 계층의 데이터 필드를 추가하는 캡슐화 (발신지 측: encapsulation) 이용 (수신지 측 : De-encapsulation)

- 데이터가 OSI 모델의 계층을 이동해감에 따라 
   발신지 측에서는 또 다른 헤더들이 추가 ( 수신지 측 에서는 헤더를 읽고 제거 : De-encapsulation )



1.2) 캡슐화 (encapsulation)
* 캡슐화 (encapsulation)
데이터를 네트워크로 전송하기 전에, 필요한 프로토콜 정보를 가지고 데이터를 포장

* 캡슐화 (encapsulation)


- 데이터가 OSI 모델의 각 계층을 이동해 감에 따라
   다음 번 하위 계층에 내려 보내기 전에 헤더(Header)를 추가 (2 계층에서는 트레일러도 추가됨)

- 헤더와 트레일러에는 네트워크 장치와 수신 측을 위한 제어 정보가 있어서, 
   데이터의 정확한 전달과 수신 측의 올바른 데이터 해석을 위하여 사용

- 예를 들어 ‘헤더’를 편지 봉투에 적는 주소 라고 생각해보자. 
   편지 봉투 위의 주소는 봉투 안에 들어 있는 편지가 원하는 상대에게 올바로 전달되기 위해 
   꼭 필요한 정보를 의미함. (3계층 PDU 인 패킷의 헤더가 패킷이 도착할 주소)




1.3) 캡슐해제 (De-encapsulation)

* 캡슐해제 (De-encapsulation)


* 캡슐해제 (De-encapsulation)
- 목적지에 있는 장치가 일련의 비트 스트림을 수신했을 때 
   해당 장치는 이를 처리하기 위하여 비트 스트림을 데이터링크 계층으로 올려 보내며, 
   데이터링크 계층은 다음과 같은 작업을 수행

* 캡슐해제 1 단계 
- 목적지 MAC 어드레스가 
   자신의 어드레스와 일치하는지 또는 이더넷 브로드캐스트 어드레스인지를 확인한 후 
   이 두 경우가 모두 아니라면 프레임을 폐기

* 캡슐해제 2 단계 
- 수신한 데이터 프레임에 오류가 있다면 폐기될 수 있으며,
   데이터링크 계층은 해당 데이터 프레임의 재전송을 요구할 수 있고,
   데이터에 오류가 없다면 데이터링크 계층은 데이터링크 헤더 내의 제어 정보를 해석

* 캡슐해제 3 단계 
- 데이터링크 계층은 데이터링크 헤더와 트레일러를 제거한 나머지 데이터를 
                     데이터링크 헤더 내의 제어 정보에 따라 네트워크 계층으로 올려 보냄

* 즉, 캡슐 해제는 
 1) 편지 봉투에 적힌 수신자 주소를 읽어 이 편지가 자신에게 보내진 것인지 확인한 후 
 2) 자신에게 온 편지라면 안에 있는 편지를 꺼내는 과정



2) 제 7 계층 - 응용 계층 (Application Layer) 
- OSI 7계층 중 응용계층의 기능을 응용계층에서 수행되는 프로토콜을 기반으로 하여 개념적으로 설명 하시오.

* OSI 계층과 기능
- 각각의 OSI 계층은 
   네트워크 상에서 데이터 패킷을 소스 (source; 패킷의 출발지)에서 목적지(destination)까지 전달하기 위해 
   수행해야 할 일련의 기능들로 이루어짐

* 응용 계층(application layer)
- 1) 사용자에 가장 가까운 OSI 계층으로써, 사용자 애플리케이션으로 네트워크 서비스를 제공
- 2) 다른 OSI 계층에게도 서비스를 제공하지 않는 OSI 모델에 포함되어 있지 않는 애플리케이션으로 서비스를 제공

- 응용 계층은 통신 상대와의 통신 가능성을 확인하고, 
               오류 회복 절차와 데이터 무결성 (integrity) 제어에 대한 동기화 및 설정을 수행

- 응용 계층은 
   사용자와 컴퓨터가 서로 통신하는 계층 통신 사용자가 
   컴퓨터를 통해 통신을 지시를 하고 결과를 수신하는 사용자 인터페이스

* WWW (World Wide Web) 
- 사용자가 http를 통해 인터넷 Google Chrome 및 Edge 같은 브라우저를 이용하여 정보 및 웹 사이트로 접속 가능. 

* E-Mail 프로그램
- E-mail 프로그램을 이용하여 SMTP, PoP3를 통해 서로 다른 사용자에게 메시지를 주고 받을 수 있음.

* 파일 업로드, 다운로드 프로그램
- FTP(File Transfer Protocol) 프로그램을 이용하여 서로 다른 사용자에게 메시지를 주고 받을 수가 있음.

* 인터넷 검색 프로그램
- Goggle, Naver, Daum 등을 이용하여 http, Domain을 통하여 인터넷상에서 필요한 정보를 검색.

* 모바일 채팅(SNS 서비스) 프로그램
- 카카오스토리, 페이스북, 인스타그램, 트위터 등을 이용해 사회적 관계망을 생성, 유지, 강화 확장

* DNS(Domain Name System) 프로그램
- 네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 해석해주는 TCP/IP 네트워크 서비스


* 인터넷 서비스와 OSI 7계층의 응용 계층 프로토콜

* 인터넷 서비스와 OSI 7계층의 응용 계층 프로토콜

 End User와 가장 밀접한 Layer
 User의 Application에 Network     Service를 제공한다. 
 Protocol 예 : SMTP, FTP, DNS, TFTP.. 
 TCP : FTP (21), TELNET (23), HTTP (80) 
 UDP : DNS (53), TFTP (69), DHCP (67/68) 




3) 제 6 계층 - 표현 계층 (Presentation Layer) 
* 표현 계층 (presentation layer)
발신지 시스템의 응용 계층이 내보낸 정보를 목적지 시스템의 응용 계층이 읽을 수 있도록 수행
- 서로 다른 형식의 데이터를 변환

-- 중요한 임무 중의 하나는 암호화 (encryption)와 암호해독 (decryption)
-- 그래픽 표준으로는 PICT, TIFF, JPEG
-- 음성 및 영상 정보 표현에 대한 표준은 MIDI와 MPEG

* 표현 계층 (Presentation Layer) 의 기능은 부호화/복호화, 암호화/복호화, 압축/압축해제 수행 

* 표현 계층 (Presentation Layer) 의 기능




4) 제 5 계층 - 세션 계층 (Session Layer) 
* 세션 계층 (session layer)
- 통신을 하고자 하는 두 호스트 간의 연결을 설정, 관리, 종료
- 두 호스트의 표현 계층 간의 다이얼로그 동기화 및 데이터 교환에 대한 관리를 수행

- 세션 규칙 처리 기능에 추가하여 
   효율적인 데이터 전송과 서비스 클래스, 
   세션 계층/표현 계층/응용 계층에서 발생하는 문제에 대한 예외 보고 기능을 수행

* 서로 다른 데이터가 혼용 되지 않도록 수행
- 즉, 응용 계층에서 보낸 데이터가 서로 섞이지 않게 함.
- 표현 계층 사이에서 세션을 설정하고 관리하는 역할 담당.


- System, Application, User간 연결을 설정
- Application간의 Session을 성립 하고, 유지 관리하고 종료시키는 역할을 수행한다.