[네트워크] 네트워크의 기초

2024. 10. 22. 21:34·💻 CS/네트워크

네트워크(Network)란 여러 장치들이 서로 연결되어 데이터를 주고받고, 리소스를 공유하는 구조를 의미합니다. 이러한 네트워크는 노드(Node)와 링크(Link)로 구성되어 있습니다.

  • 노드(Node): 서버, 라우터, 스위치 등의 네트워크 장치를 의미합니다. 각 노드는 데이터를 주고받고 네트워크 안에서 자원을 공유하거나 정보를 교환하는 역할을 합니다.
  • 링크(Link): 유선 또는 무선을 통해 노드를 연결하는 방식입니다. 유선 링크는 케이블이나 광섬유 등을 사용하며, 무선 링크는 Wi-Fi, 블루투스 등 전파를 이용해 노드를 연결합니다.

1. 네트워크 성능 지표

1-1. 처리량(Throughput)과 지연 시간(Latency)

네트워크를 구축할 때 중요한 것은 "좋은 네트워크"를 만드는 것입니다. 좋은 네트워크란 많은 처리량(처리량⬆️), 짧은 지연 시간(지연 시간⬇️), 적은 장애 빈도(장애 빈도⬇️), 높은 보안성(보안⬆️)을 가진 네트워크를 의미합니다.

1) 처리량 (Throughput)

처리량은 링크 내에서 성공적으로 전달된 데이터의 양을 의미합니다. "많은 트래픽을 처리한다 = 많은 처리량을 가진다"는 의미로, 단위로는 bps(bits per second)를 사용합니다. 즉, 초당 전송되거나 수신되는 비트 수입니다.

처리량은 사용자 접속 증가, 네트워크 장치 간 대역폭, 네트워크 중간 에러, 장치의 하드웨어 스펙 등에 영향을 받습니다.

📢 트래픽: 특정 시점에 링크 내에서 "흐르는" 데이터의 양을 의미합니다.

  • 예) 서버에 저장된 파일(문서, 이미지, 동영상 등)을 클라이언트가 다운로드할 때 발생하는 데이터의 누적량

2) 지연 시간 (Latency)

지연 시간은 요청이 처리되는 시간, 즉 메시지가 두 장치 사이를 왕복하는 데 걸린 시간을 의미합니다. 지연 시간은 매체 타입(무선, 유선), 패킷 크기, 라우터의 패킷 처리 시간 등에 영향을 받습니다.

  • 패킷(Packet): 네트워크를 통해 전송되는 데이터의 작은 조각
  • 라우터(Router): 여러 네트워크 간을 연결하고 패킷을 전달하는 장치

2. 네트워크 토폴로지(Network Topology)와 병목 현상(Bottleneck)

2-1. 네트워크 토폴로지(Network Topology)의 종류

1) 트리(Tree) 토폴로지

트리 토폴로지는 계층형 구조로 네트워크를 배치하는 방식입니다. 노드의 추가와 삭제가 쉽지만, 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있습니다.

2) 버스(Bus) 토폴로지

버스 토폴로지는 중앙 통신 회선 하나에 여러 노드가 연결되어 있는 구조입니다. 근거리 통신망(LAN)에서 주로 사용되며, 설치 비용이 적고 신뢰성이 높습니다. 하지만 스푸핑(Spoofing)이 발생할 수 있는 단점이 있습니다.

  • 스푸핑(Spoofing): 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 속여 특정 노드로 패킷을 유도하는 공격 기법입니다.

3) 스타(Star) 토폴로지

스타 토폴로지는 중앙 노드에 모두 연결된 구조입니다. 노드 추가와 에러 탐지가 쉽고, 패킷 충돌 발생 가능성이 적습니다. 하지만 중앙 노드에 장애가 발생하면 전체 네트워크에 영향을 끼치는 단점이 있습니다.

4) 링형(Ring) 토폴로지

링형 토폴로지는 각 노드가 양 옆의 노드와 연결되어 고리처럼 통신하는 구조입니다. 노드 수가 증가해도 네트워크 상의 손실이 거의 없고 충돌 발생 가능성이 적지만, 구성 변경이 어렵고 회선 장애 시 전체 네트워크에 영향을 줄 수 있는 단점이 있습니다.

5) 메시(Mesh) 토폴로지

