• 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. LeetCode--044--通配符匹配(java)*

    给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配. '?' 可以匹配任何单个字符. '*' 可以匹配任意字符串(包括空字符串). 两个字符串完全匹配才算 ...

  2. OC + RAC (二) Command 命令的用法

    -(void)_test2{ ///////////////////////////////////////Command 命令的用法 注意使用command.executionSignals去订阅时 ...

  3. codeforces 848B - Rooter's Song(构造+几何)

    原题链接:http://codeforces.com/problemset/problem/848/B 题意:好多个人分别从x,y轴不同位置不同时间往垂直坐标轴方向移动,一旦相遇他们转向,问所有人的到 ...

  4. Xcode编辑器之快捷键的使用

    一,快捷键图标 图标 键盘 ⌘ Command ⌃ Control ⌥ Option ⇧ Shift 二, 常用快捷键 文件快捷键 快捷键 键盘  描述 ⌘N  command + N 新文件 ⇧⌘N ...

  5. Java继承基础版

    继承是软件开发中实现代码复用的有效手段,如果一个类A继承了类B那么类B中的public.protected及默认修饰符修饰的实例成员或静态成员将被类A继承,也可以说类B的成员就是类A的成员而类A在此基 ...

  6. java 简单指令说明

    javac:Java编译器,Java程序的编译工具,用来将Java程序的源文件编译成字节码文件,也就是.class文件.java:Java解释器,解释和执行已经转换成字节码的Java应用程序.jdb: ...

  7. sqlalchemy.orm.exc.DetachedInstanceError: 错误解决

    使用sqlchemy查询出一个集合的时候第一个对象可以使用,后面的就报如下错误. sqlalchemy.orm.exc.DetachedInstanceError: Instance <Logi ...

  8. P1982小朋友的数字

    传送 手疼qwq 翻译一下题面.就是说,给n个数,第i个数(包括第i个)以及之前的数构成的最大子段和是i的特征值,i以前(不包括i)的数中最大的分数j+特征值j是i的分数,求所有人中的最大分数. (好 ...

  9. Java常用工具——java集合

    一.ArrayList package com.imooc.set; import java.util.ArrayList; import java.util.List; public class A ...

  10. 通过VLC的ActiveX进行二次开发,实现一个多媒体播放器 2011-04-10 00:57:23

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=25498312&id=218294  通过VLC的ActiveX进行二 ...