tcp协议必知必会

TCP的意思是传输控制协议,它是网络和其他应用(如电子邮件)的基础。

TCP在1981年的RFC793中定义,是互联网最古老的支柱之一。

TCP位于互联网协议(IP)之上,构建了一个基础系统,HTTP、FTP、IMAP等应用级协议就是在这个基础上产生的。

TCP与IP和UDP相反,是面向连接的。

在通过TCP进行传输之前,必须建立一个连接。数据是以小包的形式发送的,当通信结束时,连接就会关闭。

当数据通过TCP传输的时候,必须发生一个比较复杂的工作流程,叫做握手。

在这里我就不详细介绍了,但是这个握手可以让端到端的连接发生,这就保证了TCP可以提供它的一个特有的功能:可靠性。使用TCP,我们可以随时知道发送方发送的数据包是否被接收方正确接收。

如果一个数据包丢失了,协议能够处理它,数据包会被重新发送。

在IP协议中,连接发生在计算机与计算机之间。在TCP协议中,连接发生在进程与进程之间,使用的是端口的概念。

与IP地址相关联的端口可以唯一地识别计算机上的一个进程。就像这样

localhost:8080

toutiao.com:1234

每个应用协议都有一个默认的端口,比如HTTP有80,HTTPS有443,FTP有21。例如HTTP有80,HTTPS有443,FTP有21。这就是为什么你通常不需要在浏览器中指定端口的原因。

程序不需要使用默认端口,这就是为什么特别是在你的本地计算机上,当你启动一个新的应用程序时,你可能会看到1313或8080这样的端口。

端口号的范围从1到65535(端口号是一个16位的无符号,对应2^16的可能值)。

 
 

分类: Linux/Unix 标签: TCP 发布于: 2020-12-26 19:49:03, 点击数: