본문 바로가기

System/Network

[네트워크 기초] OSI 7계층모델 (7Layer-model for OSI)

반응형

1. OSI 7계층 모델이란?

모든 네트워크 통신에서 생기는 여러가지 충돌 문제를 완화하기 위하여, 국제표준기구(ISO)에서 표준화된 네트워크 구조를 제시한 기본 모델을 말한다.

통신망을 통한 상호접속에 필요한 제반 통신절차를 정의하고 이 가운데 비슷한 기능을 제공하는 모듈을 동일계층으로 분할하여 모두 7계층으로 분할한 것이다.

이는 통신기능을 7개의 수직계층으로 분할하여 각 계층마다 다른 계층과는 무관하게 자신의 독립적인 기능을 지원하도록 구성하였다. 각각의 계층을 다른 계층과 독립적으로 구성한 것은 한 모듈에 대한 변경이 전체 모듈에 미치는 영향을 최소화하기 위해서이다. , 일부 모듈의 변경이 있는 경우에 전체 모듈을 변경하는 대신 변경이 있는 해당 모듈만을 바꾸면 되도록 하였다.

이러한 계층은 크게 통신망 기능을 제공하는 계층, 응용기능을 제공하는 계층 그리고 이들 사이를 연결해 주는 전송계층으로 나누어지며 세부적으로 살펴보면 각 계층은 최상위 계층인 응용계층(application layer)으로부터 시작하여 표현계층(presentation layer), 세션계층(session layer), 전송계층(transport layer), 네트워크 계층(network layer), 데이터 링크 계층(data link layer) , 물리계층(physical layer)으로 구분되고, 각 계층마다 특정한 서비스를 제공함과 아울러 이를 위한 프로토콜들이 존재한다.

 

2. 데이터 단위 전송

각 계층은 헤더(Header)와 데이터 단위(PDU)에 의해 정의

[ PDU(Protocol Data Unit) - 데이터 단위 ] 

데이터링크계층 - 프레임(Frame)

네트워크계층 - 패킷(Packet)

전송계층 - 세그먼트(Segment)

각 계층마다 헤더가 붙고 다음 계층으로 전송될 때 해당 헤더가 계속 붙는 것을 캡슐화(Encapsulation)이라고 함

 

3. 다른 시스템 간의 데이터 전송

- 물리계층 - 허브

- 데이터링크계층 - 스위치

- 네트워크계층 - 라우터

 

실제 네트워크 프로토콜은 OSI 모델의 7계층을 모두 사용하지 않고, 첫 세 계층(물리, 데이터링크, 네트워크 계층)과만 관련됨

 

4. 계층 설명

 

1) 물리 계층

물리 계층은 두 시스템 간의 데이터 전송을 위해 링크를 활성화하고 관리하기 위한 기계적, 전기적, 기능적, 절차적 특성 등을 정의한다. 또한 허브, 라우터, 네티워크 카드, 케이블 등의 전송 매체를 통해 비트(Bit)들을 전송한다.

 

1.1) 개념

OSI 모델의 최하위 계층에 속하며, 상위 계층에서 전송된 데이터를 물리 매체를 통해 다른 시스템에 전기적 신호를 전송한다.

 

1.2) 특성

기계적 특성 - 시스템과 주변장치를 연결하기 위한 정의

전기적 특성 - 두 시스템 간 상호 접속 회로의 전기적인 특성 등을 정의

기능적 특성 - 상호 접속 회로의 기능을 정의, CCITT 권고안 V.24

절차적 특성 - 데이터 전송을 위한 순서를 정의, CCITT 권고안 X.20, X.21

물리 계층은 물리적 매체를 통해 비트 흐름을 전송하기 위해 요구되는 기능들을 조정한다. 또한 네트워크 상에 있는 두 시스템을 물리적으로 연결시켜 주는 신호 방식 등을 다루며, 데이터 링크 계층으로부터 비트열의 데이터를 받고 통신 링크(전송매체)를 따라 전송될 수 있는 형태로 변환한다.

 

1.3) 기능

회선 구성 - 점대점, 다중점

데이터 전송 모드 - 단방향, 양방향, 전이중, 반이중

접속 형태 - 성형, 버스형, 트리형

전송매체 유형 - UTP, 공기, 동축케이블

 

 

 

2) 데이터 링크 계층

