osi模型,tcp/ip模型(名字由来+各层介绍+中间设备介绍)

目录

网络协议如何分层

引入

osi模型

tcp/ip模型 

引入

命名由来

介绍 

物理层

数据链路层

网络层

传输层

应用层

中间设备 


网络协议如何分层

引入

我们已经知道了网络协议是层状结构,接下来就来了解了解下网络协议如何分层

  • 常见的网络协议分层模型是OSI模型 和 TCP/IP模型

osi模型

  • osi模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范
  • 包含七个层次,它提供了一个框架,完善地描述了在网络通信中各层次的逻辑功能

tcp/ip模型 

引入

虽然osi模型很好,但是在实际工程中,我们发现了许多问题

  • 我们本来是要把网络功能直接写在内核里的  (因为我们每台电脑都要联网,并且要保证使用统一的标准,所以干脆将网络协议整合到操作系统中,这样就不会出现因为协议不同而导致无法通信的问题了)
  • 但是在实操中,发现会话层和表示层不好在os中实现
  • 于是这两层并没有实际落地,而是将这两层统一看作应用层,在应用层的协议中实现这两层
  • 所以,在实际实现时只剩下了五层

命名由来

  • 站在os角度,最重要的两层是网络层和运输层(因为最终只有这两层被实际写在了os内)
  • 而他们两个最具有代表性的协议分别是ip协议和tcp协议,所以这五层网络协议栈也被叫做tcp/ip协议栈
  • 由于物理层我们考虑的比较少,因此很多时候也可以称为 tcp/ip四层模型

介绍 

物理层
  • 负责光/电信号的传递方式
  • 比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等,这些都属于物理层的概念
  • 物理层的能力决定了最大传输速率、传输距离、抗干扰性等属性
  • 集线器(Hub)工作在物理层
数据链路层
  • 负责设备之间的数据帧的传送和识别(数据帧 -- 在数据链路层传输数据的一种结构化格式)
  • 完成网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作
  • 有以太网、令牌环网, 无线LAN等标准(也就是协议)
  • 交换机(Switch)工作在数据链路层
网络层
  • 负责地址管理和路由选择
  • 例如,在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路
  • 路由器(Router)工作在网路层
传输层
  • 负责两台主机之间的数据传输
  • 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机
  • 没有特定的物理设备与传输层直接对应,传输层主要工作在os中,提供一些协议和机制,以确保应用程序之间的有效通信
应用层
  • 负责应用程序间沟通
  • 如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等
  • 我们的网络编程主要就是针对应用层

中间设备 

随着网络功能的复杂,需要更多的设备来支持,所以会增加一些中间设备,来辅助网络功能的实现

  • 比如路由器,交换机,集线器,网卡等等

这些设备会具备各自层次的功能,但不仅仅只有这个功能

在实际网络中,它们经常需要相互协作以提供综合的网络服务

  • 例如,路由器不仅进行网络层的路由,还可能包括数据链路层的交换功能
  • 交换机虽然主要是数据链路层的设备,但在实现VLAN时可能涉及到网络层的信息

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

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

相关文章

Flink CDC 3.0 Starrocks建表失败会导致任务卡主!

Flink CDC 3.0 Starrocks建表失败会导致任务卡主! 现象 StarRocks建表失败,然后任务自动重启,重启完毕后数据回放,jobMaster打印下面日志后,整个任务会卡主 There are already processing requests. Wait for proce…

windows 连接 Ubuntu 失败 -- samba服务

1. windows10连接ubuntu的时候,提示不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接,中断与此服务器或共享资源的所有连接,然后再试一次 2. 换一台同事的电脑却又可以连上,我之前一直能用的,隔一段时间…

PostgreSQL创建数据库、数据库管理员用户、该库的只读用户

1.创建用户: create user pgdbAdmin with password "Pgdb_15432";2.创建数据库: create database pgdb owner pgdbAdmin;3.创建SCHEMA; create schema pgdbAdmin;4.赋予数据库管理员用户权限: grant all privileges…

UE5 C++ 单播 多播代理 动态多播代理

一. 代理机制,代理也叫做委托,其作用就是提供一种消息机制。 发送方 ,接收方 分别叫做 触发点和执行点。就是软件中的观察者模式的原理。 创建一个C Actor作为练习 二.单播代理 创建一个C Actor MyDeligateActor作为练习 在MyDeligateAc…

【蓝桥杯】包子凑数(DP)

一.题目描述 二.输入描述 三.输出描述 四.问题分析 几个两两互质的数,最大公约数是1,最小公倍数是他们的乘积。 两个互质的数a和b最小不能表示的数就是(a-1)(b-1)-1,即,两个互质的数…

uniapp_微信小程序日历

一、需求要求这样 二、代码实现 <view class"calender" click"showriliall"><text class"lineText">探视日期&#xff1a;</text><text class"middleText">{{timerili}}</text><image src"/s…

Ubuntu服务器fail2ban的使用

