Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Компьютерлік желілердегі NAT техникасы
NAT technique in computer networking
UDP тесік қағу – желілік адресті аудару (NAT) қолданбаларында NAT арқылы өтетін Пайдаланушы деректер протоколы (UDP) пакеттері ағынын сақтау үшін қолданылатын жиі қолданылатын техника. NAT-ты басып өту әдістері әдетте жеке желілерге қосылған хосттарды қамтитын клиент-клиент желілік қолданбалары үшін қажет, әсіресе теңдестірілген желілерде, Тікелей клиент-клиент (DCC) және Интернет-протокол арқылы дауыс (VoIP) жүйелерінде. UDP тесік қағу бір немесе бірнеше желілік адресті аударушылар арқылы байланыс жасайтын екі хост арасында байланыс орнатуға мүмкіндік береді. Әдетте, қоғамдық транзиттік желідегі үшінші тарап хосттары байланыс жасайтын хосттар арасында тікелей байланыс үшін пайдаланылатын UDP порттарының күйін орнату үшін қолданылады. Порт күйі сәтті орнатылғаннан және хосттар байланысқаннан кейін, порт күйін қалыпты байланыс трафигі арқылы немесе ұзақ үзіліс болған жағдайда, әдетте бос UDP пакеттерінен немесе аз мағыналы, бұзылмаған мазмұнды пакеттерден тұратын "тірі" пакеттер арқылы сақтауға болады.
UDP hole punching is a commonly used technique employed in network address translation (NAT) applications for maintaining User Datagram Protocol (UDP) packet streams that traverse the NAT. NAT traversal techniques are typically required for client to client networking applications on the Internet involving hosts connected in private networks, especially in peer to peer, Direct Client to Client (DCC) and Voice over Internet Protocol (VoIP) deployments. UDP hole punching establishes connectivity between two hosts communicating across one or more network address translators. Typically, third party hosts on the public transit network are used to establish UDP port states that may be used for direct communications between the communicating hosts. Once port state has been successfully established and the hosts are communicating, port state may be maintained either by normal communications traffic, or in the prolonged absence thereof, by keep alive packets, usually consisting of empty UDP packets or packets with minimal, non intrusive content.
Шолу
UDP тесігін тесу – желілік адрес аударғыштарды (NAT) пайдалана отырып, жеке желілердегі Интернет хосттары арасында екі бағытты UDP қосылымдарын орнату әдісі. Бұл техника барлық сценарийлерде немесе NAT түрлерінің барлығында қолданылмайды, себебі NAT жұмыс істеу ерекшеліктері стандартталмаған. NAT арқылы Интернетке қосылған жеке желідегі хосттар, әдетте, NAT үшін сессиялық траверсалды құралдарды (STUN) немесе Интерактивті қосылымды құру (ICE) әдісін пайдаланып, NAT-тың қоғамдық адресін анықтайды, ол байланыс құратын тараптарға қажет. Осы процесте, қолданба хосттары арасындағы тікелей байланыс үшін жарамды деп есептелетін порт картасын және басқа UDP порттарының күйін орнату үшін қоғамдық желідегі басқа хост пайдаланылады. UDP күйі әдетте ондаған секундтан бірнеше минутқа дейінгі қысқа мерзімде аяқталады және UDP порты жабылады. Сондықтан, UDP тесігін тесу кезеңдік «тірі» пакеттерді жіберуді қолданады, олардың әрқайсысы NAT-тың UDP күй машинасына кіргізілген өмір сүру санағыштарын жаңартады. UDP тесігін тесу симметриялық NAT құрылғыларымен (екі бағытты NAT деп те аталады) жұмыс істемейді, олар көбінесе ірі корпоративтік желілерде кездеседі. Симметриялық NAT-та, белгілі STUN серверіне қосылумен байланысты NAT картасы белгілі серверден деректерді қабылдаумен шектеледі, сондықтан сервер көретін NAT картасы түпкі нүкте үшін пайдалы ақпарат емес. Күрделірек тәсілмен екі хост та бір-біріне бірнеше рет пакеттер жіберіп отырады. Шектелген конус тәрізді NAT-та, екінші хосттан келген алғашқы пакет тоқтатылады. Одан кейін NAT құрылғысы басқа машинаға пакет жібергенін жазады және осы IP мекенжайы мен порт нөмірінен келетін кез келген пакеттерді өткізіп жібереді. Бұл техника бір-бірімен байланыс жасайтын бағдарламалық құралдарда және Интернет-протокол арқылы дауыс беру телефониясында кеңінен қолданылады. Ол сондай-ақ UDP арқылы жұмыс істейтін виртуалды жеке желілерді құруға көмектесу үшін де пайдаланылуы мүмкін. Кейде осы техника Трансмиссиялық басқару протоколы (TCP) қосылымдарына да қолданылады, бірақ нәтижесі нашар, себебі TCP қосылым ағыны хосттың операциялық жүйесімен басқарылады, қолданбамен емес, ал реттік нөмірлер кездейсоқ түрде таңдалады. Сондықтан, реттік нөмірді тексерген кез келген NAT құрылғысы пакеттерді қолданыстағы қосылыммен байланысты деп санамайды және оларды тастап жібереді.
UDP hole punching is a method for establishing bidirectional UDP connections between Internet hosts in private networks using network address translators. The technique is not applicable in all scenarios or with all types of NATs, as NAT operating characteristics are not standardized. Hosts with network connectivity inside a private network connected via a NAT to the Internet typically use the Session Traversal Utilities for NAT (STUN) method or Interactive Connectivity Establishment (ICE) to determine the public address of the NAT that its communications peers require. In this process another host on the public network is used to establish port mapping and other UDP port state that is assumed to be valid for direct communication between the application hosts. Since UDP state usually expires after short periods of time in the range of tens of seconds to a few minutes, and the UDP port is closed in the process, UDP hole punching employs the transmission of periodic keep alive packets, each renewing the life time counters in the UDP state machine of the NAT. UDP hole punching will not work with symmetric NAT devices (also known as bi directional NAT) which tend to be found in large corporate networks. In symmetric NAT, the NAT's mapping associated with the connection to the known STUN server is restricted to receiving data from the known server, and therefore the NAT mapping the known server sees is not useful information to the endpoint. In a somewhat more elaborate approach both hosts will start sending to each other, using multiple attempts. On a Restricted Cone NAT, the first packet from the other host will be blocked. After that the NAT device has a record of having sent a packet to the other machine, and will let any packets coming from this IP address and port number through. This technique is widely used in peer to peer software and Voice over Internet Protocol telephony. It can also be used to assist the establishment of virtual private networks operating over UDP. The same technique is sometimes extended to Transmission Control Protocol (TCP) connections, though with less success because TCP connection streams are controlled by the host OS, not the application, and sequence numbers are selected randomly; thus any NAT device that performs sequence number checking will not consider the packets to be associated with an existing connection and drop them.