OSI传输层
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
04OSI传输层
4.1传输层的作用
4.1.1传输层的用途
1、传输层的用途:
1)跟踪各个会话;
2)数据分段;
3)重组数据段;
4)标识应用程序;
4.1.2控制会话
1、会话多路复用—网络中的每台主机上,都可能运行着多个应用程序或服务。每个应用程序或者服务都分配有一个称为端口的地址。通过此地址,传输层可以确定将数据发送到哪一个应用程序或者服务上
2、创建会话
3、可靠传输
4、同序处理
5、流量控制
4.1.3 支持可靠的通信
1、在传输层中,有三项基本的可靠性操作:
●跟踪已发送的数据
●确认已接收的数据
●重新传输未确认的数据
4.1.4 TCP和UDP
1、用户数据报协议(UDP)
1)根据RFC 768,UDP 是一种简单的无连接协议。该协议的优点在于提供低开销数据传输。UDP 中的通信数据段称为数据报。通过此协议,数据报在传输层采用尽力方式传送。2)使用UDP 协议的应用包括:
域名系统(DNS)
视频流
IP 语音(VoIP)
2、传输控制协议(TCP)
1、根据RFC 793,TCP 是一种面向连接的协议。为实现额外的功能,TCP 协议会产生额
外的开销。TCP 协议描述的其它功能包括原序处理、可靠传输以及流量控制。每个TCP 数据段在封装应用层数据的报头中都有20 字节的开销,而每个UDP 数据段只需要8 字节的开销。
2、使用TCP 协议的应用程序包括:
●Web 浏览器
●电子邮件
●文件传输程序
4.1.5端口寻址
1、识别会话
1)为了区分每个应用程序的数据段和数据报,TCP 和UDP 协议中都有标识应用程序的唯一报头字段,这些唯一标识符就是端口号。
2)当客户端应用程序向服务器应用程序发送请求时,包含在报头中的目的端口号即为分配给远程主机上运行的服务守护程序的端口号。
3)客户端请求信息时,数据段或数据报的报头包含随机生成的源端口号。
2、互联网编号指派机构(IANA) 负责分配端口号。端口号有如下不同类型:
1)公认端口(Well-know Port):0-1023;
公认TCP端口:
FTP:20、21;
Telnet:23
SSH:22
SMTP:25
HTTP:80
HTTPS:443
IRC:194
公认UDP端口:
TFTP:69
RIP:520
TCP/UDP通用端口:
DNS:53
SNMP:161
2)已注册端口(Registered Port):1024-49151
3)动态或私有端口(Dynamic or Private Port):49152-65535
3、查看Windows主机上已建立活动连接
C:\netstat –an
4.1.6分段和重组
1、如果将应用程序数据分割成若干段(Segmentation),既可以保证所传输数据的大小符合传输介质的限制要求,也可以确保不同应用程序发出的数据能在介质中多路传输。
TCP 和UDP 处理数据段的方式不同。
4.2TCP协议——可靠通信
4.2.1TCP——创建可靠的会话
1、TCP数据段报头字段
4.2.2TCP服务器进程
在同一传输层服务中,服务器不能同时存在具有相同端口号的两个不同服务。
4.2.3TCP的连接和终止
1、若要建立连接,主机应执行三次握手(Three Handshake)。
2、终止连接:互送FIN和ACK。
4.2.4TCP的三次握手
第一握手:TCP 客户端发送带同步序列号(SYN) 控制标志设置的数据段,指示包含在报头中的序列号字段的初始值,用以开启三次握手。序列号的初始值称为初始序列号(ISN),由系统随机选取,并用于跟踪会话过程中从客户端到服务器的数据流。在会话过程中,每从客户端向服务器发送一个字节的数据,数据段报头中包含的ISN 值就要加1。
第二次握手:TCP 服务器需要确认从客户端处收到SYN 数据段,从而建立从客户端到服务器的会话。为了达到此目的,服务器应向客户端发送带ACK 标志设置的数据段,表明确认编号有效。客户端将这种带确认标志设置的数据段理解为确认信息,即服务器已收到从TCP 客户端发出的SYN 信息。
第三次握手:TCP 客户端发送包含ACK 信息的数据段,以示对服务器发送的TCP SYN 信息的响应。在该数据段中,不包括用户数据。确认号字段的值比从服务器接收的初始序列号值大1。一旦在客户端和服务器之间建立了双向会话,该通信过程中交换的所有数据段都将包含ACK 标志设置。
4.2.5TCP会话的终止
1. 当客户端的数据流中没有其它要发送的数据时,它将发送带FIN 标志设置的数据段;
2. 服务器发送ACK 信息,确认收到从客户端发出的请求终止会话的FIN 信息;
3. 服务器向客户端发送FIN 信息,终止从服务器到客户端的会话;
4. 客户端发送ACK 响应信息,确认收到从服务器发出的FIN 信息。
4.3 管理TCP会话
4.3.1 TCP数据段的重组
1、按传输时的顺序重新排列数据段
4.3.2 TCP窗口确认
1、确认收到数据段:TCP 在发回源设备的数据段中使用确认号,指示接收设备期待接收的下一字节。该过程称为期待确认.
4.3.3 TCP重新传输
处理丢失的数据段:重新发送未确认的数据
4.3.4TCP拥塞控制
1、流量控制
4.4UDP
4.4.1UDP——低开销与可靠对比
1、UDP是非面向连接的不可靠协议;
4.4.2UDP数据报的重组
1、UDP不跟踪序列号,UDP 不会对数据报重组。
4.4.3UDP服务器进程与请求
1、基于UDP 的服务器应用程序也被分配了公认端口或已注册的端口。
4.4.4UDP客户端进程