[CS : 네트워크] OSI 7계층

2021. 5. 6. 14:40CS 스터디

1.    OSI 7계층이란 ?

Open System Interconnection 의 약자이며 국제표준화기구 ISO에서 개발한 네트워크 프로토콜 디자인과 통신을 7개의 계층으로 나눠 설명한 것.

거대한 컴퓨터 통신 시스템을 한번에 처리하기가 어렵기 때문에 추상화를 통해 부분적으로 나누게 되었고 이것이 계층화를 유도하며 프로토콜이 되었다.

 

 

 

# 프로토콜이란 ?

컴퓨터나 여러 통신 장비사이에서 메시지를 주고 받을 때 정해놓는 규칙체계를 말한다. 양쪽이 반드시 대칭관계를 이루며 보내는 쪽과 받는 쪽이 미리 정해 놓은 약속이라고 생각하면 된다. TCP IP , HTTP 등등 여러가지 프로토콜이 존재한다. 현재의 인터넷은 TCP/IP라는 프로토콜을 이용하기 때문에 모든 PCTCP/IP의 규칙에 의해 통신을 하게 된다.

 

 

 

-      7계층 : 응용 계층(Application)

최상위 계층으로 사용자 또는 애플리케이션이 네트워크에 접근할 수 있도록 해주는 계층이다. , 사용자에게 보이는 유일한 계층이며 사용자를 위한 인터페이스를 지원한다.

메일을 전송하거나 메시지를 보내고 인터넷 접속을 하는 등의 작업을 의미한다.

 

-      6계층 : 표현 계층

표현 계층은 7계층으로부터 전달받거나 전송하는 데이터의 인코딩 & 디코딩이 이루어지는 계층이다.

데이터를 인코딩 디코딩하는 것은 응용체계에서 받은 데이터를 컴퓨터가 읽을 수 있는 형식으로 변환해야 하기 때문이다. JPEG, GIF 등의 포멧을 구분하게 됨.

인코딩은 정보를 암호화 , 디코딩은 암호화를 해제하는 과정이다.

 

-      5계층 : 세션 계층

세션 계층은 네트워크 양쪽의 연결을 관리하고 연결을 지속시켜주는 계층이다. 세션을 만들고 유지하며 세션 종료, 전송 중단 시 복구 기능이 있다.

 

# 세션이란?

네트워크가 연결되어 있음을 확인할 수 있는 정보다. 이러한 세션정보가 없다면 연결한 사용자가 누구인지 연결이 되어있는지를 알 수 없기 때문에 필수적인 정보다. 또한 세션정보가 있다면 수시로 서버에 연결을 확인하지 않아도 되서 서버 부담을 줄여준다.

이러한 세션은 서버내에 남아 있는 연결 정보이며 HTTP 프로토콜에서는 인터넷 사용자가 웹사이트를 방문할 때 사용자와 서버 사이의 연결을 확인하는 정보다.

 

통신의 신뢰성을 위해 동기 기능을 사용하는데 통신 양단에서 서로 동의하는 논리적인 공통 시점인 동기점을 만들어 메시지가 제대로 송수신되고 있는지를 파악한다. 또한 이 동기점은 오류 복구를 위해 필수적으로 사용된다. 동기점 이전까지는 복구가 필요 없고 동기점 이후만 복구하면 된다.

 큰 파일을 하나의 단위로 전송하는 것보다 논리적으로 작은 단위로 나눠 보내는 게 오류 발생 시 유리하다. (오류가 나면 난 지점 부터만 보내면 되니까)

 

주동기점이 부여되었다는 것은 해당내용 까지 전송이 완료되었다는 뜻이다.

 

 

여기까지가 애플리케이션에 관련된 층이라고 볼 수 있다.

 

 

 

-      4계층 : 전송 계층

송신하는 쪽에서는 데이터 메시지를 세그먼트로 분해하여 3계층으로 보낸다. 수신하는 쪽에서는 세그먼트를 재조립하여 응용계층으로 전송한다

TCP UDP가 대표적인 전송 프로토콜이다. OSI에서 1,2,3계층이 있으면 목적지에 데이터를 보낼 수는 있지만 데이터 손상이나 유실에 대해서는 아무런 대처를 해주지 않는다. 전송 계층은 목적지에 신뢰할 수 있는 데이터를 전달하기 위해 필수적이다.

전송 계층은 신뢰성/정확성과 효율성으로 구분할 수 있다.

