1、简述osi七层模型和TCP/IP五层模型
OSI七层模型 | 简介 |
---|---|
应用层 | 负责和计算机用户进行直接的交互,涉及协议有FTP,HTTP,HTTPS等 |
表示层 | 负责处理用户的表示信息,涉及数据加密,数据解密,数据的格式等 |
会话层 | 负责在两个用户之间建立,维护,终止会话 |
传输层 | 负责处理数据报文的传输问题,根据所使用的的协议还可以提供流控,差错校验的功能 |
网络层 | 负责处理用户之间跨网络的数据包传递,包括寻址,以及路由选择等 |
数据链路层 | 负责处理同网段数据帧的传递,包括通过mac地址确保同一网段内数据的准确传递 |
物理层 | 负责建立物理连接,实际意义上的数据传递线路,存在于现实之中 |
TCP/IP五层模型 | 简介 |
---|---|
应用层 | osi上三层的整合,包含osi的应用层,表示层和会话层 |
传输层 | 负责处理数据报文的传输问题,根据所使用的的协议还可以提供流控,差错校验的功能,等同于osi的传输层 |
网络层 | 负责处理用户之间跨网络的数据包传递,包括寻址,以及路由选择等 |
数据链路层 | 负责处理同网段数据帧的传递,包括通过mac地址确保同一网段内数据的准确传递,和物理层一起被称为数据接口层 |
物理层 | 负责建立物理连接,实际意义上的数据传递线路,存在于现实之中,和数据链路层一起被称为数据接口层 |
2、总结描述TCP三次握手四次挥手
三次握手 第一次握手:首先客户端先发送数据包给服务器端,信息字段包含SYN=1(表示客户端想建立tcp链接),seq=x(x为随机数字,表示该数据包序号),同时客户端进入SYN-SENT状态 第二次握手:服务器端收到客户端的数据包,确认有客户端想建立链接,于是回复客户端数据包,字段包含SYN=1(表示服务器端同意进入链接状态),ACK=1(确认字段)ack=x+1(表示服务器端希望客户端下个数据包的序号是x+1),seq=y(该数据包序号),同时服务端从listen状态进入SYN-RCVD状态 第三次握手:客户端收到服务器短的数据包,回复服务器端数据包:ACK=1(确认字段),seq=x+1(该数据包序号),ack=y+1(表示客户端希望服务器端下个报文的序号是y+1),同时客户端进入established状态,服务器端收到报文后也进入established状态,至此TCP连接建立,双方可以开始通讯了 四次挥手 第一次挥手:客户端发送数据报文给服务器端,报文字段包含FIN=1(表示客户端想断开连接),seq=v (该数据包的序号),同时客户端从established状态进入FIN-WAIT1状态 第二次挥手:服务器端接受报文后,发送回复数据包给客户端,字段包括:ACK=1(确认字段),seq=z(该数据包序号) ,ack=v+1(期望接受的下一个数据包序号),同时服务器端从established状态进入close-wait状态,客户端接受导数据包时进入FIN-WAIT2状态 第三次挥手:服务器端结束close-wait状态时,再次向客户端发送数据包,字段包括:FIN=1(服务器端准备关闭链接),ACK=1(确认字段),seq=w(该数据包的序号),ack=v+1(期望接受的下一个数据包的序号),同时进入LAST-ACK状态 第四次挥手:客户端接受报文后,发送回复报文,字段包括:ACK=1(确认字段),seq=v+1(该数据包的序号),ack=w+1。并进入TIME-WAIT状态,等待2个MSL后进入close状态,服务器端接受报文后直接进入close装,至此TCP链接断开了。
3、描述TCP和UDP区别
TCP 优点:面向链接协议,可靠性高,具有校验机制,流控机制等 缺点:链接速度慢(相对于UDP而言),占用系统资源比UDP多 UDP 优点:面向无连接协议,传输速度快,占用系统资源较少 缺点:无可靠性,可能出现传输数据丢包,数据包排序错误等问题