상세 컨텐츠

본문 제목

[리팩토링_3주차] OSI 7 Layer

IT/리팩토링

by 인삼밭 고구마 2023. 1. 4. 07:00

본문

OSI 7 Layer란?

Open          개방형

System           시스템

Interconnection    상호접속

의 약어로

통신망을 통한 상호접속에 필요한 통신 절차를 정의하고

이 가운데  비슷한 기능을 제공하는 모듈을 동일계층으로 분할하여

모두 7 계층으로 나눈 것으로 

즉, 하나의 기기에서 다른기기로 데이터가 전송될 때

데이터 생성 및 전송과정을 7 계층으로 표준화한 모델

 

 

OSI 7 Layer의 탄생 배경

▶1980년대 컴퓨터를 이용한 통신망이 점점확산

▶여러 업체가 자신의 업체 장비끼리만 연결되어 호환성이 없음

▶여러 업체가 만든 시스템에 대해 상호연동이 가능한 표준 네트워크모델의 필요성 인식

▶1984년 ISO(국제 표준화 기구)에서 OSI네트워크 모델 발표

 

 

OSI 7 Layer의 목적 및 특징

 

▶표준화함으로써 장비별로 이질적인 포트, 프로토콜의 문제를 해결

▶OSI 계층별 기능과 통신의 과정의 정립하여 교육에 용의

▶어느 제조사의 장비를 써도 원활한 통신이 가능

▶기능을 Layer로 나눔으로써 자료 전송 절차를 쉽게 파악

▶Layer로 나눠져 있음으로 Layer변경에 있어 다른 Layer에 영향을 주지 않음

   (즉, 문제 발생 시 문제가 생긴 Layer만 점검 및 개선 가능 → 비용절감)

 

 

OSI Layer의 구조

 

위 표와 같이 A에서 B로 데이터를 보내고자 할 때

송신지의 응용계층부터 물리계층으로 데이터를 캡슐화하여

수신지의 물리계층부터 응용계층까지 역캡슐화를 진행하여 

A에게서 B로 데이터가 수신되게 되는데

 

이때

캡슐화(Encapsulation)

송신지인 응용계층에서 발생한 데이터를 하위계층으로 이동시키면서 각 계층에서 처리한 결과를 캡슐화하는 과정으로

, 데이터를 전송할 때 각각의 레이어마다 인식할 수 있는 헤더를 붙이는 과정

 

반대로

역캡슐화(Decapsulation)

수신지의 물리계층에서 인식한 데이터를 상위계층으로 이동시키면서 각 계층에서 처리가능한 상태로 만드는 과정으로 즉 데이터가 각각의 레이어를 따라 올라가면서 헤더를 제거하는 과정

 

헤더(header)

각 계층의 수행정보를 말하며 송신지나 수신지에 대한 정보와 해당 프로토콜이 전송하고 있는 데이터에 관한 정보를 담고 있음

 

 

 

 

L7 응용 계층(Application Layer)

 

▶사용자나 응용프로그램 사이에 데이터 교환이 가능하게 하는 계층

▶응용프로세스와 직접 관계하여 일반적인 응용서비스를 수행함

▶우리가 흔히 사용하는 프로그램, 어플리케이션이 해당

▶프로토콜 : HTTP, FTP, SMTP, DHCP, Telnet 등

▶전송단위 : message, date

 

 

 

L6 표현 계층(Presentation Layer)

 

▶코드 간의 번역을 담당하고 있는 계층

▶데이터를 어떻게 표현할지 정하는 역할

▶응용계층으로부터 받은 데이터를 읽을 수 있는 형식으로 변환

▶데이터의 암호화, 복호화, 압축, 변환, 기능을 수행

▶전송단위 : message, date

 

암호화(encoding)이란

일반 평문을 의미 없는 다른 문자로 만들어

데이터가 중간에 유출되더라도 원문을 이해할 수 없게 만드는 것 

 

복호화(decoding)이란

암호화된 것을 평문으로 풀어내는 것

 

 

 

L5 세션 계층(Session Layer)

 

세션(Session)이란

통신의 시작부터 유지~종료까지 일련의 과정

 

▶응용프로그램 간의 세션을 관리

▶모든 통신 장치 간의 연결을 설정하고 관리 및 종료

▶송신자와 수신자 간의 통신을 위하여 동기화 신호를 주고받음

▶통신 방식[단순(라디오), 반이중(무전기), 전이중방식(전화기)]을 결정

▶체크포인트 설정(세션의 복구 지원)

▶전송단위 : message, date

 

 

 

L4 전송 계층(Transport Layer)

 

송신자와 수신자 간의 논리적 연결을 수행

양 끝단(End to end)의 사용자들이 신뢰성 있는 데이터를 주고받게 함

상위 계층들이 데이터 전달의 유효성이나 효율성을 신경 쓰지 않게 함

▶단말(Endpoint) 간 전달 데이터의 오류를 제어(시퀀스 넘버 기반)

데이터 전송을 위해 Port번호를  사용

▶전송단위 : Segment

▶프로토콜 : TCP, UDP

 

 

 

L3 네트워크 계층(Network Layer)

 

▶여러 노드를 거칠 때마다 경로를 찾아주는 역할

▶수신자의 IP주소를 기반으로 라우터가 경로를 제공

Packet이 최종목적지까지 가는 경로와 통신량을 제어

전송단위 : Packet

 

 

 

L2 데이터 링크 계층(Data Link Layer)

 

▶물리계층을 통해 전달되는 전기적 신호를 데이터로 변환

▶변환 시 발생하는 오류와 흐름을 제어하여 안전한 정보전달을 도움

▶물리적 장치를 식별하는 데 사용 가능한 주소 지정체계를 제공

▶MAC 주소를 통해 통신

▶전송단위 : Frame

 

 

 

L1 물리계층(Physical Layer)

 

▶장치 간 물리적 접속과 신호의 송수신만 관여

▶대표적 장비 : 리피터, 허브

전송단위 : Bit(1 or 0, On Off)

 

 

관련글 더보기