Назад | Перейти на главную страницу

Инкапсуляция TCP / IP - MSB или LSB?

Данные приложения, отправляемые по TCP, подвергаются множественной инкапсуляции:

  1. Данные приложения инкапсулируются в один или несколько TCP. фрагменты
  2. Фрагмент TCP инкапсулируется в один или несколько IP-адресов. дейтаграммы
  3. Дейтаграмма IP инкапсулируется в Ethernet. Рамка

Оказывается Кадры Ethernet отправляются первым старшим байтом, а внутри каждого байта - первым старшим битом. А как насчет множественных инкапсуляций? Выполняют ли они сначала MSB или сначала LSB?

Во-первых, одно исправление: дейтаграммы IP не отправлено в одном или нескольких Ethernet кадры. Одна дейтаграмма IP отправляется ровно в одном кадре Ethernet. Остальные условия в вашем описании верны, хотя TCP изо всех сил пытается выбрать размер сегмента, чтобы один сегмент TCP не должен быть фрагментирован на несколько дейтаграмм IP.

Все протоколы в пакете TCP / IP используют так называемый сетевой порядок байтов, что то же самое, что прямой порядок байтов, то же самое, что сначала MSB.

TCP и IP на самом деле не работают на уровне битов, а только на уровне байтов. Таким образом, они зависят от того, что физический уровень (будь то Ethernet, последовательный канал или что-то еще) делает с битами.

Практически все в IP и связанных с ним протоколах - это старший байт первым. В более старых документах, таких как RFC, которые вам следует прочитать, вы увидите, что это называется «сетевой порядок байтов».