[CS 스터디] 2. 네트워크 - 네트워크 기초

채채·2023년 12월 12일
0

CS 스터디

목록 보기
10/21

네트워크란?

  1. 컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망
  2. 노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합
  • 좋은 네트워크란?
    처리량 ↑ 지연시간 ↓ 장애빈도 ↓ 보안 ↑

  • 처리량: 단위 시간 당 데이터 양
    단위: bps (bits per second)
    트래픽, 대역폭, 에러, 하드웨어 스펙에 영향 받음

  • 지연시간: 요청이 처리되는 시간
    매체타입(유/무선), 패킷 크기, 라우터의 패킷처리 시간에 영향 받음

네트워크 토폴로지: 노드의 링크 연결 형태, 배치 방식

  1. 트리 토폴로지: 계층형, 트리형, 노드 추가/삭제 쉬움, 특정 노드에 트래픽 집중 시 하위 노드에 영향
  2. 버스 토폴로지: 중앙 통신 회선 + 여러 개의 노드, 근거리 통신망(LAN)에서 사용, 노드 추가/삭제 쉬움, 스푸핑
  3. 스타 토폴로지: 중앙에 있는 노드에 모두 연결, 노드 추가/에러 탐지 쉬움, 패킷의 충돌 발생 가능성 ↓, 중앙 노드에 에러 발생 시 전체 시스템 마비, 고비용
  4. 링형 토폴로지: 각각 노드가 양 옆의 두 노드와 연결, 데이터는 노드->노드로 이동, 노드 수가 증가해도 네트워크상 손실 거의 없음, 충돌가능성 적음, 고장 발견 쉬움, 구성 변경 어려움
  5. 메시 토폴로지: 그물망, 한 단말장치에 장애가 발생해도 여러 개의 경로가 존재하므로 네트워크 계속 사용 가능, 트래픽 분산 처리 가능, 노드 추가 어려움, 고비용
  • 병목현상
    병목(bottleneck)현상은 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상
    서비스에서 이벤트를 열었을 때 트래픽이 많이 생기고 그 트래픽을 잘 관리하지 못하면 병목 현상이 생겨 사용자는 웹 사이트로 들어가지 못함

토폴로지가 중요한 이유는 병목 현상을 찾을 때 중요한 기준이 되기 때문이다.
네트워크 토폴로지가 어떻게 되어있나 확인하고, 서버와 서버 간 그리고 게이트웨이로 이어지는 회선을 추가해서 병목을 해결
네트워크가 어떤 토폴로지를 갖는지, 또한 어떤 경로로 이루어져 있는지 알아야 병목 현상 해결 가능

네트워크 분류

* 규모를 기준으로

  • LAN: 사무실과 개인적으로 소유 가능한 규모 (근거리 통신망)
  • MAN: 서울 시 등 시 정도의 규모 (대도시 지역 네트워크)
  • WAN: 세계 규모 (국가/대륙 넓은 지역)

네트워크 성능 분석 명령어

애플리케이션 코드 상에는 문제가 없는데 사용자가 서비스 데이터를 가져오지 못하는 상황 => 네트워크 병목 현상일 가능성 있음

병목 현상의 주 원인

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

네트워크 관련 테스트/네트워크와 무관한 테스트를 통해 네트워크로부터 발생한 문제점인지 확인한 후 네트워크 성능 분석 필요

  1. ping
  • Packet INternet Groper
  • 네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어
  • 해당 노드의 패킷 수신 상태, 도달하기까지 시간 등을 알 수 있음
  • 해당 노드까지 네트워크가 잘 연결되어있는지 확인 가능
  • TCP/IP 프로토콜 중 ICMP 프로토콜을 통해 동작

네트워크 정책상 ICMP나 traceroute를 차단하는 대상의 경우 ping 테스트 불가

  1. netstat
  • 접속된 서비스들의 네트워크 상태 표시
  • 네트워크 접속, 라우팅 테이블, 네트워크 프로토콜 등의 리스트 보여줌
  • 주로 서비스의 포트가 열려 있는지 확인할 때 사용
  1. nslookup
  • DNS에 관련된 내용을 확인하기 위해 사용
  • 특정 도메인에 매핑된 IP 확인하기 위해 사용
  1. tracert
  • 윈도우: tracert / 리눅스: traceroute
  • 목적지 노드까지 네트워크 경로를 확인할 때 사용하는 명령어
  • 목적지 노드까지 구간들 중 어느 구간에서 응답 시간이 느려지는지 등 확인 가능

네트워크 프로토콜 표준화

네트워크 프로토콜: 다른 장치들끼리 데이터를 주고받기 위해 설정된 공통된 인터페이스
IEEE 또는 IETF라는 표준화 단체가 정함

출처

https://github.com/devSquad-study/2023-CS-Study/blob/main/Network/network_basic.md

profile
성장하는 사람

0개의 댓글