计算机网络 | OSI 参考模型

计算机网络 | OSI 参考模型

  • 计算机网络 | OSI 参考模型
    • 应用层
    • 表示层
    • 会话层
    • 传输层
    • 网络层
    • 数据链路层
    • 物理层

参考视频:王道计算机考研 计算机网络

参考书:《2022年计算机网络考研复习指导》

计算机网络 | OSI 参考模型

OSI 参考模型自下而上分为7层:

在这里插入图片描述

名称英文作用
应用层Application Layer直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务。如HTTP、SMTP、FTP、DNS 等
表示层Presentation Layer把数据转换为能与接收者的系统格式兼容并适合传输的格式,即让两个系统可以交换信息
会话层Session Layer负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接
传输层Transport Layer负责端到端通讯,可靠传输,不可靠传输 ,流量控制,复用分用
网络层Network Layer负责选择路由最佳路径,规划 IP 地址(ipv4 和 ipv6 变化只会影响网络层),拥塞控制
数据链路层Data Link Layer帧的开始和结束,还有透明传输,差错校验(纠错由传输层解决)
物理层Physical Layer定义网络设备接口标准,电气标准(电压),如何在物理链路上传输的更快

通信过程:

在这里插入图片描述

在这里插入图片描述

应用层

在这里插入图片描述
简介:直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务。

协议:HTTP、SMTP、FTP、DNS 等。

表示层

简介:把数据转换为能与接收者的系统格式兼容并适合传输的格式,即让两个系统可以交换信息。

协议:JPEG、ASCII 等。

在这里插入图片描述

会话层

简介:负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。

协议:ADSP、ASP 等。

在这里插入图片描述

传输层

简介:负责主机中两个进程的通信,即端到端通信。传输单位是报文段或用户数据报。

协议:TCP、UDP 等。

在这里插入图片描述

功能1:可靠传输、不可靠传输

  • 可靠传输:例如,传输一个大文件或者重要文件,需要发送方和接收方先通过确认机制,确认连接后,再将该文件切分层多个报文段或者用户数据报,然后逐个传输(顺序传输),当接收方成功接收到一个报文段后,发送方再发送下一个报文段,如果某个报文段发送/接收失败,则发送方重新发送,直到切分的所有报文段都被接收方接收成功。
  • 不可靠传输:例如,发送简单文件或消息时,直接把数据报发送给接收方即可,不用确认机制确认连接等流程。

功能2:差错控制

例如,当在传输文件或数据时,某些报文段丢失,或传输失序(顺序错误),这时候就需要差错控制,矫正错误。

功能3:流量控制

例如,当大量数据发送给接收方,而接收方接收数据的速率跟不上时,这时候需要数据发送方控制数据发送的量(例如减缓数据发送速率),这就叫流量控制。

功能4:复用分用

  • 复用:多个应用层进程可同时使用下面运输层的服务
  • 分用:运输层把收到的信息分别交付给上面应用层中相应的进程

在这里插入图片描述

网络层

简介:把分组从源端发送到目的端,为分组交换网上的不同主机提供通信服务。

网络层的传输单位是数据报。

协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF。

在这里插入图片描述

功能1:路由选择

选择最佳路径。

功能2:流量控制

对发送端发送数量(发送速率)的控制,如果接收端因为数据量大,接收不过来时,就会对发送端进行流量控制。

功能3:差错控制

通信两节点之间约定一些规则(比如,奇偶校验码),如果校验后,分组不满足约定的规则,则对其进行整改或者丢弃该分组(整改失败就丢弃)。

功能4:拥塞控制

其区别于流量控制(发送端),拥塞控制是在全局上进行数据发送的控制。例如:所有结点都来不及接收分组,而要丢掉大量分组的话,网络就处于拥塞状态,因此需要采取一定措施缓解这种拥塞。

数据链路层

简介:把网络层传下来的数据组装成帧。

数据链路层的传输单位是帧。

协议:SDLC、HDLC、PPP、STP。

在这里插入图片描述

功能1:成帧

定义帧的开始和结束。

功能2:差错控制

差错包括帧错和位错。发现差错后,可以丢弃错误的帧,也可以根据协议纠正错误。

