网络协议层次模型

OSI 七层模型

        在 OSI 网络分层模型中,每个分层都接收由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务。上下层之间进行交互时所遵循的约定叫做接口 ;同一层之间的交互所遵循的约定叫做协议, 下图是 OSI 七层模型。

应用层:
        应用层就是为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录等协议
        从用户输入完所要发送的内容并点击发送按钮的那一刻开始,就进入了应用层协议的处理。该协议会在所要传送数据的前端附加一个首部信息。该首部标明了邮件内容和收件人。这一附有首部信息的数据传送给对应主机以后由该主机上的收发邮件软件通过收信功能获取内容

表示层:
        表示层就是 将应用层处理的信息转换为适合网络传输的格式,或将来自上一层的数据转换为下层能够处理的格式。因此它主要负责数据格式的转换
        表示层是进行统一的网络数据格式与某一台计算机或某一款软件特有的数据格式之间相互转换的分层。表示层与表示层之间为了识别编码格式也会附加首部信息,从而将实际传输的数据交换给下一层去处理

会话层:
        负责建立和断开通信连接,以及数据的分隔等数据传输相关的管理。
        假定用户 A 新建了 5 封电子邮件准备发送给用户 B 。这 5 封邮件的发送顺序可以由很多种。例如,可以每发一封邮件时建立一次连接,随后断开连接。还可以一经建立好连接后就将5 封邮件连续发送给对方。甚至可以同时建立好 5 个连接,将 5 封邮件同时发送给对方。决定采用何种连接方法是会话层的主要责任会话层也像应用层或表示层那样,在其收到的数据前端附加首部或标签信息后再转发给下一层。而这些首部或标签中记录着数据传送顺序的信息

传输层:
        管理两个节点之间的数据传输。起着可靠传输的作用
        进行建立连接或断开连接的处理,在两个主机之间创建逻辑上的通信连接即是传输层的主要作用。此外,传输层为确保所传输的数据到达目标地址,会在通信两端的计算机之间进行确认,如果数据没有到达,它会负责进行重发
        注意:会话层负责决定建立连接和断开连接的时机,而传输层进行实际的建立和断开处理
为了确保可靠性,在这一层也会为所要传输的数据附加首部以识别这一分层的数据。然而,实际上将数据传输给对端的处理是由网络层来完成的

网络层:
        将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某一个地址。因此这一层主要负责寻址和路由选择
        网络层的作用是在网络与网络相互连接的环境中,将数据从发送端主机发送到接收端主机

数据链路层:
         负责物理层面上互连的节点之间的通信传输。将 0 1 序列划分为具有意义的数据帧传送给对端

物理层:
        负责 0 1 比特流与电压的高低、光的闪灭之间的互换

        通信传输实际上是通过物理的传输介质实现的。数据链路层的作用就是在这些通过传输介质互连的设备之间进行数据处理
        物理层中,将数据的 0、1 转换为电压和脉冲光传输给物理的传输介质,而相互直连的设备 之间使用地址实现传输。这种地址被称为 MAC 地址,也可称为物理地址或硬件地址。采用 MAC
地址,目的是为了识别连接到同一个传输介质上的设备。因此,在这一分层中将包含 MAC 地址
信息的首部附加到从网络层转发过来的数据上,将其发送到网络
        网络层与数据链路层都是基于目标地址将数据发送给接收端的,但是网络层负责将整个数据发送给最终目标地址,而数据链路层则只负责发送一个分段内的数据

TCP/IP 四层模型

        在 TCP/IP 模型中,我们讲将OSI 模型的应用层,表示层和会话层合并为 TCP/IP 模型的应用 层,讲数据链路层和物理层合并为 TCP/IP 模型的数据链路层,使得 TCP/IP 模型只有四层,如下图。

第一层: 数据链路层(网络接口层):
        网络接口层负责在以太网、WiFi 这样的底层网络上发送原始数据包,工作在网卡这个层次,使用 MAC 地址来标记网络上的设备,所以有时候也叫 MAC
第二层:网络层(互联网层):
        互联网层使用 IP 协议,它相当于 OSI 模型中的第 3 层网络层。 IP 协议基于 IP 地址转发分包数据

        TCP/IP 分层中的互联网层与传输层的功能通常由操作系统提供。尤其是路由器,它必须得
实现通过互联网转发分组数据包的功能
第三层:传输层:
        传输层最主要的功能就是能够让应用程序之间实现通信以及以什么协议进行通信 (TCP/UDP)。计算机内部,通常同一时间运行着多个程序。为此,必须分清是哪些程序与哪些程序在进行通信。识别这些应用程序的是端口号

