본문 바로가기

공부/Computer Science

네트워크 기초 - 트래픽, 처리량, 대역폭, 토폴로지, LAN, MAN, WAN

네트워크

노드와 링크가 서로 연결되어있으며 리소스를 공유하는 집합

노드

  • 서버, 라우터, 스위치 등과 같은 네트워크 장치

링크 (엣지)

  • 무선 또는 유선으로 된 연결매체 (와이파이, LAN)

트래픽

특정 시점내에 링크내에 흐르는 데이터의 양

처리량

링크내에 성공적으로 전달된 데이터의 양

대역폭

주어진 시간동안 네트워크 통신 연결시 최대로 흐를 수 있는 비트(bits) 수

RTT (Round Trip Time : 왕복지연시간)

신호를 전송하고 해당 신호를 다시 수신확인 할때까지 걸리는 시간을 더한 값

어떤 메세지가 두 장치 사이를 왕복할 때 걸리는 시간

토폴로지

노드와 링크가 어떻게 구성되어 있는지를 말함

버스, 스타, 트리, 링, 메시 토폴로지가 있음

버스 토폴로지

하나의 회선에 여러 개의 노드를 연결하는 방법

노드 추가, 삭제 쉬움

장점

  • 하나의 노드에 장애가 생겨도 다른 노드에 영향을 끼치지 않음

단점

  • 메인 링크에 트래픽이 많아지면 정체현상이 발생할 수 있다 (패킷 손실율 높음)
  • 메인 링크가 손상되면 전체 네트워크에 큰 문제 발생

스타 토폴로지

중앙에 노드를 기반으로 연결된 형태

노드 추가, 삭제 쉬움

장점

  • 중앙노드를 제외한 노드나 링크가 장애가 생겼을 때 다른 노드에 영향없음
  • 중앙노드가 아닌 노드에 침해가 발생했을때 다른 노드로 확장하기 어려움
  • (중앙노드를 거쳐야 다른 노드로 이동할 수 있기 때문에 방화벽이 깐깐한 중앙노드를 침해하긴 어려움)

단점

  • 중앙노드가 망가지면 전체 네트워크에 문제가 발생

트리 토폴로지

계층적 토폴로지라고도 함

노드 추가, 삭제 보통 (리프노드에서의 확장, 삭제가 용이, 나머지 노드는 어려움)

버스 토폴로지와 스타 토폴로지의 하이브리드 버전

장점

  • 노드 확장이 용이함 (리프노드의 확장)
  • 리프노드의 장애는 다른 노드에 영향없음

단점

  • 한 노드에 트래픽이 많아지면 하위 노드에 영향있음
  • 루트노드에 문제가 생기면 전체 네트워크에 문제발생

링 토폴로지

고리 형태

노드 추가, 삭제 쉬움

장점

  • 데이터 손실율이 없다
  • 토큰을 기반으로 통신권한 여부를 따져가며 권한이 없으면 데이터를 전달받지 못함

단점

  • 노드나 링크가 하나라도 문제가 생기면 네트워크 전체에 문제발생
  • 토큰이 없는 노드는 통신에 참여하지 못하며 데이터 공유할 수 없음

메시 토폴로지

그물망 형태

노드 추가, 삭제 어려움

풀 메시 토폴로지의 경우 n * (n - 1) / 2 만큼의 회선이 필요함

장점

  • 안정성이 높음
  • 노드나 링크가 하나 망가지더라도 다른 노드에 영향없음
  • 트래픽을 분산할 수 있음

단점

  • 비효율적으로 많은 회선이 필요하기 때문에 구축비용이 고가임

토폴로지의 필요성

병목현상을 해결하는 척도가 됨

(네트워크 적 병목현상: 여러가지 이유로 링크 내에서 데이터의 흐름이 정체된 상태를 말함)

유니캐스트

1:1 통신, 대표적으로 HTTP가 있으며 가장 기본적인 네트워크 전송 방식

멀티캐스트

1:N 통신이지만 정해진 그룹에게만 데이터를 전달할 수 있음

브로드캐스트

1:N 통신이며 연결된 모든 노드에 데이터를 전달함

네트워크 분류

LAN (Local Aria Network : 근거리 통신망)

MAN, WAN보다 높은 안정성과 속도를 가짐

소규모 네트워크 - 보통 허브나 스위치로 연결되어 있음

MAN (Matropolitan Aria Network : 대도시 통신망)

도시와 도시간의 통신

라우터나 브릿지를 사용하여 연결함

WAN (Wide Aria Network : 광역 통신망)

국가와 국가간의 통신

수 많이 연결된 라우터를 통해 다른 국가와도 연결되는 범위

 

예상 질문

Q1. 처리량과 대역폭은 무엇이며, 프론트엔드 개발에서 이를 최적화할 수 있는 방법은?

Q2. 네트워크 토폴로지란 무엇이며, 프론트엔드 성능에 어떤 영향을 끼칠 수 있을까?

Q3. 유니캐스트, 멀티캐스트, 브로드캐스트의 차이와 프론트엔드에서 각각 활용될 수 있는 예를 들어보시오.

Q4. 병목현상이란 무엇이며, 이를 해결하기 위해 프론트엔드에서 어떤 전략을 사용할 수 있는가?

Q5. 브라우저에서 발생하는 네트 워크 지연시간을 줄이기 위해 어떤 방법을 사용할 수 있는가?