经管南理工计算机网络课件(2012版)第3章运输层

上传人:w****i 文档编号:91896303 上传时间:2019-07-03 格式:PPT 页数:162 大小:5.52MB
返回 下载 相关 举报
经管南理工计算机网络课件(2012版)第3章运输层_第1页
第1页 / 共162页
经管南理工计算机网络课件(2012版)第3章运输层_第2页
第2页 / 共162页
经管南理工计算机网络课件(2012版)第3章运输层_第3页
第3页 / 共162页
经管南理工计算机网络课件(2012版)第3章运输层_第4页
第4页 / 共162页
经管南理工计算机网络课件(2012版)第3章运输层_第5页
第5页 / 共162页
点击查看更多>>
资源描述

《经管南理工计算机网络课件(2012版)第3章运输层》由会员分享,可在线阅读,更多相关《经管南理工计算机网络课件(2012版)第3章运输层(162页珍藏版)》请在金锄头文库上搜索。

1、,1,第 3 章 运输层,主要内容: 运输层服务 运输层和网络层的关系 两个实体如何可靠地通信 拥塞控制技术,位于应用层和网络层之间。 为主机上的应用进程提供直接的通信服务。 接受网络层提供的服务,2,3.1 运输层服务 3.2 复用与分解 3.3 无连接传输: UDP 3.4 可靠数据传输的原理 3.5 面向连接的传输: TCP 3.6 拥塞控制的原理 3.7 TCP拥塞控制 小结,主要章节,3,3.1 运输层服务,运输层协议: 为运行在不同主机上的应用进程提供逻辑通信功能(主机好像直接相连)。即端到端传输。 进程之间使用逻辑通信功能彼此发送报文,无需考虑具体物理链路。,应用层 运输层 网络

2、层 数据链路层 物理层,网络层 数据链路层 物理层,应用层 运输层 网络层 数据链路层 物理层,网络层 数据链路层 物理层,网络层 数据链路层 物理层,网络层 数据链路层 物理层,网络层 数据链路层 物理层,逻辑端到端传输,进程,进程,4,运输层协议运行在端系统,不在路由器中。 发送方:将应用进程的报文划分成若干段,封装后传给网络层。 接收方:将网络层上传的报文段,重新装配为报文,传向应用层。 路由器只根据网络层字段而动作。,3.1.1 运输层和网络层的关系 3.1.2 运输层概述,5,3.1.1 运输层和网络层的关系,运输层位于网络层上。 网络层提供主机之间的逻辑通信。 运输层为运行在不同主

3、机上的进程之间提供逻辑通信; 依赖、强化网络层服务,6,家庭通信类比,两个家庭的多个堂兄弟姐妹之间互相通信。 每家有一个孩子负责收发邮件,分别为Ann和Bill。 每封信通过传统的邮政服务发送。 邮政服务为两个家庭间提供逻辑通信:将信件从一家送往另一家。 Ann和Bill为堂兄弟姐妹之间提供逻辑通信:向兄弟姐妹收取或交付信件。 Ann和Bill是端到端交付过程的一部分(即端系统部分),是邮件服务。,7,与网络术语对比,应用报文 = 信 进程 = 多个孩子 运输协议 = Ann和Bill 网络层协议 = 邮政服务(运输车),主机 = 家庭,8,说明,Ann和Bill 在各自家里工作,不参与邮件分

4、拣及传递: 运输层协议工作在端系统中,将来自应用进程的报文移动到网络边界(网络层),不考虑报文在网络核心如何传递; 中间路由器既不处理也不识别运输层加在报文上的任何信息。 Ann和Bill 外出,其他人接替工作,服务方式、效果可能不同。 计算机网络中有多种运输层协议,每种协议为应用程序提供不同的服务模型。,9,说明, Ann和Bill能够提供的服务要受到邮政服务提供服务的限制。 运输层协议所能提供的服务受底层网络协议服务模型的限制。如,时延和带宽保证。 某些特定服务既使底层网络协议不提供,运输层协议也能提供。 如,当底层网络协议是不可靠的(分组丢失、混乱和重复),运输层同样能为应用程序提供可靠

