[백엔드 로드맵 - NW] 기초 네트워크 지식

Sierra·2022년 8월 1일
0

Backend-Roadmap

목록 보기
23/43
post-thumbnail

Intro

네트워크 파트가 백엔드 개발자에게 왜 중요할까? 인프라 자체를 이해하는 데 네트워크 지식을 필요로 한다. 프로그래밍 실력 만큼이나 중요한 건 인프라에 대해 이해하는 것이라 생각한다.
네트워크 파트는 총 세 파트로 나뉜다.

  • Part 1 : 기초 네트워크 지식
  • Part 2 : TCP/IP 4계층 VS OSI 7 계층
  • Part 3 : IP 주소
  • Part 4 : HTTP

네트워크 기초 용어 정리

  • Node : 서버, 라우터, 스위치 등 네트워크 장치
  • Link : 유선 또는 무선으로 연결 된 상태

Throughput, Latency

  • Throughput : 링크를 통해 전달되는 단위 시간 당 데이터(bit per second)
  • Latency : 어떤 메시지가 두 장치 사이를 왕복하는 데 걸린 시간

Network Topology

  • Tree
    • 노드의 추가 및 삭제가 쉬움
    • 특정 노드에 트래픽이 집중되면 하위 노드에 영향을 끼칠 수 있음
  • Bus
    • LAN 에서 사용함
    • 설치가 쉽고 신뢰성이 우수함
    • 중앙 통신 회선에 노드를 추가하거나 삭제하기 쉬움
    • 스푸핑에 취약함
  • Star
    • 노드 추가 쉬움
    • 에러 탐지 쉬움
    • 패킷 충돌 가능성 낮음
    • 중앙에 에러가 생기면 모든 노드가 영향을 받음
  • Ring
    • 노드 수가 증가되어도 네트워크 상 손실이 없음
    • 충돌 발생 가능성이 적음
    • 노드의 고장을 쉽게 찾을 수 있음
    • 네트워크 구성 변경이 어려움
    • 회선에 장애가 발생하면 전체 네트워크에 영향을 끼침
  • Mesh
    • 트래픽 분산처리가 가능
    • 노드 하나가 에러가 생겨도 장애가 전체로 퍼지지 않음
    • 노드 추가가 어려움
    • 구축 비용과 운영 비용이 많이 듬
  • Bottle Neck
    • 하나의 구성요소로 인해 전체 시스템의 성능이나 용량이 제한을 받는 상황
    • Topology에 따라 적절한 대처법을 적용해야 함.

네트워크 분류

  • LAN
    • 근거리 통신망
    • 같은 건물과 같은 좁은 공간에서 운용
    • 전송 속도가 빠르고 혼잡하지 않음
  • MAN
    • 도시와 같은 넓은 지역에서 운영 됨
    • 전송 속도는 중간이며 혼잡함
  • WAN
    • 광역 네트워크. 국가나 대륙 단위로 운영.
    • 전송 속도는 낮으며 가장 혼잡함

네트워크 성능 분석 방법

  • Bottle neck의 원인
    • 네트워크 대역폭
    • 토폴로지
    • 서버 CPU, 메모리 사용량
    • 비효율적인 네트워크 구성
  • 이러한 원인을 분석하기 위해 사용하는 명령어
    • ping
      • 특정 노드에 직접 패킷을 전송함
      • Latency를 확인 할 수 있음
      • 노드 간 링크가 정상적인 지 확인 할 수 있음
      • TCP/IP 프로토콜 중 ICMP 프로토콜을 사용
      • 네트워크 정책 상 ICMP 를 차단하는 노드에 전송할 수 없음
    • netstat
      • 접속 되어 있는 서비스들의 네트워크 상태를 표시함
      • 서비스 포트가 열려있는 지 확인하는 데 주로 사용함
    • nslookup
      • DNS에 관련 된 내용을 확인하는 데 사용함
    • tracert
      • 목적지 노드까지 네트워크 경로를 확인할 때 사용함.

네트워크 기기 정리

  • 로드 밸런서
    • 서버의 부하를 분산하는 기기
    • 서버가 여러대가 있을 때 전체 시스템이 처리할 수 있는 트래픽을 늘려주는 역할
    • 종류
      • L4, L7
      • 각 각 Layer 4(Transport Layer), Layer 7(Application Layer)를 담당해서 붙은 이름
        • L7 스위치는 URL, 서버, 캐시, 쿠키 등을 기반으로 트래픽을 분산함.
          • Application Layer에서 작동함으로 애플리케이션 수준의 트래픽 모니터링도 가능함
        • L4 스위치는 Transport Layer에서 작동함으로 IP 와 포트를 기반으로 트래픽을 분산함. 메시지들을 따로 인식하지는 못함.
    • 로드밸런서는 주기적으로 헬스체크를 통해 서버의 상태를 확인함.
    • 비정상적인 서버가 있다면, 트래픽 분산 대상에서 제외시킴
  • Router
    • 여러 개의 네트워크를 연결, 분할, 구분 시켜주는 역할
    • 다른 네트워크에 존재하는 장치끼리 데이터를 주고받을 때 경로를 최적화 하는 역할을 함
  • L2 스위치
    • Layer 2 (DataLink Layer) 에서 데이터를 처리함.
    • 장치들의 MAC 주소를 MAC 주소 테이블을 통해 관리함.
    • 연결 된 장치로부터 패킷이 왔을 때 패킷 전송을 담당
  • L3 스위치
    • 사실상 라우터 역할을 하는 장비
    • 소프트웨어 기반 라우팅이 아닌 하드웨어 기반 라우팅
    • Layer 3 (Network Layer) 에서 데이터를 처리함
    • IP 패킷, IP 주소를 참조하여 라우팅 처리를 함
  • 브릿지
    • 두 개의 LAN을 상호 접속할 수 있도록 하는 통신망 연결 장치
    • 포트와 포트 사이의 다리 역할을 하며 장치에서 받아 온 MAC 주소를 MAC 주소 테이블로 관리함

Outro

전공 시간에 참 많은 지식들을 배웠지만 실무에서 자주 쓰이는 것 들을 위주로 정리 해 보았다.
다음 포스팅은 TCP/IP 4계층, OSI 7계층에 대해 써 보도록 하겠다.
정말 중요하고 인프라를 이해하기 위해서 몰라서는 안 되는 지식.

profile
블로그 이전합니다 : https://swj-techblog.vercel.app/

0개의 댓글