第三层:应用层:
        应用层有各种面向具体应用的协议,例如 Telnet SSH FTP SMTP HTTP 等。
        MAC 层的传输单位是帧, IP 层的传输单位是包, TCP 层的传输单位是段, HTTP 的传输单位则是消息或报文

TCP/IP 通信模型示例

        每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层所必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。如上图,在下一层的角度看,从上一分层收到的包全部都被认为是本层的数据。

        假定用户 A 要给用户 B 发送一封内容为早上好的邮件,首先是应用程序的处理,应用在发送邮件的那一刻建立 TCP 连接,从而利用这个 TCP 连接发送数据。它的过程首先是将应用的
数据发送给下一层的 TCP ,再做实际的转发处理。
        TCP 根据应用的指示,负责建立连接、发送数据以及断开连接。 TCP 提供将应用层发来的数据顺利发送至对端的可靠传输
        为了实现 TCP 的这一功能,需要在应用层数据的前端附加一个 TCP 首部。 TCP 首部中包括源端口号和目标端口号(用以识别发送主机跟接收主机上的应用)、序号(用以表示该包中数据是发送端整个数据中第几字节的序列号)以及校验和(用以判断数据是否被损坏)。随后将附加了 TCP 首部的包再发送给 IP
        IP 将 TCP 传过来的 TCP 首部和 TCP 数据合起来当做自己的数据,并在 TCP 首部的前端加上自己的 IP 首部。因此, IP 数据包中 IP 首部后面紧跟着 TCP 首部,然后才是应用的数据首部和数据本身。IP 首部中包含接收端 IP 地址以及发送端 IP 地址。紧随 IP 首部的还有用来判断其后面数据是 TCP 还是 UDP 的信息
        IP 包生成后,参考路由控制表决定接受此 IP 包的路由或主机。随后, IP 包将被发送给连接这些路由器或主机网络接口的驱动程序,以实现真正发送数据
        如果尚不知道接收端的 MAC 地址,可以利用 ARP 查找。只要知道了对端的 MAC 地址,就可以将 MAC 地址和 IP 地址交给以太网的驱动程序,实现数据传输
        从 IP 传过来的 IP 包,对于以太网驱动来说不过就是数据,给这数据附加上以太网首部并进行发送处理。以太网首部中包含接收端 MAC 地址、发送端 MAC 地址以及标志以太网类型的以太数据的协议。根据上述信息产生的以太网数据包将通过物理层传输给接收端。发送处理中的 FCS 由硬件计算,添加到包的最后。设置 FCS 的目的是为了判断数据包是否由于噪声而被破坏
        主机收到以太网包之后,首先从以太网的包首部找到 MAC 地址判断是否为发送给自己的包。如果不是发给自己的包则丢弃数据,而如果是接收到了恰好是发给自己的包,就查找以太网包首部中的类型域从而确定以太网协议所传送过来的数据类型。在这个例子中数据类型是 IP包,因此再将数据传给 IP 的字程序。如果以太网包首部的类型域包含了一个无法识别的协议类型,则丢弃数据
        IP 模块收到 IP 包首部及后面的数据部分以后,也做类似的处理。如果判断得出包首部中的 IP 地址与自己的 IP 地址匹配,则可接收数据并从中查找上一层的协议。如果上一层是 TCP就将 IP 包首部之后的部分传给 TCP 处理;如果是 UDP 则将 IP 包首部后面的部分传给 UDP处理。对于有路由器的情况下,接收端地址往往不是自己的地址,此时,需要借助路由控制表,在调查应该送达的主机或路由器以后再转发数据
        在 TCP 模块中,首先会计算一下校验和,判断数据是否被破坏。然后检查是否在按照序号接收数据。最后检查端口号,确定具体的应用程序,数据接收完毕后,接收端则会发送一个确认回执给发送端。如果这个回执信息未能达到发送端,那么发送端会认为接收端没有接收到数据而一直反复发送,数据被完整地接收以后,会传给由端口号识别的应用程序
        接收端应用程序会直接接收发送端发送的数据,解析数据进行处理

IP,ICMP, ARP 和 MAC 地址的概述

