1.计算机网络七层模型
2.四层模型
主要使用的协议:
- 应用层: HTTP、DNS、SMTP、FTP、Telent
- 传输层: TCP/UDP
- 网络层: IP
- 数据链路层:ARP、
3.TCP协议
TCP全称为 “传输控制协议(Transmission Control Protocol”),是面向字节流的,有链接的,可靠的传输协议。
1.三次握手四次挥手
TCP三次握手:
- 第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;
- 第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包;
- 第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。
简单来说三次握手的过程就是
- 我要和你建立连接,你真的要和我建立连接么,我真的要和你建立连接,成功。
TCP四次挥手:
- 1 关闭客户端到服务器的连接:首先客户端A发送一个FIN,用来关闭客户到服务器的数据传送,然后等待服务器的确认。其中终止标志位FIN=1,序列号seq=u
- 2 服务器收到这个FIN,它发回一个ACK,确认号ack为收到的序号加1。
- 3 关闭服务器到客户端的连接:也是发送一个FIN给客户端。
- 4 客户段收到FIN后,并发回一个ACK报文确认,并将确认序号seq设置为收到序号加1。
首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
简单来说四次挥手就是: - A:我要和你断开连接。
- B:好的,断吧我知道了。
- B:我也要和你断开连接。
- A:好的,断吧。
tcp协议保证可靠传输的机制
- 确认应答(ACK)机制: 序列号+确认序号
- 超时重传机制:TCP内部实行,以单方向数据传输最大时间*2最为超时时间
- 连接管理机制
- 流量控制机制
- 拥塞控制机制
tcp保证传输效率的机制 - 滑动窗口协议
- 快速重传协议
- 延迟应答
- 捎带应答
4.UDP协议
UDP 全称是“用户数据报协议(User Datagram Protocol)”, 是面向数据报的,无连接的,不可靠的一种传输协议。
5.TCP和UDP对比
TCP | UDP |
---|---|
面向字节流 | 面向数据报 |
– | – |
可靠 | 不可靠 |
– | – |
有连接 | 无连接 |
应用场景对比:
- TCP用于可靠传输的情况, 应用于文件传输, 重要状态更新等场景;
- UDP用于对高速传输和实时性要求较高的通信领域, 例如, 早期的QQ, 视频传输等. 另外UDP可以用于广播;
6.Http协议
HTTP是一个无状态的协议。无状态是指客户机(Web浏览器)和服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息.HTTP遵循请求(Request)/应答(Response)模型。客户机(浏览器)向服务器发送请求,服务器处理请求并返回适当的应答。所有HTTP连接都被构造成一套请求和应答。