TCP协议规范(中文版)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

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

TCP协议主为了在主机间实现高可靠性的包交换传输协议。本文将描述协议标准和实现的一些方法。因为计算机网络在现代社会中已经是不可缺少的了,TCP协议主要在网络不可靠的时候完成通信,对军方可能特别有用,但是对于政府和商用部门也适用。TCP是面向连接的端到端的可靠协议。它支持多种网络应用程序。TCP对下层服务没有多少要求,它假定下层只能提供不可靠的数据报服务,它可以在多种硬件构成的网络上运行。下面的图是TCP在层次式结构中的位置,它的下层是IP协议,TCP可以根据IP协议提供的服务传送大小不定的数据,IP协议负责对数据进行分段,重组,在多种网络中传送。

网络层次

TCP的上面就是应用程序,下面是IP协议,上层接口包括一系列类似于操作系统中断的调用。对于上层应用程序来说,TCP应该能够异步传送数据。下层接口我们假定为IP协议接口。为了在并不可靠的网络上实现面向连接的可靠的传送数据,TCP必须解决可靠性,流量控制的问题,必须能够为上层应用程序提供多个接口,同时为多个应用程序提供数据,同时TCP必须解决连接问题,这样TCP才能称得上是面向连接的,最后,TCP也必须能够解决通信安全性的问题。

网络环境包括由网关(或其它设备)连接的网络,网络可以是局域网也可以是一些城域网或广域网,但无论它们是什么,它们必须是基于包交换的。主机上不同的协议有不同的端口号,一对进程通过这个端口号进行通信。这个通信不包括计算机内的I/O操作,只包括在网络上进行的操作。网络上的计算机被看作包传送的源和目的结点。特别应该注意的是:计算机中的不同进程可能同时进行通信,这时它们会用端口号进行区别,不会把发向A进程的数据由B进程接收的。

进程为了传送数据会调用TCP,将数据和相应的参数传送给TCP,于是TCP会将数据传送到目的TCP那里,当然这是通过将TCP包打包在IP包内在网络上传送达到的。接收方TCP在接收到数据后会通信上层应用程序,TCP会保证接收数据顺序的正确性。虽然下层协议可能不会保证顺序是正确的。这里需要说明的是网关在接收到这个包后,会将包解开,看看是不是已经到目的地了,如果没有到,应该走什么路由达到目的地,在决定后,网关会根据下一个网络内的协议情况再次将TCP包打包传送,如果需要,还要把这个包再次分成几段再传送。这个落地检查的过程是一个耗时的过程。从上面,我们可以看出TCP传送的基本过程,当然具体过程可能要复杂得多。

在实现TCP的主机上,TCP可以被看成是一个模块,和文件系统区别不大,TCP也可以调用一些操作系统的功能,TCP不直接和网络打交道,控制网络的任务由专门的设备驱动模块完成。TCP只是调用IP接口,IP向TCP提供所有TCP需要的服务。通过下图我们可以更清楚地看到TCP协议的结构。

网络层次联系

上面已经说过了,TCP连接是可靠的,而且保证了传送数据包的顺序,保证顺序是用一个序号来保证的。响应包内也包括一个序列号,表示接收方准备好这个序号的包。在TCP传送一个数据包时,它同时把这个数据包放入重发队列中,同时启动记数器,如果收到了关于这个包的确认信息,将此包从队列中删除,如果计时超时则需要重新发送此包。请注意,从TCP返回的确认信息并不保证最终接收者接收到数据,这个责任由接收方负责。

每个用于传送TCP的通道都有一个端口标记,因为这个标记是由每个TCP终端确定的,因此TCP可能不唯一,为了保证这个数值的唯一,要使用网络地址和端口号的组合达到唯一标识的目的,我们称这个为了套接字(Socket),一个连接由连接两端的套接字标识,本地的套接字可能和不同的外部套接字通信,这种通信是全双工的。

通过向本地端口发送OPEN命令及外部套接字参数建立连接,TCP返回一个标记这个连接的名称,以后如果用户需要使用这个名称标记这个连接。为了保存这个连接的信息,我们假设有一个称为传输控制块(Transmission Control Block,TCB)的东西来保存。OPEN命令还指定这个连接的建立是主动请求还是被动等待请求。下面我们要涉及具体的功能了,TCP段以internet数据报的形式传送。IP包头传送不同的信息域,包括源地址和目的地址。TCP头跟在internet包

千兆以太网TCP协议的FPGA实现。 千兆以太网TCP协议的FPGA实现 Lzx 2017/4/20 写在前面,这应该是我大四最后一个工程性的作品了,以后要养成写文档记录的习惯。说明下,本工程为纯verilog实现的硬件TCP收发器,不同于其他的使用MCU构建软件协议栈的方案,如有同学学习实验需要用到,可以找我拿代码,商用的话不好意思,还请Pay。 联系方式QQ:929259243 本 阅读详情

相关推荐

开放型 MODBUS-TCP规范中文版

导读:      作为公共评论的草案。      再版1999年3月29日,即修订版1.0。      没有大的技术改动,仅作了补充说明。   增加了附录A和B作为对一些常用执行问题的回应。         该Modbus/TCP规范在万维网上公开发行。它表明开发者的意愿是把它作为工业自动化领域具有互用性的标准。      既然MODBUS和MODBUS/TCP作为事实上的“实际”标准,而

eltonzhao的专栏 2606

TCP/IP网络协议

TCP/IP网络协议 1.目前广泛商用的体系结构是TCP/IP协议TCP/IP是Kahn在1974年就已经定义的参考模型,80年代Leiner、Clark等人对其进行了进一步的研究。目前为止TCP/IP一共出现了6个版本,即版本1、2、3、4、5、6,目前我们广泛使用的是版本4,即IPv4。相信大家也一定听说过IPv6,这就是TCP/IP协议的版本6,它也被称为下一代的IP协议。 他们的区别就在...

