建筑做网站,装修公司设计软件有哪些,异次元wordpress模板,快手刷赞网站推广软件理解面向连接和无连接协议之间的区别 网络编程中最基本的概念就是面向连接#xff08;connection-oriented#xff09;和无连接#xff08;connectionless#xff09;协议。 面向连接和无连接指的都是协议。也就是说#xff0c;这些术语指的并不是无理介质本身#xff0c… 理解面向连接和无连接协议之间的区别 网络编程中最基本的概念就是面向连接connection-oriented和无连接connectionless协议。 面向连接和无连接指的都是协议。也就是说这些术语指的并不是无理介质本身而是用来说明如何在物理介质上传输数据。面向连接和无连接协议可以而且通常也确实会共享一条物理介质。 它们的本质区别在于对无连接协议来说每个分组的处理信息都独立于所有其他分组而对面向连接的协议来说协议实现则维护了与后继分组有关的状态信息。 无连接协议中的分组被称为数据报datagram每个分组都是独立寻址。 面向连接的协议则维护了分组之间的状态使用这种协议的应用程序通常都会进行长时间的对话。记住这些状态协议就可以提供可靠的传输。 典型的面向连接协议有三个阶段。第一阶段在对等实体间建立连接。接下来是数据传输阶段在这个阶段中数据在对等实体间传输。最后当对等实体完成数据传输时连接被拆除。 连接为我们维护的状态中包含了这些地址。我们只要发送数据就行了不需要考虑寻址或其他与协议相关的数据。 使用无连接协议可以很方便地支持一对多和多对一通信而面向连接协议通常都需要多个独立的连接才能做到。但更重要的是无连接协议 是构建面向连接协议 的基础。 TCP和UDP都是建立在IP之上的。因此IP是构建整个TCP/IP协议族的基础。但IP提供的是一种尽力而为的、不可靠的无连接服务。它接收来自其上层的分组将它们封装在一个IP分组中根据路由为分组选择正确的硬件接口从这个接口将分组发送出去。一旦将分组发送出去了IP就不在关心这个分组了。 IP可以运行在任何能够承载分组的网络上。 TCP的分组被称为段segment 是放在IP数据报中发送的因此根本无法假定这些分组会抵达目的地更不用说保证分组无损坏且已原来的顺序到达了。为了提供可靠性TCP向基本的IP服务添加了三项功能。首先它为TCP段中的数据提供了校验和。这样有助于确保抵达目的地的数据在传输过程中不会被网络损坏。第二它为每个字节分配了一个序列号这样如果数据抵达目的地时真的错序了接受端也能够按照恰当的顺序将其重装起来。第三TPC提供了一种确认-重传机制以确保最终每个端都会被传送出去。 TCP连接的每一端都维护了一个接受窗口receive window接受窗口就是可以从对等实体接受的数据序列号范围。除了接受窗口之外每个TCP还维护了一个发送窗口send window发送窗口被划分为两部分已发送还未被确认的字节以及可以发送但还未发送的字节。 RTORetransmission Timeout 超时重传。 UDP只向底层IP协议中添加了两项功能。首先它提供了一个可选的校验和来检测数据的损坏情况。尽管IP也有校验和但它只对IP分组首部进行计算。UDP向 IP添加的第二项特性就是端口的概念。 应用程序可以通过显式的bind调用来设置这个端口也可以有操作系统为其选择。分组到达时内核会搜索器套接字列表查找一个与分组中的协议、地址、和端口号相匹配的套接字。如果找到了匹配的套接字就由指定的协议来处理数据并将这些数据提供给所有打开了匹配套接字的应用程序。 转载于:https://www.cnblogs.com/run-to-success/archive/2011/08/30/2159981.html