Programming/기타

OSI 7 Layer 개념정리

뚜기짱 2023. 4. 4. 10:42

 

OSI (Open System Interconnection) 개방형 시스템 상호연결

네트워크에서 통신이 일어나는 과정을 7단계로 나누어 계층간 상호 작동방식을 정해 놓은것

 

Background

80년대 컴퓨터 통신망이 확산되면서 다양한 제조사에 따른 호환문제가 대두됨

1984년 국제 표준화 기구에서 원할한 통신을 수행하기 위해  OSI7 모델을 제시하고 이 표준이 지키짐으로서 다른 제조사의 시스템이라도 네트워크 유형에 관계없이 상호 통신이 가능해짐

=> 통신이 일어나는 과정을 단계별로 파악할 수 있음

=> 흐름을 한눈에 알아보고 사람들이 이해하기 쉬움

=> 문제 발생시 다른 단계의 장비 및 소프트웨어를 건들지 않고 문제 발생 단계만 고칠 수 있음

 

계층의 캡슐화와 디 캡슐화

통신을 한다는 것은 클라와 서버가 데이터를 주고받는다는 것 데이터는 각 계층을 거쳐 전달된다.

이때 각 계층이 인식할수 있도록 각 계층마다헤더라는것을 덧붙이게 됨.

이 과정은 데이터 전송과정에서 일어나고, 캡슐화라고 한다

반대로 데이터를 받을 때도 7계층을 거쳐 도달되며, 캡술화된 데이터를 받게된다.

이때 헤더가 하나씩 벗겨지는 과정을디캡슐화라고 한다.

 

 

1~3계층을 하위계층 : 하드웨어, 데이터 전송 담당, 다른 디바이스로 전송

4~7계층을 상위계층 : 소프트웨어, 데이터 처리 담당, 사람이 알아볼 수 있는 데이터를 컴퓨터가 처리하는 방식의 데이터로 변환

 

1Layer  물리계층 : 데이터를 물리적 장치간 전달하는 계층

캡슐화가 완료된 데이터를 전기신호로 바꾸어 전송하는 역할

도달한 데이터를 2진수의 전기신호로 바꾸어 전송하는 역할

이 계층에서는 단지 데이터를 전달만 할뿐 전송하려는 데이터가 무엇인지, 어떤 에러가 있는지 등에는 관여하지 않음

관련 장비 : 통신 케이블, 리피터, 허브

 

2Layer 데이터링크 계층 : 안전한 정보의 전달을 수행할 수 있도록 도와주는 계층

Point to Point 간 신뢰성 있는 전송을 보장하기 위한 계층으로서 물리계층올 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보 전달을 수행. 따라서 통신에서의 오류를 찾아주고 재전송 하는 기능을 가짐.

맥 주소를 가지고 통신된다

관련장비 : 스위치, 브릿지

 

MAC Adress : 컴퓨터간 데이터를 전송하기 위해 있는 컴퓨터의 물리적 주소

다른이름은 하드웨어 주소, 기계의 고유번호, 식별번호, 하드웨어를 구분하기 위한 주소.

-       MAC Adress는 데이터링크 계층에서 사용되는 물리적인 주소로서 NIC(랜카드) 제조시 입력되어 바뀌지 않는 주소를 가지고 있다.

-       다른 컴퓨터와 통신하기 위해서 IP주소를 사용하지만 IP주소를 맥 주소로 바꾸어 사용하기 때문에 IP주소를 사용한다는 것은 맥 주소를 사용한다는 것, IP 통신 내부에 맥 주소 통신이 포함되어 있음

-       시작점과 끝점에 가기 위해서는 사이사이 노드들을 거쳐 데이터가 전달되어야 함. 미국에 있는 컴퓨터에 전달하기 위해서는 순간이동이 아니라 중간중간 거점을 거쳐 이동. 이웃노드들간의 통신이 되어야(데이터링크) 멀리 있는 노드에게도 통신이 가능(네트워크계층)

-       라우터 스위치 등 모든 통신장비에 붙어있다.

 

IP Adress

-       네트워크 계층에서 사용되며 주소는 변동될 수 있다.

-       전체적인 맵을 보고 방향을 알려주는 것 최종 위치에서 MAC Adress로 전환

-       집 주소체계와 동일 계층구조 네트워크 IP주소는 컴퓨터가 사용하기 위한 주소

 

3Layer  네트워크 계층데이터를 목적지까지 안전하고 빠르게 전달하는 계층

데이터를 목적지까지 전달하기까지 가장 빠른 경로를 선택하고 주소를 정하여 데이터를 전달한다

데이터를 연결하는 다른 네트워크를 통해 전달함으로서 인터넷이 가능하게 만드는 계층

프로토콜의 종류, 라우팅 기술도 다양함.

다양한 길이의 데이터 전달 과정에서 전송계층이 요구하는 서비스 품질을 제공하기 위한 기능적, 절차적 수단을 제공한다.

라우팅, 흐름제어, 세그멘테이션, 오류제어, 인터네트워킹 등을 수행한다

 

관련장비 : 라우터

 

4Layer 전송 계층통신을 활성화하기 위한 계층

종단간 통신을 다루는 최하위 계층으로 종단간 신뢰성 있고 효율적인 데이터를 전송하며, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다

오류검출 및 복구와 흐름제어, 중복검사등을 수행한다.

 

TCP 프로토콜 : 신뢰성, 연결지향 프로토콜 => 파일전송

-       OSI 계층모델의 관점에서 전송 계층(4계층)에 해당

