네트워크 CS 과제

기술노트
Admin (토론 | 기여)님의 2025년 4월 17일 (목) 14:24 판 (CS 용어 정리 - 네트워크 CS 과제 추가)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
  • 네트워크는 둘 이상의 컴퓨터와 이들을 연결하는 링크의 조합이다.
  • 노드링크가 서로 연결되어 있으며, 리소스를 공유하는 집합.

노드 : 네트워크 연결의 주체가 되는 기계를 의미한다. 서버,라우터,스위치 등 네트워크 장치 모든 것을 의미한다.

링크 : 노드와 노드를 물리적(유선과 무선)으로 연결하는 선

네트워크란 많은 양의 요청을 처리할 수 있을 수록 처리량이 높고 좋은 네트워크라고 말한다.

처리량이 높을 수록 지연시간이 짧으며, 장애 빈도가 적다.

처리량

  • 일정 기간동안 링크를 통해 전달되는 데이터의 양을 수치화 시킨 것
  • 단위는 bps를 쓴다.
  • 처리량은 트래픽,네트워크 장치간의 대역폭, 네트워크 에러, 하드웨어 스펙에 영향을 받는다.

처리량과 대역폭

대역폭과 처리량의 차이로는 대역폭은 지정 기간동안 네트워크를 통해 전송할 수 있는 최대 데이터의 양을 나타내기에 최대치와 평균치의 차이이다.

지연시간

  • 지연시간이란 요청이 처리되는 시간을 뜻함
  • 이때 시간은 장치 사이클 왕복 시간을 뜻함
  • 지연시간은 매체타입, 패킷 크기,라우터의 패킷 처리 시간에 영향을 받는다.

네트워크 토폴로지

네트워크를 설계할 때 고려되는 네트워크 토폴로지는 노드와 링크의 배치형태에 따라 분류가 달라진다.

트리 토폴로지

  • 트리 토폴로지는 계층형 토폴로지라고 하며, 트리형태로 배치된 네트워크 구성을 뜻한다.
  • 노드의 추가 및 삭제가 간편하다.
  • 특정 노드에 트래픽이 몰릴경우 하위 노드에 영향을 끼친다.

버스 토폴로지

  • 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 방식이며 근거리 통신에서 사용
  • 설치 비용이 적고 신뢰성이 우수한 구조
  • 추가 삭제 하기 쉬우나 스푸핑이 일어날 문제가 존재한다.

스푸핑

스푸핑은 송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 특정 노드에 악의적인 노드를 전달하는 것

스타 토폴로지

  • 중앙에 메인노드를 나두어 메인노드와 모두 연결하는 네트워크 구성
  • 노드 추가 및 에러를 탐지하기 쉽고 패킷 충돌 발생 가능성이 적음
  • 중앙 노드에 장애 발생시 모든 노드 에러 발생

링형 토폴로지

  • 각각의 노드가 양옆의 노드와 순화형태로 이루어진 구조
  • 원형으로 생겨 `링형`이라는 네이밍이 붙음
  • 패킷 단위의 데이터 처리
  • 노드가 추가되어도 네트워크 손실이 거의없다.
  • 충돌 가능성이 적으며 에러를 쉽게 찾을 수 있다.
  • 하나의 노드에 회선장애시 전체 장애 부담

메시 토폴로지

  • 망형 토폴로지라고도 불린다.
  • 하나의 단말 장치에 장애가 발생하여도 여러개의 경로가 존재함으로서 다른 노드는 에러가 나지 않는다.
  • 트래픽 분산처리가 가능하다.
  • 노드의 추가와 구축비용 높음,설계의 어려움 같은 문제가 존재한다.

병목현상

  • 토폴로지는 병목현상의 기준이 된다.
  • 전체 시스템의 성능이나 용량이 하나의 구성요소로 인해 제한 받는 현상

네트워크의 분류

LAN

  • 근거리 통신망을 의미하며 같은 건물과 같은 한정적 공간에서 빠른속도를 보장한다.

MAN

  • 대도시 지역 네트워크와 같은 광범위한 지역에서 운영된다.
  • LAN보다 혼잡한 구조를 띈다.

WAN

  • 광역네트워크를 의미하며 국가와 국가 단위
  • 전송속도가 낮으며 MAN보다 혼잡

네트워크 성능

코드 상에 문제가 없으매로 서비스가 정상적으로 동작하지 못하거나 장애를 겪는 경우에는 네트워크의 병목현상을 의심해야한다.

병목현상이 발생하게 되는 4대 원인

  • 네트워크의 대역폭
  • 네트워크 토폴로지
  • 서버 CPU, 메모리 사용량
  • 비효율적인 네트워크 구성

네트워크 성능 분석 명령어

  • ping(packet INternet Groper)
 - 네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어
 - 이를 통해 노드의 패킷 수신상태와 도달까지 시간, 경로확인, 연결상태 등을 알 수 있다.
 - TCP/IP 프로토콜 중 ICMP 프로토콜을 통해 동작한다.
   - 프로토콜을 지원하지 않는 기기를 대상으로는 실행 불가하다.
  • netstat
 - 네트워크 상에 운영되고 있는 서비스들의 네트워크 상태를 보여준다.
   - 네트워크 상태에는 네트워크 접속정보,라우팅 테이블, 프로토콜 등이 리스트 형태로 나타남
 - 주로 네트워크의 상태 유무 체크를 위해 사용
  • nslookup
 - DNS 관련된 내용을 확인하기 위해 쓰는 명령어
 - 특정 도메인에 매핑된 IP를 확인하기 위해 사용함
  • tracert
 - 목적지 노드까지 네트워크 경로 확인을 위해 사용
 - 구간 마다 속도 추적가능