코드프레소 백엔드 개발자 양성 과정

OSI 7 계층 모형

네트워크 통신의 일곱 단계에 대해 알아본다.

H Lee
5 min readMay 27, 2020
Image by AnnaER from Pixabay

아마존 클라우드 서비스를 공부하다가 Layer 4와 Layer 7이라는 용어가 반복적으로 등장했다. 무슨 계층을 말하는 것인지, 아마존 클라우드의 로드 밸런서에 어떻게 접목되는지 살펴보자.

OSI 7 계층

OSI (Open Systems Interconnection) 모형은 네트워크 통신을 저수준에서 고수준까지 일곱 단계로 분류한 것이다. 이 모형은 만질 수 있는 물리적인 장치도 아니고 통신 과정에서 거쳐야 하는 구체적인 단계도 아니다. 복잡할 수 있는 컴퓨터 네트워크를 더 잘 이해하고 소통할 수 있게 돕는 개념적 틀일 뿐이다.

이 틀에서 1 단계부터 4 단계는 저수준 계층으로, 나머지 5 단계부터 7 단계는 고수준 계층으로 나뉜다. 네트워크의 기본 원리는 간단하다 : 데이터를 받아서 가야 할 곳으로 전달해 주는 것이 관건이다. 이 데이터 전달을 저수준일수록 하드웨어적, 전기적, 기계적 관점에서 다루고, 고수준일수록 응용 프로그램과 최종 사용자 영역에서 설명한다. 이를 도표로 시각화하면 다음과 같다.

  1. 물리적 계층
    제 1 계층에서는 물리적으로 전류나 광신호, 라디오 신호를 통해 비트 단위의 데이터 전달이 이루어진다.
  2. 데이터 링크 계층
    제 2 계층에서는 물리적 계층인 제 1 계층에서 발생한 오류를 바로잡으며, 연결망 내의 컴퓨터가 데이터에 접근하고 전달할 권한을 가지도록 MAC (Media Access Control) 주소를 부여한다.
  3. 네트워크 계층
    제 3 계층에서는 연결망 내의 교점 간에 라우팅과 포워딩이 이뤄질 수 있도록 가상 서킷이라는 것을 이용해 논리적 경로를 구축한다.
  4. 전송 계층
    제 4 계층은 망의 한 끝에서 다른 끝까지, 네트워크 호스트 간의 완전한 정보 전송을 보장하는 단계이다.
  5. 세션 계층
    제 5 계층은 양 끝단의 응용 프로그램이 서로 연결을 맺고 제어할 수 있도록 해 준다.
  6. 표현 계층
    제 6 계층은 인코딩, 암호화, 압축 등을 통해 제 7 계층인 응용 계층이 수용할 수 있는 형태로 데이터를 전환하여 호환성 문제를 방지한다.
  7. 응용 계층
    제 7 계층은 개별 응용 프로세스에 맞춰 서비스 품질 점검, 사용자 인증, 개인 정보 보호, 자원 공유, 파일 원격 접속 등의 고수준 기능을 지원한다.

Network Load Balancer (Layer 4)

아마존 클라우드의 탄력적 로드 밸런서 중 네트워크 로드 밸런서는 제 4 계층인 전송 계층을 기반으로 작동한다. 계층 4에서는 쿠키, 헤더 등의 요청 정보의 내용을 일일이 들여다 보지 않고 전송한다. 그렇기에 라우팅 조건을 부여할 때 매우 세밀한 설정은 가능하지 않을 수 있다. 하지만 덕분에 연산량이 적고 전달 속도가 매우 빠르다.

지원하는 대표적인 인터넷 표준으로는 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)가 있고, 아마존 웹 서비스도 이를 이용해 초당 몇 백만 건의 요청을 처리할 수 있다는 점을 부각한다.

Application Load Balancer (Layer 7)

반면 애플리케이션 로드 밸런서는 응용 단계인 계층 7을 기반으로 작동한다. 이는 EC2, 컨테이너, IP 주소, 람다 함수 등에 통신을 라우팅할 때, 로드 밸런서가 쿠키, 헤더, 데이터 종류, URL 등의 요청 내용을 들여다 볼 수 있다는 뜻이다. 최적화된 통신 규약은 물론 HTTP와 HTTPS이다.

세부 정보를 확인하는 과정에서 연산량이 증가하지만 오늘날의 서버 사양에서는 큰 차이를 일으킬 정도는 아니며, 내용을 열람함으로써 더 정교한 라우팅 표적 설정이 가능해져 마이크로서비스나 컨테이너와 같은 현대적인 응용 프로그램 구조를 지원한다.

사용자가 다양한 종류의 작업이 이뤄지는 고통신량 웹사이트를 방문했다고 하자. 사진 열람과 같은 정적 컨텐트, 뉴스피드 등의 동적 컨텐트, 주문 상태 보기 같은 거래 조회가 모두 요청될 수 있다면, 사진 요청은 데이터 타입이 이미지라는 점을 참고하여 미디어 서버에서, 거래 정보는 트랜잭션 로그에서 각각 알맞게 효율적으로 골라 응답할 수 있게 되는 것이다. 이것이 계층 7 기반 로드 밸런싱의 이점이다.

시사점과 비평

지금까지 각 계층에 대한 전반적인 소개와, 계층 4와 7에 대해선 로드 밸런서에 접목되는 부분에 대해 알아보았다. 하지만 OSI 7 모형에 대해 염두에 두어야 할 점들이 있다.

  1. OSI 7 모형은 소통과 이해를 돕기 위한 개념적인 틀일 뿐이다. 이를 곧이곧대로 따르지 않거나 몰라도, 기반이 되는 기술만 안다면 네트워크를 구축할 수 있다.
  2. OSI 모형은 인터넷 통신 규약을 모은, 또다른 개념적 틀인 인터넷 프로토콜 스위트(Internet Protocol Suite)와 양립한다. IP 스위트는 OSI와 다른 계층으로 네트워크를 구분하며, 어느 단계가 서로 대응하는지는 학자들 사이에서도 의견이 분분하다. 절대적인 기준은 없으니 OSI 모형을 맹목적으로 적용하여서는 안 된다는 뜻이다.
  3. 모든 이론이 그렇듯 OSI 모형 또한 현실에서 딱 맞아 떨어지지 않는다. 여태까지 계층 4 기반이라고 묘사했던 네트워크 로드 밸런싱은 사실 계층 3에서 오리진 서버와 대상 서버의 IP 주소를 알아내야만 라우팅 결정을 내릴 수 있고, 애플리케이션 로드 밸런싱도 계층 5, 6, 7을 아울러 작동한다.

이런 점을 유의하여 참고한다면 OSI 7 계층이 복잡한 네트워크의 세계를 탐구하는 데 도움이 될 것이다.

참고 : nginx, webopedia

--

--

No responses yet