1、简述osi七层模型和TCP/IP五层模型
OSI七层模型结构:
从低往高
1、物理层 :主要负责传送数据帧,负责管理电脑通信设备和网络媒体之间的互通。主要指底层传送中的物理设备,包含网卡、中继、路由等
2、数据链路层 :负责网络寻址、错误侦测和改错。分为两个子层:逻辑链路控制子层(logical link control,LLC)和介质访问控制子层(MAC)
3、网络层 :决定数据的路径选择和转寄,将网络表头加至数据包,以形成报文。网络表头包含了网络数据。例如:互联网协议(ip)等。
4、传输层 :把传输表头加至数据以形成数据包。传输表头包含了所使用的协议
等发送信息。例如:传输控制协议(TCP)等。
5、会话层 :负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。
6、表示层 :把数据转换为能与接收者的系统格式兼容并适合传输的格式
7、应用层 :提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如:
HTTP、HTTPS、FTP、TELNET、SSH、SMTP、POP3、MySQL等
TCP/IP5层模型
从低往高
1、物理层 :对应osi七层模型的物理层
2、数据链路层 :对应osi七层模型的数据链路层
3、internet层 :对应osi七层模型的网络层
4、传输层 :对应osi七层模型的传输层
5、应用层 :osi七层模型中的会话层、表示层、应用层的集合
2、总结描述TCP三次握手四次挥手
TCP三次握手:
TCP建立链接需要经历三次握手
第一次:客户端主动发起访问服务器,发送的数据包SYN=1,ACK=0,seq=x 表示请求建立链接,发出请求后状态由CLOSED切换成SYN-SENT。
第二次:服务器监听到客户端发出的数据包后,发出数据包SYN=1,ACK=1,seq=y,ack=x+1,表示收到请求、同意建议链接,收到x的包并请求下一个包,同时切换SYN-RCVD状态
第三次:客户端收到服务器发出的数据包后,发出新数据包,ACK=1,seq=x+1,ack=y+1 ,表示收到服务端发的包,开始建立链接,请求下一个包。客户端切换ESTAB-LISHED状态,表示已建立链接。服务端收到数据包后也切换ESTAB-LISHED状态,表示已建立链接。
TCP四次挥手
第一次:客户端主动发起结束请求,发送数据包FIN=1,seq=u ,发出结束请求,状态切换FIN-WAIT-1
第二次:服务端收到客户端发出的数据包后,发出数据包 ACK=1,seq=v,ack=u+1 表示收到客户端发送的结束请求。服务端状态切换CLOSE-WAIT,客户端收到数据包后状态切FIN-WAIT2
第三次:服务端收到客户端发出的数据包后,同时发出数据包 FIN=1 ,ACK=1,seq=v+1,ack=u+1 表示同意结束请求并请求下一个数据包,状态切换成LAST-ACK
第四次:客户端收到数据包后发送数据 ACK=1,seq=u+1,ack=v+2 ,发送剩余数据。状态切换TIME-WAIT,等待2msl后自动关闭。服务端收到客户端数据后关闭
3、描述TCP和UDP区别
相同:
工作在传输层
区别
TCP 面向连接协议
TCP 全双工协议
TCP 半关闭
TCP 错误检查
TCP 将数据打包成段,排序
TCP 确认机制
TCP 数据恢复,重传
TCP 流量控制,滑动窗口
TCP 拥塞控制,慢启动和拥塞避免算法
UDP 提供不可靠的网络访问
UDP 非面向连接协议
UDP 有限的错误检查
UDP 传输性能高
UDP 无数据恢复特性