안정성(컴퓨터 네트워킹)

Reliability (computer networking)

컴퓨터 네트워킹에서 신뢰할 수 있는 프로토콜은 송신자에게 의도된 수신자에게 데이터 전달이 성공적이었는지 여부를 통지하는 통신 프로토콜이다. 신뢰성은 ITUATM 포럼에서 사용하는 보증의 동의어다.

신뢰할 수 있는 프로토콜은 일반적으로 신뢰할 수 없는 프로토콜보다 더 많은 오버헤드가 발생하며, 그 결과, 더 느리고 더 적은 확장성으로 작동한다. 이것은 종종 유니캐스트 프로토콜의 문제는 아니지만, 신뢰할 수 있는 멀티캐스트 프로토콜의 문제가 될 수 있다.

인터넷에서 사용되는 주요 프로토콜인 전송 제어 프로토콜(TCP)은 신뢰할 수 있는 유니캐스트 프로토콜이다. UDP는 신뢰할 수 없는 프로토콜이며 컴퓨터 게임, 스트리밍 미디어 또는 속도가 문제가 되고 데이터의 일시적 특성 때문에 일부 데이터 손실이 용인될 수 있는 다른 상황에서 자주 사용된다.

종종 신뢰할 수 있는 유니캐스트 프로토콜도 연결 지향적이다. 예를 들어, TCP는 소스 및 대상 IP 주소와 포트 번호로 구성된 가상 회로 ID로 연결 지향적이다. 그러나 비동기 전송 모드프레임 릴레이와 같이 일부 신뢰할 수 없는 프로토콜은 연결 지향적이다. 또한 IEEE 802.11과 같은 일부 무연결 프로토콜은 신뢰할 수 있다.

역사

도널드 데이비스가 제안한 패킷 교환 개념을 기반으로 구축된 ARPANET의 첫 번째 통신 프로토콜은 1822 인터페이스를 통해 호스트를 연결하는 신뢰할 수 있는 패킷 전송 절차였다.[1][2] 호스트 컴퓨터는 데이터를 올바른 패킷 형식으로 간단히 배열하고, 대상 호스트 컴퓨터의 주소를 삽입한 다음 인터페이스를 통해 연결된 인터페이스 메시지 프로세서(IMP)로 메시지를 전송한다. 메시지가 대상 호스트로 전달되면 수신확인이 송신 호스트로 전달되었다. 네트워크가 메시지를 전달할 수 없는 경우, IMF는 송신 호스트로 오류 메시지를 다시 보낼 것이다.

한편, 사이클라데스와 ALOHAnet의 개발자들은 신뢰할 수 있는 패킷 전송을 제공하지 않고도 효과적인 컴퓨터 네트워크를 구축할 수 있다는 것을 증명하였다. 이 수업은 후에 이더넷의 설계자들에 의해 받아들여졌다.

네트워크가 패킷 전달을 보장하지 않는다면, 손실된 패킷을 감지하고 재전송함으로써 신뢰성을 제공하는 것은 호스트의 책임이 된다. ARPANET에 대한 후속 경험은 네트워크 자체가 모든 패킷 전송 실패를 신뢰성 있게 감지할 수 없다는 것을 나타냈으며, 이는 어떤 경우에도 오류 감지 책임을 송신 호스트로 밀어넣었다. 이것은 인터넷의 기본 설계 원칙 중 하나인 엔드투엔드 원칙의 개발로 이어졌다.

신뢰성 속성

신뢰할 수 있는 서비스는 배달이 실패하면 사용자에게 통지하고, 신뢰할 수 없는 서비스는 배달이 실패하면 사용자에게 통지하지 않는 서비스다.[citation needed] 예를 들어, 인터넷 프로토콜은 신뢰할 수 없는 서비스를 제공한다. TCP(Transmission Control Protocol)와 IP가 함께 신뢰할 수 있는 서비스를 제공하는 반면 UDP(User Datagram Protocol)와 IP는 신뢰할 수 없는 서비스를 제공한다.

분산 프로토콜의 맥락에서 신뢰성 속성은 프로토콜이 의도된 수신자에게 메시지 전달과 관련하여 제공하는 보증을 명시한다.

유니캐스트 프로토콜에 대한 신뢰성 속성의 예는 "적어도 한 번"이다. 즉, 메시지의 최소한 한 부 이상이 수신자에게 전달될 것을 보장한다.

