как «размер» tcp-пакета, сообщаемый tcpdump, соотносится с фактическим отправленным IP-пакетом? - PullRequest
0 голосов
/ 13 октября 2011

Когда я запускаю tcpdump - что именно означает число, указанное между () после самого низкого и самого высокого порядкового номера?

  1. Если он соответствует отправленному IP-пакету, как он может быть больше МТУ 1500?
  2. На приемной стороне этого потока tcpdump всегда видит пакеты 1448 или меньше - где эти пакеты находятся дефрагментированы и собраны? Могу ли я увидеть это с помощью tcpdump?
  3. Есть ли какая-либо связь между этим числом и размером сокета tcp буфер

I.e. Типичный tcpdump для отправителя:

11: 47: 18.278352 IP 1.1.1.36.41034> 1.1.1.37.60960:. 3263771: 3272459 (8688) 1 победа 54 11: 47: 18.278371 IP 1.1.1.36.41034> 1.1.1.37.60960:. 3272459: 3282595 (10136) 1 победа 54 11: 47: 18.278620 IP 1.1.1.36.41034> 1.1.1.37.60960:. 3282595: 3298523 (15928) 1 победа 54 11: 47: 18.278727 IP 1.1.1.36.41034> 1.1.1.37.60960:. 3298523: 3301419 (2896) 1 победа 54 11: 47: 18.278731 IP 1.1.1.36.41034> 1.1.1.37.60960: P 3301419: 3301719 (300) ack 1 победа 54 11: 47: 18.777160 IP 1.1.1.36.41034> 1.1.1.37.60960: P 3301719: 3301723 (4) ack 1 победа 54 11: 47: 18.777175 IP 1.1.1.36.41034> 1.1.1.37.60960:. 3301723: 3303171 (1448) 1 победа 54

И получатель:

11: 47: 18.277895 IP 1.1.1.36.41034> 1.1.1.37.60960: P 990413: 990417 (4) ack 1 победа 54 11: 47: 18.277948 IP 1.1.1.36.41034> 1.1.1.37.60960:. 990417: 991865 (1448) 1 победа 54 11: 47: 18.277953 IP 1.1.1.36.41034> 1.1.1.37.60960:. 991865: 993313 (1448) 1 победа 54 11: 47: 18.277958 IP 1.1.1.36.41034> 1.1.1.37.60960:. 993313: 994761 (1448) 1 победа 54 11: 47: 18.278028 IP 1.1.1.36.41034> 1.1.1.37.60960:. 994761: 996209 (1448) 1 победа 54

1 Ответ

1 голос
/ 13 октября 2011

Это длина данных, как вы можете видеть, если вычесть два порядковых номера (после учета +1 для флагов SYN и FIN, если они присутствуют в пакете).

Что касаетсяпочему он больше, чем MTU, либо ваша сетевая карта может отправлять гигантские кадры (что вполне нормально для карт на 1 Гбит / с), либо ваша карта может принимать большие сегменты и делить их на аппаратные средства (называемые LSO / GSO или другой подобной аббревиатурой, которую я не могу вспомнить).

Редактировать: См. Разгрузка большого сегмента в Википедии .

...