internet运输层协议设计

上传人:aa****6 文档编号:51253839 上传时间:2018-08-13 格式:PPT 页数:174 大小:2.53MB
返回 下载 相关 举报
internet运输层协议设计_第1页
第1页 / 共174页
internet运输层协议设计_第2页
第2页 / 共174页
internet运输层协议设计_第3页
第3页 / 共174页
internet运输层协议设计_第4页
第4页 / 共174页
internet运输层协议设计_第5页
第5页 / 共174页
点击查看更多>>
资源描述

《internet运输层协议设计》由会员分享,可在线阅读,更多相关《internet运输层协议设计(174页珍藏版)》请在金锄头文库上搜索。

1、 Introduction1-1第二章 Internet运输层协议设计xxx Introduction1-2主要内容q运输层协议概述qUDP协议简介qTCP协议简介qTCP拥塞控制机制分析qTahoe, Reno, NewReno, Sack, Vegas等源算法qRED等主动队列管理算法Introduction1-3提纲q运输层协议概述qUDP协议简介qTCP协议简介qTCP拥塞控制机制分析qTahoe, Reno, NewReno, Sack, Vegas等源算 法qRED等主动队列管理算法Introduction1-4TCP/IP协议栈Applications (e.g. Telnet,

2、 HTTP)TCPUDPICMP ARPIPLink Layer (e.g. Ethernet, ATM)Physical Layer (e.g. Ethernet, SONET)Introduction1-5运输层和网络层的关系运输层协议为运行在不同主机上的应用程序进程彼此之间提供逻辑通信。q网络层功能?q为什么需要运输层?q运输层应该具有的功能?Introduction1-6一个类比例子:AliceBob1.收集信件2.分发信件邮政系统:提供两个家庭的逻辑通信家庭成员邮政系统=网络层协议家=主机(端系统)Alice,Bob=运输层协议家庭成员=应用进程信=应用层的报文Mr.BlackMr.

3、WhiteIntroduction1-7网络层的功能qInternet网络层v主机由IP地址标识vIP服务模型时尽力而为交付服务:不做任何 确保:不确保报文交付,按序交付,数据完 整性。network data link physicalnetwork data link physicalnetwork data link physicalnetwork data link physicalnetwork data link physicalnetwork data link physicalnetwork data link physicalnetwork data link physica

4、lapplication transport network data link physicalapplication transport network data link physicalH2H1R1R5v通过通信子网中的各个路由 器R1,R2,R5的路由,转发 功能,最终将发送方H1主机 的网络层的分组 (datagram ),发送到接收方H2主机,从 而提供了两个端系统之间的 交付服务。v网络层协议必须在每一台主 机和路由器上实现R2R3R4q网络层:提供了主机 之间的逻辑通信。Introduction1-8运输层功能application transport network dat

5、a link physicalapplication transport network data link physicalH2H1R5R1q运输层:将网络层所提供了主机之间的逻辑通信扩展到 为在不同主机上运行的应用进程之间提供逻辑服务。LAN2WANLAN1network data link physicalnetwork data link physical运输层提供了应用进程间的逻辑通信 (运输层报文段 segment)运输层处于应用 层与网络层之间applicationAP1AP2transportnetworkapplicationAP4AP3applicationtranspor

6、tnetwork网络层协议作用的范围网络层提供了主机之间的逻辑通信( datagram)Introduction1-9运输层功能发送方:v在发送方主机(端系统)中,运输 层收集所有的应用进程的发送来的 报文(message),并将每个报文 划分成小块,并为每块加上一个运 输层首部,形成多个运输层报文段 (segment)。然后,运输层将这 些报文段传递给网络层。 网络层将这些报文段封装成网络层分组 (datagram ),并将这些分组传送到目的 主机。 接收方:v在接收受方主机(端系统)中,运 输层处理接收来自于网络层的运输 层报文段,并将报文段中的数据提 交给相应的接收方目的应用进程。app

7、lication transport network data link physicalapplication transport network data link physicalnetwork data link physicalnetwork data link physicalnetwork data link physicalnetwork data link physicalnetwork data link physicallogical end-end transport运输层仅运行在端系统中 (只在主机系统,而不是在网络中的路由器中实现)Introduction1-10运

8、输层服务原理q最低限度运输层服务:v将端系统间的交付服务扩展为运行在两个端系统上的进程之间的交 付服务。这种能力称之为运输层的多路复用(transport-layer multiplexing)与多路分解(demultiplexing)。 多路复用:运输层收集所有发送应用进程的发送来的报文( message),形成运输层报文段(segment),并将这些报文 段传递给网络层。 多路分解:运输层处理从网络层接收到的报文段,并将不同报 文段中的数据定向到相应的应用进程。v差错检查:运输层协议报文段的首部具有差错检测字段从而提供完 整性检查。q最低限度运输层服务服务的质量:提供一种不可靠的 (“尽

9、力而为”), 数据传输,即不能保证一个进程所发送的数据能 够完整无损,有序地到达目的地。UDP协议提供了正是这 两种最低限度的运输服务。Introduction1-11套接字(socket)q运输层和进程之间数据传递是通过一个中间的的套接字(socket) 来实现的。v任意时刻主机上可能有多个应用进程运行,每个应用进程有一个 或多个套接字和其相联系。v套接字是网络与进程之间传递数据的门户。receiver application transport networkMP2application transport networkHtHnsegmentsegmentMapplication tra