멀티캐스트 프로토콜에 대한 신뢰성 속성은 수신자별로 표현될 수 있거나(단순 신뢰성 속성), 다른 수신자 사이의 전달 사실이나 전달 순서(강력 신뢰성 속성)와 관련될 수 있다. 멀티캐스트 프로토콜의 맥락에서, 강한 신뢰성 속성은 프로토콜이 다른 수신자에게 메시지 전달과 관련하여 제공하는 보증을 표현한다.

강력한 신뢰성 속성의 예로는 마지막 사본 리콜을 들 수 있다. 즉, 수신인 중 어느 한 명이라도 최소한 하나의 메시지 사본을 사용할 수 있는 한, 실패하지 않는 다른 모든 수신인도 결국 사본을 받게 된다. 이와 같은 강력한 신뢰성 속성은 일반적으로 메시지를 수신자 간에 재전송하거나 전달할 것을 요구한다.

마지막 복사 리콜보다 강한 신뢰성 속성의 예는 원자성이다. 속성은 적어도 하나의 메시지 복사본이 수신인에게 전달된 경우, 다른 모든 수신인은 결국 메시지의 복사본을 받게 된다고 명시한다. 즉, 각 메시지는 항상 수신자 전원에게 전달되거나 수신자 전원에게 전달되지 않는다.

가장 복잡한 강력한 안정성 속성 중 하나는 가상 동기화다.

신뢰할 수 있는 메시징은 메시지의 성공적인 전송에 대해 일정한 보증을 할 수 있는 동시에 신뢰할 수 없는 기반 구조를 통과하는 메시지의 개념이다.[3] 예를 들어, 메시지가 배달된 경우 최대 한 번에 배달되거나 성공적으로 배달된 모든 메시지가 특정 순서로 도착하는 경우.

신뢰할 수 있는 배달은 메시지가 빨리, 순서대로, 또는 전혀 배달된다는 보장이 없는 최상의 배달과 대조될 수 있다.

구현

신뢰할 수 있는 전달 프로토콜은 신뢰할 수 없는 프로토콜에 구축될 수 있다. 극히 일반적인 예는 TCP/IP라고 알려진 조합인 인터넷 프로토콜전송 제어 프로토콜 계층화다.

IS-IS, Appia 프레임워크, 스프레드, JGroups 또는 QuickSilver 확장 가능한 멀티캐스트와 같은 그룹 통신 시스템(GCS)에 의해 강력한 신뢰성 속성이 제공된다. QuickSilver Properties Framework는 강력한 신뢰성 속성을 단순한 규칙 기반 언어를 사용하여 순수하게 선언적인 방식으로 표현하고 계층적 프로토콜로 자동 변환할 수 있는 유연한 플랫폼이다.

신뢰할 수 있는 메시징을 구현하는 프로토콜 중 하나는 SOAP 메시지의 신뢰할 수 있는 전달을 처리하는 WS-ReliableMessaging이다.[4]

ATM 서비스별 조정 기능은 AAL5를 통한 투명한 보증 전달을 제공한다.[5][6][7]

IEEE 802.11은 모든 트래픽에 대해 신뢰할 수 있는 서비스를 제공하려고 시도한다. 송신소는 송신소가 미리 정해진 기간 내에 ACK 프레임을 받지 못하면 프레임을 재전송한다.

실시간 시스템

그러나 실시간 컴퓨팅에서 신뢰성의 정의는 "실패의 전달 또는 통지"로서 문제가 있다. 그러한 시스템에서 실시간 데이터를 제공하지 못하면 시스템 성능에 부정적인 영향을 미치게 되며, 안전 중요 시스템, 안전 중요 시스템 및 보안 업무 핵심 시스템과 같은 일부 시스템은 특정 최소 수준에서 성능을 발휘한다는 을 입증해야 한다. 이는 다시 중요 데이터의 전달을 위해 지정된 최소 신뢰도를 충족해야 한다. 그러므로 이러한 경우, 중요한 것은 전달일 뿐이다. 전달 실패에 대한 통지는 실패를 개선한다. 하드 실시간 시스템에서는 모든 데이터가 기한 내에 전달되어야 하며 그렇지 않으면 시스템 장애로 간주된다. 기업 실시간 시스템에서 늦은 데이터는 여전히 유효하지 않지만, 시스템은 늦은 데이터나 누락된 데이터의 양을 허용할 수 있다.[8][9]

신뢰할 수 있는 전달 및 적시성을 위한 실시간 요구사항을 해결할 수 있는 여러 프로토콜이 있다.

