출처 : shlee0882.tistory.com/110

 

OSI 7 계층이란?, OSI 7 계층을 나눈 이유

1. OSI 7 계층이란? OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 1.1 OSI 7 계층을 나눈이유는? 계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있

shlee0882.tistory.com

이 글의 출처는 위 티스토리임을 밝히고, 필자는 해당 내용을 제 스스로가 이해한 방식으로 정리한 글임을 미리 밝힙니다.

 

 

 

OSI7 계층이란

네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것

 

OSI7 계층을 나눈 이유

통신이 일어나는 과정을 단계별로 확인이 가능하다.

이를 통해 흐름을 한눈에 보기 쉽고 이상이 생겼을 경우 다른 단계의 장비나 소프트웨어를 손보지 않고 이상이 생긴 단계에 해당하는 장비만 찾아 고칠 수 있기 때문

 

예시

pc에서 게임을 하는데 갑자기 인터넷이 안된다.

어떤 장비의 문제인지 판단을 위해

 

1. 모든 PC에 문제가 있는 경우 :  게임의 문제일리가 없다. 모든 사람이 같은 게임을 하는 것은 현실적으로 거의 있을 수 없는 일이다. 따라서 데이터를 전송하는 광랜 회선(1계층)에서 문제를 찾거나 라우터(3계층)에서 문제를 찾는다.

라우터

2. 특정 게임을 돌린 pc에서만 인터넷이 안되는 경우 : 하나의 게임에서 통신의 문제를 일으키는 코드를 사용했을 가능성 성에 무게를 두고 문제를 찾는다.(7계층)

 

이런 식으로 문제를 찾아 고치기 수월해진다. 한편으로 문제 해결을 위해 다른 장비는 건들 필요가 없어진다.

 

 

OSI 7계층을 한눈에

 

간단히 설명을 하자면,

1~2계층(물리계층&데이터 링크계층) : 데이터를 보내고, 작은 데이터 단위인 프레임의 오류를 제어는 등 원초적인 역할을 수행한다.

 

3계층(네트워크 계층) : 네트워크 주소(IP)를 정의하고 해당 주소지(목적지)로 데이터를 안전하고 빠르게 전달하는 기능(라우팅)이다. 여기선 다양한 프로토콜과 기술이 이용된다.

 

4계층(전송계층) : TCP, UDP 프로토콜을 이용하는 계층이며, 패킷 단위로 데이터를 보내고, 받는 입장에서 패킷이 유효한지 확인 후 재전송을 하는 단계. 이 때 TCP, UDP는 패킷을 처리하는 방식이 다르다.

 

5~7계층 (세션,표현,응용 계층) : 데이터 통신을 위한 많은 프로토콜이 존재. 데이터를 암호화&복호화 하거나, 데이터가TEXT인지 그림인지 구분한다. FTP, HTTP, SMTP 프로토콜 등이 해당하며, 해당 프로토콜들은 다루는 데이터가 다르며, 데이터를 처리하는 방식과 성능 또한 다르다. 

 

 

 

 

 

1계층 - 

물리계층(Physical Layer)

 

이 계층에선 주로 전기적, 기계적, 기능적인 특성을 이용. 통신 케이블로 데이터를 전송

통신의 단위가 비트이다 => 1과 0으로 데이터가 나타나는 단계

이 계층은 단지 데이터를 전달할 뿐이며, 데이터 종류가 무엇인지, 에러는 없는지 전혀 신경쓰지 않는다.

전기적인 신호로 변환해서 주고 받는 기능만 할 뿐.

 

이 계층에 속하는 대표적인 장비는 통신 테이블, 리피터(받은 신호를 송출, 증폭), 허브(네트워크 장비끼리 연결) 등이 있다.

 

 

2계층

데이터 링크계층(DataLink Layer)

 

물리 계층을 통해 송수신되는 정보의 흐름,오류를 관리하여 안전한 정보 전달을 수행할 수 있도록 도와줌.

즉, 통신상에서 오류를 찾아주고 재전송하는 기능도 갖추고 있다.

 

이 계층에서는 맥주소(전달될 곳의 주소) 라는 것을 가지고 통신한다.

이 계층에서 정보가 전송되는 단위를 프레임이라고 한다.

(주소값은 물리적으로 할당을 받는다. 이 말은 즉, 네트워크 카드가 만들어질 때 부터 장치에 맥주소가 정해져 있다는 뜻이다.)

 

