Changyu Lee

OSI 참조 모델

Published at
2024/10/27
Last edited time
2024/10/27 01:22
Created
2024/10/26 20:10
Section
CSE
Status
Done
Series
Lecture Notes
Tags
Lecture Summary
AI summary
Keywords
OSI
TCP/IP
Language
KOR

OSI 참조 모델

OSI 참조 모델

ISO에서 제정한 개방형 시스템 간 상호접속을 위해 표준화된 네트워크 구조를 제공하는 기본 참조 모델
이기종 간 상호접속을 위한 가이드라인을 제시하는 역할
7계층으로 이루어져 있고, 각 계층은 단계별로 필요한 기능을 모아둔 모듈로 구성되어 있고, 각 계층 간의 독립성을 유지하고 있음
시스템 간의 통신을 위한 표준 제공과 통신을 방해하는 기술적인 문제들을 제거함
단일 시스템 간의 정보교환을 하기 위한 상호 접속점을 정의함

계층 구조

OSI 참조모델의 N번째 계층에서 다른 시스템의 N번째 계층과 통신하기 위해서는 상하계층의 메시지와 더불어 프로토콜 제어 정보를 이용함
시스템 사이의 통신은 적절한 프로토콜을 이용한 해당 계층의 동등 프로세스를 통해 이뤄짐
계층 간의 통신
데이터를 주고받을 시 송신장치는 상위계층에서 하위계층으로 전달되고 수신장치는 하위계층에서 상위 계층으로 거슬러 올라감
각 계층의 인터페이스는 인접한 계층에 제공해야하는 정보와 서비스를 명확하게 정의해야함
계층마다 SDU에 PCI를 덧붙이는데 이는 전달하려는 데이터에 계층 고유의 헤더를 붙이는 것임.
헤더: 데이터 단위의 시작을 나타내는 표시. 목적지 주소 등을 포함함.
SDU: N+1 계층에 의해서 N계층과 계속해서 N-1계층으로 투명하게 전달되는 사용자 데이터
PCI: 네트워크의 다른 지역에 있는 같은 동등 계층에게 보내지는 정보이며 그 계층에게 어떤 서비스 기능을 수행하도록 지시하는 헤더
PDU(Protocol Data Unit): SDU와 PCI의 결합체
OSI에서 사용되는 PDU
ICI: 서비스 기능을 호출하기 위해서 N과 N-1계층 사이에서 전달되는 임시 매개 변수
IDU: PCI, SDU, ICI를 포함하는 계층 경계를 통과하여 전달되는 정보 전체의 단위
캡슐화/역 캡슐화
OSI 7계층의 캡슐화 과정
1.
응용 계층 (Application Layer): 사용자가 네트워크와 상호작용할 수 있도록 도와주는 계층으로, 데이터를 생성하여 다음 계층에 전달
2.
표현 계층 (Presentation Layer): 데이터를 압축하거나 암호화 등의 작업을 통해 전송 준비 상태로 만듦
3.
세션 계층 (Session Layer): 통신 세션을 설정하고 관리하며, 데이터 전송의 시작과 종료를 담당
4.
전송 계층 (Transport Layer): 데이터를 여러 개의 패킷으로 나누고, 각각에 TCP 또는 UDP 헤더를 추가
5.
네트워크 계층 (Network Layer): 패킷에 IP 헤더를 추가하여 목적지 주소와 같은 정보를 포함
6.
데이터 링크 계층 (Data Link Layer): 네트워크 계층에서 온 패킷에 MAC 주소를 포함한 프레임 헤더를 추가
7.
물리 계층 (Physical Layer): 데이터를 비트 형태로 변환하여 물리 매체를 통해 전송
위 과정을 통해 데이터는 캡슐화가 완료되며, 각 계층에서 새로운 헤더가 추가되면서 원본 데이터가 물리적 신호로 변환됨.
OSI 7계층의 역캡슐화 과정
1.
물리 계층 (Physical Layer): 물리 매체로부터 신호를 받아 비트 형태의 데이터로 변환
2.
데이터 링크 계층 (Data Link Layer): 프레임 헤더를 제거하여 MAC 주소를 확인하고, 데이터 링크 계층의 정보가 처리된 후 상위 계층으로 전달
3.
네트워크 계층 (Network Layer): IP 헤더를 제거하여 목적지 IP 주소를 확인하고, 데이터를 상위 계층으로 전달
4.
전송 계층 (Transport Layer): TCP 또는 UDP 헤더를 제거하여 세그먼트를 확인하고, 데이터의 순서와 신뢰성을 확인하여 상위 계층으로 전달
5.
세션 계층 (Session Layer): 세션 관리를 통해 통신이 정상적으로 이어질 수 있도록 지원
6.
표현 계층 (Presentation Layer): 데이터의 압축이나 암호화가 해제되어 원본 형태로 복원
7.
응용 계층 (Application Layer): 사용자에게 데이터를 전달하며, 최종적으로 데이터를 응용 프로그램이 사용할 수 있도록 함.
이 과정에서 데이터는 각 계층을 거치며 원래 형태로 복원됨