IP:
        IP 是跨越网络传送数据包,使整个互联网都能收到数据的协议。IP 协议使数据能够发送到地球的另一端,这期间它使用 IP 地址作为主机的标识,IP 还隐含着数据链路层的功能。通过IP,相互通信的主机之间不论经过怎样的底层数据链路都能够实现通信,虽然 IP 也是分组交换的一种协议,但是它不具有重发机制。即使分组数据包未能到达对端主机也不会重复。因此,属于非可靠性传输协议
ICMP:
        IP 数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要给发送端发送一个异常的通知。ICMP 就是为这一功能而制定的。它有时也被用来诊断网络的健康状况
ARP:
        从分组数据包的 IP 地址中解析出物理地址( MAC 地址)的一种协议
MAC:
        MAC 地址,直译为媒体存取控制位址,也称为局域网地址, MAC 位址,以太网地址或物理地址,它是一个用来确认网络设备位置的位址。在 OSI 模型中,第三层网络层负责 IP 地址,第二层数据链路层则负责 MAC 位址 。 MAC 地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的 MAC 地址

常见网络设备工作的层次

路由器:
        选择网络数据的下一站,工作网络层上,IP 分配,能够理解 IP 地址是什么,如果收到一个数据包就会根据 IP 地址去处理数据包
集线器:
        没有智力,工作在物理层,数据对于它来说仅仅是电流,当一个端口的电流到集线器的时候,只是简单的将电流转发到其他的端口。
交换机 :
        稍微有点智力,工作在数据链路层,对它来说,数据仅仅是 MAC 地址的集合,它能够分辨数据包中的源 MAC 地址和目的 MAC 地址,因此交换机可以进行任意两个端口的通信。但是交换机并不懂 IP 地址是什么。
        交换机内部的 CPU 会在每一个端口成功连接的时候,将 MAC 地址和端口对应,形成一张 MAC 表格
网关是什么?
        网络的关口,从一个网络到另一个网络,必须经过一道“关口”, 网关实质上是一个网络通往其他网络的 IP 地址。

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

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

相关文章

2023华为杯研究生数学建模竞赛CDEF题思路+模型代码

全程更新华为杯研赛CDEF题思路模型及代码,大家查看文末名片获取 华为杯C题思路分析 问题一 在每个评审阶段,作品通常都是随机分发的,每份作品需要多位评委独立评审。为了增加不同评审专家所给成绩之间的可比性,不同专家评审的作…

SpringBoot轻松实现项目集成Knife4j接口文档

Knife4j 介绍 Knife4j 官网 Knife4j是一款基于Swagger生成API文档的增强工具,它简化了开发者构建和管理RESTful API文档的过程。通过自动扫描项目中的接口信息,Knife4j能够生成详细、易读的API文档,无需手动编写和维护。它提供交互式的接口调…

CSP-J/S 2023第一轮认证晋级分数线有些爆冷,超出想象

昨天广东、江西、内蒙古、河北、江苏、吉林、四川相继公布了第一轮认证成绩和晋级分数线。 爆冷 说实在话,看到这个分数线,我有些意外。 省份 CSP-J CSP-S 江西 55 29 内蒙古 30 20 河北 48 20 江苏 72.5 52.5 吉林 52 33 四川 67 55 就拿我们大河北来…

02强化学习基本概念

强化学习基本概念 前言1、State、Action、Policy等① State② Action③ State transition④ State transition probability⑤ Polity 2、Reward、Return、MDP等① Reward② Trajectory and return③ Discounted return④ Episode⑤ MDP 总结: 前言 本文来自西湖大学…

一、荔枝派nano启动USB虚拟串口功能FLASH版

一、搭建环境 本次使用的是ubuntu16.04进行搭建编译环境,具体的配置编译登都在荔枝派官网有介绍:https://wiki.sipeed.com/soft/Lichee/zh/Nano-Doc-Backup/build_sys/build_flash_copy.html 特别注意:本次需要使用的USB转串口功能&#xff0…

解决方案 | 如何构建市政综合管廊安全运行监测系统?

如何构建市政综合管廊安全运行监测系统?WITBEE万宾城市生命线智能监测仪器,5年免维护设计,集成10多项结构与气体健康监测指标,毫秒级快速响应,时刻感知综合管廊运行态势

【kafka】可视化工具KAFKA EAGLE安装分享

目录 准备: 开始: 1.解压 2.环境变量配置 3.生效环境变量配置文件 3.修改配置文件 1.修改zookeeper集群信息 2.修改mysql配置信息 4.启动 5.异常排查 6.页面 创作不易,你的动力是我创作的动力,如果有帮助请关注我&…

