Microcom Ağ Protokolü - Microcom Networking Protocol
Microcom Ağ Protokolü ler, hemen hemen her zaman kısaltılmış MNP , yaygın erken yüksek hızlı (2400 bit / s ve üstü) üzerinde kullanılan hata düzeltme protokolleri ailesidir modemler . Başlangıçta Microcom'un kendi modem ailesinde kullanılmak üzere geliştirilen protokol, daha sonra açıkça lisanslandı ve modem endüstrisinin çoğu, özellikle de "üç büyük", Telebit , USRobotics ve Hayes tarafından kullanıldı . MNP daha sonra 1990'ların başındaki ilk v.32bis modemlerden başlayarak neredeyse evrensel olarak kullanılan v.42bis ile değiştirildi .
genel bakış
Xmodem 1977'de tanıtılmış olsa da , 1985 gibi geç bir tarihte New York Times önce XMODEM'i tanımladı, ardından MNP'yi önde gelen bir rakip olarak tartıştı ve 9600 baud modemin "görünümlerini artırmaya başladığını" söyledi. 1988'de Times 9600 ve 19.2K hakkında konuşuyordu ve MNP'yi "en az 100 başka modem markası takip ediyor" (Hayes'in LAP-B kullanımına kıyasla).
Hata düzeltme temelleri
Modemler, doğası gereği hataya açık cihazlardır. Telefon hattındaki gürültü, yaygın bir durum olarak, modemler tarafından veri iletmek için kullanılan sesleri kolayca taklit edebilir ve bu nedenle fark edilmesi zor olan hatalara neden olabilir. Basit metin okuma veya yazma gibi bazı görevler için, çok fazla soruna neden olmadan az sayıda hata kabul edilebilir. Bilgisayar programlarını makine formatında aktarmak gibi diğer görevler için tek bir hata bile alınan verileri işe yaramaz hale getirebilir. Modemler, mevcut bant genişliğinin daha fazlasını kullanarak hızları arttıkça , rastgele gürültünün hatalara yol açma olasılığı da artar; 2400 bit/sn üzerinde bu hatalar oldukça yaygındır.
Bu sorunla başa çıkmak için , çeşitli programlarda bir dizi dosya aktarım protokolü tanıtıldı ve uygulandı. Genel olarak, bu protokoller bir dosyayı orijinal dosyadan birkaç bayt içeren bir dizi çerçeve veya pakete böler . Paketin alınırken bir hatayla karşılaşıp karşılaşmadığını belirtmek için bir tür ek veri, normalde bir sağlama toplamı veya CRC eklenir. Paket daha sonra, verilerin sağlama toplamını veya CRC'sini yeniden hesaplayan ve uygun şekilde alınıp alınmadığını belirlemek için alınan sağlama toplamı veya CRC ile karşılaştıran uzak sisteme gönderilir. Eğer öyleyse, alıcı , göndericiden bir sonraki paketi göndermesini isteyen bir ACK ( onay ) mesajı gönderir. Herhangi bir sorun varsa, bunun yerine bir NAK ( onaylanmadı ) mesajı gönderir ve gönderici hasarlı paketi yeniden gönderir.
Bu süreç, transfere "ek yükü" getirir. Birincisi, ek sağlama toplamı veya CRC, kanalda aksi takdirde ek veri göndermek için kullanılabilecek süreyi kullanır. Ancak bu, paketler çok küçük olmadıkça ( örneğin UUCP'de olmadıkça) küçük bir endişe kaynağıdır . Daha ciddi bir endişe, alıcının paketi incelemesi, onu CRC ile karşılaştırması ve ardından ACK'yi göndericiye geri göndermesi için gereken zamandır. Bu gecikme, modemin hızı arttıkça göreli olarak artar; Telefon hattının gecikme sabit olduğunu, ancak veri miktarı olabilir zaman o sabit miktarda gönderilecek hız arttıkça büyür. Bu sorunu çözmek için, daha yeni protokoller " sürgülü pencereler " olarak bilinen ve gönderenin bir ACK mesajı almadan bir sonraki paketi iletmeye başlamasına izin veren bir sistem kullanır ; sadece ACK bir süre gelmezse paketi yeniden gönderir.
MNP el sıkışma
Modemler başarıyla bağlandıktan sonra MNP bağlantıları kuruldu. Kaynak sistem (aramayı yapan modem veya bazen bağlı olduğu bilgisayar), "Orijinatör Algılama Modeli" (ODP) olarak bilinen 8 bitlik kısa bir karakter dizisi gönderir. Dize , başlangıçta DC1çift eşlikli ( 10001000), bir veya iki $FF( 11111111), DC1tek eşlikli ( 10001001) ve aynı sayıda $FFtekrardan oluşuyordu .
ODP gönderildikten sonra, gönderen "Algılama Aşaması Zamanlayıcısı" veya T400'ü başlatır. Yanıtlama sisteminin bu süre içinde ODP'ye uygun şekilde yanıt vermesi gerekiyordu, aksi takdirde kaynak sistem MNP'nin desteklenmediğini varsayacaktır.
Yanıtlayan modem MNP'yi veya onun yerini alan sonraki V.42 standartlarını destekliyorsa, "Yanıtlayıcı Algılama Modellerinden" (ADP) biriyle yanıt verdi. Modem sıkıştırmayı destekliyorsa, "EC" veya "Hata düzeltme ve Sıkıştırma"yı belirten E$FF[ $FF] C$FF[ $FF] dizesinin 8 bitlik sürümüyle yanıt verdi . Hata düzeltme destekleniyorsa, ancak sıkıştırma desteklenmiyorsa, ADP E$FF[ $FF] NUL$FF[ $FF] idi ve "E" veya "Hata düzeltme" anlamına geliyordu. Standart, ikinci karakterdeki son dört bitin herhangi bir değerinin fark standartlarını göstermesine izin verdi, ancak bu hiçbir zaman uygulanmadı. ADP'nin en az on kez gönderilmesi gerekiyordu.
ADP, T400 süresi içinde başarılı bir şekilde alınırsa, sistem iki sistemin bir tür hata düzeltme ve/veya sıkıştırmayı desteklediğini başarıyla belirlemiştir. Bu noktada sistemler, bu standartların detaylarının belirlendiği ve seçildiği “Protokol Kuruluş Aşaması”na girerler. Bu, kaynak sistemin, modun hata düzeltme moduna geçtiğini belirten L-KURULUŞ dizesini göndermesiyle başlar ve telesekreter sistemi aynı L-KURULUŞ ile yanıt verir. Telesekreter sistemi L-RELEASE göndererek girişimi reddedebilir. Bu aşama T401 ile zamanlanır.
El sıkışma sürecindeki son adım, "zaman uyumsuz dengeli mod genişletilmiş" için kısa olan "SABME" komutunu içeren bir MNP paketi göndermektir. Bu, oluşturucu tarafından gönderilir ve destekleyebileceği kesin protokolleri gösteren bir dizi veri alanı içerir. Telesekreter sistemi, aynı paketin değiştirilmiş bir versiyonuyla yanıt verir ve başarılı olduğunu belirtmek için verideki bitleri değiştirir. Bu noktadan itibaren, iki sistem hata düzeltme paket protokolünü kullanarak veri alışverişinde bulunur. Bu son adım T401 zamanlayıcısı sırasında tamamlanmazsa, oluşturucu L-RELEASE gönderir ve MNP olmayan bir bağlantıya geri döner.
MNP "sınıfları"
Microcom'un fikri, dosya aktarım protokolünü ana bilgisayarın dışına taşımak ve onun yerine modeme yerleştirmekti. Bunu yaparken, yalnızca dosya aktarımları değil, aktarılan tüm veriler hata düzeltilmiş olacaktır. Bu aynı zamanda aptal terminaller gibi işlemcisi olmayan cihazların hatasız bir bağlantının keyfini çıkarabileceği anlamına geliyordu .
Orijinal protokol son derece basit ve oldukça verimsizdi, bu da "sınıflar" olarak adlandırılan çeşitli geliştirilmiş protokollere yol açtı. Her sınıf, yalnızca geriye dönük uyumluluk nedenleriyle korunan önceki sürümlere göre genel olarak performansı iyileştirdi.
MNP 1 ve 2
Geriye dönük olarak MNP Sınıf 1 veya basitçe MNP 1 olarak bilinen ilk MNP standardı, doğası gereği XModem'e benzer basit bir yarı çift yönlü protokoldü . Sürgülü pencere desteği olmadığında, çıktı verimliliği yaklaşık %70 gibi oldukça düşüktü. Bu, Microcom'un sattıkları gibi bir 2400 bit/s modemde, MNP 1 kullanımdayken verimin yaklaşık 1690 bit/s ile sınırlı olacağı anlamına geliyordu. Bu sistem öncelikle, basitliğini açıklayan sınırlı donanımda uygulanması mümkün olduğunca kolay olacak şekilde oluşturulmuştur.
Düşük maliyetli işlem gücü iyileştirmesiyle Microcom , MNP 1'in bir sonraki giden paket başlarken ACK mesajlarının döndürülmesine izin veren tam çift yönlü bir sürümü olan MNP 2'yi tanıttı . Bu, modemin ACK'nın döndürülmesini beklerken duraklamayı ortadan kaldırarak, sistemin belirli bir süre içinde bir ACK'nın alınıp alınmadığını izlemek için bir miktar belleğe ihtiyaç duyması gereksinimini ekledi. Paketler arası gecikme azaltıldığından, yalnızca CRC'nin ek yükü kaldı ve verimi yaklaşık %84'e çıkardı.
MNP 3
Normal kullanımda, bir modem, "zaman uyumsuz" olarak bilinen bir çalışma modu olan herhangi bir zamanda veri gönderebilir veya alabilir. Modem, kendisine gönderilen bitleri dinleyerek ve saatini alınan bitlerin hızına "kilitleyerek" göndericinin verilerinin hızını belirleyebilir . Veriler herhangi bir zamanda ulaşabileceğinden kesin bir zamanlama yoktur; kullanıcı yazmayı bıraktığında (örneğin) duraklamalar için saatin yeniden ayarlanması gerekebilir.
Ne yazık ki, bu tür saat kod çözme, verilerde 1 ile 0 arasında en azından bazı geçişler olmadıkça çalışmaz; 0'lar veya 1'lerden oluşan uzun bir akışta geçiş yoktur, bu da belirli bir bayt için verilerin nerede başladığını bilmeyi imkansız hale getirir . Bu sorunu önlemek için, her baytın her iki ucuna ek çerçeveleme bitleri eklenir, tipik olarak her iki tarafta bir bit "başlatma ve durdurma bitleri" olarak bilinir . Bu, her bayt için en az bir 1'den 0'a geçişi garanti eder, bu da saatleri kilitli tutmak için fazlasıyla yeterlidir. Bununla birlikte, bu bitler ayrıca her 8 bit veriyi (bir bayt) 10 bit'e genişletir, bu da %20'lik bir ek yüktür.
Bir dosya aktarım protokolü kullanıldığında, paketlerin kendileri kendi çerçevelemelerini sunar. Paketler her zaman sürekli bir veri akışı gönderir, bu nedenle saat, bir kullanıcının klavyede yazarak gönderdiği verilerde olduğu gibi "kayamaz". Hata düzeltilmiş bir bağlantı üzerinde çalışırken bu çerçeveleme bitlerini kapatarak, bu %20 ek yük ortadan kaldırılabilir.
MNP 3'ün yaptığı tam olarak budur . Her iki modemin de MNP 3'ü desteklediğini belirledikten ve görüştükten sonra, çerçeveleme bitleri kapatıldı ve genel verimliliği yaklaşık %20 artırdı. Bu, protokolün yükünü neredeyse mükemmel bir şekilde dengeler, yani MNP 3 kullanırken, bir kullanıcı ideal 2400 bit/s çıktıya (1900 bit/s'ye karşı) çok yaklaşmayı bekleyebilir.
MNP 4
MNP 4 , MNP 3'te daha ileri bir gelişmeydi ve Adaptive Packet Assembly olarak adlandırdıkları değişken paket boyutlu bir sistem ekledi .
MNP durumunda, paket sisteminin ek yükü nispeten küçüktü, ancak çok baytlı CRC bile veri için daha iyi yer kaplıyordu. Genel olarak daha büyük bir paket kullanmak bunu ele alır, çünkü CRC aynı sabit boyutta kalır ve dolayısıyla veri miktarına kıyasla göreli ek yükü azalır. Ancak, bir hata oluştuğunda, daha büyük paketlerin kullanılması, daha fazla verinin yeniden gönderilmesi gerektiği anlamına da gelir. Gürültülü hatlarda bu, genel verimi yavaşlatabilir.
MNP 4 ile iki modem, bırakılan paketler için hattı sürekli olarak izler ve belirli bir eşik aşılırsa (kullanıcı tarafından seçilir), modem daha küçük bir paket boyutuna geri döner. Bu, bir paket bırakıldığında, yeniden gönderilmesi gereken veri miktarının daha küçük olduğu ve daha iyi verim elde edildiği anlamına gelir. Kaliteli hatlarda, daha büyük paketler kullanmak, CRC'nin ek yükünün azaltılması anlamına gelir. Paketler 64 ile 256 bayt arasında olabilir ve kullanıcının isterse belirli bir boyuta zorlamasına izin verir.
MNP 4 ayrıca , bağlantı kurulduktan sonra bazı paket çerçeveleme bilgilerinin bırakılmasına izin veren ve protokol ek yükünü daha da azaltan protokolde yapılan basit bir değişiklik olan Veri Aşaması Optimizasyonu'nu da tanıttı . MNP 3'ün bayt çerçeveleme eksikliği ile birlikte bu özelliklerin kombinasyonu, çıktı verimliliğinde daha fazla artışa izin verdi.
MNP 5
MNP 5 için daha da radikal bir değişiklik yapılarak, modemde anında veri sıkıştırması getirildi . MNP 5 ile bilgisayardan alınan veriler önce basit bir algoritma ile sıkıştırılır ve daha sonra iletilmek üzere MNP 4 paketleme sistemine geçirilir. En iyi durum verilerinde sistem yaklaşık 2:1 sıkıştırma sundu, ancak genel anlamda yaklaşık 1,6:1, en azından metin üzerinde tipikti. Sonuç olarak, 2400 bit/s'lik bir modem, metni ~4000 bit/s'de aktarıyor gibi görünür.
Verimdeki bu çarpıcı artış, Microcom modemlerinin, aksi takdirde nominal olarak çok daha hızlı olan diğer şirketlerin modelleriyle bir şekilde rekabet etmesini sağladı. Örneğin, Microcom genellikle emtia parçaları kullanarak 1200 ve 2400 bit/s modemler üretirken, USRobotics ve Telebit gibi şirketler 19200 bit/s'ye kadar hızlarda modeller sunuyordu.
Ancak, performanstaki bu gelişme, yalnızca her iki uçtaki modemler MNP'yi destekliyorsa mümkündü. Bu, sistemi yalnızca modemleri bağlantıların her iki ucuna kuran siteler için gerçekten çekici hale getirdi; bülten tahtası sistemleri (BBS) gibi çevirmeli ağ hizmetleri için, son kullanıcının bir Microcom cihazına sahip olma olasılığı düşükken, bir Microcom cihazı kullanmak için zorlayıcı bir neden yoktu. Kullanıcının bağlantının her iki ucunu da kontrol ettiği durumlarda bile, Microcom'un "tescilli" modemleri, çok daha yüksek "gerçek dünya" çıktıları sunan diğer şirketlerin modellerinden daha az ilgi çekiciydi.
Microcom modemler için bir pazar yaratmak için MNP 5'ten başlayarak tüm MNP paketini ücretsiz olarak lisanslamak gibi radikal bir adım attılar. Buradaki fikir, bunun MNP kurulu modem sayısını önemli ölçüde artıracağı ve "gerçek" Microcom modemlerini daha çekici hale getireceğiydi. Ayrıca, geliştirilmiş performansa sahip daha yeni standartlar, bağlantının her iki ucunda bir Microcom modem olduğunda daha da iyi performans sunacaktır.
Ne yazık ki plan geri tepti. Büyük ölçüde geliştirilmiş giriş LAPM sıkıştırma sistemine V.42bis standardının neredeyse sıfıra Microcom modeli "gerçek" değerini seyrelterek, MICROCOM kendi ilerlemeleri üzerine çıkmıştır. v.42bis ve emtia parçalarını kullanarak, Microcom'un yakında piyasaya sürüldüğü çok daha iyi performansa sahip çok sayıda düşük maliyetli modem. Microcom yeni standartlar getirmeye devam etmesine rağmen, bunlar büyük ölçüde göz ardı edildi ve Microcom piyasada bir güç olmaktan çıktı.
MNP 6
v.32'nin piyasaya sürülmesi , neredeyse tamamı MNP 5'i sunan bir dizi standart 9600 bit/s modemin ortaya çıkmasına neden oldu . 32bis SupraFAXModem 14400 1991'de), Microcom MNP 6'yı yarattı .
MNP 6'nın ana özelliği, bant genişliğinin az ya da çok bir kısmını modem bağlantısının bir tarafına ya da diğerine ayırabilen İstatistiksel Çift Yönlendirme idi . Örneğin, bir makine büyük bir dosya gönderiyorsa, diğer uç yalnızca küçük bir miktar bilgiyi, ACK ve NAK mesajlarını geri gönderir. Bu durumda modemler, gönderene mümkün olduğu kadar çok kanal vererek 19.200 bit/s'ye kadar tek yönlü bant genişliği sunar. Bu aslında modülasyon sisteminde herhangi bir değişiklik gerektirmiyordu: normalde bir 9600 bit/s modemin her iki yönde de tam 9600 bit/s kanalı vardı, toplam 19200 bit/s; MNP 6, her iki yönde 9600'de sabit bırakmak yerine, bu bant genişliğinin az ya da çok bir tarafa verilmesine izin verdi.
Bu temel kavram, Hayes'in Express 96 protokolü, USRobotics'in HST Telebit'in PEP'si ve (kısaca) CompuCom SpeedModem'in temelini oluşturmuş olarak, endüstride zaten yaygın olarak kullanılıyordu . Tüm bu standartlar v.32bis'in hakim olduğu piyasada hayatta kalmayı çok zor buldu ve onlar gibi MNP 6 da büyük ölçüde göz ardı edildi.
MNP 6'ya daha az dikkate değer bir ekleme Universal Link Negotiation idi . Ek modülasyon modlarının, özellikle v.32 ve sonraki eklemelerin tanıtılmasıyla, bağlantının her iki ucundaki modemler, ortak bir standart üzerinde anlaşmak için artan miktarda zaman harcamak zorunda kaldı. Örneğin, bir v.32bis modem, 14.4 bağlantı elde etmeyi denemek için önce hatta tonlar gönderir; bir süre sonra bu başarısız olursa, 9600, 2400 ve son olarak 1200 bit/s'yi dener. Bu standartların her biri, bir bağlantı için "denemek" için minimum bir süre tanımladığından, gecikme 10 saniyenin üzerine çıktı.
ULN, hiçbir hata düzeltme açık olmadan bağlantıyı her zaman 2400 bit/s'de müzakere ederek bu gecikmeyi önledi. Bu, eski 1200 bit/s modemlerle uyumluluğu ortadan kaldırsa da, bu noktada bunlar son derece nadirdi. Hızlı bir şekilde gerçekleşen bağlantı kurulduğunda, her iki modem de uzaktaki modeme küçük bir tanımlama dizisi gönderdi. Her iki modem daha sonra diziyi inceledi ve en hızlı ortak modu seçti. Arayan kişi daha sonra bu yüksek hızda bir kez yeniden görüştü.
MNP 7
MNP 7 , metin dosyalarında 3:1 sıkıştırmaya yönelik iddia edilen bir iyileştirme ile yeni sıkıştırma algoritmaları tanıttı. Ancak, MNP 7 piyasaya sürüldüğünde, v.42bis standardı 4:1 sıkıştırma sunuyordu.
MNP 9
MNP 9 (görünüşe göre hiçbir 8 yayınlanmamış), daha yeni yüksek hızlı modlar eklemek için Evrensel Bağlantı Algılama'yı geliştirdi, ancak bunun dışında MNP 7 ile aynıydı.
MNP 10
MNP 10 , özellikle Doğu Avrupa'da yaygın olarak kullanılan gürültülü telefon hatlarında iyi çalışmak üzere tasarlanmış yeni bir hata düzeltme protokolü tanıttı. MNP 4 gibi önceki sürümlerin aksine, MNP 10 sürekli olarak hat kalitesini izler ve koşullar iyileşirse paket boyutunu yedekler.
1991'de Microcom, MNP 10'u Rockwell International'a son derece popüler modem yonga setlerinde kullanım için lisansladı . USR'nin modelleri hariç hemen hemen tüm modemler, yaklaşık 1995'ten itibaren Rockwell yonga setini kullandığından, MNP 10 (kullanılmıyorsa) oldukça yaygın bir şekilde kullanılmaya başlandı. USR sonunda V.everything serisi modemlerine MNP 10'u ekleyerek onu etkili bir şekilde evrensel hale getirdi.
MNP 10 daha sonra "Genişletilmiş Hücresel" anlamına gelen "EC" olan MNP 10EC'ye genişletildi . Bu, MNP 10'un bir cep telefonu bir hücreden diğerine geçtiğinde, normalde hattaki hatalar olarak yorumlanacak olan iletim duraklamalarıyla başa çıkmasına izin veren bir dizi modifikasyondu. MNP 10EC kullanılarak, bu duraklamalar "hata değil" olarak doğru bir şekilde tanımlanır ve bağlantı hızı daha yüksek kalır. Başarısı AT & T Paradyne oluşturulan rakibi yol açtı VB .
MNP 10EC, orijinal olarak MNP 6'da tanıtılan (ve MNP 9'da geliştirilmiş) ULN bağlantı anlaşma yönteminin dahil edilmesinden dolayı hücresel rolde özellikle çekiciydi. Tüm yayın süresinin faturalandırıldığı bir hücresel ağda, daha hızlı kurulum paradan tasarruf etti. Hücre ağları artık bir bilgisayara bağlanmak için modem gerektirmeyen çeşitli tamamen dijital sistemlere dönüştüğü için MNP 10EC sınırlı bir ömre sahipti.