상/하층 간 통신 예시

OSI 7 계층별 상세 설명

물리계층 (1층)

가장 하위 계층에서는 상위 계층에서 내려온 데이터를 상대방까지 보낼수 있도록 송신지와 목적지간의 링크를 설정, 유지, 해제하기 위한 물리적, 전기적, 절차적인 특성을규정함
비트의 흐름을 전자기 또는 광 신호로 변환
신호, 부호화, 전송방식을 결정하는 층이며, 매체를 통해 신호 전송
DTE → DCE
데이터가 실제로 외부로 전송되는 계층임

데이터 링크 계층 (2층)

이웃하고 있는 노드 간의 데이터 전송을 담당
헤더와 트레일러를 덧붙임 (헤더 + 3계층 데이터 + 트레일러)
트레일러: 전송 에러를 검출하기 위한 에러 검출코드
HDLC: 점대점과 다중점 링크상에서 반이중 통신과 전이중 통신 둘 다 지원하도록 설계된 비트 중심의 프로토콜
데이터 링크 계층의 역할
접근제어: 특정 순간에 어느 시스템이 회선을 점유하는지를 결정하는 기능
흐름제어: 수신기의 노드에 도착하는 패킷의 양이 그 노드가 처리할 수 있는 양보다 많아지는 것을 막아주는 기능
오류제어: 오류가 발생한 프레임을 검출하고 이를 재전송 또는 보원하는 방법 등의 기능
동기화: 프레임의 도착을 수신국에 알리기 위한 비트를 포함. 타이밍을 조절
주소지정: 다음 차례로 접근할 노드의 물리주소를 포함

네트워크 계층 (3층)

개방형 시스템 사이에서 네트워크의 연결을 관리하고 유지하며 해제하는 기능
논리적 링크를 구성하며, 경로배정 서비스를 제공하는 계층 (스위칭 & 라우팅)
네트워크 계층의 역할
패킷 전달: 송신지로부터 수신지까지 패킷을 전달하는 기능
논리주소 지정: 송신지와 수신지의 IP를 헤더에 포함하여 전송하는 기능
라우팅: 송신지에서 수신지까지 데이터가 전송될 수 있는 여러 경로 중 가장 적절한 전송결로를 선택하는 기능
주소변환: 수신지의 네트워크 주소를 보고 다음으로 송신되는 노드의 물리주소를 찾는 기능을 제공
다중화: 하나의 데이터 회선을 사용하여 동시에 많은 상위 프로토콜 간의 데이터 전송을 수행하는 기능

전송계층 (4층)

네트워크 서비스와 사용자 서비스 간의 인터페이스 기능
네트워크 서비스 → 1~3 계층
사용자 서비스 → 5~7 계층
전송계층의 역할
종단간 메시지 전달: 최종 목적지까지의 데이터 전송을 의미하며 오류가 발생한 세그먼트의 처리도 담당
서비스 포트 주소 지정: 응용 프로그램을 실행 중인 컴퓨터에서 하위 계층으로부터 수신된 메시지를 해당되는 응용으로 전달하는 것을 보장
분할과 재조합: 전송 가능한 크기로 나누고, 각 세그먼트에 순서 번호를 표시
연결제어: 데이터를 안전하게 전송하기 위해 발신지와 목적지 사이의 논리적 통로인 연결을 만드는 기능
흐름제어: 종단과 종단간의 흐름제어를 통하여 신뢰성 있는 전달을 보장
오류제어: 송신측에서 전체 메시지가 수신측까지 오류가 없이 전달되었는지 확인

