계층구조
계층 구조는 네트워크 뿐만 아니라 운영체제 등 다양한 분야에서 적용된다. 계층 구조를 사용하는 목적은 분할 정복(Divide and Conquer)
때문이다. 어떠한 복잡한 문제를 해결하고자 할 때, 나누어 생각하면 쉽게 해결할 수 있다는 취지인 것이다.
계층 구조의 또다른 특징은 위, 아래 층으로만 이동할 수 있다는 점이다. 건너뛰어 한번에 맨위 또는 아래로 갈 수 없다.
OSI(Open System Interconnection)참조 모델의 개요
OSI 참조 모델은 다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약(Protocol)이다.
- 개방형 시스템(Open System)간의 데이터 통신 시 필요한 장비 및 처리 방법 등을 7단계로 표준화하여 규정했다.
- OSI 7계층은 1~3 계층을 하위 계층, 4~7 계층을 상위 계층이라고 한다.
- 하위 계층: 물리 계층 -> 데이터 링크 계층 -> 네트워크 계층
- 상위 계층: 전송 계층 -> 세션 계층 -> 표현 계층 -> 응용 계층
OSI 참조 모델의 목적
- 서로 다른 시스템 간을 상호 접속하기 위한 개념을 규정한다.
- OSI 규격을 개발하기 위한 범위를 정한다.
- 관련 규정의 적합성을 조절하기 위한 공통적 기반을 제공한다.
OSI 참조 모델에서의 데이터 단위
프로토콜 데이터 단위(Protocol Data Unit, PDU)
프로토콜 데이터 단위는 동일 계층 간에 교환되는 정보의 단위이다.
- 물리 계층: 비트
- 데이터 링크 계층: 프레임
- 네트워크 계층: 패킷
- 전송 계층: 세그먼트
- 세션, 표현, 응용 계층: 메시지
서비스 데이터 단위(Service Data Unit)
서비스 데이터 단위는 서비스 접근점(SAP)을 통해 상,하위 계층끼리 주고받는 정보의 단위이다.
- 서비스 접근 점(SAP)
- 상위 계층이 자신의하위 계층으로부터 서비스를 제공받는 점(Point)을 말한다.
- OSI 7계층의 각 계층들은 자신의 하위 계층으로부터 서비스를 제공받는다. 이때 하위 계층과 상위 계층의 통신 경계점을 서비스 접근점(SAP)라고 한다.
1계층: 물리 계층(Physical Layer)
물리 계층은 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의한다.
상위 계층에서 전송된 데이터를 물리 매체(허브, 라우터, 케이블 등)를 통해 다른 시스템에 전기적 신호를 전송하는 역할을 한다.
- 물리적 전송 매체와 전송 신호 방식을 정의하며 RS-232C, X.21 등의 표준이 있다.
- 관련 장비: 리피터, 허브
2계층: 데이터 링크 계층(Data Link Layer)
데이터 링크 계층은 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 한다.
네트워크 기기들 사이의 데이터 전송을 하는 역할을 한다. 시스템 간의 오류 없는 데이터 전송을 위해 패킷을 프레임으로 구성하여 물리계층으로 전송한다. 3계층인 네트워크 계층에서 정보를 받아 주소와 제어정보를 헤더와 테일에 추가한다.
- 송신 측과 수신 측의 속도 차이를 해결하기 위한 흐름 제어 기능을 한다.
수신 측에서 너무 많은 데이터를 보내면 송신 측에서는 데이터가 버퍼에 쌓이다가 버퍼사이즈 이상의 데이터가 들어오면 데이터의 손실이 발생한다. 따라서 데이터 링크 계층은 데이터를 받는 측의 처리 속도가 느릴때 데이터를 전송하는 측의 속도를 조정한다.
- 프레임의 시작과 끝을 구분하기 위한 프레임의 동기화 기능을 한다.
물리 계층이 제공하는 비트 스트림은 오류가 존재할 수 있다. 수신된 비트의 수가 송신된 비트의 수보다 작거나, 같거나 또는 더 클 수 있으며 이들은 상이한 값을 가질 수도 있다.
따라서 데이터 링크는 이러한 오류를 찾아내고 필요한 경우 수정하는 기능을 해야 한다. 그렇게 하기 위해서, 데이터 링크는 프레이밍을 실시한다. 데이터를 프레임(frame)으로 그룹화하여 전송하는 것이다.
즉 프레이밍은 물리계층에 의해 제공된 비트 스트림을 분리된 프레임으로 나누는 것이다. 그리고 각 프레임에 대해 체크섬(checksum)을 계산한다. 그리고 프레임이 목적지에 도달하였을 때 그 체크섬은 다시 계산된다. 만약 새롭게 계산된 체크섬이 사전에 프레임에 기록되어 있는 체크섬과 다르다면 데이터 링크 계층은 오류가 발생함을 알 수 있고 이를 수정하는 과정을 거친다.
- 오류의 검출과 회복을 위한 오류 제어 기능을 한다.
오류제어로는 패리티 검사, 체크섬, 순환중복검사등이 있다.
- 프레임의 순서적 전송을 위한 순서 제어 기능을 한다.
- HDLC, LAPB, LLC, MAC, LAPD, PPP 등의 표준이 있다.
- 관련 장비: 랜카드, 브리지, 스위치
3계층: 네트워크 계층(Network Layer, 망 계층)
네트워크 계층은 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 한다.
데이터그램이 가는 경로를 설정해주는 역할을 한다.
라우팅 알고리즘을 사용하여 최적의 경로를 설정하고 송신측으로부터 수신측으로 전송한다.
- 라우팅
어떤 네트워크 안에서 통신 데이터를 보낼 경로를 선택하는 과정
이 때, 전송되는 데이터는 패킷단위로 분할하여 전송한 후 다시 합쳐진다. 2계층이 노대 노드 전달을 감독한다면, 3계층은 각 패킷이 목적지까지 성공적이고 효과적으로 전달되도록 한다.
- 네트워크 연결을 설정, 유지, 해제하는 기능을 한다.
- 경로 설정(Routing), 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송을 수행한다.
- X.25, IP등의 표준이 있다.
- 관련 장비: 라우터
4계층: 전송 계층(Transport Layer)
전송 계층은 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템(End-to-End) 간에 투명한 데이터 전송을 가능하게 한다.
발신지에서 목적지간 제어와 에러를 관리한다. 패킷의 전송이 유효한지 확인하고 전송에 실패된 패킷을 다시 보내는 것과 같은 신뢰성있는 통신을 보장하며, 헤드에는 세그먼트가 포함된다. 주소 설정, 오류 및 흐름 제어, 다중화를 수행한다.
- OSI 7계층 중 하위 3계층과 상위 3계층의 인터페이스를 담당한다.
- 종단 시스템 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능을 한다.
- 주소 설정, 다중화(분할 및 재조립), 오류 제어, 흐름 제어를 수행한다.
- TCP, UDP 등의 표준이 있다.
- 관련 장비: 게이트웨이
5계층: 세션 계층(Session Layer)
세션 계층은 송, 수신 측 간의 관련성을 유지하고 대화 제어를 담당한다.
포트 번호를 기반으로 연결한다.
- 대화 구성 및 동기 제어, 데이터 교환 관리 기능을 한다.
- 송, 수신 측 간의 대화 동기를 위해 전송하는 정보의 일정한 부분에 체크점을 두어 정보의 수신 상태를 체크하며, 이때의 체크점을 동기점(Synchronization Point)이라고 한다.
- 동기점은 오류가 있는 데이터의 회복을 위해 사용하는 것으로 종류에는 소동기점과 대동기점이 있다.
세션(Session)
세션이란 두 이용자 사이의 연결을 의미한다. 세션 계층은 연결을 원하는 두 이용자 사이의 세션 설정 및 유지를 가능하게 해줌으로써 두 이용자 간의 대화를 관리하고, 파일 복구 등의 기능을 지원한다.
6계층: 표현 계층(Presentation Layer)
표현 계층은 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환하고, 세션 계층에서 받은 데이터는 응용계층에 맞게 변환하는 기능을 한다.
송신측과 수신측 사이에서 데이터의 형식(png, jpg, jpeg...)을 정해준다. 받은 데이터를 코드 변환, 구문 검색, 암호화, 압축의 과정을 통해 올바른 표준방식으로 변환해준다.
- 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층이다.
- 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식 변환, 문맥 관리 기능을 한다.
7계층: 응용 계층(Application Layer)
응용 계층은 사용자(응용 프로그램)가 OSI 환경에 접근할 수 있도록 서비스를 제공한다.
- 응용 프로세스 간의 정보 교환, 전자 사서함, 파일 전송, 가상 터미널 등의 서비스를 제공한다.
TCP/IP 모델
인터넷 프로토콜 스택(Internet Protocol Stack)은 현재 대부분 TCP(Transmission Control Protocol)/IP 를 따른다.
TCP/IP는 인터넷 프로토콜 중 가장 중요한 역할을 하는 TCP와 IP의 합성어로 데이터의 흐름관리, 정호가성 확인, 패킷의 목적지 보장을 담당한다. 데이터의 정확성 확인은 TCP가, 패킷을 목적지까지 전송하는 일은 IP가 담당한다.
- TCP/IP의 4계층
TCP/IP는 OSI참조 모델과 달리 표현계층, 세션계층을 응용계층에 다 포함시키고 있다. TCP/IP 모델에서는 응용 계층(Application Layer)에서 응용 계층, 표현 계층, 세션 계층의 구현을 다 하고 있다.
데이터는 아래 그림과 같이 단계별로 헤더(Data -> Segment -> Datagram -> Frame)를 붙여 전송하며 이를 데이터 캡슐화
라고 한다.
출처