일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 캐시매핑
- 인접리스트
- 세그멘테이션
- 소마14기
- SWMaestro
- discord봇
- 스레싱
- Docker
- 토스IH
- 대외활동후기
- CICD
- CPU스케줄링
- SQL
- sqllite
- 힙
- api정리
- 멀티프로세싱
- 운영체제
- 라운드로빈
- 이진트리
- devocean
- 페이지교체알고리즘
- 디코
- solvesql
- cs
- computerscience
- 디코봇만들기
- 스택
- 페이지폴트
- 페이지히트
- Today
- Total
하마코
[CS] 네트워크 - 트래픽, 토폴로지, 유니/멀티/브로드캐스트, LAN/MAN/WAN 본문
안녕하세요! 하마코입니다. 😊
컴퓨터는 대부분 인터넷이나 다른 컴퓨터들과 연결되어 작동하죠! 웹, 게임, 이메일, 클라우드 등 네트워크 기반인데요!
오늘은 CS 과목 중 '네트워크' 과목에 대해서 알아보겠습니다!
네트워크란?
네트워크란 노드와 링크가 서로 연결되어 있으면서 리소스를 공유하는 집합을 의미합니다.
- 노드 : 서버, 라우터, 스위치 등 네트워크 장치
- 링크(엣지) : 유선 또는 무선과 같은 연결매체 (와이파이나 LAN)
트래픽이란?
트래픽은 특정 시점에 링크 내의 흐르는 데이터의 양을 말하는데요.
서버에 저장된 파일(문서, 이미지, 동영상 등)을 클라이언트(사용자)가 다운할 때 발생되는 데이터 누적량을 뜻해요.
그래서, "트래픽이 많아졌다"는 얘기는 "흐르는 데이터가 많아졌다"를 뜻합니다.
100KB 이미지를 1,000명이 다운로드 시 누적 트래픽 | 100KB * 1,000 = 100,000KB (100MB) |
10KB 동영상을 10명이 다운로드 시 누적 트래픽 | 10MB * 10 = 100MB |
처리량 (throughput) [bps]
처리량은 링크 내에서 성공적으로 전달된 데이터의 양을 의미하며, 보통 얼만큼의 트래픽을 처리했는지를 나타납니다.
그래서, "처리량이 많아졌다"는 얘기는 "처리되는 트래픽이 많아졌다"를 의미합니다.
처리량은 사용자들이 많이 접속할 때마다 커지는 것들에 영향을 많이 받는데요.
트래픽 / 네트워크 장치 간의 대역폭 / 네트워크 중간에 발생하는 에러 / 장치의 하드웨어 스펙에 따라 달라집니다.
대역폭 (bandwidth) [bps]
대역폭은 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수를 말합니다.
그래서 대략적인 최대 동시접속자수를 유추하는 데에 척도가 됩니다.
예를 들어, 고속도로 차선이 2차선보다 8차선일 때 더욱 교통이 원활히 이루어지듯이
대역폭이 높을수록 사용자에게 빠른 서비스를 제공할 수 있습니다.
100Mbps라는 대역폭을 가진 서버가 있고 한 사용자당 100kbps로 동영상 파일을 요청할 때 최대 동시접속자수 |
100Mbps / 100kbps = 약 1,000명 |
RTT (Round Trip Time)
RTT(왕복 지연 시간)는 신호를 전송하고 해당 신호의 수신 확인에 걸린 시간을 더한 값인데요.
쉽게 말해, 메시지가 두 장치를 왕복하는데 걸린 시간입니다.
네트워크 토폴로지
네트워크 토폴로지란 노드와 링크가 어떻게 구성되어있는지를 말합니다!
토폴로지 마다 모양이 달라서 버스, 스타, 트리 등으로 분류할 수 있습니다.
🧐 토폴로지는 왜 필요할까?
네트워크에서는 트래픽에 의해 데이터 흐름이 제한되는 '병목 현상'이 발생하는데요.
토폴로지를 파악함으로써 어디서 데이터가 막히는지를 알아내고 병목현상을 해결할 수 있습니다.
예를 들어, 회사에 100명이 인터넷 쓰는데 다같이 하나의 공유기(허브)에 연결되어 있다면
공유기가 병목 지점인 걸 확인하고 병목 현상을 줄일 수 있습니다.
버스 토폴로지
버스 토폴로지는 하나의 회선에 여러개의 노드가 직렬로 연결되어 있는 형태로 구성되어 있습니다.
하나의 선(버스)에 노드만 꽂는 구조라 노드 추가/삭제가 쉽고, 설치 비용이 적다는 특징이 있습니다.
- 장점) 소규모 네트워크 구축 쉬움 / 한 노드에 장애 발생해도 다른 노드에 영향 X (브로드캐스트 방식이어서)
- 단점) 메인 링크(버스)에 많은 트래픽 생기면 정체현상 발생 가능성 높음 / 메인 링크 망가지면 전체 마비
스타 토폴로지
스타 토폴로지는 모든 노드가 중앙 장치(허브/스위치)에 직접 연결되는 구조로 구성되어 있습니다.
모든 통신은 중앙 허브를 거쳐서 이루어진다는 특징이 있고, 버스 토폴로지처럼 노드 추가/삭제가 쉽습니다.
가정, 사무실, 소규모 네트워크에서 주로 사용됩니다.
- 장점) 중앙 노드가 아닌 한 노드에 장애가 발생해도 다른 노드에 영향X / 중앙 노드를 거쳐서 다른 노드로 갈 수 있기에 특정 노드가 침해당해도 안정성 높음
- 단점) 중앙 노드 에러 시 큰 문제 발생
트리 토폴로지
트리 토폴로지는 스타 토폴로지들이 계층적으로 연결되는 구조입니다.
하나의 루트 노드(중앙허브/스위치)를 중심으로 여러 하위 허브 또는 노드들이 계층적으로 분기되어 있습니다.
스타 토폴로지와 혼합형(Hybrid) 구조로도 많이 활용되고 기업, 학교, 대형 기관에서 주로 사용합니다.
트리 토폴로지는 회사 조직도랑 비슷한데요.
[ CEO -> 부서장 -> 팀원들 ] 이라는 조직도가 있을 때,
어느 팀에 문제가 생겨도 다른 부서 일에 크게 영향이 없는 것처럼 비슷하게 작용합니다.
- 예시) 본관 서버 -> 각 건물 공유기 -> 교실 컴퓨터
- 예시) 백본케이블
- 장점) 노드 확장 용이 / 리프 노드의 에러는 나머지 부분에 영향을 미치지 않음
- 단점) 특정 노드 트래픽 집중 시 하위 노드 영향 / 루트 노드에 문제가 생기면 전체 네트워크에 큰 문제 생김
링형 토폴로지
링형 토폴로지는 네트워크 노드들이 원형(링)으로 연결되는 구조인데요.
각 노드는 양 옆의 노드와만 연결되고, 데이터는 한 방향 또는 양방향으로 차례대로 전달됩니다.
그래서 고장에 취약하고, 트래픽이 많은 현대 네트워크에서는 비효율적이기에 많이 사용되지는 않습니다.
- 장점) 노드 추가/삭제 쉬움 / 노드 수가 많아져도 데이터 손실 없음 / 토큰 기반으로 노드 거침
- 단점) 링크/노드 하나만 에러 발생해도 전체 네트워크에 영향 / 토큰 없는 노드는 통신에 참여 못함
메시 토폴로지
메시 토폴로지 모든 노드가 다른 모든 노드와 직접 연결되는 구조입니다.
그래서 그물망 형태로 되어있고, 전체 회선 수는 n(n-1)/2로 계산할 수 있습니다.
- 장점) 경로가 여러개여서 안정성 높음 / 각 노드가 독립적이면서도 다중 연결되어있기에 한 노드가 장애가 나도 다른 노드에 영향 없음 / 여러 경로로 동시에 데이터 보낼 수 있어서 트래픽 분산 가능
- 단점) 회선이 비효율적으로 많기 때문에 구축 비용 많음
유니캐스트, 멀티캐스트, 브로드캐스트
유니캐스트는 1:1 통신을 말하고 대표적으로 HTTP 통신이 있습니다.
(송신자 -> 수신자 1명에게만)
멀티캐스트는 1:N 통신을 말하고 연결된 모든 노드들에게 데이터를 전달하지는 않고 특정 그룹에게만 데이터를 전달합니다.
(송신자 -> 여러 수신자(그룹)에게 동시 전송)
브로드캐스트는 1:N 통신을 말하고 연결되어 있는 모든 노드에게 데이터를 전달합니다.
네트워크의 분류
네트워크는 LAN, MAN, WAN 순으로 분류되는데요.
LAN이 가장 작은 단위, WAN이 가장 큰 단위이며 보통 반경, 속도 크기를 기반으로 분류합니다.
LAN
LAN(Local Area Network)은 소규모 네트워크로 보통 허브나 스위치로 연결된 네트워크를 말합니다.
하나의 논리적 주소인 IP를 기반으로 여러개의 물리적 주소인 MAC 주소로 구별하는 네트워크라고도 볼 수 있어요!
MAN
MAN(Metropolitan Area Network)은 대도시 통신망으로 도시와 도시의 통신망을 뜻하는데요.
2개 이상의 LAN이 연결되어 구성되기에 라우터, 브릿지 등으로 연결되는 것이 특징입니다.
WAN
WAN(Wide Area Network) 광역 통신망으로 국가와 국가와의 통신망을 뜻하며 '인터넷'이라고도 합니다.
수많은 라우터를 거쳐 다른 국가와도 연결되는 범위를 말합니다.
컴퓨터공학이 '도시'라면 네트워크는 그 도시의 '도로망'이라고 합니다.
아무리 좋은 건물을 지어도, 도로망이 엉망이면 사람과 물자(데이터)가 흐를 수 없죠!
현대 컴퓨터 시스템은 혼자가 아니라 함께 움직이기 때문에 네트워크 과목은 필수입니다!
2편에서 이어서 TCP/IP와 라우팅을 공부해보겠습니다. :)
(인프런 큰돌님의 영상과 자료를 참고합니다!)
'DEV > Computer Science' 카테고리의 다른 글
[CS] 운영체제 - 인터럽트, 시스템콜, 페이지폴트, 페이지히트/미스, 페이지교체 알고리즘 (4) | 2025.05.04 |
---|---|
[CS] 네트워크 - TCP/IP 4계층, 3way/4way 핸드셰이크 (0) | 2025.04.13 |
[CS] 클라우드 - off/on-premise, IaaS, PaaS, SaaS, 컨테이너, 도커 개념 알아보기 (1) | 2025.04.06 |
[CS] 개발자 필수 지식 - CI/CD, 오버라이딩/오버로딩, 추상화, 클래스/객체/인스턴스 (1) | 2025.04.02 |
[CS] API 개념을 정리해보자! (1) | 2025.03.29 |