DAY24 OSI7层和TCP五层

1.1 概念

OSI7层网络模型是开放系统互连参考模型,是个灵活的、稳健的和可互操作的模型,并不是协议,是用来了解和设计网络体系结构的,目的是规范不同系统的互联标准,使两个不同的系统能够较容易的通信,而不需要改变底层的硬件或软件的逻辑。

1.2 结构

由下到上依次为:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

1.2.1 各层的功能说明

  1. 应用层:为应用程序提供服务
    常见的应用层协议:http(端口80)、ftp(20/21)、telnet(23非加密的)、ssh(22加密的)、HTTPS(443)
  2. 表示层:对数据进行转换、加密和压缩
  3. 会话层:建立、管理和维护会话。Linux C /Unix C语言编程等属于这一层
  4. 传输层:建立、管理和维护端到端的连接,TCP稳定传输,ssh服务等
  5. 网络层:IP选址及路由选址。 IP地址就属于这一层
  6. 数据链路层:将分组数据封装成帧;提供介质访问和链路管理。Mac地址就属于这一层
  7. 物理层:在媒体上传输比特。网线、集线器等属于传输介质

1.2.2 7层结构的特点:

1、OSI模型每层都有自己的功能集
2、层与层之间相互独立又互相依靠
3、上层依赖于下层,下层为上层提供服务。

1.3 OSI 7层模型中数据的传输结构

1.3.1 7层模型封包的过程

  1. 应用层(表示层、会话层):应用程序准备要传输的数据。
  2. 传输层:将文件分段并编号
  3. 网络层:在数据上加上目标IP地址和原IP地址,封装成数据包
  4. 数据链路层:添加一个以太信息,即Mac地址,将数据包封装成帧
  5. 物理层:网卡调制,以比特流传输数据

1.3.2 7层模型解包的过程

  1. 物理层:接收比特流数据,网卡解调
  2. 数据链路层:将比特流解析为数据帧(校验位+原Mac地址+目标Mac地址+原IP地址+目标IP地址)
  3. 网络层:将数据帧解封装,只剩下数据和IP地址
  4. 传输层:将数据包解封装为数据段
  5. 会话层:建立SOCKET连接
  6. 表示层:解析数据类型
  7. 应用层:接收数据

2.1 TCP/IP的五层模型

由下到上依次为:物理层,数据链路层,网络层,传输层,应用层

2.2 IP协议

IP协议是TCP/IP协议中最重要的协议,它为TCPUDP ICMP等协议提供传输的通路。IP层主要目的是提供子网互联,形成较大的网络,使不同的子网之间能传输数据。

2.2.1 IP层主要的作用

1、数据传送将数据从一个主机传输到另一个主机
2、寻址根据子网划分和IP地址,发现正确的目的主机地址
3、路由选择选择数据在互联网上的传送路径。
4、数据报文的分段将数据进行分段发送和接收并组装。

2.3 TCP协议

TCP是传输控制协议,简称TCP协议,它在原有IP协议的基础上,增加了确认重发、滑动窗口和复用,提供一种可靠的面向连接的字节流的服务。最大的特点就是可靠性。

2.4 TCP/IP协议建立连接3次握手的过程

TCP的连接建立是一个三次握手过程,目的是为了通信双方确认开始序号,以便后续通信的有序进行。主要步骤如下:

  1. 连接开始时,连接建立方(客户)发送SYN包,并包含了自己的初始序号x;
  2. 连接接受方(服务器)收到SYN包以后会回复一个SYN包,其中包含了对上一个x包的回应信息ACK,回应的序号为下一个希望收到包的序号,即x+1,然后还包含了自己的初始序号y;
  3. 连接建立方(客户)收到回应的SYN包以后,回复一个ACK包做响应,其中包含了下一个希望收到包的序号即y+1。

image.png

2.5 TCP/IP协议断开连接4次挥手的过程

TCP终止连接的四次握手过程如下:

  1. 首先进行关闭的一方(客户)发送第一个FIN(包含了自己的初始序号u)将执行主动关闭,而另一方(服务器)收到这个FIN执行被动关闭。
  2. 当服务器收到这个FIN,它发回一个ACK,包含确认序号为u+1和自己的序号v。和SYN一样,一个FIN将占用一个序号。
  3. 同时TCP服务器还向客户发传送一个FIN,包含了自己的序号w,接着服务器就关闭与客户端的连接。
  4. 客户必须发回一个ACK确认,并将确认序号设置为w+1。

i

你可能感兴趣的:(DAY24 OSI7层和TCP五层)