Я тестировал tcpdump, чтобы увидеть трафик между сервером HAProxy и сервером mariadb. Вот результаты:
23:07:22.328958 00:0c:29:a9:28:a8 > 00:50:56:b0:e0:ea, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 62140, offset 0, flags [DF], proto TCP (6), length 52)
172.24.2.51.46370 > 172.24.2.41.9200: Flags [.], cksum 0xcf6a (incorrect), seq 2091233458, ack 1346328093, win 229, options [nop,nop,TS val 2961588746 ecr 287872844], length 0
0x0000: 4500 0034 f2bc 4000 4006 e966 ac18 033d E..4..@.@..f...=
0x0010: ac18 0333 b522 23f0 7ca5 b0b2 503f 561d ...3."#.|...P?V.
0x0020: 8010 00e5 cf6a 0000 0101 080a b086 420a .....j........B.
0x0030: 1128 974c .(.L
23:07:22.328997 00:0c:29:a9:28:a8 > 00:50:56:b0:e0:ea, ethertype IPv4 (0x0800), length 88: (tos 0x0, ttl 64, id 62141, offset 0, flags [DF], proto TCP (6), length 74)
172.24.2.51.46370 > 172.24.2.41.9200: Flags [P.], cksum 0x460a (correct), seq 0:22, ack 1, win 229, options [nop,nop,TS val 2961588746 ecr 287872844], length 22
0x0000: 4500 004a f2bd 4000 4006 e94f ac18 033d E..J..@.@..O...=
0x0010: ac18 0333 b522 23f0 7ca5 b0b2 503f 561d ...3."#.|...P?V.
0x0020: 8018 00e5 460a 0000 0101 080a b086 420a ....F.........B.
0x0030: 1128 974c 4f50 5449 4f4e 5320 2f20 4854 .(.LOPTIONS./.HT
0x0040: 5450 2f31 2e30 0d0a 0d0a TP/1.0....
23:07:22.357592 00:0c:29:a9:28:a8 > 00:50:56:b0:e0:ea, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 62142, offset 0, flags [DF], proto TCP (6), length 52)
172.24.2.51.46370 > 172.24.2.41.9200: Flags [.], cksum 0xcf0a (correct), seq 22, ack 18, win 229, options [nop,nop,TS val 2961588774 ecr 287872873], length 0
0x0000: 4500 0034 f2be 4000 4006 e964 ac18 033d E..4..@.@..d...=
0x0010: ac18 0333 b522 23f0 7ca5 b0c8 503f 562e ...3."#.|...P?V.
0x0020: 8010 00e5 cf0a 0000 0101 080a b086 4226 ..............B&
0x0030: 1128 9769 .(.i
23:07:22.357641 00:0c:29:a9:28:a8 > 00:50:56:b0:e0:ea, ethertype IPv4 (0x0800), length 66: (tos 0x0, ttl 64, id 62143, offset 0, flags [DF], proto TCP (6), length 52)
172.24.2.51.46370 > 172.24.2.41.9200: Flags [R.], cksum 0xc1b3 (incorrect), seq 22, ack 18, win 229, options [nop,nop,TS val 0 ecr 287872873], length 0
0x0000: 4500 0034 f2bf 4000 4006 e963 ac18 033d E..4..@.@..c...=
0x0010: ac18 0333 b522 23f0 7ca5 b0c8 503f 562e ...3."#.|...P?V.
0x0020: 8014 00e5 c1b3 0000 0101 080a 0000 0000 ................
0x0030: 1128 9769
Как вы видите, например, есть два пакета или кадра, которые отображаются (неверно).
Что значит с (неверно)? Есть ли в сетевом пакете ошибки?
Как шестнадцатеричное значение контрольной суммы может помочь целостности? Например, первый пакет cksum показывает 0xcf6a. Как это значение может помочь целостности данных?
С уважением
Протокол IP использует контрольную сумму заголовка:
Из википедии
Поле контрольной суммы - это 16-битное дополнение до единицы суммы дополнений до единиц всех 16-битных слов в заголовке. Для вычисления контрольной суммы значение поля контрольной суммы равно нулю.
Это поле используется как механизм, чтобы увидеть, не изменилось ли что-то в заголовке IP во время передачи (ошибки или человек посередине)