chapt7-1 传输层.ppt_第1页
chapt7-1 传输层.ppt_第2页
chapt7-1 传输层.ppt_第3页
chapt7-1 传输层.ppt_第4页
chapt7-1 传输层.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机网络原理传输层,赵颖 中南大学,目录,传输层介绍 传输层服务 传输实体 传输服务分类 服务质量 传输层服务原语 传输层协议要素 寻址 建立连接 释放连接 流量控制和缓冲策略 多路复用 崩溃恢复,传输层介绍,传输层介绍 网络层是OSI参考模型中的第四层 介于网络层和会话层之间 它在网络层提供的服务的基础上为会话层提供服务。 服务:为两个主机上的用户进程提供端到端的传输服务 传输层是资源子网的第一层,它服务的对象直接是主机的应用程序进程。 应用程序进程关心的是接收方和发送方进程的通信,而传输层需要为应用程序提供一种通用的传输接口,让应用程序不用关心通信子网的运行。,传输层介绍,传输层介绍 功

2、能:承上启下,统一应用程序网络编程接口,提供更可靠的网络传输 传输层起着承上启下的作用。把04层看作是传输服务提供者;把57层看作是传输服务用户,通过传输层,传输服务提供者可以为传输服务用户提供更加可靠的数据传输服务。 屏蔽各种通信子网接口细节和差异,为应用程序提供一种统一的和可靠的编程接口,网络应用程序可采用标准的应用编程接口(API)来编写,如套接字(Socket)接口等。 进行端到端可靠的数据传输,提高通信子网的传输服务的质量,包括:控制连接、顺序控制、差错检测及恢复、分段处理等。 常见网络层协议 TCP (Transmission Control Protocol) UDP (User

3、 Datagram Protocol)等。,链路层 协议,物理层 协议,网络层 协议,分组流,比特流,帧流,报文流,报文流,报文流,报文流,子 网 内 部 协 议,通信子网,点 到 点,端 到 端,目录,传输层介绍 传输层服务 传输实体 传输服务分类 服务质量 传输层服务原语 传输层协议要素 寻址 建立连接 释放连接 流量控制和缓冲策略 多路复用 崩溃恢复,传输层服务,传输服务 1 4层传输服务提供者 4层以上传输服务用户 传输层利用网络层提供的服务向高层(用户进程)提供有效、可靠和价格合理的端到端的传输服务。 传输实体(transport entity) 完成传输层功能的对等通信实体的硬软件

4、是传输实体,对等实体之间通过传输层协议来通信。 传输实体可能在操作系统的内核中,提供给操作系统的网络功能 传输实体可能在应用程序库中,比如我们编写网络应用程序就需要调用一些网络功能函数库、网络连接控件等等。 传输实体可能存在与网卡接口上,应用程序可以调用它 传输层实际上是用户(用户程序)接触网络的第一层,我们的应用程序将会接触到传输实体和传输协议。,传输层服务,传输服务的分类 可靠的面向连接的端到端传输层协议 比如:TCP协议 包括三个阶段:连接建立,数据传输,释放连接。 它将某结点的数据以字节流形式无差错投递到其它机器上。 其中释放连接的方式有两种: 不对称方式:任何一方都可以关闭双向连接。

5、 对称方式:每个方向的连接单独关闭,双方都执行Disconnect才能关闭连接。 不可靠的无连接的端到端传输层协议 不处理流量控制. 将可靠性问题交给应用程序解决。 传送之前不需先建连接。接收到数据后,不需要接收方给出任何确认。 比如:UDP协议,既然传输层服务与网络层服务如此类似,那为什么还要将它区分为不同的两层呢?一层难道不够吗?答案很微妙但是很关键。,传输层服务,传输层服务与网络层服务区分的必要性: (1)通信子网是不受用户控制的,如果用户不满意通信子网的服务,那么他们可以在传输层上自己来做一些事情,以弥补网络服务的不足; 传输层的存在使传输服务会远比其低层的网络服务更可靠 分组丢失、

6、数据残缺均会被传输层检测到并采取相应的补救措施。 (2)不同的网络向上提供的服务接口是不同的,为使应用程序的设计不依赖于具体的网络,在传输层上提供一个统一的编程接口是非常必要的。,如果所有实际的网络都是完美无缺的并且有完全相同的服务原语(子网类型相同)、传输层的存在就显得多余了,但在现实世界中,传输层起着将子网的技术、设计和各种缺限与上层相隔的关键作用。,传输层服务,举例(典型的经理秘书通信方式的结构) 经理需要通信者,高层用户 某公司的经理要和许多公司的经理联系事务,真正需要通信的是经理 秘书通信代理者,传输层 但是经理事务繁忙,一般由秘书来处理具体的联系事宜。 通信方式通信实现者,通信子网

7、 秘书把各种事务(比如:开会通知、传递文件),通过不同的通信手段来完成(比如:电话、邮局、快递公司),这些通信手段就是通信子网。 秘书和通信子网一起为经理提供服务,二个都不能少 秘书把不同的事务选择不同的通信子网来完成,比如紧急的事务用电话,传递文件用邮局。但是通信子网是秘书不能控制的(电话是电话局,邮件是邮局),总可能出错。 于是秘书打电话找不到人就多打几次,电话中途信号不好就重播,邮件中途丢失就重发,等等,为了让这次通信完成,秘书必须作一些事情。 而经理无需了解拨打电话,无需去邮局,它只要告诉统一的接口秘书,就一定能完成通信。,传输层服务,服务质量QoS (Quality of Servi

8、ce) 传输层的一个主要功能是增强网络层提供的服务质量。服务质量参数在建立连接时,由传输服务用户描述,双方通过协商确定最后双方都能接收的参数。 典型QoS参数包括:,传输层服务,服务质量QoS参数 连接建立延迟 传输服务用户要求建立连接到收到连接确认之间所经历的时间。 连接建立失败概率 在最大连接建立延迟时间内连接未能建立的可能性。 吞吐量 每秒钟所传输的用户数据字节数。 传输延迟 从源主机的传输服务用户发送数据开始到目的主机的传输用户接收到报文为止所经历的时间。 残余误码率 测量丢失或者错乱报文占发送报文总数的百分比。 安全保护 防止未经授权的第三方读取和修改数据。 优先级 恢复能力 给出了

9、当出现内部问题或拥塞情况下,传输层本身自发终止连接的可能性。,传输层服务,传输层协议数据单元TPDU(transport protocol data unit) 还记得在体系结构中讲的:协议数据单元,接口数据单元,服务数据单元吗? TPDU来代表从传输层实体发往另一传愉层实体的报文 因而TPDU(由传输层交换)是包含在分组(由网络层交换)中的 分组包含在数据帧(由数据短路层交换)中。 当一帧数据到达后,数据链路层对帧头进行处理并将数据帧中有效载荷域中的内容向上送给网络实体。同样,网络实体对分组进行处理并将其中的有效载荷的内容上送至传输实体。嵌套关系。,传输层服务,传输层服务原语 为允许用户访问

10、传输服务,传输层必须向应用程序提供一组操作,也就是传输服务接口传输服务原语。 由于作为程序员需要接触到的就是传输层的服务原语,所以传输层的服务业原语设计得比较简单,我们需要学习一下便于程序设计。 传输服务非常方便易用。比如,在面向连接的传输服务中,为提供可靠性,传输实体需要对数据包进行确认、超时处理、排序、流量控制等一系列复杂的操作,但用户完全不需要知道这些,用户只知道他使用的是一个可靠的比特管道,数据从一方进入管道,就会从另一方正确地出现。 因此,用于数据传输的原语只有接收和发送,象确认、超时重传、流量控制等操作均被隐藏起来了。一组最简单的面向连接的传输原语只需要包括监听、建立连接、拆除连接

11、、接收数据和发送数据,我们以面向连接的传输原语为例子来学习简单的传输原语,传输层服务,简单传输服务原语 监听、连接、发送、接收、断连。,传输层服务,简单传输原语工作过程 侦听(LESTEN)原语 首先,服务器执行一条侦听(LESTEN)原语,一般地是通过调用一个库例程,从而引发一个系统调用以阻塞服务器直至一个客户服务请求出现。 连接(CONNECT)原语 当一个客户试图与服务器对话时,执行连接(CONNECT)原语。 传输实体在执行这条原语时要阻塞该客户并向服务器发送一个数据分组,请求连接。 客户的连接请求TPDU被传送到服务器。当该TPDU到达后,传输实体检查服务器在侦听状态(即有意处理请求

12、),若是,则唤醒服务器并向发出连接请求的客户问送一个接受连接TPDU;当该TPDU到达后,客户被唤醒,连接即告建立。 SEND(发送)和RECEIVE(接收)原语 现在可以使用SEND(发送)和RECEIVE(接收)原语交换数据了。只要双方能够保持收发的协调,该模式使能很好地运行。中间具体的确认机制、差错控制和流量控制都由传输层协议完成,用户无需处理。 DISCONNECT原语 当一个连接不再需要时,必须将其断开以释放两个传输实体内的表空间。 释放连接有两种方式: 非对称的和对称的。 在非对称中,任何一方均能执行DISCONNECT原语,一旦该TPDU到达,连接即被释放。 在对称方式中,连接的