数据链路层既可以查错,也可以纠错。

功能3:流量控制

例如,两个相邻节点之间传送数据时,而节点B接收数据的速率跟不上时,这时候需要节点A控制数据发送的量(例如减缓数据发送速率),这就叫流量控制。

流量控制可以协调两个节点的速率,使节点A发送数据的速率刚好是节点B可以接收的速率。

功能4:访问(接入)控制

控制对(共享)信道的访问。

物理层

简介:在物理媒体上实现比特流的透明传输。

物理层的传输单位是比特。

协议:Rj45、802.3 等。

在这里插入图片描述

功能1:定义接口特性

例如,引脚类型、引脚的连接方式。

功能2:定义传输模式

例如,单工、半双工、双工。

功能3:定义传输速率

例如,发送端的发送速率。

功能4:比特同步

利用时钟保证发送端和接收端的每一个比特的同步。

功能5:比特编码

用什么电压表示0/1。例如,曼彻斯特编码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/154232.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 学习笔记

文章目录 一、基础命令1.1 通用命令1.2 String1.3 Hash1.4 List1.5 Set1.6 SortedSet 二、Redis 和数据库的数据一致性三、缓存穿透四、缓存雪崩五、缓存击穿 一、基础命令 1.1 通用命令 KEYS pattern 查找所有符合给定模式 pattern 的 key,其中 * 匹配零个或多个…

【Golang】gin框架入门

文章目录 gin框架入门认识gingo流行的web框架gin介绍快速入门 路由RESTful API规范请求方法URI处理函数分组路由 请求参数GET请求参数POST请求参数路径参数文件参数 响应字符串方式JSON方式XML方式文件格式设置HTTP响应头重定向YAML方式 模板渲染基本使用多个模板渲染自定义模板…

Qt中QTimer定时器的用法

Qt中提供了两种定时器的方式一种是使用Qt中的事件处理函数,另一种就是Qt中的定时器类QTimer。 使用QTimer类,需要创建一个QTimer类对象,然后调用其start()方法开启定时器,此后QTimer对象就会周期性的发出timeout()信号。 1.QTimer…

VMware centos7虚拟机修改静态IP

一、修改网络适配器 1、打开 2、使用管理员权限修改 3、按照图中步骤修改为 4、设置网关为10.0.0.2后保存即可 二、修改配置文件 1、输入下面代码进入修改(网卡这里网卡名字为ens33,可使用ifcfig或ip a查看) vi /etc/sysconfig/netwo…

使用vlc获取海康威视视频流

1.下载相关软件 1.1海康威视官网-服务支持-工具软件-设备网络搜索 下载地址: https://www.hikvision.com/cn/support/tools/hitools/注意:必须跟摄像头在同一个局域网下才可以使用设备网络搜索工具,才能使用vlc获取到视频流。 1.2下载VLC …

Hadoop----Azkaban的使用与一些报错问题的解决

1.因为官方只放出源码,并没有放出其tar包,所以需要我们自己编译,通过查阅资料我们可以使用gradlew对其进行编译,还是比较简单,然后将里面需要用到的服务文件夹进行拷贝,完善其文件夹结构,通常会…

leetcode 每日一题复盘(10.9~10.15)

