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