图9-6 UCMM报文流图支持UCMM的设备同样必须筛选重名的MAC ID检查报文和任何其他建立连接相关的连接ID,这些筛选要求通过使用具有掩码/匹配功能的CAN芯片筛选器来实现,该筛选器能够接收所有组3报文。2)通过向DeviceNet连接分类发送一个创建请求来创建一个I/O连接对象。......
2023-11-22
TCP是一个面向连接的协议,TCP协议的高可靠性是通过发送数据前先建立连接,结束数据传输时关闭连接,在数据传输过程中进行超时重发、流量控制和数据确认,对乱序数据进行重排以及前面讲过的校验和等机制来实现的。下面我们讨论连接建立和关闭的问题。
TCP在IP之上工作,IP本身是一个无连接的协议,在无连接的协议之上要建立连接,对初学者来说,这是一个较难理解的问题。但读者一定要清楚,这里的连接是指在源端和目的端之间建立的一种逻辑连接,使源端和目的端在进行数据传输时彼此达成某种共识,相互可以识别对方及其传输的数据。连接的TCP协议层的内部表现为一些缓冲区和一组协议控制机制,外部表现为比无连接的数据传输具有更高的可靠性。
1.建立连接
在互联网中两台要进行通信的主机,在一般情况下,总是其中的一台主动提出通信的请求(客户机),另一台被动地响应(服务器)。如果传输层使用TCP协议,则在通信之前要求通信的双方首先要建立一条连接。TCP使用“3次握手”(3-way Handshake)法来建立一条连接。所谓3次握手,就是指在建立一条连接时通信双方要交换3次报文。具体过程如下:
1)第1次握手。由客户机的应用层进程向其传输层TCP协议发出建立连接的命令,则客户机TCP向服务器上提供某特定服务的端口发送一个请求建立连接的报文段,该报文段中SYN被置1,同时包含一个初始序列号x(系统保持着一个随时间变化的计数器,建立连接时该计数器的值即为初始序列号,因此不同的连接初始序列号不同)。
2)第2次握手。服务器收到建立连接的请求报文段后,发送一个包含服务器初始序号y,SYN被置1,确认号置为x+1的报文段作为应答。确认号加1是为了说明服务器已正确收到一个客户连接请求报文段,因此从逻辑上来说,一个连接请求占用了一个序号。
3)第3次握手。客户机收到服务器的应答报文段后,也必须向服务器发送确认号为y+1的报文段进行确认。同时客户机的TCP协议层通知应用层进程,连接已建立,可以进行数据传输了。
通过以上3次握手,两台要通信的主机之间就建立了一条连接,相互知道对方的哪个进程在与自己进行通信,通信时对方传输数据的顺序号应该是多少。连接建立后,通信的双方可以相互传输数据,并且双方的地位是平等的。如果在建立连接的过程中握手报文段丢失,则可以通过重发机制进行解决。如果服务器端关机,客户端收不到服务器端的确认,客户端按某种机制重发建立连接的请求报文段若干次后,就通知应用进程,连接不能建立(超时)。还有一种情况是当客户请求的服务在服务器端没有对应的端口提供时,服务器端以一个复位报文应答(RST=1),该连接也不能建立。最后要说明一点,建立连接的TCP报文段中只有报文头(无选项时长度为20个字节),没有数据区。(www.chuimin.cn)
2.关闭连接
由于TCP是一个全双工协议,因此,在通信过程中两台主机都可以独立地发送数据,完成数据发送的任何一方都可以提出关闭连接的请求。关闭连接时,由于在每个传输方向既要发送一个关闭连接的报文段,又要接收对方的确认报文段,因此关闭一个连接要经过4次握手。具体过程如下(下面设客户机首先提出关闭连接的请求):
1)第1次握手。由客户机的应用进程向其TCP协议层发出终止连接的命令,则客户TCP协议层向服务器TCP协议层发送一个FIN被置1的关闭连接的TCP报文段。
2)第2次握手。服务器的TCP协议层收到关闭连接的报文段后就发出确认,确认号为已收到的最后一个字节的序列号加1,同时把关闭的连接通知其应用进程,告诉它客户机已经终止了数据传送。在发送完确认后,服务器如果有数据要发送,则客户机仍然可以继续接收数据,因此把这种状态称为半关闭(Half-close)状态。因为服务器仍然可以发送数据,并且可以收到客户机的确认,只是客户方已无数据发向服务器了。
3)第3次握手。如果服务器应用进程也没有要发送给客户方的数据了,就通告其TCP协议层关闭连接。这时服务器的TCP协议层向客户机的TCP协议层发送一个FIN置1的报文段,要求关闭连接。
4)第4次握手。同样,客户机收到关闭连接的报文段后,向服务器发送一个确认,确认号为已收到数据的序列号加1。当服务器收到确认后,整个连接被完全关闭。
连接建立和关闭的过程如图8-19所示,该图是通信双方正常工作时的情况。关闭连接时,图中的u表示服务器已收到的数据的序列号,v表示客户机已收到的数据的序列号。
有关现场总线与工业以太网及其应用技术的文章
图9-6 UCMM报文流图支持UCMM的设备同样必须筛选重名的MAC ID检查报文和任何其他建立连接相关的连接ID,这些筛选要求通过使用具有掩码/匹配功能的CAN芯片筛选器来实现,该筛选器能够接收所有组3报文。2)通过向DeviceNet连接分类发送一个创建请求来创建一个I/O连接对象。......
2023-11-22
UCMM负责处理非连接显式请求和响应。图7-16 UCMM报文流图支持UCMM的设备同样必须筛选重名的MAC ID,检查报文和任何其他建立连接相关的连接ID。以下为动态建立I/O连接所必须完成的任务。·通过向DeviceNet连接分类发送一个创建请求来创建一个I/O连接对象。......
2023-11-20
微笑是人际交往的第一份见面礼。这使得主人感到非常的尴尬,他更怕卡内基会忍耐不住,当面反驳并指责对方,使这个欢乐的场面变成舌战的阵地!但卡内基却一直很安静地站在那里,脸上挂着微笑。第二天,那个枰击卡内基的人亲自到卡内基的家里,再三向他致歉。从此他变成卡内基的好朋友,常常称赞卡内基,认为他是个了不起的大人物。使得卡内基的朋友都知道卡内基的笑容永远是那么和蔼,那么安详。......
2023-08-17
TCP 连接的建立是从客户向服务器发送一个主动打开请求而启动的。当其中一方发送完数据后,就会关闭它这一方的连接,同时向对方发送撤销TCP 连接的报文。TCP 连接的建立使用了三次握手机制。实际上,TCP 要求建立连接的每一方随机地选择一个初始序号,这样可防止黑客容易猜测到初始序号而进行TCP 连接劫持攻击。收到一个FIN 只意味着这一方向上没有数据流动,一个TCP 连接在收到一个FIN 后仍然能够发送数据。......
2023-10-19
点击“确定”按钮,数据源建立完成,如图6-23所示。通过数据源的建立,将数据源与数据库文件对应起来。当MapInfo需要连接数据库时,可以将该数据源作为一个通道。图6-16新建Access文件图6-17打开“控制面板”对话框图6-18建立ODBC数据源图6-19添加新数据源图6-20选择数据源类型图6-21自定义数据源名图6-22选择数据库图6-23成功建立新数据源......
2023-08-18
OSI模型包括了7层,而TCP/IP模型只有4层。OSI模型在网络层支持无连接和面向连接的两种服务,而在传输层仅支持面向连接的服务。到目前为止,还没有任何一个组织能够把OSI参考模型付诸实现。但另一方面,TCP/IP协议由于是逐渐发展起来的,缺乏统一规划,所以有些混乱。......
2023-10-22
连接转子和固定部件或者连接不同旋转部件的结构都是连接部件,比如滚动轴承、滑动轴承、挤压油膜阻尼器、密封、齿轮等。带控制器的主动磁轴承和均分负载轴承也是连接部件。表13-1总结了理想化连接。包含非线性连接理想化的装配同线性案例中是相似的,挤压油膜阻尼器轴承包含在连接设备中。......
2023-10-27
TCP/IP是一个协议簇,采用四层结构,在OSI七层级结构模型中的各个层次中分布不同的子协议发挥特定功能;现场总线的通信协议采用了3层结构,见表9-10。目前阶段,将TCP/IP标准协议作为BAS通信网络的核心标准的实现成本较高。而32位和64位的微处理器构成的BAS控制器就能较好地胜任现TCP/IP的能力,因此,在BAS控制器中内嵌和使用TCP/IP就能够构成性价比高和通信确定性好的BAS通信网络架构的解决方案。......
2023-08-29
相关推荐