`
任我随风
  • 浏览: 14269 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

TCP/IP通信与UDP通信的区别

阅读更多
    网络通讯的协议是开发网络程序的基础。目前最常用的协议是TCP/IP 协议和UDP 协议。下面分别介绍这两种协议:

一、基本说明

    TCP(Tranfer Control Protocol的缩写)是一种面向连接的保证传输的协议,在传输数据流前,双方会先建立一条虚拟的通信道。可以很少差错传输数据。
    UDP(User DataGram Protocol的缩写)是一种无连接的协议,使用UDP传输数据时,每个数据段都是一个独立的信息,包括完整的源地址和目的地,在网络上以任何可能的 路径传到目的地,因此,能否到达目的地,以及到达目的地的时间和内容的完整性都不能保证。

二、区别

1.形象区别:

    TCP/IP通信与UDP通信的区别就正如我们打电话和发短信之间的区别,我们打电话时首先要和对方建立连接才开始说话,即发送数据,而发短信时我们不用管那么多,不用先建立连接,只要发出去就OK了,这两种通信方式各有好处。

2.具体区别:

(1)基于连接与无连接:
     TCP/IP是面向连接的协议,所谓“面向连接”就是在正式通信前必须要与对方建立起连接。
     UDP是面向非连接的协议,所谓“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。

(2)对系统资源的要求:
     TCP占用系统资源多。 TCP/IP协议是面向连接的,一个TCP连接的建立必须经过三次“对话”才能建立起来,而断开连接要进行4次,所以TCP必UDP多了建立连接的时间,它的通信效果不高。
     UDP占用系统资源少。UDP协议没有连接的过程,所以它的通信效果高;

(3)可靠性:
     TCP/IP协议是可靠的协议。TCP保证数据正确性,保证数据顺序。TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。
     UDP协议是不可靠的协议。UDP可能丢包,UDP不保证数据顺序。UDP协议是面向非连接的协议,没有建立连接的过程,所以它的可靠性不如TCP协议高。

(4)传输的大小:
     TCP/IP协议传输的大小不限制,一旦连接被建立,双方可以按照一定的格式传输大量的数据。TCP适用于对可靠性、安全性要求高的数据通信系统或者传送大量数据的应用环境
     UDP协议是一个不可靠的协议,大小有限制,每次不能超过64K。UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。


三、补充(三次握手四次断开):

    TCP是面向连接的,一个TCP连接的建立必须经过三次“对话”才能建立起来,即我们所说的“三次握手”,而断开一个TCP连接需要四次“对话”才能完成,当然这是在正常的情况下,如果你是直接拔电源那就只需一次就ok了。 TCP三次握手过程1 客户向服务器发送建立连接请求。2 服务器收到客户请求后,向客户端发送确认消息。3 客户收到服务器发来得请求后,再发送一个确认应答,确认已收到主服务器发来得消息:"我已收到回复,我现在要开始传输实际数据了这样3次握手就完成了,客户端和服务器就可以传输数据了.TCP建立连接要进行3次握手,而断开连接要进行4次 ...

    
分享到:
评论

相关推荐

    TCP/IP-UDP/IP网络调试工具软件.rar

    TCP/IP-UDP/IP网络调试工具软件.rar 可以作为TCP/IP的客户端与服务端通信,UDP/IP的通信,用于网络的报文接收与发送的调试,非常好用

    Delphi 编写TCP/IP网络Socket通信程序

    计算机网络是由一系列网络通信协议组成的,其中的核心协议是传输层的TCP/IP和UDP协议。TCP是面向连接的,通信双方保持一条通路,好比目前的电话线,使用telnet登陆BBS,用的就是TCP协议;UDP是无连接的,通信双方都...

    TCP/UDP/IP/IPv6 异步通信调试工具

    集成IPv4和IPv6下的TCP/UDP通信调试工具 可绑定本地端口,全部由对应套接字编写,采用异步通信方式,有想学习套接字通信或者异步通信的童鞋来说应该有很大帮助

    Socket网络TCP/UDP通信调试工具

    SocketTool调试工具官方版是一款网络TCP/UDP通信调试工具。SocketTool调试工具最新版可以有效地帮助网络管理员检测各种网络通信状永久,集成了TCP服务器/客户端、UDP服务器/客户端和UDP广播/组播等功能。SocketTool...

    西门子开放式TCP / IP通信的创建??连接数据向导.pdf

    西门子开放式TCP / IP通信的创建...只能通过用于开放式通信的函数块对集成以太网接口进行TCP / IP通信组态为了便于对该开放式通信(本地TCP,ISO-ON-TCP,UDP)进行组态,本文提供开放式通信向导(OC向导)的免费下载。

    builder C++ 6.0 TCP/IP通信助手

    builder C++ 6.0 TCP/IP通信小助手

    Android socket局域网的UDP广播自动连接及TCP/ip通讯与心跳检测

    简单的Android Socket ...客户端通过UDP广播获取到服务器端的IP地址,通过TCP/IP协议与服务器建立连接。代码实现心跳检测,当服务器断网或是结束进程,客户端可重新连接(重连部分自己实现);代码有点凌乱,仅供参考!

    TCP/IP教程TCP/IP基础

    第一部分 TCP/IP基础 第1章 开放式通信模型简介 1 1.1 开放式网络的发展 1 1.1.1 通信处理层次化 2 1.1.2 OSI参考模型 3 1.1.3 模型的使用 5 1.2 TCP/IP参考模型 7 1.3 小结 7 第2章 TCP/IP和Internet 8 2.1 一段...

    VB .net TCP/IP通信

    VB .net TCP/IP通信VB .net TCP/IP通信VB .net TCP/IP通信VB .net TCP/IP通信

    C语言实现TCP/IP协议通信和UDP协议通信(代码+报告)

    C语言实现TCP/IP协议通信和UDP协议通信,可以作为socket编程的代码示例参考并学习,同时提供实验的报告可以一并参考

    MFC TCP/IP UDP

    仿QQ聊天程序,基于MFC编写的TCP/IP、UDP的服务端和客户端通信程序。绝对能运行。

    TCP/IP技术大全

    24.1 Novell与TCP/IP 262 24.1.1 IP与NetWare 4 262 24.1.2 NetWare 5与Pure IP初始化 262 24.2 传统解决方案:NetWare 3.x到 NetWare 4.x的IP支持 263 24.2.1 IP隧道 264 24.2.2 IP中继 264 24.2.3 LAN WorkPlace ...

    c# TCP/ip通信程序代码

    用C#写的c# TCP/ip通信程序代码 ,主要用tcp 不是 udp 用到了tcplistener ,tcpcilent 等对象

    基于Windows的TCP/IP及UDP通信类库

    基于微软的MFC界面,基于底层的SOCKET对通信功能进行打包,实现同步传输,这版本只实现中断式同步传输,不可以在多线程中使用异步模式.

    TCP/IP java 编程

    而Socket通信就是基于TCP/IP协议的一直通信机制。TCP/IP网络中最常用的传输协议TCP和UDP。传输层通常以TCP和UDP协议来控制端点到端点的通信。Socket定义了通信的端点,是由IP地址和端口号组成。JAVA语言已经成为现今...

    网络调试助手TCP/ip UDP

    直接可以进行TCP/IP或UDP的网络连接和通信测试,方便使用。直接可以进行TCP/IP或UDP的网络连接和通信测试,方便使用。 直接可以进行TCP/IP或UDP的网络连接和通信测试,方便使用。 直接可以进行TCP/IP或UDP的网络连接...

    TCPIP安全 TCP/IP是Internet实现通信的核心

    在IP层定义了一个标准的包格式和协议,所有上层通信如TCP,UDP,ICMP等都被封装在一个IP数据报中,在网络层应用的协议在主机到主机的通信中起到了帮助作用。绝大多数安全威胁 并不来自于TCP/IP的这一层。

    TCP/IP技术大全(中文PDF非扫描版)

    包括开放式通信模型、TCP/IP通信模型、IP网络中的命名和寻址机制、地址解析及反向地址解析协议、DNS域字服务器、WINS、地址发现协议、IPv6、IP网络中的路由协议(RIP、OSPF等)、互联网打印协议、LDAP目录服务、远程...

    QT_Tcp5.6.rar_QT_QT TCP_Qt TCP/IP_qt udp_tcp

    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议...

Global site tag (gtag.js) - Google Analytics