[ Pobierz całość w formacie PDF ]
.Ïîëó÷åíèåERROR-ïàêåòà íå ïîäâåðæäàåòñÿ è ýòîò ïàêåò ïîâòîðíî íå âûñûëàåòñÿ (ïðîöåññûìîãóò óæå çàâåðøèòü ñâîþ ðàáîòó).Íèæå ïîäàíû êîäà îøèáîê:ÊîäÇíà÷åíèåÍå îïðåäåëåíî, ñì.Error Message (åñëè åñòü!)1Ôàéë íå íàéäåí2Íàðóøåíèå ïðàâ äîñòóïà3Äèñê ïîëîí4Íåâåðíàÿ TFTP îïåðàöèÿ5Íåèçâåñòíûé ID ïåðåäàò÷èêà6Ôàéë óæå ñóùåñòâóåò7Íåò òàêîãî ïîëüçîâàòåëÿÍîðìàëüíîå çàâåðøåíèåñîåäèíåíèÿ.Êîíåö ïåðåäà÷è îáîçíà÷àåò ïàêåò DATA ñîäåðæàùèé 0.511 áàéòîâäàííûõ (ò.å.äëèíà UDP-ïàêåòà <516).Ïðèåì ýòîãî ïàêåòà ïîäòâåðæäàåòñÿACK-ïàêåòîì, êàê è âñå îñòàëüíûå.Õîñò, ïîëó÷èâøèé ïîñëåäíèé ïàêåò ñ äàííûìèïîñûëàåò ïîñëåäíèé ïîäòâåðæäàþùèé ïàêåò.Îäíàêî, õîñò, ïîñëàâøèé ïîñëåäíèéACK äîëæåí æäàòü, ÷òîáû ïåðåäàòü çàâåðøàþùèé ACK åùå ðàç, åñëè ïðåäûäóùèéïîòåðÿåòñÿ â ñåòè.Ýòó ñèòóàöèþ ëåãêî îïðåäåëèòü, ò.ê.äðóãîé õîñò âûøëåòäàííûå åùå ðàç ïî èñòå÷åíèè âðåìåíè.Îí äîëæåí âûñûëàòü äàííûå äî òåõ ïîð,ïîêà íå ïîëó÷èò ACK èëè íå èñòå÷åò âðåìÿ îæèäàíèÿ äëÿ ïåðåäàþùåãî õîñòà.Åñëè ïðèøåë ACK, òî ñîåäèíåíèå áûëî óñïåøíûì.Åñëè âûøëî âðåìÿ, òî ñîåäèíåíèåìîãëî áûòü óñïåøíûì, à ìîãëî è íåò. ëþáîì ñëó÷àå, ñîåäèíåíèå çàêðûâàåòñÿ.Ïðåæäåâðåìåííîå çàâåðøåíèåÅñëè íå áûëî ïîëó÷åíî ðàçðåøåíèÿ íà äîñòóï èëè ïîÿâèëàñü îøèáêàâî âðåìÿ ïåðåäà÷è, òî âûñûëàåòñÿ ERROR-ïàêåò.Îí íèêîãäà íå âûñûëàåòñÿïîâòîðíî è íèêîãäà íå ïîäòâåðæäàåòñÿ.Òàêèì îáðàçîì, ýòîò ïàêåò ìîæåò áûòüíå ïîëó÷åí. ýòîì ñëó÷àå íóæíî èñïîëüçîâàòü ìåõàíèçì Timeout.ÁèáëèîãðàôèÿRFC0783.The TFTP Protocol (Revision 2).K.R.Sollins, June, 1981.RFC1350.The TFTP Protocol (Revision 2).K.R.Sollins, July, 1992.RFC0906.Bootstrap Loading using TFTP.Ross Finlayson, June 1984.RFC0959.File Transfer Protocol (FTP).J.Postel, J.Reynolds, October 1985Programowanie zastosowan sieciowych w systemie UNIX.R.StevensÂîïðîñû è îòâåòûÏî÷åìó íåò íèêàêîãî èñõîäíîãî êîäà?Äåëî â òîì, ÷òî ðåàëèçàöèÿ ýòîãî ïðîòîêîëà íå âõîäèò â ÿäðî Linux'à.Êðîìå òîãî, ïîëíûé èñõîäíûé êîä äëÿ êëèåíòà è ñåðâåðà íàõîäèòñÿ â [5],ñòð.520.Ïîñêîëüêó ïîìåùåííûå òàì ïðîãðàììû èìåþò èñ÷åðïûâàþùèå êîììåíòàðèè,äà åùå íà ïîëüñêîì ÿçûêå, íå èìåëî ñìûñëà èõ ïðèâîäèòü çäåñü.Ìàëî òîãî,ïî ìîåìó ìíåíèþ, ðåàëèçàöèÿ äàííîãî ïðîòîêîëà íå âûãëÿäèò ñëèøêîì èíòåðåñíîéèëè ñëîæíîé.Èìåííî ïîýòîìó ïðè íàïèñàíèè ýòîãî äîêóìåíòà ÿ â îñíîâíîìðóêîâîäñòâîâàëñÿ RFC1350 â áîëüøåé ìåðå, ÷åì êíèæêîé R.Stevense.Âîçìîæíî ëè ðåàëèçàöèÿ TFTP íà îñíîâå ïðîòîêîëà, îòëè÷íîãî îò UDP?ÄÀ!  [5] ïîìåùåíû ïðèìåðû ðåàëèçàöèè íà îñíîâåTCP.Àâòîð: Äìèòðèé Ìàæàð
[ Pobierz całość w formacie PDF ]