体系结构
网络接口层(链路层)
网络接口层包括用于协作IP数据传输在
两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要专门的链路层协议
网络层
其任务是负责为分组交换网上的不同主机提供通信服务。
传输层
其任务是为两台主机中进程之间的通信提供通用的数据传输服务
应用层
应用层是体系结构中的最高层。其任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义了应用进程间通信和交互的规则。
应用层的数据称为报文(message);在传输层的数据称为段(segment);在网络层的数据叫 分组包(packet),网络接口层(链路层)的数据称为帧(frame)
TCP与UDP的区别
1、TCP需要建立一对一的稳定连接,UDP无连接
2、TCP一对一;UPD可以一对一,一对多
3、TCP可靠传输,UDP不保证传输
4、TCP开销大,UDP开销小
5、TCP提供可靠传输,适用与通信质量高的场景,UDP传输效率高
TCP三次握手与四次挥手
三次握手
第一次握手:客户端将向服务端发送一个SYN标志的数据包,请求连接
第二次握手: 服务端收到客户端的请求后,向客户端发送一个数据包,表示接收请求,并且确认客户端的发送能力
第三次握手:客户端收到服务端的确认后,再次向服务端发送一个数据包,表示收到服务器的确定,连接完成
四次挥手
1、发送方发送一个数据包表示没有数据发送了,请求关闭连接
2、接收方收到数据包,回复一个数据包,表示收到关闭请求
3、接受方发送一个数据包,表示直接没有数据发送,请求关闭连接
4、发送方接受到数据包后,回复一个数据包,表示接收到关闭请求,连接关闭
第二次挥手和第三次挥手不能合并在一起,这是因为第二次挥手后,服务器端可能还在传输数据,需要等待数据传输完毕后再进行第三次挥手
socket网络编程
ip 确定主机 (协议+端口)确定主机应用程序(进程)