Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

joyful

네트워크의 기초 본문

면접을 위한 CS 전공지식노트

네트워크의 기초

조이풀한 개발자 2024. 4. 25. 17:47

 

 

 

네트워크: 노드(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'라는 프로토콜을 통해 노드들은 웹 서비스를 기반으로 데이터를 주고 받을 수 있다.