Skip to Content
核心网络协议数据包指南
book

核心网络协议数据包指南

by Bruce Hartpence
May 2025
Beginner to intermediate
264 pages
2h 55m
Chinese
O'Reilly Media, Inc.
Content preview from 核心网络协议数据包指南

第 9 章 传输控制协议 传输控制协议

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

无论您在连接网络时做什么--例如,连接网络服务器或打印机--连接都受少量协议的制约。这些协议提供了逻辑端点,你可以向其发出请求、发送回复或发送数据。虽然有许多协议协同工作,以便将信息从一个位置传输到另一个位置,但传输控制协议(TCP)和用户数据报协议(UDP)负责将连接两端的应用程序拴在一起。

在编写应用程序时,开发人员会决定它是基于 TCP 还是 UDP。这两个协议管理着当今网络上运行的大部分流量,尽管它们的处理方式并不相同。例如,访问网页会在客户端计算机和网络服务器之间创建一个 TCP 连接。从操作上讲,这种连接具有特定的行为。相比之下,IP 语音(VoIP)连接的行为则截然不同,因此要使用 UDP 对数据进行封装。

本章将详细介绍 TCP,包括客户端和服务器机器之间的数据包流以及数据包内容的解释。由于这些连接是在客户机(主机)和服务器之间进行的,因此还将涉及客户机/服务器模型。与前几章一样,我们的讨论将围绕标准或 RFC 中的主题以及实际网络操作展开。

早在 1981 年的 RFC 793 中就首次描述了 TCP。此后,它又经过多次更新,其中一些最新的工作涉及安全威胁。本章也将在这方面提供一些指导。

客户机/服务器模式

第 1 章中介绍的那些模型,读起来并不令人兴奋,客户机/服务器模型也不例外。不过,由于本章中有许多术语都来自这种架构,因此有必要对其中的一些细节进行介绍。

图 9-1显示了基本的客户机/服务器模型。 从广义上讲,客户机是指网络上的计算机。人们坐在电脑前观看 YouTube 等视频,或尝试完成打印或存储文件等工作。其中许多活动只能通过与另一台电脑通信来完成,而这台电脑会为你做一些事情--进入服务器。说得更专业一点,我们可以说,客户端是运行在你电脑上的软件,而服务器是运行在另一台电脑上的软件。 服务器监听连接,客户端向服务器发出请求。 通常,服务器运行在服务器级机器上。 服务器级机器是指具有大内存、大处理能力和高速网络连接的强大机器,其设计理念就是要满足许多客户端的请求。例如,你打开最喜欢的网络客户端(浏览器),如 Firefox,然后连接到你最喜欢的网站,Presto--一个客户端/服务器连接就建立起来了。我们会发现,这种连接可以通过用于传输的地址进行唯一识别。

图 9-1. 客户端和服务器

如果我们再仔细观察一下客户端计算机,就会发现它同时在执行多项任务,而这些任务又与许多目的地相关联。这就进一步说明,单个客户端并不是计算机,而是计算机上运行的程序,一台计算机上可以同时存在多个客户端。当我们因为要观看视频或获取文件而连接到另一台计算机时,我们连接到的并不是目的地计算机,而是在该计算机上运行的服务器程序。在任何时候,使用电脑的人都可能同时打开浏览器、处理电子邮件、打印和发送信息。这些都是连接到不同服务器的不同客户端。用户并不需要主动参与这些活动,因为连接一旦建立,通常会一直保留到手动关闭或超时为止。例如,在使用 Facebook 时,即使你没有更新状态,也仍然处于连接状态。还有许多客户端程序正在运行,但与键盘上的人毫无关系。微软、Flash 和 Java 更新程序就是自动客户端的很好例子。

计算机上运行的程序(如 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

IPv6解析 第三版

IPv6解析 第三版

Silvia Hagen

Publisher Resources

ISBN: 9798341658752