joyful
네트워크의 기초 본문
네트워크: 노드(node)와 링크(link)가 서로 연결되어 리소스를 공유하는 집합
1. 처리량과 지연 시간
처리량:
- 링크 내에서 성공적으로 전달된 데이터의 양
- '많은 트래픽을 처리한다 = 많은 처리량을 가진다'를 의미
- 단위: bps (bits per second) 초당 전송 또는 수신되는 비트 수
- 트래픽이 많아졌다 = 흐르는 데이터가 많아졌다.
- 처리량이 많아졌다 = 처리되는 트래픽이 많아졌다.
지연시간:
- 요청이 처리되는 시간
- 어떤 메시지가 두 장치 사이를 황복하는 데 걸린 시간
2. 네트워크 토폴로지와 병목현상
네트워크 토폴로지
노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태
- 트리 토폴로지(tree):
-계층형 토폴로지라고 하며 트리 형태로 배치한 네트워크 구성
-노드의 추가, 삭제가 쉬우며 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있다. - 버스 토폴로지(bus)
-중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성
-근거리 통신망(LAN)에서 사용한다.
-설치 비용이 적고 신뢰성이 우수하며 중앙 통신 회선에 노드를 추가, 삭제하기 쉽다.
-스푸핑이 가능하다.
*스푸핑: LAN상에서 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 특정(악의적인) 노드에 해당 패킷이 오도록 하는 것. - 스타 토폴로지(star)
-중앙에 있는 노드에 모두 연결된 네트워크 구성
-노드를 추가하거나 에러를 탐지하기 쉽고 패킷의 충돌 발생 가능성이 적다.
-어떠한 노드에 장애가 발생해도 쉽게 에러를 발견할 수 있으며 장애 노드가 중앙 노드가 아닐 경우 다른 노드에 영향을 끼치는 것이 적다.
-하지만 중앙 노드에 장애가 발생하면 전체 네트워크를 사용할 수 없다. - 링형 토폴로지(ring)
-각각의 노드가 양 옆의 두 노드와 연결하여 고리처럼 하나의 연속된 길을 통해 통신하는 네트워크 구성
-노드 수가 증가되어도 네트워크상의 손실이 거의 없고 충돌이 거의 발생되지 않는다.
-노드의 고장을 쉽게 발견할 수 있다.
-하지만 네트워크 구성 변경이 어렵고 회선에 장애가 발생하면 전체 네트워크에 영향을 끼친다. - 메시 토폴로지(mesh)
-그물망처럼 연결되어 있는 구조
-한 단말 장치에 장애가 발생해도 여러 개의 경로가 존재하므로 네트워크를 계속 사용할 수 있고 트래픽 분산 처리가 가능하다.
-하지만 노드의 추가가 어렵다.
병목현상 (bottleneck)
- 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상
- 병목현상을 찾을 때 네트워크의 구조(토폴로지)가 중요한 기준이 되기 때문에 중요하다.
3. 네트워크 분류
네트워크는 규모를 기반으로 분류할 수 있다.
LAN (Local Area Network)
- 근거리 통신망을 의미
- 사무실과 개인적으로 소유 가능한 규모
- 전송 속도가 빠르고 혼잡하지 않다.
MAN (Metropolitan Area Network)
- 대도시 지역 네트워크
- 전송 속도는 평균
- LAN보다 혼잡하다
WAN (Wide Area Network)
- 광역 네트워크
- 국가 또는 대륙 같은 넓이의 지역에서 운영
- 전송 속도 낮음
- WAN보다 혼잡하다.
4. 네트워크 성능 분석 명령어
네트워크 병목 현상의 주된 원인:
- 네트워크 대역폭
- 네트워크 토폴로지
- 서버 CPU,메모리 사용량
- 비효율적인 네트워크 구성
네트워크 성능 분석 시 사용되는 명령어들:
ping (Packet INternet Groper)
- 네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어.
- 해당 노드의 패킷 수신 상태 / 도달하기까지 시간 등을 알 수 있다.
- 해당 노드까지 네트워크가 잘 연결되었는 지 확인할 수 있다.
netstat
- 접속되어 있는 서비스들의 네트워크 상태를 표시하는 데 사용되는 명령어.
- 네트워크 접속 / 라우팅 테이블 / 네트워크 프로토콜 등 리스트를 보여준다.
- 주로 서비스의 포트가 열려 있는지 확인할 때 쓴다.
nslookup
- DNS에 관련된 내용을 확인하기 위해 쓰는 명령어.
- 도메인에 매핑된 IP를 확인하기 위해 사용한다.
tracert
- 목적지 노드까지 네트워크 경로를 확인할 때 사용하는 명령어.
- 목적지 노드까지 구간들 중 어느 구간에서 응답 시간이 느려지는지 확인할 수 있다.
5. 네트워크 프로토콜 표준화
네트워크 프로토콜:
다른 장치들끼리 데이터를 주고받기 위해 설정된 공통된 인터페이스
예) 웹에 접속할 때 'HTTP'라는 프로토콜을 통해 노드들은 웹 서비스를 기반으로 데이터를 주고 받을 수 있다.