본문 바로가기
네트워크

[네트워크 입문] 1. 프로토콜, OSI 7계층

by 잭피 2021. 7. 31.

네트워크 구성도 살펴보기

네트워크는 크게 서비스 받는 입장 / 제공하는 입장으로 나뉩니다

데이터 센터 네트워크

데이터 센터 네트워크는 안정적이고 빠른 대용량 서비스 제공을 목표로 구성합니다

높은 통신량을 수용하기 위해 10G, 25G, 40G, 100G, 400G와 같은 고속 이더넷 기술을 사용합니다

기존에는 3계층 구성이 일반적이었지만,

높은 대역폭을 요구하는 스케일 아웃 기반의 애플리케이션과 서비스가 등장하면서 2계층 구성인 스파인-리프(Spine-Leaf) 구조로 데이터 센터 네트워크가 변화하였습니다

스파인-리프 구조는 서버 간 통신이 늘어나는 최근 트래픽 경향을 지원하기 위해 제안되었습니다


프로토콜

프로토콜이란, 네트워크에서 통신할 때의 규약입니다

다양한 프로토콜이 존재했지만 최근에는 대부분 기술이 이더넷-TCP/IP 기반 프로토콜로 변경되고 있습니다

한정된 자원으로 통신을 해야하다보니 최대한 적은 데이터를 이용해 효율적인 프로토콜을 정의하고 사용해야 했습니다

매우 느린 네트워크 속도를 이용해 최대한 효율적으로 통신하는 것이 목표이다 보니 대부분 프토콜이 문자 기반이 아닌 2진수 비트 기반으로 만들어졌습니다

애플리케이션 레벨의 프로토콜은 비트 기반이 아닌 문자 기반 프로토콜이 많이 사용됩니다

ex) HTTP, SMTP

문자를 이용해 헤더와 헤더 값, 데이터를 표현합니다

텍스트 파일과 같은 데이터가 전달되기 때문에 비트 기반 프로토콜보다 떨어지지만 다양한 확장이 가능합니다

일반적으로 TCP/IP는 프로토콜이라고 부르지 않고 프로토콜 스택이라고 부릅니다

TCP, IP는 별도 계층에서 동작하는 프로토콜이지만 함께 사용하고 있는데 이러한 묶음을 프로토콜 스택이라고 부릅니다

TCP/IP 프로토콜 스택은 4가지 부분으로 나뉩니다

  1. 물리 부분
  2. 네트워크 계층
  3. 전송 계층
  4. 애플리케이션 계층

OSI 7계층과 TCP/IP

OSI 7계층

  • 5~7계층 : 애플리케이션 계층 (Application Layer) / 상위 계층 (Upper Layer)6계층 : 프레젠테이션 계층 (표현 계층)
  • 5계층 : 세션 계층
  • 7계층 : 애플리케이션 계층
  • 1~4계층 : 데이터 플로 계층 (Data Flow Layer) / 하위 계층 (Lower Layer)3계층 : 네트워크 계층1계층 : 피지컬 계층 (물리 계층)
  • 2계층 : 데이터 링크 계층
  • 4계층 : 트랜스포트 계층 (전송 계층)

보통 개발자는 7 → 1 (하향식), 네트워크 엔지니어는 1 → 7 (상향식)으로 네트워크를 바라봅니다

TCP/IP 프로토콜 스택

TCP/IP는 이론보다 실용성에 중점을 둔 프로토콜입니다

TCP/IP 모델은 4계층으로 구분됩니다

4계층 애플리케이션 계층(Application)

3계층 트랜스포트 계층(Transport)

2계층 인터넷(Internet)

1계층 네트워크 액세스(Network Access)


OSI 7계층별 이해하기

1계층(피지컬 계층)

물리적 연결과 관련된 정보를 정의합니다 (주로 전기 신호를 전달)

주요 장비 : 허브, 리피터, 케이블, 커넥터, 트랜시버, 탭

허브, 리피터 : 네트워크 통신을 중재하는 네트워크 장비

케이블과 커넥터 : 케이블

트랜시버 : 컴퓨터의 랜 카드와 케이블을 연결하는 장치

탭 : 네트워크 모니터링과 패킷 분석을 위해 전기 신호를 다른 장비로 복제

2계층(데이터 링크 계층)

출발지와 도착지 주소를 확인하고 내게 보낸 것이 맞는지, 또는 내가 처리해야 하는지에 대해 검사한 후 데이터 처리를 수행합니다

주소 체계가 생기면서 여러 통신이 한꺼번에 이루어지는 것을 구분하기 위한 기능이 주로 정의됩니다

2계층에서 동작하는 네트워크 구성 요소 : 네트워크 인터페이스 카드, 스위치

2계층의 가장 중요한 특징은 MAC 주소라는 주소 체계가 있다는 것입니다

3계층(네트워크 계층)

IP주소와 같은 논리적인 주소가 정의됩니다

데이터 통신할 때 2계층의 물리적 MAC 주소와 3계층의 논리적 IP 주소가 사용됩니다

MAC 주소와 달리 IP 주소는 사용자가 환경에 맞게 변경해 사용할 수 있습니다

네트워크 주소 정보를 통해 자신이 속한 네트워크와 원격지 네트워크를 구분할 수 있습니다

3계층에서 동작하는 장비 : 라우터

라우터는 IP 주소를 이해할 수 있습니다

라우터는 IP 주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할을 합니다

4계층(트랜스포트 계층)

1,2,3계층과는 좀 다른 역할을 수행합니다

1,2,3계층은 신호와 데이터를 올바른 위치로 보내고 실제 신호를 잘 만들어 보내는 데 집중합니다

하지만 4계층은 실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 합니다

4계층 동작하는 장비 : 로드 밸런서, 방화벽

이 장비들은 4계층에서 볼 수 있는 애플리케이션 포트번호와 시퀀스, ACK 번호 정보를 이용해 부하를 분산하거나 보안 정책을 수립해 패킷을 통과, 차단하는 기능을 수행합니다

5계층(세션 계층)

양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후에는 이 연결을 끊는 역할을 합니다

TCP/IP 세션을 만들고 없애는 책임을 가집니다

6계층(프레젠테이션 계층)

표현방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변화시키는 기능을 수행합니다

MIME 인코딩이나 암호화, 압축, 코드 변환과 같은 동작이 이 계층에서 이루어집니다

7계층(애플리케이션 계층)

애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행합니다

네트워크 소프트웨어의 UI 부분이나 사용자 입출력 부분을 정의하는 것이 애플리케이션 계층의 역할입니다

대표적인 프로토콜로는 FTP, SMTP, HTTP, TELNET이 있습니다


인캡슐레이션과 디캡슐레이션

  • 인캡슐레이션 : 데이터를 보내는 과정
  • 애플리케이션에서 데이터를 데이터 플로 계층(1~4계층)으로 내려보내면서 패킷에 데이터를 넣을 수 있도록 분할하는 과정
  • 디캡슐레이션 : 데이터를 받는 과정
  • 받은 전기 신호를 데이터 형태로 만들어 4계층으로 보냅니다

데이터를 인캡슐레이션하는 과정에서 헤더에 넣는 정보는 너무 많습니다

하지만 규칙이 있으며 아래 2가지 정보는 반드시 포함되어야 합니다

  1. 현재 계층에서 정의하는 정보
  2. 상위 프로토콜 지시자

댓글