Подтвердить что ты не робот

Уровень канала передачи данных и транспортный уровень

Какова необходимость управления ошибками на уровне канала передачи данных, когда транспортный уровень обеспечивает контроль ошибок? В чем разница между двумя элементами управления ошибками?

4b9b3361

Ответ 1

Данные транспортного уровня могут быть разбиты на множество кадров/пакетов уровня канала передачи данных.

Таким образом, возможно, что даже без каких-либо ошибок в канале передачи данных поток/пакет транспортного уровня может быть поврежден. Изменить: Это связано с тем, что путь транспортного уровня обычно состоит из множества переходов уровня канала передачи данных, например:

Host1 <----> switch1 <----> switch2 <----> Host2

если пакет был потерян между switch1 и switch2, тогда не было бы ошибок, записанных на ссылке switch2 Host2, но соответствующий поток транспортного уровня будет поврежден.

С другой стороны - после возникновения ошибки в канале передачи данных возможно сбросить/перезапустить передачу транспортного уровня без потери ресурсов.

Ответ 2

Это связано с тем, что уровень передачи данных связан исключительно с коррекцией ошибок на уровне бит. Он принимает пакет, на котором уже находится принимающий компьютер, и определяет, произошла ли ошибка при передаче и нет ли данных или нет данных. Тем не менее, необходимо иметь дополнительные элементы управления, чтобы убедиться, что система знает, что все пакеты прибывают. Это называется сквозным контролем ошибок и несет ответственность за транспортный уровень. Транспортному слою все равно, насколько полезны или плохи данные в полезной нагрузке. Эта работа с данными. Транспорт заботится только о том, получает ли он каждый пакет, который он должен, и независимо от того, прибывают ли они в правильном порядке. Это транспортный уровень, который обнаруживает отсутствие пакетов или повреждение пакетов, которые произошли на конце передачи, прежде чем они достигли уровня канала передачи данных.

Дополнительные сведения см. в

http://books.google.ca/books?id=9c1FpB8qZ8UC&pg=PA216&lpg=PA216&dq=why+error+detection+and+correction+both+in+transport+and+link+layer+?&source=bl&ots=RI7-DU8RO0&sig=0U5Z9AmKkx3m3TA71WfIe1uTeW0&hl=en&sa=X&ei=LbqPUsahOtDEqQHyvIHQCw&ved=0CDUQ6AEwAQ#v=onepage&q=why%20error%20detection%20and%20correction%20both%20in%20transport%20and%20link%20layer%20%3F&f=false

Ответ 3

Это действительно зависит от протоколов, а не от уровня, но при условии, что вы имеете в виду TCP...

Обнаружение ошибок TCP является минимальным и больше похоже на проверку целостности, чем любое надежное обнаружение ошибок. Причина, по которой вы не видите этого, - практика, заключающаяся в том, что уровни данных, такие как Ethernet, PPP, FrameRelay и т.д., Имеют гораздо более надежные алгоритмы обнаружения ошибок и поэтому практически нет ошибок передачи для обнаружения протокола TCP.

Если у вас был другой протокол транспортного уровня с надежным обнаружением ошибок, вы бы не нуждались в нем на более низких уровнях. Преимущество, в основном, связанное с производительностью и использованием ресурсов, отбрасывать ошибки как можно меньше в стеке.

Обратите внимание, что ошибки могут ползти над транспортным уровнем из-за сбоев в работе и т.д., поэтому, если данные действительно важны, вы должны включить проверку ошибок прямо в ваше приложение.

Ответ 4

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

http://conferences.sigcomm.org/sigcomm/2000/conf/paper/sigcomm2000-9-1.pdf

Ответ 5

В шумном канале, где частота ошибок высока, например беспроводные сети, исправление ошибок выполняется на уровне данных.

В надежных сетях, где частота ошибок низкая, например, LAN, исправление ошибок выполняется на транспортном уровне, поэтому стоимость повторной передачи сводится к минимуму.