728x90
▶ 계층 모델
- ▪️ ISO의 OSI(Open System Interconnection) 7계층 모델
- ▪️ 통신 기술의 도입과 통신 기능의 확장을 쉽게 하려고 프로토콜을 몇 개의 계층으로 나누는 것을 '계층화'라 하고, 통신 기능을 7계층으로 분류하여 각 게층마다 프로토콜을 규정한 규격을 'OSI'모델이라 한다.
- ▪️ OSI 참조 모델은 각각 특정 기능을 수행하는 서로 다른 계층 7개를 말한다.
- ▪️ 물리 게층(1계층), 데이터링크 계층(2계층), 네트워크 계층(3계층), 전송 계층(4계층), 세션 계층(5계층), 표현 계층(6계층), 응용 계층(7계층)으로 구성된다.
- ▪️ 각 계층은 헤더와 데이터 단위(Data Unit 또는 Protocol Data Unit)로 정의되는데, 헤더에는 각 게층의 기능과 관련된 정보가 포함된다.
- ▪️ 상위 계층이나 하위 계층 사이에 주고받는 것을 '서비스 데이터 단위(SDU)'라 하고, 같은 계층 사이에서 주고 받는 것을 '프로토콜 데이터 단위(PDU)'라고 한다.
- ▪️ 이 데이터 단위는 송신 측이나 수신 측의 다음 계층에 데이터 정보를 전송할 때 사용한다.
- ▪️ 점점 data가 늘어나고, 캡슐화 된다 -> encapsulation
- ▪️ 용어 정의
- ▪️ 계층N 프로토콜: 계층 N 모듈끼리 사용하는 통신 규칙
- ▪️ 동료 프로세스: 동일 계층에 위치한 통신 양단 프로세스
- ▪️ 인터페이스: 상하위 계층 사이의 접속 방법
- ▪️ 서비스: 상위 계층이 하위 계층을 사용하는 방법
- ▪️ 헤더 정보
- ▪️ 송신 호스트: 데이터가 상위 계층에서 하위 계층으로 갈수록 헤더 추가 *encapsulation
- ▪️ 수신 호스트: 데이터가 하위 계층에서 상위 계층으로 갈수록 헤더 제거 *decapsulation
▶ 프로토콜
- ▪️ 데이터 단위
- ▪️ APDU: 응용 계층의 데이터 단위
- ▪️ PPDU: 표현 계층의 데이터 단위
- ▪️ SPDU: 세션 계층의 데이터 단위
- ▪️ TPDU: 전송 계층의 데이터 단위
- ▪️ 세그먼트: TCP 프로토콜에서 사용
- ▪️ 데이터그램: UDP 프로토콜에서 사용
- ▪️ NPDU: 네트워크 계층의 데이터 단위
- ▪️ 패킷
- ▪️ DPDU: 데이터 링크 계층의 데이터 단위
- ▪️ 프레임
- ▪️ 중개 기능 (*그림참조: 라우터의 기능)
▶ OSI 참조 모델
- ▫️ 물리 계층(1계층)
- ▪️ 물리적인 연결 : LAN, Wifi 등 물리적 전선 매체
- ▪️ 전기적/기계적/기능적/절차적인 수단 제공
- ▪️ 두 시스템 간에 데이터를 전송하려고 링크를 활성화하고 관리하는 전기적·기계적·절차적·기능적 특성 등을 정의한다.
- ▪️ 또한 물리 계층은 허브, 라우터, 네트워크 카드, 케이블 등 전송매체를 통해 비트(bit)를 전송한다.
- ▪️ 상위 계층에서 전송된 데이터를 물리 매체를 통해 다른 시스템에 전기적 신호로 전송한다.
- ▪️ LAN 카드, 케이블, 허브, 라우터 등 물리적인 것과 데이터 전송에 사용하는 전압 등 기본적인 것이 물리 계층에 속한다.
- ▪️ 송신 측의 물리 계층은 데이터 링크 계층에서 0과 1로 구성된 비트열의 데이터(프레임)를 받아 전기적 신호로 변환한 후 전송매체를 통하여 수신 측에 보낸다.
- ▪️ 수신 측의 물리 계층은 송신 측에서 받은 전기 신호를 0과 1로 구성된 비트열로 복원하여 수신 측의 데이터 링크 계층에 전송한다.
- ▫️ 데이터링크 계층(2계층)
- ▪️ 데이터 전송을 위한 Format 결정
- ▪️ 데이터 전송을 위하여 Media에 접근하는 방법 제공 : Ethernet, Bluetooth, Wifi 등 통신방식에 대해
- ▪️ 물리적인 주소 사용
- ▪️ Error Detection(오류 검출) 기능 제공
- ▪️ 물리적 링크를 이용하여 신뢰성 있는 데이터를 전송하는 계층으로, 네트워크를 통해 데이터를 전송할 때 전송로 역할을 한다. : MAC주소·Physical 주소 사용
- ▪️ 데이터 링크 계층에서는 비트를 프레임이라는 논리적 단위로 구성하는데, 전송하려는 데이터에 _인접하는 노드(시스템)의 주소_가 더해진다. 주소는 최종 수신지의 주소가 아니라 전송되는 다음 노드의 주소가 된다.
- ▪️ 시스템 간에 오류 없이 데이터를 전송하려고(트레일러) 네트워크 계층에서 받는 데이터 단위(패킷)를 프레임으로 구성하여 물리 계층으로 전송한다.
- ▪️ 물리주소(MAC주소) : 48 bit = 24bit(제조사의 코드)+ 24bit(제품의 시리얼 넘버)
- ▪️ 모든 MAC 주소는 고유하다(가상머신 제외)
- ▪️ 예시
- ▪️ 물리 주소 14인 노드가 물리 주소 93인 노드로 프레임을 보내고, 두 노드는 링크로 연결되어 있다.
- ▪️ 이 프레임은 헤더에 물리 주소가 있는데, 여기서는 이 주소들만 필요하다. 헤더의 끝에는 필요한 정보(물리주소= 최종 목적지의 주소가 아닌 인접해있는 노드의 주소)가 들어있고, 트레일러에는 오류를 검출하는 특별한 비트들이 있다.
- ▫️ 네트워크 계층(3계층)
- ▪️ 논리적인 주소를 사용: IP주소
- ▪️ 경로 관리, 최적 경로 결정
- ▪️ 사용자 Data (Packet) 전송
- ▪️ 상위 계층에 연결하는 데 필요한 데이터 전송과 경로선택 기능을 제공하고, 라우팅 프로토콜을 사용하여 최적의 경로를 선택한다.
- ▪️ 데이터를 전송할 수신 측의 주소를 찾고 수신된 데이터의 주소를 확인하여 내 것이면 전송 계층으로 전송한다.
- ▪️ 네트워크 계층은 데이터를 패킷 단위로 분할하여 전송한 후 재결합한다.
- ▪️ 세그먼트가 내려오면 헤더를 붙이고, 패킷으로 나눠서 전송
- ▪️ 전송 개체 사이에 안정적으로 전송할 수 있도록 서비스를 제공한다.
- ▫️ 전송 계층(4계층)
- ▪️ End-to-End Connection
- ▪️ Application 사이에 논리적인 통로 제공(Virtual Circuit)
- ▪️ 전송 문제 관리
- ▪️ 신뢰성 있는 전송 보장 : TCP
- ▪️ 포트주소를 사용하는 계층
- ▪️ 프로토콜(TCP, UDP)과 관련된 계층으로 오류 복구와 흐름 제어 *_등을 담당하며, 두 시스템 간에 *_신뢰성 있는 데이터를 전송한다.
- ▪️ 또한 네트워크 계층에서 온 데이터를 세션 계층의 어느 애플리케이션에 보낼 것인지 판독하고, 네트워크 계층으로 전송할 경로를 선택한다.
- ▪️ 네트워크 계층에서 데이터와 실제 운영체제의 프로그램이 연결되는 통신 경로라고 할 수 있다.
- ▫️ 세션 계층(5계층)
- ▪️ Interhost Communication
- ▪️ Application 사이의 대화 Start, Maintain, Stop
- ▪️ 응용 프로그램 계층 간의 통신을 제저하는 구조를 제공하기위해 응용 프로그램 계층 사이의 접속을 설정·유지·종료시켜주는 역할을 한다.
- ▪️ 또한 사용자와 전송 계층 간의 인터페이스 역할을 하며, LAN 사용자가 서버에 접속할 때 이를 관리하는 기능도 수행한다.
- ▪️ 세션 게층에서는 데이터의 단위(메세지)를 전송 계층으로 전송할 순서를 결정하고, 데이터를 점검 및 복구하는 동기 위치(Synchronization Point)를 제공한다.
- ▪️ 또한 세션을 종료할 필요가 있으면 종료할 적절한 시간을 수신자에게 알려준다.
- ▫️ 표현 계층(6계층)
- ▪️ App, Layer에 대한 Data 전송 Syntax 협의
- ▪️ Data Format 결정, 구성 : 음성은 mp3, 영상은 mp4 등
- ▪️ Code 변환
- ▪️ 구문 변환(Emulator)
- ▪️ 압축(Compression)
- ▪️ 암호화(Encryption)
- ▪️ 데이터 표현 차이를 해결하려고 서로 다른 형식으로 변환하거나 공통 형식을 제공하는 계층이다.
- ▪️ 송신 측에서는 수신 측에 맞는 형태로 변환(ASCII코드 -> EBCDIC)하고, 수신 측에서는 응용 계층에 맞는 형태로 변환다.
- ▪️또한 그래픽 정보는 JPEG형태로, 동영상은 MPEG 형태로 변환하여 송수신하는 기능과 데이터 압축 및 암호화 기능을 제공한다.
- ▪️ 표현 계층과 응용 계층, 세션 계층 간의 관계를 보여준다. 표현 계층의 헤더에는 전송되는 데이터 유형과 전송 길이 등 정보가 포함된다.
- ▫️ 응용 계층(7계층)
- ▪️ 사용자에게 다양한 Network Service 제공(Electronic Mail-SMTP, File Transfer-FTP, 가상 터미널...)
- ▪️ User Authentication
- ▪️ 실질적인 프로그램을 나타냄
- ▪️ 파일 전송, 데이터베이스, 원격 접속, 이메일 전송 등 응용 서비스를 네트워크에 접속시키는 역할을 하며, 여러가지 서비스를 제공한다.
- ▪️ 사용자에게 정보를 입력 받아 하위 게층으로 전달하고, 하위 계층에서 전송한 데이터를 사용자에게 전달한다.
- ▪️실제로 통신의 최종 목적에 해당하는 가장 중요한 계층이다.
- ▪️ 응용 계층과 사용자(사람 또는 SW), 표현 계층 간의 관계를 보여준다. (응용 계층에서는 헤더와 트레일러가 추가되지 X)
📌OSI 7계층 간단요약
- ▫️ 물리 계층: 물리적으로 데이터를 전송하는 역할을 수행
- ▫️ 데이터 링크 계층: 물리적 전송 오류를 해결 (오류 감지 / 재전송 기능) ▪
- ▫️ 네트워크 계층: 올바른 전송 경로를 선택 (혼잡 제어 포함) ▪
- ▫️ 전송 계층: 송수신 프로세스 사이의 연결 기능을 지원 ▪
- ▫️ 세션 계층: 대화 개념을 지원하는 상위의 논리적 연결을 지원 ▪
- ▫️ 표현 계층: 데이터의 표현 방법
- ▫️ 압축: 전송되는 데이터의 양
- ▫️ 암호화: 전송되는 데이터의 의미
- ▫️ 응용 계층: 다양한 응용 환경을 지원
▶ OSI 참조 모델의 데이터 전송
- ▪️ OSI 참조 모델에서 데이터는 응용 계층에서 하위 게층으로 순차적으로 전송되는데, 물리 계층과 응용 계층을 제외한 나머지 계층에서는 데이터의 시작부분과 끝부분에 헤더나 트레일러 형태로 정보를 추가한다.
- ▪️ 시작 부분에 추가되는 헤더는 데이터 링크 계층(2계층), 네트워크 계층(3계층), 전송 계층(4계층), 세션 계층(5계층), 표현 계층(6계층)의 데이터에 추가되고, 끝부분에 추가되는 트레일러는 데이터 링크 게층(2계층)에만 추가된다.
- ▪️ 3~6계층: 헤더만 붙임
- ▪️ 2계층: 헤더 + 트레일러 붙임
[그림] OSI 참조 모델에서 데이터 전송(송신 측)
[그림] OSI 참조 모델에서 데이터 전송(수신 측)
- ▪️ 송신측 시스템에서 수신 측 시스템으로 데이터를 전송하는 도중에 많은 중간 노드를 거친다.
- ▪️ 실제 네트워크 프로토콜은 OSI 참조 모델의 7계층을 모두 사용하지 않고, 처음 세 계층(물리 계층, 데이터링크 계층, 네트워크 계층)만 사용한다. -> 네트워크 망에서 사용되는 계층
[그림] 서로 다른 시스템 간의 데이터 전송
- ▪️ 계층 7개는 서로 독립적이므로 어느 한 계층의 변경이 다른 계층에는 영향을 미치지 않는다. -> '모듈화'라는 개념/기능 덕분
- ▪️ 기능에 필요한 몇 개의 게층만 표준화하면 정상적으로 통신할 수 있다.
728x90