您的位置:首页 > 理论基础 > 计算机网络

OSI七层模型和TCP/IP模型

2021-04-10 21:55 801 查看

osi七层模型和TCP/IP五层模型

1、OSI七层模型结构

从低到高 物数网传会示用 (无数网传会使用)

  1. 物理层:负责传送数据帧,负责管理电脑通信设备和网络媒体之间的互通。主要指底层传送的物理设备,包含网卡、中继、路由等
  2. 数据链路层:负责网络寻址、错误侦测和改错。分为两个子层:逻辑链路控制(LLC)和介质访问控制(MAC)
  3. 网络层:数据路径选择和转发,将网络表头加至数据包,以形成报文。网络表头包含了网络数据,例如:互联网协议(ip)等。
  4. 传输层:把传输表头加至数据形成数据包。传输表头包含所使用的协议等发送信息。例如:传输控制协议(tcp)等。
  5. 会话层:负责在数据传输中设置和维护网络中两台设备之间的通信连接。
  6. 表示层:把数据转换为能与接收者的系统格式并适合传输的格式
  7. 应用层:提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如:HTTP、HTTPS、FTP、TELENT、SSH、SMTP、POP3、MYSQL等

2、TCP/IP 五层模型

从低到高 物数网传用

  1. 物理层:对应OSI七层模型的物理层(比特)
  2. 数据链路层:对应OSI七层模型的数据链路层(帧)
  3. interent层:对应OSI七层模型的网络层(报文)
  4. 传输层:对应OSI七层模型的传输层(段)
  5. 应用层:对应OSI七层模型中的会话层、表示层、应用层的集合(PDU)

3、TCP三次握手四次挥手

3.1 tcp三次握手

TCP建立链接需要经历三次握手

第一次:客户端主动向服务器发送访问请求,发送的数据包SYN=1,ACK=0,seq=x 表示请求建立链接,发出请求后状态由CLOSED切换为SYN-SENT。

第二次:服务器监听到客户端发出的数据包后,发送SYN=1,ACK=1,seq=y,ack=x+1的数据包,表示收到请求、同意建立链接,收到x的包并请求下一个包x+1,同时切换为SYN-RVD状态

第三次:客户端收到服务器发出的数据包后,发出新的数据包,ACK=1,seq=x+1,ack=y+1,表示收到服务端发送的包,开始建立链接,请求下一个包y+1。客户端切换为ESTAB-LISHED状态,表示已建立链接。服务端收到数据包后也切换为ESTAB-LISHED状态,表示已建立链接。

3.2 tcp四次挥手

第一次:客户端主动发起结束请求,发送数据包FIN=1,seq=u,发出结束请求,状态切换为FIN-WAIT1

第二次:服务端收到客户端发出的数据包后,发出数据包ACK=1,seq=v,ack=u+1,表示收到客户端发送的结束请求。服务端状态切换为CLOSE-WAIT,客户端收到数据包后状态切换为FIN-WAIT2

第三次:服务端收到客户端发出的数据包后,同时发送数据包FIN=1,ACK=1,seq=w,ack=u+1,表示同意结束请求并请求下一个数据包,状态切换为LAST-ACK

第四次:客户端收到从服务端发送的TCP数据报文,发送 ACK=1,seq=u+1,ack=w+1 数据包,准备断开链接,状态切换为TIME-WAIT,等待2msl后自动关闭。服务器收到客户端数据后关闭链接,同时两端状态切换为CLOSED。

4、TCP和UDP区别

相同:

工作在传输层

不同:

tcp特性

面向连接协议
提供可靠的网络访问
全双工协议
半关闭
错误检查
将数据打包成段,排序
确认机制
数据恢复、重传
流量控制、滑动窗口
拥塞控制、慢启动和拥塞避免算法

udp特性

非面向连接协议
提供不可靠的网络访问
有限的错误检查
传输性能高
无数据恢复特性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: