计算机网络(3)网络拓扑和IP地址,MAC地址,端口地址详解

ok网络拓扑以及令人困惑的IP地址,MAC地址和端口地址来了!!!

网络拓扑是指计算机网络中各个节点(如计算机、路由器、交换机等)以及它们之间连接的布局或结构。(人话翻译过来也就是网络拓扑是计算机网络中节点的排列方式)网络拓扑不仅仅影响网络的物理布局,还会对网络的性能、可扩展性、可靠性和维护产生重要影响。在实际应用中,网络拓扑是设计网络时必须考虑的重要因素。

网络拓扑可以分为两大类:

  • 物理拓扑:指网络设备和传输介质的实际物理连接方式。
  • 逻辑拓扑:指网络中数据流动的方式,通常指数据包如何在网络中从源节点到达目标节点。

常见的网络拓扑结构有:总线型拓扑、星型拓扑、环型拓扑、树型拓扑、网状拓扑等。接下来我们将详细分析每种拓扑的特点、优缺点以及适用场景。

1. 总线型拓扑(Bus Topology)

结构:

总线型拓扑是最简单的一种网络结构,所有的设备都连接到一条共享的通信线路上,数据在这条主干线路上传输。

特点:(重点)

  • 设备通过分支连接到一条总线(主干线),并通过总线传输数据。
  • 只有一根通信线路,所有设备共享这条线路。
  • 数据传输是广播模式,所有设备都能接收到数据,但只有目标设备会处理该数据。
优缺点:
  • 优点
    • 简单,布线成本低,适合小型网络。
    • 布线灵活,适合临时或小规模的网络。
  • 缺点
    • 主干线路故障会导致整个网络的瘫痪。
    • 网络扩展困难,容易发生数据冲突,带宽效率低。
    • 如果数据量大,性能下降严重。
适用场景:

总线型拓扑主要适用于小型网络或临时性的网络(例如局域网),但由于其局限性,通常已被更先进的拓扑替代。

2. 星型拓扑(Star Topology)

结构:

在星型拓扑中,所有设备都通过单独的连接线与一个中心设备(通常是集线器或交换机)连接

特点:
  • 所有设备通过单独的电缆连接到中心设备。
  • 中心设备负责数据的转发和流量管理。
  • 数据由中心设备进行转发,而非直接从设备到设备。
优缺点:
  • 优点
    • 易于安装和管理,扩展性好。
    • 故障隔离方便,某一设备故障不会影响其他设备。
    • 可减少数据冲突,因为每个设备都有单独的连接。
  • 缺点
    • 中心设备如果发生故障,整个网络将无法工作。
    • 需要更多的电缆,成本较高。
    • 如果网络规模太大,中心设备可能成为瓶颈。
适用场景:

星型拓扑适用于大多数局域网环境,尤其是办公室、学校和其他需要集中管理的地方。由于其易于维护和扩展,广泛应用于现代网络中。

3. 环型拓扑(Ring Topology)

结构:

环型拓扑中的设备通过一条闭环线路连接,每个设备连接到两个其他设备,形成一个闭环。数据沿着环形路径在网络中传播。

特点:
  • 数据按环形顺序传输,每个设备都会接收到数据,直到数据到达目标设备。
  • 设备接收数据后,通过传递方式传输数据给下一个设备,直到目标设备接收数据。
  • 数据流是单向的(或双向的,如果是双环拓扑)。
优缺点:
  • 优点
    • 数据传输速度较快,网络管理简单。
    • 适合大规模数据传输,减少了碰撞的发生。
  • 缺点
    • 环路中的任何一个节点故障都会导致整个网络中断。
    • 故障检测和恢复相对复杂。
    • 扩展困难,添加新设备可能影响现有设备的传输。
适用场景:

环型拓扑适合于数据流量较为稳定、较少发生拓扑变更的环境,如局域网中的一些特定应用。由于其结构简单、组织明确,在一些工业控制网络中有应用。