물리적 링크를 통해 데이터를 신뢰성 있게 전송하는 계층으로, 네트워크를 통해서 데이터가 전송될 때 전송로 역할을 한다. 데이터 링크 계층에서는 비트들을 프레임이라는 논리적 단위로 구성하는데, 전송하려는 데이터에 인접하는 노드(시스템)의 주소가 더해진다. 이 주소는 최종 수신지의 주소가 아니라 전송되는 다음 노드의 주소가 된다. 또한 물리 계층에서 발생할 수 있는 오류를 검출하고 복구하는 오류제어, 흐름 제어 등을 담당하며 과도한 양의 데이터가 한 번에 전송되지 않도록 데이터의 양을 조절한다.

 

2.1) 개념

시스템 간에 오류 없는 데이터 전송을 위하여 네트워크 계층에서 받은 데이터 단위(패킷)를 프레임으로 구성하여 물리 계층으로 전송한다. 네트워크 계층으로부터 데이터 단위를 받아서 주소와 제어 정보 같은 의미 있는 비트들을 시작 부분(헤더)과 끝 부분(트레일러)에 추가한다. 이와 같은 추가적인 정보를 가지고 있는 데이터를 프레임이라고 한다.

 

2.2) 기능

- 주소 지정 : 이 계층에서 추가된 시작과 끝 부분은 가장 최근에 데이터가 지나온 노드(시스템)와 다음 접근할 노드의 물리적인 주소를 포함한다.

- 순서 제어 : 데이터의 순차적 전송을 위해 프레임 번호 부여 기능을 수행한다. 수신 노드에서 식별 번호를 추가하여 프레임의 순서를 제어한다.

- 흐름 제어 : 데이터 링크 계층은 한 번에 전송될 수 있는 데이터의 양을 조절할 수 있다. 연속적인 프레임 전송 시 수신 여부의 확인 기능을 수행한다.

- 오류 처리 : 오류 검출과 정정 기능을 수행한다. 오류가 발생한 프레임 재전송을 요구할수 있다.

- 프레임 : 데이터 전송시 처리가 용이하도록 프레임 다누이로 전송하는 기능을 수행한다.

- 동기화 : 헤더에는 수신측에 프레임이 도착했다는 것을 알리기 위한 비트들이 있고, 트레일러에는 프레임의 끝을 나타내는 비트, 오류 제어를 위한 비트 등이 있다.

 

3) 네트워크 계층

상위 계층에 연결하는 데 필요한 데이터 전송과 경로 선택 기능을 제공하고, 라우팅 프로토콜을 사용하여 최적의 경로를 선택한다. 데이터를 패킷(Packet)단위로 분할하여 전송한 후 재결합한다.

 

3.1) 개념

패킷을 송신측으로부터 수신측으로 전송한다. IP(Internet Protocol)와 같이 실제 네트워크 장비들이 가지고 있는 주소의 동작에 대한 설명이다. 네트워크 계층의 가장 큰 특징 중 하나는 라우터가 수신지 IP 주소를 보고 경로를 결정하는 일(라우팅)이며, 수많은 네트워크와 인터넷을 통해 데이터를 전송할 때 계속해서 참조되는 계층이다.

데이터 링크 계층이 인접하는 두 노드 간의 전송을 담당하는 반면에, 네트워크 계층은 각 패킷이 송신지에서부터 최종 수신지까지 정확하게 전송되도록 경로를 책임진다.

네트워크 계층에서는 논리 주소인 IP 주소를 헤더에 포함하여 전송하기 때문에 송신지에서 수신지까지 주소가 변경되지 않고 유지된다. 네트워크 계층은 라우팅 관련 서비스를 제공하는데, 라우팅이란 송신지엣 수신지로 패킷을 보낼 때 단일 또는 복수의 경로가 생길 수 있다. 복수의 경로일 경우 라우터의 동작 특성상 최적의 경로를 찾는다.

2계층 주소와의 차이는 2계층 주소는 한 노드에서 다음 노드로 프레임이 이동함에 따라 변경되는 현재 그리고 다음 노드의 물리 주소일 뿐이다. 반면에 네트워크 계층 주소들은 송신지와 최종 수신지의 주소로서 전송 도중에 바뀌지 않는다.

 

3.2) 기능

- 논리 주소(IP) 지정 : 송신지와 수신지 주소를 헤더에 포함시킨다.

- 라우팅 : 다양한 경로 중 패킷의 경로를 설정한다.

- 주소 변환 : 대응하는 물리 주소를 찾기 위해 논리 주소를 해석한다.

- 다중화 : 하나의 물리적 회선만을 사용해 많은 장치들에 데이터를 동시에 전송한다.

- 패킷 순서 제어 : 도착되는 패킷의 순서를 바로잡아 상위 계층의 데이터를 재구성하기 위해 사용한다.

 

