1、关于TCP理解的重点(TCP协议可以理解为就是一段代码) (1)、TCP协议工作在传输层,对上服务socket接口,对下调用IP层 (2)、TCP协议面向连接,通信前必须先3次握手建立连接关系后才能开始通信。 (3)、TCP协议提供可靠传输,不怕丢包、乱序等。 2、TCP如何保证可靠传输 (1)、TCP在传输信息前要求通信双方必须先握手,建立连接才能通信 (2)、TCP在接收方收到数据包后会ack给发送方,若发送方未收到ack会丢包重传 (3)、TCP的有效数据内容会附带校验,以防止内容在传递过程中损坏 (4)、TCP会根据网络带宽来自动调节适配速率(滑动窗口技术) (5)、发送方会给各分割报文编号,接收方会校验编号,一旦顺序错误即会重传。 3、TCP的三次握手 (1)、建立连接需要三次握手 (2)、建立连接的条件:服务器处在listen状态时,客户端主动发起connect连接 4、TCP的四次握手 (1)、关闭连接需要四次握手 (2)、服务器或者是客户端都额可以主动发起关闭 注:这些握手协议已经封装在TCP协议内部,socket编程接口平时不用管 5、基于TCP通信的服务模式 (1)、具有公网(也就是外网-路由器)IP地址的服务器(或者使用动态IP地址映射技术) (2)、服务器端socket、bind、listen后处于监听状态 (3)、客户端socket后,直接connect去发起连接 (4)、服务器收到并同意客户端接入后会建立TCP连接,然后双方开始收发数据,收发时是双向的,而且双方均可发起 (5)、双方均可发起关闭连接 6、常见的使用了TCP协议的网络应用 (1)、http、ftp (2)、QQ服务器 (3)、mail服务器
|