4. 树型拓扑(Tree Topology)

结构:

树型拓扑结合了星型拓扑和总线型拓扑的特点,形成一种层次结构。一个根节点(通常是一个交换机或路由器)连接多个子节点,每个子节点也可能再连接更多的子节点,形成一棵树。

特点:
  • 分层结构,类似于企业组织架构。
  • 每一层都通过集中式设备连接,且每一层的设备通过树形结构互联。
  • 数据传输通常通过父节点到子节点,或反向从子节点到父节点。
优缺点:
  • 优点
    • 结构清晰,易于扩展和管理。
    • 可支持大量设备,方便分层管理。
    • 故障隔离较为容易。
  • 缺点
    • 根节点的故障可能导致整个网络的瘫痪。
    • 需要更多的设备和连接,成本较高。
适用场景:

树型拓扑适用于大型企业和校园网络等中到大型的网络,尤其是有明确分层的组织结构时非常适用。

5. 网状拓扑(Mesh Topology)

结构:

网状拓扑是指网络中的每一个节点都与其他节点直接相连。每个节点都有多个连接,并且每个节点都可以与其他节点交换数据。

特点:
  • 网络中每个设备都与其他设备有直接连接(完全网状拓扑),或者至少有多个连接(部分网状拓扑)。
  • 网状拓扑可以通过多条路径将数据传输到目标设备,提供冗余路径。
  • 数据传输更可靠,尤其适合需要高可用性的环境。
优缺点:
  • 优点
    • 高度的容错性,某些节点或连接出现故障时,数据仍然可以通过其他路径传输。
    • 高可靠性和高带宽,适合大型、高要求的网络。
  • 缺点
    • 布线复杂,成本较高,管理维护困难。
    • 适合小型的专用网络或非常重要的网络,但不适用于普通应用。
适用场景:

网状拓扑适用于那些对网络可靠性要求非常高的环境,如数据中心、金融机构、大型企业网络等。


小结

每种网络拓扑都有其独特的优缺点,选择哪种拓扑取决于具体的应用需求、网络规模、预算以及故障容忍度等因素。一般来说,星型拓扑广泛应用于现代局域网,树型拓扑适用于分层较深的企业网络,环型拓扑适用于数据流量较为稳定的网络,而网状拓扑则适用于高可靠性的场合。

IP地址和MAC地址

在计算机网络中,IP地址MAC地址是两种用于标识网络设备的地址。它们各有不同的用途和特点,具体如下:

1. IP地址(Internet Protocol Address)

定义:IP地址是网络层的地址,用于在网络中标识一台设备或主机。每个连接到网络的设备都会分配一个唯一的IP地址,以便在不同的网络中传输数据。

特点

  • 层级结构:IP地址是分层的,分为网络部分和主机部分,有助于数据在广域网络(WAN)中进行路由。
  • 版本
    • IPv4:32位地址,分为4个8位的部分,常用点分十进制表示(例如:192.168.1.1)。
    • IPv6:128位地址,分为8组,每组16位,通常以冒号分隔的十六进制表示(例如:2001:0db8:85a3:0000:0000:8a2e:0370:7334)。
  • 作用:主要用于数据在不同网络之间的传输。IP地址用来在网络中定位设备,使得数据能够准确地送达目标主机。
  • 动态与静态
    • 静态IP地址:永久分配给某个设备,适合服务器等需要固定地址的设备。
    • 动态IP地址:由DHCP服务器动态分配,每次连接网络时可能会变化,适合家庭用户或移动设备。

示例

  • IPv4地址:192.168.0.1
  • IPv6地址:fe80::1ff:fe23:4567:890a

2. MAC地址(Media Access Control Address)

定义:MAC地址是数据链路层的地址,位于设备的网络接口卡(NIC)中。它是网络设备的物理地址,通常在出厂时由设备制造商分配,不会随网络位置的变化而变化。

