第8章传输层.ppt
《第8章传输层.ppt》由会员分享,可在线阅读,更多相关《第8章传输层.ppt(65页珍藏版)》请在三一文库上搜索。
1、1,第8章 传输层,8.1传输层服务 8.2端口寻址 8.3建立连接 8.4Internet中的传输层协议 用户数据报协议UDP 传输控制协议TCP 8.5Berkeley Socket,2,8.1传输层服务,传输层是整个协议层次结构的核心,它为高层屏蔽任何与网络有关的操作,传输层是端到端协议,与使用的网络无关,3,为应用进程提供了逻辑通信信道,5 4 3 2 1,传输层提供应用进程间的逻辑通信,主机 A,主机 B,应用进程,应用进程,路由器 1,路由器 2,AP1,LAN2,WAN,AP2,AP3,AP4,IP 层,LAN1,AP1,AP2,AP4,端口,端口,5 4 3 2 1,IP 协议
2、的作用范围,传输层协议 TCP 和 UDP 的作用范围,AP3,4,向上层提供的服务,传输层服务有两类: 面向连接的传输服务 无连接的传输服务,5,8.2端口寻址,由于传输层为上层提供复用机制,因此,当一个传输层进程希望与另一个进程建立连接时,必须指定对方传输层所对应的TSAP地址,Host2的时间服务进程运行在122号TSAP上,等待服务请求。 Host1应用进程发出连接请求,并指明源TSAP=6,目的TSAP=122。 网络层实体向Host2建立连接(对于非连接网络,仅向Host2发送分组) 问题:如何知道对方的TSAP?,6,TSAP的获取方法,服务进程固定在特定的TSAP上。 只适用于
3、少数关键的服务 每个系统都有一个进程服务器,它连接在众所周知的一组TSAP上,用户为了与目标服务进程通信,首先必须与进程服务器通信,通过它启动目标服务进程。 采用名字服务器,当新的服务被创建时,必须向名字服务器注册,给出服务名和TSAP。用户在需要相应的服务前先查找名字服务器。,7,主机进程标识,网络服务访问点(NSAP)和传输服务访问点(TSAP)即NSAP,TSAP标识了一个主机上的进程,需要注意的是NSAP是ISO定义的概念,一般用于面向连接的网络,例如ATM、X.25、Frame Relay等。 在TCP/IP中,NSAP与IP地址对应,TSAP对应着端口号(port),再加上所采用的
4、协议(TCP/UDP),即IP地址,端口号,协议类型唯一标识一个主机上传输服务的用户进程,而源/目的IP地址,源/目的端口号,协议类型五元组标识一个传输连接的数据流。,8,8.3建立连接,一般来说,一个连接从连接请求的发出到接收到连接证实消息就可以建立一个连接,但当网络丢失、存储,再重传重复分组时,一个连接也会被建立多次 三步握手 主机1选择一个序号x,并向主机2发送包含该序号的连接请求TPDU 主机2应答接受连接TPDU,TPDU中包含确认号x和序列号y 主机1在其发送的第一个数据中采用序列号为x,并确认主机2的序列号y,9,三步握手,CR-连接请求;ACK-接受连接 图a为正常操作时连接的
5、建立;图b为重复的CR突然出现; 图c为重复的CR和重复的ACK,10,释放连接,非对称释放 连接的任何一方都可以断开整个连接 对称释放 把连接看作是由两个独立的单向连接,并要求单独释放每一个单向连接,11,非对称释放,当连接建立以后,主机1发送一个TPDU,它正确地到达了主机2,然后,主机1又发送一个TPDU,但是由于主机2在第二个TPDU到达之前就已经发送了DISCONNECT TPDU,因此,该连接虽然被释放,但是数据却丢失了。,CR-连接请求 ACK-接受连接 DR-连接断开请求,12,对称释放,释放连接再次用到三步握手,一方发出释放连接请求后不立即拆除连接,而要等待对方确认;对方收到
6、请求后,发送确认报文,并拆除连接,发起方收到确认后最后拆除连接。,DR-连接断开请求ACK-接受断开,13,对称释放中的分组丢失,(a) final ACK lost,(a) Response lost,(a) Response lost and subsequent DRs lost,DR-连接断开请求ACK-接受断开,14,8.4 流量控制和拥塞控制,面向连接的传输服务应该提供流量控制和拥塞控制功能,核心是滑动窗口算法 流量控制:根据接收方的缓存容量来动态地调整发送方的窗口大小,避免一个快速的发送方淹没一个慢速的接收方。 拥塞控制:根据网络的承载容量来动态地调整发送方的窗口大小,避免发送方
7、同一时刻有太多未被确认接收的TPDU,15,8.4 Internet中的传输层协议,Internet中定义了两个不同的传输层协议 用户数据报协议(UDP:User Datagram Protocol) 传输控制协议(TCP:Transmission Control Protocol) 两个对等传输实体在通信时传送的数据单位称为传输协议数据单元(TPDU: Transport Protocol Data Unit) 在UDP中,TPDU称为数据报(datagram)TCP中,TPDU称为TCP数据段(segment),16,UDP与TCP,UDP提供无连接的服务,在传送数据之前不需要先建立连接。
8、对方的传输层在收到 UDP数据报后,不需要给出任何确认。虽然 UDP 不提供可靠投递,但在某些情况下 UDP 是一种最简单有效的工作方式。例如视频点播等实时应用常使用UDP TCP 提供面向连接的服务。由于 TCP 要提供可靠的、面向连接的传输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的头标增加了更多的域,还要占用许多的处理机资源。,17,端口,端口就是传输服务访问点(TSAP)。 端口的作用就是让各种应用进程都能将其数据通过端口向下交付给传输层,以及让传输层知道应当将其数据段或者报文中的数据向上通过端口交付给应用层相应的进程。 从这个意义上讲,端口是用来标识应用进程。,18,
9、基于端口的进程间通信,应 用 层,传 输 层,网 络 层,TCP 数据段,UDP 用户数据报,应用进程,TCP 复用,IP 复用,UDP 复用,TCP 数据段,UDP 用户数据报,应用进程,端口,端口,TCP 解复用,UDP 解复用,IP 解复用,发送方,接收方,19,端口号,端口用一个 16 bit 端口号进行标志,共64K个端口号对一台主机来说是足够的。 端口号只具有本地意义,即端口号只是为了标识本机上的各个应用进程。在Internet中不同主机的相同端口号是没有联系的。 端口号分为两类:一类是知名端口,其数值一般为 0-1023,一般分配给一些常用的服务进程。另一类则是一般端口,用来随时
10、分配给请求通信的客户进程。,20,8.4.1 用户数据报协议-UDP,User datagram protocol,RFC 768 无连接的传输服务 不可靠(Unreliable) 高效率,21,UDP头标,伪头标,源端口,目的端口,长 度,检验和,数 据,IP头标,UDP长度,源 IP 地址,目的 IP 地址,0,17,IP 数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,UDP头标,UDP 用户数据报,22,使用UDP协议传输消息,23,UDP应用,具有简单高效的特点 客户-服务器模式应用 DNS:Domain Name System RPC:Remote
11、Procedure Call 话音、视频等实时多媒体应用,24,8.4.2 传输控制协议-TCP,TCP travels in IP datagrams Internet routers only look at IP header to forward datagrams TCP at destination interprets TCP messages,Transmission Control Protocol-RFC 793,25,TCP连接,TCP 使用“连接”(而不仅仅是“端口”)作为最基本的抽象,同时将 TCP 连接的端点称为套接口(socket),或套接字、插口。 套接口和端口
12、、IP 地址的关系是:,131.6.23.13, 1500,套接口(socket),一条TCP连接是由发送方套接口和接收方套接口加上协议类型来唯一标识的,即TCP连接用五元组来唯一标识。,26,TCP Features,TCP具有以下特性 : 数据流传输(Stream Data Transfer) 可靠(Reliability) 全双工(Full Duplex) 复用(Multiplexing) 逻辑连接(Logical Connections) 流量控制(Flow Control) 拥塞控制(Congestion Control),27,TCP Segment Format,28,TCP S
13、egment Format,源端口/目的端口(Source/ Destination Port ) 16位的端口号 序列号(Sequence Number ) 标识本数据段中第一个字节在数据流中的位置。 确认号(Acknowledgment Number) 标识本数据段的接收方下一个期待接收的字节编号。 头标长度(Header Length) 4bits 指明数据段的头标长度,单位是32位,随选项长度而定 保留(Reserved):6bits,置0,29,TCP Segment Format - 6 Flags,URG 指示紧急指针有效. ACK 指示确认段有效 PSH Push 操作,置1时
14、,即将本段迅速发送 RST 重新连接. SYN 同步序列号,用于建立连接 FIN 发送方已发送完数据,用于释放连接,30,TCP Segment Format,窗口大小(Window size) 用于流量控制,窗口指示在对方确认了的字节之后还可发送的字节数。 检验和(Checksum) 用来检验TCP报头和数据的完整性,检验时,要加上伪IP头标 紧急指针(Urgent Pointer) 指向紧急数据的最后一个字节,该指针仅在URG置1时有效 选项(Options ),31,TCP在不可靠的IP上为应用进程提供可靠的数据传输服务,连接建立:在发送主机和接收主机之间协商初始序列号 连接管理:使用滑
15、动窗口算法对数据传输进行管理,包括确认重发、流量控制和拥塞控制等 连接释放:数据传输结束后释放连接,发送主机和接收主机释放为该连接分配的资源,TCP采用三步握手的方法建立连接,客户请求连接TCP数据段:SYN置1,ACK置0,选择初始序列号SEQ=x 服务器响应连接TCP数据段:SYN置1,ACK置1,选择初始序列号SEQ=y,并且对x进行确认,设置ACK=x+1 客户响应连接TCP数据段: ACK置1,SEQ=x+1,对y进行确认,设置ACK=y+1,通过三步握手,host1和host2之间完成初始序列号、窗口大小、最大数据段尺寸等参数的协商,并且分配连接所需要的资源,33,TCP请求连接碰
16、撞,使用三步握手,即使两台主机同时想在相同的套接口之间建立一个TCP连接而发生冲突,也可以正常工作。但此时只有一个TCP连接建立起来。因此TCP连接由五元组唯一标识。,34,TCP连接建立定时器 Connection Establishment Timer,当SYN数据段发出时,连接建立定时器就开始计时,如果在一定时间(例如65秒,可设置)内未收到响应,则连接建立失败。,35,TCP采用对称释放法释放连接,TCP的全双工连接可看成一个双单工的连接,每个单工连接都独立地释放。 通信双方必须都向对方发送FIN=1的TCP段并得到对方的应答,连接才能被释放,有四个阶段。,可以将第一个ACK数据段和第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传输
链接地址:https://www.31doc.com/p-2543034.html