计算机原理chapter6传输层_第1页
计算机原理chapter6传输层_第2页
计算机原理chapter6传输层_第3页
计算机原理chapter6传输层_第4页
计算机原理chapter6传输层_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Chapter6

THETRANSPORTLAYER

传输层

Chapter6传输层

。传输服务

*传输协议的要素

Internet传输协议-UDP

♦Internet传输协议-TCP

传输服务(1)

、向上层提供的服务

传输层的目标是向它的用户(通常是应

用层中的进程)提供高效的、可靠的和性价

比合理的端-端服务,使高层用户不必关心通

信子网实现的细节。

在传输层内部,完成这项工作的硬件或

软件称为传输实体。

传输服务(2)

传输层服务有面向连接的服务和无连接的服务两

种类型。

虽然传输层服务与网络层提供的服务有些类似,

但传输层的作用却是网络层不可取代的。这是因为:

由于网络层是通信子网的一部分,而通信子网往往是

不可靠的,常常会丢失分组或进行网络复位,从而造

成大量数据的丢失,因此需要在网络层之上增加一个

传输层,利用传输层来克服通信子网自身难以解决的

问题,改善和优化服务质量,而且通信子网本身实现

的技术细节以及不完美的地方都由传输层屏蔽起来了。

传输服务(3)

二、套接字

对TCP服务而言,TCP服务通过发送方

和接收方生成一对通信终点,即套接字

(Socket)来获得。套接字地址由主机的IP

地址(host)和一个对该主机具有本地意

义的16位的数字端口(port)组成。端口

是传输层服务访问点(TSAP)的TCP名字。

套接字定义为(host,port)o

传输协议的要素(1)

传输服务是通过两个传输实体之间所使

用的一个传输协议来实现的。

Router

Physical

communicationchannel

Environmentofthedatalinklayer.

Environmentofthetransportlayer.

传输协议的要素(2)

一、编址

当一个应用进程希望与另一个远程的应

用进程建立连接的时候,必须指定要连接

到哪个应用进程上。通常使用的方法是为

那些能够监听连接请求的进程定义相应的

传输地址。这个地址称为TSAP

(TransportServiceAccessPoint,传

输服务访问点)。在Internet上,成为端

口(port)o

传输协议的要素(3)

TSAPs,NSAPsandtransportconnections.

传输协议的要素(4)

二、建立连接

基本的协议机制包括三部分:传输连

接建立、数据传输、传输连接拆除。

连接的建立采用三次握手的方式进行。

传输协议的要素(5)

Host2

建立传输连接采用三次握手

方式。

1、第一次握手主机1传输实体向

主机2传输实体发CRTPDU,初始

E

L序号为x;

L

2、第二次握手主机2收到CRTPDU

后向主机1发CCTPDU,选择初始

序号为y,确认号为x;

3、第三次握手主机1以数据TPDU

七人即

W格式向主机2表示它确实发送过序

号为x的连接请求,并收到序号为

(a)V、确认号为x的连接证实。当主

机2收到该TPDU后,连接建立成功。

正常操作

传输协议的要素(6)

CRTPDU重复CRTPDU和ACK重复

传输协议的要素(7)

三、释放连接

终止连接的两种方法:非对称释放连

接和对称释放连接。非对称释放连接是当

一方释放时连接就中断。对称释放连接是

把连接看成两个独立的单向连接,要求单

独释放每一个单向连接。

连接的释放也采用三次握手的方式进行。

传输协议的要素(8)

非对称释放连接,数据可能丢失

传输协议的要素

连接释放也采用三次握

手方式。

1、第一次握手主机1向主机2

发送DRTPDU,同时,启动计

时器,准备超时重传;

2、主机2收到后进行第二次

握手,向主机1发回DRTPDU,

同时启动计时器,一旦超时,

主机2就断连;

3、主机1收到后进行第三次

握手,以数据确认ACKTPDU

格式向主机2表示响应,同时

释放主机1连接;主机2收到