特点

  • 固定性:MAC地址通常是固定的,与设备的硬件相关(除非手动更改),例如网卡的出厂设定地址。
  • 地址结构:MAC地址是48位(6字节),通常以12位的十六进制数表示,格式为MM:MM:MM:SS:SS:SS
    • 前3个字节(MM部分)是制造商代码(OUI),由IEEE分配给制造商。
    • 后3个字节(SS部分)是由制造商分配的唯一设备标识。
  • 作用:用于局域网★(LAN)内设备之间的数据传输,确保同一子网中设备之间的通信。MAC地址在子网内用于确定数据链路层上的目标设备。

示例

  • MAC地址:00:1A:2B:3C:4D:5E

IP地址与MAC地址的区别

特性IP地址MAC地址
层次网络层(第三层)数据链路层(第二层)
作用标识设备的网络位置,支持网络间的通信标识设备的物理硬件地址,支持局域网通信
地址类型可变(动态/静态)固定(除非手动更改)
结构IPv4:32位,IPv6:128位48位,6字节
使用场景网络间数据传输和路由局域网中数据帧的传输
格式示例IPv4:192.168.1.1 / IPv6:2001:db8::100:1A:2B:3C:4D:5E

IP地址与MAC地址的协同工作

在数据传输中,IP地址和MAC地址相互配合工作:

  1. 当设备通过网络发送数据时,它会根据目标的IP地址查找对应的MAC地址(通常使用ARP协议在IPv4网络中进行)。
  2. 设备将数据封装在数据帧中,其中包含源和目标的MAC地址,用于在局域网内传输。
  3. 路由器在不同子网之间传输数据时,依据IP地址来转发数据包,并在每一跳根据目标子网重新封装数据帧,更新MAC地址。

因此,IP地址在网络间进行路由选择,而MAC地址则在子网内部识别设备,共同保证数据能准确到达目的地。

端口地址在计算机网络中用于标识设备内特定的进程或服务,是数据传输的关键部分,尤其在传输层协议中发挥重要作用。端口地址能够确保同一台设备上的不同应用程序能够接收各自的数据。


3. 端口地址

端口地址,也称为端口号(Port Number),端口地址在计算机网络中用于标识设备内特定的进程或服务,是数据传输的关键部分,尤其在传输层协议中发挥重要作用。端口地址能够确保同一台设备上的不同应用程序能够接收各自的数据。是传输层用于识别应用程序的标识符。每个端口号都是一个16位的整数,取值范围在065535之间。

1. 端口号的分类

端口号被分为以下几类,每类用于特定的用途:

  • 知名端口号(0-1023):这些端口号被分配给通用的、常见的服务和协议。例如,HTTP协议使用端口80,HTTPS使用端口443,FTP使用端口21。
  • 注册端口号(1024-49151):这些端口号为用户进程或应用分配,例如数据库应用MySQL的默认端口3306。
  • 动态端口号(49152-65535):这些端口号通常由操作系统动态分配,供临时通信使用。常见于客户端向服务器发起临时连接时。

2. 端口地址的作用(重点)

端口地址主要用于区分同一设备上的不同应用或服务。例如,服务器可能同时运行多个服务(如网页服务和邮件服务),而端口号可以帮助数据包到达正确的应用程序。

3. 端口地址的使用示例

在数据传输中,端口地址通常结合IP地址一同使用,构成套接字(Socket)。例如,一个完整的地址格式为192.168.1.10:8080,其中:

  • 192.168.1.10 是设备的IP地址,用于定位设备。
  • 8080 是端口号,用于定位设备内的具体应用程序或服务。

这种组合确保数据不仅到达目标设备,而且能直接交给特定的应用处理。

4. 端口地址的典型应用

一些常见的应用和协议端口示例:

协议/应用默认端口号
HTTP80
HTTPS443
FTP21
SSH22
SMTP(邮件)25
DNS53
MySQL数据库3306
RDP(远程桌面)3389

5. 端口号与防火墙

在网络安全中,防火墙通常根据端口号来控制数据流入和流出。例如,阻止特定端口号可以限制应用程序的访问权限。

6.在发送数据之前,任何节点必须:

附加源IP地址和目的IP地址:确保能够正确路由到目标设备。

附加源MAC地址和目的MAC地址:确保数据在局域网中能够到达正确的设备。

附加源端口号和目的端口号:确保数据能够到达正确的目标进程。

这里我将举个例子来解释一下:

例如快递送货上门:快递员需要知道你在哪个城市并到达你的城市,这一过程就相当于到达你的局域网网络中即需要知道你的IP地址。当然快递员还需要知道你在哪个小区,当快递员送到你的小区时候就相当于数据传到了你的主机,这一过程需要你的MAC地址,到了小区之后就要知道你的具体在哪个房间,也就是需要知道你的门牌号,这一过程就需要你的端口地址,也意味着数据已经到了正确的进程。

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

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

相关文章

4.4 软件设计:UML顺序图

UML顺序图 1、 UML2、 UML顺序图2.1 顺序图组成对象生命线消息 2.2 顺序图和用例登录用例 2.3 顺序图建模顺序图建模参考策略建立顺序图的步骤建立顺序图的示例 3、面对对象的设计原则3.1 特点3.2 层次3.3 注意点类设计需要强内聚,弱耦合可重用性框架 1、 UML 统一…

除了 Mock.js,前端还有更方便的 Mock 数据工具吗?

在前端开发中,模拟数据(Mock Data)是不可或缺的一部分,它能够帮助开发者在后端接口未完成前进行界面和逻辑的测试。而 Mock.js 是一个广泛使用的库,它通过简洁的语法和强大的功能,让前端开发者可以轻松地创…

继承和多态(上)

目录 一.继承 1.何为继承 2.继承的语法 3.子类访问父类 (1)子类访问父类的成员变量 (2)子类访问的父类方法 二.super关键字 1.super用于调用父类的构造方法 2.super用于调用父类的实例方法 3.super用于访问父类的实例变量 三.子父类构造方法 和代码块的执行优先顺序…

【练习案例】30个 CSS Javascript 加载器动画效果

本文分享一些 Loader CSS、Javascript 示例,这些示例均来源于Codepen网站上,里面有案例的源码与显示效果,您可以用于练习,也可以将您认为有趣的动画,添加到您的项目中,以帮助您创建更加有趣的等待页面加载动…

45.第二阶段x86游戏实战2-hook监控实时抓取游戏lua

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

限流算法(令牌通漏桶计数器)

限流算法(令牌桶&漏桶&计数器 ) 什么是限流? 限流是为保护自身系统和下游系统不被高并发流量冲垮,导致系统雪崩等问题 限流在很多场景中用来限制并发请求量,比如说秒杀抢购、双11高并发流量等 在保证系统可…

❤React-React 组件基础(类组件)

❤React-React 组件基础 1、组件化开发介绍 组件化开发思想:分而治之 React的组件按照不同的方式可以分成类组件: 划分方式一(按照组件的定义方式) 函数组件(Functional Component )和类组件(Class Component); …

2024/11/13 英语每日一段

The new policy has drawn many critics. Data and privacy experts said the Metropolitan Transit Authority’s new initiative doesn’t address the underlying problem that causes fare evasion, which is related to poverty and access. Instead, the program tries “…

MySQL重难点(一)索引

目录 一、引子:MySQL与磁盘间的交互基本单元:Page 1、重要问题:为什么 MySQL 每次与磁盘交互,都要以 16KB 为基本单元?为什么不用多少加载多少? 2、有关MySQL的一些共识 3、如何管理 Page 3.1 单个 P…

【软件工程】一篇入门UML建模图(类图)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀软件开发必练内功_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…