C 初级学习笔记(基础)

目录 1.预处理器指令 预定义宏 预处理器运算符 (\) 参数化的宏 头文件 .h 引用头文件操作 2.函数(标识符&关键字&运算符)存储类 函数参数 a. 标识符&关键字 b. 运算符(算术、关系、逻辑、位、赋…

千巡翼X1 让航测无人机更小更轻更高效

利用无人机进行航空摄影测量,已成为测绘外业生产的主要方式,不仅方便快捷,更能全面准确获得成果。近年来,凭借快速高效、机动灵活、安全可靠、低成本等诸多优势,小型多旋翼无人机逐渐成为一些航测项目作业的新利器。 千…

方案:基于AI烟火识别与视频技术的秸秆焚烧智能化监控预警方案

一、方案背景 为严控秸秆露天焚烧,改善环境空气质量,各省相继发布秸秆禁烧工作内容。以安徽省为例,大气污染防治联席会议下发了该省2020年秸秆禁烧工作部署通知。2020年起,气象局将对全省秸秆焚烧火点实施卫星全年全时段监测&…

C语言入门Day_24 函数与指针

目录 前言: 1.指针和数组 2.函数和指针 3.易错点 4.思维导图 前言: 我们知道数组是用来存储多个数据的,以及我们可以用指针来指向一个变量。那么我们可以用指针来指向一个数组中的数据么? 指针除了可以像指向一个变量一样指…

三维模型3DTile格式轻量化压缩处理的数据质量提升方法分析

三维模型3DTile格式轻量化压缩处理的数据质量提升方法分析 在处理三维模型3DTile格式的轻量化压缩时,如何在减少数据量的同时,保证或提升数据质量是一大挑战。以下为一些提升数据质量的方法分析: 改进几何简化算法:在进行几何简化…

centos 7.9系统安装向日葵

1.下载地址 向日葵远程控制app官方下载 - 贝锐向日葵官网 2.下载依赖 yum install -y libappindicator-gtk3 安装好依赖之后,然后再安装向日葵软件 3.安装软件 sudo rpm -ivh 文件名.rpm 4.安装成功之后的位置

python脚本批量创建数据

背景 批量创建测试数据,利用python自带的库如faker库,节省大量的人工。准备工作 1、安装python,参考地址 https://www.runoob.com/python3/python3-install.html 2、设置环境变量(不同操作系统) PATH“$PATH:/usr/local/bin/python” 3、查…

力扣-217.存在重复元素

Method 1 先对整个数组进行排序&#xff0c;然后从前往后开始遍历&#xff0c;判断前一个数 是否跟相邻的数相等 AC Code class Solution { public:bool containsDuplicate(vector<int>& nums) {sort(nums.begin(),nums.end());int front nums[0];for( int i 1; i…

亚马逊云科技 Amazon Lightsail :一种在云服务器上运行容器的简单方法

当向开发人员介绍亚马逊云科技云服务时&#xff0c;通常会花一点时间来介绍并演示 Amazon Lightsail 。它是迄今为止开始使用亚马逊云科技的最简单方法。使用它&#xff0c;您在几分钟内即可在自己的虚拟服务器上运行您的应用程序。而后增加了在 Amazon Lightsail 上部署基于容…

商业综合体AI+视频安防监控与智能监管解决方案

一、方案背景 商业综合体需要具备更好的品质和环境才能吸引更多客流&#xff0c;如何有效地进行内部管理、外部引流&#xff0c;是综合体管理人员思考的重点。 传统的视频监控需要靠人盯牢屏幕或者发生报警后通过查看录像&#xff0c;才能找到意外事件相关人员与起因&#xf…

走心分享!天津诚筑说Java大数据培训我该如何选择?

随着互联网的发展&#xff0c;IT行业变得越来越炙手可热&#xff0c;其中较为火热的当属大数据和Java了&#xff0c;许多学员都很纠结&#xff0c;Java和大数据我应该如何选择呢?今天小编带大家了解一下Java和大数据之间的区别&#xff01; Java和大数据的关系 Java是一种面…

偶现来电时手机操作出现重启

问题描述&#xff1a;偶现来电时手机操作出现重启 问题分析&#xff1a;从系统Log看 09-06 10:22:44.791829 1400 1425 W Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: Blocked in handler on main thread (main) 09-06 10:22:44.794133 1400 1425 W Watchdog: main …

【2023华为杯B题】DFT类矩阵的整数分解逼近(思路及代码下载)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…