会话层数据交换过程示例

简介:
以下内容摘自笔者的《网络工程师必读——网络工程基础》一书(如感兴趣,可加入我的圈子:[url]http://group.51cto.com/lycb[/url]):
    以下是一个典型会话连接流程,其中用到了绝大多数典型会话层服务原语。这个示例是首先由用户1向用户2发送一个个的数据块,因故障在中途出现了故障。然后用户2向用户1请求令牌以向用户1发送数据。
     用户端 1     方向    用户端2             说  明 
    (1)S-CON.req   →     S-CON.ind  # 用户1向用户2发送会话连接请求(包括选择功能单元和分配令牌),在用户2上会收到一个相应会话连接指示。
    (2)S-CON.cnf   ←     S-CON.rsp  # 用户2响应用户1的连接请求,用户1会立即进行确认。      
    (3)S-ACT_START.req   →    S-ACT_START.ind  # 用户1向用户2发送开始一个会话活动请求,同时在用户2上得到相应活动开始指示。 
    (4)S-DATA.req        →    S-DATA.ind     # 用户1向用户2发送数据传送请求,同时在用户2上得到相应数据传送指示。 
    (4)S-SYNC-MINOR.req  →    S-SYNC-MINOR.ind  # 用户1向用户2发送在传送的数据块中插入一个次同步点请求,同时在用户2上得到相应指示。
    (5)S-SYNC-MINOR.cnf  ←    S-SYNC-MINOR.rsp # 用户2向源用户1发送在传送的数据块中插入一个次同步点响应,同时在源用户1上得到相应确认。
    (6)S-SYNC-MINOR.req  →    S-SYNC-MINOR.ind  #  用户1向用户2发送在第二块传送的数据块中插入一个次同步点请求,同时在用户2上得到相应指示。
    (7)S-SYNC-MINOR.cnf  ←   S-SYNC-MINOR.rsp  # 用户2向用户1发送在传送的第二块数据块中插入一个次同步点响应,同时在用户1上得到相应确认。
    (8)S-DATA.req       →    S-DATA.ind   #  用户1向用户2发送数据传送请示,同时在用户2上得到相应的指示。 
    (9)S-TOKEN-PLEASE.ind  ←    S-TOKEN-PLEASE.req  # 用户2向用户1发送一个请求数据令牌的请求,以验证用户1是否有资格发送数据,该请求在用户1上得到相应指示。
    验证通过后,用户1开始发送数据。当用户1数据发送完毕,要把数据发送权限交给用户2时进行以下步骤:
   (10)S-ACT-END.req     →    S-ACT-END.ind   #  用户1向用户2发送活动结束请求,在用户2上得到相应指示。 
   (11)S-ACT-END.cnf     ←     S-ACT-END.rsp     # 用户2向用户1发送活动结束响应,然后用户1进行会话结束确认。 
   (12)S-TOKEN-GIVE.req  →   S-TOKEN-GIVE.ind  # 用户1向用户2发送给予数据令牌的请求,在用户2上得到相应指示。
   (13)S-ACT_START.ind   ←   S-ACT_START.req; # 用户2获得令牌后向用户1发送活动开始请求,在用户1上得到相应指示。 
   (14)S-DATA.ind        ←   S-DATA.req        # 用户2向用户1发送数据发送请求,在用户1上得到相应指示。
   (15)S-SYNC-MINOR.ind  ←   S-SYNC-MINOR.req  # 用户2向用户1发送在传送的数据块中插入一个次同步点请求,同时在用户1上得到相应指示。 
   (16)S-SYNC-MINOR.rsp  →    S-SYNC-MINOR.cnf  # 用户1向用户2发送在传送的数据块中插入一个次同步点响应,同时在用户2上得到相应确认。
   (17)      ←     S-DATA.req ;   # 用户2向用户1发送数据传送请求,但假设由于某故障原因,用户1未能收到请求。 
   (18)S-P-EXECP.ind    ← → S-P-EXECP.ind  # 用户2和用户1相互发送提供者故障报告指示。
   (19)S-CON.ind        ←    S-CON.req      # 用户2向用户1发送重新连接请求,用户1收到后得到相应指示,重新进行会话连接。  
   (20)S-CON.rsp        →    S-CON.cnf  #  用户1向用户2发送连接响应,在用户2上得到确认。
   (21)S-ACT-RESUME.ind   ←    S-ACT-RESUME.req   # 用户2向用户1发送恢复活动的请求,在用户1上得到相应指示。 
   (22)S-DATA.ind       ←    S-DATA.req  # 用户2继续向用户1发送数据传送请求,在用户1上得到相应指示,重新恢复数据传送。
本文转自王达博客51CTO博客,原文链接http://blog.51cto.com/winda/6264如需转载请自行联系原作者

茶乡浪子
相关文章
|
29天前
|
存储 安全 Linux
C++文件格式深度解析:从底层结构到关键特性
C++文件格式深度解析:从底层结构到关键特性
244 3
C++文件格式深度解析:从底层结构到关键特性
|
3月前
|
JSON 机器人 数据格式
阿里云RPA支持将序列化的JSON数据作为输入参数传递给机器人应用程序
【1月更文挑战第7天】【1月更文挑战第33篇】阿里云RPA支持将序列化的JSON数据作为输入参数传递给机器人应用程序
206 1
|
8月前
|
自然语言处理 数据管理
数据标准和数据规范到底有什么区别???
数据标准和数据规范到底有什么区别???
|
存储 机器学习/深度学习 缓存
二十七、网络层概述和数据交换方式
二十七、网络层概述和数据交换方式
二十七、网络层概述和数据交换方式
通信示例
通信示例
69 0
|
存储 XML 设计模式
一个简单的Android网络访问全局码判断及通用数据解析方案
我们在开发中,网络请求经常会遇到各种错误码的判断。比如下面这样:
119 0
|
移动开发 小程序 iOS开发
小程序和h5之间的通讯及注意事项
起因:在小程序中嵌入已有的h5页面,用于快速开发。但是h5和小程序中的事件通讯是需要解决的问题。参照官网后实践之后得出结论。
797 0