-
네트워크의 기초 - 처리량과 지연시간, 토폴로지와 병목 현상나의 개발 이야기 2024. 7. 5. 11:31
네트워크의 기초
네트워크란 노드(node)와 링크(link)가 서로 연결되어 있거나 연결되어 있으며 리소스를 공유하는 집합을 의미한다.
그림1 노드와 링크 여기서 노드란 서버,라우터, 스위치 등 네트워크 장치를 의미하고 링크는 유선 또는 무선을 의미한다.
- 노드 - 서버, 라우터, 스위치 등 네트워크 장치
- 링크 - 유선, 무선
1.처리량과 지연 시간
- 처리량
- 지연시간
네트워크를 구축할 때는 '좋은' 네트워크를 만드는 것이 중요하다.좋은 네트워크란 1)많은 처리량을 처리할 수 있으며 2)지연 시간이 짧고 3)장애 빈도가 적고 4)좋은 보안을 갖춘 네트워트를 말한다.
1.2.처리량(throughput)
처리량은 링크 내에서 성공적으로 전달된 데이터의 양을 말하며 보통 얼만큼의 트래픽을 처리했는지를 나타낸다. '많은 트래픽을 처리한다 = 많은 처리량을 가진다.'
그림2 처리량 단위로는 bps(bit per second)를 쓴다. 초당 전송 또는 수신되는 비트 수라는 의미이다. 처리량은 사용자들이 많이 접속할때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향을 받는다.
- 대역폭(bandwidth) - 네트워크 장치가 일정 시간동안 전송할 수 있는 데이터의 최대 데이터 양이다. 대역폭이 bps와 같은 단위로 측정된다.
- 처리량은 트래픽과 대역폭의 영향을 받고 트래픽은 사용자의 수에 대역폭은 네트워크의 중간에 발생하는 에러 정도와 하드웨어 스펙에 영향을 받는다.
그림2를 보면 트래픽이 있는데 트래픽은 특정 시점에 링트 내에 '흐르는' 데이터의 양을 의미한다. 예를 들어 서버에 저장된 저장 파일(문서, 이미지, 동영상 등)을 클라이언트(사용자)가 다운로드 할 때 발생되는 데이터의 누적량을 뜻한다.
- 트래픽이 많아졌다. = 흐르는 데이터가 많아졌다.
- 처리량이 많아졌다. = 처리되는 트래픽이 많아졌다.
예시
- 만약 네트워크의 대역폭이 100Mbps이고, 네트워크 트래픽이 그 대역폭을 초과하여 150Mbps의 데이터가 전송되려고 한다면, 네트워크 혼잡이 발생하고 처리량이 100Mbps 이하로 떨어질 수 있다.
- 반면, 트래픽이 50Mbps일 때는 네트워크 혼잡이 없어서 처리량이 트래픽과 거의 같아질 수 있다.
1.2.지연시간(latency)
지연 시간(latency)란 요청이 처리되는 시간을 의미하며 어떤 메시지가 두 장치를 왕복하는데 걸린시간을 의미한다.
그림3 지연 시간 지연 시간은 매체 타입(무선, 유선), 패킷 크시, 라우터의 패킷 처리 시간에 영향을 받는다.
관련 지식
- 대역폭(Bandwidth) : 네트워크 장치의 최대 전송 용량. 이론적으로 처리량은 대역폭에 근접할 수 있지만, 실제로는 네트워크 혼잡, 패킷 손실, 지연 등으로 인해 낮을 수 있다.
- 지연 시간(Latency) : 데이터 전송 지연 시간. 낮은 지연 시간은 더 높은 처리량을 의미할 수 있다.
- 네트워크 혼잡(Network Congestion) : 네트워크 혼잡은 처리량을 감소시킬 수 있다.
트래픽과 처리량 비교
- 트래픽은 네트워크를 통새 이동하는 전체 데이터 흐름을 나타내고 처리량은 네트워크가 실제로 전달하는 데이터릐 양을 나타낸다.
- 트래픽은 네트워크에 들어오고 가는 데이터의 총량을 나타내며, 이는 네트워크 용량과 성능에 영향을 줄 수 있다.
- 처리량은 네트워크의 효율성을 나타내는 지표로, 최대 대역폭에 도달하지 못하는 경우도 있다.
- 트래픽이 많아지면 네트워크 혼잡이 발생할 수 있고, 이로 인해 처리량이 감소할 수 있다.
2. 네트워크 토폴로지와 병목 현상
네트워크 토폴로지(network topology)
- 트리 토폴포지 - 계층형
- 버스 토폴로지 - 중앙통신회선,스푸핑
- 스타 토폴로지 - 중앙 노드
- 링형 토폴로지 - 고리처럼 하나의 연속된
- 메시 토폴로지 - 그물망
네트워크를 설계할 때 고려하는 네트워크 토폴로지에 대해 알아보자 네트워크 토폴로지는 노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태를 의미한다.
2.1.트리 토폴로지
트리(tree) 토폴로지는 계층형 토폴로지라고 하며 트리 형태로 배치한 네트워크 구성을 의미한다.
그림4 트리 토폴로지 특징
- 노드 추가 삭제가 쉽다.
- 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있다.
2.2.버스 톨포로지
버스(bus)토폴로지는 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성을 말하며 근거리 통신망(LAN)에서 사용한다.
그림5 버스 토폴로지 특징
- 설치 비용이 적다.
- 신뢰성이 우수하다.
- 중앙 통신 회선에 노드를 추가하거나 삭제하기 쉽다.
- 스푸핑이 가능한 문제점있다.
스푸핑
스푸핑은 LAN상에서 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 특정 노드에 해당 패킷이 오도록 처리하는 것이다.
그림6 스푸핑 위 그림 처럼 스푸핑 적용하면 올바르게 수신부로 가야할 패킷이 악의적인 노드에 전달되게 된다.
스푸핑의 영향
- 데이터 유출: 스푸핑 공격을 통해 민감한 정보가 공격자에게 노출될 수 있습니다.
- 서비스 중단: 공격자는 네트워크 트래픽을 방해하거나 특정 서비스를 마비시킬 수 있습니다.
- 권한 획득: 공격자는 스푸핑을 통해 네트워크 상의 특정 장치나 사용자의 권한을 획득하여 추가적인 공격을 수행할 수 있습니다.
방어 방법
- 인증 및 암호화: 네트워크 트래픽을 암호화하고 강력한 인증 메커니즘을 도입하여 스푸핑 공격을 방지할 수 있습니다.
- 네트워크 모니터링: 비정상적인 네트워크 활동을 모니터링하여 스푸핑 공격을 조기에 탐지할 수 있습니다.
- MAC 주소 필터링: 네트워크 장치에서 허용된 MAC 주소 목록을 설정하여 스푸핑 공격을 방지할 수 있습니다.
- 네트워크 분할: 네트워크를 여러 서브넷으로 분할하여 스푸핑 공격의 영향을 제한할 수 있습니다.
2.3.스타 토폴로지
스타(star,성형) 토폴로지는 중앙에 있는 노드에 모두 연결되 네트워크 구성을 말한다.
그림7 특징
- 노드를 추가하거나 에러를 탐지하기 쉽다.
- 충돌 발생가능성이 적다.
- 어떠한 노드에 장애가 발생해도 쉽게 에거를 발견할 수 있다.
- 장애노드가 중앙 노드가 아닐경우 다른 노드의 끼치는 영향이 적다. 하지만 중앙 노드에 장애가 발생하면 전체 네트워크를 사용할 수 없다.
- 설치비용이 고가이다.
2.4.링형 토폴로지
링(ring)형 토폴로지는 각각의 노드가 양 옆의 두 노드와 연결하여 전체적으로 고리처럼 하나의 연속되 길을 통해 통신을 하는 망 구성 방식이다.
그림 8 링형 토폴로지 특징
- 데이터는 노드에서 노드로 이동한다.
- 각각 노드는 고리 모양의 길을 통해 패킷을 처리한다.
- 노드 수가 증가 되어도 네트워크 상의 손실이 없고, 충돌이 발생되는 가능성도 적다.
- 노드의 고장을 쉽게 찾을 수 있다.
- 네트워크 구성 변경이 어렵다.
- 회선에 장애가 발생하면 전체 네트워크에 영향을 크게 끼치는 단점이 있다.
2.5.메시 토폴로지
메시(mesh)토폴로지는 망형 토폴로지라고도 하며 그물망 처럼 연결되어 있는 구조이다.
그림9 메시 토폴로지 특징
- 한 단말 장치에 장애가 발생해도 여러 개의 경로가 존재하여 네트워크를 계속 사용할 수 있다.
- 트래픽 분산 처리가 가능하다.
- 노드의 추가가 어렵다.
- 구축 비용과 운용비용이 고가인 단점이 있다.
2.6.병목 현상
네트워크의 구조라고 일컫는 토폴로지가 중요한 이유는 병목 현상을 찾을 때 중요한 기준이 되기 때문이다.
회선 추가 전
그림10 회선 추가 전 예를 들어 위 그림 처럼 서비스를 만들었는데, 병목 현상이 일어나서 사용자가 서비스를 이용할 때 지연 시간이 길게 발생했다고 해보자, 관리자 A가 지연시간을 짧게 만들기 위해 대역폭을 크게 설정했음에도 성능이 개선되지 않았다.
회선 추가 후
관리자 A가 네트워트 토폴로지가 어떻게 되어 있나 확인했고, 서버돠 서버 간 그리고 게이트웨이로 이어지는 회선을 회선을 추가해서 병목 현상을 해결했다. 이 처럼 네트워크가 어떤 토폴로지를 갖는지, 또한 어떠한 경로로 이루어져 있는지 알아야 병목 현상을 올바르게 해결할 수 있다.
2.6.2.트리 토폴로지
병목현상
특정 계층의 허브나 스위치가 병목 지점이 될 수 있다. 특히, 상위 계층의 장치가 과부하 상태가 되면 하위 모든 장치에 영향을 미칠 수 있다.
해결방법
- 장치 업그레이드 : 과부하가 발생하는 허브나 스위치를 더 높은 성능의 장치로 교체한다.
- 네트워크 재구성: 트래픽이 집중되는 경로를 분석하고, 네트워크 구조를 재조정하여 과부하를 분산시킨다.
- 부하 분산 (Load Balancing): 여러 허브나 스위치를 사용하여 트래픽을 균형 있게 분산시킵니다.
- 트래픽 관리: 트래픽 우선순위 설정, QoS(Quality of Service) 정책 등을 적용하여 중요한 트래픽이 우선 처리되도록 합니다.
2.6.2.버스 토폴로지
병목현상
중앙 케이블이 병목 지점이 될 수 있다. 모든 장치가 동일한 케이블을 통해 데이터를 송수신 하기 때문에, 네트워크 트래픽이 많아지면 중앙 테이블에서 충돌과 지연이 발생할수 있다.
해결방법
- 케이블 업그레이드 : 더 높은 대역폭을 가진 케이블로 교체하여 데이터 전송 용량을 증가시킨다.
- 네트워크 분할 : 네트워크를 여러 세그먼트로 나누고 각 세그먼트에 별도의 케이블을 사용하여 트래픽을 분산시킨다.
- 트래픽 관리 : 네트워크 사용 시간이나 대역폭을 제한하여 트래픽을 분산시킨다.
2.6.3.버스 토폴로지
병목현상
중앙 허브나 스위치가 병목 지점이 될 수 있다. 모든 데이터가 중아 장치를 통과 하기 때문에, 중앙 장치의 성능이 떨어지거나 과부하가 발생하면 네트워크 성능이 저하될 수 있다.
해결방법
- 장치 업그레이드 : 더 높은 성능의 허브 또는 스위치로 교체하여 처리 용량을 증가시킨다.
- 부하 분산(⭐Load Balancing) : 여러 스위치나 허브를 사용하여 트래픽을 분산시킨다.
- 네트워크 세그먼트 분할 : 네트워크를 여러 작은 세그먼트로 나누고 각각의 세그먼트에 별도의 스위치를 사용하여 중앙 장치의 부담을 줄인다.
2.6.4.링형 토폴로지
병목현상
네트워크 트래픽이 특정 방향으로만 흐르기 때문에, 어느 한 지점에서 과부하가 발생하면 전체 네트워크에 영향을 미칠 수 있습니다. 또한, 한 장치의 고장이 전체 네트워크에 영향을 줄 수 있습니다.
해결방법
- 이중 링 (Dual Ring) 구성: 이중 링 구조를 사용하여 하나의 링에 장애가 발생해도 다른 링을 통해 데이터가 전송될 수 있도록 합니다.
- 트래픽 관리: 트래픽이 특정 방향으로만 흐르지 않도록 분산시키는 알고리즘을 사용합니다.
- 장치 업그레이드: 과부하가 발생하는 장치를 업그레이드하여 더 많은 트래픽을 처리할 수 있도록 합니다.
2.6.5.메 토폴로지
병목현상
이론적으로 병목 현상이 덜 발생하지만, 특정 링크에 과부하가 생길 수 있습니다. 실제로는 링크 수가 많아 관리가 복잡하고 비용이 많이 듭니다.
해결방법
- 링크 추가: 추가 링크를 설치하여 트래픽 경로를 다변화하고 분산시킵니다.
- 라우팅 최적화: 효율적인 라우팅 알고리즘을 사용하여 트래픽이 균형 있게 분산되도록 합니다.
- 부하 분산 (Load Balancing): 네트워크 부하를 여러 경로로 분산시켜 특정 링크에 과부하가 걸리지 않도록 합니다.
[출처 - 면접을 위한 CS 전공지식 노트, 저 주홍철]
면접을 위한 CS 전공지식 노트
디자인 패턴, 운영체제, 데이터베이스, 자료 구조, 네트워크, 개발자 면접
www.gilbut.co.kr
'나의 개발 이야기' 카테고리의 다른 글
회고록 - 서비스 내 재화 시스템 Cash도입 (0) 2024.02.03