이 계층에 해당하는 대표적인 장비가 브리지, 스위치이다. 

위 장비는 맥주소를 가지고 물리계층(1계층)에서 받은 정보를 전달함 

 

데이터링크 계층의 목적은 포인트 투 포인트(Point to Point, 지점과 지점간의) 신뢰성 있는 전송을 보장하기 위한 계층으로 CRC라고 불리는 것의 오류 제어와 흐름 제어가 필요하다.

물리계층에서 발생할 수 있는 오류를 찾아내고 수정하는데 필요한 수단(기능, 절차)을 제공한다.

 

Ethernet
- 비연결성(connectionless)모드, 전송속도 10Mbps 이상, LAN 구현 방식(네트워크를 구성하는 방식)을 말함

HDLC(High-Level Data-Link Control)
- 고속 데이터 전송에 적합하고, 비트 전송을 기본으로 하는 범용의 데이터 링크 전송제어절차

PPP(Point-to-Point Protocol)
- 전화선 같이 양단간 비동기 직렬 링크를 사용하는 두 컴퓨터간의 통신을 지원하는 프로토콜


출처: https://needjarvis.tistory.com/158 [자비스가 필요해]

위의 것들이 2계층에 해당한다.

 

요약 : 프레임에 맥주소 부여하고 전송하는 데이터의 에러검출, 재전송, 흐름제어

 

 

 

데이터가 전송되는 과정인데 여기서 하나의 네모와 네모 사이 데이터를 전송하는 계층이 바로 2계층에 해당

 

3계층

네트워크 계층(Network Layer)

 

이 계층에서 가장 중요한 기능은 데이터를 목적지까지 안전하고 가장 빠르게 전달하는 기능(라우팅)이다.

사용 되는 프로토콜의 종류도 다양하고 라우팅하는 기술도 다양하다.

 

이 계층에서 정보를 생산&전송하는 데이터의 단위를 패킷이라고 부른다.

2계층의 패킷과의 차이점 =>

프레임이 같은 네트워크 간 데이터를 주고 받는 단위라고 하면, 패킷은 서로 다른 네트워크간 통신이 가능하도록 프레임을 한번 더 포장한 것이다.

 

데이터는 하나의 네트워크만 거쳐 목적지로 가는 것이 아닌, 여러 네트워크를 거쳐 전송 될 수 있다.

3계층은 여러 노드(서로 다른 네트워크)를 거칠 때 마다 경로를 찾아주는 역할을 하는 계층이다.

 

논리적인 주소구조인 IP를 네트워크 관리자가 직접 할당하는 구조를 가지며, MAC 주소의 체계와 달리 계층적(그룹을 나누는 기준이 있다)이다.

 

3계층의 핵심 역할은 주소부여(IP), 경로설정(Route) 이다.

 

 

IP(Internet Protocol)
- 패킷 교환 네트워크에서 정보를 주고받는데 사용하는 정보 위주의 규약
- 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당

ICMP(Internet Control Message Protocol)
- TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제(오류 보고)를 알림- 진단 등과 같이 IP계층에서 필요한 기타 기능들을 수행하기 위해 사용되는 프로토콜

IGMP(Internet Group Management Protocol)
- IP 멀티캐스트를 실현하기 위한 통신 프로토콜
- PC가 멀티캐스트로 통신할 수 있다는 것을 라우터에 통지하는 규약


출처: https://needjarvis.tistory.com/158 [자비스가 필요해]

위 프로토콜이 3계층에 해당

 

 

4계층

전송 계층(Transport Layer) 

 

통신을 활성화 하기 위한 계층이다. 

주로 TCP 프로토콜을 이용, 포트를 열어서 응용 프로그램들이 전송을 할 수 있도록 한다.

데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져준다. (소실, 분실, 순서 변경 된 패킷들을 재조립해서 응용 프로그램이 사용할 수 있도록 만들어준다는 말 같다)

오류제어 및 흐름제어를 한다.  (아마 패킷의 오류제어와 흐름제어를 말하는 것 같다.)

이 계층까지는 물리적인 계층에 속한다.

 

4계층은 양 끝단 (End to End)의 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있도록한다.

