计算机网络--四层模型,IP地址和MAC地址

        四层模型:分别是应用层,传输层,网络层和链路层。

        应用层:提供了应用程序之间相互通信的接口,允许用户访问网络服务。这一层定义了应用程序如何与底层网络进行交互。例如HTTP协议。

        传输层:它处理数据的分段、传输、错误检查和流控制。它确保数据从源主机的一个进程传输到目标主机的另一个进程。例如TCP协议和UDP协议。

        网络层:这一层负责数据包在不同网络之间的路由,即选择数据从源主机到目的主机的最佳路径。它处理逻辑寻址(IP地址)和数据包的转发。主要使用IP协议,它最核心的协议,负责数据包的封装、寻址和路由。

        链路层:这是最底层的一层,负责将IP数据包封装成适合物理网络传输的,并进行物理传输。它处理物理寻址(MAC地址)、错误检测和介质访问控制。它关心的是数据在单个物理链路上如何传输。

        数据封装和解封装过程:

  •  发送方:

    1. 应用层生成数据。

    2. 传输层将数据封装成报文段/用户数据报,添加传输层头部(如端口号)。

    3. 网络层将报文段/用户数据报封装成IP数据包,添加网络层头部(如源/目的IP地址)。

    4. 网络接口层将IP数据包封装成帧,添加数据链路层头部和尾部(如源/目的MAC地址)。

    5. 物理层将帧转换成比特流,通过物理介质发送出去。

  •  接收方:

    1. 物理层接收比特流,并将其转换为帧。

    2. 网络接口层解封装帧,去除数据链路层头部和尾部,得到IP数据包。

    3. 网络层解封装IP数据包,去除网络层头部,得到报文段/用户数据报。

    4. 传输层解封装报文段/用户数据报,去除传输层头部,得到数据。

    5. 应用层处理数据。


        七层模型:物理层(第一层),数据链路层(第二层),网络层(第三层),传输层(第四层),会话层(第五层),表示层(第六层),应用层(第七层)。


        分组交换(Packet Switching):分组交换是目前计算机网络中数据传输的主要方式。在分组交换中,发送方将要传输的完整报文(消息)分解成一系列较小的、固定大小或可变大小的数块,每个数据块称为一个分组 (Packet)。每个分组除了包含原始数据的一部分外,还会附带一个控制信息头部 (Header)。这个信息头部包括源地址,目的地址,序列号和其他控制信息。

        分组交换的优点:

        1.高效性:与电路交换不同,分组交换不需要预先分配固定带宽。多个用户可以共享网络资源,当某个用户没有数据发送时,其占用的带宽可以被其他用户使用,从而大大提高了带宽利用率。

        2.灵活性:分组可以根据网络状况(如拥塞情况、链路故障)动态选择不同的传输路径,增强了网络的健壮性。

        3.突发性数据传输 (Bursty Data):非常适合传输突发性的数据(即数据量变化大,发送时有时无的情况)。传统的电话网络(电路交换)不适合处理这种突发性数据,因为即使没有数据发送,也预留了带宽。

        4.成本效益 (Cost-effectiveness):由于资源共享和更低的带宽要求,分组交换网络通常比电路交换网络更经济。

        5.错误控制 (Error Control):由于数据被分成小块,即使某个分组损坏,也只需要重传该分组,而不是整个报文,降低了重传开销。


        字节顺序:分为大端序(big endian)和小端序(little endian)。大端序中,地址的字节顺序和我们阅读习惯相符,例如0x0400,存储为0x04 0x00,而小端序对计算机而言更有意义,存储为0x 00 0x04。


        IPV4:IPv4地址的总长度是 ​32位​。这32位二进制数分成4个8位的部分,每个部分用一个0到255之间的十进制数表示。IP地址被分为网络部分和主机部分,网络部分是位于IP地址高位,主机部分位于IP地址低位。

        子网掩码:子网掩码的形式和IPV4地址类似,例如255.255.255.0,255.255.252.0,255.128.0.0,这三个子网掩码分别是24位,22位,9位。通过判断IP地址按位与子网掩码的值是否相等,我们可以判断两个IP地址是否位于同一网络中。


        MAC地址:物理地址,唯一标识一块网卡,在局域网内部唯一。为什么我们需要MAC地址,如果我们在链路层尝试去解析IP地址的话,是否就不需要使用MAC地址来决定帧的转发方向了呢?答案是NO。以太网并不只承载IPV4,它还能承载 IPv6、ARP、MPLS、甚至非 IP 的协议。如果这样设定的话,他就只能绑死在IP地址上了。并且由于MAC地址解析速度远快于IP地址的解析速度,也会使转发效率下降。并且由于MAC地址是扁平的,适合局域网内设备寻址,而IP地址是分层的,用来做全局路由。如果链路层都用 IP,就会增加局域网内部的复杂性(需要维护大量 IP 路由表)。

        地址解析协议(ARP):ARP的功能就是,在局域网中,将IP地址解析为MAC地址。举个例子,在送外卖时,IP地址负责将我们送到对应的公司大楼,而MAC地址则负责让我们把外卖送到对应的工位中。在跨网段通信中,IP地址只负责将我们送到对应的网络中,然后就由MAC地址来接管数据。当主机A传送数据时,它会在ARP缓存表中先查看目标IP地址和对应MAC地址是否被存储。若主机不知道目标IP对应的MAC地址,则在局域网内广播ARP请求,让目标IP的主机回应自己的MAC地址,这之后会更新ARP缓存表。得知对应的MAC地址后,则用MAC地址封装帧发送数据,此时,不再需要进行广播。通过交换机可以做到单播。交换机是二层设备(链路层),核心是MAC地址表,帧到达交换机时,交换机会查看目标MAC。如果在MAC表中找到对应端口,直接把帧发送到对应端口(单播)。如果找不到,才做广播。

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

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