温泉 866

TCP各个版本的理解与比较

查了很久的资料,文中列出了TCP协议各个版本的理解,不同点以及改进。适合网络学习者查看和了解。

TCP各种版本的理论解析

原链接:http://blog.chinaunix.net/u3/105477/showart_2099249.html   0. TCP的版本:(区别:拥塞控制的方法不同)        TCP Tahoe          TCP Reno           TCP NewReno         TCP Sack        TCP Vegas和Reno系列 

flyuniverse_shell的专栏 4900

计算机网络面试知识点

前段时间找工作搜索 golang 面试题时,发现都是比较零散或是基础的题目,覆盖面较小。而自己也在边面试时边总结了一些知识点,为了方便后续回顾,特此整理了一下。

yue_xin_tech 1166

TCP协议规范(中文版) ()

TCP协议规范(中文版) ()[@more@]传输控制协议(Transmission Control Protocol, TCPTCP协议主为了在主机间实现高可靠性的包交换传输协议。本文将描述协议标准和实现的一些方法。...

circularr9834的博客 622

[计算机网络]---TCP协议

TCP协议的格式。TCP协议的机制:滑动窗口,流量控制,拥塞控制,延迟应答,稍带应答。TCP协议是面向字节流的,粘包问题和TCP异常情况。

分享技术 3598

modbus-tcp规范

MODBUS-TCP规范(中文版) - 百度文库

weixin_39926429的博客 264

STOMP协议规范1.2中文版

STOMP协议,是一种为MOM(Message OrientedMiddleware面向消息中间件)设计的简单文本协议,设计简单,很容易开发客户端。自己由于需要接触到,看了1.2版本的规范,自己也是一边阅读一边学习,因此在学习过程中把整个规范文档给翻译了出来,希望能帮到不熟悉该协议的人快速上手,想更确切理解协议的读者可以阅读原文档。希望对大家有所帮助。               STOM

ssjewcw的专栏 1658

中文RFC

 http://blog.chinaunix.net/u1/33803/  此博客中有几个中文RFC文档下载。其中就有:RFC793——TCP协议 RFC2616(HTTP)中文版 RFC2660——SHTTP 在此谢过博主!

bjxg--北极星光 751

TCP协议中文版 RFC9293

之前搜TCP协议的资料,发现零零散散的各种文档规范,如RFC793等,其中有的有点过时了。其实,有个集大成者RFC9293,发现网上说的较少,且没找到中文版。因此翻译一版,便于大家学习TCP。翻译如有谬误,请大家不吝指教。英文版本文档规定了传输控制协议TCP)。TCP是互联网协议栈中的重要的传输层协议,并且随着数十年的使用和互联网发展,TCP不断改进。在此期间,对RFC793的TCP进行了大量更改,尽管这些更改只是以零碎的方式记录下来。

lic721的博客 1748

TCP协议详解 (史上最全)

网络拓扑图吧,请做好。

chentiebo的博客 4万+

TCP协议规范

传输控制协议(Transmission Control Protocol, TCPTCP协议主为了在主机间实现高可靠性的包交换传输协议。本文将描述协议标准和实现的一些方法。因为计算机网络在现代社会中已经是不可缺少的了,TCP协议主要在网络不可靠的时候完成通信,对军方可能特别有用,但是对于政府和商用部门也适用。TCP是面向连接的端到端的可靠协议。它支持多种网络应用程序。TCP

wxyxl的专栏 7325

传输层协议TCP

TCP(Transmission Control Protocol,传输控制协议)是互联网中最核心的传输层协议之一,与 IP(网际协议)共同构成了 TCP/IP 协议族的基础(通常简称 “TCP/IP”)。它提供了的通信服务,确保数据在网络中准确、有序地传输,是 HTTP、FTP、SMTP 等应用层协议的底层支撑。

2401_86449430的博客 3251

网络运输层之(1)TCP协议基础

传输控制协议(Transmission Control ProtocolTCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它是当今互联网中最广泛使用的传输协议之一,为各种网络应用程序提供了可靠的数据传输服务。TCP协议在传输数据时,会将数据分成一个个的报文段(segment)进行传输。每个报文段都包含了源端口号、目的端口号、序列号、确认号、控制位等重要信息,以确保数据传输的可靠性和有序性。

梅花香自苦寒来,宝剑锋从磨砺出。 3618

如何自定义TCP通信协议

物联网行业智能硬件之间的通信、异构系统之间的对接、中间件的研发、以及各种即时聊天软件等,都会涉及自定义协议。 为了满足不同的业务场景的需要, 应用层之间通信需要实现各种各样的网络协议。以异构系统的对接为例。在早期,我们使用 Web Service 来解决异构系统的对接,后来我们逐渐使用 MQ、RPC 等方式来实现异构系统的通信和整合。 Web Service 是使用 SOAP 协议通过 HTTP 进行传输。MQ 有很多常用的消息队列协议,例如 AMQP、MQTT、STOMP...

南山男的忧伤的博客 1万+

FTP协议规范(中文版)

文件传输协议(File Transfer Protocol, FTP)1. 介绍FTP的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。虽然我们也可以手工使用它,但是它的主要作用是供程序使用的。在阅读本文之前最好能够阅读TCP协议标准规范和Telnet协议标准规范。2. 概览在本节中我们将讨论一些表面上的问题,有些名词的定

silver的专栏 5555
上一篇: IP协议规范(中文版)
下一篇: POP3协议规范(中文版)
silver
博客等级 码龄26年 117粉丝 2073原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值