Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Alex Alexandrov                      2:5030/1386.105 22 Oct 2001  11:33:40
 To : All
 Subject : Контрольная сумма для IP
 -------------------------------------------------------------------------------- 
 
 
   При вычислении контрольных сумм ( в протоколах TCP/IP ) используется
  следующий алгоритм:
   - начальная контрольная сумма ( 2 байта ) - 0.
   - при добавлении очередного двухбайтового слова - оно суммируется с
    текущей контрольной суммой и м.б. выставленным переносом от предыдущего
    сложения; полученный перенос запоминается.
   - в конце м.б. выставленный при последнем сложении перенос складывается
    с контрольной суммой ( сумма увеличивается на 1 ); в т.ч. при этом переноса
    уже не возникает. Потом сумма инвертируется, но это уже не важно.
 
   Все это вроде называется "16-битное дополнение до единицы суммы дополнений
  до единицы всех 16-битных слов в массиве".
 
   Вопрос: есть массив, для него известна контрольная сумма. Если в этом
  массиве увеличить какое-то число на N, то новая контрольная сумма м.б.
  получена добавлением N к имеющейся ( не инвертированной в конце, либо
  инвертированной еще раз ) контрольной сумме по тому же алгоритму ( с
  учетом м.б. возникшего переноса ). А вот если какое-то число в массиве
  не увеличилось, а уменьшилось - тоже наверняка можно всю сумму не
  пересчитывать, но вот как ?
 
 Alexander
 
 --- GoldED 3.0.1
  * Origin:  (2:5030/1386.105)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Контрольная сумма для IP   Alex Alexandrov   22 Oct 2001 11:33:40 
 Контрольная сумма для IP   Max Alekseyev   22 Oct 2001 16:32:58 
Архивное /ru.algorithms/52893bd408d0.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional