3-1_Интернет_модель_TCP_UDP_сервиса (1130294)
Текст из файла
Интернет: модель TCP/UDPсервисов и транспортныхпротоколовВведение в компьютерные сетипроф. Смелянский Р.Л.Лаборатория Вычислительных комплексовф-т ВМК МГУTransmission Control Protocol (TCP)ApplicationTransportБайтовый потокприложенияDataHdrNetworkIP DataLinkLink DataВведение в компьютерные сетипроф.Смелянский Р.Л.TCP SegmentIP HdrIP DatagramLinkHdrLinkFrame26.02.20152Взаимодействие TCP уровнейAASourceEnd-HostDestinationEnd-HostApplicationApplicationBBTCPTCPNetworkNetworkNetworkNetworkLinkLinkLinkLinkВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.20153TCP “поток байтов»AвремяBВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.20154…эмулируемый ТСР сегментамиADataH TCP SegmentBВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.20155Поток байтвремяA. .
. . . . . . . . . . . . . . 8 7 6 5 4 3 2 1 0байты. . . . . . . . . . . . . . . . 8 7 6 5 4 3 2 1 0BПоток байт эмулируется последовательностью ТСР сегментовВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.20156ПроблемыНадежност ь взаимодейст вия дост игает ся благодаря наличиюсогласованных сост ояний на концах соединения• Проблема: как установить соединение (установить согласованныесостояния)?• Проблема: как разорвать соединение (установить согласованныесостояния, освободить порты, очереди и т.д.) ?• Проблема: как согласовано поддерживать номера принятых иотправленных байтов?• Проблема: как согласовать скорости отправителя и получателя?Введение в компьютерные сетипроф.Смелянский Р.Л.26.02.20157Установка соединения: 3-х кратноерукопожатиеABSynSyn + AckAckВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.201583-х кратное рукопожатиеинициатор• Инициатор шлет 1-й пакетвызываемыйo SYN + sequence number• Вызываемый отвечаетo SYN + sequence numberнаправлении)(соединение в обратномo ACK для SYN инициатора• Инициатор отвечаетo АСК на SYN вызываемого• Также поддерживается одновременноеоткрытиеo Два SYN передаются друг другуo Каждая сторона шлет АСК другой сторонеВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.20159Установление соединенияВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.201510Разрыв соединенияABFin(Data +) AckFinAckВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.201511Средства описания протоколов:Диаграммы переходов для конечныхавтоматовВведение в компьютерные сетипроф.
Смелянский Р.Л.Лаборатория Вычислительных комплексовф-т ВМК МГУ21.02.2016Конечный автомат<Ain; Aout; S; Q: aq -> bq’; s*>Cсобытие, вызывающее переходДействие при изменении состояния21событиедействие3Введение в компьютерные сетипроф.Смелянский Р.Л.21.02.201613Пример: HTTP запросIdleВведение в компьютерные сетипроф.Смелянский Р.Л.OpenRqstRsps21.02.201614Диаграмма состояний ТСР автоматаhttp://en.wikipedia.org/wiki/File:Tcp_state_diagram_fixed.svgВведение в компьютерные сетипроф.Смелянский Р.Л.22.02.201615Интернет: модель TCP/UDPсервисов (продолжение)Введение в компьютерные сетипроф. Смелянский Р.Л.Лаборатория Вычислительных комплексовф-т ВМК МГУФормат ТСР сегментаIP DataTCP DataTCP HdrBit 0IP HdrBit 31Source portDestination portSequence # (of first byte)ChecksumFINSYNRSTPSHURGACKHLENAcknowledgment Sequence #FlagsRSVDWindow SizeUrgent Pointer(TCP Options)Введение в компьютерные сетипроф.Смелянский Р.Л.TCP Data26.02.201517Модель ТСР сервисаСвойствоПоток байтПоведениеСервис доставки байтНадежная доставка 1.
ACKподтверждает доставку2. Контрольная сумма выявляет ошибкипередачи (охватывает весь сегмент)3. Последовательные номера позволяютобнаружить пропущенные данные4. Управление потоком предотвращаетполучателя от «захлебывания»Сохранение Данные доставляют приложению в том жепоследовательности порядке, в каком они передавалисьС установкой соединенияПроцедура 3-х кратного рукопожатияУправление перегрузкой Управление перегрузками в сетиВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.201518Процесс сервераСокет для UDPзапросовВведение в компьютерные сети проф.Смелянский Р.Л.Сокет для TCPзапросовСокет для TCPсоединенийЯдроОперационнойсистемыПроцессОперационнойсистемыУстановка соединений натранспортном уровне в Интернет19TCP: распределение по портамAWebclientTCPIPDataФиксированный номерТСР порта = 80Фиксированный номерТСР порта = 23WebServerMailServerMailclientBDest port = 80Src port = 123456IP DA = BIP SA = AProto =TCPВведение в компьютерные сетипроф.Смелянский Р.Л.DataDest port = 80Src port =123456IP DA = BIP SA = AProto =TCP26.02.201520Уникальное ID для ТСР соединения104-бит уникальный ID(во всем Internet)IP DataIPv4 HdrSource PortDestination PortTCP Data1.
Хост А увеличивает номер source portдля каждого нового соединенияIP DAIP SAProtocol ID = “TCP”2. TCP выбирает ISN чтобы избежатьпересечения с предыдущимсоединением с тем же IDABSyn +ISNASyn + Ack +ISNBAckConnection Setup3-way handshakeВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.201521Последовательные номераISN (initial sequence number) начальный номер последовательностиAПоследовательноечисло = 1-й байтDataHTCP SegmentACKHTCP SegmentAckпоследовательныйномер =следующийожидаемый байтBВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.201522Безопасное закрытие сокета• Проблемы с закрытым сокетомo Что будет если последний АСК будет потерян?o Что будет если та же пара портов будет сразу повторноиспользована для нового соединения?• Решение: инициатор разрыва устанавливает Time Waito Инициатор разрыва шлет FINo Не закрывает сокет в течении 2 MSL (Maximum SegmentLifetime)• Проблемы на стороне сервера:o Работа OS замедляется, т.к.
очень много сокетов в состоянииTime Waito Уязвимость: в состоянии Time Wait можно послать RST ипереустановить параметры сокетаВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.201523TCP – что еще осталосьУ нас остались не рассмотреннымиo Как управлять передачей пакетов и сегментов?o Как должно быть организована повторная передачапотерянных сегментов?o Послали сегмент, как долго ждать подтвержденияполучения?o Что делать если в сети начались «пробки»?Введение в компьютерные сетипроф.Смелянский Р.Л.26.02.201524Формат UDP дейтаграммыIP DataUDP DataBit 0UDP HdrIP HdrBit 31Source portChecksumDestination portLengthПоляпсевдозаголовка,UDPDataзащищаемые контрольной суммой (если она не 0)IPv4: IP DA, IP SA, Protocol ID for UDP (17), UDP data+hdr lengthUDP: source port, destination port, lengthUDP: dataВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.201525UDP: распределение по портамABUDP port number = 177Process1UDPDataProcess2Process1Process2Dest port = 177Src port = 123456DataIPВведение в компьютерные сетипроф.Смелянский Р.Л.Dest port = 177Src port =12345626.02.201526Модель UDP сервисаСвойствоПоведениеСервис безсоединенияСоединение не устанавливаютПакеты могут приходить в произвольномпорядкеДейтаграммысамодостаточныНенадежная доставка 1.
Отсутствуют подтверждения (Аск)2. Контрольная сумма охватывает толькозаголовок3. Отсутствуют средства выявленияпропущенных данных или данных,нарушающих порядок отправки.4. Нет управления потокомВведение в компьютерные сетипроф.Смелянский Р.Л.26.02.201527Заключение• ТСР предоставляет сервис, сохраняющий порядок байтов потока,обеспечивающий надежную доставку• UDP обеспечивает простую доставку дейтаграмм междуприложениями.Введение в компьютерные сетипроф.Смелянский Р.Л.26.02.201528.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.