4) 전송계층

전송계층은 프로토콜(TCP, UDP)과 관련된 계층으로 오류 복구, 흐름 제어 등을 담당하며 두 시스템 간의 신뢰성 있는 데이터 전송을 보장한다.

 

4.1) 개념

시스템 종단 간에 투명한 데이터 전송을 양방향으로 행하는 계층이며, 네트워크 계층에서 전송된 데이터와 실제 운영체제의 프로그램이 연결되는 통신 경로라 할 수 있다.

전송 계층에서는 전체 데이터가 수신측에 올바르게 전송되도록 보장하는 역할을 하며, 수신한 데이터의 순서를 재설정하고 오류가 난 패킷이 있으면 재전송할 수 있다.

전송 계층의 데이터 헤더에는 포트 주소 또는 소켓((Socket)=IP+Port) 주소라 불리는 주소를 포함한다. 헤더에는 순서 혹은 세그먼트 번호가 포함된다.

 

4.2) 기능

- 연결 제어 - 패킷을 하나의 경로로 보낼 것인지 결정

- 수신지로의 데이터 전달 - 수신지에서 데이터의 모든 패킷의 전송과 도착을 검사

- 단편화 - 데이터를 전송 가능한 단편들(세그먼트)로 나누고 순서 번호를 기록

- 재조립 - 순서 번호는 수신지의 전송 계층에서 데이터를 올바르게 재조립

 

5) 세션 계층

세션 계층(Session Layer)은 응용 프로그램 계층 간의 통신에 대한 제어 구조를 제공하기 위해 응용 프로그램 계층 사이의 접속을 설정, 유지, 종료시켜주는 역할을 한다.

 

5.1) 개념

5계층에 속하며, 통신 장치들 간의 설정을 유지하며 동기화한다.

 

5.2) 기능

동기화 - 어떤 순서로 전송 계층으로 전송할지를 결정하고, 전송 시 수신자로부터의 확인 이 요구되는 곳이 어디인지를 결정

세션 연결의 설정과 종료 - 세션 연결의 설정과 종료 및 관리에 대한 절차를 규정

대화 제어 - 누가 언제 보내는지를 결정

 

 

 

 

6) 표현 계층

데이터의 표현의 차이를 해결하기 위해 서로 다른 형식을 변환해주거나 공통 형식을 제공하는 계층이다. 송신측에서는 수신측에 맞는 형태로 변환(아스키코드=>EBCDIC)하고, 수신측에서는 응용 계층에 맞는 형태로 변환한다. 또한, 그래픽 정보를 JPEG 형태로, 동영상을 MPEG 형태로 변환하여 송수신하는 기능, 데이터 압축 및 암호화 기능을 제공한다.

 

6.1) 개념

송신측과 수신측 사이에서 표준화된 데이터의 형식에 대해 규정한다.

 

6.2) 기능

암호화 - 데이터 보안을 위해 암호화와 복호화를 수행.

압축 - 효율적으로 전송하기 위한 데이터 압축과 압축해제를 수행.

코드 변환 - 전송에 사용할 수 있도록 메시지(데이터)의 형식을 상호 간에 수용할 수 있는 형식으로 변환한 후 수신지에서 수신자에 의해 이해되는 형식으로 변환한다.

 

7) 응용 계층(프로토콜)

파일 전송, 데이터 베이스, 원격 접속, 메일 전송 등 응용 서비스를 네트워크에 접속시키는 역할을 담당하며 여러 가지 서비스를 제공한다.

 

7.1) 개념

실제 통신의 최종 목표에 해당하는 가장 중요한 계층이다. 응용 프로세스(사용자, 응용 프로그램)가 네트워크에 접근하는 수단을 제공하여 서로 간에 데이터를 교환할 수 있는 창구 역할을 한다. 또한 사용자 인터페이스를 제공하며, 파일 전송에 사용되는 FTP, 이메일 전소에 사용되는 SMTP, POP3, 브라우저를 사용해서 웹 서버에 접속할 때 사용하는 HTTP 등 실제 응용 프로그램에서 사용하는 프로토콜들이 응용 계층에 해당한다.

 

7.2) 기능

파일 접근 및 전송 - 원격에서 다른 호스트 파일에 접근할 수 있게 하고, 원격 컴퓨터로부터 파일을 가져오고, 원격 컴퓨터의 파일을 관리하거나 제어한다.

이메일 서비스 - 메일의 발송과 저장을 위한 토대를 제공한다.

 

반응형