zoukankan      html  css  js  c++  java
  • TCP与UDP协议【Socket编程2】

      要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准,

    从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族。不同于ISO模型的七个分层,TCP/IP协议参考模型把所有的TCP/IP系列协议归类到四个抽象层中

      应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等

      传输层:TCP,UDP

      网络层:IP,ICMP,OSPF,EIGRP,IGMP

      数据链路层:SLIP,CSLIP,PPP,MTU

     

      TCPTranfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送 或接收操作。

      UDPUser Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。

     

    比较:

    UDP1.每个数据报中都给出了完整的地址信息,因此无需要建立发送方和接收方的连接。

              2.UDP传输数据时是大小限制的,每个被传输的数据报必须限定在64KB之内

              3.UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方

    TCP1.面向连接的协议,在socket之间进行数据传输之前必然要建立连接,所以在TCP中需要连接时间。

              2.TCP传输数据大小限制,一旦连接建立起来,双方的socket就可以按统一的格式传输大的数据。

              3.TCP是一个可靠的协议,它确保接收方完全正确地获取发送方所发送的全部数据。

    应用:

      1、TCP在网络通信上有极强的生命力,例如远程连接(Telnet)和文件传输(FTP)都需要不定长度的数据被可靠地传输。但是可靠的传输是要付出代价的,对数据内容正确性的检验必然占用计算机的处理时间和网络的带宽,因此TCP传输的效率不如UDP

      2、UDP操作简单,而且仅需要较少的监护,因此通常用于局域网高可靠性的分散系统中client/server应用程序。例如视频会议系统,并不要求音频视频数据绝对的正确,只要保证连贯性就可以了,这种情况下显然使用UDP会更合理一些。

    ---恢复内容结束---

  • 相关阅读:
    快捷方式总结
    高版本数据库数据附加到低版本数据库中的解决方案
    boost_1_63_0在Win10上VS2015编译
    基于ACE的TAO开发---一个简单的入门实例-----VS2008(二)
    基于ACE的TAO开发---一个简单的入门实例-----VS2008(一)
    Wireshark抓包过滤
    Wireshark抓本地回环
    使用UMDH进行内心泄露分析
    类设计者的核查表
    关于数据同步,窗口同步之类
  • 原文地址:https://www.cnblogs.com/leelee/p/6842897.html
Copyright © 2011-2022 走看看