5、的传输服务。,10,3.1.2 因特网运输层概述,因特网运输层协议: UDP(用户数据报协议):为应用程序提供不可靠、无连接的服务。 TCP(传输控制协议):为应用程序提供可靠的、面向连接的服务。 术语: 报文段(segment):运输层分组。 数据报(datagram):网络层分组。,11,因特网网络层,IP(网际协议):为主机之间提供逻辑通信。 IP服务模型:尽力交付服务。 尽最大的努力在通信的主机之间交付报文段,但不保证按序交付或数据的完整性。属于不可靠服务。 IP地址:主机的网络层地址。每台主机有一个。,12,UDP和TCP的服务模型,将两个端系统间IP的交付服务扩展为运行在两个端系统

6、上的进程之间的交付服务。 即主机间交付扩展到进程间的交付。 可提供完整性检查。 UDP是不可靠服务。 TCP提供可靠数据传输及拥塞控制。,运输层的多路复用与分解,13,3.2 多路复用与分解,将网络层所提供的主机到主机交付服务扩展到在主机上运行的应用程序到应用程序的交付服务。 主机上可以有多个应用进程运行。 当运输层从底层网络接收数据时,应能正确地定向到相应的一个进程(套接字),数据报,14,套接字,从网络向进程传递数据,或从进程向网络传递数据的门户。 运输层和应用进程通过套接字来传递数据。 主机上的套接字可以有多个,每个套接字都有惟一的标识符(格式取决于UDP或TCP)。,= 进程,= 套接

7、字,15,多路复用与分解过程,多路复用(发送主机): 从不同套接字收集数据块,并为每个数据块封装上首部信息,生成报文段,传递到网络层。 多路分解(接收主机): 将报文段中的数据交付到正确的套接字。即接收方运输层从报文段的多个字段中,识别出套接字,并将报文段定向到该套接字。 例图3-2,进程P3向进程P1发送。,16,主机1,主机2,主机3,主机1:运输层收集套接字输出的数据,形成运输层报文段,将其传递给下面的网络层(多路复用) 主机2:运输层将从其网络层收到的报文段多路分解后通过相应的套接字交给其上的P1进程。,例图3-2,进程P3向进程P1发送。,17,目的主机的分解过程,当报文段到达主机时

8、,运输层检查报文段中的目的端口号,将其定向到相应的套接字。 报文段中的数据通过套接字进入其所连接的进程。,18,报文段格式,端口号:主机上的每个套接字分配一个端口号。16位(065535)。 01023为周知端口号,保留给固定的应用程序。 开发一个新应用时,需选择一个端口号。,源端口 #,目的端口 #,32 bits,应用数据 (报文),其他首部字段,TCP/UDP 段格式,19,1、无连接的多路复用与分解,创建UDP套接字:两种方法 自动为该套接字分配一个端口号。如 DatagramSocket mySocke = new DatagramSocket() 从102465535的号码中分配一

9、个主机尚未使用的UDP端口号。 直接为套接字指定一个特定的端口号。 如 DatagramSocket mySocke = new DatagramSocket (19157) 客户机端:自动分配端口号 服务器端:分配一个特定的端口号。若使用“周知协议”,必须分配一个相应的周知端口号。,20,发送方多路复用: 运输层创建一个报文段(数据、源端口号、目的端口号) 传递到网络层; 网络层将该报文段封装到IP报文中,并尽力交付给接收主机,接收方多路分解: UDP报文段到达接收方 通过报文段中的目的端口号,将报文段定向(多路分解)到相应的套接字 并交给相应进程。,21,例,Client IP:B,cli

