建设网站需要什么技术人员,襄阳做淘宝网站推广,免费网站站长推广,python做网站项目1. SOME/IP 协议 SOME/IP目前支持UDP#xff08;用户传输协议#xff09;和TCP#xff08;传输控制协议#xff09;#xff0c;
PS:UDP和TCP区别如下 TCP面向连接的#xff0c;可靠的数据传输服务#xff1b;UDP面向无连接的#xff0c;尽最大努力的数据传输服务…1. SOME/IP 协议 SOME/IP目前支持UDP用户传输协议和TCP传输控制协议
PS:UDP和TCP区别如下 TCP面向连接的可靠的数据传输服务UDP面向无连接的尽最大努力的数据传输服务不保证数据传输的可靠性TCP面向字节流UDP面向报文应用进程交给 UDP 多长的报文 UDP 就照样发送一次发送一个报文TCP 在发送时采取的方式完全不同TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应该包含多少个字节。如果报文太长TCP会将其拆分再发送如果报文太短TCP会等待积累足够多的字节后再构成报文段发送出去TCP数据传输慢UDP数据传输快TCP有拥塞控制UDP没有拥塞控制因此网络出现拥塞不会使源主机的发送速率降低对实时应用很有效如直播实时视频会议等TCP 只能是一对一的通信TCP连接的端点是套接字socket而 UDP 支持一对一、一对多、多对一和多对多的通信TCP 的首部开销大有 20 个字节比 UDP 的 8 个字节的首部要长。TCP提供可靠全双功的通信服务。UDP是半双功只能单向传播。 TCP三次握手 第一次握手 客户端将TCP报文标志位SYN置为1随机产生一个序号值seqJ保存在TCP首部的序列号(Sequence Number)字段里指明客户端打算连接的服务器的端口并将该数据包发送给服务器端发送完毕后客户端进入SYN_SENT状态等待服务器端确认。 第二次握手 服务器端收到数据包后由标志位SYN1知道客户端请求建立连接服务器端将TCP报文标志位SYN和ACK都置为1ackJ1对上一个序号进行确认的号随机产生一个序号值seqK并将该数据包发送给客户端以确认连接请求服务器端进入SYN_RCVD状态。 第三次握手 客户端收到确认后检查ack是否为J1ACK是否为1如果正确则将标志位ACK置为1TCP Header标志位ackK1并将该数据包发送给服务器端服务器端检查ack是否为K1ACK是否为1如果正确则连接建立成功客户端和服务器端进入ESTABLISHED状态完成三次握手随后客户端与服务器端之间可以开始传输数据了。 TCP四次挥手 第一次挥手 Client端发起挥手请求向Server端发送标志位是FIN报文段设置序列号seq此时Client端进入FIN_WAIT_1状态这表示Client端没有数据要发送给Server端了。第二次挥手Server端收到了Client端发送的FIN报文段向Client端返回一个标志位是ACK的报文段ack设为seq加1Client端进入FIN_WAIT_2状态Server端告诉Client端我确认并同意你的关闭请求。第三次挥手 Server端向Client端发送标志位是FIN的报文段请求关闭连接同时Client端进入LAST_ACK状态。第四次挥手 Client端收到Server端发送的FIN报文段向Server端发送标志位是ACK的报文段然后Client端进入TIME_WAIT状态。Server端收到Client端的ACK报文段以后就关闭连接。此时Client端等待2MSL的时间后依然没有收到回复则证明Server端已正常关闭那好Client端也可以关闭连接了 TCP 提供面向有连接的通信传输面向有连接是指在传送数据之前必须先建立连接数据传送完成后要释放连接。无论哪一方向另一方发送数据之前都必须先在双方之间建立一条连接。在TCP/IP协议中TCP协议提供可靠的连接服务连接是通过三次握手进行初始化的。同时由于TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议TCP是全双工模式所以需要四次挥手关闭连接。
2.SOME/IP-SD 服务发现协议通过OfferService消息FindService消息来动态发现服务提供者的IP地址、端口信息等检查服务状态是否可用通过Subscribe消息来实现订阅它主要用于定位服务实例检查服务实例是否正在运行实现发布/订阅处理。服务发现只能用UDP来实现Message ID固定为0xFFFF8100 格式如下 Flags 重新启动标志位单播标志显示初始数据控制标志服务重新启动后所有消息的Reboot Flag须置为1直到Session ID重新从1开始计数之后的Reboot Flag须置为0。 SD报文也是一种SOME/IP报文在此基础上增加了EntryOption等字段 Entry理解为服务实例的入口包含服务实例以及需要订阅的EventGroup的信息 Entry分为两种面向服务的Entry和面向事件组的entry。 面向服务可分为发现服务FindService提供服务OfferService和停止提供服务StopOfferService 面向事件组可分订阅事件组SubscribeEventGroup肯定应答SubscribeEventGroupAck否定应答SubscribeEventGroupNAck和停止订阅事件组StopSubscribeEventGroup。 一个entry可以包含0-2个option。 Option用于传输Entry附加信息可以分为以下几种 通信举例如下 详细信息如下