Кіріспе

Көптеген протоколдар мен алгоритмдер байланысты объектілерді сериялауды немесе тізімдеуді қажет етеді. Мысалы, байланыс протоколы белгілі бір пакет басқа пакетке "бұрын" немесе "кейін" келетінін білуі керек. IETF (Интернет-инженерлік жұмыс тобы) осы реттік нөмірлерді өңдеу және салыстыру мақсатында "реттік нөмірлер арифметикасын" анықтауға тырысады. Қысқаша айтқанда, абсолютті реттік нөмірдің мәні ең жоғары мәннің жартысынан артық төмендесе (мысалы, 8 биттік мәнде 128), ол бұрынғыдан кейін деп есептеледі, ал қалған төмендеулер бұрын деп есептеледі. Бұл міндет алғашқыда көрінетіндей қарапайым емес, себебі көптеген алгоритмдер тізбектік сандар үшін белгілі өлшемді (бинарлық) ұсынылымдарды қолданады. Алгоритмнің сандар тым үлкен болып, соңғы рет артқанда және олардың ең үлкен сандық диапазонында "айналып" (бірден үлкен оң саннан 0-ге немесе үлкен теріс санға өту) кеткенде "бұзылмауы" маңызды. Кейбір протоколдар бұл мәселелерді елемеуді және бағдарлама проблема туындамай тұрып ауыстырылуына (немесе олар қолдан шығарылуына) үміттенеді, санағыштар үшін өте үлкен бүтін сандарды пайдаланады (Y2K-ға қараңыз). Көптеген байланыс протоколдары жылжымалы терезе протоколын іске асыру кезінде пакеттік реттік нөмірлерге реттік нөмірлер арифметикасын қолданады. TCP-нің кейбір нұсқалары оралған реттік нөмірлерге (PAWS) қарсы қорғанысты қолданады. PAWS пакеттік уақыт белгілеріне дәл сол реттік нөмірлер арифметикасын қолданады, уақыт белгісін реттік нөмірдің жоғары біттерінің кеңейтілген түрі ретінде пайдаланады.

Реттік нөмірлер бойынша операциялар

Тек реттік нөмірге кішкентай оң бүтін санды қосу және екі реттік нөмірді салыстыру талқыланады. Тек қолтаңбасыз екілік түрдегі іске асырулар қарастырылады, біттердегі кез келген мөлшері RFC (және төменде) бойынша "SERIAL BITS" деп белгіленеді.