当前位置: 首页 > news >正文

【网络】OSI模型 与 TCP/IP模型 对比

一、OSI模型

OSI模型包含7个层次,从下到上分别是:

1. 物理层(Physical Layer)

   - 功能:处理与电子设备物理接口相关的细节(如电压、引脚布局、同步,等等)。
   - 协议:以太网物理标准(如Ethernet 10BASE-T, 100BASE-TX等)、光纤(如SONET/SDH)。

2. 数据链路层(Data Link Layer)

   - 功能:建立、维护和终结节点间的链路;错误检测与修正。
   - 协议:以太网(Ethernet)、PPP(点到点协议)、STP(生成树协议)、ARP(地址解析协议)。

3. 网络层(Network Layer)

   - 功能:负责数据封包的路由选择。
   - 协议:IP(Internet Protocol)、ICMP(Internet Control Message Protocol)、IGMP(Internet Group Management Protocol)。

4. 传输层(Transport Layer)

   - 功能:提供可靠或不可靠的传输,并进行流量控制。
   - 协议:TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)。

5. 会话层(Session Layer)

   - 功能:建立、管理和终止会话。
   - 协议/服务:NetBIOS、SMB(Server Message Block)、RPC(Remote Procedure Call)。

6. 表示层(Presentation Layer)

   - 功能:确保信息已经正确的被接收节点理解,可以参与数据格式转换。
   - 协议/格式:JPEG、ASCII、EBCDIC、TIFF、GIF、PICT、XML、MIME、MPEG。

7. 应用层(Application Layer)

   - 功能:允许访问OSI环境的手段,使用户能够接入网络。
   - 协议/服务:HTTP(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)、DNS(Domain Name System)。

二、TCP/IP模型

TCP/IP模型通常被描述为四个层次结构,有时候也被称作五层结构(加上物理层和数据链路层作为单独的层)。下面按照四层结构介绍:

1. 链路层(Link Layer)

   - 对应OSI模型的物理层和数据链路层。
   - 功能:主管通过物理网络媒介发送和接收数据。
   - 协议:Ethernet、PPP、ARP、ATM。

2. 网络层(Internet Layer)

   - 对应OSI模型的网络层。
   - 功能:选择和管理数据包通过网络的路径(路由)。
   - 协议:IP、ICMP、IGMP、IPsec。

3. 传输层(Transport Layer)

   - 对应OSI模型的传输层。
   - 功能:提供端对端或主机到主机的通信。
   - 协议:TCP、UDP。

4. 应用层(Application Layer)

   - 对应OSI模型的会话层、表示层和应用层。
   - 功能:允许访问网络服务,支持各种应用。
   - 协议/服务:HTTP、FTP、SMTP、DNS、Telnet、SSH。

OSI模型更加严谨和细化,TCP/IP模型更加流行。

三、代码示例

# OSI模型示例代码  # 导入所需的库  
import socket  # 创建套接字(传输层)  
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 绑定地址和端口(网络层)  
sock.bind(('localhost', 8000))  # 监听连接(传输层)  
sock.listen(1)  while True:  # 接受连接(传输层)  connection, address = sock.accept()  # 接收数据(应用层)  data = connection.recv(1024)  # 处理数据(应用层)  # 这里可以解析HTTP请求、处理FTP文件传输等  # 发送响应(应用层)  response = b"Hello from server!"  connection.sendall(response)  # 关闭连接(传输层)  connection.close()

上述示例代码展示了传输层和应用层的一些操作。在实际应用中,还需要处理更低层次(如网络层、数据链路层、物理层)的细节,这通常由操作系统和网络库透明地处理。

相关文章:

【网络】OSI模型 与 TCP/IP模型 对比

一、OSI模型 OSI模型包含7个层次,从下到上分别是: 1. 物理层(Physical Layer) - 功能:处理与电子设备物理接口相关的细节(如电压、引脚布局、同步,等等)。 - 协议:以…...

[Docker]记一次使用jenkins将镜像文件推送到Harbor遇到的问题

系统版本: Ubuntu 18.01 私服: Harbor Docker版本: Docker version 18.09.5 首先需要明确的是,即在harbor里项目设置为公开,但是在push的时候还是需要用户验证的,即需要使用docker登录 docker login harbo…...

龙芯 Loongson 架构 UOS 系统编译 Qt 5.15.2 源码

背景 需要在龙芯(Loongson)CPU,UOS 系统下,进行国产化项目适配,UOS 自带 Qt 5.11,但是版本过老,与目前基于 Qt 5.15.2 项目存在不兼容情况,故需要自行编译 Qt 5.15.2开发环境。 软…...

【IDEA 使用easyAPI、easyYapi、Apifox helper等插件时,导出接口文档缺少代码字段注释的相关内容、校验规则的解决方法】

