`

网络基础与协议入门——(2)TCP协议重点

 
阅读更多

1. 概述

TCP是传输控制协议,是网络五层模型中,自下而上的第四层——传输层的协议。该协议是面向连接的、可靠的、基于字节流的。


2. 为什么会有TCP?

TCP是传输层的,是建立在网络层至上的。网络层上的IP协议,是基于不可靠的包交换的。为了满足可靠交换的需求,就出现了TCP协议。


3. TCP是如何保证可靠传输的?

TCP协议要求发送方,在发送数据后,等待接收方回执的ACK,如果发送端在合理的往返时延(RTT)内未收到ACK,就重传。并且TCP协议要求发送方和接收方,要检验校验和(CHECKSUM)是否有误。


4. 三次握手

第一次:客户端向服务器发送一个请求;

第二次:服务器收到后回执一个ACK;

第三次:客户端收到ACK后再发送一个ACK。


5. 四次握手

当TCP连接终止时,是采用四次握手方式。

第一次:客户端向服务器发送FIN

第二次:服务器向客户端回执ACK

第三次:服务器向客户端发送FIN

第四次:客户端向服务器回执ACK


6. 端口

这是一个常识性问题。如果使用了端口号的概念,那么一定是采用TCP连接的。

(1)为什么用端口:

TCP使用了端口号的概念,来标识发送方和接收方的应用层。可以根据端口号,来找到对方应用层相应的进程。


(2)端口号范围:

16位无符号整数,理论范围是[0, 65535]。


(3)端口号分类:

公开端口号:由IANA(英特网赋号管理局)管理分配。常用的FTP、SMTP、HTTP、TELNET皆属此类。

注册端口号:一般用作客户端进程临时连接服务器使用。

私有端口号:在特定的应用层应用进程中使用。


7. TCP的数据结构

000-015位:来源连接端口号

016-031位:目的连接端口号

032-063位:串行号码

064-059位:确认号码

……

160/192位开始:数据部分

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics