一、简述osi七层模型和TCP/IP五层模型
OSI七层模型包括:物理层、数据链路层、传输层、网络层、会话层、表示层、应用层
- 物理层:为启动,维护和关闭物理链路定义了电气规范、机械规范、过程规范和功能规范;
- 数据链路层:传输数据帧,并为网络层提供差错控制和流量控制服务;
- 网络层:为数据在节点之间传输创建逻辑链路,通过路由选择算法为分组选择最佳路径,从而实现拥塞控制、网络互联等功能;
- 传输层:传输层主要为用户提供端到端服务,处理数据报错误、数据包次序等传输问题
- 会话层:主要功能是负责维护两个节点之间的传输联接,确保点到点传输不中断,以及管理数据交换等功能;
- 表示层:主要功能是处理在两个通信系统中交换信息的表示方式,主要包括数据格式变化、数据加密与解密、数据压缩与解压等;
- 应用层:为网络用户之间的通信提供专用的程序服务以及用户验证;
TCP/IP五层模型包括:物理层、数据链路层、传输层、网络层、应用层;其中应用层对应OSI七层模型的会话层、表示层和应用层;下四层与OSI七层模型下四层是一一对应的
OSI和TCP/IP的相同点是二者均采用层次结构,而且都是按功能分层。
OSI和TCP/IP的不同点:
- OSI分七层,自下而上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP分5层:物理层、数据链路层、网际层、传输层和应用层。
- OSI层次间存在严格的调用关系,两个(N)层实体的通信必须通过下一层(N-1)层实体,不能越级,而TCP/IP可以越过紧邻的下一层直接使用更低层次所提供的服务,因而减少了一些不必要的开销,提高了协议的效率。
- OSI先有模型,再有协议,比较适合理论上探讨。TCP/IP先有协议,再有模型,已得到广泛的实际应用。
二、总结描述TCP三次握手四次挥手
三次握手:
首先服务端B的服务进程已经监听在某个端口上,监听之后就可以一直等待客户端请求建立TCP连接。
- 当客户端A想要和服务端B建立TCP连接时,客户端A会发送一个连接请求的报文给服务端B。在这个请求报文中,TCP收不中的SYN位设置为1,ACK位设置为0,假设此时的序号是x(序号不一定是1),即SYN=1、ACK=0、seq=x。这个包也称为SYN包,当客户端A发送完SYN包后,它将进入SYN_SENT状态。
- 当B收到该报文后,发现其中的SYN=1、ACK=0,便知道这是一个TCP连接的请求包。如果B确认与A建立TCP连接,那么B需要回复A。回复时,SYN=1、ACK=1、ack=x+1、seq=y。注意区分这里的ACK和ack,ACK表示的是占用的一个比特位的ACK设置位,ack是确认号。这个包通常被称为ACK包,当服务端发送完ACK包之后,它将进入SYN_RECV状态。
- 当A收到B的回复报文后,发现里面的SYN=1、ACK=1,于是也会向B回复一个ACK包,回复时,SYN=0、ACK=1、seq=x+1、ack=y+1。这里的SYN=0、ACK=1表示这不是简历连接的请求包。A发送完之后,就进入ESTABLISHE