1. OSI七层模型
- 物理层
信号转换,接收数据时将光信号,电信号转换为数字信号,或者发送数据时,将数字信号转换为光信号,电信号 - 数据链路层
接收数据时,拆封mac地址,发送数据时,封装mac地址 - 网络层
接收数据时,拆封IP地址,发送数据时,封装IP地址(公网IP是唯一的,内网IP是相对唯一的,公网IP相当于一个门牌号,私有IP相当于一个房间号,房间号可能和别的公寓的房间号重复,但门牌号不会重复),还有一个路由的概念 - 传输层
选择传输协议,tcp传输或者udp传输,选择端口 - 会话层
会话层可以控制传输的速度,将大的数据分成一个个小的数据传输,并标上序号 - 表示层
判断数据的类型,图片,还是文本,还是视频 - 应用层
应用层用于到各个应用的使用
2.tcp传输机制
- tcp传输保证数据不丢失
- tcp三次握手建立连接
1)首先客户端向服务端发送一个带有SYN标识的包,里面有seq序列号,这个序列号是随机的,我们可以用x标识
2)然后服务端收到后,发送一个带有SYN和ACK标志的包,里面有ack确认号等于x+1,然后服务端向客户端发送一个带有seq序列号的包,这个序列号也是随机的,可以用y表示,表示服务端请求和客户端建立连接
3)然后客户端发送一个ACK标识的包,里面有ack确认号y+1,然后有一个序列号x+1
*tcp四次分手断开连接
1)首先,客户端向服务端发送一个断开连接的包,带有FIN标志的包,里面包含一个序列号seq,这是随机的号,可以用x标识
2)然后,服务端发送一个带有ACK标识的包,里面包含ack确认序列号x+1,然后等待服务端这边数据传送完成
3)带服务端数据传输完成之后,服务端需要向客户端发送断开连接的请求,服务端向客户端发送一个带有FIN标识和ACK标识的包,里面有一个序列号seq随机序列号y,还有ack确认号x+1
4)客户端向服务端发送一个带有ACK标识的包,里面有ack确认号y+1
- tcp三次握手建立连接
网友评论