세션 계층 (5층)

특정한 한 쌍의 프로세스들 사이에어 세션이라 불리는 연결을 확립하고 유지하며 동기화
사용자 간의 데이터 교환을 조직화시키는 수단을 제공
세션 계층의 역할
세션 관리: 프로세스 사이의 세션을 연결 및 관리
동기화: 데이터 단위를 전송 계층으로 전송하기 위한 순서를 결정
대화 제어: 전이중 혹은 반이중 전송과 같은 데이터 전송 방향을 결정
원활한 종료: 데이터 교환이 세션을 종료하기 전 적절한 때에 완료되는 것을 보장

표현 계층 (6층)

송수신자가 고통으로 이해할 수 있도록 데이터 표현 방식을 바꾸는 기능 수행
비트들의 구조화 방식을 PDU 필드 내에서 정의
표현 계층의 역할
변환: 송신자가 사용하는 메시지의 형식을 전송에 사용할 수 있도록 상호간에 수용할 수 있는 형식으로 변환
암호화: 데이터 보안을 위해 암호화와 해독을 담당
압축: 전송을 보다 효율적으로 하기 위해 데이터를 압축하거나 압축해제
보안: 패스워드와 로그인 코드 확인

응용계층 (7층)

응용 프로세스가 네트워크 환경에 접근하는 수단을 제공
응용 프로세스들이 상호간에 유용한 정보 교환 가능
응용 계층의 역할
네트워크 가상 터미널: 물리적인 터미널의 SW 버전. 원격 시스템에 로그온이 가능
파일 접근, 전송 및 관리: 원격 시스템에서 다른 시스템의 파일에 접근 및 전송, 원격 시스템의 파일을 관리하거나 제어
우편 서비스: 전자우편의 발송과 저장을 위한 토대를 제공
디렉토리 서비스: 분산 DB의 자원들과 다양한 객체와 서비스 모델에 대한 여러 가지의 정보 접근 방법을 제공

TCP/IP

인터넷에서 사용하는 응용 프로그램은 대부분 TCP/IP 프로토콜을 이용하여 데이터를 교환함
TCP/IP를 지원하는 네트워크에 연결된 컴퓨터는 TCP/IP를 지원하는 SW만 있으면 문제없이 다른 기종의 컴퓨터와 통신 가능
TCP/IP는 모든 표준 및 임의 네트워크를 지원할 수 있음

네트워크 접속 계층

OSI 모델의 물리계층과 데이터 링크 계층에 해당. 특별하게 물리계층과 데이터 링크 계층을 정의하지는 않았음

네트워크 계층

OSI 모델의 네트워크 계층에 해당하며 인터넷 계층이라고도 함
네트워크의 패킷 전송을 제어하고 데이터를 전송할 때 경로를 선택.
IP는 네트워크의 주소 체계를 관리하고 데이터그램을 정의하며 전송에 필요한 경로를 결정
데이터그램: IP프로토콜에서 다루는 패킷 데이터

전송계층

OSI 모델의 전송계층에 해당되며 두 호스트 간의 데이터 전송을 담당하는 계층
TCP와 UDP 프로토콜을 사용함
네트워크 양단의 송수신 호스트 간에 신뢰성 있는 전송 기능을 제공하는 것을 목표로함
헤더의 오류코드에 대응할 수 있는 각종 정보가 들어있으며, 시스템의 논리 주소와 포트번호가 있어 각 상위 계층의 프로세스를 연결하며 통신함

응용계층

OSI 모델의 세션계층, 표현계층, 응용계층을 모두 결합하여 하나의 응용계층이 됨
이메일 프로토콜, 파일전송 프로토콜, 도메인명 시스템, 웹 프로토콜 등 다양한 프로토콜이 있음