CS 전공지식

24.01.05 네트워크의 기초 2

김용글 2024. 1. 5. 15:46

1. 네트워크 분류

  1) LAN

       - 근거리 통신망을 의미하며 같은 건물이나 캠퍼스 같은 좁은 공간에서 운영

       - 전송 속도가 빠르고 혼잡하지 않다

 

  2) MAN

       - 대도시 지역네트워크를 나타내며 도시 같은 넓은 지역에서 운영

       - 전송 속도는 평균이며 LAN 보다는 더 많이 혼잡

 

  3) WAN

       - 광역 네트워크를 의미하며 국가 또는 대륙 같은 더 넓은 지역에서 운영

       - 전송 속도는 낮으며 MAN 보다 더 혼잡

 

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

    - 애플리케이션 코드상에는 전혀 문제가 없는데 사용자가 서비스로부터 데이터를 가져오지 못하는 상황이

      발생되기도 하며, 이는 네트워크 병목 현상일 수 있다

    - 네트워크 병목 현상의 주된 원인은 아래와 같다

       * 네트워크 대역폭

       * 네트워크 토폴로지

       * 서버 CPU, 메모리 사용량

       * 비효율적인 네트워크 구성

    - 이때는 네트워크 관련 테스트와 네트워크와 무관한 테스트를 통해 네트워크로부터 발생한 문제점인 것을 확인한 후

      네트워크 성능 분석 필요

    - 이때 사용되는 명령어는 다음과 같다

 

  1) ping (Packet Internet Groper)

       - 네트워크 상태를 확인하려는 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어

       - 해당 노드의 패킷 수신 상태와 도달하기까지 시간 등을 알 수 있으며, 해당 노드까지 네트워크가 잘 연결되어

         있는지 확인 가능

       - TCP/IP 프로토콜 중에 ICMP 프로토콜을 통해 동작

       - ICMP 프로토콜을 지원하는 기기를 대상으로는 실행할 수 없거나 네트워크 정책상 ICMP 나 traceroute 를

         차단하는 경우 ping 테스팅 불가

       - ping [IP 주소 또는 도메인주소]로 실행

       - 아래 그림은 ping www.google.com  -n 12 라는 명령어를 구동한 모습이다. -n 12 옵션을 넣어서 12번의

         패킷을 보내고 12번의 패킷을 받는다

 

  2) netstat

       - 접속되어 있는 서비스들의 네트워크 상태를 표시하는데 사용됨

       - 네트워크 접속, 라우팅 테이블, 네트워크 프로토콜 등 리스트를 보여줌

       - 주로 서비스의 포트가 열려 있는지 확인할 때 사용

       - 아래 그림을 통해 지금 내가 접속하고 있는 사이트 등에 관한 네트워크 상태 리스트를 볼 수 있다

 

  3) nslookup

       - DNS 에 관련된 내용을 확인하기 위해 사용

       - 특정 도메인에 매핑된 IP 를 확인하기 위해 사용

       - 아래 그림은 google.com 의 DNS 를 확인하는 모습

 

  4) tracert

       - 윈도우에서는 tracert 고, 리눅스에서는 traceroute 라는 명령어로 구동

       - 목적지 노드까지 네트워크 경로를 확인할 때 사용하는 명령어

       - 목적지 노드까지 구간들 중 어느 구간에서 응답 시간이 느려지는지 등을 확인 할 수 있다

       - 아래 그림은 구글 사이트에 도달하기까지의 경로 추적하는 모습

 

  5) 기타

       - 이외에도 ftp 를 통해 대형 파일을 전송하여 테스팅하거나 tcpdump 를 통해 노드로 오고 가는 패킷을 캡처하는

         등의 명령어가 있으며 네트워크 분석 프로그램으로는 wireshark, netmon 이 있다

 

3. 네트워크 프로토콜 표준화

    - 네트워크 포로토콜이란 다른 장치끼리 데이터를 주고받기 위해 설정된 공통된 인터페이스

    - 이러한 프로토콜은 기업이나 개인이 발표해서 정하는것이 아니라 IEEE 또는 IETF 라는 표준화 단체가 정함

 

  1)  IEEE802.3

       - 유선 LAN  프로토콜로, 유선으로 LAN 을 구축할 때 쓰이는 프로토콜이다

       - 이를 통해 만든 기업이 다른 장치라도 서로 데이터를 수신할 수 있다

       - 예) 웹을 접속할 때 쓰이는 HTTP 가 있다. 서로 약속된 인터페이스인 HTTP 라는 프로토콜을 통해 노드들은

               웹 서비스를 기반으로 데이터를 주고 받을 수 있다