10、nsport networkP1MMMP3P4segment headerapplication-layer data套接字senderIntroduction1-12applicationtransportnetworklinkphysicalP1applicationtransportnetworklinkphysicalapplicationtransportnetworklinkphysicalP2P3P4P1Send host 1rcv host 2send host 3= 进程= 套接字在发送端复用: 将接收到的运输层报文段 中的数据传递给正确的套 接字(应用层进程 )在接收端分解

11、多路复用/多路分解 (multiplexing/demultiplexing)从源主机不同套接字(应用进程) 获取数据, 并为每个数据块封装首 部信息,生成报文段,然后将其传 递到网络层的工作。Q:接收主机怎样将一个收到的运输层报文段定向到合适的套接字?Introduction1-13复用/分解(续)q运输层多路复用/分解要求:v套接字有唯一的标识符v每个报文段有特殊字段来 标识该报文段所要交付的 套接字q这些特殊的字段就是源端口 号和目的端口号,端口号为 16位,其中01023为周知端 口号(well-known port number),保留给诸如HTTP 之类的周知应用层协议的。 (RF

12、C1700, HTTP:/WWW.iana.org 更 新)源端口 #目的端口 #32 bits应用层数据 (报文)其他首部字段TCP/UDP 段格式transport-layer segment 运输层实体间交换数据的单 位 又称TPDU:运输层数据单 元Introduction1-14(2)无连接的多路复用与多路分解q使用端口号创建一个套接字:DatagramSocket mySocket1 = new DatagramSocket();DatagramSocket mySocket2 = new DatagramSocket(9157);v应用程序的客户端一般让运输层自动地并且透明地为其

13、相联系 的套接字分配一个端口号, 实现周知协议的应用程序的服务端必须为其相联系的套接字分配一个特定的周知端口号。q多路分解过程:v主机上的每个套接字被分配一个端口号,当报文到达主机时, 运输层检查报文段中的目的端口号,并将其定向到相应的套接 字,然后报文段中的数据通过套接字进入其所连接的进程。Introduction1-15例:无连接的多路复用与多路分解 S:DatagramSocket serverSocket = new DatagramSocket(6428); C:DatagramPacket sendPacket = new DatagramPacket(sendData, send

14、Data.length, IPAddress, 6428);Client IP:BP2clientIP: AP1P1P3server IP: CSP: 6428 DP: 9157SP: 9157DP: 6428SP: 6428 DP: 5775SP: 5775 DP: 6428SP 提供了返回地址 “return address”服务器 c主机 AUDP 套接字是由一个二元组来标识的 (目的IP 地址, 目的端口号)具有不同的源IP地址与端口号的UDP 报文只要具有相同的目的IP地址和目 的端口号就可以通过同一个目的套接 字定向到相同的目的应用进程Introduction1-16(2)面向连接

15、的多路复用与多路分解qTCP套接字由一个四元组来标识 : v源 IP 地址v源 端口号v目的IP地址v目的端口号q服务端可同时支持许多的 TCP 套接字:v每个套接字由这四个值唯一标识q接收端主机将使用全部的四个值来将报文段定向( 多路分解)到相应的套接字Introduction1-17例:面向连接的多路复用与多路分解Client IP:BP1clientIP: AP1P2P4server IP: CSP: 9157 DP: 80SP: 9157DP: 80P5P6P3D-IP:CS-IP: A D-IP:CS-IP: BSP: 5775DP: 80D-IP:CS-IP: BS:SeverSo

16、cket welcomeSocket = new ServerSocket(80); Socket connectionSocket = welcomeSocket.accept() C:Socket clientSocket = new Socket(“hostname“, 80); 服务器能够通过 源IP地址和源端 口号来区分来自 不同客户机的报 文段,从而定向 到相应的套接字Introduction1-18例:面向连接的多路复用与多路分 解(cont) : 线程级的Web ServerClient IP:BP1clientIP: AP1P2server IP: CSP: 9157 DP: 80SP: 9157DP: 80P4P3D-IP:CS-IP: A D-IP:CS-IP: BSP: 5775DP: 80D-IP:CS-IP: B高性能的webSever通常只使用一个进程,可以 为每个连接套接字创建一个新线程。Introduction1-19运输层服务(cont.) TCP的服务模型qTCP在提供无连接尽力递交

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号