네트워크: 노드(node)와 링크(link)가 연결되어 리소스를 공유하는 집합
- 노드: 서버, 라우터, 스위치 등 네트워크 장치
- 링크: 유선 또는 무선 연결
처리량과 지연 시간
네트워크 구축 시 "좋은" 네트워크로 만드는 것이 중요
좋은 네트워크의 조건
- 많은 처리량 처리 가능
- 지연 시간 짧음
- 장애 빈도가 적음
- 보안 우수
처리량
링크 내에서 성공적으로 전달된 데이터의 양
- 단위: bps(bits per second): 처리량에서 사용하는 단위로 초당 전송 또는 수신되는 비트 수라는 의미
처리량에 영향을 주는 요소
- 트래픽 증가
- 네트워크 장치 간의 대역폭
- 네트워크 중간에 발생하는 에러
- 하드웨어 스펙

트래픽: 링크 내에 '흐르는' 데이터 양
처리량: 흐르는 데이터 중 실제 처리된 양
- 트래픽이 많아졌다 = 흐르는 데이터가 많아졌다
- 처리량이 많아졌다 = 처리되는 트래픽이 많아졌다
- 많은 트래픽을 처리한다 = 많은 처리량을 가진다
대역폭
주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수
지연 시간
요청이 처리되는 시간. 어떤 메시지가 두 장치 사이를 왕복하는 데 걸린 시간

지연 시간에 영향을 주는 요소
- 매체 타입(무선, 유선)
- 패킷 크기
- 라우터의 패킷 처리 시간
네트워크 토폴로지와 병목 현상
네트워크 토폴로지
노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태
📌 트리 토폴로지
- 계층형 구조, 트리 형태로 네트워크 구성
- 노드의 추가/삭제가 쉬움
- 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있음
📌 버스 토폴로지
- 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유
- 근거리 통신망(LAN)에서 사용
- 설치 비용이 적고 신뢰성 우수
- 중앙 통신 회선에 노드를 추가/삭제하기 쉬움
- 스푸핑 위험
📌 스푸핑
- 네트워크상 송신부의 패킷이 엉뚱한 노드로 가게 만드는 공격
- 스위칭 기능을 속여서 패킷을 탈취

스푸핑을 적용하면 올바르게 수신부로 가야 할 패킷이 악의적인 노드에 전달되게 됨
📌 스타 토폴로지
- 모든 노드가 중앙 노드에 연결
- 노드를 추가/에러 탐지가 쉬움
- 패킷 충돌 발생 가능성 적음(어떠한 노드에 장애가 발생해도 쉽게 에러 발견 가능)
- 장애 노드가 중앙 노드가 아닐 경우 다른 노드에 영향을 끼치는 것이 적음
- 중앙 노드 장애 시 전체 네트워크를 사용할 수 없고 설치 비용이 높음
📌 링형 토폴로지
- 각각의 노드가 양 옆 노드와 연결해 고리형 통신
- 데이터가 노드를 따라 이동
- 노드 고장 탐지 쉬움, 충돌 가능성 적음
📌 메시 토폴로지(망형 토폴로지)
- 모든 노드가 여러 경로로 연결된 망형 구조
- 장애 발생 시 다른 경로로 통신 가능(트래픽 분산 효과)
- 노드 추가가 어렵고 구축/운용 비용 고가인 단점이 있음
병목 현상
네트워크의 구조라고도 일컫는 토폴로지가 중요한 이유는 병목 현상을 찾을 때 중요한 기준이 되기 때문
병목 현상
시스템 전체 성능이 특정 구성 요소에 의해 제한되는 현상
(병 목 부분이 좁아 물이 천천히 흐르는 것처럼 트래픽이 막히는 현상)
예: 이벤트 트래픽 폭증 → 서버 과부하 → 사용자 접속 불가
예시 흐름
- 서비스 트래픽 증가 → 사용자 지연 발생
- 대역폭 크게 설정 → 성능 개선 X
- 네트워크 토폴로지를 확인해 회선 추가
- 서버 간 / 게이트웨이 간 경로를 확장하여 병목 현상 해결
회신 추가 전

회신 추가 후

네트워크 분류
LAN: 근거리 통신망, 빠른 전송 속도, 혼잡 적음
사무실, 학교, 캠퍼스 등 좁은 공간
MAN: 대도시 통신망, 평균 전송 속도, 다소 혼잡
서울시 같은 도시 규모
WAN: 광역 통신망, 낮은 전송 속도, 매우 혼잡
국가, 대륙 단위의 광범위 지역

네트워크 성능 분석 명령어
애플리케이션 코드에는 문제가 없지만 사용자가 데이터를 받지 못할 경우,
네트워크 병목 현상을 의심할 수 있음
네트워크 병목 주요 원인
- 네트워크 대역폭
- 네트워크 토폴로지
- 서버 CPU, 메모리 사용량
- 비효율적인 네트워크 구성
문제 원인을 파악하려면 네트워크 테스트 및 성능 분석이 필요
1️⃣ ping
- 대상 노드로 패킷을 보내 도달 여부, 응답 시간을 확인
- TCP/IP 프로토콜 중 ICMP를 이용해 동작
- ICMP 차단된 장비나 정책에서는 사용 불가
- 사용법: ping [IP 주소 또는 도메인 주소]
2️⃣ netstat
- 서비스들의 네트워크 연결 상태 확인
- 열려 있는 포트, 라우팅 테이블, 네트워크 프로토콜 등 조회
- 주로 서비스 포트 오픈 여부 점검에 사용
3️⃣ nslookup
- DNS 관련 정보 확인
- 도메인에 매핑된 IP 주소를 조회할 때 사용
4️⃣ tracert
- 목적지 노드까지 네트워크 경로를 추적
- 중간 어느 구간에서 응답 지연이 발생하는지 확인 가능
- 윈도우:
tracert / 리눅스: traceroute
⏹️ 그 외 유용한 명령어
| 도구 | 설명 |
|---|
| ftp | 대용량 파일 전송 후 성능 테스트 |
| tcpdump | 노드로 오가는 패킷 캡처 |
| Wireshark | 네트워크 패킷 분석 프로그램 |
| Netmon | 네트워크 모니터링 도구 |
네트워크 프로토콜 표준화
다른 장치들끼리 데이터를 주고받기 위해 설정된 공통 인터페이스
즉, 서로 다른 장비들이 약속된 규칙을 따라 통신할 수 있도록 하는 것
기업이나 개인이 발표해서 정하는 것이 아니라, IEEE 또는 IETF라는 표준화 단체가 이를 정함
예시
IEEE802.3: 유선 LAN 통신 프로토콜 (Ethernet)
서로 다른 제조사의 장비라도 유선 LAN을 통해 통신 가능
HTTP: 웹 접속 시 사용되는 통신 프로토콜
브라우저(클라이언트)와 서버가 HTTP 약속에 따라 데이터를 주고받음
참고: 북스터디 - 면접을 위한 CS 전공지식 노트 (Chapter 2-1)