Section 1. 네트워크의 기초
네트워크란?
노드(네트워크 장치 *서버, 라우터, 스위치 등)와 링크(유선/무선)가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미한다.
2.1.1 처리량과 지연 시간
좋은 네트워크란?
- 처리량 🔼
- 의미: 성공적으로 전달·처리된 데이터 양(트래픽)
- 단위: bps - 초당 전송/수신되는 비트 수
- 영향을 주는 요소 - 트래픽(접송량), 네트워크 장치 간 대역폭, 네트워크 중 발생된 에러, 장치의 하드웨어 스펙
- 지연 시간 🔽
- 요청이 처리되는 시간. 즉, 메시지가 두 장치 사이를 왕복하는데 걸린 시간
- 영향을 주는 요소 - 매체 타입(무선/유선), 패킷 크기, 라우터 패킷 처리 시간
- 장애 빈도 🔽
- 좋은 보안
2.1.2 네트워크 토폴로지와 병목 현상
네트워크 토폴로지란?
노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태이다.
5 가지 유형으로 트리, 버스, 스타, 링형, 메시 방식이 있다.
유형 | 1. 트리 토폴로지 | 2. 버스 토폴로지 | 3. 스타 토폴로지 | 4. 링형 토폴로지 | 5. 메시 토폴로지 |
개념 | 계층형 토폴로지 | - 회선 하나에 여러 개 노드 연결되어 공유 - LAN(근거리 통신)에 사용 |
중앙에 있는 노드에 모두 연결된 네트워크 구성 | 노드가 양 옆 두 노드와 연결하여 전체적으로 고리처럼 하나의 연속된 길을 통해 통신 | 망형 토폴로지 |
그림 | ![]() |
![]() |
![]() |
![]() |
![]() |
장점 | 노드의 추가, 삭제 용이 | - 설치 비용 적음 - 신뢰성 우수 - 중앙 통신 회선에 노드 추가, 삭제 용이 |
- 노드 추가, 에러 탐지 용이 - 패킷 충돌 가능성 작음 - 중앙 노드만 아니면 다른 노드끼리는 영향이 적음 |
- 노드 수 증가에도 네트워크상 손실 없음 - 충돌 발생 가능성 적음 - 노드 고장 발견 쉬움 |
- 여러 경로가 있어 한 단말 장치 장애 발생시에도 네트워크 지속 사용 가능 - 트래픽 분산 처리 가능 |
단점 | 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있음 | 스푸핑*이 가능함 *스푸핑: LAN상에서 스위칭 기능을 마비시키거나 속임. 송신부의 패킷을 악의적인 노드에 오도록 처리함. ![]() |
- 중앙 노드 장애 발생시, 전체 네트워크 사용 불가 - 설치 비용 💲 고가 |
- 네트워크 구성 변경 어려움 - 회선에 장애 발생시, 전체 네트워크에 큰 영향 |
- 노드 추가 어려움 - 구축 비용, 운용 비용 💲 고가 |
토폴로지가 중요한 이유: 병목 현상을 찾을 때 중요한 기준이 됨
병목 현상이란?
전체 시스템의 성능, 용량이 하나의 구성 요소 때문에 제한 받는 현상을 의미한다.
트래픽을 잘 관리하지 못하면 병목 현상이 생겨 사용자는 웹 사이트로 들어가지 못하게 된다.
- 토폴로지를 알고 있다면 어떤 부분에 어떤 회선, 어떤 서버의 용량을 증가시켜야 하는지 알 수 있다.
병목 현상 발생 | 토폴로지 확인 후 문제 해결 |
![]() |
![]() |
병목 현상이 발생하여 서비스 지연 시간이 길어짐 | 서버-서버 회선, 게이트웨이 연결 회선 추가 |
2.1.3 네트워크 분류
네트워크는 규모를 기반으로 분류한다.
- LAN: 근거리 통신망
- 좁은 공간(같은 건물, 캠퍼스)에서 운영된다.
- 전송 속도 빠름. 혼잡도 낮음.
- MAN: 대도시 지역 네트워크
- 넓은 지역(도시)에서 운영된다.
- 전송 속도 평균. LAN보다 더 혼잡.
- WAN: 광역 네트워크
- 더 넓은 지역(국가, 대륙)에서 운영된다.
- 전송 속도 낮음. MAN보다 더 혼잡.
2.1.4 네트워크 성능 분석 명령어
사용자가 서비스에서 데이터를 가져오지 못하고 있다.
네트워크로부터 발생한 문제라면, 네트워크 성능 분석을 해야 한다.
이러한 네트워크 병목 현상의 주된 원인은?
- 네트워크 대역폭
- 네트워크 토폴로지
- 서버 CPU, 메모리 사용량
- 비효율적인 네트워크 구성
네트워크 성능 분석 명령어
1. ping(Packet INternet Groper)
- 개념: 타겟 노드(네트워크 상태를 확인하려는 노드)를 향해 일정 크기의 패킷을 전송하는 명령어이다.
- 의의: 해당 노드의 패킷 수신 상태, 도달하기까지 시간 등과 네트워크 잘 연결되어 있는지 확인이 가능한다.
- 특징: TCP/IP 프로토콜 중 ICMP 프로토콜을 통해 동작한다.
- macOS에서는 -c 옵션으로 ping 명령어를 사용한다.
- ping -c 12 www.google.com
- 전송 패킷수, 손실 패킷 수, 왕복 시간의 정보를 얻을 수 있다.
2. netstat
- 접속되어 있는 서비스들의 네트워크 상태 표시
- 네트워크 접속, 라우팅 테이블, 네트워크 프로토콜 등 리스트를 보여줌
- 사용 목적: 서비스의 포트가 열려있는지 확인
- 현재 내가 접속하고 있는 사이트 등에 관한 네트워크 상태 리스트 확인 가능
3. nslookup
- DNS(Domain Name System)*에 관련된 내용 확인을 위한 명령어
- *DNS: 도메인 이름과 IP 주소를 매핑해주는 서버이다. 이를 통해 IP 주소가 바뀌어도 사용자들에게 똑같은 도메인 주소로 서비스할 수 있다. 예를 들어 www.naver.com의 IP 주소가(111.111 -> 222.122)로 바뀌었더라도 똑같은 www.naver.com이라는 주소로 서비스가 가능하다.
- 특정 도메인에 매핑된 IP를 확인하기 위해 사용
4. tracert / traceroute
- 목적지 노드까지 네트워크 경로를 확인할 때 사용
- 어느 구간에서 응답 시간이 느려지는지 확인할 수 있음
4. etc ..
- 명령어
- ftp: 대형 파일 전송하여 테스팅
- tcpdump: 노드로 오고 가는 패킷 캡처
- 네트워크 분석 프로그램
- wireshark
- netmon
2.1.5 네트워크 프로토콜 표준화
네트워크 프로토콜이란?
다른 장치들끼리 데이터를 주고받기 위해 설정된 공통된 인터페이스를 의미한다.
IEEE, IETF 라는 표준화 단체가 이를 정한다.
예시 | HTTP: '서로 약속된' 인터페이스인 HTTP라는 프로토콜을 통해 노드들은 웹 서비스를 기반으로 데이터를 주고받을 수 있다.
'Development > CS' 카테고리의 다른 글
네트워크 심화 공부 - IP, 너 누구야 (0) | 2025.01.10 |
---|---|
[면접을 위한 CS 전공 지식 노트] 2.5 HTTP (0) | 2025.01.08 |
[면접을 위한 CS 전공 지식 노트] 2.4 IP 주소 (0) | 2025.01.08 |
[면접을 위한 CS 전공 지식 노트] 2.3 네트워크 기기 (0) | 2025.01.08 |
[면접을 위한 CS 전공 지식 노트] 2.2 TCP/IP 4계층 모델 (0) | 2025.01.08 |