마이크로콤 네트워킹 프로토콜
Microcom Networking Protocol거의 항상 MNP로 [1]단축된 Microcom Networking Protocols는 초기 고속(2400비트/초 이상) 모뎀에서 일반적으로 사용되는 오류 수정 프로토콜 패밀리입니다.원래 마이크로콤의 모뎀 제품군에서 사용하기 위해 개발된 이 프로토콜은 나중에 대부분의 모뎀 산업, 특히 "빅3", 텔레비트, USRobotics 및 Hayes에 의해 공개 라이선스되어 사용되었습니다.MNP는 이후 1990년대 초 최초의 v.32bis 모뎀에서 거의 보편적으로 사용된 v.42bis로 대체되었습니다.
개요
1977년에 Xmodem이 소개되었지만, 1985년에 뉴욕 타임즈는 XMODEM을 먼저 소개했고, 그 후 MNP를 유력한 경쟁자로 다루었으며, 9600 보모뎀이 [2]등장하기 시작했다.1988년까지 타임즈는 9600과 19.2K에 대해 언급했으며, "최소 100개의 다른 모뎀 브랜드가 MNP를 따른다"고 말했다(헤이스가 LAP-B를 사용한 [3]것과 비교).
오류 수정 기본 사항
모뎀은 본질적으로 오류가 발생하기 쉬운 장치입니다.전화 회선상의 노이즈(흔히 발생하는 현상)는, 모뎀이 데이터를 송신하기 위해서 사용하는 소리를 간단하게 흉내낼 수 있기 때문에, 인식하기 어려운 에러가 발생합니다.읽기 또는 간단한 텍스트 쓰기와 같은 일부 작업의 경우, 너무 많은 문제를 일으키지 않고 소수의 오류를 허용할 수 있습니다.컴퓨터 프로그램을 기계 형식으로 전송하는 것과 같은 다른 작업에서는 한 번의 오류로 인해 수신된 데이터가 무용지물이 될 수 있습니다.모뎀의 사용 가능한 대역폭이 증가하면 랜덤노이즈로 에러가 발생할 가능성도 높아집니다.2400비트/초를 넘으면 이러한 에러는 매우 자주 발생합니다.
이 문제를 해결하기 위해 다양한 프로그램에서 다수의 파일 전송 프로토콜이 도입되고 구현되었습니다.일반적으로 이러한 프로토콜은 파일을 원본 파일의 바이트 수를 포함하는 일련의 프레임 또는 패킷으로 나눕니다.패킷 수신 중 오류가 발생했는지 여부를 나타내기 위해 일반적으로 체크섬 또는 CRC 등의 추가 데이터가 각 패킷에 추가됩니다.패킷은 리모트시스템으로 송신됩니다.이 시스템은 데이터의 체크섬 또는 CRC를 재계산하여 수신한 체크섬 또는 CRC와 비교하여 올바르게 수신되었는지 여부를 판단합니다.이 경우, 수신자는 ACK(확인 응답) 메시지를 반송하고, 송신자는 다음의 패킷을 송신하도록 요구됩니다.문제가 발생했을 경우, 대신 NAK(확인 응답 없음) 메시지를 송신하고, 송신자는 파손된 패킷을 재발송합니다.
이 프로세스에 의해, 전송에 「오버헤드」가 도입됩니다.예를 들어 추가 체크섬 또는 CRC는 추가 데이터 전송에 사용할 수 있는 채널 내의 업타임을 사용합니다.단, 패킷이 매우 작지 않은 한(예를 들어 UUCP에 있는 경우) 이는 사소한 문제입니다.한층 더 심각한 문제는, 수신측이 패킷을 조사해 CRC 와 비교하고 나서, ACK 를 송신자에게 송신하는 데 걸리는 시간입니다.이 지연은 모뎀 속도가 증가함에 따라 상대적으로 증가합니다.전화 회선의 지연은 일정하지만, 그 일정 시간 내에 송신할 수 있는 데이터의 양은 속도가 증가함에 따라 증가합니다.이 문제를 해결하기 위해 새로운 프로토콜은 "슬라이딩 윈도우"로 알려진 시스템을 사용하여 송신자가 ACK 메시지를 수신하지 않고 다음 패킷 전송을 시작할 수 있습니다. ACK가 한동안 도착하지 않는 경우에만 패킷을 재발송합니다.
MNP 핸드쉐이크
모뎀이 정상적으로 접속된 후에 MNP 접속이 설정되었습니다.발신측 시스템(콜을 발신한 모뎀 또는 경우에 따라서는 접속처 컴퓨터)은, 「발신측 검출 패턴」(ODP)이라고 불리는 짧은 일련의 8 비트 문자를 송신합니다.문자열은 다음과 같이 구성되어 있습니다.DC1
균등하게 (10001000
처음에 1개 또는 2개$FF
(11111111
),DC1
홀수 패리티(10001001
)와 같은 수의 의$FF
다시 한 번.[4]
ODP 가 송신되면, 송신측은 「Detection Phase Timer」(T400)를 개시합니다.응답 시스템은 이 시간 내에 ODP에 적절하게 응답해야 합니다.그렇지 않으면 발신측 시스템은 MNP가 [4]지원되지 않는 것으로 간주됩니다.
응답 모뎀이 MNP 또는 이를 대체한 최신 V.42 표준을 지원하는 경우 "Anserer Detection Patterns"(ADP) 중 하나로 응답합니다.모뎀이 압축을 지원하는 경우 8비트 버전의 문자열로 응답합니다.E
$FF
[$FF
]C
$FF
[$FF
[EC] 또는 [Error correction and compression]를 나타냅니다.에러 수정은 서포트되고 있습니다만, 압축은 서포트되고 있지 않은 경우, ADP 는E
$FF
[$FF
]NUL
$FF
[$FF
[E] (Error correction)을 나타냅니다.이 표준에서는 두 번째 문자의 마지막 4비트 값이 모두 차이 표준을 나타낼 수 있지만, 이는 구현되지 않았습니다.ADP는 적어도 10회 [4]이상 전송되어야 했다.
T400 시간 내에 ADP가 정상적으로 수신되면 시스템은 두 시스템이 일종의 오류 수정 및/또는 압축을 지원한다고 판단합니다.이 시점에서 시스템은 '프로토콜 확립 단계'에 들어가며, 여기서 이들 표준의 세부 사항이 결정되고 선택됩니다.이것은, 송신원시스템이 L-ESTABLISH 문자열을 송신하는 것으로부터 시작됩니다.이것은, 모드가 에러 정정 모드로 전환되고 있는 것을 나타내며, 응답 시스템은 같은 L-ESTABLISH로 응답합니다.응답 시스템은 L- RELEASE를 전송하여 시도를 거부할 수 있습니다.이 단계는 T401에 [4]의해 타이밍이 설정됩니다.
핸드쉐이크 프로세스의 마지막 단계는 "set asynchronous balanced mode extended"의 줄임말인 "SABME" 명령을 포함하는 MNP 패킷을 보내는 것입니다.이것은 발신자에 의해 송신되며, 발신자가 지원할 수 있는 정확한 프로토콜을 나타내는 다수의 데이터 필드가 포함되어 있습니다.응답 시스템은, 같은 패킷의 수정판으로 응답해, 데이터내의 비트를 스위칭 해 성공했음을 나타냅니다.이 시점부터 두 시스템은 오류 수정 패킷 프로토콜을 사용하여 데이터를 교환합니다.타이머 T401 중에 이 마지막 스텝이 완료되지 않으면 발신자는 L-RELEASE를 송신하고 비 MNP [4]링크로 돌아갑니다.
MNP "클래스"
Microcom의 아이디어는 파일 전송 프로토콜을 호스트 컴퓨터 밖으로 이동하고 대신 모뎀에 넣는 것이었다.이렇게 하면 파일 전송뿐만 아니라 전송되는 모든 데이터가 오류 수정됩니다.이것은 또한 멍청한 단말기와 같이 프로세서가 없는 디바이스는 오류 없는 링크를 즐길 수 있다는 것을 의미했습니다.
원래 프로토콜은 매우 단순하고 비효율적이어서 "클래스"[5]라고 불리는 다양한 프로토콜이 개선되었습니다.각 클래스는 일반적으로 이전 버전보다 성능이 향상되었으며, 이전 버전과의 호환성을 이유로만 유지되었습니다.
MNP 1 및 2
최초의 MNP 표준은 소급해서 MNP Class 1, 또는 간단히 MNP 1로 알려져 있으며, 본질적으로 XModem과 유사한 단순한 반이중 프로토콜이었습니다.슬라이딩 윈도우 지원이 부족했기 때문에 스루풋 효율은 약 70%로 상당히 낮았습니다.즉, Microcom에서 판매되고 있는 모뎀과 같은 2400비트/초 모뎀에서는 MNP 1을 사용할 때 throughput은 약 1690비트/초로 제한됩니다.이 시스템은 주로 제한된 하드웨어에서 최대한 쉽게 구현할 수 있도록 개발되었으며, 그 단순성이 설명됩니다.
저비용 처리 능력이 향상됨에 따라 Microcom은 MNP 2를 도입했습니다.MNP 1의 전이중 버전에서는 다음 발신 패킷이 이미 시작되고 있을 때 ACK 메시지를 반환할 수 있습니다.이것에 의해, 모뎀이 ACK 의 반환을 대기하고 있을 때의 일시 정지가 없어져, ACK 가 소정의 시간내에 수신되었는지 아닌지를 추적하기 위해서, 시스템에 메모리가 필요하게 됩니다.패킷 간 지연이 감소했기 때문에 CRC의 오버헤드만 남아 스루풋이 약 84%[6]로 향상되었습니다.
MNP 3
통상적인 사용에서는, 모뎀은 「비동기」라고 불리는 동작 모드인 임의의 시점에서 데이터를 송수신 할 수 있습니다.모뎀은 송신되는 비트를 듣고 수신되는 비트의 속도에 맞춰 클럭을 '잠금'함으로써 송신자의 데이터 속도를 결정할 수 있습니다.데이터는 언제든지 착신할 수 있기 때문에 정확한 타이밍은 없습니다.사용자가 입력을 정지할 때(예를 들어) 일시정지 시 클럭을 다시 조정해야 할 수 있습니다.
안타깝게도 이러한 종류의 클럭 디코딩은 데이터에 적어도1 ~ 0 사이의 전환이 없는 한 동작하지 않습니다.0 또는 1의 긴 스트림에는 전환이 없기 때문에 특정 바이트의 데이터가 어디에서 시작되는지 알 수 없습니다.이 문제를 피하기 위해 각 바이트의 한쪽 끝에 추가 프레임 비트가 추가됩니다.일반적으로 '시작 비트'와 '정지 비트'라고 불리는 양쪽의 1비트입니다.이것에 의해, 1 바이트마다 적어도1 대 0으로의 이행이 보증됩니다.클럭을 잠그는 데 충분한 양입니다.단, 이러한 비트는 데이터의 8비트(1바이트)마다 10비트로 확장되며 오버헤드는 20%입니다.
파일 전송 프로토콜을 사용하는 경우 패킷 자체는 자체 프레이밍을 제공합니다.패킷은 항상 연속적인 데이터 스트림을 송신하기 때문에, 키보드로 입력하는 유저에 의해서 송신되는 데이터의 경우와 같은 방법으로, 클럭은 「드라이프」할 수 없습니다.에러 수정 링크상에서 동작하고 있는 경우는, 이러한 프레이밍 비트를 오프하는 것으로, 20%의 오버헤드를 없앨 수 있습니다.
이것이 바로 MNP 3이 한 일입니다.양쪽 모뎀이 MNP 3을 지원한다고 네고시에이트하여 판단한 후 프레이밍 비트가 꺼지고 전체적인 효율이 약 20% 향상되었습니다.이는 프로토콜의 오버헤드를 거의 완벽하게 상쇄합니다. 즉, MNP 3을 사용할 때 사용자는 이상적인 2400비트/초 스루풋에 매우 근접할 것으로 예상할 수 있습니다(1900비트/초 대비).
MNP 4
MNP 4는 MNP 3의 한층 더 개량되어 Adaptive Packet Assembly라고 불리는 가변 패킷사이즈 시스템이 추가되었습니다.
MNP의 경우 패킷시스템의 오버헤드는 비교적 작았지만 멀티바이트 CRC조차 데이터에 더 적합한 공간을 차지하고 있었습니다.일반적으로 더 큰 패킷을 사용하면 CRC가 동일한 고정 크기를 유지하고 데이터 양에 비해 상대적인 오버헤드가 감소하기 때문에 이 문제에 대처할 수 있습니다.다만, 에러가 발생했을 경우는, 보다 큰 패킷을 사용하면, 재발송신할 필요가 있는 데이터가 많아집니다.노이즈가 많은 회선에서는 전체적인 throughput이 느려질 수 있습니다.
MNP 4에서는 2개의 모뎀이 항상 회선을 감시하여 폐기된 패킷이 없는지 확인합니다.또한 (사용자가 선택한) 특정 문턱값을 넘으면 모뎀은 더 작은 패킷사이즈로 돌아갑니다.즉, 패킷이 폐기되면 재발송신할 필요가 있는 데이터의 양이 적어지기 때문에 throughput이 향상됩니다.고품질 회선에서는, 보다 큰 패킷을 사용하는 것으로, CRC 의 오버헤드가 저감 됩니다.패킷은 64 ~256 바이트로 사용자가 필요에 따라 특정 크기로 강제할 수 있습니다.
또한 MNP 4는 데이터 위상 최적화를 도입했습니다.이것은 링크 설정 후 패킷 프레임 정보의 일부를 폐기할 수 있도록 하는 단순한 프로토콜 변경으로 프로토콜 오버헤드를 더욱 줄여줍니다.이러한 기능의 조합과 MNP 3의 바이트 프레임 부족에 의해 스루풋 효율이 한층 더 향상되었습니다.
MNP 5
MNP 5는 훨씬 더 근본적인 변경이 이루어졌고, 모뎀에 즉각적인 데이터 압축이 도입되었습니다.MNP 5 에서는, 우선 컴퓨터로부터 수신한 데이터가 간단한 알고리즘에 의해서 압축되고 나서, 전송을 위해서 MNP 4 패킷화 시스템에 건네집니다.최상의 경우 시스템에서는 약 2:1 압축을 제공했지만, 일반적으로 텍스트에서는 약 1.6:1 압축이 일반적이었다.그 결과, 2400비트/초 모뎀은 4,000비트/초로 텍스트를 전송하는 것처럼 보입니다.
이러한 스루풋의 극적인 증가로 인해 Microcom 모뎀은 명목상 훨씬 더 빠른 타사 모델들과 다소 경쟁력을 유지할 수 있었습니다.예를 들어, Microcom은 일반적으로 범용 부품을 사용하여 1200 및 2400비트/초 모뎀을 생산한 반면, USRobotics 및 Telebit과 같은 회사는 최대 1,9200비트/초의 속도를 가진 모델을 제공했습니다.
단, 이 퍼포먼스의 향상은 양단에서 모뎀이 MNP를 지원하는 경우에만 이용할 수 있었습니다.이를 통해 시스템은 링크 양단에서 모뎀을 설치하는 사이트에서만 매우 매력적이었습니다.게시판 시스템(BBS) 등의 다이얼업 서비스에서는 최종 사용자가 MNP를 사용할 가능성이 거의 없을 때 마이크로컴 디바이스를 사용할 필요가 없었습니다.첫째, 사용자가 링크의 양끝을 제어하는 경우에도 마이크로컴의 "특허" 모뎀은 훨씬 더 높은 "실제" 스루풋을 제공하는 다른 회사의 모델보다 흥미롭지 않았습니다.
Microcom 모뎀 시장을 창출하기 위해 MNP 5부터 MNP 스위트 전체를 무료로 라이선스하는 급진적인 절차를 밟았습니다.이는 MNP가 설치된 모뎀의 수를 극적으로 증가시켜 "실제" 마이크로컴 모뎀을 더욱 매력적으로 만들 수 있다는 생각이었다.게다가 퍼포먼스가 향상된 새로운 규격은 링크의 양 끝에 마이크로컴모뎀이 있는 경우 더욱 뛰어난 퍼포먼스를 제공합니다.
이 계획은 역효과를 낳았다v.42bis 표준에서 대폭 개선된 LAPM 압축 시스템의 도입은 Microcom 자체의 발전을 능가하여 "진짜" Microcom 모델의 가치를 거의 제로로 떨어뜨렸습니다.v.42bis와 범용 부품을 사용하여 Microcom보다 더 나은 성능을 가진 수많은 저가 모뎀이 곧 출시되었습니다.마이크로컴은 계속해서 새로운 표준을 도입했지만, 대부분 무시당했고, 마이크로컴은 시장에서 더 이상 힘을 발휘하지 못했다.
MNP 6
v.32의 도입으로 표준 9600비트/초 모뎀이 다수 도입되었습니다.이들 모뎀의 대부분은 MNP 5를 탑재하고 있습니다.상품 시장이 되고 있던 것과 한층 더 차별화(v.32bis Supra가 등장하기 전까지는 실제로 그렇지 않았지만)1991년 FAXModem 14400), Microcom은 MNP 6을 만들었습니다.
MNP 6의 주요 기능은 Statistical Duplexing이었습니다.이 기능은 대역폭의 대부분을 모뎀링크 한쪽 또는 다른 쪽 전용으로 할 수 있습니다.예를 들어, 1대의 머신이 대용량 파일을 송신하고 있는 경우, 다른 쪽에서는 ACK 메시지와 NAK 메시지 등, 소량의 정보만을 반송합니다.이 경우 모뎀은 최대 19,200비트/초의 단방향 대역폭을 제공하여 가능한 한 많은 채널을 송신자에게 제공합니다.이를 위해 변조 시스템을 실제로 변경할 필요가 없었습니다.보통 9600비트/초 모뎀은 양 방향의 풀9600비트/초 채널을 가지고 있으며, MNP 6에서는 양쪽 모두9600비트/초로 고정되지 않고 한쪽 또는 다른 쪽에 대역폭을 할당할 수 있습니다.
이 기본 개념은 Hayes의 Express 96 프로토콜, USRobotics의 HST Telebit의 PEP 및 (간단히) CompuCom Speed Modem의 기반을 형성하면서 이미 업계에서 널리 사용되고 있습니다.이 모든 표준들은 v.32bis가 지배하는 시장에서 살아남기가 매우 어렵다는 것을 알았고, 이 표준들과 마찬가지로 MNP 6도 대부분 무시되었습니다.
MNP 6에 추가된 눈에 띄는 것은 유니버설링크 네고시에이션입니다.추가 변조 모드(특히 v.32 이후 추가)가 도입됨에 따라 링크 양 끝에 있는 모뎀은 공통 표준을 협상하는 데 많은 시간을 소비해야 했습니다.예를 들어 v.32bis 모뎀은 처음에 14.4 링크를 얻기 위해 톤을 회선에 송신합니다.이것이 잠시 후에 실패하면 9600, 2400, 마지막으로 1200비트/초를 시도합니다.이러한 각 규격은 링크의 '시행'에 필요한 최소 시간을 정의하기 때문에 지연은 10초 이상 길어졌습니다.
ULN은 오류 수정이 켜져 있지 않은 상태에서 항상 2400비트/초로 링크를 네고시에이트함으로써 이 지연을 회피했습니다.이로 인해 오래된 1200비트/초 모뎀과의 호환성은 없어졌지만, 현재는 매우 드물었습니다.접속이 확립되면(즉각), 양쪽 모뎀이 리모트모뎀에 작은 식별 문자열을 송신합니다.그 후 두 모뎀 모두 문자열을 검사하여 가장 빠른 공통 모드를 선택했습니다.그 후, 발신자는 그 고속으로 1회 재네고시에이션을 실시했습니다.
MNP 7
MNP 7은 텍스트 파일의 3:1 압축을 개선한 새로운 압축 알고리즘을 도입했습니다.단, MNP 7이 도입되었을 때 v.42bis 표준은 4:1 압축을 제공하고 있었습니다.
MNP 9
MNP 9(발매된8은 없는 것 같습니다)는 유니버설링크 검출을 개량하여 새로운 고속 모드를 추가했습니다만, 그 이외는 MNP 7과 같았습니다.
MNP 10
MNP 10은 동유럽에서 널리 사용되는 시끄러운 전화 회선에서 잘 작동하도록 특별히 설계된 새로운 오류 수정 프로토콜을 도입했습니다.MNP 4 등의 이전 버전과 달리 MNP 10은 항상 회선의 품질을 감시하고 조건이 개선되면 패킷사이즈를 조정했습니다.
1991년 Microcom은 MNP 10을 Rockwell International에 매우 인기 있는 모뎀 칩셋에 사용할 수 있도록 라이선스했습니다.USR의 모델을 제외한 거의 모든 모뎀이 약 1995년부터 Rockwell 칩셋을 사용했기 때문에 MNP 10은 상당히 광범위하게 배치되었습니다(사용되지 않은 경우).USR은 최종적으로 MNP 10을 V.everything 시리즈모뎀에 추가함으로써 사실상 범용성이 높아졌습니다.
MNP 10은 나중에 "Extended Cellular"의 약자인 "EC"인 MNP 10EC로 확장되었습니다.이것은, MNP 10이, 휴대 전화가 1개의 셀로부터 다른 셀로 이동했을 때의 송신 일시 정지를 처리할 수 있도록 한 일련의 변경입니다.보통은 회선상의 에러로 해석됩니다.MNP 10EC 를 사용하면, 이러한 일시 정지는 「에러 없음」으로 올바르게 식별되어 링크 속도는 고속인 채로 있습니다.그 성공은 AT&T Paradyne가 만든 경쟁사 ETC로 이어졌다.
MNP 10EC는 원래 MNP 6에서 도입된 ULN 링크 네고시에이션 방식이 포함되어 있기 때문에(및 MNP 9에서 개선됨) 세포 역할에 특히 매력적이었다.모든 방송 시간이 과금되는 셀룰러 네트워크에서는 셋업이 빠를수록 비용이 절약됩니다.MNP 10EC는 셀 네트워크가 모뎀을 컴퓨터에 연결할 필요가 없는 다양한 올 디지털 시스템으로 바뀌었기 때문에 수명이 제한되었습니다.
문서
MNP는 독자 사양이지만 2 ~4 의 클래스는, 실제로는 에러 제어 기능의 대체 순서로서 Annex A 의 V.42 사양에 기술되어 있습니다.이 부록은 최대 1996년[7] 개정의 명세서에 제시되어 있다.2002년 최신 개정판에서는 삭제되었습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Janssen, Cory. "What is the Microcom Networking Protocol (MNP)". techopedia.com. Retrieved 14 April 2014.
- ^ Erik Sandberg-Diment (September 8, 1985). "When computers need to chat". The New York Times.
- ^ Peter H. Lewis (April 10, 1988). "A Lonely Road for a Modem Maker". The New York Times.
- ^ a b c d e T-REC-V42 (Technical report).
- ^ "Telecommunications standards, Microcom Networking Protocol". IBM Corp. Retrieved 14 April 2014.
- ^ 두르다, 프랭크
- ^ T-REC-V42 (Technical report).