CS/Network

[CS/Network] 네트워크 기초

dpdms2148 2023. 6. 20. 01:43
728x90

네트워크란 노드(서버, 라우터, 스위치 등의 네트워크 장치)와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합이다.

1. 처리량과 지연 시간

처리량(throughput)

  • 링크 내에서 성공적으로 전달된 데이터의 양을 말하며 보통 얼만큼의 트랙픽을 처리했는가를 나타낸다.
  • 단위로 bps(bits per second)를 사용한다.
  • 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향을 받는다.
    • 대역폭 : 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수

지연시간(latency)

  • 요청이 처리되는 시간을 말하며 어떤 메시지가 두 장치 사이를 왕복하는데 걸린 시간이다.
  • 매체 타입(유선, 무선), 패킷 크기, 라우터의 패킷 처리 시간에 영향을 받는다.
    • 패킷 : 네트워크를 통해 전송하기 쉽도록 자른 데이터의 전송 단위

2. 네트워크 토폴로지와 병목 현상

네트워크 토폴로지(network topology)

  • 노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태를 의미한다.

    1. 트리 토폴로지(tree topology)

    • 계층형 토폴로지라고도 하며 트리 형태로 배치한 네트워크 구성이다.
    • 노드의 추가와 삭제가 쉽다.
    • 특정 노드에 트래픽이 집중 된다면 하위 노드에 영향을 끼칠 수 있다.

    2. 버스 토폴로지(bus topology)

    • 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성을 말하며 근거리 통신망(LAN)에서 사용한다.
    • 설치 비용이 적고 신뢰성이 우수하며 중앙 통신 회선에 노드를 추가하거나 삭제하기 쉽다.
    • 스푸핑이 가능하다는 문제점을 가지고 있다.
      • 스푸핑(Spoofing) : 다른 사람의 컴퓨터 시스템에 접근할 목적으로 IP주소를 변조한 후 합법적인 사용자인 것처럼 위장하여 시스템에 접근함으로써 나중에 IP주소에 대한 추척을 피하는 해킹 기법

    3. 스타 토폴로지(start topology)

    • 증앙에 있는 노드에 모두 연결된 네트워크 구성이다.
    • 노드를 추가하거나 에러를 탐지하기 쉽고 패킷의 충돌 발생 가능성이 적다는 장점이 있다.
    • 어떠한 노드에 장애가 발생해도 쉽게 에러를 발견할 수 있고 장애 노드가 중앙 노드가 아니라면 다른 노드에 영향을 끼치는 것이 적다.
    • 중앙 노드에 장애가 발생하면 전체 네트워크에 문제가 발생하게 되고 설치 비용이 높다.

    4. 링형 토폴로지(ring topology)

    • 각각의 노드가 양 옆의 두 노드와 연결하여 전체적으로 고리처럼 하나의 연속된 길을 통해 통신하는 망 구성 방식이다.
    • 데이터는 노드에서 노드로 이동을 하게 되고 각각의 노드는 고리 모양의 길을 통해 패킷을 처리 한다.
    • 노드 수가 증가 되어도 네트워크 상의 손실이 거의 없고 충돌이 발생되는 가능성이 적으며, 노드의 고장을 쉽게 발견할 수 있다.
    • 네트워크 구성이 어렵고 회선에 장애가 발생하면 네트워크 전체에 영향을 끼친다.

    5. 메시 토폴로지(mesh topology)

    • 망형 토폴로지라고도 하며 그물망처러 연결되어 있다.
    • 한 단말 장치에서 장애가 발생해도 여러 개의 경로가 존재하므로 네트워크를 계속 사용할 수 있고, 트래픽을 분산 처리할 수 있다.
    • 노드의 추가가 어렵고 구축 비용과 운용 비용이 높다.

병목 현상

  • 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상이다.
  • 주된 원인
    • 네트워크 대역폭
    • 네트워크 토폴리지
    • 서버 CPU, 메모리 용량
    • 비효율적인 네트워크 구성

3. 네트워크 분류

  • 네트워크 규모에 따라 네트워크를 분류할 수 있다.

LAN(Local Area Network)

  • 근거리 통신망
  • 같은 건물이나 집, 사무실, 학교 등의 건물과 같이 좁은 공간에서 운영

MAN(Metropolitan Area Network)

  • 도시권 통신망
  • 대도시 지역 네트워크, 도시 같은 넓은 지역에서 운영

WAN(Wide Area Network)

  • 광역 네트워크
  • 국가 또는 대륙 같은 더 넓은 지역에서 운영

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

ping(Packet InterNet Groper)

  • IP 네트워크를 통해 특정 목적지까지 네트워크가 잘 동작하고 있는지 확인하는 네트워크 명령어
  • 상대방 호스트가 살아있는지 확인하는 것이 최대 목표이지만 두 호스트 간의 통신을 위한 경로, 즉 라우팅 경로가 정상적으로 구성되어 있는지도 체크
  • ICMP라는 인터넷프로토콜을 사용하고 ICMP의 제어메세지를 통해 여러가지 네트워크 상태를 파악
ping [옵션] 목적지 ip 주소

tcping

  • 목적지의 실제 서비스 포트로 정상적인 통신이 가능한지 확인하는 작업을 tcping을 통해 확인
tcping [옵션] 목적지 ip 주소

netstat(network statistics)

  • 서버의 다양한 네트워크 상태를 확인하는 데 사용하는 명령어
  • 여러가지 네트워크 관련 정보를 확인할 수 있어서 사용범위가 매우 넓으나 주로 서비스의 포트가 열려있는지 위주로 사용
nestat [옵션]

ss(socket statistics)

  • 소켓 정보를 확인하는 데 사용하는 명령어
  • 여러가지 네트워크 관련 정보를 확인할 수 있어서 사용범위가 매우 넓으나 주로 서비스의 포트가 열려있는지 위주로 사용
ss [옵션] [필터]

nslookup(name server lookup)

  • DNS에 다양한 도메인 관련 내용을 질의해 결괏값을 전송받을 수 있는 명령
  • 자주 사용되는 질의는 특정 도메인에 매핑된 ip주소를 확인하기위해 사용
nslookup [옵션] # 기본 네임 서버를 사용한 대화형 모드
nslookup [옵션] - server # 기본 네임 서버를 server로 지정한 대화명 모드
nslookup [옵션] host # 기본 네임 서버를 사용한 host 질의
nslookup [옵션] host server # 기본 네임 서버를 server로 지정한 host 질의

tracert(윈도우)/traceroute(리눅스)

  • 목적지 노드까지 네트워크 경로를 확인할 때 사용하는 명렁어
  • 목적지 노드까지 구간들 중 어느 구간에서 응답시간이 느려지는지 등을 확인
traceroute [옵션] 목적지 ip 주소 # 리눅스
tracert [옵션] 목적지 ip 주소      # 윈도

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

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

참고

https://zeromin-code.tistory.com/47

https://jcrescent61.tistory.com/39

https://velog.io/@narangke3/네트워크-확인-명령어

728x90

'CS > Network' 카테고리의 다른 글

[CS/Network] 대칭키&공개키  (0) 2023.06.28
[CS/Network] TCP - 3 way handshake & 4 way handshake  (0) 2023.06.22
[CS/Network] TCP/IP 4계층 모델  (0) 2023.06.22
[CS/Network] OSI 7계층  (0) 2023.06.15