第二章 传输层TCP UDP

一.概述

TCP传输控制协议 (Transmission Control Protocol)。

TCP是一个面向连接的协议,为用户进程提供可靠的全双工字节流。TCP套接字是一种流套接字(streamsocket)。TCP关心确认、超时和重传之类的细节。大多数因特网应用程序使用TCP。注意,TCP既可以使用IPv4,也可以使用IPv6。

UDP用户数据报协议 (User Datagram Protocol)。

UDP是一个无连接协议。UDP套接字是一种数据报套接字 (datagram socket)。UDP数据报不能保证最终到达它们的目的地。与TCP一样,UDP既可以使用IPv4,也可以使用IPv6。

二.用户数据包协议UDP

UDP是一个简单的传输层协议,。应用进程往一个UDP套接字写入一个消息,该消息随后被封装 (encapsulating) 到一个UDP数据报,该UDP数据报进而又被封装到一个IP数据报,然后发送到目的地。UDP不保证UDP数据报会到达其最终目的地,不保证各个数据报的先后顺序跨网络后保持不变,也不保证每个数据报只到达一次。
我们也说UDP提供无连接的 (connectionless)服务,因为UDP客户与服务器之间不必存在

任何长期的关系。举例来说,一个UDP客户可以创建一个套接字并发送一个数据报给一个给定
的服务器,然后立即用同一个套接字发送另一个数据报给另一个服务器。同样地,一个UDP服
务器可以用同一个UDP套接字从若干个不同的客户接收数据报,每个客户一个数据报。

三.传输控制协议TCP

1.TCP通过给其中每字节关联一个序列号对所发送的数据进行排序 (sequencing)。举例来说,

假设一个应用写2048字节到一个TCP套接字,导致TCP发送2个分节:第一个分节所含数据的序
列号为1~1024,第二个分节所含数据的序列号为1025~2048。(分节是TCP传递给IP的数据单
元。)如果这些分节非顺序到达,接收端TCP将先根据它们的序列号重新排序,再把结果数据传
递给接收应用。如果接收端TCP接收到来自对端的重复数据(譬如说对端认为一个分节已丢失
并因此重传,而这个分节并没有真正丢失,只是网络通信过于拥挤),它可以(根据序列号)判
定数据是重复的,从而丢弃重复数据。

2.再次,TCP提供流量控制(flow control)。TCP总是告知对端在任何时刻它一次能够从对端

接收多少字节的数据,这称为通告窗口 (advertised window)。在任何时刻,该窗口指出接收缓
冲区中当前可用的空间量,从而确保发送端发送的数据不会使接收缓冲区溢出。该窗口时刻动
态变化:当接收到来自发送端的数据时,窗口大小就减小,但是当接收端应用从缓冲区中读取
数据时,窗口大小就增大。通告窗口大小减小到0是有可能的:当TCP对应某个套接字的接收缓
冲区已满,导致它必须等待应用从该缓冲区读取数据时,方能从对端再接收数据。

3.最后,TCP连接是全双工的(full-duplex)。这意味着在一个给定的连接上应用可以在任何时刻在进出两个方向上既发送数据又接收数据。因此,TCP必须为每个数据流方向跟踪诸如序列号和通告窗口大小等状态信息。建立一个全双工连接后,需要的话可以把它转换成一个单工

连接(见6.6节)。

四.TCP连接的建立和终止

相关推荐
严谨的麻辣烫3 小时前
数据中心出口与住宅出口的技术差异:从 ASN 到 TCP 行为的一次拆解
网络·网络协议·tcp/ip
Freed&3 小时前
Zabbix TCP连接状态自定义监控完整部署手册
网络·tcp/ip·zabbix
2501_915921434 小时前
抓包鹰 Traceeagle 解除证书绑定,SSL Pinning 解除
网络·网络协议·网络安全·ios·adb·https·ssl
Lucky_Turtle5 小时前
【SSL】letsencrypt域名证书申请,Cloudflare域名
网络·网络协议·ssl
路由侠内网穿透5 小时前
本地部署企业级快速开发平台芋道管理后台并实现外部访问
运维·服务器·网络·网络协议
Sylvia33.10 小时前
篮球数据API的技术架构与工程实践:基于火星数据WebSocket实时推送体系
java·python·websocket·网络协议·架构
千视kiloview12 小时前
“轻”不等于降级:IP时代广播制作系统的轻量化与Hybrid架构实践
网络·tcp/ip·架构
m0_7494922212 小时前
精密制造检测设备采购:五款超高精度三坐标测量机对比
网络协议
聚美智数15 小时前
SSL证书信息查询-SSL域名解析-SSL证书查询服务-SSL证书解析服务API接口介绍
网络·网络协议·ssl
瓦学妹15 小时前
美国住宅IP如何选?不同平台配置选择标准与教程指南
网络·网络协议·tcp/ip