一,网络编程中两个主要的问题
一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。
在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。
而TCP层则提供面向应用的可靠(TCP)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。
目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提 出申请。服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也 能及时得到服务。
二,两类传输协议:TCP;UDP
TCP是Tranfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送 或接收操作。
UDP是User Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。
比较:
UDP:
每个数据报中都给出了完整的地址信息,因此无需要建立发送方和接收方的连接。
UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内。
UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方
TCP:
面向连接的协议,在socket之间进行数据传输之前必然要建立连接,所以在TCP中需要连接时间。
TCP传输数据大小限制,一旦连接建立起来,双方的socket就可以按统一的格式传输大的数据。
TCP是一个可靠的协议,它确保接收方完全正确地获取发送方所发送的全部数据。
三,TCP与UDP协议各自的应用情景:
TCP在网络通信上有极强的生命力,例如远程连接(Telnet)和文件传输(FTP)都需要不定长度的数据被可靠地传输。但是可靠的传输是要付出代价的,对数据内容正确性的检验必然占用计算机的处理时间和网络的带宽,因此TCP传输的效率不如UDP高。
UDP操作简单,而且仅需要较少的监护,因此通常用于局域网高可靠性的分散系统中client/server应用程序。例如视频会议系统,并不要求音频视频数据绝对的正确,只要保证连贯性就可以了,这种情况下显然使用UDP会更合理一些。
相关推荐
### 知识点一:UDP协议基础 - **定义**:用户数据报协议(User Datagram Protocol,UDP)是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。与TCP相比,UDP不保证数据包的顺序、可靠性或流量控制。...
TCP 协议和 UDP 协议的异同点 TCP 协议和 UDP 协议是两种常见的传输层协议,它们都是为了实现数据传输任务的,但它们之间存在着许多不同点。下面我们将对 TCP 协议和 UDP 协议的异同点进行详细的分析。 首先,TCP ...
本篇文章将详细阐述这两种协议的基本概念、工作原理以及它们之间的区别,同时介绍一种能够测试TCP和UDP协议并抓取网络数据包的工具。 TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。...
TCP协议的主要特点包括: 1. 面向连接:TCP在数据传输之前需要建立连接,并在传输完成后断开连接。这种特性要求通信双方在发送数据前要进行三次握手,在结束通信时进行四次挥手。 2. 仅支持单播传输:TCP支持点对...
TCP/IP 协议与 UDP 协议的区别 TCP/IP 协议是面向连接的协议,在收发数据前,必须和对方建立可靠的连接。TCP 连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂。三个“对话”的目的是使数据包的发送和...
在TCP协议中,连接的建立和释放是通过三次握手机制来实现的。 1. TCP 连接的建立 在TCP连接的建立过程中,客户端和服务器端分别发送 SYN 报文、SYN+ACK 报文和ACK 报文,以确认连接的建立。在此过程中,客户端和...
测试TCP和UDP协议的工具有多种,它们可以帮助开发者验证网络通信的性能、稳定性及可靠性。"SocketTool4"可能是一款用于网络测试的工具,它可能包含了一系列用于TCP和UDP通信的实用程序,例如: 1. TCP连接测试:这...
当客户端使用TCP协议连接时,它会发送一个连接请求,服务器接收并确认后,双方即可通过各自的socket进行数据交换。对于UDP,客户端可以直接向服务器的特定端口发送数据报,而无需预先建立连接。 TCP和UDP的使用取决...
FINS TCP/UDP是FINS协议在网络层面上的应用,它利用了互联网上广泛使用的传输控制协议TCP和用户数据报协议UDP。TCP是一种面向连接的、可靠的传输协议,而UDP则是无连接的、不可靠的数据传输协议。在FINS TCP/UDP中,...
"TCP与UDP的区别" TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)是两种常用的网络传输协议。在网络通信中,选择合适的协议是非常重要的,因为不同的协议...
TCP 与 UDP 区别(socket 编程) TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议)是 TCP/IP 协议中的两个传输层协议,它们使用 IP 路由功能把数据包发送到...
本文将详细解析FINS UDP和FINS TCP两种通信协议,并进行通讯测试的说明。 1. **FINS UDP**: FINS UDP基于用户数据报协议(UDP/IP),这是一种无连接的通信方式,速度快但数据可靠性较低。在FINS UDP通信中,你...
"tcpudp 2.1.1 TCP/UDP 调试软件"是一款专门用于分析和调试TCP与UDP协议的工具,对于初学者来说,它可以帮助理解这两种协议的工作原理,以及如何在实际应用中使用它们。该软件可能包含了如下的功能特性: 1. 数据包...
TCP协议的核心特性在于其面向连接性,提供三次握手建立连接,确保数据传输前的双方确认。此外,TCP还采用滑动窗口机制和拥塞控制策略,保证数据的正确性和完整性,即使在网络不稳定的情况下也能实现数据的重传。然而...
在IT行业中,网络通信是软件开发中的重要环节,TCP(传输控制协议)和UDP(用户数据报协议)作为两种主流的传输层协议,被广泛应用于各种网络应用中。本篇将详细阐述TCP/UDP网络调试工具及其在开发过程中的作用。 ...
TCP-UDP 协议详解 TCP 协议基本原理: TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的可靠的传输层协议,它支持在不可靠网络上实现面向连接的可靠的数据传输。TCP 协议的主要特点是: 1. ...
本文是基于FPGA高性价比、可灵活配置的特点,也是当前流行的“微...本文通过在FPGA中硬件实现嵌入式TCP/IP协议(包括UDP、IP、ARP、TCP 等网络协议)以及以太网MAC协议,并提供标准MII接口,通过外接PHY实现 网络连接。