相关文章

解析、创建Excel文件的开源库OpenXLSX介绍

OpenXLSX是一个C库,用于读取、写入、创建和修改.xlsx格式的Microsoft Excel文件,源码地址:https://github.com/troldal/OpenXLSX ,License为BSD-3-Clause,可在Windows、Linux、MaCOS平台上使用。最新发布版本为v0.3.2&…

【C++】C++11 篇二

【C】C11 篇二前言移动构造函数移动赋值运算符重载类成员变量初始化 (缺省值出自C11强制生成默认函数的关键字default:禁止生成默认函数的关键字delete:继承和多态中的final与override关键字(出自C11可变参数模板递归函数方式展开参数包逗号表达式展开参…

构建Python环境的几种工具

本文主要介绍如何构建Python环境来处理不同的工作。 1.常用的构建Python环境的工具 ①venv(内置模块):Python 3.3 内置标准库模块,无需额外安装。 ②virtualenv:venv的前身,功能更强大且支持旧版Python。 ③conda:来自 Anaconda 或 Miniconda。不仅能…

c#项目编译时外部依赖文件的同步问题

很多场景因为资源文件太多或太大无法放到资源里面或者是依赖的dll文件,需要编译时同步到bin\debug或bin\release下的,这里面要修改工程文件代码实现。 比如,我把这个项目依赖的dll和附加文件放到ref_dll文件夹里面,希望编译的时候…

数学建模常用算法-模拟退火算法

一、模拟退火算法模拟退火的灵感来源于物理中的 “退火过程”—— 将金属加热到高温后,缓慢冷却,金属原子会在热能作用下自由运动,逐渐形成能量最低的稳定结构。算法将这一过程抽象为数学模型:“温度 T”:对应物理中的…

架构很简单:业务架构图

缘起业务架构是一个复杂的体系,如何更简单的表达,并能使用起来呢?所谓:大道至简。基于此,这篇文章就开始了。业务是一切架构的开始,如果没有业务,架构又有什么作用呢?所以做架构首先…

【前端埋点】纯前端实现 A/B Test

“纯前端实现 A/B Test”,意思就是 没有后端分流、也不依赖流量网关,那么只能靠前端逻辑来做“流量切分”。 🎯 目标 80% 的用户 → A 页面20% 的用户 → B 页面且要保证 同一个用户每次访问结果一致(否则用户刷新页面时 A/B 会跳…

Day22_【机器学习—集成学习(3)—Boosting—Adaboost算法】

Adaptive Boosting(自适应提升)是基于 Boosting思想实现的一种集成学习算法,核心思想是通过逐步提高那些被前一步分类错误的样本的权重来训练一个强分类器。一、Adaboost算法直线相当于一个弱学习器,正确的数据权重减小,错误的数据权重增加二…

C#语言入门详解(18)传值、输出、引用、数组、具名、可选参数、扩展方法

C#语言入门详解(18)传值、输出、引用、数组、具名、可选参数、扩展方法一、传值参数1. 值类型2. 引用类型,并且创建对象3. 引用类型,不创建对象二、引用参数1. 值类型2. 引用类型,创建新对象3. 引用类型,不…

模型部署:(二)安卓端部署Yolov5-v6.0目标检测项目全流程记录

模型部署:(二)安卓端部署Yolov5-v6.0目标检测项目全流程记录1、下载NCNN项目2、下载基于安卓的yolov5项目3、修改相应的配置文件4、将项目打包成apk包5、部署自己训练的yolov5模型6、相关资料下载:1、下载NCNN项目 # 链接地址 ht…

图形基础算法:如何将点与带曲线边的多边形位置关系算法做稳定

简介判断点与多边形位置关系算法是几何算法中最基础的算法之一,包括布尔运算在内的非常非常多的算法都会用到它。它的稳定是算法库稳定的关键。下面我们从一个边都是直线的多边形开始了解射线法的原理。然后看看引入曲线后会带来哪些问题,以及在实际应用…

react的filber架构

好问题 👍 你问的是 React Fiber 架构。这是 React 16 引入的核心机制,用来解决 React 在大规模更新时的性能问题。下面我给你从 背景 → Fiber 是什么 → 原理 → 优点 → 流程 来系统讲。一、为什么需要 Fiber?在 React 15 及以前&#xff…

Lucky STUN穿透结合群晖NAS实现docker下transmission监听端口动态更新

参考文章 LCUKY系列教程 一 「LUCKY STUN穿透」使用 cURL 自动修改 Transmission 的监听端口 二 「LUCKY STUN穿透」使用 Webhook 自动修改 qbittorrent 的监听端口 三 LUCKY STUN穿透在Windows上使用UPnP工具为BT客户端自动添加内外端口号不同的映射规则 四「LUCKY STUN穿透」…

如何在Ubuntu畅玩鸣潮等游戏

本教程只包括Steam上的游戏。# 更新软件源 sudo apt update # 安装Steam sudo apt install steam首先,在Ubuntu的snap商店安装Steam,启动,登陆,下载游戏。到这里的操作都比较简单,对于没有反作弊的游戏,往往…

机器学习09——聚类(聚类性能度量、K均值聚类、层次聚类)

上一章:机器学习08——集成学习 下一章:机器学习10——降维与度量学习 机器学习实战项目:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备 文章目录一、聚类任务(无监督学习…

解决 Docker 构建中 Python 依赖冲突的完整指南

问题背景 在基于 registry.cn-shenzhen.aliyuncs.com/all_dev/dev:invoice-base 镜像构建 Docker 容器时,我们遇到了一个常见的 Python 依赖管理问题: ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-…

光子计算芯片实战:Lightmatter Passage互连架构性能评测

点击 “AladdinEdu,同学们用得起的【H卡】算力平台”,H卡级别算力,80G大显存,按量计费,灵活弹性,顶级配置,学生更享专属优惠。 摘要 随着人工智能计算需求呈指数级增长,传统电子计算…

基于树莓派与Jetson Nano集群的实验边缘设备上视觉语言模型(VLMs)的性能评估与实践探索

概述 2018年,TensorFlow Lite团队的Pete Warden曾提出:“机器学习的未来在于微型化”。如今,随着人工智能向高性能视觉强大的视觉语言模型(Vision-language models, VLMs)发展,对高性能计算资源的需求急剧…

华为Ai岗机考20250903完整真题

华为Ai岗机考20250903 华为自26届秋招(2025年起)对AI岗位机考进行了改革,考试题型调整为20道选择题(15道单选(6分)5道不定项选择(12分))2道编程题(150300)。 题目核心围绕人工智能技术(如Transformer架构…

k8s+jenkins+harbor构建Devops平台

一、环境准备1、准备一主一从k8s机器,(设备好可以一主多从也行)2、一台harbor仓库机器(dockerhub访问不了)二、安装nfs服务1、在k8s机器上yum install nfs-utils -y systemctl start nfs systemctl enable nfs2、创建共…