运输层:有限状态机(finite state machine FSM)

有限状态机(finite state machine  FSM)


无论是提供无连接的服务还是面向连接的服务,,一个运输层协议的行为都可以很好地用一个有限状态机来表示.运输层的发送方和接收方都可以被看做是一个具有有限状态的机器.有限状态机总是处于某一种状态中,直到有一件事情发生.对每个时间的响应有两种 : 

(1)定义要执行的动作列表(可能为空),并决定下一个状态(可能与当前状态相同).在这些状态中必须有一个是开始状态,也就是这个有限状态机一开机就进入的状态.

运输层:有限状态机(finite state machine FSM)_第1张图片

我们为你可以把无连接的运输层视为一个只有一个状态的FSM ,这个有限状态机的两端(客户和服务器)永远处于建立的状态,松狮准备好发送和接收运输层的分组.

在面向连接的运输层FSM中,到达建立状态之前需要经过三个状态.而在关闭连接之前也需要经过三个状态.在没有连接时,有限状态机一直处于Closed状态.状态机保持此状态直至本地进程的打开连接请求到达,于是状态机就向远程运输层发送一个打开请求分组,并且进入Open-wait-I 状态中.当收到来自另一端的确认时,本地FSM就进入open-wait-II 状态,一条单向连接就已经建立好了.但是如果要建立双向连接,那么状态机还要在这个状态继续等待,直至另一端也请求了连接.当收到了这个请求后,状态机发送确认并进入Established状态.

当双方后处在建立连接的状态是就可以互相交换数据以及及时对数据进行确认了.但是,不管是在无连接的服务还是面向连接的服务的运输层协议中,建立连接的状态本身就代表了一组数据的传递状态 .


要拆除一个连接,应用层向本地运输层发送关闭请求报文.运输层就向另一端发送关闭请求分组,并进入close-wait-I 状态.接收到来自另一端的确认后,机器就进入close-wait-II 状态,并等待对方发送来的关闭请求分组.当这个分组到达后,状态机就发送一个确认分组并进入closed状态.





你可能感兴趣的:(TCP/IP协议族_系列笔记)