본문 바로가기

CS 스터디

2.1.1 처리량과 지연 시간 - 2.1.2 네트워크 토폴로지와 병목 현상

참고한 책: 면접을 위한 CS 전공지식 노트 (http://www.yes24.com/Product/Goods/108887922)

2. 네트워크

    2.1. 네트워크의 기초

        2.1.1. 처리량과 지연 시간

        2.1.2. 네트워크 토폴로지와 병목현상

 

 

p.52

네트워크

  • 컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망을 지칭하는 용어
  • 노드(node)와 링크(link)가 서로 연결되어 있으며 릿소스를 공유하는 집합

노드: 서버, 라우터, 스위치 등의 네트워크 장치

라우터

라우팅 - 네트워크에서 경로를 선택하는 프로세스. 라우팅은 네트워크가 정체 없이 최대한 많은 용량을 사용할 수 있도록 데이터 트래픽을 관리함으로써, 네트워크 장애를 최소화함. 네트워크 통신의 효율성을 높임.

라우터는 컴퓨팅 디바이스와 네트워크를 다른 네트워크에 연결하는 네트워킹 디바이스. 주로 3가지 기본 기능 수행

1. 경로 설정: 소스에서 대상으로 이동하는 데이터의 경로 결정

2. 데이터 전달: 선택한 경로의 다음 디바이스로 데이터를 전달하여 최종적으로 대상에 도달하도록 함.

3. 로드 밸런싱: 경우에 따라 라우터가 여러 경로를사용하여 동일한 데이터 패킷의 여러 사본을 전송할 수도 있음. 이를 통해 데이터 손실로 인한 오류를 줄이고 이중화를 구현하고 트래픽 볼륨을 관리.

(출처: https://aws.amazon.com/ko/what-is/routing/)

 

스위치

네트워크 내의 장치를 연결하고 해당 장치와 데이터 패킷을 주고받음. 라우터처럼 패킷을 네트워크로 보내느 대신 장치로 직접 패킷을 보냄. 라우터는 인터넷 연결에 필요하지면 스위치는 장치를 상호 연결하는 데만 사용된다. 

(출처: https://www.cloudflare.com/ko-kr/learning/network-layer/what-is-a-network-switch/)

링크: 유선 또는 무선

 

처리량과 지연 시간

좋은 네트워크란

  • 많은 처리량을 처리할 수 있으며
  • 지연 시간이 짧고
  • 장애 빈도가 적으며
  • 좋은 보안을 갖춘 네트워크

처리량(throughput)

링크 내에서 성공적으로 전달된 데이터의 양을 말하며 보통 얼만큼을 처리했는지를 나타냄.

'많은 트래픽을 처리한다' = '많은 처리량을 가진다'

사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향받음.

단위: bps(bits per second). 초당 전송 또는 수신되는 비트 수.

 

트래픽

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

예를 들면, 클라이언트가 서버에서 파일을 다운로드할 때 발생되는 데이터의 누적량.

 

대역폭

주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수.

 

p.69

지연 시간(latency)

요청이 처리되는 시간. 어떤 메시지가 두 장치 사이를 왕복하는 데 걸린 시간.

매체 타입(무선, 유선), 패킷 크기, 라우터의 패킷 처리 시간에 영향을 받음.

 

p.70

네트워크 토폴로지와 병목현상

네트워크 토폴로지(network topology)

노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결형태 의미.

topology: 위상수학/ 위상히학이라는 용어로 설명되어 있는데... 다른 분야에서는 다른 의미로 사용된다. 회로나 시스템 설계시 어떤 식으로 구현하는가에 대한 방법론을 지칭하는 경우가 많다.

(출처: https://csdaniel.tistory.com/80)

 

트리(tree) 토폴로지

계층형 토폴로지라고 하며 트리 형태로 배치한 네트워크 구성

노드들은 부모-자식 계층 구조로 연결되어 있음.

중앙 허브에 연결된 노드는 다른 노드와 선으로 연결되어 있어 연결된 두 개의 노드는 하나의 연결만을 상호 공유함.

극히 유연하고 네트워크 확장이 매우 쉽기 때문에 광역 통신망에 사용됨.

-장점: 노드의 추가, 삭제가 쉬우며 네트워크 확장이 쉬움. 성능에 이상이 생긴 경우 각각의 가지에 개별적으로 접근할 수 있어 네트워크 장애를 해결하는 과정이 복잡하지 않음.

-단점: 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있음. 전체 네트워크의 안정성이 트리의 루트인 중앙 노드에 달려 있음. 중앙 허브에 문제가 발생하면 가지 시스템 내에서 연결되어 있더라도 가지들 사이의 연결은 끊어짐. 노드를 추가할 수록 관리하기 어려워지고 비용이 많이 듦. 장치들 간 연결에 필요한 케이블의 양이 많음.

(출처: https://www.edrawsoft.com/kr/for-beginners/what-is-network-topology.html)

 

허브

네트워크 장비와 장비를 연결해주는 장비.

다양한 기기들로부터 오는 전기신호들을 받아서 그 신호들을 증폭시켜 다른 기기들로 뿌려주는 역할.

(출처: https://yeoulcoding.me/127)

 

p.71

버스(bus) 토폴로지

중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성. 근거리 통신망(LAN)에서 사용.

-장점: 비용이 효율적이고 소규모 네트워크에 적합. 네트워크 배치가 단순해 모든 장치가 하나의 동축 케이블 또는 RJ45 케이블로 연결되기 때문. 추가로 케이블을 연결해 네트워크를 쉽게 더할 수 있거나 삭제하기 쉬움.

-단점: 데이터 전송에 하나의 케이블만 사용함. 케이블에 장애가 발생하면 전체 네트워크가 멈추게 되고 복구하는 데 시간과 비용이 많이 듦.(소규모에서는 별 문제가 아닐 수 있음.) 높은 대역폭을 지니지만, 노드를 추가할 때마다 대역폭이 낭비되어 데이터 전송속드를 늦춰 소규모 네트워크에 가장 알맞음. "반이중" 방식으로 데이터를 전달하여 데이터를 동시에 양방향으로 보낼 수 없어 막대한 트래픽을 전송해야 하는 네트워크에는 맞지 않음. + 스푸핑

(출처: https://www.edrawsoft.com/kr/for-beginners/what-is-network-topology.html)

 

스푸핑(Spoofing)

LAN 상에서 송신부의 패킷을 송신과 관련없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 특정 노드에 해당 패킷이 오도록 처리하는 것. IP 스푸핑, DNS 스푸핑, ARP 스푸핑 등이 있다. 스푸핑을 적용하면 올바르게 수신부로 가야할 패킷이 악의적인 노드에 전달됨.

 

p.72

스타(star) 토폴로지(=성형 토폴로지)

중앙에 있는 노드에 모두 연결된 네트워크 구성. 가장 흔하게 쓰이는 네트워크 토폴로지로, 네트워크 안의 모든 노드가 동축 케이블이나 연선 또는 광케이블을 통해 직접 하나의 중앙허브에 연결됨. 중앙 노드는 서버로서  작동하여 데이터 흐름을 관리함. 네트워크 내의 노드가 보낸 정보가 목적지에 닿기 위해서는 반드시 중앙 노드를 지나야 함. 중앙 노드는 신호를 수신하여 재전송 시키는 리피터처럼 기능하여 데이터 손실을 막음.

-장점: 전체 네트워크를 편리하게 관리할 수 있음. 각각의 노드는 중앙 허브와 독립적으로 연결되어 있어 노드 하나에 장애가 발생해도 나머지 네트워크는 영향을 받지 않음. 이는 스타 토폴로지가 안정적이고 안전한 네트워크 배치임을 의미함. 전체 네트워크를 오프라인으로 하지 않고서 장치를 추가, 제거, 수정할 수 있음. 네트워크 전부를 연결하는 데 적은 케이블을 사용하기 때문에 네트워크를 확장하거나 줄일 때 설정과 관리가 간단함. 디자인이 단순하여 장애가 발생해도 쉽게 찾아낼 수 있어 쉽게 관리할 수 있음.

-단점: 중앙 허브에 장애가 생기면 나머지 네트워크가 모두 멈춤. 네트워크의 대역폭과 성능이 중앙 노드의 설정과 기술적 상양에 의해 제한되어 설정비와 운영비를 높이는 요인이 됨.

(출처: https://www.edrawsoft.com/kr/for-beginners/what-is-network-topology.html)

 

링형 토폴로지(ring topology)

각각의 노드가 양 옆의 두 노드와 연결하여 전체적으로 고리처럼 하나의 연속된 길을 통해 통신을 하는 망 구성 방식. 데이터가 원 모양ㅇ의 네트워크를 따라 한 방향 또는 양 방향으로 흐름. 각각의 노드는 고리 모양의 길을 통해 패킷을 처리. 대규모 네트워크를 링 토폴로지로 배치한다면, 패킷이 목적지에 데이터 손실 없이 정확히 도달할 수 있도록 데이터 증폭 장치인 리피터를 사용할 수 있음.

-장점: 노드 수가 증가되어도 네트워크 상의 손실이 거의 없고 충돌이 발생되는 가능성이 적고 노드의 고장을 쉽게 찾을 수 있음. 비용 효율적, 설치 비용이 저렴함.

-단점: 네트워크 구성 변경이 어렵고 회선에 장애가 발생하면 전체 네트워크에 영향을 크게 끼침. 노드 하나에 문제가 발생하면 전체 네트워크가 중단될 수 있음. 네트워크 안의 모든 장치가 대역폭을 공유하므로, 장치를 추가하면 전반적으로 통신 지연을 일으킬 수 있음. 노드 재설정, 추가 또는 제거하기 위해서는 전체 네트워크를 중단해야 함.

(출처: https://www.edrawsoft.com/kr/for-beginners/what-is-network-topology.html)

 

p.73

메시(mesh) 토폴로지(= 망형 토폴로지)

그물망처럼 연결되어 있는 구조. 노드들을 점 대 점으로 상호 연결한 구조로 복잡하고 정교함. 완전 메시 형과 부분 메시 형이 있음. 부분 연결형 메시 토폴로지는 대부분이 상호연결된 가운데, 몇몇 노드들은 두세 개 장치들과 연결됨. 완전 연결형 메시 토폴로지는 모든 노드가 상호연결되어 있음.

-장점: 한 단말 장치에 장애가 발생해도 여러 개의 경로가 존재하므로 네트워크를 계속 사용할 수 있고 트래픽도 분산 처리가 가능함. ㄴ안정성과 보안성이 뛰어남.

-단점: 노드의 추가가 어렵고 구축 비용과 운용 비용이 고가. 

(출처: https://www.edrawsoft.com/kr/for-beginners/what-is-network-topology.html)

 

병목 현상

전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한 받는 현상.

예) 서비스에서 이벤트를 열었을 때 트래픽이 많이 생기고 그 트래픽을 잘 관리하지 못하면 병목현상이 생겨 사용자가 웹 사이트로 들어가지 못함.

>> 처리할 수 있는 양보다 많은 양이 들어와서 문제가 생김.

토폴로지가 중요한 이유는 병목현상을 찾을 때 중요한 기준이 되기 때문임.

 

게이트웨이(Gateway)

다른 네틍워크로 가기 위한 문. 현재 사용자가 위치한 네트워크에서 다른 네트워크로 이동하기 위해 반드시 거쳐야 하는 거점을 의미. 두 컴퓨터가 네트워크 상에서 서로 연결되려면 동일한 통신 프로토콜을 사용해야 함. 프로토콜이 서로 다른 네크워크 상의 컴퓨터와 통신하려면 두 프로토콜을 적절히 변환해주는 변환기가 필요한데, 게이트 웨이가 이러한 변환기 역할을 한다고 함.

(출처: https://ja-gamma.tistory.com/entry/%EA%B2%8C%EC%9D%B4%ED%8A%B8%EC%9B%A8%EC%9D%B4%EB%9E%80)

(출처: https://brownbears.tistory.com/195)