第六章TCP和UDP基本原理

TCP/IP协议族的传输层协议主要包括TCP和UDP。TCP是面向连接的可靠的传输协议。它支持在并不可靠的网络上实现面向连接的可靠数据传输。UDP是无连接的传输协议,主要用于支持在校可靠的链路上的数据传输,或用于对延迟敏感的应用。

TCP/IP传输层的作用

TCP/IP的传输层位于应用层和网络层之间,为终端主机提供端到端的连接。TCP/IP的传输层有TCP和UDP两种主要协议。TCP和UDP都基于相同的网络层协议IP。传输层协议的主要作用:

  • 提供面向连接或无连接的服务:传输层协议定义了通信两端点之间是否需要建立可靠的连接关系。
  • 维护连接状态:如果必须在通信前建立连接关系,传输层协议必须在其数据库中记录这种连接关系,并且通过某种机制维护连接关系,及时发现连接故障灯。
  • 对应用层数据进行分段和封装:应用层数据往往是大块的或持续的数据流,而网络只能发送长度有限的数据包,传输层协议必须在船上应用层数据之前将其划分成适当尺寸的段(segment),再交给IP协议发送。
  • 实现多路复用(Multiplexing):一个IP地址可以标识一个主机,一对“源-目的”IP地址可以标识一对主机的通信关系,而一个主机上却可能同时有多个程序访问网络,因此传输层协议采用端口号(port number)来标识这些上层的应用程序,从而使这些程序可以复用网络通道。
  • 可靠地传输数据:数据在跨网络传输过程中可能出现错误、丢失、乱序等种种问题,传输层协议必须能够检测并更正这些问题。
  • 执行流量控制(flow control):当发送方的发送速率超过接收方的接收速率时,或者当资源不足以支撑数据的处理时,传输层负责将流量控制在合理的水平;反之,当资源允许时,传输层可以放开流量,使其增加到适当的水平。

TCP协议基本原理

TCP协议的特点


RFC793定义的TCP是一种面向连接的、端到端的可靠传输协议。TCP的主要特点包括:

  • 三次握手(Three-Way Handshake)建立连接:确保连接建立的可靠性。
  • 端口号:通过端口号标识上层协议和服务,实现了网络通道的多路复用。
  • 完整性校验:通过对协议和载荷数据计算校验和(Checksum),保证了接收方能检测出传输过程中可能出现的差错。
  • 确认机制:对于正确接收到的数据,接收方通过显式应当通告发送方,超出一定时间之后,发送方将重传没有被确认的段,确保传输的可靠性。
  • 序列号:发送的所有数据都拥有唯一的序列号,这样不但唯一标识了每一个段(segment),而且明确了每个段在整个数据流中的位置,接收方可以利用这些信息实现确认、丢失检测、乱序重排等功能。
  • 窗口机制:通过可调节的窗口,TCP接收方可以通告期望的发送速度,从而控制数据的流量。
时间: 2024-09-27 04:46:17

第六章TCP和UDP基本原理的相关文章

图解 TCP/IP 第六章 TCP与UDP 笔记6.1 传输层的作用

?图解?TCP/IP? 第六章?TCP与UDP? ?笔记6.1 传输层的作用 ? 传输层必须指出这个具体的程序,为了实现这一功能,使用端口号这样一种识别码.根据端口号,就可以识别在传输层上一层的应用程序所有进行处理的具体程序. ? 6.1.1 传输层定义 6.1.2 通信处理 ? 6.1.3 两种传输层协议 TCP和UDP TCP 是面向连接的.可靠的流协议.流就是指不间断的数据结构,你可以把它想象成排水管道中的水流. UDP 是不具有可靠性的数据包协议 .细微的处理会交给上层的应用去完成.在U

TCP和UDP基本原理

TCP和UDP基本原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 传输层的主要任务就是建立应用程序间的端到端连接,并且为数据传输提供可靠或不可靠的通信服务,TCP/IP协议族的传输层协议主要包括TCP和UDP ,TCP是面向连接的可靠的传输层协议,它支持在不可靠网络上实现面向连接的可靠的数据传输 ,UDP是无连接的传输协议,主要用于在相对可靠的网络上的数据传输,或用于对延迟较敏感的应用等. 1.传输层的作用 a>.提供面向连接或无连接的服务 b>.维护连接状态 c>

Qt浅谈之十六:TCP和UDP(之一)

一.简介 Qt使用QtNetwork模块来进行网络编程,提供了一层统一的套接字抽象用于编写不同层次的网络程序,避免了应用套接字进行网络编的繁琐(因有时需引用底层操作系统的相关数据结构).有较底层次的类如QTcpSocket.QTcpServer和QUdpSocket等来表示低层的网络概念:还有高层次的类如QNetworkRequest.QNetworkReply和QNetworkAccessManager使用相同的协议来执行网络操作:也提供了QNetworkConfiguration.QNetw

第九章 TCP和UDP同时用复用一个端口实现一个回射服务器

#include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <assert.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <string.h> #include

第九章 TCP和UDP同一时候用复用一个port实现一个回射server

#include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <assert.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <string.h> #include

Unix网络编程学习笔记之第2章 TCP和UDP

TCP 1. TCP面向连接的协议,是一个字节流协议,没有任何记录边界.发送的是数据分组. 2. TCP提供了可靠性:确认重传和重组 (1) TCP每发送一份数据都会要求对端进行确认.如果超时,就会重传.TCP会估计往返时间RTT,以确定等待多长时间重传. (2) 如果多次发送数据分组,TCP可以保证分组的按序达到.即会根据序列号进行重组. 3. TCP提供流量控制 TCP在任何时刻通知对端,它此时一次能够接受多少字节的数据,即通告窗口.该窗口指出接受缓冲区当前可用的空间. 4. 为何说TCP是

第二章 传输层:TCP、UDP和SCTP

//1. IPv4 : 网际协议版本4.使用32位地址.IPv4给TCP.UDP.SCTP.ICMP.IGMP提供分组递送服务. IPv6 : 网际协议版本6.使用128位地址.IPv6给TCP.UDP.SCTP.ICMPv6提供分组递送服务. TCP/IP协议概况: IP协议: //2. UDP简介: UDP是一个简单的传输层协议,应用进程往一个UDP套接字写入一个消息,该消息随后被封装到一个UDP数据报中, 该UDP数据包又被封装入一个IP数据报,然后发送至目的地.UDP不保证其数据报会到达

Linux与云计算——第二阶段Linux服务器架设 第六章:目录Directory服务器架设—FreeIPA

Linux与云计算--第二阶段Linux服务器架设 第六章:目录Directory服务器架设-FreeIPA 1 FreeIPA 配置FreeIPA服务器 Configure IPA Server to share users' account in your local network. [1] Install FreeIPA. [[email protected] ~]# yum -y install ipa-server ipa-server-dns bind bind-dyndb-lda

Laxcus大数据管理系统2.0(8)- 第六章 网络通信

第六章 网络通信 Laxcus大数据管理系统网络建立在TCP/IP网络之上,从2.0版本开始,同时支持IPv4和IPv6两种网络地址.网络通信是Laxcus体系里最基础和重要的一环,为了能够利用有限的网络资源,获得最大化的使用效率,我们根据大数据网络环境的特点,设计了一套专属网络通信协议,以及在此协议基础上实现的多套网络通信方案,它们共同组成了Laxcus集群的网络通信基础.本章将以TCP/IP协议为起点,介绍与网络通信有关的各个组成部分. 6.1 FIXP协议 Laxcus采用FIXP协议通信