MIL-STD-1553BSTANAG 3910항전 데이터 버스를 위한 그러한 시기적절하고 신뢰할 수 있는 프로토콜의 잘 알려진 예들이다. MIL-1553은 데이터 전송과 이러한 전송 제어를 위해 1 Mbit/s 공유 매체를 사용하며 연합 군사 항전 시스템에 널리 사용된다.[10] 이 데이터를 수신하거나 전송하기 위해 연결된 원격 터미널(RT)을 명령하기 위해 버스 컨트롤러(BC)를 사용한다. 그러므로 BC는 혼잡함이 없도록 보장할 수 있으며, 이전은 항상 시기적절하다. 또한 MIL-1553 프로토콜은 여전히 적시에 전달을 보장하고 물리적 계층보다 높은 신뢰성을 증가시킬 수 있는 자동 재시도를 허용한다. 유로파이터 태풍에 사용되는 EFABus라고도 알려진 STANAG 3910은 사실상 데이터 전송을 위해 20 Mbit/s 공유 미디어 버스를 증강하여 제어 목적으로 1 Mbit/s 공유 미디어 버스를 보유하는 MIL-1553의 버전이다.

ATM(Asynchronous Transfer Mode), AFDX(Avionics Full-Duplex Switched Ethernet), TTEThernet(Time Triggered Ethernet)은 패킷 교환 네트워크 프로토콜의 예로서, 데이터 전송의 적시성과 신뢰성을 네트워크에서 보장할 수 있다. AFDX와 TTEternet도 IEEE 802.3을 기반으로 한다. 이더넷, 완전히 호환되지는 않지만.

ATM은 네트워크를 통한 완전한 결정론적 경로를 갖는 연결지향적 가상채널(VC)과 네트워크 내에서 구현되는 사용·네트워크 매개변수 제어(UPC/NPC)를 각각 사용해 각 VC의 트래픽을 별도로 제한한다. 이것은 네트워크의 공유 자원(스위치 버퍼)의 사용을 미리, 즉 시스템 설계 시간에 운반할 트래픽의 매개변수로부터 계산할 수 있게 한다. 그것들이 네트워크에 의해 구현된다는 것은 네트워크의 다른 사용자들이 예상치 못한 방식으로 행동할 때, 즉 그들이 예상하는 것보다 더 많은 데이터를 전송해도 이러한 계산은 여전히 유효하다는 것을 의미한다. 계산된 사용량은 경로와 연결 대역폭의 제약으로 인해 이러한 전송에 사용되는 자원은 결코 초과 구독되지 않는다는 것을 보여주기 위해 이러한 자원의 용량과 비교할 수 있다. 그러므로 이러한 이전은 결코 혼잡의 영향을 받지 않을 것이며 이러한 영향으로 인한 손실은 없을 것이다. 그 후, 스위치 버퍼의 예측된 최대 사용량으로부터, 네트워크를 통한 최대 지연도 예측할 수 있다. 그러나, 신뢰성 및 적시성이 입증되기 위해서, 그리고 네트워크에 접속된 장비에 의한 결함 및 악의적인 행동에 대해 내성을 갖기 위해서, 이러한 자원 사용의 계산은 네트워크에 의해 적극적으로 집행되지 않는 어떤 매개변수에 근거할 수 없다. 즉, 트라우마의 출처가 무엇인지에 근거할 수 없다.ffic는 트래픽 특성에 대한 통계 분석을 수행하거나 수행할 것으로 예상된다(네트워크 미적분 참조).[11]

AFDX는 주파수 영역 대역폭 할당과 트래픽 관리를 사용하여 각 가상 링크(VL)의 트래픽을 제한하여 공유 리소스에 대한 요구사항을 예측할 수 있고 중요한 데이터에 영향을 주지 않는다는 것을 증명할 수 있도록 혼잡을 방지할 수 있다.[12] 그러나 자원 요구사항을 예측하고 혼잡 방지를 입증하는 기술은 AFDX 표준의 일부가 아니다.

TTEThernet은 시간 영역 제어 방법을 사용하여 네트워크를 통해 데이터를 전송하는데 있어 가능한 가장 낮은 지연 시간을 제공한다 – 매번 트리거된 전송이 특정 시간에 스케줄링되어 공유 자원에 대한 경합이 제어되고 따라서 혼잡의 가능성이 제거된다. 네트워크의 스위치는 이 타이밍을 적용하여 다른 연결된 장비의 결함 및 악의적인 조치에 대한 내성을 제공한다. 그러나 "시간 트리거 통신의 기본 전제조건은 지역 시계 동기화"이다.[13] 이는 중요한 데이터의 출처가 스위치와 동일한 시간 보기를 가져야 정확한 시간에 전송이 가능하고 스위치가 이를 올바른 것으로 보기 때문이다. 이는 또한 중요한 전송이 예정된 시퀀스를 소스 및 스위치 모두에 대해 예측할 수 있어야 한다. 이는 결과적으로 전송 일정을 매우 결정론적인 것(예: 주기적 임원)으로 제한하게 된다.

