본문 바로가기
Computer Science/Network

01장 네트워크 시작하기 - 1

by YIAN 2021. 9. 22.

01장 네트워크 시작하기

1.1 네트워크 구성도 살펴보기

■ 네트워크

  • 네트워크는 서비스 받는 입장과 서비스 제공하는 입장으로 나뉨
    • 서비스 받는 입장: 집에서 인터넷 접속, 회사에서 업무할 때 등
    • 서비스 제공하는 입장: 클라우드, 데이터 센터, 회사 기계실 서버 등
  • 네트워크 접속 시 구성원 수, 필요한 네트워크 속도 등 상황 고려 필요

1.1.1 홈 네트워크

 홈 네트워크 구성도

▲ 그림 1-1. 네트워크 구성에 필요한 주요 요소들: 단말, 네트워크 장비, 케이블

  • 홈 네트워크 구성 시 모뎀, 공유기 단말 간에 물리적 연결 필요
  • 무선연결 예시: 무선 랜 카드, 무선 신호를 보낼 매체(공기)
  • 유선연결 예시: 유선 랜 카드(이더넷 랜 카드: 일반적으로 보드에 내장), 랜 케이블(랜선)

1.1.2 데이터 센터 네트워크

  • 안정적이고 빠른 대용량 서비스 제공을 목표로 구성
  • 안정적인 서비스 제공을 위해 다양한 이중화 기술 사용, 높은 통신량을 수용 가능해야 함
  • 위와 같은 조건을 만족하기 위해 10G, 25G, 40G, 100G, 400G와 같은 고속 이더넷 기술 사용

 데이터 센터 구성 변화

▲ 그림 1-2. 과거 데이터 센터 네트워크 구성(왼쪽)과 현재 데이터 네트워크 구성(오른쪽)의 변화

  • 기존에는 3계층 구성이 일반적이었으나 스케일 아웃(Scale-OUt) 기반의 애플리케이션과 서비스의 등장으로 2계층 구성인 스파인-리프(Spine-Leaf) 구조로 변화됨
    • 스케일 아웃(Scale-Out): 가상화 기술과 높은 대역폭을 요구함
    • 스파인-리프(Spine-Leaf): 서버 간 통신이 늘어나는 최근 트래픽 경향을 지원하기 위해 제안됨

▲ 그림 1-3. 데이터 센터 네트워크 구성도: 스파인-리프 구조

  • 최근 일반 서버에 10G Base-T 이더넷 포트가 기본적으로 제공되어 TOR(Top of Rack) 스위치와 연결되고 리프(Leaf) 스위치인 TOR 스위치는 스파일(Spine) 스위치와 40G, 100G로 연결되는 추세임
    • 리프(Leaf) 스위치는 랙(Rack)에 장착되어 해당 랙의 서버 통신을 책임짐
  • 더 높은 대역폭을 제공하기 위해 400G 네트워크도 표준화되어 데이터 센터에 사용되고 있음

1.2 프로토콜

  • 규정, 규약과 관련된 내용을 언급할 때 프로토콜이라는 용어가 사용되는데, 네트워크에서 통신할 때의 규약 언급 시에도 사용됨
  • 어떤 그룹이 만들었는지와 어떤 곳에서 사용하느냐에 따라 특징이 달라져서 다양한 형태로 존재했으나, 최근에는 이더넷-TCP/IP 기반 프로토콜로 변경되고 있음
    • 물리적 측면: 데이터 전송 매체, 신호 규약, 회선 규격 등 이더넷이 널리 쓰임
    • 논리적 측면: 장치들끼리 통신하기 위한 프로토콜 규격. TCP/IP가 널리 쓰임
  • 네트워크 서비스가 처음 개발되었던 1900년대에는 적은 컴퓨팅 자원과 매우 느린 네트워크 속도를 이용해 최대한 효율적으로 통신하는 것이 목표였기 때문에 대부분의 프로토콜은 문자 기반이 아닌 최소한의 비트(2진수 bit) 기반으로 만들어짐
  • 물론 애플리케이션 레벨의 프로토콜은 비트 기반이 아닌 문자 기반 프로토콜이 많이 사용되고 있음
    • 대표적인 프로토콜: HTTP, SMTP
  • 효율성은 비트 기반 프로토콜보다 떨어지지만 문자로 정의되어 있어 헤더 정의가 자유롭고 다양한 확장이 가능함

 HTTP 프로토콜 헤더

