네트워크 처리량 측정
Measuring network throughput이 기사는 위키백과 편집자의 개인적인 감정을 진술하거나 주제에 대한 원론적인 주장을 제시하는 개인적인 성찰, 개인적인 에세이 또는 논쟁적인 에세이처럼 쓰여진다. (2010년 1월)(이과 시기 |
네트워크의 처리량은 다른 플랫폼에서 사용할 수 있는 다양한 도구를 사용하여 측정할 수 있다. 이 페이지는 이러한 도구들이 측정하기 위해 설정한 이론과 이러한 측정과 관련된 문제를 설명한다.
네트워크에서 처리량을 측정하는 이유. 사람들은 종종 통신 링크나 네트워크 접속의 초당 비트 단위의 최대 데이터 처리량을 측정하는 것에 대해 걱정한다. 측정을 수행하는 대표적인 방법은 한 시스템에서 다른 시스템으로 '큰' 파일을 전송하고 파일의 전송이나 복사를 완료하는 데 필요한 시간을 측정하는 것이다. 그런 다음, 처리량을 초당 메가비트, 킬로비트 또는 비트 단위로 얻는 시간으로 파일 크기를 나누어 처리량을 계산한다.
불행히도, 그러한 연습의 결과는 종종 최대 이론적 데이터 처리량보다 적은 좋은 결과를 초래하게 될 것이고, 이로 인해 사람들은 그들의 통신 링크가 제대로 작동하지 않는다고 믿게 될 것이다. 실제로 지연 시간, TCP 수신 창 크기 및 시스템 제한을 포함하여 전송 오버헤드 외에 처리량에서 차지하는 오버헤드가 많으며, 이는 계산된 굿풋이 달성 가능한 최대 처리량을 반영하지 못한다는 것을 의미한다.[1]
이론: 요약
최대 대역폭은 다음과 같이 계산할 수 있다.[2]
여기서 RWIN은 TCP 수신 창이고 RTT는 경로의 왕복 시간이다. TCP 창 축척 옵션이 없는 경우의 최대 TCP 창 크기는 65,535바이트다. 예: 최대 대역폭 = 65,535바이트 / 0.220s = 297886.36 B/s * 8 = 2.383 Mbit/s. 이러한 엔드포인트들 사이의 단일 TCP 연결을 통해, 계약된 대역폭이 더 크더라도 테스트된 대역폭은 2.376 Mbit/s로 제한될 것이다.
대역폭 테스트 소프트웨어
대역폭 테스트 소프트웨어는 네트워크 또는 인터넷 연결의 최대 대역폭을 결정하는 데 사용된다. 그것은 일반적으로 일정 기간 동안 최대 양의 데이터를 다운로드하거나 업로드하거나, 최소의 시간 내에 일정 양의 데이터를 다운로드하거나 업로드하려고 시도함으로써 수행된다. 이 때문에 대역폭 테스트는 인터넷 연결을 통한 인터넷 전송을 수행하면서 지연시킬 수 있으며 데이터 요금이 부풀려질 수 있다.
명명법
| 비트 레이트 | |||
|---|---|---|---|
| 이름 | 기호 | 다중 | |
| 초당 비트 | 비트/초 | 1 | 1 |
| 십진수 접두사(SI) | |||
| 초당 킬로비트 | kbit/s | 103 | 10001 |
| 초당 메가비트 | Mbit/s | 106 | 10002 |
| 초당 기가비트 | Gbit/s | 109 | 10003 |
| 초당 테라비트 | Tbit/s | 1012 | 10004 |
| 이진 접두사(IEC 80000-13) | |||
| 초당 키비비트 | 키비트/s | 210 | 10241 |
| 초당 메비비트 | 미빗/s | 220 | 10242 |
| 초당 기비비트 | 기비트/s | 230 | 10243 |
| 초당 티비비트 | 티빗/s | 240 | 10244 |
통신 링크의 처리량은 초당 비트(비트/s), 초당 킬로비트(kbit/s), 초당 메가비트(Mbit/s), 초당 기가비트(Gbit/s)로 측정된다. 이 애플리케이션에서, 킬로, 메가, 기가 표준 S.I. 접두사로서, 곱셈은 1,000(킬로), 100,000(메가), 100억(기가)이다.
파일 크기는 일반적으로 킬로바이트, 메가바이트 및 기가바이트로 측정되며, 여기서 바이트는 8비트다. 현대 교과서에서는 1998년 국제전기기술위원회(IEC) 표준에 따라 1킬로바이트는 1,000바이트, 1메가바이트는 100,000바이트 등으로 정의된다. 그러나 윈도 시스템에서 채택한 규약은 1킬로바이트를 1키비바이트와 같은10 1,024(또는 2)바이트로 정의하는 것이다. 마찬가지로 "1메가바이트"의 파일 크기는 1,024 × 1,024 바이트로 1메비바이트와 같으며, "1기가바이트" 1,024 × 1,024 바이트 = 1기비바이트)이다.
접미사의 혼동 및 일관성 없는 사용
사람들은 흔히 사용하는 표현을 줄여서 쓰는 것이 보통이다. 파일 크기의 경우, 누군가가 '64k' 파일(64kbytes라는 뜻) 또는 '100mb' 파일(100메가바이트라는 뜻)을 가지고 있다고 말하는 것이 보통이다. 회로 비트 전송률에 대해 이야기할 때, 사람들은 처리량, 대역폭 및 속도라는 용어를 서로 바꾸어 사용할 것이며, 회로를 '64 k' 회로 또는 '2 mg' 회로(즉, 64 kbit/s 또는 2 Mbit/s를 의미함)라고 부른다(연결 대역폭 목록 참조). 그러나 '64 k' 회로는 '64 k' 파일을 1초에 전송하지 않는다. 이는 통신과 컴퓨팅에 익숙하지 않은 사람들에게는 분명하지 않을 수 있기 때문에 가끔 오해가 생기기도 한다. 실제로 64킬로바이트 파일은 크기가 64 × 1,024 × 8비트이고 64 k 회로는 64 × 1,000 비트/s의 속도로 비트를 전송하므로 64 k 회로에 걸쳐 64 킬로바이트 파일을 전송하는 데 걸리는 시간은 최소 (64 × 1,024 × 8)/(64 × 1,000)초이며, 이는 8.192초까지 작용한다.
압축
일부 장비는 전송되는 데이터를 압축하여 문제를 개선할 수 있다. 이것은 대부분의 아날로그 모뎀과 몇몇 인기 있는 운영 체제의 특징이다. 압축으로 64k 파일을 줄일 수 있다면 전송 시간을 줄일 수 있다. 이것은 사용자에게 보이지 않게 할 수 있기 때문에 압축성이 높은 파일이 예상보다 상당히 빨리 전송될 수 있다. 따라서 이 '보이지 않는' 압축은 쉽게 비활성화할 수 없기 때문에 파일을 사용하여 처리량을 측정할 때, 압축할 수 없는 파일을 사용해야 한다. 일반적으로 이것은 실제 무작위 데이터에 근접할수록 압축하기 어려워지는 랜덤 데이터 파일을 사용하여 이루어진다.
데이터를 압축할 수 없다고 가정할 때 64 킬로비트/s 통신 링크를 통해 64 킬로바이트 파일을 전송하는 8.192초는 이론적으로 최소 시간이며, 실제로 달성되지 않을 것이다. 이는 연결의 양쪽 끝이 데이터를 일관성 있게 볼 수 있도록 합의된 방식으로 데이터를 포맷하는 데 사용되는 오버헤드의 효과 때문이다.
압축 파일 전송에 대해 즉각적으로 명확하지 않은 문제가 적어도 두 가지 있다.
- 네트워크 자체의 처리량은 압축에 의해 향상되지 않는다. 엔드 투 엔드(서버에서 클라이언트까지) 관점에서 압축은 처리량을 향상시킨다. 파일 압축을 통해 동일한 전송량에 대한 정보 콘텐츠가 늘어나기 때문이다.
- 서버와 클라이언트에서 파일을 압축하는 것은 양쪽 끝에서 더 많은 프로세서 자원을 필요로 한다. 아직 완료되지 않았다면 서버는 파일을 압축하기 위해 프로세서를 사용해야 한다. 고객은 파일을 받는 즉시 압축을 풀어야 한다. 이는 엔드 투 엔드 처리량 증가의 이익을 위한 비용(서버와 클라이언트에 대한 비용)으로 간주할 수 있다(네트워크 자체에 대한 처리량은 변경되지 않았다).[3]
오버헤드 및 데이터 형식
많은 사람들이 사용하는 일반적인 통신 링크는 비동기식 시작-중지 또는 "비동기식" 시리얼 링크다. 집이나 사무실 컴퓨터에 외장 모뎀이 연결되어 있는 경우, 비동기식 직렬 연결을 통해 연결될 가능성이 있다. 그것의 장점은 그것이 간단하다는 것이다. 그것은 송신, 수신 및 신호 접지 (또는 신호 공통)의 세 개의 와이어만을 사용하여 구현될 수 있다. RS232 인터페이스에서 공회전 연결에는 연속 음전압이 인가된다. '0' 비트는 신호 접지에 대한 양의 전압 차이로 표시되며, '1' 비트는 신호 접지에 대한 음의 전압으로 표시되므로 공회전 상태와 구별할 수 없다. 이것은 '하나' 비트가 언제 그것을 유휴와 구별하기 시작하는지 알 필요가 있다는 것을 의미한다. 이것은 링크를 통해 얼마나 빨리 데이터가 전송될 것인가에 미리 동의한 다음, 시작 비트를 사용하여 바이트의 시작을 신호하는 것이다. 이 시작 비트는 '제로' 비트가 될 것이다. 정지 비트는 '하나의' 비트, 즉 음의 전압이다.
사실, 비트 전송 속도, 문자당 비트 수, 패리티 및 정지 비트 수(문자의 끝을 나타냄) 등 더 많은 것들이 사전에 합의되었을 것이다. 따라서 9600-8-E-2의 명칭은 초당 9,600비트가 될 것이며, 문자당 8비트와 짝수 패리티, 정지 비트 2개가 될 것이다.
비동기 직렬 연결의 일반적인 설정은 9600-8-N-1(9,600비트/s, 문자당 8비트, 패리티 없음 및 1정지 비트)이며, 총 10비트가 전송되어 8비트 문자(시작 비트 1개, 전송 바이트를 구성하는 8비트, 정지 비트 1개)를 전송한다. 이는 20%의 오버헤드이기 때문에 9,600비트/s의 비동기 시리얼 링크가 초당 9600/8바이트(1200바이트/s)로 데이터를 전송하지 않고 실제로 이 경우, 예상보다 상당히 느린 초당 9600/10바이트(960바이트/s)로 데이터를 전송한다.
더 나빠질 수 있다. 패리티가 지정되어 있고 2개의 정지 비트를 사용하는 경우, 1개의 8비트 문자를 전송하는 오버헤드는 4비트(시작 비트 1개, 패리티 비트 1개, 정지 비트 2개) 또는 50%! 이 경우 9600비트/s 연결에는 9600/12바이트/s(800바이트/s)가 들어간다. 비동기 직렬 인터페이스는 일반적으로 최대 230.4 kbit/s의 비트 전송 속도를 지원한다. 패리티가 없고 정지 비트 1개로 설정된 경우 바이트 전송 속도가 23.04kbyte/s임을 의미한다.
비동기 시리얼 연결의 장점은 간단하다는 것이다. 한 가지 단점은 데이터 운반 효율성이 낮다는 것이다. 이것은 동기식 인터페이스를 사용함으로써 극복할 수 있다. 이러한 유형의 인터페이스에서, 클럭 신호는 별도의 와이어에 추가되고, 비트는 클럭과 동시에 전송된다. 즉 인터페이스는 더 이상 각 개별 문자의 시작 비트와 정지 비트를 찾을 필요가 없다. 그러나 송신 및 수신 클럭이 동기화 상태로 유지되도록 하는 메커니즘이 필요하다. 따라서 데이터는 d알려진 구분 기호로 구분된 여러 개의 문자로 된 프레임으로 된 프레임 통신을 위한 세 가지 일반적인 코딩 방식이 있다: HDLC, PPP, 이더넷
HDLC
HDLC를 사용할 때, 각 바이트가 시작, 선택적 패리티, 하나 또는 두 개의 정지 비트를 갖는 것이 아니라, 바이트가 하나의 프레임으로 모인다. 프레임의 시작과 끝은 '플래그'로 표시되며, 오류 감지는 프레임 점검 순서에 의해 수행된다. 프레임의 최대 크기 주소가 32비트, 최대 크기 제어 부분이 16비트, 최대 크기 프레임 체크 시퀀스가 16비트인 경우 프레임당 오버헤드는 최대 64비트까지 될 수 있다. 각 프레임이 단 하나의 바이트만 운반된다면, 데이터 처리 효율성은 극도로 낮을 것이다. 그러나 바이트는 일반적으로 함께 모여 있으므로 최대 64비트의 오버헤드가 있더라도 24바이트 이상의 프레임이 비동기 시리얼 연결보다 더 효율적이다. 프레임은 데이터로 운반되는 바이트 수가 다를 수 있기 때문에 크기가 달라질 수 있기 때문에, 이는 HDLC 연결의 오버헤드가 고정되지 않음을 의미한다.[5]
PPP
"point-to-point protocol" (PPP)은 인터넷 요청 문서 RFC 1570, RFC 1661 및 RFC 1662에 의해 정의된다. 패킷 프레임과 관련하여 PPP는 HDLC와 상당히 유사하지만, 데이터 투명성을 유지하면서 프레임을 구분하는 바이트 지향("옥텟") 방식뿐만 아니라 비트 지향 방식도 지원한다.[6]
이더넷
이더넷은 「로컬 지역 네트워크」(LAN) 기술로서, 프레임도 있다. 두 시스템 간의 연결에서 프레임을 전기적으로 정의하는 방식은 HDLC 또는 PPP를 사용하는 일반적인 광역 네트워킹 기술과는 다르지만, 이러한 세부 사항은 처리량 계산에 중요하지 않다. 이더넷은 공유 매체로, 자기들끼리 파일을 전송하고 있는 두 시스템만이 연결에 대한 독점적인 접근을 보장하지 않는다. 여러 시스템이 동시에 통신을 시도한다면, 어떤 쌍 사이의 처리량은 이용 가능한 공칭 대역폭보다 상당히 낮을 수 있다.[7]
기타 하위 수준 프로토콜
시스템 간의 많은 연결을 위한 전용 지점 간 연결만이 유일한 옵션은 아니다. 프레임 릴레이, ATM, MPLS 기반 서비스도 이용할 수 있다. 데이터 처리량을 계산하거나 추정할 때, 프레임/셀/패킷 포맷의 상세 내용과 기술의 상세 구현을 이해할 필요가 있다.[8]
프레임 릴레이
프레임 릴레이는 데이터를 전달하는 프레임 형식을 정의하기 위해 수정된 HDLC 형식을 사용한다. [9]
현금 자동 입출금기
"비동기 전송 모드"(ATM)는 근본적으로 다른 데이터 전송 방법을 사용한다. 가변 길이 프레임이나 패킷을 사용하는 대신 고정 크기 셀로 데이터를 전송한다. 각 셀의 길이는 53바이트로, 처음 5바이트는 헤더로 정의되고, 다음 48바이트는 페이로드로 정의된다. 데이터 네트워킹은 일반적으로 48바이트보다 큰 데이터 패킷을 요구하기 때문에, 데이터 패킷을 더 작은 셀이 운반할 표준적인 방법으로 분할해야 하는지를 지정하는 정의된 적응 과정이 있다. 이 과정은 전달된 데이터에 따라 달라지기 때문에 ATM 명명법에는 서로 다른 ATM 적응 계층이 존재한다. 대부분의 데이터에 대해 정의된 프로세스는 ATM 적응 계층 번호 5 또는 AAL5로 명명된다.
ATM 링크의 처리량을 이해하려면 어떤 ATM 적응 계층이 전송되는 데이터에 사용되었는지 알아야 한다.[10]
MPLS
MPLS(Multiprotocol Label Switching)는 기존 데이터 패킷에 '라벨'로 알려진 표준 태그 또는 헤더를 추가한다. 특정 상황에서는 MPLS를 '스택된' 방식으로 사용할 수 있으므로 라벨이 이미 라벨이 표시된 패킷에 추가된다. MPLS 시스템 간의 연결도 기본 전송 프로토콜이 없는 '원적'일 수 있고, MPLS 라벨 패킷을 페이로드로 프레임 릴레이 또는 HDLC 패킷으로 운반할 수 있다. 정확한 처리량 계산은 그러한 구성을 고려해야 한다. 예를 들어, 데이터 패킷은 '레이블 스택'을 통해 두 개의 MPLS 라벨을 부착한 다음 HDLC 프레임 안에 페이로드로 배치할 수 있다. 이것은 패킷에 부착된 단일 MPLS 라벨이 수신 시스템에 대한 기본 프로토콜 없이 '원래' 전송되는 것을 고려해야 하는 더 많은 오버헤드를 발생시킨다.[11]
상위 수준 프로토콜
파일 내용을 HDLC 또는 PPP 프레임의 '데이터' 필드에 복사하여 파일과 데이터를 전송하는 시스템은 거의 없으며, HDLC 또는 PPP 프레임의 '데이터' 필드 내부의 데이터를 포맷하는 데 다른 프로토콜 계층이 사용된다. 그러한 프로토콜이 가장 일반적으로 사용되는 것은 RFC 791에 의해 정의된 인터넷 프로토콜이다. 이것은 그 자체의 간접비를 부과한다.
다시 말하지만, IP 패킷으로 파일 내용을 복사하는 시스템은 거의 없지만, RFC 1812에 의해 정의된 TCP(Transmission Control Protocol)라는 두 시스템 간의 연결을 관리하는 또 다른 프로토콜을 사용한다. 이것은 그것 자체의 간접비를 더한다.
마지막으로, 최종 프로토콜 계층은 실제 데이터 전송 프로세스를 관리한다. 이를 위해 일반적으로 사용되는 프로토콜은 "파일 전송 프로토콜[12]"이다.
처리량 측정에 사용할 수 있는 도구
이 섹션은 많은 도구를 사용할 수 있고, 그 중 일부는 독점적이며 벤더 애플리케이션에 한정되어 있기 때문에 완전할 수 없다.
이 도구들 중 일부는 악의적인 목적으로 사용될 수 있다. 이러한 도구를 사용하면 검사자가 좋은 의도만 가지고 있더라도 해로운 결과를 초래할 수 있다. 따라서 이러한 도구 사용은 최소한 주의하고 도구를 잘 이해하도록 해야 한다.
- HTTPing
- Iperf 대역폭 측정 도구
- Pingb 대역폭 추정 도구
- IxChariot 및 IxChariot Pro 끝점
참고 항목
참조
- ^ 코머, D. E. (2008) 컴퓨터 네트워크 및 인터넷 5판
- ^ "Mathematical Modelling of TCP Throughput Performance" (PDF).
- ^ 코머, D. E. (2008) 컴퓨터 네트워크 및 인터넷 5판
- ^ 코머, D. E. (2008) 컴퓨터 네트워크 및 인터넷 5판
- ^ 시스코 시스템 주식회사(2001-2006) Cisco IOS IP 구성 안내서
- ^ 리디아 파지알레, D. T. (2006) TCP/IP 자습서 및 기술 개요
- ^ 라믈, T. (2002) Cisco Certified Network Associate. 런던
- ^ 리디아 파지알레, D. T. (2006) TCP/IP 자습서 및 기술 개요
- ^ 코머, D. E. (2008) 컴퓨터 네트워크 및 인터넷 5판
- ^ 코머, D. E. (2008) 컴퓨터 네트워크 및 인터넷 5판
- ^ 스미스, S. (2003) MPLS 소개 시스코
- ^ 리디아 파지알레, D. T. (2006) TCP/IP 자습서 및 기술 개요
외부 링크
- 컬리의 대역폭 테스트
- 사용 가능한 대역폭 측정에 관한 Lawrence Berkeley 국립 연구소 논문