网络基础 tcp/ip 
分层管理 
- 应用层:决定向用户提供服务时通信的活动 
FTPHTTPDNSWebSocket
 - 传输层:提供处于网络中的两台计算机之间的数据传输 
TCP:传输控制协议UDP:用户数据报协议
 - 网络层:用来处理在网络上流动的数据包,在多个网络设备间传输时,网络层的作用就是在众多的选项中选择一条传输路线
 - 链路层:用来处理连接网络的硬件部分
 
TCP 
TCP/IP传输流 
TCP/IP传输流:应用层HTTP客户端发送请求=>传输层建立 TCP 链接=>网络层根据 ip 寻址=>链路层从硬件输入数据
3 次握手 
三次握手之所以是三次是保证 client 和 server 均让对方知道自己的接收和发送能力没问题而保证的最小次数。
- 第一次
client => server只能server判断出client具备发送能力 - 第二次 
server => clientclient就可以判断出server具备发送和接受能力。此时client还需让server知道自己接收能力没问题于是就有了第三次 - 第三次 
client => server双方均保证了自己的接收和发送能力没有问题 
其中,为了保证后续的握手是为了应答上一个握手,每次握手都会带一个标识 Seq,后续的ACK都会对这个Seq进行加 1 来进行确认。
SYN=1,Seq=XSYN=1, Seq=Y, ACK=X+1ACK=Y+1,Seq=Z
4 次挥手 
TCP 是全双工信道,何为全双工就是客户端与服务端建立两条通道:
- 通道 1:客户端的输出连接服务端的输入;
 - 通道 2:客户端的输入连接服务端的输出。
 
两个通道可以同时工作:客户端向服务端发送信号的同时服务端也可以向客户端发送信号。所以关闭双通道的时候就是这样:
客户端:我要关闭输入通道了。
服务端:好的,你关闭吧,我这边也关闭这个通道。
服务端:我也要关闭输入通道了。
客户端:好的你关闭吧,我也把这个通道关闭。