그러나 버스나 네트워크를 통해 데이터를 전송하는 데 있어 낮은 지연 시간이 반드시 이 데이터를 소싱하고 가라앉히는 애플리케이션 프로세스 사이의 낮은 전송 지연으로 해석되는 것은 아니다. 이는 특히 버스나 네트워크를 통한 전송이 주기적으로 스케줄되어 있는 경우(일반적으로 MIL-STD-1553B와 STANAG 3910, 그리고 반드시 AFDX 및 TTEternet과 같은 경우)에 해당하지만 애플리케이션 프로세스가 이 스케줄과 동기화되지 않는 경우 더욱 그러하다.

AFDX와 TTEethernet을 모두 사용하는 경우 인터페이스에 필요한 추가 기능이 있다. 예를 들어, AFDX의 대역폭 할당 간격 제어와 TTEthernet의 표준 이더넷 인터페이스를 사용하기 어렵게 하는 시간 트리거 데이터 소스의 매우 긴밀한 동기화에 대한 요구사항이 있다. 그러한 표준 IEEE 802.3 네트워크 인터페이스를 사용할 수 있는 네트워크의 트래픽을 제어하는 다른 방법은 현재 연구의 대상이다.[14]

참조

  1. ^ Gillies, J.; Cailliau, R. (2000). How the Web was Born: The Story of the World Wide Web. Oxford University Press. pp. 23–25. ISBN 0192862073.
  2. ^ Roberts, Dr. Lawrence G. (November 1978). "The Evolution of Packet Switching" (PDF). IEEE Invited Paper. Retrieved September 10, 2017. In nearly all respects, Davies’ original proposal, developed in late 1965, was similar to the actual networks being built today.
  3. ^ 신뢰할 수 있는 메시징에 대한 W3C 문서
  4. ^ WS-ReliableMessaging 사양(PDF)
  5. ^ 황영기 등, 1999년 군사 통신 회의 의사록, AAL5(SSCF-TADAS), 투명 보장 전달을 위한 서비스별 조정 기능. MILCOM 1999, vol.2, 페이지 878–882. doi:10.1109/MILCOM.199.821329
  6. ^ ATM 포럼, 사용자 네트워크 인터페이스(UNI), v. 3.1, ISBN 0-13-393828-X, 프렌티스 홀 PTR, 1995.
  7. ^ ITU-T, B-ISDN ATM 적응계층 규격: 타입 5 AAL, 추천서 I.363.5, 국제 전기 통신 연합, 1998.
  8. ^ S, Schneider, G, Pardo-Castellote, M, Hamilton. "Ethernet이 실시간이 될 수 있는가?", Real-Time Innovations, Inc., 2001
  9. ^ Dan Rubenstein, Jim Krose, Don Towsley, "사전 예방적 정방향 오류 수정을 사용한 실시간 신뢰할 수 있는 멀티캐스트", NOSSDAV '98
  10. ^ Mats Ekman, Avionic Architectures Trends and challenges (PDF), archived from the original (PDF) on 2015-02-03, Each system has its own computers performing its own functions
  11. ^ Kim, Y. J.; Chang, S. C.; Un, C. K.; Shin, B. C. (March 1996). "UPC/NPC algorithm for guaranteed QoS in ATM networks". Computer Communications. Amsterdam, The Netherlands: Elsevier Science Publishers. 19 (3): 216–225. doi:10.1016/0140-3664(96)01063-8.
  12. ^ AFDX Tutorial, : CS1 maint: 제목으로 보관된 복사본(링크)
  13. ^ Wilfried Steiner와 Bruno Dutertre, 시만텍 기반 TTEethernet 동기화 기능공식 검증, S. Kowalewski 및 M. Roberi(Eds.), FMICS 2010, LNCS 6371, 페이지 148–163, 2010.
  14. ^ D. W. Charlton; et al. (2013), "An Avionic Gigabit Ethernet Network", Avionics, Fiber-Optics and Photonics Conference (AVFOP), IEEE, p. 17–18, doi:10.1109/AVFOP.2013.6661601, ISBN 978-1-4244-7348-9, S2CID 3162009