메시 토폴로지는 그물망처럼 연결된 구조입니다. 한 노드에 장애가 발생해도 여러 경로가 있어 네트워크 사용이 가능하고, 트래픽 분산 처리가 가능합니다. 하지만 구축 비용과 운용 비용이 높다는 단점이 있습니다.

 

2-2. 병목 현상(Bottleneck)

병목 현상이란 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상을 말합니다. 병목 현상을 해결하기 위해서는 네트워크의 토폴로지와 경로를 파악하는 것이 중요합니다.

3. 네트워크 분류

3-1. LAN (Local Area Network)

LAN은 근거리 통신망으로, 건물이나 캠퍼스 같은 좁은 공간에서 운영됩니다. 전송 속도가 빠르고 혼잡하지 않습니다.

3-2. MAN (Metropolitan Area Network)

MAN은 대도시 지역 네트워크로, 도시와 같은 넓은 지역에서 운영됩니다. 전송 속도는 평균이며 LAN보다는 혼잡도가 높습니다.

3-3. WAN (Wide Area Network)

WAN은 광역 네트워크로, 국가나 대륙 같은 더 넓은 지역에서 운영됩니다. 전송 속도는 낮고, 혼잡도가 높습니다.

4. 네트워크 성능 분석 명령어

4-1. Ping (Packet INternet Groper)

Ping은 네트워크 상태를 확인하려는 대상 노드로 일정 크기의 패킷을 전송하여 패킷 수신 상태와 도달 시간 등을 확인하는 명령어입니다. Ping은 TCP/IP 프로토콜 중 ICMP 프로토콜을 통해 동작하며, 네트워크가 잘 연결되어 있는지 확인하는 데 사용됩니다.

4-2. netstat

netstat는 접속된 서비스들의 네트워크 상태를 표시하는 명령어로, 네트워크 접속 상태, 라우팅 테이블, 네트워크 프로토콜 등을 보여줍니다. 주로 서비스의 포트가 열려있는지 확인하는 용도로 사용됩니다.

4-3. nslookup

nslookup은 DNS 관련 정보를 확인하는 명령어로, 특정 도메인에 매핑된 IP를 확인할 때 사용됩니다.

4-4. tracert (traceroute)

tracert(traceroute)는 목적지 노드까지의 네트워크 경로를 확인하는 명령어로, 각 구간의 응답 시간 등을 확인하는 데 사용됩니다.

5. 네트워크 프로토콜 표준화

네트워크 프로토콜은 다른 장치들 간에 데이터를 주고받기 위해 설정된 공통 인터페이스입니다. 이 표준은 IEEE나 IETF와 같은 표준화 단체에 의해 정의됩니다.

'💻 CS > 네트워크' 카테고리의 다른 글

[네트워크] HTTP  (1) 2024.10.24
[네트워크] IP 주소  (0) 2024.10.24
[네트워크] 네트워크 기기  (1) 2024.10.24
[네트워크] TCP/IP 4계층 모델  (0) 2024.10.22
'💻 CS/네트워크' 카테고리의 다른 글
  • [네트워크] HTTP
  • [네트워크] IP 주소
  • [네트워크] 네트워크 기기
  • [네트워크] TCP/IP 4계층 모델
kkongdo
kkongdo
kkongdo 님의 블로그 입니다.
  • kkongdo
    숲을 바라보며 나무를 심는 아이
    kkongdo
  • 전체
    오늘
    어제
    • 분류 전체보기 (32)
      • 🌏 Web (0)
      • ☕ Java (5)
      • 🌱 Spring (9)
        • Spring Boot (7)
        • Spring Data JPA & QueryDSL (2)
      • 🗂️ Database (5)
      • 💻 CS (12)
        • 운영체제 (4)
        • 네트워크 (5)
        • 자료구조 (3)
      • 🗃️Git (1)
      • 🔍 Algorithm (0)
      • 📡 DevOps (0)
        • Docker (0)
      • 🔭 ETC (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • GitHub
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    네트워크기기
    db
    spring
    운영체제
    OS
    QueryDSL
    java
    springbatch
    JPA
    SpringSecurity
    데이터베이스
    자료구조
    네트워크
    @annotation
    조인
    DI
    복잡도
    스케줄링
    SpringMVC
    CS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
kkongdo
[네트워크] 네트워크의 기초
상단으로

티스토리툴바