搜索
简帛阁>技术文章>【T01】理解面向连接和无连接协议之间的区别

【T01】理解面向连接和无连接协议之间的区别

1、面向连接和无连接指的是协议,本质区别在于:对于无连接协议来说,每个分组的处理都独立于其他的分组。
    而对于面向连接的协议,协议实现维护了当前分组与后继分组有关的状态信息。
2、无连接就是指udp,分组称为数据报(datagram),每个分组都独立寻址,udp会尽最大努力发送数据报,
    但是不保证数据报不丢失,不延迟,不错序。
    注意:对于udp,可以在应用层维护数据报的状态。
3、面向连接就是tcp,tcp的分组称为段(segment),协议维护了分组之间的状态,记住这些状态,协议可以提供可靠的传输。
4、一个标准的类比就是:udp就像寄明信片,tcp就像打电话。
5、udp有这么多缺点,为什么还要使用这种协议呢?
    a、面向连接只支持一对一通信,无连接很方便地支持一对多和多对一的通信,面向连接需要多个独立的连接才能实现。
    b、更重要的是,无连接是面向连接的基础,udp和tcp在ip协议之上,ip协议只转发分组,不对底层做任何假设,
        ip就是不可靠的无连接服务。
6、tcp是怎么提供可靠的传输?
    tcp在ip协议上增加了3项功能:
    a、为tcp段中的数据提供校验和,在接收端检查数据是否损坏
    b、tcp为每个字节提供序列号,即使在接收端错序了,可以根据恰当的顺序重装起来
        注意:tcp并没有为每一个字节附加一个序列号,而是在tcp发送的段中为第一个字节标识了序号,
        这样就隐含了段中其它字节的序列号
    c、tcp提供了确认重传机制
7、确认重传机制是如何工作的?
    tcp是全双工的,每一端既是接收端又是发送端。
8、站在接收端的角度,接收端维护了接收窗口,左边界是期望接收的下一个字节的序号,右边界表示接收缓冲区的能容纳的最大字节序号。
    接收端通过告诉发送端自己的接收窗口,可以用于流量控制,防止缓冲区溢出。
    对于接收的数据(一组字节,会覆盖接收窗口的一个区间),如果在左边界之前,说明是已收到的数据,丢弃。
    如果在右边界之后,说明是没有对应的缓冲区存储,丢弃。
    如果不是所期望的下一个字节,说明是错序的,需要等待前面缺少的数据到达。
    如果是所期望的下一个字节,通知应用程序有数据可读。这时候所期望接收的字节序号加上段中的字节个数,进行更新,
    窗口向右滑动。同时向发送端发送ack,告知所期望接收的下一个字节序号。
9、站在发送端的角度,发送端维护发送窗口,窗口划分成两部分,已发送但还未被确认的字节,可以发送但还未发送的字节。
    对于已发送但还未被确认的字节,会启动RTO(Retransmission TimeOut 超时重传)定时器,超时认为丢失了,重新发送。
    注意:RTO超时并不意味着原来的数据没有到达目的地,有可能是ack丢失了,也有可能是网络延迟,导致收到ack的时候已经超时。
    重传不会导致什么问题,因为接收端会丢弃重新收到的数据。
10、udp在ip协议上增加了2项功能,分别如下:
    a、提供了可选的校验和用来检测数据是否损坏。ip也有校验和,但是ip的校验和只是对ip分组的首部进行计算,
        而udp和tcp提供的校验和用于保护他们自己的首部和数据。
    b、udp增加了端口的概念(当然tcp也是),ip地址对应主机,端口对应主机上的进程。
1、面向连接连接协议,本质区别在于:对于连接协议来说,每个分组处理都独立于其他分组。而对于面向连接协议协议实现维护了当前分组与后继分组有关状态信息。2、连接就是指udp,分组称
1理解面向连接连接协议之间区别11区别区别:对连接协议来说,每个分组处理都独立于所有其他分组,都是独立寻址,而面向连接协议来说,协议面向连接协议来说,协议实现规则维护了与后继分组有关
网络编程中最基本概念就是面向连接(connectionoriented)连接(connectionless)协议。尽管本质上来说,两者之间区别并不难理解,但对那些刚刚开始进行网络编程人来说,
答:主要区别有两条。其一:面向连接分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接请求。只有在连接成功建立之后,才能开始数据传输,这是第二阶段。接着,当数据传输完毕,必须释放连接。而面向
1面向连接通信在IP中,面向连接通信时通过TCP/IP协议来实现。应用程序在使用TCP通信时,需要建立一个虚拟连接。其模型如下:服务器端一旦为协议创建了套接字,就要将套接字绑定到一个已知地址上
面向连接面向连接是两种方法,在网络中用于相关网络协议制定(例如TCP是面向连接,而UDP是面向连接),在应用中,它们代表着数据通信两种不同传输数据技术。本文主要指协议与服务。面向连接
多表查询经常用到连接,各种连接之间区别应该注意总结。首先大概认识各种连接关系由来:表之间连接常有以下两种:一、:在SELECT语句WHERE子句中使用比较运算符给出连接条件,对表进行连接,将
1、面向连接服务:就是通信双方在通信时,要事先建立一条通信线路,其过程有建立连接(通过三次握手方式建立,建立连接是需要分配相应资源如缓冲区,以保证通信能正常进行)、使用连接释放连接三个过程。它
假设有A,B两个表。表A记录如下:aIDaNum1a200501112a200501123a200501134a200501145a20050115表B记录如下:bIDbName12006032401
连接在HTTP/10版本中,默认使用是短连接,也就是说浏览器服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。如果客户端浏览器访问某个HTML或其他类型Web页中包含其他w