问题 IDEA 使用easyAPI、easyYapi、Apifox helper等插件时,导出的接口文档上面,缺少我们代码里的注解字段,如我们规定了NOTNULL、字段描述等。 问题链接,几个月之前碰到过,并提问了,到现在解决&#xff0c…...

asp.net在线考试系统+sqlserver数据库

asp.net在线考试系统sqlserver数据库主要技术: 基于asp.net架构和sql server数据库 功能模块: 首页 登陆 用户角色 管理员(对老师和学生用户的增删改查),老师(题库管理 选择题添加 选择题查询 判断题添加…...

CRM按行业细分的重要性

很多企业和销售会诟病CRM系统不够贴合行业、功能也不够细分和实用。因为各行各业的业务千差万别,所以功能完备、使用满意度高的CRM一定是与不同行业业务场景高度匹配的,是深度行业化的。因此行业化是CRM发展的重要趋势之一,为什么CRM一定要走…...

自动化测试测试框架封装改造

PO模式自动化测试用例 PO设计模式是自动化测试中最佳的设计模式,主要体现在对界面交互细节的封装,在实际测试中只关注业务流程就可以了。 相较于传统的设计,在新增测试用例后PO模式有如下优点: 1、易读性强 2、可扩展性好 3、…...

C#可空类型

在C#中,可空类型(Nullable types)允许值类型(比如int, double, bool等)接受null值。这是特别有用的,因为在很多应用程序中,如数据库交互和数据解析,值类型的字段可能需要表示没有值&…...

R语言:利用biomod2进行生态位建模

在这里主要是分享一个不错的代码,喜欢的可以慢慢研究。我看了一遍,觉得里面有很多有意思的东西,供大家学习和参考。 利用PCA轴总结的70个环境变量,利用biomod2进行生态位建模: #------------------------------------…...

如何学习算法

在不知其所以然的情况下,算法只是一堆离散的机械步骤,缺少背后的思想的支撑, 这些步骤之间就没有一个本质层面上的关联(先知亚里士多德早就指出:学习即联接)。 所以就跟背历史书也没多大区别。然而&#xf…...

MFC/QT 一些快要遗忘的细节:

1:企业应用中,MFC平台除了用常见的对话框模式还有一种常用的就是单文档模式, 维护别人的代码,不容易区分,其实找与程序同名的cpp就知道了,比如项目名称为 DoCMFCDemo,那么就看BOOL CDocMFCDemoApp::InitI…...

常见的面试算法题:阶乘、回文、斐波那契数列

1.阶乘算法 Factorial 例如:给出数字5,对其以下的的每个数字相乘,结果等于120 解:递归 Recursive function factorial(n) {// 如果n为0或1,阶乘是1if (n 0 || n 1) {return 1;}// 否则,返回n乘以n-1的…...

微服务 Spring Cloud 7,Nacos配置中心的Pull原理,附源码

目录 一、本地配置二、配置中心1、以Nacos为例:2、Pull模式3、也可以通过Nacos实现注册中心 三、配置中心提供了哪些功能四、如何操作配置中心1、配置注册2、配置反注册3、配置查看4、配置变更订阅 五、主流的微服务注册中心有哪些,如何选择?…...

c#Nettonsoft.net库常用的方法json序列化反序列化

Newtonsoft.Json 是一个流行的 JSON 操作库,用于在 .NET 应用程序中序列化、反序列化和操作 JSON 数据。下面是 Newtonsoft.Json 常用的一些方法: 序列化对象为 JSON 字符串: string json JsonConvert.SerializeObject(obj);var obj new {…...

力扣刷题-二叉树-二叉树的高度与深度

二叉树最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3 递归法 本题可以使用前序(中左…...

Vue3新增加的css语法糖

一、deep <template><div class""><el-input /> </div> </template> <style scoped> /* 样式穿透 */ :deep input {background: red; } </style> 二、slotted 子组件修改插槽里面的样式 <template><div clas…...

Windows安装Vmware 虚拟机

目录 一、Vmware 虚拟机介绍 二、Vmware 虚拟机的三种网络模式 2.1桥接模式 2.2仅主机模式 2.3NAT 网络地址转换模式 三、Vmware 虚拟机的安装 一、Vmware 虚拟机介绍 VMware Workstation Pro 是一款可以在个人电脑的操作系统上创建一个完全与主机操作系统隔离的 虚拟机&…...

uniapp地图手动控制地图scale

前言 首次使用uniapp开发地图过程中&#xff0c;发现uniapp地图居然没有提供手动控制地图scale的方法&#xff0c;这个也着实没有想到&#xff0c;查了半天资料&#xff0c;也终于找到一个方法能够比较好的控制scale&#xff0c;做个记录。 代码 要定义一个地图map&#xff…...

Kotlin学习之函数

原文链接 Understanding Kotlin Functions 函数对于编程语言来说是极其重要的一个组成部分&#xff0c;函数可以视为是程序的执行&#xff0c;是真正活的代码&#xff0c;为啥呢&#xff1f;因为运行的时候你必须要执行一个函数&#xff0c;一般从主函数入口&#xff0c;开始一…...

若依启动步骤

1.创建数据库 2.启动redis 3.改后端的数据库连接配置 4.配置redis redis的地址&#xff1a;cmd中ipconfig命令查看 6.启动后端&#xff1a;如下 7.启动前端ruoyi-ui中 先运行npm install&#xff0c;再npm run dev。项目就启动成功了。 用户名&#xff1a;admin 密码&#x…...

AI辅助开发Playwright脚本:处理文件上传与iframe交互难题

AI辅助开发Playwright脚本&#xff1a;处理文件上传与iframe交互难题 最近在做一个Web自动化测试项目时&#xff0c;遇到了两个特别头疼的问题&#xff1a;文件上传和iframe内的富文本编辑器交互。作为一个刚接触Playwright不久的开发者&#xff0c;这些复杂交互让我卡了好几天…...

告别手动爆肝:用AiScan-N自动化你的CTF Web漏洞测试(SQL注入/文件上传实战)

智能渗透测试革命&#xff1a;AiScan-N在CTF中的实战应用与效率跃升 当凌晨三点的CTF比赛进入白热化阶段&#xff0c;你的眼皮开始打架&#xff0c;而对手却像永动机般不断提交flag——这种场景下&#xff0c;传统手动渗透测试的局限性暴露无遗。我曾亲眼见证一位资深红队成员…...

百度网盘秒传链接终极指南:网页版工具全平台免费使用教程

百度网盘秒传链接终极指南&#xff1a;网页版工具全平台免费使用教程 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 还在为百度网盘文件分享的繁琐…...

智能排障:快马ai助手实时解答openclaw安装难题,告别卡壳

最近在折腾OpenClaw这个工具时&#xff0c;发现它的安装过程真是让人头大——各种依赖报错、环境冲突、权限问题接踵而至。好在发现了InsCode(快马)平台的AI辅助功能&#xff0c;简直像给安装过程装上了智能导航。下面分享我的实战经验&#xff0c;如何用AI快速攻克OpenClaw安装…...

Phi-4-mini-reasoning真实案例:GPT-4对比测试中更优的确定性推理表现

Phi-4-mini-reasoning真实案例&#xff1a;GPT-4对比测试中更优的确定性推理表现 1. 模型介绍 Phi-4-mini-reasoning是一款专注于推理任务的文本生成模型&#xff0c;特别擅长处理需要多步逻辑推导的问题。与通用聊天模型不同&#xff0c;它被设计用来解决数学题、逻辑题等需…...

飞书机器人告警配置避坑指南:夜莺监控常见报错解决方案

飞书机器人告警配置避坑指南&#xff1a;夜莺监控常见报错解决方案 深夜的告警风暴里&#xff0c;飞书机器人突然罢工是什么体验&#xff1f;上周三凌晨2点&#xff0c;当我面对满屏的Key Words Not Found和sign match fail报错时&#xff0c;终于理解了为什么运维工程师的咖啡…...

G-Helper终极指南:如何用轻量级工具优化华硕笔记本性能与电池健康

G-Helper终极指南&#xff1a;如何用轻量级工具优化华硕笔记本性能与电池健康 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF…...

HsMod:炉石传说功能增强插件的全方位优化方案

HsMod&#xff1a;炉石传说功能增强插件的全方位优化方案 【免费下载链接】HsMod Hearthstone Modify Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod HsMod是一款基于BepInEx框架开发的炉石传说功能增强插件&#xff0c;通过55项实用功能为…...

基于鲸鱼优化算法改进XGBoost在MATLAB中的时间序列预测性能(迭代次数、最大深度和学习...

基于鲸鱼优化算法优化XGBoost(WOA-XGBoost)的时间序列预测 WOA-XGBoost时间序列 采用交叉验证抑制过拟合问题 优化参数为迭代次数、最大深度和学习率 matlab代码&#xff0c;注&#xff1a;暂无Matlab版本要求 -- 推荐 2016B 版本及以上 注&#xff1a;采用 XGBoost 工具箱&…...

5分钟部署阿里RexUniNLU:Web界面操作,无需编程基础

5分钟部署阿里RexUniNLU&#xff1a;Web界面操作&#xff0c;无需编程基础 1. 认识RexUniNLU&#xff1a;零样本理解的神器 想象一下&#xff0c;你刚接手一个新项目&#xff0c;老板丢给你一堆用户评论&#xff0c;要求你快速分析出大家对产品"屏幕"、"续航&…...