计算机网络基础-OSI七层模型 和 TCP/IP四层模型的对比

news2024/11/19 7:45:08

OSI七层模型 和 TCP/IP四层模型的对比

  • OSI七层模型: 理论上的网络通信模型 记忆: (物、链、网、输、会、示、用)

  • TCP/IP四层模型: 实际上的网络通信标准

(1) 七层网络体系结构各层的主要功能:

应用层:

最上层的,也是我们能直接接触到的就是应用层Application Layer),我们电脑或手机使用的应用软件都是在应用层实现。那么,当两个不同设备的应用需要通信的时候,应用就把应用数据传给下一层,也就是传输层。

所以,应用层只需要专注于为用户提供应用功能,为应用程序提供交互服务。在互联网中的应用层协议很多,比如 HTTP、FTP、Telnet、DNS、SMTP等。

应用层是不用去关心数据是如何传输的,就类似于,我们寄快递的时候,只需要把包裹交给快递员,由他负责运输快递,我们不需要关心快递是如何被运输的。

而且应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态。

表示层:

主要负责数据格式的转换,如加密解密、转换翻译、压缩解压缩等。

会话层:

负责在网络中的两节点之间建立、维持和终止通信,如服务器验证用户登录便是由会话层 完成的。

运输层:

应用层的数据包会传给传输层,传输层Transport Layer)是为应用层提供网络支持的。

负责两个进程的通信,即端到端通信。向主机进程提供通用的数据传输服务。该层主要有以下两种传输协议协议:TCP\ UDP

  • TCP 的全称叫传输控制协议Transmission Control Protocol),大部分应用使用的正是 TCP 传输层协议,比如 HTTP 应用层协议。TCP 相比 UDP 多了很多特性,比如流量控制、超时重传、拥塞控制等,这些都是为了保证数据包能可靠地传输给对方。
  • UDP 相对来说就很简单,简单到只负责发送数据包,不保证数据包是否能抵达对方,但它实时性相对更好,传输效率也高。当然,UDP 也可以实现可靠传输,把 TCP 的特性在应用层上实现就可以,不过要实现一个商用的可靠 UDP 传输协议,也不是一件简单的事情。

应用需要传输的数据可能会非常大,如果直接传输就不好控制,因此当传输层的数据包大小超过 MSS(TCP 最大报文段长度) ,就要将数据包分块,这样即使中途有一个分块丢失或损坏了,只需要重新发送这一个分块,而不用重新发送整个数据包。在 TCP 协议中,我们把每个分块称为一个 TCP 段TCP Segment)。

当设备作为接收方时,传输层则要负责把数据包传给应用,但是一台设备上可能会有很多应用在接收或者传输数据,因此需要用一个编号将应用区分开来,这个编号就是端口

比如 80 端口通常是 Web 服务器用的,22 端口通常是远程登录服务器用的。而对于浏览器(客户端)中的每个标签栏都是一个独立的进程,操作系统会为这些进程分配临时的端口号。

由于传输层的报文中会携带端口号,因此接收方可以识别出该报文是发送给哪个应用。

网络层:

传输层可能大家刚接触的时候,会认为它负责将数据从一个设备传输到另一个设备,事实上它并不负责。

实际场景中的网络环节是错综复杂的,中间有各种各样的线路和分叉路口,如果一个设备的数据要传输给另一个设备,就需要在各种各样的路径和节点进行选择,而传输层的设计理念是简单、高效、专注,如果传输层还负责这一块功能就有点违背设计原则了。

也就是说,我们不希望传输层协议处理太多的事情,只需要服务好应用即可,让其作为应用间数据传输的媒介,帮助实现应用到应用的通信,而实际的传输功能就交给下一层,也就是网络层Internet Layer)。

选择合适的路由和交换结点,确保数据及时传送。主要包括IP协议:

网络层最常使用的是 IP 协议(Internet Protocol,IP 协议会将传输层的报文作为数据部分,再加上 IP 包头组装成 IP 报文,如果 IP 报文大小超过 MTU(以太网中一般为 1500 字节)就会再次进行分片,得到一个即将发送到网络的 IP 报文。

网络层负责将数据从一个设备传输到另一个设备,世界上那么多设备,又该如何找到对方呢?因此,网络层需要有区分设备的编号。

我们一般用 IP 地址给设备进行编号,对于 IPv4 协议, IP 地址共 32 位,分成了四段(比如,192.168.100.1),每段是 8 位。只有一个单纯的 IP 地址虽然做到了区分设备,但是寻址起来就特别麻烦,全世界那么多台设备,难道一个一个去匹配?这显然不科学。

因此,需要将 IP 地址分成两种意义:

  • 一个是网络号,负责标识该 IP 地址是属于哪个「子网」的;
  • 一个是主机号,负责标识同一「子网」下的不同主机;

怎么分的呢?这需要配合子网掩码才能算出 IP 地址 的网络号和主机号。

举个例子,比如 10.100.122.0/24,后面的/24表示就是 255.255.255.0 子网掩码,255.255.255.0 二进制是「11111111-11111111-11111111-00000000」,大家数数一共多少个1?不用数了,是 24 个1,为了简化子网掩码的表示,用/24代替255.255.255.0。知道了子网掩码,该怎么计算出网络地址和主机地址呢?

  • 将 10.100.122.2 和 255.255.255.0 进行按位与运算,就可以得到网络号,
  • 将 255.255.255.0 取反后与IP地址进行进行按位与运算,就可以得到主机号。

大家可以去搜索下子网掩码计算器,自己改变下「掩码位」的数值,就能体会到子网掩码的作用了。

那么在寻址的过程中,先匹配到相同的网络号(表示要找到同一个子网),才会去找对应的主机。

除了寻址能力, IP 协议还有另一个重要的能力就是路由。实际场景中,两台设备并不是用一条网线连接起来的,而是通过很多网关、路由器、交换机等众多网络设备连接起来的,那么就会形成很多条网络的路径,因此当数据包到达一个网络节点,就需要通过路由算法决定下一步走哪条路径。

路由器寻址工作中,就是要找到目标地址的子网,找到后进而把数据包转发给对应的网络内。

所以,IP 协议的寻址作用是告诉我们去往下一个目的地该朝哪个方向走,路由则是根据「下一个目的地」选择路径。寻址更像在导航,路由更像在操作方向盘

数据链路层:

数据链路层通常简称为链路层。将网络层传下来的IP数据包组装成帧,并再相邻节点 的链路上传送帧。

物理层 :

实现相邻节点间比特流的透明传输,尽可能屏蔽传输介质和通信手段的差异。

(2)TCP/IP四层模型

 

 网络接口层的传输单位是帧(frame),IP 层的传输单位是包(packet),TCP 层的传输单位是段(segment),HTTP 的传输单位则是消息或报文(message)。但这些名词并没有什么本质的区分,可以统称为数据包。

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

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

相关文章

linux X系统 X窗口系统(X Window System)

Xorg是一个开放源代码的跨平台的图形系统,它是UNIX和Linux的主要图形系统,它的前身是XFree86。 Xorg是在桌面环境中提供显示和图形输入设备支持的主要架构。 它支持多种输入设备,如键盘,鼠标,触摸屏,手写板…

河南理工大学高校专区入驻飞桨AI Studio,优质教育资源等你来学!

近日,河南理工大学高校专区在飞桨人工智能学习与实训社区AI Studio上线,双方将携手搭建人工智能教学实训平台专区,汇集优质教学实训资源,校企共同培育复合型 AI 人才,为国家输送高质量人才,促进国家智能化进…

放射医学、影像医学、数字图像技术(采集和处理)PACS源码

PACS是一个涉及放射医学、影像医学、数字图像技术(采集和处理)、计算机与通讯、C/S体系结构的多媒体数据库管理信息系统,涉及软件工程、图形图像的综合及后处理等多种技术,是一个技术含量高、实践性强的高技术复杂系统。 系统概述: 1&#x…

编译原理(双语) 期末复习

在我的博客查看: https://chenhaotian.top/study/compilation-principle-final-review/ 编译原理(双语) 期末复习 注意:部分资料来自 chouxianyu.github.io,版权归原作者所有。 本文图片较多,加载速度受…

轻松实现文件改名——批量将日语文件名翻译成中文命名

文件改名是在处理大量文件时常见的需求,特别是当文件名用外语表示时,不太方便理解或分类。本教程将介绍如何使用便捷工具,批量将日语文件名翻译成中文命名,以提高文件的可读性和管理效率。 首先,第一步进入文件批量改…

走进分布式系统(分布式系统简介)

走进分布式系统 分布式系统简介分布式系统的架构演变过程初创期发展期成熟期 分布式系统的特性什么是分布式系统特性 分布式系统带来的问题 分布式中间件简介什么是分布式中间件常用的分布式中间件 分布式系统简介 分布式系统的架构演变过程 讲在前面,首先我们要了…

【uniapp】文件授权验真系统(含代码)

文章目录 前言一、框架选用二、数据库设计三、设计上传列表四、上传操作1.前端2.后端 五、修改操作六、访问操作七、二维码生成八、二维码访问九、删除操作总结 前言 吐槽:终于开通了【资源绑定】的功能了,之前还要一个一个的去贴链接 之前的同学联系…

ts学习基础篇(一)

旨在记录! 这篇人都学废了,本想记录常用类型,越学越多,每一个都很重要… 一、string: 字符串类型二、number: 数字类型三、boolean: 布尔值四、array:数组五、tuple: 元组六、字面量七、object:对象八、any: 任意类型九、unknown:…

【KingFusion】用趋势曲线组件实现实时曲线的步骤

哈喽,大家好,我是雷工! 本节学习测试用KingFusion趋势曲线组件实现电流的实时曲线的展示。 一、效果演示: 展示实时曲线的运行效果,效果为KingFunsion3.6通过KingIOServer连接现场系统中实际数据的演示效果。 二、…

代码随想录-单调栈|ACM模式实践

代码随想录感想 ​​​​​​739. 每日温度 题目描述: 输入输出示例: 思路和想法: 496. 下一个更大元素 I 题目描述: 输入输出示例: 思路和想法: 503. 下一个更大元素 II 题目描述: …

我开源了团队内部基于SpringBoot Web快速开发的API脚手架stater

我们现在使用SpringBoot 做Web 开发已经比之前SprngMvc 那一套强大很多了。 但是 用SpringBoot Web 做API 开发还是不够简洁有一些。 每次Web API常用功能都需要重新写一遍。或者复制之前项目代码。于是我封装了这么一个 抽出SpringBoot Web API 每个项目必备需要重复写的模块…

【100天精通python】Day3:python的基本数据类型和数据类型转换

一. python的基本数据类型 以下是一些常见的举例和详细解释: 整数(int):表示整数值。例如: x 5:将整数值5赋给变量x。 y -10:将整数值-10赋给变量y。 浮点数(float)&a…

【聚焦机器学习与实践经验的实用指南——《Python机器学习项目实战》】

《Python机器学习项目实战》引领大家在构建实际项目的过程中,掌握关键的机器学习概念!使用机器学习,我们可完成客户行为分析、价格趋势预测、风险评估等任务。要想掌握机器学习,需要有优质的范例、清晰的讲解和大量的练习。本书完全满足这三点…

漏洞复现-CVE-2022-24112原理与复现

目录 漏洞原理漏洞描述影响范围 apisix学习漏洞复现config.yaml环境搭建exp代码 入侵检测与修复总结参考 漏洞原理 漏洞描述 An attacker can abuse the batch-requests plugin to send requests to bypass the IP restriction of Admin API. A default configuration of Apa…

基于JavaSwing+MySQL的电影票购票管理系统

点击以下链接获取源码: https://download.csdn.net/download/qq_64505944/88051172?spm1001.2014.3001.5503 JDK1.8 MySQL5.7 功能:管理员与用户两个角色登录,管理员可以对电影进行增删改查处理,可以对影院增删改查管理&#x…

【C语言】类型转换和优先级

👦个人主页:Weraphael ✍🏻作者简介:目前正在回炉重造C语言(2023暑假) ✈️专栏:【C语言航路】 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你…

【Linux系统编程】Linux第一个小程序——进度条

文章目录 1. 对回车(\r)和换行(\n)的理解1.1 概念理解1.2 测试 2. 缓冲区的理解2.1 观察现象2.2 原因解释 3. 倒计时小程序4. 进度条小程序4.1 基本思路及实现4.2 改进及优化4.3 增加百分比显示4.4 增加旋转光标4.5 给进度条配色 …

基于FT232HL的USB2.0转ARINC429板卡

基于FT232HL的USB2.0转ARINC429板卡 1 概述 《USB2.0转ARINC429板卡》采用底板子板,层叠安装的结构;使用同样的底板,变换不同功能的子板实现不同的功能版本。 a) 降低硬件设计复杂度:新板卡设计只需要设计子板,子板的…

类和对象(C++)( static成员、explicit、友元、内部类、匿名对象)

类和对象 static成员概念static成员“登场”特性static成员使用 注意 explicit从一段代码引入explicit和explicit相关特性 友元友元函数引入问题解决 小结 友元类 内部类概念特性 匿名对象引入使用 static成员 概念 类的静态成员:声明为static的类成员。 静态成员变…

【黑客】网络安全靠自学?只会毁了你!

1️⃣网安现状 ❗本文面向所有 想要涉足网安领域 或 已经涉足但仍处在迷茫期 的伙伴,如果你月薪达到了3w,那么请你离开。 如果没有,希望你继续看下去,因为你人生的转折点将从这篇文章开始。 ✈️网络安全,一个近几年大…