作用&#xff1a;限制ssh远程登录&#xff0c;防止被人爆破服务器&#xff0c;封禁登录ip 使用lastb命令可查看到登录失败的用户及ip&#xff0c;无时无刻的不在爆破服务器 目录 一、安装fail2ban 二&#xff0c;配置fail2ban封禁ip的规则 1&#xff0c;进入目录并创建ssh…

CVE-2024-0713 Monitorr 服务配置 upload.php 无限制上传漏洞

### Monitorr是一个自托管的PHP网络应用&#xff0c;可以监控本地和远程网络服务、网站和应用的状态。经过分析&#xff0c;该系统存在文件上传漏洞&#xff0c;攻击者可以通过该漏洞上传webshell至目标系统从而获取目标系统权限。 漏洞的位置在 assets\php\upload.php &#…

非阻塞式 I/O 模型的工作原理【NIO】-2

优化上一篇文上的代码。 import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.*; import java.util.Iterator; import java.util.Set;public class NonBlockingServer {public static void main(String[] …

JG/T 263-2010 建筑门窗用未增塑聚氯乙烯彩色型材检测

建筑门窗用未增塑聚氯乙烯彩色型材是指以未增塑聚氯乙烯型材为基材&#xff0c;以共挤、覆膜、涂装、通体着色工艺加工的建筑门窗用型材。 JG/T 263-2010建筑门窗用未增塑聚氯乙烯彩色型材检测项目 测试项目 测试标准 外观与颜色 JG/T 263 尺寸和偏差 JG/T 263 共挤层厚…

【c++leetcode】1382. Balance a Binary Search Tree

问题入口 DSW (DAY, STOUT & WARREN) ALGORITHM 时间复杂度O(n) class Solution { public:int makeVine(TreeNode* grand, int cnt 0){auto n grand->right;while (n ! nullptr){if(n->left ! nullptr){auto old_n n;n n->left;old_n->left n->righ…

服务器如何使用https 自签证书

前言 在使用自签名证书&#xff08;Self-Signed Certificate&#xff09;配置 HTTPS 的情况下&#xff0c;您可以按照以下步骤进行操作。请注意&#xff0c;自签名证书在生产环境中可能不是最佳选择&#xff0c;因为它们不受任何第三方信任机构的验证。在生产环境中&#xff0…

力扣hot100题解(python版18-21题)

18、矩阵置零 给定一个 *m* x *n* 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法**。** 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例…

CSS常见选择器

CSS&#xff08;层叠样式表&#xff09;中包含了多种用于选择和定位HTML文档中元素的选择器&#xff0c;以便为这些元素应用样式。以下是CSS中常见的一些选择器及其详细解析&#xff1a; 1. 基础选择器 元素&#xff08;标签&#xff09;选择器&#xff1a; p {color: red; }这…

Stable Diffusion WebUI 折腾新篇章

原文&#xff1a;https://blog.iyatt.com/?p13123 1 前言 第一次玩 Stable Diffusion WebUI 是三十几天前&#xff0c;当时还在用四年半前&#xff08;大学前暑假&#xff09;买的轻薄本&#xff0c;而在半年前独显还坏了&#xff0c;所以是纯纯的用 CPU 折腾&#xff0c;刚…

【Android】View事件体系基础

文章目录 坐标系View滑动layout方法offserLeftAndRight() 和 offsetTopAndBottom()LayoutParams(布局参数)View动画scrollTo/scrollBy 解析Activity的构成 坐标系 分为Android坐标系和View坐标系 可以用 getWidth() 和 getHeight() 获取View自身的宽度和高度 对于ViewgetX() …

【c语言】内存函数

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 目录 memcpy函数的使用和模拟实现 memcpy函数的使用 memcpy函数的模拟实现 memmove的使用和模拟实现 memmove的使用 memmove的模拟实现 memset函数的使用 memcmp函数…

pdf转word文档怎么转?分享4种转换方法

pdf转word文档怎么转&#xff1f;在日常工作中&#xff0c;我们经常遇到需要将PDF文件转换为Word文档的情况。无论是为了编辑、修改还是为了重新排版&#xff0c;将PDF转为Word都显得尤为重要。那么&#xff0c;PDF转Word文档怎么转呢&#xff1f;今天&#xff0c;就为大家分享…

pytest-fixture固件的使用

fixture 固件&#xff1a;pytest自动化中用于前后置&#xff0c;功能强大&#xff0c;可替代setup,teardown,setup_class,teardown_class 装饰器&#xff1a; pytest.fixture(scope"作用域“, params"参数化", autouse”自动执行“, ids”参数别名“, name"…

ubuntu中怎么搭建go语言环境?

在Ubuntu中搭建Go语言环境相对简单&#xff0c;以下是一些基本步骤&#xff1a; 下载Go语言包&#xff1a; 访问Go官方网站(https://golang.org/dl/)下载适合您系统的Go语言包。选择适合您系统架构的版本&#xff0c;一般选择最新的稳定版本即可。 安装Go语言&#xff1a; 解压…