正常情况该TPDU后方释放主机2连接。

传输协议的要素(10)

(b)

最后确认ACK丢失

传输协议的要素(11)

应答DR丢失应答DR和后续DR均丢失

运输层为相互通信的应用进程提供了逻辑通信

主机A主机B

路由器1路由器2

AP

H-------------------IP协议的作用范围-------------

I

-----运输层协议TCP和UDP的作用范围-------A

应用进程之间的通信

O两个主机进行通信实际上就是两个主机中的应用进

程互相通信。

O应用进程之间的通信又称为端到端的通信。

。运输层的一个很重要的功能就是复用和分用。应用

层不同进程的报文通过不同的端口向下交到运输层,

再往下就共用网络层提供的服务。

O“运输层提供应用进程间的逻辑通信”。“逻辑通

信”的意思是:运输层之间的通信好像是沿水平方

向传送数据。但事实上这两个运输层之间并没有一

条水平方向的物理连接。

运输层协议和网络层协议的主要区别

应用进程应用进程

IP协议的作用范围

(提供主机之间的逻辑通信)

.______TCP和UDP协议的作用范围

(提供进程之间的逻辑通信)

Internet的传输协议一UDP(1)

因特网的传输层有两个主要协议:传输控制

协议TCP(TransmissionControlProtocol)

和用户数据报协议UDP(UserDatagram

Protocol)o

TCP协议是面向连接的协议,用于在不可靠

的网际间提供可靠的端到端数据通信。

UDP协议是面向无连接的协议,提供一种不

可靠的无连接数据报传输服务,它不对到达的报

文进行确认,对收到的报文不排序,不提供反馈

信息对端到端的信息流量进行控制。UDP必须运

行于IP之上。

Internet的传输协议一UDP(2)

UDP协议是一种无连接协议,提供一种不可靠

的无连接数据报传输服务。一般仅有一次请求一

次应答的客户机-服务器应用使用无连接的UDP,

以免频繁建立拆除连接的麻烦。

UDP必须运行在IP上。IP协议由系统管理的

网络软件使用,一般用户无法直接使用,而UDP

是用户可以直接使用的,故称为用户数据报协议。

相对于IP协议,UDP增加了两方面的功能:一是

提供基于端口的应用程序间的多路复用通信;二

是通过校验和提供数据的完整性。

UDP的主要特点

oUDP是无连接的,即发送数据之前不需要

建立连接。

oUDP使用尽最大努力交付,即不保证可靠

交付,同时也不使用拥塞控制。

oUDP是面向报文的。UDP没有拥塞控制,

很适合多媒体通信的要求。

oUDP支持一对一、一对多、多对一和多对

多的交互通信。

oUDP的首部开销小,只有8个字节。

Internet的传输协议一UDP(4)

由于UDP比TCP简单,它不使用繁琐的

流控制或错误恢复机制,只充当数据报的发

送者和接收者,因此开销小,效率高,适用

于高可靠性、低延迟的LAN。在不需要TCP

全部服务的情况下,用UDP来代替TCP。采

用UDP的高层应用主要有:简单网络管理协

议SNMP,简单文件传输协议TFTP,网络文

件系统NFS,域名服务系统DNS等。

面向报文的UDP

O发送方UDP对应用程序交下来的报文,在添加首部

后就向下交付IP层。UDP对应用层交下来的报文,

既不合并,也不拆分,而是保留这些报文的边界。

o应用层交给UDP多长的报文,UDP就照样发送,

即一次发送一个报文。

o接收方UDP对IP层交上来的UDP用户数据报,

在去除首部后就原封不动地交付上层的应用进程,

一次交付一个完整的报文。

o应用程序必须选择合适大小的报文。

UDP是面向报文的

应用层报文应用层

UDP首部UDP用户数据报的数据部分运输层

IP数据报的数据部分IP层

UDP用户数据报

节44112

源IP地址目的IP地址017UDP长度

字节122222

;伪首部源端口目的端口长度检验和

—一一—一一一

UDP用户数据报首部数据

发送在前

首部数0据

IP数据报

Internet的传输协议一UDP(8)

UDP的报文格式:

源端口号是可选的,选该端口号用于在等待数据报

用时,应填应答报文应的进程之间进行多路分离,

该回送的目的端口号,即作为接收主机内与特定应

不用时,全部置0。I用进程相关联的地址。

o15W3一1"

UD除端口号UDP自岳端口号

UDR报文长度UDR校验和

数据/

表示数据报头及其后^^用于差错检测。UDP的校验和'

数据的总长度。最小值是可选的,如果该字段为。说

为8字节,即UDP数据报明不进行校验。UDP校验和的

I头长度J1计算与TCP的基本一致。

Internet的传输协议一TCP(1)

一、TCP简介

TCP协议是Internet上承担任务最重的

协议。

TCP(TransmissionControl

Protocol,传输控制协议)协议是面向连接

的协议,用于在不可靠的网际间提供可靠的

端到端数据通信。

TCP最主要的特点

oTCP是面向连接的运输层协议。

O每一条TCP连接只能有两个端点

(endpoint),每一条TCP连接只能是点对

点的(一对一)。

oTCP提供可靠交付的服务。

oTCP提供全双工通信。

o面向字节流。

TCP面向流的概念

发送方接收方

间表示TCP报文段的首部置应用进程

应用进程

S表示序号为X的数据字节

2^字节流0字节流

柒〔把字节写入:从接收缓存

、读取字节,I

发送缓存3

TCP加上TCP首部'TCP

诏71615114构成TCP报文段,54

发送TCP报文段

⑶2HH-10[9jH^876H-

TCP连接

应当注意

OTCP连接是一条虚连接而不是一条真正的物理连接。

OTCP对应用进程一次把多长的报文发送到TCP的

缓存中是不关心的。

OTCP根据对方给出的窗口值和当前网络拥塞的程度

来决定一个报文段应包含多少个字节(UDP发送

的报文长度是应用进程给出的)。

OTCP可把太长的数据块划分短一些再传送。TCP

也可等待积累有足够多的字节后再构成报文段发送

出去。

Internet的传输协议一TCP(5)

二、TCP服务模型

TCP服务通过发方和收方生成一对通信

终点,即套接字(Socket)来获得。为了获得

TCP服务,必须在发送端和接收端机器之间

建立一个TCP连接。

套接字地址由主机的IP地址(host)和

一个对该主机具有本地意义的16位的数字端

口(port)组成。端口是传输层服务访问点

(TSAP)的TCP名字。

Internet的传输协议一TCP(6)

套接字定义为(host,port)o例如

(,23)就表示是IP地址为

202・195・139・5的主机上的23号^^「端口。

端口则在本地意义上标识了一个应用进程o

例如(202,195・128,15,1670)和

(202.195.128,15,23)表示了同一个主机

5上的两个不同的应用进程。

一个套接字可能同时被用于多个连接。每

个连接可以用两端的套接字标识符来标识,即

(socketl,socket2)。

Internet的传输协议一TCP(7)

TCP连接是一个抽象的连接,是用一对端点(套

接字)来标识的,即由发送端的套接字(其IP地址和

端口号)与接收端的套接字(其IP地址和端口号)来

标识TCP连接。例如(5,1184)和

(41,53)这一对套接字就定义了主

机IP地址为202・195.12845和讦地址为

41的另一主机之间的一个TCP连接。

如果同时还存在(5/184)和

(41,53)之间的连接,这是很正常

的,因为TCP使用两个端点来识别连接,一个机器上

的某个TCP端口号可以被多个连接所共享。

Internet的传输协议一TCP(8)

TCP服务的特点:

1.套接字可在同一时间用于多个连接。

2,低于1024的端口号称为周知口号(well-

knownport),保留作为标准服务。较高的

端口号可以由操作系统动态地分配给应用程

序。

3.面向数据流。当两个应用程序(进程)传输

大量数据时,TCP把数据看作可划分为一个一

个字节的比特流,接收端接收的是同样顺序

的字节流。

Internet的传输协议一TCP(9)

4.面向连接。

5.无结构的数据。TCP连接以字节流而非报

文流形式出现,不保留数据块的边界。

6.缓冲传送和立即传送。当应用层传递数据

到TCP,TCP可以立即传递(如希望马上得

到回应),也可以缓存,以便累积到一定量

再送出(提高效率)。

7.所有TCP连接都是全双工、点对点通信。

TCP不支持广播通信。

8.通信完全可靠。

Internet的传输协议一TCP(10)

部分TCP周知端口号

端口号协议说明

21FTP文件传输协议

23TELNET远程登录

25SMTP简单邮件传输协议(电子邮件)

42NAMESERVER主机名字服务器

53DOMAIN域名服务器

691卜1P简单文件传输协议

80H11PWEB浏览器

110POP-3远程电子邮件访问

119NNTPUSENET新闻传送协议

Internet的传输协议一TCP(11)

三、TCP协议

TCP协议以数据段(segment)形式交

换数据。TCP协议与数据段的标识、分割、

管理相联系。

数据段由段头(20字节加可选部分)和0

或更多数据字节组成。TCP软件决定数据段可

有多长,可以累积用户数据放入一个数据段,

或分放几个数据段。限制数据段长度的原因

一是必须使数据段能放入65,535字节的IP净

荷内,二是必须小于网络的最大传输单位

MTU(MaximumTransferUnit)。

Internet的传输协议一TCP(12)

TCP所用的基本协议是滑动窗口协议,

当其发出一个数据段时,就同时启动一个

定时器,一旦数据段到达目的地,接收端

就回送一个应答(可以单独应答,可以捎

带应答),应答序列号为下一次希望收到

的序号,如在应答到达之前定时器超时,

则重发该数据段。

TCP的基本传输单元是数据段(报文

段)。

TCP报文段的首部格式

32位

20

手F

TCP首

数据UAPRS

留RCSSY□

偏移GKHTN

检验和紧急指针

选项(长度可变)填充

源端口和目的端口字段——各占2字节。端口是运输

层与应用层的服务接口。运输层的复用和分用功能都

要通过端口才能实现。

63

位O4

端端

源□目的

序号

20

手F

P固定

确认号立

T首C部首口

P

A

S

U

数据

Y

R

S

C

窗口

保留

N

H

偏移

K

G

紧急指针

检验和

选项(长度可变)填充

序号字段——占4字节。TCP连接中传送的数据流

中的每一个字节都编上一个序号。序号字段的值则指

的是本报文段所发送的数据的第一个字节的序号。

63

24

_A

L

白勺

□目□

序号2o

-HP-

-

确认号定

留UAPS□_

RCSY_

GKHN_

_

_

和_

_

Y

选项(长度可变)填充

数据偏移(即首部长度)一一占4位,它指出TCP报文

段的数据起始处距离TCP报文段的起始处有多远。“数

据偏移”的单位是32位字(以4字节为计算单位)。

保留字段一一占6位,保留为今后使用,但目前

应置为Oo

紧急URG——当URG=1时,表明紧急指针字

段有效。它告诉系统此报文段中有紧急数据,应尽

快传送(相当于高优先级的数据)。

确认ACK——只有当ACK=1时确认号字段才

有效。当ACK=O时,确认号无效。

推送PSH(PuSH)——接收TCP收到PSH=1的报

文段,就尽快地交付接收应用进程,而不再等到整个

缓存都填满了后再向上交付。

复位RST(ReSeT)——当RST=1时,表明TCP连

接中出现严重差错(如由于主机崩溃或其他原因),必

须释放连接,然后再重新建立运输连接。

终止FIN(FINis)——用来释放一个连接。FIN=1

表明此报文段的发送端的数据已发送完毕,并要求释

放运输连接。

位O6243

□目□

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论