浅析TCP字节流与UDP数据报的区别】的更多相关文章

转自http://www.linuxidc.com/Linux/2014-11/109545.htm “TCP是一种流模式的协议,UDP是一种数据报模式的协议”,这句话相信大家对这句话已经耳熟能详~但是,“流模式”与“数据包模式”在编程的时候有什么区别呢?以下是我的理解,仅供参考! .TCP 打个比方比喻TCP,你家里有个蓄水池,你可以里面倒水,蓄水池上有个龙头,你可以通过龙头将水池里的水放出来,然后用各种各样的容器装(杯子.矿泉水瓶.锅碗瓢盆)接水. 上面的例子中,往水池里倒几次水和接几次水是…
两者的区别在于TCP接收的是一堆数据,而每次取多少由主机决定;而UDP发的是数据报,客户发送多少就接收多少. 拥有这些区别的原因是由于TCP和UDP的特性不同而决定的.TCP是面向连接的,也就是说,在连接持续的过程中,socket中收到的数据都是由同一台主机发出的,因此,知道保证数据是有序的到达就行了,至于每次读取多少数据自己看着办. 而UDP是无连接的协议,也就是说,只要知道接收端的IP和端口,且网络是可达的,任何主机都可以向接收端发送数据.这时候,如果一次能读取超过一个报文的数据,则会乱套.…
关于TCP和UDP的分次发送和接收的问题,困惑了两天,看到这篇文章豁然开朗. 原文链接:http://network.51cto.com/art/201310/413326.htm “TCP是一种流模式的协议,UDP是一种数据报模式的协议”,这句话相信大家对这句话已经耳熟能详~但是,“流模式”与“数据包模式”在编程的时候有什么区别呢?以下是我的理解,仅供参考! 1.TCP 打个比方比喻TCP,你家里有个蓄水池,你可以里面倒水,蓄水池上有个龙头,你可以通过龙头将水池里的水放出来,然后用各种各样的容…
TCP流和UDP数据报之间的区别 1.TCP本身是面向连接的协议,S和C之间要使用TCP,必须先建立连接,数据就在该连接上流动,可以是双向的,没有边界.所以叫数据流 ,占系统资源多 2.UDP不是面向连接的,不存在建立连接,释放连接,每个数据包都是独立的包,有边界,一般不会合并. 3.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证 UDP使用场景 1.需要资源少,在网络情况比较好的内网,或者对于丢包不敏感的应用.如DHCP协议就是基于UDP的.一般的获取IP地址都是内网请…
在分析两者之间的区别之前,我们先搞清楚这两者的关系, TCP/IP协议簇  是一种网络控制协议,简单点说就是一种网络协议,我们网络中的计算机就是通过这套协议簇来进行数据通信的.这套协议簇里面包含了很多协议,比如说DNS,HTTP,ARP,ICMP等,UDP协议也是其中的一种. 关于TCP/IP协议簇详解可以参考:http://blog.chinaunix.net/uid-30077524-id-5074334.html 1.TCP/IP协议详解 TCP/IP协议集包括应用层,传输层,网络层,网络…
先介绍下什么是TCP,什么是UDP. 1. 什么是TCP? TCP(Transmission Control Protocol,传输控制协议)是面向连接的.可靠的字节流服务,也就是说,在收发数据前,必须和对方建立可靠的连接.这一过程和打电话类似:先拨号振铃,等待对方接电话,说喂,再说自己是谁.在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的传输层. 面向有连接 2. 什么是UDP? UDP (User Datagram Protocol,…
TCP协议与UDP协议的区别(转) 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了.TCP/IP协议集包括应用层,传输层,网络层,网络访问层.其中应用层包括:超文本传输协议(HTTP):万维网的基本协议.   文件传输(TFT…
TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了.TCP/IP协议集包括应用层,传输层,网络层,网络访问层.其中应用层包括:超文本传输协议(HTTP):万维网的基本协议.   文件传输(TFT…
1. TCP协议面向连接. UDP协议面向非连接 (有无链接)2. TCP协议传输速度慢. UDP协议传输速度快 (传输速度)3. TCP协议保证数据顺序. UDP协议不保证 (数据的有序性. 在IP层时. 数据包会变得无序)4. TCP协议保证数据正确性. UDP协议可能丢包 (TCP保证数据的可靠性)5. TCP协议对系统资源要求多. UDP协议要求少 (TCP和UDP占用的资源)…
TCP和UDP区别     TCP UDP 是否连接 面向连接 面向非连接 传输可靠性 可靠的 不可靠的 应用场合 传输大量的数据 少量数据 速度 慢 快    OSI 和 TCP/IP 模型在传输层定义两种传输协议:TCP(或传输控制协议)和 UDP(或用户数据报协议). UDP      UDP 与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输.事实上,该协议不能保证数据准确无误地到达目的地.UDP 在许多方面非常有效.当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数…
DNS占用53号端口,同时使用TCP和UDP协议.那么DNS在什么情况下使用这两种协议? DNS在区域传输的时候使用TCP协议,其他时候使用UDP协议. DNS区域传输的时候使用TCP协议: 1.辅域名服务器会定时(一般3小时)向主域名服务器进行查询以便了解数据是否有变动.如有变动,会执行一次区域传送,进行数据同步.区域传送使用TCP而不是UDP,因为数据同步传送的数据量比一个请求应答的数据量要多得多. 2.TCP是一种可靠连接,保证了数据的准确性. 域名解析时使用UDP协议: 客户端向DNS服…
最近在看<疯狂java讲义>,第17章网络编程里提到IP地址.端口.TCP协议.UDP协议这几个概念.以前上课时学过,现在重温了一遍.在这里,用自己的语言简单的讲解一下吧. IP地址:每一台能上网的设备(电脑.手机等)都具有一个IP地址,这个地址是唯一的,相当于一个人的身份证号码.通过这个IP地址,我能准确的找到你,而你也能轻易的发现我.然后我俩做些不可描述的事. 端口:在一台标识有IP地址的电脑里,有很多的软件,比如说腾讯QQ.迅雷等.这些软件需要经过IP地址才能接入互联网,但是软件有很多个…
TCP和UDP都是传输层的协议 UDP协议的特点: UDP协议是一种无连接的.不可靠的传输层协议(尽力而为的协议) 为什么说UDP是一种无连接.不可靠的协议呢?UDP协议在传输报文之前不需要在双方之间建立连接. UDP协议对报文只提供了一种保证数据传输可靠性的措施--可选的校验和 如果UDP协议检测出收到的分组出现错误,就丢弃分组,不会确认,也不会通知重传,这也是UDP最大的缺点,传输不可靠.当传递数据的时候,网络质量不好,就会发生丢包(数据丢失),无法保证数据的传输顺序. 在传输上UDP的传输…
http:是用于www浏览的一个协议.tcp:是机器之间建立连接用的到的一个协议. 1.TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议.在传输层中有TCP协议与UDP协议.在应用层有FTP.HTTP.TELNET.SMTP.DNS等协议.因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议. 2.HTTP协议是建立在请求/响应模型上的.首先由客户建立一条与服务器的TCP链接,并…
[原文]https://www.toutiao.com/i6592813624689951239/ 概述 ⊙TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. 在应用层有FTP.HTTP.TELNET.SMTP.DNS等协议. ⊙TCP(Transmission Control Protocol),又叫传输控制协议:TCP 是面向连接的,并且是一种可靠的协议,在基于…
1.MAC帧格式 类型:2字节,指出数据域中携带的数据应交给哪些协议实体处理 校验码:校验数据段(采用32位CRC冗余校验方式进行校验) 2.IPV4数据报 版本:IP协议版本,这里为4 首部长度:占4位 总长度:占16位,指首部和数据之和的长度 标识:占16位,它是一个计数器,每产生一个数据报就加1 标志:占3位,标志字段的最低位为MF,MF=1表示后面还有分片:MF=0表示最后一个分片.标识字段中间的一位是DF,只有DF=0时才允许分片 片偏移:占13位,它指出较长的分组在分片后,某片在原分…
http:是用于www浏览的一个协议.tcp:是机器之间建立连接用的到的一个协议. 1.TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议.在传输层中有TCP协议与UDP协议.在应用层有FTP.HTTP.TELNET.SMTP.DNS等协议.因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议. 2.HTTP协议是建立在请求/响应模型上的.首先由客户建立一条与服务器的TCP链接,并…
面向连接的TCP TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接.一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单.形象的介绍,你只要做到能够理解这个过程即可.我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话:主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工…
TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接.一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单.形象的介绍,你只要做到能够理解这个过程即可.我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话:主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可…
TCP流模式与UDP数据报模式http://blog.csdn.net/s3olo/article/details/7914717 数据报(datagram)通常是指起始点和目的地都使用无连接网络服务的的网络层的信息单元.(UDP数据报 -Datagram) 段(segment)通常是指起始点和目的地都是传输层的信息单元.(TCP Stream -流)…
最近面试,问到这方面的问题,这里总结一下: TCP (Transmission  Control  Protocol   传输控制协议):面向连接的,不可靠的,数据流服务.UDP (User  Datagram  Protocl   用户数据报协议):面向无连接的,不可靠的,数据报服务.TCP传输和UDP不一样,TCP传输是流式的,必须先建立连接,然后数据流沿已连接的线路(虚电路)传输.因此TCP的数据流不会像UDP数据报一样,每个数据报都要包含目标地址和端口,因为每个数据报要单独路由. TCP…
转载:http://www.cnblogs.com/lifan3a/articles/6649970.html 以太网帧格式.IP数据报格式.TCP段格式+UDP段格式 详解   1.ISO开放系统有以下几层: 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 2.TCP/IP 网络协议栈分为应用层(Application).传输层(Transport).网络层(Network)和链路层(Link)四层. 通信过程中,每层协议都要加上一个数据首部(heade…
1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上. 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认: 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_…
TCP/IP TCP/IP代表传输控制协议/网际协议,指的是一系列协组.可分为四个层次:数据链路层.网络层.传输层和应用层. 在网络层:有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层:中有TCP协议与UDP协议. 在应用层:有FTP.HTTP.TELNET.SMTP.DNS等协议. TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口.就像操作系统会提供标准的编程接口,比如Win32编程接口一样,TCP/IP也必须对外…
网络由下往上分为:   物理层--                       数据链路层-- 网络层--                       IP协议 传输层--                       TCP协议 会话层-- 表示层和应用层--           HTTP协议   1.TCP/IP连接  TCP 传输控制协议,是一种提供可靠数据传输的通用协议.   手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.TCP协议可以…
TCP和UDP的区别: 1)TCP是面向连接的,而UDP是无连接的 2)TCP提供可靠服务,而UDP不提供可靠服务,只是尽最大努力交付报文 3)TCP面向字节流,TCP把数据看成一串无结构的字节流,而UDP是面向报文的(UDP数据报+IP头部=IP数据报) 4)TCP有拥塞控制,UDP没有拥塞控制 5)TCP只提供点对点通信,而UDP提供点对点,点对多点,多点对多点的通信 6)TCP提供的是全双工的可靠信道,而UDP提供的是不可靠信道 7)TCP的首部开销有20个字节,而UDP的首部开销只有8个…
浅析TCP/IP协议 0x00 什么是TCP/IP协议? ​ 想一想人与人之间交流需要什么?我们是不是要掌握一种我们都能体会到对方意思的语言.那么计算机与网络设备之间进行通信,是不是不同设备之间是不是也要确定一种让两者能够通信的方法.不同的硬件,不同的操作系统,等等不同的设备,他们想要通信,必须要有一种规则来保证它们之间能够通信.而这种规则就是协议. ​ 很多人都认为TCP/IP协议指的是TCP和IP这两种协议,也有人认为TCP/ IP 是在 IP 协议的通信过程中,使用到的协议族的统称.但我认…
[转载自]http://blog.csdn.net/hjffly/article/details/7959889 IP首部 版本:L3协议版本号,IPv4或IPv6 首部长度:单位为4字节 协议:L4协议类型 TTL生存时间字段设置了数据报可以经过的最多路由器数.一旦经过一个处理它的路由器,它的值就减1.当该字段值为0时,数据报就被丢弃,并发送ICMP报文通知源主机. 源端口号.目的端口号,用于寻找发送端和接收端应用进程. 32位序号:用于标识从TCP发端向TCP收端发送的数据字节流,表示在这个…
公司的同事们在分析网页加载慢的问题,忽然使用到了Wireshark工具,我就像发现新大陆一样好奇,赶紧看了看,顺便复习了一下相关协议.上学时学的忘的差不多了,汗颜啊! 报文封装整体结构 mac帧头定义 /*数据帧定义,头14个字节,尾4个字节*/ typedef struct _MAC_FRAME_HEADER { char m_cDstMacAddress[6]; //目的mac地址 char m_cSrcMacAddress[6]; //源mac地址 short m_cType; //上一层…
TCP协议和UDP协议区别 标签(空格分隔): TCP,udp TCP的三次握手 TCP被称为可靠的数据传输协议,主要是通过许多机制来实现的其中最主要的就是三次握手的功能,当然,TCP传送数据的机制非常复杂,有兴趣的朋友请自行参考相关的网络书籍,那么如何利用TCP的包头来确认这个数据包已经被对方接收,并进一步对方的主机实现连接?我们以图说明: 在上边的数据包连接的过程中,必须经过三次确认的动作,所以这种连接方式也被称为三次握手(Tree-way handshake)那么我们将上边的步骤分为:A,…