没有合适的资源?快使用搜索试试~ 我知道了~
计算机网络(Tanenbaum著第四版)6传输层.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 147 浏览量
2022-06-27
13:09:39
上传
评论
收藏 5.52MB DOC 举报
温馨提示
试读
21页
计算机网络(Tanenbaum著第四版)6传输层
资源推荐
资源详情
资源评论
第六章 传输层
传输层解决一个应用进程与另外一个应用进程之间的数据传输的问题。对网络进行分类,通常也是以传输层为界限来进行分
类的:
1、 把网络分为通讯子网和资源子网(传输层分在了上面)
通讯子网用于传递数据,它不关心数据的意思,通讯子网只有 7 层协议中的下面三层;资源子网(网上的所有主机)的设
备需要有所有的 7 层协议,这种划分是以传输层作为界限进行划分的,传输层以上是属于资源子网的,这些协议只有主机
上才有;传输层一下属于通讯子网,这些协议是在路由器上必须包含的
2、 传输服务的使用者和传输服务的提供者(传输层分在了下面)
传输层以上是应用进程自己要处理的东西,如:进程要发送什么消息,如何理解消息;传输层以下(包括传输层)为进程
之间的通讯提供传输服务。对于需要进行数据通讯的应用进程来讲,它不管数据传输是如何实现,它只是将要传输的数据
交给传输层就行了,因此传输层为高层的用户屏蔽了通讯的细节,同时也提供了一组通讯的接口。
传输层下面可以是各种各样的网络层,如:X.25、ATM,每一种网络的网络层所提供的功能都是不一样的,但传输层为高层
提供的是一样的端到端的可靠的传输服务,这样针对不同的网络层(通讯子网),传输层的实现就不一样了,如果通讯子网
提供的服务质量很好,则传输层的实现就比较简单,只需要提供通讯进程的标识就可以了;如果通讯子网提供的服务质量不
好,则所有的数据传输的可靠都必须由传输层自己来保证。
传输服务
一、 传输层的功能及在协议层中的作用
1、传输层在 OSI 模型中的位置
1)介于通讯子网和资源子网之间,对高层用户屏蔽了通讯的细节
2)弥补了通讯子网所提供服务的差异和不足,提供端到端之间的无差错保证
3)传输层工作的简繁取决于通讯子网提供服务的类型
2、传输层与上下层之间的关系
传输层使高层用户看到的好像就在两个传输层实体之间有一条端到端的、可靠的、全双工的通信通道(即:数字管道)
二、 传输层为上层提供的服务
1、 面向连接的服务(即:可靠的服务):通讯可靠,而且是按序传输的,对数据有效验和重发(针对数据包丢失,传输层采
用重传机制解决)针对按序传输(发送顺序和接受顺序是一样的),传输层采用缓冲区来解决:当一个数据到达后,在
1
传输层提供的可靠的数据传输服务包括两层意思:
传输层传输的数据是不会丢失的
数据的发送顺序和接受顺序是一样的
传输层的传输实体要为很多的应用进程服
务,所以对每一个应用进程在传输层都要有
一个标识,该标识就叫做传输层地址
交给应用进程处理前,传输层要看收到的数据的序号,若序号排在该数据前面的数据没有收到,则收到的数据会暂存在
缓冲区,等前面序号的数据到达后,再一起交给应用进程。如:TCP/IP 模型中应用层协议 FTP、Telnet 等
2、 面向非连接的服务(即:不可靠的服务):提供的是不可靠的传输,对数据无效验和重发,通讯速率高, 如:TCP/IP 模
型
中应用层协议 SNMP、DNS 等
三、 传输服务原语
传输层的上一层是应用层或应用进程,所以传输层的功能是由应用层或应用进程来调用的,所以传输层的调用接口就需
要被所有的用户知道。用户(应用进程)调用传输层功能的接口就是传输服务原语。
1、传输服务原语是应用程序和传输服务之间的接口
1)一个典型的面向连接的服务原语(采用 C/S 的工作方式提供服务)
2、TPDU 的发送过程
3、 伯克利套接字(Berkeley Sockets)
在 TCP/IP 协议当中,用得最多的传输层服务原语就是伯克利套接字。
4、典型的套接字应用过程
套接字的使用与文件的使用类似
2
SOCKET :用于创建一个传输层的通讯端点,该 Socket 标识
了某台主机的某个应用进程,把这两个信息捆绑在
一起就形成了一个套接字,应用进程间的通讯就是
套接字间的通讯
BIND :将套接字和某个 IP 地址(主机标识)绑定
LISTEN :侦听连接请求
ACCEPT :服务器端的动作,接受到达的连接
CONNECT :客户端发出的连接请求
传输协议的要素
一、传输层与数据链路层的比较
1、相同点
都提供可靠的数据传输
2、不同点
1)数据链路层的发送者和接受者是通过一条物理链路直接连接的,而在传输层的通讯双方面对的传输通道是一个网络,是
通过一个网络连接的。
2)数据链路层的链接建立很简单,而传输层要复杂得多
3)数据链路层的通信是点对点的(即:我发出去的数据肯定是它来接受),每条输出线对应了唯一的一个设备,而传输层
则需要给出目的端地址(即:指定接受数据的接受进程的端口号)
4)在数据链路层无中间存储环节,而在传输层,途经的每一路由器都必须存储、寻址、转发,而寻址到转发的时间随路由
器本身的性能和路由算法而定
5)数据链路层通常使用一对发送缓冲区(即:发送窗口)和接受缓冲区(即:接受窗口),而在传输层,对每个连接都必
须分配一定的缓冲区,其缓冲区的管理将复杂得多
二、传输层必须讨论
1、寻址
1)传输服务访问点 TSAP(Transport Service Access Point)
A. 2 个程序要建立连接时,必须指明对方是哪一个应用程序,这个标记称为传输层地址,也称为传输服务访问点
(TSAP)
在 TCP/IP 协议中传输层地址即 TCP 的端口号
网络层地址称为网络服务访问点 NSAP(Network Service Access Point), NSAP 在 IP 协议中即 IP 地址
2)连接方案举例
A. 访问一个时间服务器,该时间服务器提供标准的时间(服务器就是一个应用进程)
3
本地协议端口就是我这个服务
器提供的是哪一类服务。这一
阶段就是把本地协议端口和我
这台服务器的地址放到套接字
中。这一阶段就是执行BIND
原语。
以下阶段依次为执行
LISTEN 、ACCEPT 、SEND 、
CLOSE 原
语
执行
CONNECT
原语
B. 访问一个时间服务器的说明
主机 2 上的时间服务进程将自己连到 1522 号 TSAP 上,等待即将到来的请求,例如:可以用 LISTEN 调用
主机 1 上的一个应用进程想找出当天的时间,便发出一个 CONNECT 请求,将 1208 号 TSAP 设定为源地址,将
1522
号 TSAP 设定为目的地址
主机 1 上的应用进程发送一个时间请求
主机 2 上的服务器进程以当前的时间作为应答
传输连接释放
3)如何知道对方的 TSAP
A. well-know TSAP
对于网络上的一些常用的服务,为其固定一个传输层地址,所有网络用户都知道
B. 采用名字服务器(name server)或目录服务器(Directory Server)
用户与名字服务器建立连接,向服务器发送一个报文,指明服务的名称,服务器将该服务对应的 TSAP 返回给用户,
C. 类似与 114 查号,而名字服务器的传输层地址就是一个 well-know 的 TSAP
D. 服务器方将分配的 TSAP 通知主机
a) 初始连接协议
b) 初始连接协议说明
服务器(主机 2)上运行一个特殊的进程服务器,同时侦听一系列的端口,等待用户的 TCP 连接请求
用户(主机 1)设定所需服务的 TSAP 地址,发出一个 CONNECT 请求
主机 2 的进程服务器收到请求后,将请求装入被请求服务器,被请求服务器将继承已建立的连接并为用户提供服
务
4
在一个机器上(主机 2 )有很多种服务器,空
闲时这些服务器进程都关闭着,没有运行,此
时主机 2 上运行一个特殊的侦听进程,用于代
替主机 2 上各种服务进程侦听客户机提出的各
种服务请求,该侦听进程有一个 TSAP ,当有
一个客户请求到来时,它根据该客户的请求,
去启动相应的服务器进程,并为其分配一个
TSAP ,然后将该 TSAP 通知客户,接下来客
户就和这个刚被启动的服务器进程进行通讯,
而这个侦听进程则继续自己的侦听,等待下一
个客户请求
主机 2 的进程服务器又继续侦听新的请求
2、连接建立
1)概要
通讯子网不可靠性,会有丢包等情况,客户发出的连接建立请求以及服务器的应答等都有可能丢失
通讯子网中存在着延时和分组丢失,以及由于延时和丢失而带来的重复分组
由于通讯子网的尽力而为的传输原则,一个早已超时的分组最终还是到达了目的端,所以有必要将分组的生命周期
限
制在一个适当的范围内
连接建立时,如何处理过期分组,保证连接的唯一性是连接建立过程中首要考虑的问题
常用的方法是:三次握手法建立可靠的连接(通过三个信令/消息实现)
2)连接建立过程
A. 正常的三次握手过程
三次握手以后,主机 1 知道我的连接请求主机 2 同意了,主机 2 也知道我的连接请求主机 1 也同意义了,这样就可以
开始正常的通讯了。
B. 非正常的连接建立过程
a)由延迟而重复的 TPDU 的连接过程
因延时而重复的连接请求 TPDU(延时 CR)时三次握手的工作过程,此时在主机 1、2 之间不会建立第二条一样的连
接
5
CR :主机 1 发的连接请求
ACC :主机 2 接受主机 1 的连接请求,同时
主机 2 也向主机 1 发一个建立连接的请
求;主机 1 收到后得知我发给主机 2 的
连接请求主机 2 收到,并且同意建立连
接,而且主机 2 也请求和自己连接
DATA :是主机 1 对主机 2 的应答的应答,表
示主机 1 收到了主机 2 的应答,且确认
主机 2 的连接请求,这个数据包通常在
发往主机 2 时已经携带了要传输的数
据,主机 2 收到后知道我的应答 / 请求
主机 1 也收到了
注:情况是主机 1 第一次发送的连接
建立请求 CR 延时;超时后,再发第
二次 CR 并与主机 2 建立起连接,且
开始了数据传输。此时第一次的CR 到
达了 主机 2 。 主 机2 发 回 一个应 答
ACC 。
主机 1 收到后感到莫名其妙是因为主
机 2 对重复连接请求 TPDU 的确认号
ACK=X ,主机 1 觉得自己最近没有发
过序号为 X 的数据包,所以拒绝
剩余20页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 83
- 资源: 2万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功