目录
TCP是面向连接的传输层协议,提供可靠交付的、全双工的、面向字节流的点对点服务。
1. TCP建立连接的三次握手
1. client发送一个带有SYN标志的TCP报文(报文1)到server;
2. server回应client一个同时带有ACK标志和SYN标志的报文(报文2);表示对client SYN报文的回应,同时又标志SYN给client询问(client)是否准备好进行数据通讯;
3. client 必须再次回应server一个ACK报文(报文3)。
2. TCP断开连接的四次挥手
1. client发送一个FIN(结束报文),用来请求关闭client到 server的数据传送;(报文1)
2. server收到这个FIN,并发回一个ACK,确认序号为收到的序号加1(报文2);同时server关闭receive通道,client收到对自己FIN确认后关闭send 通达;
3. server关闭client的连接,并发送一个FIN给client;(报文3)
4.client 返回ACK报文确认,并将确认序号设置为收到序号加1(报文4);同时client关闭receive通道,进入TIME-WAIT状态;server接收到client对自己FIN的确认ACK,并关闭send通道。
3. TCP 与UDP 区别
1. TCP是面向连接的(通过三次握手),UDP是无连接的。
2. TCP保证数据按序发送,按序到达,可超时重传来保证可靠性;
而UDP不能保证按序到达,甚至有时候不能到达,只是尽力而为。
3. TCP是一对一连接的,而UDP支持一对一,多对多,一对多的通信。
4. TCP面向的是字节流服务,UDP面向报文服务。
5. TCP有流量控制和拥塞机制,而UDP则没有,网络拥堵不会影响发送端的发送速率。
4. OSI与TCP/IP区别
OSI开放式系统互联通信参考模型
层 | OSI七层模型 | 层 | TCP/IP四层模型 |
7 | 应用层 | 4 | 应用层(HTTP,FTP,SMTP,...) |
6 | 表示层 | ||
5 | 会话层 | ||
4 | 传输层 | 3 | 传输层(TCP,UDP) |
3 | 网络层 | 2 | 网际层(TP,ICMP,...) |
2 | 数据链路层 | 1 | 网络接口层 |
1 | 物理层 |