Transmission Control Protocol


Но, конечно, посылка пакетов от одного хоста к другому это не все, если Вы вошли на quark. Вы хотите иметь надежную связь между Вашим процессом rlogin на erdos и процессом оболочки на quark. Таким образом, информация, посылаемая туда и обратно, должна быть разбита на пакеты отправителем и повторно собираться в поток приемником. Хотя это кажется тривиальным, здесь появляется несколько достаточно сложных задач.
Transmission Control Protocol

Но, конечно, посылка пакетов от одного хоста к другому это не все, если Вы вошли на quark. Вы хотите иметь надежную связь между Вашим процессом rlogin на erdos и процессом оболочки на quark. Таким образом, информация, посылаемая туда и обратно, должна быть разбита на пакеты отправителем и повторно собираться в поток приемником. Хотя это кажется тривиальным, здесь появляется несколько достаточно сложных задач.

Очень важно знать об IP, что он ненадежен. Предположим, что десять людей на Вашем Ethernet начали загружать самый последний выпуск XFree86 с GMU FTP-сервера. Такая активность может оказаться слишком большой для того, чтобы gateway переварил ее, потому что он слишком медленный и ограничен количеством памяти. Теперь если Вы пошлете пакет с quark, sophus может не хватить места в буфере, и поэтому он не сможет отправить этот пакет. IP решает эту проблему, просто забывая про данный пакет. Пакет безвозвратно потерян. Таким образом, ответственность за целостность данных перекладывается на поддерживающие связь хосты.

Это происходит в соответствии c другим протоколом, TCP (Transmission Control Protocol), который надстраивается над IP для создания связи с проверкой целостности данных. Существенный плюс TCP то, что он использует IP. Это создает иллюзию простой связи между двумя процессами на Вашем хосте и отдаленной машине так, что Вы не заботитесь о том, как и по какому маршруту Ваши данные фактически путешествуют. A TCP создает дуплексную связь, позволяющую одновременно как посылать, так и получать информацию.

В TCP точки связи определяются IP-адресами хостов и номерами так называемых портов (port) на каждом из хостов. Порты служат для определения процесса, с которым устанавливается связь. Если обратится к примеру с номерами телефонов, то IP-адрес соответствует кодам городов, а номер порта местному номеру телефона.

В примере с rlogin приложение-клиент (rlogin) открывает порт на erdos и соединяется с портом 513 на quark , который прослушивает сервер rlogind. Таким образом и устанавливается TCP-связь. Используя эту связь, rlogind выполняет процедуру определения прав доступа и запускает оболочку. Стандартный ввод/вывод этой оболочки перенаправляются на TCP-связь, таким образом, все, набранное Вами в rlogin на Вашей машине, будет передано через TCP-поток на стандартный ввод оболочки.



Содержание раздела