▲ 그림 1-4. HTTP 프로토콜 헤더 예시

 프로토콜 스택

  • TCP/IP, UDP, ICMP, ARP, HTTP, SMTP, FTP 등 애플리케이션 레이어 프로토콜 존재
  • TCP/IP는 별도 계층에서 동작하는 프로토콜이지만 함께 사용하므로 프로토콜 묶음(스택)으로 부름
  • 총 4개부분으로 나뉨
    • 애플리케이션(Application) 계층: FTP, SSH, TELNET, DNS, SNMP
    • 트랜스포트(Transport) 계층: TCP, UDP
    • 네트워크(Network) 계층: ICMP, IP, ARP
    • 데이터링크(Data Link) 계층, 피지컬(Physical) 계층: 이더넷(Ethernet)

1.3 OSI 7계층과 TCP/IP

▲ 그림 1-5. OSI 7계층과 TCP/IP

1.3.1 OSI 7계층

  • 과거에는 통신용 규약이 표준화되지 않았고 각 벤더에서 별도로 개발했기 때문에 호환되지 않는 시스템이나 애플리케이션이 많고 통신이 불가능 했었음. 이를 하나의 규약으로 통합하려는 노력이 현재의 OSI 7계층임.
  • 네트워크 동작을 나누어 이해하고 개발하는 데 많은 도움이 되므로 네트워크의 주요 레퍼런스 모델로 활용되고 있으나 현재는 대부분의 프로토콜이 TCP/IP 프로토콜 스택 기반으로 되어있음
  • 표준화된 프로토콜 템플릿을 통해 네트워크 프로토콜을 전부 개발하는 대신 계층별로 프로토콜을 개발해 네트워크 구성 요소들을 모듈화할 수 있음. 모듈화된 요소는 기존에 개발된 프로토콜과 연동해 사용할 수 있음.

1.3.2 TCP/IP 프로토콜 스택

  • 현대 네트워크의 대부분은 TCP/IP와 이더넷으로 이루어져 있음
  • TCP/IP는 이론보다 실용성에 중점을 둔 프로토콜임
  • OSI 레퍼런스 모델은 7계층, TCP/IP 모델은 4계층으로 구분
  • OSI 7계층은 데이터 플로 계층과 애플리케이션 계층으로 구분
    • 데이터 플로 계층: 데이터를 전달하는 부분
    • 애플리케이션 계층: 데이터를 만드는 부분
  • TCP/IP 4계층: 상위 3개 계층은 하나의 애플리케이션 계층, 1,2 계층은 하나의 네트워크 계층으로 구분함
  • OSI 7계층과 TCP/IP 4계층은 애플리케이션 개발자가 고려해야 할 부분과 서버 엔지니어나 네트워크 엔지니어가 고려해야 할 부분으로 구분됨

 


📚 목차 | 다음 글 👉


 

✍ 회고

처음에 읽었을 때는 스케일 아웃과 스파인 리프 구조에 대한 내용의 글이 잘 이해가 되지 않았습니다. OSI 7계층과 TCP/IP는 네트워크에서 단골로 등장하는 내용입니다. 이 또한 머릿속으로 잘 정리가 되지 않았었는데, 손으로 직접 그림을 그려보고 다시 읽어보니 이해가 되었습니다. 다음 포스팅에서 좀 더 자세하게 다뤄보겠습니다. 이 책의 내용은 소프트웨어 개발자가 읽기에 쉽게 이해되는 책으로 추천해 드리고 싶습니다.

 

사담이지만 해당 글은 마크다운이 아닌 티스토리 블로그 기본모드로 작성한 것입니다. 마크다운으로 작성하고 싶었으나 모바일에서는 수정이 안 되는 이슈가 있어서 기본모드로 작성할 것 같습니다. 몇 날 며칠을 마크다운과 씨름했는데, 티스토리 블로그는 마크다운으로 작성하기 매우x3 열악한 환경입니다. 스터디 진행하면서 학습 및 정리한 내용을 포스팅 하려고 보니까 마크다운으로는 안 되겠습니다. 

 

저작권에 어긋날 것 같아서 책에 나온 그림을 직접 아이패드로 그렸습니다. 양해 부탁드립니다.

 

 

🧸 참고사항

댓글