네트워크

imeline·2023년 11월 29일

네트워크란, 노드(네트워트 장치)와 링크(유선 or 무선)가 서로 연결되어 있거나 연결되어 있지 않은 집합체


처리량과 지연 시간

좋은 네트워크 - 많은 처리량, 짧은 지연 시간, 적은 장애 빈도, 좋은 보안

처리량

  • 링크를 통해 전달되는 단위 시간당 데이터 양
  • 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치간의 대역폭(주어진 시간 동안 네트워크를 통해 흐를 수 있는 비트 수), 에러, 장치의 하드웨어 스펙에 영향을 받음

지연 시간

  • 요청이 처리되는 시간
  • 어떤 메세지가 두 장치 사이를 왕복하는 데 걸린 시간
  • 매체 타입(무선, 유선), 패킷 크기, 라우터의 패킷 처리 시간에 영향을 받음

네트워크 토폴로지

  • 노드와 링크가 어떻게 배치되어 있는지에 대한 방식, 연결 형태
  • 네트워크 설계 시 고려해야 함

트리 토폴로지

  • 계층형 토폴로지

  • 트리 형태로 배치한 네트워크 구성

  • 노드의 추가, 삭제가 쉽다

  • 특정 노드에 트래픽이 집중될 때, 하위 노드에 영향을 끼칠 수 있음

버스 토폴로지

  • 중앙 통신 회선에 여러 개의 노드가 연결되어 공유하는 네트워크 구성
  • 근거리 통신망(LAN)에서 사용

장점

  • 적은 설치 비용, 신뢰성 우수
  • 중앙 통신 회선에 노트 추가, 삭제 쉬움

단점
스푸핑이 가능한 문제점

스푸핑

  • 스위칭기능(송신부의 패킷을 송신과 관련 없는 다른 호스트에 가지 않도록 함)을 마비시키거나 속여서 특정 노드에 해당 패킷이 오도록 처리하는 것

    -> 올바르게 수신부로 가야 할 패킷이 악의적인 노드에 전달

스타 토폴로지

중앙 노드에 모두 연결된 네트워크 구성

장점

  • 쉬운 노드 추가와 에러 탐지
  • 적은 패킷 출동 발생 가능성
  • 장애 노드가 중앙 노드가 아닐 경우, 다른 노드에 영향이 적음

단점

  • 중앙 노드에 장애 발생 시, 전체 네트워크 사용 불가
  • 설치 비용 고가

링형 토폴로지

각각의 노드가 양 옆의 두 노드와 연결하여 전체적으로 고리처럼 하나의 연속된 길을 통해 통신하는 망 구성 방식

  • 데이터는 노드를 통해 이동
  • 각 노드는 고리 모양의 길을 통해 패킷을 처리

장점

  • 노드 수가 증가해도, 거의 없는 네트워크상 손실과 적은 충돌 발생 가능성, 쉬운 노드의 고장 발견

단점

  • 네트워크 구성 변경 어려움
  • 회선에 장애 발생 시, 전체 네트워크에 영향

메시 토폴로지

  • 망형 토폴로지
  • 그물망 같은 연결 구조

장점

  • 한 단말 장치에서 장애 발생해도, 여러 개의 경로가 존재하므로 네트워크 사용 가능
  • 트래픽 분산 처리 가능

단점

  • 어려운 노드 추가
  • 구축 비용과 운영 비용 고가

병목 현상

: 전체 시스템의 성능이나 용량이 하나의 구성요소로 인해 제한 받는 현상

토폴로지(네트워크 구조)가 중요한 이유 - 병목 현상을 찾을 때 중요한 기준이 되기 때문

ex) 병목 현상이 일어나서 서비스 이용 시 지연 시간 발생
-> 대역폭을 크게 설정해도 성능 개선 x
-> 네트워크 토폴로지 확인
-> 회선 추가를 통해 병목 현상 해결

이처럼, 네트워크가 어떤 토폴로지를 갖는지 or 어떤 경로로 이루어져 있는지 알아야 병목 현상을 올바르게 해결 가능


네트워크 분류

규모를 기반으로 분류

  • LAN(Local Area Network)
    • 개인적으로 소유 가능한 규모 (ex) 사무실)
    • 근거리 통신망 - 같은 건물 같은 좁은 공간에서 운영
    • 빠른 전송 속도, 혼잡하지 않음
  • MAN(Metropolitan Area Network)
    • 시 정도의 규묘 (ex) 서울시)
    • 대도시 지역 네트워크 - 도시 같이 넓은 지역에서 운영
    • 평균 전송 속도, LAN보다는 혼잡
  • WAN(Wide Area Network)
    • 세계 규모
    • 광역 네트워크 - 국가, 대륙 같은 더 넓은 지역에서 운영
    • 낮은 전송 속도, MAN보다 혼잡

네트워크 성능 분석 명령어

네트워크 성능 분석을 해야하는 상황
: 코드 상 문제가 없지만 사용자가 서비스로부터 데이터를 가져오지 못하는 상황, 이는 네트워크 병목 현상일 수 있음

-> 병목 현상의 주된 원인

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

-> 네트워크 관련 테스트와 네트워크와 무관한 테스트를 통해 네트워크로부터 발생한 문제점인 것을 확인한 후, 성능 분석을 해야 함

-> 이때 사용되는 명령어가 네트워크 성능 분석 명령어

ping

  • 네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송
    -> 해당 노드의 패킷 수신 상태, 도달 시간, 네트워크 연결 여부 확인 가능
  • TCP/IP 포로토콜 중 ICMP 포로토콜을 통해 동작
    -> ICMP 지원 하지 않는 기기나 tracerouter 차단하는 대상은 실행할 수 없거나 ping 테스팅 불가능

ex) ping www.google.com -n 12 라는 명령어 구동
-> 12번의 패킷을 보내고 받는 모습을 볼 수 있음

netstat

  • 접속되어 있는 서비스(사이트)들의 네트워크 상태를 표시
  • 네트워크 접속 ,라우팅 테이블, 네트워크 포로토콜 등 리스트를 보여줌
  • 주로 서비스의 포트가 열려 있는지 확인할 때 사용

nslookup

  • DNS에 관련되 내용 확인
  • 특정 도메인에 매핑된 IP 확인

tracert

  • 목적지 노드까지 네트워크 경로 확인 - 어느 구간에서 응답 시간이 느려지는지 등 확인
  • 윈도우에선 tracert, 리눅스에선 traceroute 로 명령어 구동

그 외

  • ftp - 대형 파일 전송하여 테스팅 명령어
  • tcpdump - 노드로 오고가는 패킷 캡처 명령어
  • wreshark, netmon - 네트워크 분석 프로그램

네트워크 프로토콜 표준화

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

IEEE802.3

  • 유선 LAN 포로토콜 - 유선으로 LAN을 구축 시 쓰임
  • 이를 통해 기업이 다른 장치라도 서로 데이터 수신 가능
  • 예를 들어 서로 약속된 인터페이스인 HTTP라는 프로토콜로(웹 접속 시 쓰임), 노드들은 웹 서비스를 기반으로 데이터를 주고 받음

출처 - [서적] 면접을 위한 CS 전공지식 노트

0개의 댓글