leetcode 101 对称二叉树 这道题一开始想是用层序遍历,看每一层是否都对称,遇到一个问题就是空指针(子树为空)无法记录下来,同时会导致操作空指针的问题,因此需要修改入队条件,并用一个标志去表示空指针 vector<int>numv;for(int i0;i<size;i){TreeNode*frontque.fro…

SpringCloudGateway网关整合swagger3+Knife4j3,basePath丢失请求404问题

很多人都是照着别人的文章粘代码&#xff0c;我也是粘的&#xff0c;但是这样粘也会有问题&#xff0c;我搞这个Knife4j3的时候遇到两个问题&#xff0c;这里记录一下&#xff1a; 第一个是basePath丢失&#xff0c;第二个解决basePath丢失完又引发了会引起application/json数据…

React +ts + babel+webpack

babel babel/preset-typescript 专门处理ts "babel/cli": "^7.17.6", "babel/core": "^7.17.8", "babel/preset-env": "^7.16.11", "babel/preset-react": "^7.16.7", "babel/preset…

第4章 决策树

文章目录 4.1 基本流程4.2 划分选择4.2.1 信息增益4.2.2 增益率4.2.3 基尼指数 4.3 剪枝处理4.3.1 预剪枝4.3.2 后剪枝 4.4 连续与缺失值4.4.1 连续值处理4.4.2 缺失值处理 4.5 多变量决策树4.6 阅读材料 4.1 基本流程 决策树也称判定树&#xff0c;是一类常见的机器学习方法。…

35 WEB漏洞-逻辑越权之找回机制及接口安全

目录 找回重置机制接口调用乱用演示案例绑定手机验证码逻辑-Rep状态值篡改-实例某APP短信轰炸接口乱用-实例接口调用发包 文章分享&#xff1a;https://www.cnblogs.com/zhengna/p/15655691.html 有支付接口、短信发送接口&#xff0c;邮箱的发送接口等等&#xff0c;在接口这…

论文研读|Protecting Intellectual Property of Deep Neural Networks with Watermarking

目录 论文信息文章简介研究动机研究方法水印生成水印嵌入版权验证 实验结果有效性&#xff08;Effectiveness&#xff09;高效性&#xff08;Converge Speed&#xff09;保真度&#xff08;Functionality&#xff09;鲁棒性&#xff08;Robustness&#xff09;Anti-剪枝攻击&am…

镜像仓库harbor安装部署

基础配置 systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/configharbor wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce docke…

Python中套接字实现服务端和客户端3-2

2.3 监听套接字 通过listen()方法监听套接字。该方法的格式如下所示。 socket.listen([backlog]) 其中&#xff0c;参数backlog是一个可选项&#xff0c;表示等待服务器接收连接的客户端的数量。使用listen()方法监听套接字的代码如下所示。 s.listen(1) 当没有客户端连接…

OJ练习第183题——移动机器人

移动机器人 力扣链接&#xff1a;2731. 移动机器人 题目描述 示例 官解思路 当两个机器人相撞时&#xff0c;它们会沿着原本相反的方向移动。由于机器人之间并没有任何区别&#xff0c;相撞可以看做是穿透&#xff0c;原本左边的机器人相撞后交换为右边的机器人&#xff0c…

android Google官网 :支持不同的语言和文化 rtl / ltr : 本地化适配:RTL(right-to-left) 适配

参考 google官网&#xff1a; 支持不同的语言和文化 应用包含可能专门针对特定文化而设计的资源。例如&#xff0c;应用可以包含针对特定文化的字符串&#xff0c;这些字符串将转换为当前语言区域的语言。 将具有文化特异性的资源与应用的其他资源分开是一种很好的做法。And…

HTTPS建立连接的过程

HTTPS 协议是基于 TCP 协议的&#xff0c;因而要先建立 TCP 的连接。在这个例子中&#xff0c;TCP 的连接是在手机上的 App 和负载均衡器 SLB 之间的。 尽管中间要经过很多的路由器和交换机&#xff0c;但是 TCP 的连接是端到端的。TCP 这一层和更上层的 HTTPS 无法看到中间的包…

基于springboot实现家具销售电商平台管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现家具销售电商平台管理系统演示 摘要 社会的发展和科学技术的进步&#xff0c;互联网技术越来越受欢迎。网络计算机的交易方式逐渐受到广大人民群众的喜爱&#xff0c;也逐渐进入了每个用户的使用。互联网具有便利性&#xff0c;速度快&#xff0c;效率高&am…

NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器

自然语言处理是机器学习和人工智能的一个迷人领域。这篇博客文章启动了一个具体的 NLP 项目&#xff0c;涉及使用维基百科文章进行聚类、分类和知识提取。灵感和一般方法源自《Applied Text Analysis with Python》一书。 一、说明 该文是系列文章&#xff0c;揭示如何对爬取文…

SQL多表设计--一对多(外键)

-- 完成部门和员工的-- 选择当前db03 这个数据库use db03;-- 查看当前选中的数据库select database();-- 创建员工表create table tb_emp (id int unsigned primary key auto_increment comment ID,username varchar(20) not null unique comment 用户名,password varchar(32)…