일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 알고리즘공부
- 경제
- algorithmStudy
- 다독
- 지혜를가진흑곰
- 알고리즘 공부
- C
- 성분
- algorithmtraining
- 책알남
- 책을알려주는남자
- 화장품
- 프로그래머스 알고리즘 공부
- Java
- 독후감
- 알고리즘트레이닝
- 재테크
- 자바
- 서평
- 백준알고리즘
- algorithmTest
- 주식
- 자바스크립트
- C++
- 독서
- 프로그래밍언어
- 채권
- 돈
- JavaScript
- 투자
- Today
- Total
탁월함은 어떻게 나오는가?
네트워크 7 계층 (OSI 7 계층)이란? OSI7 개념에 대해 쉽고 간단하게 알아보자!! 본문
네트워크 7 계층 (OSI 7 계층)이란? OSI7 개념에 대해 쉽고 간단하게 알아보자!!
Snow-ball 2022. 1. 25. 10:50OSI 7계층이란?
OSI 7계층은 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층간 상호 작동하는 방식을 정해 놓은 것이다. 이는 ISO(국제 표준화기구)에서 개발한 모델이다. 통신이 일어나는 과정을 7단계로 크게 구분하여 한 눈에 들어올 수 있도록 정의했기 때문에 단계별로 파악하기 좋다.
컴퓨터 통신 구조의 모델과 앞으로 개발될 프로토콜의 표준적인 뼈대를 제공하기 위해 개발된 참조 모델이어서 OSI 7 계층 모델을 알면 네트워크 구성을 예측하고 이해할 수 있다. 네트워크에서 트래픽의 흐름을 알 수 있으며, 각 계층은 독립적이다. 독립적이기에 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건드리지 않고도 이상이 생긴 단계만 찾아서 고칠 수 있다.
OSI 7계층 특징
사용자 데이터는 각 계층을 지나면서 하위 계층은 상위 계층으로부터 온 정보를 데이터로 취급한다. 자신의 계층 특성을 담은 데이터를 캡슐화를하며, 계층 특성을 담은 제어정보(주소, 에러 제어 등)를 헤더화 시켜 붙이는 과정이 진행된다.
데이터를 보낼 떄는 응용 계층에서 시작되어 OSI 계층을 차례로 내려가며 물리계층으로 간다.(7단계 > 6단계 > .... > 2단계 > 1단계) 이 과정에서 캡슐화를 하게 되고, 각 계층은 다른 계층과 통신할 때 데이터에 특정 정보가 들어 있는 Header와 Footer를 추가한 후 다른 계층으로 전달한다.
PDU(Protocol Data Unit)은 프로토콜 데이터 단위이며 OSI 모델의 정보 처리 단위이다. 캡슐화 과정에서 만들어지며 아래 계층으로 내려갈수록 PDU에는 다양한 프로토콜에 의해 Header와 Footer가 더해진다. 마지막 물리 계층에서 PDU는 최종적인 모습을 갖추고, 데이터를 보내게 된다. 반대로 데이터를 받은 컴퓨터는 PDU로부터 프로토콜의 Header와 Footer를 분석하며 올라가고 마지막 응용 계층에 도달하면 원본 데이터만 남게 된다.
OSI 7계층
물리계층(Physical Layer) - 1계층
7계층 중 최하위 계층이다. 네트워크 데이터가 전송되는 물리적인 매체이다. 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송하게 된다. 데이터는 0과 1의 비트열, 즉 On, Off의 전기적 신호 상태로 이루어져 있다.
이 계층은 단지 데이터를 전달하기만 한다. 어떤 에러가 있는지 등 그런 기능에는 전혀 관여하지 않고 제어하지 않는다.
1계층에서는 전압, 허브, 네트워크 어댑터, 중계기 및 케이블 사양을 비롯해 사용된 모든 하드웨어의 물리적 및 전기적 특성을 정의한다.
데이터링크 계층(DataLink Layer) - 2계층
데이터링크 계층은 물리적인 네트워크를 통해 데이터를 전송하는 수단이다. 1홉 통신을 담당한다고도 말한다. 홉(hop)은 컴퓨터 네트워크의 노드에서 다음 노드로 가는 경로를 뜻한다. 1홉 통신이면 한 라우터에서 그 다음 라우터까지의 경로를 말하는 것이다.
주목적은 물리적인 장치를 식별하는 데 사용할 수 있는 주소 지정 체계를 제공하는 것이다. 데이터 링크 계층은 포인트 투 포인트(Point to Point)간의 신뢰성있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어와 흐름 제어가 필요하다. 네트워크 위의 개체들 간 데이터를 전달하고 물리 계층에서 발생할 수 있는 오류를 찾아내고 수정하는 데 필요한 기능적, 절차적 수단을 제공한다.
전송되는 단위를 프레임이라 하며, 대표적인 장비로는 브릿지, 스위치 등이 있다. 주소 값은 물리적으로 할당 받는데, 이는 네트워크 카드가 만들어질 때부터 맥 주소(MAC ADDRESS)가 정해져 있다는 뜻이다. 주소 체계는 계층이 없는 단일 구조이다.
2계층은 브리지 및 스위치 그리고 이더넷등이 대표적이다.
잠깐 팁!
점-대-점 통신 또는 포인트 투 포인트(Point to Point) 통신이란?
점대점 통신(Point to Point Protocol, PPP)은 두 점 간을 접속하여 데이터 통신을 할 때 이용하는 광역통신망용 통신 규약이다. 점대점 프로토콜은 인증, 암호화를 통한 전송 및 데이터 압축 기능을 제공한다. 점대점 프로토콜이라고도 불린다.
네트워크 계층(Network Layer) - 3계층
네트워크 계층은 2홉 이상의 통신(멀티 홉 통신)을 담당한다. OSI 7계층에서 가장 복잡한 계층 중 하나로서 실제 네트워크 간에 데이터 라우팅을 담당한다. 이때 라우팅이란 어떤 네트워크 안에서 통신 데이터를 짜여진 알고리즘에 의해 최대한 빠르게 보낼 최적의 경로를 선택하는 과정을 라우팅이라고 한다. 여기에 사용되는 프로토콜의 종류도 다양하며, 라우팅 기술 또한 다양하다. 네트워크 계층은 네트워크 호스트의 논리 주소 지정(ex: ip 주소 사용)을 확인한다.
네트워크 계층은 결로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 핵심 역할이다. 또한, 데이터 스트림을 더 작은 단위로 분할하고 경우에 따라 오류를 감지해 처리한다. 그리고 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할을 하는 계층으로서 다양한 길이의 데이터를 네트워크들을 통해 전달하고 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적, 절차적 수단을 제공한다.
네트워크 계층은 라우팅, 흐름 제어, 세그멘테이션, 오류제어, 인터네트워킹 등을 수행한다. 라우터가 3계층에서 동작하고, 대표적인 장비는 라우터이며, 요즘은 2계층의 장비 중 스위치라는 장비에 라우팅 기능을 장착한 Layer3 스위치도 존재한다.
전송 계층(Transport Layer) - 4계층
전송 계층은 양 끝단(End to end)의 주목적은 하위 계층에 신뢰할 수 있는 데이터 전송 서비스를 제공하는 것이다. 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해 주기때문에, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다.
시퀀스 넘버 기반의 오류 제어 방식을 사용한다. 흐름 제어, 분할/분리 및 오류 제어를 통해 전송 계층은 데이터가 오류 없이 점-대-점(Point-to-Point Protocal, PPP)으로 전달되게 하는데 신뢰할 수 있는 데이터 전송을 보장하는 것은 매우 번거롭기에 OSI모델은 전체 계층을 사용한다. 전송 계층은 연결형 프로토콜과 비 연결형 프로토콜을 모두 사용한다.
전송 계층은 특정 연결의 유효성을 제어하고, 일부 프로토콜은 상태 개념이 있고(stateful), 연결 기반(connection oriented)이다. 이는 전송 계층이 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다는 것을 뜻한다. 전송 계층의 예로는 특정 방화벽이나 프록시 서버, TCP가 있다.
종단간(end-to-end) 통신을 다루는 최하위 계층으로 종단간 신뢰성 있고 효율적인 데이터를 전송하며, 기능은 오류검출 및 복구와 흐름제어, 중복검사 등을 수행한다.
세션 계층(Session Layer) - 5계층
세션 계층은 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방식을 제공한다. 쉽게 말해 두 컴퓨터 간의 대화나 세션을 관리하며, 포트(Port)연결이라고도 할 수 있다.
모든 통신 장치 간에 연결을 설정하고 관리 및 종료하고 또한 연결이 전이중(Full duplex / 양방향)인지 반이중(half duplex / 단방향)인지 여부를 확인하고 체크 포인팅과 유휴, 재시작 과정 등을 수행하며 호스트가 갑자기 중지되지 않고 정상적으로 호스트를 연결하는 데 책임이 있다. 이 계층은 TCP/IP 세션을 만들고 없애는 책임을 진다. 통신하는 사용자들을 동기화하고 오류복구 명령들을 일괄적으로 다룬다.
- 통신을 하기 위한 세션을 확립/유지/중단 (운영체제가 해줌)
표현 계층(Presentation Layer) - 6계층
- 사용자의 명령어를 완성 및 결과 표현
- 포장/압축/암호화
표현계층에서는 응용 계층으로부터 전달받은 번역(데이터를 읽을 수 있는 형식으로 변환)하는데 표현 계층은 응용계층의 데이터 형식상 차이를 다루는 부담을 덜어주는 역할이 되기도 한다. MIME 인코딩이나 암호화 등의 동작이 이 계층에서 이루진다. 예를 들며, EBCDIC로 인코딩된 문서 파일을 ASCII로 인코딩된 파일로 바꿔 주는 것이 표현 계층의 몫이다.
잠깐 팁!
MIME이란?
MIME(Multipurpose Internet Mail Extensions)는 전자 우편을 위한 인터넷 표준 포맷이다. 전자우편은 7비트 ASCII 문자를 사용하여 전송되기 때문에, 8비트 이상의 코드를 사용하는 문자나 이진 파일들은 MIME 포맷으로 변환되어 SMTP로 전송된다. 실질적으로 SMTP로 전송되는 대부분의 전자 우편은 MIME 형식이다. MIME 표준에 정의된 content types은 HTTP와 같은 통신 프로토콜에서 사용되며, 점차 그 중요성이 커지고 있다.
응용 계층으로부터 전송받거나 응용 계층으로 전달해야 할 데이터의 인코딩과 디코딩이 이 계층에서 이루어진다. 그리고 표현 계층은 데이터를 안전하게 사용하기 위해서 암호화와 복호화를 하는데 이 작업도 표현 계층에서 이루어진다.
예를 들면 유니코드(UTF-8)로 인코딩 되어있는 문서를 ASCII로 인코딩 된 문서로 변환하려 할 떄 이 계층에서 변환이 이루어진다.
응용 계층(Application Layer) - 7 계층
응용계층에서는 OSI 7계층 모델에서 최상위 계층으로 사용자가 네트워크 자원에 접근하여 일반적인 응용 서비스를 수행한다. 그리고 7 계층은 최종적으로 사용자가 볼 수 있는 유일한 계층으로 모든 네트워크 활동의 기반이 되는 인터페이스를 제공하는데, 사용자가 실행하는 응용 프로그램들이 계층 7에 속한다고 보면 된다. 사용자와 가장 가까운 계층이다.
일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공한다. 응용 서비스의 예로 가상 터미널(예를 들어, 텔넷, telnet), "Job transfer and Manipulation protocol" (JTM, 표준 ISO/IEC 8832) ,구글의 크롬(chrome), 이메일(전자우편), 데이터 베이스 관리 등의 서비스 등이 있다.
- 네트워크 소프트웨어 UI 부분
- 사용자의 입출력(I/O)부분
'[Snow-ball]프로그래밍(컴퓨터) > 네트워크' 카테고리의 다른 글
DHCP (Dynamic Host Configuration Protocol) 이란? (0) | 2022.05.22 |
---|---|
서브넷마스크(Subnet Mask)와 서브넷팅(Subnetting), 서브넷(Subnet)에 대해서 구별하고 알아보자! (0) | 2022.05.18 |
쿠키와 세션의 사용 이유와 개념에 대해서 (0) | 2022.05.06 |
TCP와 UDP의 차이 (0) | 2022.04.28 |
HTTP와 HTTPS 그리고 GET과 POST의 차이점은? (0) | 2022.04.25 |