ISO/OIS的七层模型②

OSI模型是一个分层的模型,每一个部分称为一层,每一层扮演固定的角色,互不干扰。OSI有7层,从上到下分别是:

6c2bc67916a340e19982427e7959709a.jpeg

 

一,每层功能

 

7.应用层(Application layer ):应用层功能:规定应用程序的数据格式。例:TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等

通俗一点说就是为用户提供服务,给用户一个操作界面

 

6.表示层(Presentation layer): 为数据提供表示,加密,压缩

5.会话层(Session layer): 确定数据是否需要进行网络传递

 

43b5c2665517436793dd6eb778812fd5.jpeg

 

4.传输层(Transport layer): 建立端口到端口的通信:功能↓↓↓

      ①对报文进行分组,和组装(对数据对拆分与组装)

      ② 提供传输协议的选择:

       

 TCP(传输控制协议):可靠的,面向连接的传输协议(可靠,准确)(慢,消耗资源

   A→B 发数据要询问三次 TCP发数据时三次握手,断开时四次挥手

   安全:指的是数据不被窃取,不被篡改

   可靠:指的是数据不丢,补充,不传丢,不传错

 

 UDP(用户数据报协议):不可靠的,面向无连接的传输协议(快)(不可靠)

                     A→B A传给B不需确认对方在不在,直接发送数据。

      ③端口封装: 源端口 目标端口

      ④ 插错校验 (TCP:差错重传) (UDP:差错丢弃)

(在包头中要写入双方端口号,QQ,微信www服务等去哪里了?)

QQ微信等都是应用层的网络程序,应用层到传输层,两个包头二选一(A是客户端从上到下发到传输层一般选TCP,靠目标端口来决定你访问的目标是谁,IP能找对方服务器位置,对方身上可能打各种各样的服务器,怎么找到目标服务,靠的是目标端口,)源端口一般是1万以上的随机端口,端口范围是0-65535。

源端口:是你A电脑扫描本机,假设10001没有被占,说明就是源端口号。然后发到对方,对方返回时把端口号颠倒。

源端口是随机的,目标端口是通过客户端程序确定访问对方的服务找到的

命令:

netstat:查询网络状态(主要看本机开的那个端口,看本机的网络服务)

                 —an

                 —a —all (查询本机网络连接)

              —n number (加n显示数字,不加n显示服务名www)

                ESTABLISHED 意思是已经建立连接

UDP没有连接状态,是因为UDP协议是双方不建立连接的

 

4fc11a84d30e458f808346078812816a.jpeg

                                         bit流指向接收端

 

 

3.网络层(Network layer ):网络层定义了一个IP协议。

    IP地址编址: 写入源IP和目标IP

     路由选择

2、数据链路层( Data Link layer :数据链路层就是来对电信号来做分组的。

 

1、物理层 ( Physical layer :硬件,有线及无线。例如网线,中间的物理链接可以是光缆、电缆、双绞线、无线电波。中间传的是电信号,即010101...这些二进制位。

 

记忆口诀:

All People Seem To Need Data Processing。

从第7层到第一层,从下到上每一个的首字母刚好组成这句话。

 

46ee1f03d6834692bea745f0769fd297.jpg 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关推荐

  1. http 请求流程,网络模型

    2024-07-12 07:38:02       47 阅读
  2. OSI模型讲解

    2024-07-12 07:38:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 07:38:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 07:38:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 07:38:02       57 阅读
  4. Python语言-面向对象

    2024-07-12 07:38:02       68 阅读

热门阅读

  1. Elasticsearch集群-实现自动补全

    2024-07-12 07:38:02       27 阅读
  2. Spring依赖注入、循环依赖——三级缓存

    2024-07-12 07:38:02       30 阅读
  3. 【WPF】Enum与Converter的使用

    2024-07-12 07:38:02       24 阅读
  4. 【CH32V305FBP6】USBD 初始化分析

    2024-07-12 07:38:02       25 阅读
  5. Ansible的Playbook

    2024-07-12 07:38:02       24 阅读
  6. Ansible

    2024-07-12 07:38:02       22 阅读
  7. RabbitMQ保证消息被成功发送和消费

    2024-07-12 07:38:02       23 阅读
  8. Python实现一对多WebSocket发送给指定多个客户端

    2024-07-12 07:38:02       26 阅读