13、每一方单独关闭,相互独立。当一方执行了DISCONNECT后,意味着它不再发送数据,但仍然能够从对方接收数据。在这种模式中,只有当连接的双方均执行了DISCONNECT原语时,才能释放连接。,传输层服务,多进程的通信 在多用户多进程的操作系统的时代,传输层与网络层在功能上的最大一点区别是传输层要提供进程间的通信能力 网络通信的最终地址就不仅仅是主机地址了,还需要包括可以描述进程的某种标识符,也就是说通信的是A主机的某进程和B主机的某进程。 同一主机上,不同进程可用进程号(process ID)唯一标识。但在网络环境下,各主机独立分配的进程号不能唯一标识该进程。例如,主机A某进程号5,在B机中也

14、可以存在5号进程,并且5号进程内容并不一样。 因此前面所讲简单传输服务原语并不实用,不能解决多用户多进程的网络通信,怎么才能实现多进程通信呢? 我们现在都是采用Sockets(套接字)的服务原语方式。,传输层服务,套接字Sockets 三个关键参数组成套接字(有时也称为二个:ip与Port) IP地址、传输层协议(TCP或UDP等)和端口号 用这三个参数区分不同应用程序进程间的网络通信 Socket原意是 “插座”。通过将这3个参数结合起来,与一个“插座”Socket绑定,上层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。,解决多用户访问主机的

15、问题。 服务器网页访问套接口(,TCP,80)服务器IP地址为,80号TCP端口,提供网页访问服务。二个客户机(6, TCP,1069)和(,TCP,25)可以向服务器建立网页访问连接,服务器开辟二个相似进程或线程来服务这二个连接。 解决多应用程序传输的问题 服务器网页访问套接口(, TCP,80),服务器FTP访问套接口(, TCP,21),服务器QQ访问套接口(, UDP,50),每个服务器可以开辟多个端口给不同应用程序使用,每个端口可以开辟多个进程或线

16、程来建立多个连接,传输层服务,服务器可以同时为多个客户服务,虽然同时存在多个连接,但它也仅仅需要使用一个本地的端口。,传输层服务,端口(Port) 主机通信端口是主机在网络中可以被命名和寻址的操作系统可分配的一种资源。 类似于文件描述符,每个端口都拥有一个叫端口号(port number)的整数型标识符,用于区别不同端口。端口实际上是一个16Bit长的地址,范围可以从0至65535。 由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,如TCP有一个255号端口,UDP也可以有一个255号端口,二者并不冲突。 通常将0至1023端口号称为熟知端口

17、,为标准服务预留,其余1024至65535端口号称为一般端口或动态连接端口,参考后页表格中常见的端口列表,传输层服务,传输层服务,使用dos行命令,或者网络监视工具,查看当前使用的端口列表 Netstat a n,传输层服务,套接字原语Berkeley Sockets,传输层服务,一个本地的应用程序和几个远程应用程序利用面向连接的传输层服务完成通信的操作过程如下。 建立连接 本地应用程序A(提供服务方) 调用socket创建一个套接字S1,返回一个文件描述符,用于以后调用中使用S1。 调用bind将某地址绑定到S1。 调用listen分配数据空间,以便存储多个用户的连接建立请求。 调用acce

18、pt将本地应用程序A阻塞起来,等待接收客户程序发来的连接请求。 当传输层实体接收到建立连接的TPDU时,本地程序A创建一个子进程A-1处理此次连接,然后继续等待发往S1的连接请求。 远程应用程序(主动建立连接方) 调用socket创建一个套接字s,返回一个文件描述符用于在以后的调用 调用connect阻塞应用程序,开始建立连接,当连接建立完成时,取消阻塞。 数据传输:双方使用send和receive完成数据的全双工发送。 释放连接:每一方使用close原语单独释放连接,对称方式。,目录,传输层介绍 传输层服务 传输实体 传输服务分类 服务质量 传输层服务原语 传输层协议要素 寻址 建立连接 释放连接 流量控制和缓冲策略 多路复用 崩溃恢复,传输协议要素,传输层协议为了实现主机的应用程序相互传输信息需要实现哪些具体的功能(传输协议要素)呢? 寻址 建立连接 释放连接 流量控制和缓冲策略 多路复用 崩溃恢复,传输协议的要点中:建立连接,释放连接,流量控制等等,听起来与数据链路层非常类似 那么数据链路层和传输层又有什么区别呢?,传输协议要素,传输层和数据链路层的共同点 一切都是为了更可靠的数据传输 传输层和数据链路层的不同点 链路层处理的是点到点的物理信道的数据传输,传输层处理的是端到端的通信子网的数据传输。 链路层建立连接过程很简单,因为另一端总是存在的(只有在崩溃的情况下才不

温馨提示

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

评论

0/150

提交评论