精华内容
下载资源
问答
  • TCP(Transmission Control Protocol,传输控制协议)是面向连接、可靠字节流服务,也就是说,在收发数据前,必须和对方建立可靠连接。这一过程和打电话类似:先拨号振铃,等待对方接电话,说喂,再说自己是谁...

    1. 什么是TCP?

    TCP(Transmission Control Protocol,传输控制协议)是面向连接的、可靠的字节流服务,也就是说,在收发数据前,必须和对方建立可靠的连接。这一过程和打电话类似:先拨号振铃,等待对方接电话,说喂,再说自己是谁。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的传输层。
    在这里插入图片描述
    2. 什么是UDP?

    UDP (User Datagram Protocol,用户数据报协议),是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种非连接的传输层协议,提供面向事务的简单不可靠信息传送服务,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上,故也不安全。
    在这里插入图片描述
    3. TCP的三次握手过程?

    1、 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B,向主机B 请求建立连接,通过这个数据段,主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我。

    2、 主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:
    一是:我已经收到你的请求了,你可以传输数据了;

    二是:你要用哪佧序列号作为起始数据段来回应我;

    3 、主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:“我已收到回复,我现在要开始传输实际数据了”;
    这样3次握手就完成了,主机A和主机B 就可以传输数据了。

    3次握手的特点:
    没有应用层的数据;
    SYN这个标志位只有在TCP建产连接时才会被置1;
    握手完成后SYN标志位被置0;

    4. TCP的四次挥手过程?

    TCP建立连接要进行3次握手,而断开连接要进行4次

    1 、当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求;
    2、 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1;
    3、 由B 端再提出反方向的关闭请求,将FIN置1;
    4 、主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束;

    【名词解释】

    ACK TCP报头的控制位之一,对数据进行确认.确认由目的端发出,用它来告诉发送端这个序列号之前的数据段都收到了。比如,确认号为X,则表示前X-1个数据段都收到了,只有当ACK=1时,确认号才有效,当ACK=0时,确认号无效,这时会要求重传数据,保证数据的完整性;
    SYN 同步序列号,TCP建立连接时将这个位置1;
    FIN 发送端完成发送任务位,当TCP完成数据传输需要断开时,提出断开连接的一方将这位置1;

    由TCP的三次握手和四次断开可以看出:

    TCP使用面向连接的通信方式,大大提高了数据通信的可靠性,使发送数据端和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础。

    5. TCP与UDP的区别?

    1、TCP基于连接,而UDP基于无连接的

    2、对系统资源的要求:TCP较多(TCP有20个字节信息包),UDP少(UDP信息包只有8个字节);

    3、UDP程序结构较简单;

    4、TCP是字节流模式,而UDP是数据报文模式

    5、TCP保证数据正确性,安全可靠,并且保证数据顺序,而UDP可能丢包(不保证数据正确性),而且UDP不保证数据顺序。

    展开全文
  • tcp与udp的异同点

    千次阅读 2015-12-25 23:54:23
    TCP---传输控制协议,提供是面向连接、可靠字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证...
    
    	TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
    	UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。 
    	TCP发送的包有序号,对方收到包后要给一个反馈,如果超过一定时间还没收到反馈就自动执行超时重发,因此TCP最大的优点是可靠。一般网页(http)、邮件(SMTP)、远程连接(Telnet)、文件(FTP)传送就用TCP
    	UDP是面向消息的协议,通信时不需要建立连接,数据的传输自然是不可靠的,一般用于多点通信和实时的数据业务,比如语音广播、视频、QQTFTP(简单文件传送)、SNMP(简单网络管理协议)、RTP(实时传送协议)RIP(路由信息协议,如报告股票市场,航空信息)、DNS(域名解释)。注重速度流畅。
    

     

    TCP

    UDP

    相同点

    TCPDUP都处于网络层(NETWORK LAYER)之上,都是传输层协议,功能都属于保证网络层数据的传输。双方的通信无论是用TCP还是DUP都是要开放端口的。

    异同点

    1TCP的传输是可靠的。

    2TCPTransmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。

    3TCP是一种可靠的通信服务,负载相对而言比较大。TCP采用套接字(socket)或者端口(port)来建立通信。

    4TCP包括序号、确认信号、数据偏移、控制标志(通常说的URGACKPSHRSTSYNFIN)、窗口、校验和、紧急指针、选项等信息。

    5TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。

     

    6TCP在发送数据包前都在通信双方有一个三次握手机制,确保双方准备好,在传输数据包期间,TCP会根据链路中数据流量的大小来调节传送的速率,传输时如果发现有丢包,会有严格的重传机制,故而传输速度很慢。

    7TCP支持全双工和并发的TCP连接,提供确认、重传与拥塞控制。

    1DUP的传输是不可靠的。

    2UDPUser Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!

    3UDP是一种不可靠的网络服务,负载比较小。

    4UDP包含长度和校验和信息。

     

     

     

    5UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。

    6UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

     

     

    7UDP适用于哪些系统对性能的要求高于数据完整性的要求,需要“简短快捷”的数据交换、需要多播和广播的应用环境

    
    
    展开全文
  • TCP与UDP异同

    千次阅读 2020-04-17 22:56:38
    TCP与UDP异同 TCP/IP模型运输层有两个不同的协议:UDP用户数据报协议与TCP传输控制协议 相同 TCP与UDP都是运行在运输层的协议 TCP与UDP的通信都需要开放端口 不同 TCP TCP是面向连接的协议,提供全双工通信...

    TCP与UDP异同

    TCP/IP模型的运输层有两个不同的协议:UDP用户数据报协议与TCP传输控制协议。

    相同点

    • TCPUDP都是运行在运输层的协议。
    • TCPUDP的通信都需要开放端口。

    不同点

    TCP

    • TCP是面向连接的协议,提供全双工通信,需要建立链接之后再传输数据,数据传输负载相对较大。
    • TCP提供可靠交付的服务,使用流量控制和拥塞控制等服务保证可靠通信。
    • TCP首部最小20字节,最大60字节,包括源端口、目的端口、序号、确认号、数据偏移、控制标志、窗口、校验和、紧急指针、选项等信息。
    • TCP只能是一对一通信。
    • TCP面向字节流通信。
    • TCP保证数据传输的顺序,通过给TCP连接中传送数据流的每个字节都编上序号来确定传输顺序。
    • TCP提供校验和、确认应答、序列号、超时重传、连接管理、流量控制、拥塞控制等功能。
    • TCP适用于要求可靠传输的应用,如文件传输等

    UDP

    • UDP是无连接的,即发送数据之前不需要建立连接,数据传输负载相对较小。
    • UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用流量控制和拥塞控制。
    • UDP首部8字节,包括源端口、目的端口、长度、校验和信息。
    • UDP具有单播、多播、广播的功能,支持一对一、一对多、多对多、多对一的数据传输方式。
    • UDP是面向报文通信,对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,在添加首部后就向下交付IP层。
    • UDP不保证数据传输的顺序,需要应用层程序在数据段加入序号等方式控制顺序。
    • UDP只在IP的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。
    • UDP适用于实时应用,如网络电话、视频会议、直播等

    相关问题

    UDP实现可靠性传输

    运输层无法保证数据的可靠传输,只能通过应用层来实现了,实现的方式可以参照TCP可靠性传输的方式,只是实现不在传输层,实现转移到了应用层,主要通过实现确认机制、重传机制、窗口确认等机制来实现可靠传输,有RUDPRTPUDT等开源程序利用UDP实现了可靠的数据传输,此外有结合TCP的可靠与UDP速度的权衡KCP协议。

    TCP短连接和长连接的区别

    短连接:ClientServer发送消息,Server回应Client,然后一次读写就完成了,这时候双方任何一个都可以发起close操作,不过一般都是Client先发起close操作。短连接一般只会在Client/Server间传递一次读写操作。短链接管理起来比较简单,建立存在的连接都是有用的连接,不需要额外的控制手段,但是如果客户请求频繁,将在TCP的建立和关闭操作上浪费时间和带宽。
    长连接:ClientServer完成一次读写之后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接,长连接可以省去较多的TCP建立和关闭的操作,减少浪费,节约时间,对于频繁请求资源的客户来说,较适用长连接,但是随着客户端连接越来越多,Server负载会越来越大,此时就需要采取一些策略减少负载,例如关闭长时间未读写的链接LRU算法、限制客户端链接数量等。

    TCP粘包拆包解决方案

    由于TCP本身是面向字节流的,无法理解上层的业务数据,所以在底层是无法保证数据包不被拆分和重组的,这个问题只能通过上层的应用协议栈设计来解决。

    • 消息定长:发送端将每个数据包封装为固定长度(不够的可以通过补0填充),这样接收端每次接收缓冲区中读取固定长度的数据就自然而然的把每个数据包拆分开来。
    • 设置消息边界:服务端从网络流中按消息边界分离出消息内容,在包尾增加回车换行符进行分割,例如FTP协议。
    • 将消息分为消息头和消息体:消息头中包含表示消息总长度(或者消息体长度)的字段。

    每日一题

    https://github.com/WindrunnerMax/EveryDay
    

    参考

    https://zhuanlan.zhihu.com/p/108822858
    https://www.cnblogs.com/liangyc/p/11628148.html
    https://blog.csdn.net/m_xiaoer/article/details/72885418
    https://blog.csdn.net/pangyemeng/article/details/50387078
    https://blog.csdn.net/quiet_girl/article/details/50599777
    https://blog.csdn.net/liuchenxia8/article/details/80428157
    https://blog.csdn.net/qq_40732350/article/details/90902396
    https://www.cnblogs.com/fundebug/p/differences-of-tcp-and-udp.html
    
    展开全文
  • 关于TCPUDP的异同点

    千次阅读 2016-03-11 17:07:20
    TCP与UDP的区别 在平时面试中TCP和UDP总数被面试作为常问问题,这是个人笔记,上大学时老师就说过,安全东西往往不快,反之也是如此,而TCP和UDP他们之间也是这样: TCP(传输控制协议) 是基于连接,在正式...
    TCP与UDP的区别
    在平时的面试中TCP和UDP总数被面试作为常问的问题,这是个人笔记,上大学时老师就说过,安全的东西往往不快,反之也是如此,而TCP和UDP他们之间也是这样的:
    TCP(传输控制协议) 是基于连接的,在正式收发数据之前必须要与对方建立连接,这之间需要经过三次“对话”,首先A主机需要和B主机之间建立数据的收发,A需要发送一个请求,询问B:“我需要连接”,B收到询问后会给A发送一个回应:“可以连接”,这时A主机得到B主机的回应后,他们之间就建立了连接,就可以进行数据的传输了。
    UDP(用户数报协议)它与TCP相对应的协议,是面向非连接的,不与对方建立连接,直接把数据包发送出去,UDP适用于一次传输少量的数据,对可靠性要求不高的应用环境,日常生活中使用的ping命令测试两台主机是否通信正常,其原理就是通过UDP实现的。
    区别:
    TCP ,面相连接,传输可靠,传输大量的数据,但是慢
    UDP,面向非连接,传输不可靠,适合传输少量的数据,速度快
    正如文章开头所说的一般安全的东西往往不快,因为其内部做了很多工作来达到这个安全,所以速度上就有所影响,基于不同的场合,各取所需吧。


    展开全文
  • TCP/UDP协议

    2019-08-01 16:04:04
    面试问题:Tcp/Udp协议是什么,各有什么异同点,各自使用场景? Tcp协议(传输控制协议) tcp是面向连接协议,在收发数据之前,必须对方建立可靠连接; 三次握手:简单形象通俗描述: 主机A向主机B发出...
  • TCP/UDP协议(二)

    2019-08-01 16:07:00
    面试问题:Tcp/Udp协议是什么,各有什么异同点,各自使用场景? Tcp协议(传输控制协议) tcp是面向连接协议,在收发数据之前,必须对方建立可靠连接; 三次握手:简单形象通俗描述: ...
  • TCP与UDP差异对比分析

    千次阅读 2017-09-15 15:54:13
    TCP与UDP差异对比分析写在前面:公司在做智能硬件方向,所以使用了 TCP、UDP 协议来做通信。过几天我会整理一下两种协议在 Android 上使用,不过在此之前,还是想先了解一下这两种协议有哪些异同,又有哪些值得...
  • 本文通过对比分析 TCPUDP 有哪些区别,来帮助这些比较基础知识,遇到相应问题,便可以快速地解决。建立连接方式TCP: 说到 TCP 建立连接,相信大多数人脑海里肯定可以浮现出一个词,没错就是--“三次握手...
  • 1、OSI七层协议模型、2、TCP/IP四层模型、3、五层协议体系结构(OSI和TCP/IP综合)一、TCP协议与HTTP协议异同点1、TCP协议对应于传输层,而HTTP协议对应于应用层.2、Http协议是建立在TCP协议基础之上。当浏览器...
  • UDP通讯协议

    2019-03-04 16:35:00
    与TCP相同是 客户端也不需要bind一个固定端口 让系统随机分一个UDPTCP异同UDP在使用时1.修改socket参数 第一个任然是AF_INET 第二个需要换成AOCK_DGRAM2.UDP 不需要建立连接 所以没有三次握手和四次挥手相同...
  • 由于这段时间学习了安卓手机端PC端之间的UDP通信原理,所以就在这里写一写自己的一些心得,我会尽量把自己遇到的难题以及自己的一些感觉写清楚,...下面我将简单介绍一下UDPTCP/IP之间的异同点TCP(Transmis...
  • IM即时通信

    2015-06-28 15:28:35
    IM(instant Message)...2.TCP与UDP的异同 TCP与UDP的异同 异同点 TCP  UDP 大小 可以大文件 64k一下 连接方式 面向连接(三次握手) 不面向连接 效率 效率低 效率高     
  • 、HTTPFTP的异同点 1. 同: (1)都是应用层协议; (2)都运行在TCP上,即都使用TCP(而不是UDP)作为其支撑的运输层协议。 2. 异: (1)HTTP是超文本传输协议,是面向网页的;FTP是文件传输协议,是面向文件的...
  • 计算机网络

    2020-07-16 17:17:11
    Java学习笔记计算机网络1、计算机网络分层2、Tcp与Udp的区别3、Tcp头部结构4、IP头部结构5、Tcp三次握手及四次挥手6、Tcp协议7、Dns域名解析8、Http报文结构及状态码9、Get与Post比较10、Cookie作用、安全性...
  • 目录 1.socket简介 2.TCP/IP协议 3.tcp三次握手 4.socket一些接口函数原理 5.java socket 长连接粘包拆包问题 ...6.socket模拟服务端...WebSocketSocket、TCP、HTTP关系和异同点 最近因为客户需求开始...
  • 1.FTP的异同 相同 1)都是应用层上的协议; 2)都使用TCP而非UDP作为其支撑的传输层协议. 不同 1)面向:HTTP是超文本传输协议,是面向网页的;FTP是文件传输协议,是面向文件的; 2)端口:HTTP协议默认80号端口。FTP...
  • 问题1-4:在具有五层协议的体系结构中,如果下面的一层使用面向连接服务或无连接服务,那么在上面的一层是否也必须使用同样性质的服务呢?或者说,是否我们可以在各层任意使用面向连接服务或无连接服务呢? 问题1-5...
  • 第10章 基于udp协议的接收和发送 265 10.1 udp编程框架 265 10.1.1 udp编程框图 265 10.1.2 udp服务器编程框架 267 10.1.3 udp客户端编程框架 267 10.2 udp协议程序设计的常用函数 267 10.2.1 建立套接字...
  • 计算机网络复习题

    2014-12-29 19:01:35
    4、什么叫流量控制,试简述TCP的流量控制机制,UDP协议中有流量控制吗? 答: (1)为了防止快速发送设备发出数据过多,导致慢速接收设备处理不过来而发生大量数据丢失(淹没慢速接收设备)所采取限制措施...
  • 问题5-2:从通信起点和终点来比较,TCP和IP不同是什么? 问题5-3:端口(port)和套接字(socket)区别是什么? 问题5-4:一个套接字能否同时远地两个套接字相连? 问题5-5:数据链路层HDLC协议和运输层...
  • JAVA面试题最全集

    2010-03-13 13:09:10
    17.tcp与udp的区别 18.链表与散列表和数组区别 19.堆和栈区别 20.ejb分类及区别 21.你对现在软件业以及国内软件业看法 22.谈谈java多线程 23.谈谈文件加密技术 24.软件开发生命周期 25.路由协议...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

tcp与udp协议的异同点