Минимальный размер кадра в Ethernet?

"Хочу передать по сети ровно один бит, но тут что-то пошло не так..."

Казалось бы, вот у меня есть программа блокнот, и я, при помощи этой программы, создал файл, длинной один бит (ну ок, даже байт), дак почему же по сети поедет пакет (ребят, честное слово - тут и дальше должен быть "кадр", но этот термин не понятен новичкам) размером существенно (в пятьдесят раз!) большим чем мой файл? А? Эй, вы там совсем?

А вот и не совсем.

Самая большая проблема для вашей сети называется Late Collision и это как в Гарри Поттере - одно из запрещённых заклятий. Если где-то в сети она есть, то вы, как администратор, будете наказаны. Может быть не сразу, может быть спустя время, но за вами точно выехал Орден Феникса, просто ждите =)

Что такое вообще эти поздние коллизии?

Это ситуация, когда один компьютер отправил в сеть пакет данных, этот пакет данных был полностью выпущен из его интерфейса в сеть, удалён из памяти интерфейса, а потом выяснилось, что в этот же момент времени, кто-то другой тоже передавал пакет данных и ваш потерялся - случилась коллизия. Но эта коллизия уже слишком поздно проявилась, тогда, когда никто уже не знает, что же это был за пакет с данными. Ни роутеры, ни свичи, ни карта, ни тем более приложение. "Видите данные? А они есть!" (точнее наоборот. Шутёха такая, печальная ))

Как такое могло случится?

Основная причина (ну ок, самая частая, что встречалась мне) - это неправильно настроенные два конца провода. Когда один конец одного провода думает, что у вас канал двух-сторонний и можно и слушать и говорить _одновременно_, а другая сторона провода точно уверенна, что можно либо говорить либо слушать ни никак _не одновременно_. Вот тогда и получается, последний товарищ начинает "вещать" в сеть, а первый начинает его перебивать, и поймут они что "Упс!" только когда закончат конкретно эту передачу, и так снова и снова. говорят, перебивают, теряют пакет, снова говорят, снова перебивают, снова упс. На высоконагруженных каналах (а такая фигня часто бывает на стыке с провайдером) можно терять до 90% трафика! Т.е. платим за 100 мегабит, получаем 10, при полной нагрузке на оборудование. Вот это КПД)

Но вернёмся к коллизиям и размерам пакета.

Так вот, ситуация которую я описываю выше - типичная, но не единственная, при которой возникают коллизии.

Бывают ещё: слишком длинные сети, слишком много коммутаторов по пути, кто-то умудрился сделать одну l2 сеть для двух разных офисов объединив их через интернет, кто-то засунул в сеть много вайфай устройств и так далее.

Т.е. если сделать сеть слишком большой - такой, что пакет не успевает достигнуть всех-всех в сети пока не покинул интерфейс, и кто-то начнёт говорить перебивая нас - вот и возникла коллизия.

Поздняя Коллизия (взболтать, но не смешивать).

Как вы поняли, повлиять на эту ситуацию можно.

Можно сделать пакеты (блин, ребят, "кадры" конечно, ещё раз прошу прощения) длинее, так чтобы они всё ещё выкидывались из интерфейса, до тех пор, пока не достигнут всех участников сети, размер которой строго описан в стандарте (а это на минуточку, максимум 500 метров, пятью участками кабеля и четырьмя коммутирующими устройствами между ними).

Вот и получается: шлём один байт, оборачиваем его ещё в пятьдесят вокруг, добавляем ещё восемь байт преамбулы, выкидываем это в сеть и, скрещиваем пальцы, чтобы "всё пошло так".

Stay connected and don't create late collisions =)

P.S. передаю огромный привет всем ребятам, которые: "да делай провод длинее, просто возьми витуху лучше, 200 метров это же не проблема, всё ок будет" Авадакедавра на них =)

https://t.me/cooladmin/