vue2+ element ui 集成pdfjs-dist

目录 1. 下载Pdf.js1.1 下载1.2 修改配置1.2.1 将pdfjs-3.8.162-dist复制到项目中1.2.2 解决跨域问题1.2.3 将pdf.worker.js文件复制到public目录下1.2.4 安装 pdfjs-dist1.2.5 前端vue代码(示例) 3. 参考资料 1. 下载Pdf.js 1.1 下载 下载链接(官方)需…

蓝桥杯每日真题 - 第7天

题目:(爬山) 题目描述(X届 C&C B组X题) 解题思路: 前缀和构造:为了高效地计算子数组的和,我们可以先构造前缀和数组 a,其中 a[i] 表示从第 1 个元素到第 i 个元素的…

大语言模型:解锁自然语言处理的无限可能

0.引言 在当今的科技时代,自然语言处理技术正以前所未有的速度发展,语言大模型作为其中的核心力量,对各个领域产生了深远的影响。本文旨在探讨语言大模型的发展历程、核心技术以及广泛的应用场景,以帮助读者更好地理解这一前沿技…

【vue2.0入门】vue基本语法

目录 引言一、页面动态插值1. 一般用法 二、计算属性computed三、动态class、style绑定四、条件渲染与列表渲染五、事件处理六、表单输入绑定七、总结 引言 本系列教程旨在帮助一些零基础的玩家快速上手前端开发。基于我自学的经验会删减部分使用频率不高的内容,并不…

【STM32F1】——无线收发模块RF200与串口通信

【STM32F1】——无线收发模块RF200与串口通信 一、简介 本篇主要对调试无线收发模块RF200的过程进行总结,实现了以下功能。 串口普通收发:使用STM32F103C8T6的USART2串口接收中断,实现两个无线收发模块RF200间的通信。 二、RF200介绍 电压…

《TCP/IP网络编程》学习笔记 | Chapter 8:域名及网络地址

《TCP/IP网络编程》学习笔记 | Chapter 8:域名及网络地址 《TCP/IP网络编程》学习笔记 | Chapter 8:域名及网络地址域名系统什么是域名?DNS 服务器IP 地址和域名之间的转换使用域名的必要性利用域名获取 IP 地址利用 IP 地址获取域名 基于 Wi…

前端开发中常用的包管理器(npm、yarn、pnpm、bower、parcel)

文章目录 1. npm (Node Package Manager)2. Yarn (Yarn Package Manager)3. pnpm4. Bower5. Parcel总结 前端开发中常用的包管理器主要有以下几个: 1. npm (Node Package Manager) 简介: npm 是 Node.js 的默认包管理器,也是最广泛使用的包…

HarmonyOS 如何实现传输中的数据加密

文章目录 摘要引言数据传输加密概述选择加密算法和传输协议加密实现方案与 Demo 代码配置 HTTPS/TLSAES 加密的实现代码详解RSA加密的实现代码详解 QA环节总结参考资料 摘要 本文将介绍在 HarmonyOS 应用中如何实现数据传输的加密策略。我们将讨论常见的加密算法(如…

ArkTs简单入门案例:简单的图片切换应用界面

在鸿蒙 OS 应用开发的过程中,我们常常需要通过组合各种组件和编写相应的逻辑来实现丰富多样的功能。今天,我就来和大家详细解析一段实现简单图片切换功能的代码,希望能帮助到那些刚接触鸿蒙 OS 应用开发的朋友们。 一、代码导入部分 Entry …

influxDB 时序数据库安装 flux语法 restful接口 nodjsAPI

安装 Install InfluxDB | InfluxDB OSS v2 Documentation Debian和Ubuntu用户可以用apt-get包管理来安装最新版本的InfluxDB。 对于Ubuntu用户,可以用下面的命令添加InfluxDB的仓库,添加之后即可apt-get 安装influxdb2 wget -q https://repos.influx…