会话层和表示层 第9章会话层和表示层 本章基本要求:了解会话层和表示层的功能和作用。 本章难点:会话连接和传输连接的区别 教学时数和实验建议:1学时,无实验。 9.1会话层的功能 会话层的主要功能是在两个节点间建立、维护和释放面向用户的连接,并对会话进行 管理和控制,保证会话数据可靠传送。 在会话层和传输层我们都提到了连接,那么会话连接和传输连接到底有什么区别呢? 我们以图9.1所示来说明。假设你对你的秘书说,给琼斯先生打个电话,这时你相当于会话 层,而秘书相当于传输层。图()中的请求就相当于请求一个会话。你提出建立连接的要求, 但不必自己动手查找电话号码、拨号等。在图(b)中,秘书着手打电话,开始建立传输连接。 当拨号成功,对方拎起话简,传输连接就建立起来了,如图(©)。然后,你接过电话,此时 会话层(连接建立成功,如图(d)。 养超秋生 OK 青温 电 (a)请求一次会话层连接 (⑥)请求一次传输层连接 家颜先生们珍线 好:验新发生 您是爆代: ◆- ·@少净 (©)传输层连接建立 (d)会话层连接建立 图9.1会话连接和传输连接 会话连接和传输连接之间有三种关系:一对一关系,即一个会话连接对应一个传输连 接:一对多关系,一个会话连接对应多个传输连接:多对一关系,多个会话连接对应一个 传输关系,好比打电话,一个人讲完后可以换另一个人讲话,而不必让电信局知道换了人 讲话。 会话过程中,会话层需要决定到底使用全双工通信还是半双工通信。如果采用全双工 通信,则会话层在对话管理中要做的工作就很少:如果采用半双工通信,会话层则通过一
会话层和表示层 1 第 9 章 会话层和表示层 本章基本要求:了解会话层和表示层的功能和作用。 本章难点:会话连接和传输连接的区别 教学时数和实验建议:1 学时,无实验。 9.1 会话层的功能 会话层的主要功能是在两个节点间建立、维护和释放面向用户的连接,并对会话进行 管理和控制,保证会话数据可靠传送。 在会话层和传输层我们都提到了连接,那么会话连接和传输连接到底有什么区别呢? 我们以图 9.1 所示来说明。假设你对你的秘书说,给琼斯先生打个电话,这时你相当于会话 层,而秘书相当于传输层。 图(a)中的请求就相当于请求一个会话。你提出建立连接的要求, 但不必自己动手查找电话号码、拨号等。在图(b)中,秘书着手打电话,开始建立传输连接。 当拨号成功,对方拎起话筒,传输连接就建立起来了,如图(c)。然后,你接过电话,此时 会话层(连接)建立成功,如图(d)。 (a) 请求一次会话层连接 (b) 请求一次传输层连接 (c) 传输层连接建立 (d)会话层连接建立 图 9.1 会话连接和传输连接 会话连接和传输连接之间有三种关系:一对一关系,即一个会话连接对应一个传输连 接;一对多关系,一个会话连接对应多个传输连接;多对一关系,多个会话连接对应一个 传输关系,好比打电话,一个人讲完后可以换另一个人讲话,而不必让电信局知道换了人 讲话。 会话过程中,会话层需要决定到底使用全双工通信还是半双工通信。如果采用全双工 通信,则会话层在对话管理中要做的工作就很少;如果采用半双工通信,会话层则通过一
2 计算机网络技术 个数据令牌来协调会话,保证每次只有一个用户能够传输数据。当会话层建立一个会话时, 先让一个用户得到令牌。只有获得令牌的用户才有权进行发送。如果接收方想要发送数据 可以请求获得令牌。由发送方决定何时放弃。一旦得到令牌,接收方就转变为发送方。 当我们进行大量的数据传输时,例如你正在下载一个100M的文件,当下载到95M时 网络断线了,这时怎么办?是否需要重头再传?为了解决这个问题,会话层提供了同步服 务,通过在数据流中定义检查点(Checkpoint来把会话分割成明显的会话单元。当网络故障 出现时,从最后一个检查点开始重传数据。 常见的会话层协议有:结构化查询语言(SQL):远程进程呼叫(RPC):X-windows系 统:AppleTalk会话协议:数字网络结构会话控制协议(DNA SCP)等。 9.2表示层的功能 OS1模型中,表示层以下的各层主要负责数据在网络中传输时不要出错。但数据的传输 没有出错,并不代表数据所表示的信息不会出错。例如你想下午两点从杭州出发去上海, 于是你对上每的朋友说,“我下午两点来”,可是你的朋友却理解为两点钟到达上海。所以 这句话虽然没有听错,却因为不同的理解,产生了完成不同的结果。表示层就专门负责这 些有关网络中计算机信息表示方式的问题。表示层负责在不同的数据格式之间进行转换操 作,以实现不同计算机系统间的信息交换。 如图92所示,基于ASCⅡ码的计算机将信息“HELLO”的ASCⅡ编码发关出去。但 因为接收方使用EBCDIC编码,所以数据必须加以转换。因此,传送的是十六进制字符 48454C4C4F,接收到的却是C8C5D3D3D6。两台计算机交换的不是数据:相反的,同时也 是更重要的,它们以单词“HELL0”的方式交换了信息。 AS用明“EL0 EDC码=HEL0 图92两台计算机之问的信息交换 除了编码外,还包括数组、浮点数、记录、图像、声音等多种数据结构,表示层用抽 象的方式来定义交换中使用的数据结构,并且在计算机内部表示法和网络的标准表示法之 间进行转换。 表示层还负责数据的加密,以在数据的传输过程对其进行保护。数据在发送端被加密, 在接收端解密。使用加密密钥来对数据进行加密和解密。 表示层还负责文件的压缩,通过算法米压缩文件的大小,降低传输费用。例如,假设 要传输一个包含n个字符的文件,采用EBCDIC编码,那就有8n个比特位。如果会话层重 新定义代码,用0代表A,1代表B,以此类推,一直到25代表Z,那么用5位(存储0~ 25所需要的最少位数)就可以表示一个大写字母。这样一来,实际上可以少传送38%的
2 计算机网络技术 个数据令牌来协调会话,保证每次只有一个用户能够传输数据。当会话层建立一个会话时, 先让一个用户得到令牌。只有获得令牌的用户才有权进行发送。如果接收方想要发送数据, 可以请求获得令牌。由发送方决定何时放弃。一旦得到令牌,接收方就转变为发送方。 当我们进行大量的数据传输时,例如你正在下载一个 100M 的文件,当下载到 95M 时, 网络断线了,这时怎么办?是否需要重头再传?为了解决这个问题,会话层提供了同步服 务,通过在数据流中定义检查点(Checkpoint)来把会话分割成明显的会话单元。当网络故障 出现时,从最后一个检查点开始重传数据。 常见的会话层协议有:结构化查询语言(SQL);远程进程呼叫(RPC);X-windows 系 统;AppleTalk 会话协议;数字网络结构会话控制协议(DNA SCP)等。 9.2 表示层的功能 OSI 模型中,表示层以下的各层主要负责数据在网络中传输时不要出错。但数据的传输 没有出错,并不代表数据所表示的信息不会出错。例如你想下午两点从杭州出发去上海, 于是你对上海的朋友说,“我下午两点来”,可是你的朋友却理解为两点钟到达上海。所以 这句话虽然没有听错,却因为不同的理解,产生了完成不同的结果。表示层就专门负责这 些有关网络中计算机信息表示方式的问题。表示层负责在不同的数据格式之间进行转换操 作,以实现不同计算机系统间的信息交换。 如图 9.2 所示,基于 ASCII 码的计算机将信息“HELLO”的 ASCII 编码发送出去。但 因为接收方使用 E B C D I C 编码,所以数据必须加以转换。因此,传送的是十六进制字符 48454C4C4 F,接收到的却是 C8C5D3D3D6。两台计算机交换的不是数据;相反的,同时也 是更重要的,它们以单词“HELLO”的方式交换了信息。 图 9.2 两台计算机之间的信息交换 除了编码外,还包括数组、浮点数、记录、图像、声音等多种数据结构,表示层用抽 象的方式来定义交换中使用的数据结构,并且在计算机内部表示法和网络的标准表示法之 间进行转换。 表示层还负责数据的加密,以在数据的传输过程对其进行保护。数据在发送端被加密, 在接收端解密。使用加密密钥来对数据进行加密和解密。 表示层还负责文件的压缩,通过算法来压缩文件的大小,降低传输费用。例如,假设 要传输一个包含 n 个字符的文件,采用 EBCDIC 编码,那就有 8n 个比特位。如果会话层重 新定义代码,用 0 代表 A,1 代表 B,以此类推,一直到 25 代表 Z,那么用 5 位(存储 0~ 2 5 所需要的最少位数)就可以表示一个大写字母。这样一来,实际上可以少传送 3 8%的
会话层和表示层 3 比特位。 习题与思考题 9.1简述会话层的作用与功能,并列举一些具有会话层功能的协议。 9.2表示层的三大基本功能是什么? 9.3有在网上用FTP工具如“NetAnts”或“CuteFTP”进行过资料下载的同学一定会有 这样的经验,即在资料下载过程中由于某种原因引起数据传输中断后,恢复后的数 据传输还会继续从中断的地方重新开始,请分析这个现象是属于哪一层的功能?是 以什么机制实现的?
会话层和表示层 3 比特位。 习题与思考题 9.1 简述会话层的作用与功能,并列举一些具有会话层功能的协议。 9.2 表示层的三大基本功能是什么? 9.3 有在网上用 FTP 工具如“NetAnts”或“CuteFTP”进行过资料下载的同学一定会有 这样的经验,即在资料下载过程中由于某种原因引起数据传输中断后,恢复后的数 据传输还会继续从中断的地方重新开始,请分析这个现象是属于哪一层的功能?是 以什么机制实现的?