=> 5계층 이상의 계층에서 데이터 무결성(정확성,일관성)을 보장받기 위해 별도의 처리를 할 필요가 없다(신경쓰지 않아도 된다)

 

 

핵심 기능은 패킷의 전송, 오류검출, 복구, 흐름제어, 중복검사 

패킷을 전송, 오류검출, 복구, 흐름제어 하는 방식에 따라서 TCP, UDP 프로토콜을 나눈다.

 

TCP(Transmission Control Protocol)

- 전송제어프로토콜, 네트워크의 정보전달을 통제하는 프로토콜

- 데이터의 무결성을 보증하고 보낸 순서대로 받게 해줌

- 3 Way Handshaking와 4 Way Handshaking 등을 활용한 신뢰성 있는 전송 가능

 

UDP(User Datagram Protocol)

- 비연결성이고 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공

- UDP는 신뢰성이 낮은 프로그램에 적합
- 보통 정확한 데이터의 보장보다는 성능을 원하는 스트리밍 서비스에 적합



출처: https://needjarvis.tistory.com/158 [자비스가 필요해]

 

5계층

세션 계층(Session Layer) 

 

5계층에서는 양 끝난 (End to End) 프로세스가 통신을 관리하기 위한 방법을 제공한다.

이 계층은 TCP/IP 세션(연결)을 만들고 없애는 책임을 진다.

 

->

통신하는 사용자들을 동기화하고 오류복구 명령들을 일괄적으로 다룬다. 

통신을 하기 위한 세션을 확립/유지/중단 (운영체제가 해줌)

 

 

6계층

표현 계층(Presentation Layer)

 

(1)데이터간 번역을 담당한다(인코딩에 맞게 데이터를 번역). 이 말이 무엇이냐. 

 

우선 인코딩이란 정보의 형태나 형식을 변환하는 처리나 처리 방식을 뜻함

동영상, 사진, 문자에 해당하는 수많은 인코딩이 있지만, 문자 인코딩만 간단하게 살펴보자.

 

아스키는 수많은 문자 인코딩 중 하나로, 아스키 코드표에서 10000001(2진수) 라는 데이터는 대문자 A를 의미하는데 이는 아스키라는 문자 인코딩을 따랐을 때만 A가 되는 것이다. 만약 다른 인코딩을 선택하여 데이터를 번역한다면 데이터 A가 아닌, 문자 ㄱ(기역)이 될 수도 있는 것이다.

비슷한 역할로, 들어온 데이터가 그림인지 문자인지, 동영상인지 구분한다.

 

(2)이 계층의 또 다른 역할로 암호화/복호화가 있다.

 

SSL(Secure Socket Layer) (2번에 해당)
- 네트워크 레이어의 암호화 방식, HTTP 뿐만 아니라, NNTP, FTP 등에도 사용
- 인증, 암호화, 무결성 보장하는 프로토콜
- 보통 22번 포트를 사용

ASCII(American Standard Code for Information Interchange) (1번에 해당)
- 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기반
- 7비트 인코딩, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자


출처:  https://needjarvis.tistory.com/158 [자비스가 필요해]

 

 

 

 

7계층

응용 계층(Application Layer)

 

계층의 최종 목적지이다.

HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다. 

위 프로토콜은 메일 프로그램, 파일 전송 시스템, 텍스트 같은 특정 데이터를 다루기 위한 일종의 약속이다.

 

HTTP(HyperText Transfer Protocol)
- WWW(World Wide Web) 상에서 정보를 주고 받을 수 있는 프로토콜
- 주로 HTML문서를 주고 받는 데에 쓰이고, TCP와 UDP를 사용하며, 80번 포트 사용

SMTP(Simple Mail Transfer Protocol)
- 인터넷에서 이메일을 보내고 받기 위해 이용되는 프로토콜, TCP 포트번호 25번 사용

FTP(File Transfer Protocol)
- 컴퓨터 간 파일을 전송하는데 사용되는 프로토콜 (데이터 전달 : 20번포트, 제어정보전달 : 21번포트)

TELNET 
- 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜, IETF STD 8로 표준화- 보안문제로 사용이 감소하고 있으며, 원격제어를 위해 SSH로 대체


출처: https://needjarvis.tistory.com/158  [자비스가 필요해]

 

'개발 > 이론' 카테고리의 다른 글

JWT 란?  (0) 2021.12.08
Redis 기본 개념  (0) 2021.12.08