-       IP의 비신뢰적인 최선형 서비스에다가 신뢰적인 연결지향성 서비스를 제공하게 됨

-       패킷 손실, 중복, 순서바뀜등이 없도록 신뢰적인 전송을 보장함

-       TCP는 느슨한 연결(Loosly Connected)가짐으로 강한 연결을 의미하는 가상회선이라는 표현 보다는 연결지향적이라고 표현함 연결 관리를 위한 연결설정 및 연결해제 필요

-       양단간 어플리케이션/프로세스는 TCP가 제공하는 연결성 회선을 통하여 서로 통신

-       UDP보다 속도가 느림

 

UDP 프로토콜 : 비신뢰적, 비연결 지향 프로토콜 => 스트리밍

-       신뢰성이 낮은 프로토콜로써 완전성을 보증하지 않으나가상회선을 굳이 확립할 필요가 없고 유연하며 효율적 응용의 데이타 전송에 사용

-       메세지가 제대로 도착했는지 확인하지 않음 / 수신된 메세지의 순서를 맞추지 않음 / 흐름 제어를 위한 피드백을 제공하지 않음 / 검사합을 제외한 특별한 오류 검출 및 제어 없음

-       UDP를 사용하는 프로그램 쪽에서 오류제어 기능을 스스로 갖추어야 함

-       빠른 요청과 응답이 필요한 실시간 응용에 적합,

-       여러 다수 지점에 전송 가능

-       헤더가 단순하기 때문에 헤더 처리시간에 많은 시간과 노력을 요하지 않음

 

5Layer 세션계층 : 통신을 하기위한 대문, 데이터가 통신하기 위한 논리적인 연결

양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공

컴퓨터간 대화 및 세션 관리, 포트연결, 통신장치간에 연결을 설정하고 관리 종 TCP/IP 세션을 만들고 없애고 통신하는 사용자들을 동기화하고 오류 복구 명령들을 일괄적으로 다루며 통신을 하기위한 세션확립, 유지, 중단

 

포트연결이라고도 불리우며 통신 장치간의 상호작용을 설정 및 동기화

호스트간 최초연결을 가능하게 하고 통신 중 세션 이상상태를 복구하여 적절한 상태에서 통신이 이루어질 수 있도록 한다

연결이 끊어지지 않도록 유지시켜주는 역할

대표적 프로토콜 SSH TLS

 

 

6Layer 표현계층 : 컴퓨터(사람)가 읽을 수 있는 데이터로 변환하는 계층

데이터를 안전하게 사용하기 위한 암복호화 작업, 디코딩 인코딩이 일어난다

송신할 때는 컴퓨터가 관리하는 방식으로 데이터를 변환하고 수신받을때는 유저가 볼 수 있는 방식으로 데이터를 변환시키는 과정을 담당, 번역이라고도 부른다

 

ASCII : UTF-8 아스키 문자열로 변환

MPEG : 비디오 오디오 인코딩

JPEG : 디지털 사진 인코딩

MIDI : 전자악기 연주 데이터 전송 규격

 

7Layer 응용계층 : 사용자가 네트워크 자원UI로 접하는 응용 프로그램 계층

사용자가 네트워크에 접근할수 있도록 도와주는 계층으로 인터페이스, 전자우편, 데이터베이스 관리등의 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행한다

 

대표적인 프로토콜 : Telnet, FTP, SMTP, HTTP, POP3

 

 

 

OSI7 Layer 표정리

계층 주요 기능
Application – 사용자 인터페이스의 역할을 담당하는 계층
여러 가지 Application 업무에서 필요한 통신 서비스 제공
: Word Processor, Transfer, Electronic Mail
사용자 가장 가까운 프로토콜 ; HTTP, FTP, Telnet, SMTP
Presentation – 전송하는 데이터의 format(구성방식)을 결정하는 계층
– Application
이 다루는 정보를 통신에 알맞은 형태로 만들거나, 하위 계층 (Session Layer) 에서 온 데이터를 사용자가 이해 할 수 있는 형태로 만드는 일
암호화, 압축 : MPEG, ASCII, EBCDIC, JPEG, GIF, TIFF
– Code Formatting
Application Conversion 을 제공
Session – 네트워크 상에서 통신할 경우 host간에 최초 연결
통신 중 연결이 끊어지지 않도록 유지시켜주는 계층
– 7, 6, 5
계층을 통해 data 생성
Transport – 정보를 분할하고 상대편에 도달하기 전에 다시 합치는 과정을 담당하는 계층
– Packet
처리를 어느 사용자/프로그램에 맡겨야 하는지 식별 Port 번호 사용
신뢰성 기반의 통신에 사용, Three-Way Handshaking, 전송
단위 : Message, : TCP, UDP 단위 : segment, datagram
Network – Logical address를 담당하고, packet 이동경로 결정하는 계층
데이터를 목적지 까지 안전하고 빠르게 전달
– Data
를 전송을 위한 최선의 통신 경로 선택을 제공
– Routers
네트워크 장비가 작동하는 계층
전송 단위 : Packet, )IP, IPX, X25
Data Link – 상대방과 물리적인 통신을 위한 통신로를 확립하는 계층
– Data
의 다중접근, 흐름제어, 오류 검출 및 정정

전송 단위: Frame
– e.g. HDLC, LAP-B, LLC, PPP,
브릿지, L2스위치
Physical – ‘0’ ‘1’ 비트 정보를 회선에 내보내기 위한 전기적 변환이나 기계적 작업 계층
전송 단위: Bit 
– e.g. RS-232C, RS 449/442/423, V24, X21
케이블, 리피터, 허브