[IT认证]第5章 传输层协议与传输层软件编程方法.ppt
《[IT认证]第5章 传输层协议与传输层软件编程方法.ppt》由会员分享,可在线阅读,更多相关《[IT认证]第5章 传输层协议与传输层软件编程方法.ppt(92页珍藏版)》请在三一办公上搜索。
1、,计算机网络技术教程自顶向下的分析与设计方法吴功宜 吴英编著,1,第5章 传输层协议与传输层软件编程基本方法,2,主要内容,3,5.1 传输层的基本概念,5.1.1 传输层的基本功能计算机网络本质的活动是实现分布在不同地理位置的联网主机之间的进程通信,以实现各种网络服务功能;传输层的主要作用就是要实现分布式进程通信。,4,传输层的作用,5,“端-端”进程通信服务的基本概念,传输层协议可以屏蔽网络层及以下各层实现技术的差异性,弥补网络层所能提供的服务的不足,使得应用层在完成各种网络应用系统时只需要使用传输层提供的“端-端”进程通信服务,而不需要考虑互联网络数据传输的细节问题;从“点-点”通信到“
2、端-端”通信是一次质的飞跃,为此传输层需要引入很多新的概念和机制。,6,5.1.2 传输层与应用层、网络层之间的关系,7,TPDU结构与IP分组、帧结构的关系,传输层之间传输的报文称为传输协议数据单元(TPDU);TPDU有效载荷是应用层的数据;传输层在有效载荷TPDU之前加上TPDU头,就形成了TPDU传输协议数据单元。,8,5.1.3 应用进程、传输层接口与套接字,9,进程标识的问题,在一台计算机中,不同进程可以用进程号或进程标识(process ID 唯一地标识。进程号又称端口号(Port number)。在网络环境中,标识一个进程必须同时使用IP地址与端口号。套接字(socket)或套
3、接字地址(socket address)表示一个IP地址与对应的一个进程标识。,10,应用程序编程接口(API)的概念,服务器套接字地址唯一地定义服务器应用程序;客户机套接字地址唯一地定义客户机应用程序;由于套接字是建立网络应用程序的可编程接口,因此套接字又称为应用程序编程接口(API)。,11,5.1.4 网络环境中应用进程标识,基于C/S的应用程序进程标识方法,12,端口号(065535)的分配方法,端口号的类型:熟知端口号(01023)或全局端口号或公认端口号,统一分配和控制的注册端口号(102449151),用户根据需要在IANA注册临时端口号(4915265535),客户机程序使用,
4、由客户机的TCP/UDP随机选取的,13,IANA对端口号数值划分的规定,在TCP/IP协议族中,端口号的数值是取 065535之间的整数;IANA对于端口号数值范围的划分:,14,熟知端口号的分配方法,UDP的熟知端口号的分配,15,TCP的熟知端口号的分配,16,多重协议的识别,UNIX操作系统的TCP/IP的传输层就有TCP协议和UDP协议;网络环境中一个进程的全网惟一的标识需要一个三元组来表示:协议,本地地址,本地端口号。,网络环境中一个完整的进程通信标识需要一个五元组来表示:协议 本地地址 本地端口号 远地地址 远地端口号在UNIX操作系统中:三元组又叫做半相关half-associ
5、ation 五元组叫做一个相关association例如:客户端的套接字是“202.1.2.5:3022”,服务器的是“41.8.22.51:80”,则标识客户端与服务器的TCP连接的五元组应该是“TCP,202.1.2.5:3022,41.8.22.51:80”,5.1.5 传输层的多路复用与多路分解,19,5.2 传输层协议的特点与比较5.2.1 TCP与UDP协议的比较,20,5.2.2 TCP、UDP协议与应用层协议的关系,21,5.3 UDP协议,5.3.1 UDP协议的主要特点:UDP是一种无连接的、不可靠的传输层协议;UDP是一种面向报文的传输层协议。,22,5.3.2 UDP报
6、文格式,UDP报文有固定8字节的报头。,23,UDP报头主要字段:,端口号端口号字段包括源端口号和目的端口号;端口号字段长度为16位(2个字节);源端口号表示发送端进程端口号,目的端口号表示接收端进程端口号;如果源进程是客户端,则源端口号是由UDP软件分配的临时端口号;服务器使用的是熟知端口号。,24,长度长度字段长度也是16位(2字节),它定义了包括报头在内的用户数据报的总长度;用户数据报的长度最大为65535字节,最小是8字节;如果长度字段是8字节,那么说明该用户数据报只有报头,而没有数据。,25,校验和UDP校验和字段是可选项;UDP校验和用来检验整个用户数据报(包括报头)在传输中是否出
7、现差错;UDP校验和包括三个部分:伪报头(pseudo header)、UDP报头与应用层数据。,26,5.3.3 UDP校验和的基本概念与计算示例发送端计算UDP校验和的例子,27,5.3.4 UDP协议适用的范围,确定应用程序在传输层是否采用UDP协议的原则:系统对性能的要求高于对数据完整性的要求;需要“简短快捷”的数据交换;需要多播和广播的应用;UDP协议是一种适用于实时语音与视频传输的传输层协议。,28,5.4 TCP协议,5.4.1 TCP协议的主要特点支持面向连接的传输服务应用程序在使用TCP传送数据之前,必须在源进程端口与目的进程端口之间建立一条传输连接;每个TCP连接唯一地用双
8、方端口号来标识;每个TCP连接为通信双方的一次进程通信提供服务。,29,支持字节流的传输,流(stream)相当于一个管道,从一端放入什么内容,从另一端可以照原样取出什么内容,它描述了一个不出现丢失、重复和乱序的数据传输过程;TCP在传输过程中将应用程序提交的数据看成是一连串的、无结构的字节流;因此接收端应用程序数据字节的起始与终结位置必须由应用程序自己确定。,30,TCP协议支持字节流传输示意图,31,支持全双工服务,TCP允许通信双方的应用程序在任何时候都可以发送数据;由于通信的双方都设置有发送和接收缓冲区,应用程序将要发送的数据字节提交给发送缓冲区,数据字节的实际发送过程由TCP协议来控
9、制;接收端在接收到数据字节之后也将它存放到接收缓冲区,高层应用程序在它合适的时间到缓冲区中读取数据。,32,支持同时建立多个并发的TCP连接,根据应用程序的需要,TCP协议支持一个服务器与多个客户端同时建立多个TCP连接;也支持一个客户端与多个服务器同时建立多个TCP连接;TCP软件将分别管理多个TCP连接。,33,支持可靠传输服务,TCP是一种可靠的传输服务协议,它使用确认机制检查数据是否安全和完整地到达,并且提供拥塞控制功能;TCP支持可靠数据通信的关键是对发送和接收的数据进行跟踪、确认与重传;传输层传输的可靠性是建立在网络层基础上,同时也就会受到它们的限制。,34,总结,TCP协议的特点
10、是:面向连接面向字节流支持全双工支持并发连接提供确认重传与拥塞控制,35,5.4.2 TCP报文格式,TCP报头长度为2060字节,其中固定部分长度为20字节;选项部分长度可变,最多为40字节。,36,TCP报头包括的主要字段:,端口号端口号字段包括源端口号与目的端口号;每个端口号字段长度为16 位(2字节),分别表示发送该报文段的应用进程的源端口号与接收进程的目的端口号。序号序号字段长度为32位(4个字节),序号范围在0(232-1),即04284967295;TCP是面向字节流的,它要为发送字节流中的每个字节都按顺序编号。,37,确认号确认号字段长度为32 位(4字节);确认号表示一个进程
11、已经正确接收序号为N的字节,要求发送方下一个应该发送序号为N+1的字节的报文段。报头长度报头长度字段的长度为4位;TCP报头长度是以4字节为一个单元来计算的,实际报头长度是在2060字节,因此这个字段的值是在5至15之间。,38,控制字段控制字段定义了6种不同的控制位或标志位;控制字段将在TCP的连接建立和终止、流量控制,以及数据传送中发挥作用。,39,窗口窗口字段长度为16位;窗口的长度值是在065 535之间;窗口字段值指示对方在下一个报文中最多发送的字节数,作为发送方确定发送窗口的依据;窗口字段值是动态变化的。紧急指针紧急指针字段的长度为16位,只有当紧急标志URG=1时,这个位字段才有
12、效,这时的报文段中包括紧急数据;TCP软件要在优先处理完紧急数据之后才能够恢复正常操作。,40,选项TCP报头可以有多达40字节的选项字段;选项包括:单字节选项和多字节选项;单字节选项:选项结束和无操作;多字节选项:最大报文段长度、窗口扩大因子以 及时间戳。校验和计算校验和与UDP校验和的方法相同;UDP校验和是可选的,TCP协议是必须有的;TCP校验和同样需要伪报头,唯一不同的是协议字段的值是6。,41,TCP最大段长度(MSS),理解MSS时需要注意以下几个问题:TCP报文段的最大长度与窗口长度的概念不同。设置窗口长度的目的是为了保证TCP字节流传输的可靠性,用来通知发送方下一次可以连续传
13、输的字节数;最大段长度MSS是在构成一个TCP 报文段时最多可以在报文的数据字段中放置的数据字节数量;MSS值的确定与每次传输的窗口大小无关;MSS是TCP报文中数据部分的最大字节数限定值,不包括报头长度。,42,MSS值的选择应该考虑的因素:,协议开销TCP报文的长度等于报头部分加上数据部分,选择MSS值太小会增大协议开销所占的比例。IP分片如果MSS值选择得比较大,受到IP分组长度的限制,较长的报文段在IP层将会被分片传输;分片的结果同样会增加网络层的开销和传输出错的概率。,43,发送和接收缓冲区的限制为了保证TCP面向字节流传输,建立TCP连接的发送端与接收端都必须设置发送和接收缓冲区;
14、MSS值的大小直接影响到发送和接收缓冲区设置的大小与使用效率。,44,MSS的默认值,默认的MSS值为536字节;编程人员希望选择其他的MSS值;可以在建立TCP连接的时候使用SYN报文中最大段长度选项来协商;TCP允许连接的双方可以选择使用不同的MSS值。,45,5.4.3 TCP连接 建立与释放,46,TCP连接建立、报文传输与连接释放的过程:TCP连接建立TCP连接建立需要经过“三次握手”的过程;报文传输当客户进程与服务器进程之间的TCP传输连接建立之后,客户端的应用进程与服务器端的应用进程就可以使用这个连接,进行全双工的字节流传输;TCP连接释放TCP传输连接的释放过程很复杂,客户端与
15、服务器端都可以主动提出释放连接请求;客户端主动提出请求的连接释放需要有“四次握手”的过程。,47,保持计时器与时间等待计时器,TCP协议设置了4种计时器:重传计时器坚持计时器保持计时器时间等待计时器保持计时器与时间等待计时器与TCP连接的运行状态,以及连接释放中可能存在的问题有关。,48,重传计时器为了控制丢失的或丢弃的报文段,TCP使用了处理报文段的确认的等待重传时间的重传计时器。坚持计时器TCP为每一个连接使用一个坚持计时器;当发送方的TCP收到一个窗口大小为零的确认时,就需要启动坚持计时器;当坚持计时器期限到时,发送方的TCP就发送一个特殊的探测报文段。,49,保持计时器保持计时器用来防
16、止TCP连接处以长时期空闲状态;时间等待计时器时间等待计时器是在连接终止期间使用的;时间等待计时器的值通常设置为一个报文寿命的两倍。,50,5.4.4 TCP滑动窗口与确认、重传机制,TCP差错控制的实现方法:校验和确认超时重传,51,滑动窗口协议的基本内容,字节流传输的状态分类,52,发送窗口与可用窗口,53,窗口发送与字节类型的变化,54,窗口滑动与字节类型的变化,55,TCP滑动窗口协议的特点,TCP使用发送与接收缓冲区,以及滑动窗口机制控制TCP连接上的数据传输;TCP滑动窗口是面向字节的,它可以起到差错控制与流量控制的作用;接收端可以在任何时候发送确认,窗口大小可以由接收端根据需要增
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IT认证 IT认证第5章 传输层协议与传输层软件编程方法 IT 认证 传输 协议 软件 编程 方法

链接地址:https://www.31ppt.com/p-4594012.html