Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Протоколдың қауіпсіз симуляциясы
Benign simulation of a protocol
Протоколды бұрмалау деректерді жеткізуде қолданыстағы протоколдың тиімділігі төмен болған жағдайларда, мысалы, ұзақ кешігулер немесе жоғары қателік деңгейі болғанда, өнімділікті арттыру үшін қолданылады.
Protocol spoofing is used in data communications to improve performance in situations where an existing protocol is inadequate, for example due to long delays or high error rates.
Қалайтып алу әдістері
Протоколды жалғандатудың көптеген жағдайларында, модем немесе маршрутизатор сияқты байланыс құрылғысы, жергілікті хостқа қосылудың қашықтағы нүктесін имитациялайды ("жалғандайды"), сонымен бірге байланыс арнасының екінші жағындағы эквивалентті жалғандатуды жүзеге асыратын үйлесімді қашықтағы құрылғымен байланысу үшін тиісті протоколды пайдаланады.
In most applications of protocol spoofing, a communications device such as a modem or router simulates ("spoofs") the remote endpoint of a connection to a locally attached host, while using a more appropriate protocol to communicate with a compatible remote device that performs the equivalent spoof at the other end of the communications link.
Файлдарды ауыстыруда қалжыңдану
Қателерді түзету және файлдарды беру протоколдары әдетте пакет деп аталатын дерек блогы үшін тексеру сомасын немесе CRC есептеу арқылы жұмыс істейді және алынған нөмірді пакеттің соңында жібереді. Қосылымның екінші жағында қабылдаушы алынған деректерге сүйене отырып, санды қайта есептеп шығарады және осы нәтижені қашықтағы машинадан жіберілген деректермен салыстырады. Егер екеуі сәйкес келсе, пакет дұрыс жіберілген болып есептеледі және қабылдағыш ACK жіберіп, келесі пакетті қабылдауға дайын екенін көрсетеді. ACK-ты жіберушіге қайтару уақыты модемнің жылдамдығына қарағанда телефон желілеріне байланысты болады және әдетте қысқа байланыстарда секундының 1/10 бөлігін құрайды, ал ұзақ қашықтықтағы байланыстарда немесе X.25 сияқты деректер желілерінде одан да ұзақ болуы мүмкін. Кішкентай пакеттерді пайдаланатын протокол үшін бұл кешігу пакетті жіберуге қажетті уақыттан басып өтуі мүмкін. Мысалы, UUCP "g" протоколы мен Kermit екеуі де 64 байттық пакеттерді қолданады, оларды 9600 бит/с жылдамдықтағы желіде жіберуге секундының 1/20 бөлігі уақыт керек. XMODEM сәл үлкен 128 байттық пакеттерді қолданды, оларды жіберуге секундының 1/10 бөлігі уақыт керек. Алдыңғы пакетке ACK алынбайынша, келесі пакетті жіберу мүмкін емес. Мысалы, XMODEM жағдайында, бір пакеттің толық циклын аяқтауға кемінде 2/10 секунд уақыт кетеді. Бұл жалпы жылдамдық теориялық максимумның жартысына ғана тең, яғни 50% арна тиімділігі. Протоколды жалғандау (spoofing) бұл мәселені жергілікті модемге деректерді берудің жүріп жатқанын анықтау арқылы шешеді, көбінесе пакеттік тақырыптарды іздеу арқылы. Оларды анықтағаннан кейін модем пакеттің соңынан іздейді, әдетте бір пакеттегі байттардың санын біледі. Мысалы, XMODEM пакетінде 128 байт дерекке бас және тексеру сомасы қосылғандықтан 132 байт болады. Модем пакет аяқталғанын көргенде, ол дереу хостқа жалған ACK хабарламасын жібереді. Бұл жергілікті компьютерге дереу басқа пакетті жіберуге мүмкіндік береді, қашықтағы машинадан ACK күтудің кешігуінен сақтайды. Модем оны қашықтағы машинаға жіберген кезде бірнеше пакеттің деректері ішкі буферде сақталады. Бұл пакеттерді үздіріссіз жіберуге мүмкіндік береді, арна тиімділігін едәуір арттырады. Дегенмен, бұл екі жүйе арасындағы байланыстың қатесіз болуын талап етеді, өйткені модем пакеттерді жіберуден бұрын-ақ ACK-ке енгізеді. Бұл әдетте Microcom Networking Protocols сияқты модем деңгейіндегі қателерді түзету протоколын пайдалану арқылы шешіледі. Протоколды жалғандау сонымен қатар бұрынғы жоғары жылдамдықты модемдердің тағы бір мүмкіндігімен кеңінен қолданылған. V.32 және одан кейінгі протоколдарда эхоны жою енгізілгенге дейін жоғары жылдамдықты модемдерде әдетте осы ACK сияқтыларды жіберу үшін өте баяу "кері арна" болды. Мысалы, TrailBlazer 18 500 бит/с модемі қабылдағышқа секундына 35 UUCP пакетін жібере алады, бірақ кері арна тек 75 бит/с ұсынады, бұл қашықтағы хосттың 35 байттық, 280 биттік ACK хабарламаларына жеткіліксіз. Бұл жағдайда, жалғандау жіберуші модемге пакеттерді мүмкіндігінше жылдам жіберуге мүмкіндік берді. Сонымен қатар, қашықтағы қабылдаушы модем жергілікті компьютердің бағдарламалық жасақтамасымен құрылған ACK пакеттерін тастап, кері арнаны бос ұстады. Арнаның тиімділігі тек 2400 бит/с жылдамдықтан жоғары жылдамдықтарда маңызды мәселеге айналғандықтан және одан да жылдам жұмыс істей алатын модемдер әдетте жеткілікті өңдеу қуатына ие болғандықтан, протоколды жалғандау көбінесе осы жоғары жылдамдықты жүйелермен байланысты болды.
Error correction and file transfer protocols typically work by calculating a checksum or CRC for a block of data known as a packet, and transmitting the resulting number at the end of the packet. At the other end of the connection, the receiver re calculates the number based on the data it received and compares that result to what was sent from the remote machine. If the two match the packet was transmitted correctly, and the receiver sends an ACK to signal that it's ready to receive the next packet. The time to transmit the ACK back to the sender is a function of the phone lines, as opposed to the modem's speed, and is typically about 1/10 of a second on short links and may be much longer on long distance links or data networks like X.25. For a protocol using small packets, this delay can be larger than the time needed to send a packet. For instance, the UUCP "g" protocol and Kermit both use 64 byte packets, which on a 9600 bit/s link takes about 1/20 of a second to send. XMODEM used a slightly larger 128 byte packet, which takes about 1/10 of a second to send. The next packet of data cannot be sent until the ACK for the previous packet is received. In the case of XMODEM, for instance, that means it takes a minimum of 2/10 of a second for the entire cycle to complete for a single packet. This means that the overall speed is only half the theoretical maximum, a 50% channel efficiency. Protocol spoofing addresses this problem by having the local modem recognize that a data transfer is underway, often by looking for packet headers. When these are seen, the modem then looks for the end of the packet, normally by knowing the number of bytes in a single packet. XMODEM, for instance, has 132 bytes in a packet due to the header and checksum being added to the 128 bytes of actual data. When the modem sees the packet has ended, it immediately sends of spoofed ACK message back to the host. This causes the local computer to immediately send another packet, avoiding the latency of waiting for an ACK from the remote machine. The data for multiple packets is held in an internal buffer while the modem is sending it to the remote machine. This allows the packets to be sent continually, greatly improving channel efficiency. However, this also requires the link between the two systems to be error free, as the modem has already ACKed the packets even before they have been sent. This was normally addressed by using a modem level error correction protocol, like Microcom Networking Protocols. Protocol spoofing was also widely used with another feature of earlier high speed modems. Before the introduction of echo cancellation in V.32 and later protocols, high speed modems typically had a very slow "backchannel" for sending things like these ACKs back to the sender. On the ~18,500 bit/s TrailBlazer, for instance, the modem could send as many as 35 UUCP packets a second to the receiver, but the backchannel offered only 75 bit/s, not nearly enough for the 35 bytes, 280 bits, of ACK messages generated by the remote host. In this case, the spoofing allowed the sending modem to continue sending packets as fast as it could. At the same time, the modem on the remote receiving end dropped the ACK packets being generated by the local computer's software, keeping the backchannel clear. Since the channel efficiency only became a major problem at speeds over 2400 bit/s, and modems able to run faster than that typically had significant processing power anyway, protocol spoofing was mostly associated with these higher speed systems.
TCP қалжыңдауы
TCP қосылымдары жоғары өткізгіштікке ие желілерде терезенің жеткіліксіз мөлшерінен туындаған өнімділік шектеулерінен зардап шегуі мүмкін, ал GEO спутнигі арқылы ұзақ кешігу туындаған желілерде TCP-нің баяу басталу алгоритмі қосылымды іске қосуды айтарлықтай кешіктіреді. Алдау маршрутизаторы TCP қосылымын жергілікті түрде аяқтап, TCP-ні XTP сияқты спутниктік желідегі ұзақ кешігулерге арналған протоколдарға түрлендіреді.
TCP connections may suffer from performance limitations due to insufficient window size for links with high bandwidth delay product, and on long delay links such as those over GEO satellites, TCP's slow start algorithm significantly delays connection startup. A spoofing router terminates the TCP connection locally and translates the TCP to protocols tailored to long delays over the satellite link such as XTP.
Қалпына келтіру
SAP және RIP желілік ақпаратты маршруттау/қызмет кестелері өзгермесе де, белгілі бір уақыт аралығымен таратуды жалғастырады. IPX желілеріндегі WAN байланыстары сұраныс бойынша қосылғандықтан, ешқашан тоқтап қалмайды және үзілмейді. Алдау маршрутизаторы немесе модем SAP және RIP хабарларын ұстап алып, өзінің маршруттау/қызмет кестесінен жарнамаларды қайта таратады, бұл кесте тек байланыс басқа себептермен белсенді болғанда ғана жаңартылады.
SAP and RIP periodically broadcast network information even if routing/service tables are unchanged. dial on demand WAN links in IPX networks therefore never become idle and won't disconnect. A spoofing router or modem will intercept the SAP and RIP broadcasts, and re broadcast the advertisements from its own routing/service table that it only updates when the link is active for other reasons.