10、ent IP: A,server IP: C,SP 提供 “返回地址”,9157,6428,5775,两对通信:AC、BC,22,例,主机A中的一个进程向主机B中的另一进程发送一个应用程序数据块。,19157,46428,主机A的多路复用: 运输层创建一个报文段(数据、源端口号、目的端口号) 传递到网络层; 网络层将该报文段封装到IP报文中,并尽力交付给接收主机,主机B的多路分解: UDP报文段到达接收方,主机B通过检查该报文段中的目的端口号,将报文段定向(多路分解)到相应的套接字,并交给相应进程。,23,说明,UDP套接字组成: 二元组(目的IP地址,目的端口号) 具有不同源套接字,但具有相

11、同目的套接字的UDP报文段,可通过相同套接字定向到相同的目的进程(多对一)。 源端口号的用途:目的方回发报文段中的“返回地址”。,24,2、面向连接的多路复用与分解,TCP套接字: 四元组 (源IP地址,源端口号,目的IP地址,目的端口号) 目的主机使用全部四个值来将收到的TCP报文段定向(分解)到相应的套接字。 两个具有不同源套接字的TCP报文段,将被定向到两个不同的套接字。,25,TCP连接及分解,服务器应用程序在某个端口上等待TCP客户机连接建立请求。如 ServerSocket welcomeSocke = new serverSocket(6789) TCP客户机在相应端口上产生一个

12、连接建立请求报文段。 Socket clientSocke = new Socket (“serverHostName“,6789) 当服务器收到客户机的连接请求后,通知服务器进程,并创建一个连接套接字。如, Socket connectionSocket = WelcomeSocket.accept() 连接套接字通过4个值来标识。 TCP连接完成后,客户机和服务器可相互发送数据。 当一个TCP报文段到达主机时,根据4个字段值的来定向(多路分解)到相应的套接字。,26,说明,一个web服务器可以同时与多个客户机连接,并产生多个进程。 每个进程都有自己的连接套接字,通过这些套接字可以收到HTT

13、P请求和发送HTTP响应。 高性能Web服务器通常只使用一个进程,可以为每个新连接创建一个新线程(一个轻量级的子进程)。 持久HTTP:客户机与服务器之间经由同一个服务器套接字交换HTTP报文。 非持久HTTP:每一对请求/响应,都要创建一个新的TCP连接,响应后即关闭。影响Web服务器的性能。,27,例,客户机 IP:C,服务器 IP: B,SP: 9157,DP: 80,D-IP:B,S-IP: A,D-IP:B,S-IP: C,D-IP:B,S-IP: C,主机C向服务器B发起两个HTTP会话;主机A向服务器B发起一个HTTP会话。,产生三个进程,28,例:多线程Web服务器,客户机 I

14、P:B,服务器IP: C,SP: 9157,DP: 80,P4,D-IP:C,S-IP: A,D-IP:C,S-IP: B,D-IP:C,S-IP: B,一个进程三个线程,29,例,主机C向服务器B发起两个HTTP会话;主机A向服务器B发起一个HTTP会话。,26145,7532,26145,80,30,3.3 无连接运输:UDP,“尽力而为”服务,UDP段可能: 丢包 对应用程序交付失序 无连接: 在UDP发送方和接收方之间无握手 每个UDP段独立处理,31,使用 UDP协议的原因,无连接创建:减少时延。 简单:无连接 段首部小:传输开销小。 无拥塞控制: UDP能够尽可能快地传输。,32,

15、主要应用,如图3-6。 流式多媒体 DNS SNMP,经UDP的可靠传输 :在应用层增加可靠性,实现特定的差错恢复!,33,3.3.1 UDP报文段结构,源端口#,目的端口#,32 bits,应用数据 (报文),UDP 段格式,长度,检查和,UDP段的长度,包括首部,以字节计,34,3.3.2 UDP检查和,发送方: 将数据的每两个字节当作一个16位的整数,可分成若干整数; 将所有16 位的整数求和 对得到的和逐位取反,作为检查和,放在报文段首部,一起发送。,用于检查所传输的报文段中的比特差错 (如比特翻转)。,接收方: 对接收到的信息 (包括检查和)求和 全“1”:数据无错; 其中有“0”:数据出错 对接收到的信息 (不包括检查和)求和 核对计算的检查和是否等于检查和字段的值。,35,0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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