传输层连接 对于面向连接的传输服务,首先要和对端的对等实 体建立连接 。 ■传输层连接本质上是在发送端和接收端上为实现可 靠传输而维护的一些参数状态。 ·例如发送、确认序列号的维护、发送、接收窗口的管理, 接收端缓存大小等 各种计时器 数据传输完毕还需要释放连接,即释放维护连接参 数的缓存。 11
11 传输层连接 ◼ 对于面向连接的传输服务,首先要和对端的对等实 体建立连接。 ◼ 传输层连接本质上是在发送端和接收端上为实现可 靠传输而维护的一些参数状态。 ◼ 例如发送、确认序列号的维护、发送、接收窗口的管理, 接收端缓存大小等 ◼ 各种计时器 ◼ 数据传输完毕还需要释放连接,即释放维护连接参 数的缓存
建立连接 一 般来说,一个连接从连接请求的发出到接收到连接证实消息 就可以建立一个连接,但由于网络丢失、延迟而导致重传而出 现重复分组时,一个连接会被建立多次。 连接建立过程并不是那么简单! Host 1 Host 2 三次握手 CR (seq =x) 主机1选择一个序号x,并向主机2 发送包含该序号的连接请求CR 主机2应答连接确认ACK,其中包 ACK (seg=y,ACK =x) 含确认号x和序列号y ■ 主机1在其发送的第一个数据中采 用序列号为x,并确认主机2的序 DATA (seq=x,ACK=y) 列号y
12 建立连接 ◼ 三次握手 ◼ 主机1选择一个序号x,并向主机2 发送包含该序号的连接请求CR ◼ 主机2应答连接确认ACK,其中包 含确认号x和序列号y ◼ 主机1在其发送的第一个数据中采 用序列号为x,并确认主机2的序 列号y ◼ 一般来说,一个连接从连接请求的发出到接收到连接证实消息 就可以建立一个连接,但由于网络丢失、延迟而导致重传而出 现重复分组时,一个连接会被建立多次。 连接建立过程并不是那么简单!
三次握手中的几种状态 Host 1 Host2 Host1 Host2 Old duplicate CR(seg=刻 CR连接请求;ACK接受连接 CR(seq=对 图a为正常操作时连接的建立; ACK (seqsy,ACK =x) ACK (seg=y,ACK =x) 图b为重复的CR突然出现(旧 的连接请求延迟了); 图c为重复的CR和重复的ACK DATA (seq=x.ACK=y) REJECT (ACK=y) (a) (6) Host 1 Host 2 CR (seq =x) Old duplicate ACK(seq=y,ACK=X刈 DATA(seq=x. ACK=z) Old duplicate REJECT (ACK=y) (c) 13
13 三次握手中的几种状态 CR-连接请求;ACK-接受连接 图a为正常操作时连接的建立; 图b为重复的CR突然出现(旧 的连接请求延迟了); 图c为重复的CR和重复的ACK
释放连接 非对称释放 ·连接的任何一方都可以断开整个连接 ■对称释放 ■把连接看作是由两个独立的单向连接,并要 求单独释放每一个单向连接 14
14 释放连接 ◼ 非对称释放 ◼ 连接的任何一方都可以断开整个连接 ◼ 对称释放 ◼ 把连接看作是由两个独立的单向连接,并要 求单独释放每一个单向连接
CR-连接请求 非对称释放 ACK-接受连接 DR-连接断开请求 Host 1 Host 2 当连接建立以后,主机1 CR 发送一个TPDU,它正确地 到达了主机2. ACK 然后,主机1又发送一个 TPDU,但是由于主机2在 ① DATA 第二个TPDU到达之前就已 经发送了DISCONNECT DATA TPDU,因此,该连接虽然 DR 被释放,但是数据却丢失 No data are 了。 delivered after a disconnect request 15
15 非对称释放 •当连接建立以后,主机1 发送一个TPDU,它正确地 到达了主机2. •然后,主机1又发送一个 TPDU,但是由于主机2在 第二个TPDU到达之前就已 经发送了DISCONNECT TPDU,因此,该连接虽然 被释放,但是数据却丢失 了。 CR-连接请求 ACK-接受连接 DR-连接断开请求 ACK