TCP协议简介

一 传输控制协议(TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

1 面向连接意味着两个使用TCP的应用(通常是一个客户端和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。

2 TCP通过下列方式来提供可靠性:

1)应用数据被分割程TCP认为合适的数据块。TCP传递给IP的信息单位称为报文段。

2)当TCP发出一个段后,它启动一个计时器,等待目的端确认这个报文段。如果不能及时收到确认,将重新发送这个报文段。

3)当TCP收到发自一个TCP连接另一端的数据,它将发送一个确认。这个确认将推迟几分之一秒。

4)TCP将保持它首部以及数据的检验和。如果检验和接收端将丢弃这个报文段而且不确认收到此报文段。

5)TCP提供流量控制。

3 TCP对字节流内容不作任何解释,对字节流的解释交由应用层。

二 TCP首部

一个TCP首部的长度为20字节。

一个TCP连接由一个包含源ip,源端口,目的ip,目的端口的四元组唯一表示。序号用来标示从发送端到接收端的数据字节流,它表示在一个报文段的首字节。确认序号为上次成功接收的数据字节序号加一。接收窗口表示用来完成TCP的流量控制,表明接收端还能接收的字节。检验和覆盖了整个TCP报文段:包括首部和数据,由发端计算和存储,由收端进行验证。

TCP协议简介

时间: 2024-08-10 17:18:57

TCP协议简介的相关文章

【网络协议】TCP协议简介

本文只是对TCP协议做个简要的介绍. TCP协议,即传输控制协议,与UDP协议同处于传输层,同样使用相同的网络层,但TCP提供了一种可靠的.面向连接的数据传输服务,它会在两个使用TCP的应用之间建立一个TCP连接,在该连接上进行数据的传输. TCP通过以下方式提供可靠性: 1.应用程序被分割成TCP认为最合适发送的数据块.这点与UDP完全不同,应用程序产生的UDP数据报长度将保持不变,加上IP首部后,才会进行IP分片. 2.当TCP发出一个报文段后,它会启动一个定时器,等待目的端发确认收到这个报

TCP协议简介及其三次握手与四次挥手

本篇博文是对参考文章的学习总结 一.TCP介绍 tcp协议之所以设计复杂,可以说它秉承的是“性恶论”.它认为网络环境天生就是恶劣的,丢包.乱序.重传.拥塞都是常有的事,一言不合就可能送达不了,所以只能从算法层面上来保证传输的可靠性. TCP包头格式 其中源端口号和目的端口号是用来确定数据应该发往哪个应用层中的进程. 序号是用来解决乱序的问题. 确认序号用来确认发出去的包对方是否接收成功,不管有没有成功都应该有个回复,可以解决丢包问题,如果对方没有接收成功,则继续发送.TCP 是靠谱的协议,但是这

Ip/TCP协议简介

Ip协议 提供了主机和主机间的通信,为了完成不同主机的通信,我们需要某种方式来唯一标识一台主机,这个标识,就是著名的IP地址.通过IP地址,IP 协议就能够帮我们把一个数据包发送给对方. TCP协议 TCP 协议在 IP 协议提供的主机间通信功能的基础上,完成这两个主机上进程对进程的通信.为了标识数据属于哪个进程,我们给需要进行 TCP 通信的进程分配一个唯一的数字来标识它.这个数字,就是我们常说的端口号. TCP 的全称是 Transmission Control Protocol,TCP进行

计算机网络 学习笔记-传输层:TCP协议简介

概述: TCP传输前先要建立连接 TCP在传输层 点对点,一条TCP只能连接两个端点 可靠传输.无差错.不丢失.不重复.按顺序 全双工 字节流 TCP报文段 TCP报文段的报头前20字节是固定的,后面4n字节是根据需要而添加的. 20字节的固定部分: 源端口和目的端口:分别写入源端口号和目的端口号 序号:0-(2^32-1),本报文段数据的第一个字节的序号,用来解决乱序问题 确认序号:期望收到对方下一个报文段的第一个数据字节的序号,用来解决丢包问题 数据偏移:TCP报头长度,包括固定的20字节和

TCP协议及TCP正常连接与断开

一.TCP协议简介TCP,全称Transfer Control Protocol,中文名为传输控制协议,它工作在OSI的传输层,提供面向连接的可靠传输服务.TCP的工作主要是建立连接,然后从应用层程序中接收数据并进行传输.TCP采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在发送出去后,发送方会等待接收方给出一个确认性的应答,否则发送方将认为此数据丢失,并重新发送此数据.下面我们来介绍一下TCP的报头结构和相关工作原理:1.TCP报头TCP报头总长最小为20个字

Linux下tcp协议socket的recv函数返回时机分析(粘包)

http://www.vckbase.com/index.php/wv/10http://blog.csdn.net/zlzlei/article/details/7689409 文章一: 当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API).TCP/IP传输层有两个并列的协议:TCP和UDP.其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务.UDP(user datagram pro

TCP/IP篇--各协议简介

--百家菜 在学习网络方面的知识过程中,不可避免地要接触到各种协议,对于一开始接触协议的我们来说对于协议实在没有太多的概念和接触,如果你也是这样,那么博主的这一篇博文可能给你一些关于协议的概念.其中的部分介绍为博主自己总结而出,如有欠缺不当的地方,欢迎通过发表评论或线下交流的方式斧正. 关于协议数据的具体格式和数字表示可上网(百度等网站)或者抓包(抓包方式详细见博主的相关博文-<抓包篇--wireshark使用!>,链接http://powersource.blog.51cto.com/113

【精】TCP/IP协议简介(四) 之 传输层UDP&amp;TCP

传输层:UDP 协议 一.传输层协议 从之前介绍的网络层协议来看,通信的两端是两台主机,IP 数据报首部就标明了这两台主机的 IP 地址.但是从传输层来看,是发送方主机中的一个进程与接收方主机中的一个进程在交换数据,因此,严格地讲,通信双方不是主机,而是主机中的进程. 主机中常常有多个应用进程同时在与外部通信(比如你的浏览器和 QQ 在同时运行),下图中,A 主机的 AP1 进程在于 B 主机的 AP3 进程通信,同时主机 A 的 AP2 进程也在与 B 主机的 AP4 进程通信. 两个主机的传

【精】TCP/IP协议简介(一) 之 TCP/IP简介

一.TCP/IP 背景和介绍 上世纪 70 年代,随着计算机技术的发展,计算机使用者意识到:要想发挥计算机更大的作用,就要将世界各地的计算机连接起来.但是简单的连接是远远不够的,因为计算机之间无法沟通.因此设计一种通用的"语言"来交流是必要可少的,这时 TCP/IP 协议就应运而生了.本文地址:http://blog.csdn.net/sunansheng/article/details/52054632 TCP/IP(Transmission Control Protocol/Int