1. 介绍
互联网所有的传输都通过RCP/IP协议族来传输,TCP/IP是面向连接的可靠字节流服务协议
2. TCP/IP协议族
有四层
应用层:提供特定于应用程序的协议 HTTP(通信) FTP(文件) IMAP(邮件)
网络控制层:发送数据包到计算机上使用特定的端口号的应用程序 网络层:使用IP地址将数据包发送到特定的计算 数据链路层:将二进制数据包与网络信号相互之间转换
3. TCP的三次握手和四次挥手
1. 三次握手--------解决网络信道不可靠的问题
客户端发送数据前,需进行三次握手建立连接,解决网络信道不可靠的问题
-
客户端向服务端发送SIN1 请求建立连接
-
服务端允许建立连接 并发送 SIN2 + ACK(SIN1 + 1)
-
客户端收到消息 返回确认信息ACK(SIN2 + 1)
在收到确认消息后服务器建立连接,客户端即可发送HTTP请求
2. 四次挥手--------解决数据未发送完毕的情况
关闭连接前的操作,客户端和服务端都可以发送关闭请求
-
客户端发送 FIN + ACK请求关闭连接
-
服务端发送 ACK 确认收到信息 此时服务端可以继续发送 未发送完的数据
-
待数据发送完后 服务端发送 FIN + ACK确认关闭信息 此时序号和确认号并没改变
-
客户端收到信息后发送ACK确认信息
收到确认信息后服务端关闭连接
4. IP的传输
-
IP的传输
IP是不可靠的无连接协议,它并不关心数据包是否到达目的地,也不关系连接和端口号,目的是连接到目标IP
-
TCP传输的质量和顺序
当数据包过大,在网络层会进行分包,分包后传输的链路不一样,到达的时间不一样,TCP会根据数据包上携带序列号来进行排序重组,如果发送方在一个特定时间内(也就是重试时间)没有接受到接收方的ack确认,会再次重新发送
-
IP和IP地址的区别
Ip是一种协议 有两种标准 IPv4 2^32次方和IPv6 2^128
IP地址是一串数字192.0.0.1