신뢰성/정확성 : 데이터를 목적지에 문제없이 전달하는 것이며 이러한 통신을 연결형 통신이라고 한다.(연결을 상대편과 계속 확인하면서 통신하는 방식)

효율성 : 데이터를 빠르고 효율적으로 전달하는 것이며 이러한 통신을 비연결성 통신이라고 한다. (상대편을 확인하지 않고 일방적으로 보내버림)

연결형 통신 프로토콜은 TCP 이며 비연결형 통신 프로토콜은 UDP이다.

 

 

-      3계층 : 네트워크 계층

전송 데이터를 목적지 까지 경로를 찾아서 보내는 계층이다. 주소(IP)를 정하고, 경로(Route)를 선택하고, 패킷을 전달하는 것이 핵심이다.

1)    논리적 주소

서로 다른 네트워크에 있는 장비와 연결하기 위해서는 공통적인 상위 프로토콜이 필요하다. 이를 위해 쓰이는 논리적 주소 프로토콜로 IP가 있다.

IPInternet protocol의 약자로 인터넷 환경에서의 프로토콜이다. IP 프로토콜의 특징으로는 비연결형이기에 전송한 패킷이 수신 호스트에게 100퍼 도착하는 것을 보장하지 않는다. 이는 상위 계층에서 고려해야한다.

 

2)    MAC 주소와 IP주소의 차이

MAC 주소는 다음 수신처의 주소를 의미하고 IP주소는 최종 수신처의 주소를 의미한다. , 목표하는 IP까지 도달하기 위해 각 라우터들의 MAC 주소를 거쳐서 가는 것이다.

 

3)    라우터와 라우팅

라우터는 LANLAN을 연결해주는 장치로서 서로 다른 프로토콜로 운영하는 통신망에서 정보를 전송할 때 경로를 설정하는 통신장비다.

이때 경로를 효율적으로 설정하는 것이 라우팅이다. IP 프로토콜을 사용하는 라우터가 이러한 작업이 가능함.

 

-      2계층 : 데이터 링크 계층

데이터 링크 계층은 물리적인 네트워크 사이에 데이터 전송을 담당한다. 단위는 프레임이다.

하나의 링크로 연결된 노드 사이에서 비트들의 묶음(프레임) 이 교환된다.

노드란 단말기, 호스트, 스위치, 라우터, PC 등을 의미한다.

링크란 데이터 전달해주는 선. , 랜선 광케이블, 전화선 등을 의미한다.

 

물리적 연결 구성방식에 따라 3가지 통신 방식이 있다.

1)    BMA (Broadcast Multiple Access)

Broadcast가 전달되는 다중 접속 환경을 말하며 일반적으로 LAN 구간이 해당된다. Broadcast란 동일한 네트워크에 연결된 모든 장비에게 전달하는 메시지 타입이다. 여기서 이더넷이라는 프로토콜이 주로 쓰인다. 이더넷에서는 MAC 주소라는 물리적 주소를 사용한다.

2)    NBMA (Non Broadcast Multiple Access)

Broadcast가 전달되지 않는 다중 접속 환경을 말하며 일반적으로 WAN 통신구간이 여기에 해당한다.

3)    Point – to - Point

점대점으로 연결되어 있으며 중간에 다른 장비 없이 직접 연결되어 있기에 물리적 주소가 필요 없다.

 

# 이더넷(Ethernet)

LAN 환경에서 사용하는 대표적 프로토콜이다. 통신이 발생하면 데이터 링크에 접근하여 통신을 시도하는 랜덤 액세스 방식이라 구축하기도 쉽고 유지보수도 간편하다. 그러나 다중 접속 환경의 경우 다른 장비와 충돌하는 문제가 있어 대규모로 쓰기엔 적절하지 않다. 최근엔 스위치를 사용하면서 이더넷에서도 충돌문제가 안생긴다.

 

 

-      1계층 : 물리 계층

통신 케이블을 통해 전기 신호를 사용하여 비트를 전송하는 계층이다. 즉 여기서는 이제 01로 구분되는 신호로 통신한다.

상위계층에서부터 캡슐화된 데이터를 전기신호로 바꾸어 전송하는 것이다. 단위는 비트이다. 1계층에 쓰이는 장비로는 리피터와 허브가 존재한다.

리피터는 긴 케이블일수록 신호가 약해지기 때문에 신호를 멀리 보내기 위한 증폭장치이지만 요즘은 다른 네트워크장치에 내장되어 쓰이지 않음

허브는 리피터를 여러 장비에 연결할 수 있다. 그러나 여러 장비를 쓰면 데이터 충돌이 생긴다.