본문 바로가기

23년 2학기 학교공부/컴퓨터네트워크

[CN] 인터넷 속도 측정

목차

    728x90
    반응형
    SMALL
    2023학년도 2학기 충남대학교 이영석 교수님의 컴퓨터네트워크 수업 정리자료입니다.

     

     

     

     

    📁 인터넷 속도 측정 방법

     

    https://speed.nia.or.kr/index.asp

     

    NIA 인터넷 속도측정

    NIA 한국지능정보사회진흥원에서 제공하는 인터넷속도 품질측정 시스템

    speed.nia.or.kr

     

    https://www.speedtest.net/

     

    Speedtest by Ookla - The Global Broadband Speed Test

    Use Speedtest on all your devices with our free desktop and mobile apps.

    www.speedtest.net

     

     

     

     

     

    📁 인터넷 속도

     

     

     

     

     

    📁 인터넷 성능 지표

     

     

     

    1. 속도(대역폭, 비트전송률)

     

    네트워크 분야에서 대역폭(bandwidth)이란, 주어진 시간동안 컴퓨터 네트워크를 통해 한 지점에서 다른 지점으로 데이터를 한 번 전송할때 보낼 수 있는 최대량을 말한다.

    위 그림에서, 빨간 줄로 표시되어있는 파이프와 같은 경로를 통해 데이터가 전송된다고 가정하면, 대역폭은 이 파이프의 직경이 된다.

     

    중요한 점으로, 두 개의 컴퓨터 사이의 대역폭을 계산할 때는 병목지점의 대역폭을 계산해야한다.

     

     

     

    네트워크에서 속도란 한 지점에서 다른 지점으로 전송되는 현재 비트의 이동하는 속도를 말하며, 이는 비트전송률이 된다.

     

    보통 일정기간동안 전송한 정보의 양을 전송한 시간으로 나누는 방법으로 측정하며, 이는 측정 시간 동안의 평균 전송속도를 나타내고 bps(bits per second)단위를 사용한다.

     

     

     

    기본적으로 속도는 데이터를 전송할 수 있는 속도를 말하고, 대역폭은 해당 속도에 대한 용량을 말한다.

     

    속도와 대역폭을 똑같은 뜻이라고 말할수는 없지만, 종종 같은 의미로 사용된다.

     

     

     

    - 링크의 오류율,

    - 전파 지연,

    - 라우터 큐잉시간 등의 변수

    - 전송 프로토콜

    - 오류제어방식 등 에 의해 속도는 변동될 수 있다.

     

    # 여러 개의 링크가 연결된 경로사이 전송 이 뭔말이야?!!? #

     

     

     

     

     

    🌱 iperf

     

    서버-클라이언트 간의 네트워크 대역폭 및 속도를 측정하는 도구이다.

     

     

    iPerf는 클라이언트 및 서버 기능을 가지고 있으며, 속도의 측정대상과 같이 단방향 또는 양방향으로 두 종단 사이의 처리량을 측정할 수 있다.

     

    위 측정은 클라이언트 실행 환경에서 1초 간격으로 측정하여 10초만큼의 결과를 얻은 결과이다.

     

     

     

    🌱 iPerf 옵션

    - s : 서버로 동작하게 하는 옵션
    - c : 클라이언트로 동작하게 하는 옵션
    - u : UDP 프로토콜로 설정하는 옵션, (기본은 TCP)
    - i : 1초 간격으로 측정 결과 표시 옵션
    - p : 포트 번호 입력 옵션
    - t : 측정시간 입력 옵션

     

     

     

     

     

    2. 지연시간(Latency)

     

    지연시간은 전송시간, 전파시간, 큐잉시간, 처리시간의 네 가지 요소로 구성된다.

     

     

     

    1) 전송 지연 시간(transmission delay) : 패킷의 비트를 컴퓨터에서 링크로 전송하는데 필요한 시간

     

     

    패킷이 L 비트이고 전송률이 R Mbps일 때, 전송 지연 시간은 L / R로 계산한다.

     

    예를 들어, 1 Kbps 네트워크 카드의 전송시간이 1/Kbps라는 것은 1비트를 전송할 때 0.001초(1ms)가 소요된다.

     

     

    네트워크 장비의 데이터 전송 속도로 결정되며, 서버와 클라이언트 사이의 거리와는 무관하다.

     

    만약 두 라인의 네트워크를 사용할 때, 둘 중 한 라인의 속도가 10Mbps, 다른 라인은 100Mbps인데 두 라인으로 각각 10Mb만큼의 데이터를 전송한다고 가정하면, 첫번째 라인의 네트워크에선 전송 시 1sec가 소요되지만, 두번째 라인에선 0.1sec가 소요되어 두 라인간의 지연도는 10배가 차이나게 된다.

     

     

     

     

    2) 전파 지연 시간(propagation delay) : 1개의 비트가 컴퓨터와 컴퓨터 사이로, 즉 링크의 처음부터 목적지 라우터까지의 전파에 필요한 시간

     

     

    구리선에서 1비트가 1초에 2 * 108meter 속도로 이동한다면, 1000km 떨어진 두 컴퓨터 사이의 1비트 이동 시간은

    거리/속도 = 1000km / 2 * 108meter / s = 5ms가 된다.

     

     

     

    이때 전송지연과 전파지연의 차이점은, 전송지연은 라우터가 패킷을 내보내는데 필요한 시간으로, 두 라우터 사이의 거리와 상관없다. 하지만 전파지연은 패킷이 한 라우터에서 다른 라우터로 이동하는데 필요한 시간으로, 전송률과 상관없다.

     

     

     

     

    3) 큐 지연 시간(queueing delay) : 컴퓨터의 네트워크 카드 + CPU(NPU)

     

     

    컴퓨터 또는 라우터에서 처리되기까지 기다리는 지연 시간을 말한다.

     

    큐에 저장되어 링크로 전송되기를 기다리는 패킷의 수에 따라서 결정된다. 큐가 비어있다면 큐 지연시간은 0이다.

     

     

     

     

    4) 처리 치연 시간(processing delay) : 컴퓨터의 네트워크 카드 + CPU(NPU)

     

    패킷 헤더를 조사해서 패킷을 어디로 보내야하는지 경로 테이블을 찾는 시간을 말한다. 해당 지연시간을 사용하여 처리한 패킷은 이후에 목적지 라우터로 향하는 링크의 큐에 저장된다.

     

     

     

     

    위 네 지연시간을 고려한 RTT(Round Trip Time, 왕복 시간)을 requests 모듈을 사용한 다음과 같은 파이썬 코드를 이용해 측정할 수 있다.

     

     

     

     

     

    🌱 ping, traceroute

     

    ping과 traceroute는 지연시간을 측정하는 도구이다.

     

    AWS에서 구글까지의 지연시간을 ping을 이용하여 측정해보면 다음과 같다.

     

     

     

     

    AWS EC2부터 www.eurecom.fr까지  지 지연시간을 traceroute로 측정하면 다음과 같다.

     

     

     

     

    var loadTime = 
    window.performance.timing.domContentLoadedEventEnd-
    window.performance.timing.navigationStart; loadTime;

     

    추가로, 웹페이지가 뜨는 시간을 PLT(web Page Load Time)이라고 하는데, 이를 크롬 웹프라우저의 개발자도구에 위 코드를 작성함으로써 확인할 수 있다.

     

     

     

     

     

     

    3. 손실률

    패킷 단위 전송 가정 • 100개의 패킷을 보냈을 때 99개의 패킷이 전송 성공 -> 1% 손실률

     

     

     

     

     

    📁 HAR(HTTP Archive Format)

    HAR 파일이란 Json 형태의 파일로 네트워크 기록을 디버그하기 위해 사용한다.

     

     

     

     

     

    📁 브라우저를 최적화 하는 방법

     

    1.  Document-aware optimization. CSS, JS, html 등의 우선순위

    2. 예측 최적화. 자주 가는 곳의 DNS 미리 하기

    3. 자원 미리 가져오기

    4. DNS 미리 하기

    5. TCP 연결 미리 하기

    6. 웹 페이지 렌더링 미리 하기

     

     

     

     

     

     

     

    더보기

    참고

    https://m.blog.naver.com/dreamxpeed/222115245259

     

    네트워크 - 대역폭 (Bandwidth) 이란? 속도와 다르다?

    대역폭(Bandwdith) 네트워크 대역폭은 주어진 시간 (보통 1 초) 동안 컴퓨터 네트워크 또는 인터넷 연결을...

    blog.naver.com

    https://sonne21c.tistory.com/entry/%EC%A0%84%EC%86%A1%EC%86%8D%EB%8F%84bit-rate%EC%99%80-%EB%8C%80%EC%97%AD%ED%8F%ADBandwidth%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90

     

    전송속도(bit rate)와 대역폭(Bandwidth)의 차이점

    컨베이어벨트로 작동하는 맥주 생상 공장에 있다고 가정을 해보자. 공장의 컨베이어벨트의 왼쪽에서는 맥주를 병에 담고(A) 오른쪽에서는 맥주병을 박스에 담고(B) 있다. -------------------------------

    sonne21c.tistory.com

    https://corona-world.tistory.com/47

     

    Network Delay의 4가지 종류

    Delay는 하나의 데이터 패킷이 한 지점 (출발지점) 에서 다른 지점 (도착 지점) 으로 전송되어 이에 소요되는 시간을 말한다. 따라서 이 같이 지연이 발생하게 되는 원인엔 총 4가지가 있다. 전송

    corona-world.tistory.com

    https://snoop-study.tistory.com/60

     

    [네트워크] 패킷 교환 네트워크에서의 지연

    패킷이 송신측에서 출발해 수신측까지 도달하기까지의 과정에서 수많은 라우터를 거친다. 경로상의 각 노드에서 패킷은 다양한 지연(delay)를 겪게 되는데, 노드 처리 지연, 큐잉 지연, 전송 지연

    snoop-study.tistory.com

     

     

    728x90
    반응형
    LIST