• TCP(传输控制协议)

面向连接的协议。在收发数据前,一个TCP连接必须要经过“三次握手”建立可靠的连接。握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP连接都将被一直保持下去。与“三次握手”类似,断开一个TCP连接则需要“四次挥手”。

TCP充分实现了数据传输时的各种控制功能,可以进行丢包的重发控制,还可以对次序乱掉的分包进行顺序控制。TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。

TCP的包头结构:

源端口        16位

目标端口     16位

序列号        32位

回应序号     32位

TCP头长度    4位

reserved      6位

控制代码       6位

窗口大小      16位

偏移量         16位

校验和         16位

选项            32位

这样可以得出TCP包头的最小长度为20字节

  • UDP(用户数据报协议)

(1) 是面向无连接的协议,传输数据之前,源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络中。

(2) 由于不建立连接,因此就不需要维护连接状态,因此一台服务机可同时向多个客户机传输相同的消息。

(3) UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节,信息包的额外开销很小。

(4) 吞吐量不受拥挤控制算法的调节。

(5) UDP使用尽最大努力交付,即不保证可靠交付。

(6) UDP是面向报文的。

UDP的包头结构:

源端口     16位

目的端口   16位

长度        16位

校验和      16位

  • TCP与UDP之间的区别:
  1. TCP是面向连接的;而UDP是面向无连接的,即发送数据之前不需要建立连接。
  2. TCP提供可靠的服务,也就是说,通过TCP连接传送的数据,无差错、不丢失、不重复且按序到达;UDP尽最大努力交付,即不保证可靠交付。
  3. TCP面向字节流;而UDP是面向报文的。
  4. TCP首部开销20字节;而UDP首部开销小,只需8个字节,UDP的结构简单。
  5. 对系统资源的要求(TCP较多,而UDP较少)。
  • TCP对应的协议
  1. FTP:文件传输协议,使用21端口;
  2. Telnet:用于远程登录的端口,使用23端口。用户可以以自己的身份远程连接到计算机上,可以提供基于DOS模式下的通信服务。
  3. SMTP:简单邮件传输协议,用于发送邮件,使用25端口。
  4. POP3:它是和SMTP对应,POP3用于接收邮件,使用110端口。
  5. HTTP:超文本传输协议,是从Web服务器传输文本到本地浏览器的传送协议,使用80端口。
  • UDP对应的协议
  1. DNS:用于域名解析服务,将域名地址转换为IP地址,使用53号端口。
  2. SNMP:简单网络管理协议,用来管理网络设备,使用161号端口。
  3. TFTP:简单文件传输协议,使用69号端口。

TCP和UDP的区别,以及它们对应的协议有哪些?的更多相关文章

  1. OSI参考模型及各层功能,TCP与UDP的区别

    OSI参考模型:ISO/IEC 7498标准定义了网络互联的7层结构模型,即开放系统互连参考模型. OSI参考模型定义了开放系统的层次结构.层次之间的相互关系,以及各层所包括的可能的服务.OSI的服务 ...

  2. TCP与UDP的区别

    TCP与UDP的区别 TCP面向连接:UDP是无连接,即发送数据之前不需要建立连接 TCP提供可靠的服务,TCP连接传送的数据,无差错.不丢失.不重复,且按顺序到达:UDP尽最大努力交付,即不保证可靠 ...

  3. TCP和UDP的区别(转)

    TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  4. TCP与UDP的区别(转)

    源:http://blog.chinaunix.net/uid-20745340-id-1878774.html 参考:TCP协议与UDP协议的区别 TCP与UDP的区别 中国移动.中国联通推行的GP ...

  5. 【基础网络】TCP与UDP 的区别

    TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  6. TCP和UDP的区别(Socket)

    TCP和UDP区别 TCP和UDP编程区别 TCP编程的服务器端一般步骤是:  1.创建一个socket,用函数socket():  2.设置socket属性,用函数setsockopt(); * 可 ...

  7. 【转】TCP/IP协议中TCP和UDP的区别

    TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  8. 知其所以然~tcp和udp的区别

    TCP UDP TCP与UDP基本区别 基于连接与无连接 TCP要求系统资源较多,UDP较少: UDP程序结构较简单 流模式(TCP)与数据报模式(UDP); TCP保证数据正确性,UDP可能丢包 T ...

  9. 一文搞懂TCP与UDP的区别

    摘要:计算机网络基础 引言 网络协议是每个前端工程师都必须要掌握的知识,TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP,本文将介绍下这两者以及它们之间的区别. 一.TCP/I ...

  10. HTTP、TCP、UDP的区别

    TCP.UDP的区别 1.TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接 2.TCP提供可靠的服务.也就是说,通过TCP连接传送的数据,无差错,不丢失,不重 ...

随机推荐

  1. man lsof

    LSOF(8)                                                                LSOF(8) NAME       lsof - lis ...

  2. orm 查询数据库随机返回一条数据的解决办法用models.User.objests.all().order_by('?').first()

  3. swift中为什么要创造出可选型?

    (1)因为nil这个东西,swift中没有就是没有.  Int? 叫 整型可选型,如果不提前声明,直接赋值变量 nil会报错 . 可以将Int赋值给Int?   ,但是不能将Int?赋值给Int . ...

  4. Web上传文件的三种解决方案

    第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname =  ...

  5. [CSP-S模拟测试]:天空龙(模拟)

    题目描述 奥西里斯之天空龙很喜欢颜色,有一天他找到了三种颜色——红黄蓝.奥西里斯有$a$个红色,$b$个黄色,$c$个蓝色,他想用画出最好的画,可是需要至少$x$个红色,$y$个黄色和$z$个蓝色,似 ...

  6. python之_init_()方法浅析

    在python的类中,我们会经常看到一个类中的一个方法_init_(self) ,比如下面的一个例子: class Student(object): def __init__(self,name,we ...

  7. (转)YAML最最基础语法

    转:https://blog.csdn.net/vincent_hbl/article/details/75411243 正如YAML所表示的YAML Ain’t Markup Language,YA ...

  8. mysql_DML_select_union

    使用union可以将多个select 语句的查询结果集组合成一个结果集.select 字段列表1 from table1union [all]select 字段列表2 from table2...说明 ...

  9. 003-notepad++插件

    1.下载 https://github.com/bruderstein/nppPluginManager/releases 下载最新的PluginManager_vXXXX_UNI.zip 解压,将里 ...

  10. Xmanger远程连接Centos7(成功配置)

    参考1:https://blog.csdn.net/wuzhimang/article/details/51523867 参考2:https://blog.csdn.net/name_kongkong ...