网络通信的基本概念与设备

 

目录

一、互联网

二、JAVA跨平台与C/C++的原理

1、JAVA跨平台的原理

2、C/C++跨平台的原理

三、网络互连模型

四、客户端与服务器

五、计算机之间的通信基础

1、IP地址与MAC地址

2、ARP与ICMP对比

①ARP协议(地址解析协议)

②ICMP协议(互联网控制报文协议)

六、计算机之间的连接方式

1、集线器(Hub)

2、网桥

3、交换机

4、路由器


        数据是如何从一个设备传递到另一个设备的? 这一切都是由网络协议来规定的。没有网络协议,就没有今天的互联网。互联网、移动互联网、物联网,都离不开网络协议,为了满足各种需求,有各式各样的网络协议(HTTPS、SMTP、MQTT、RTMP等)。

一、互联网

互联网如何工作?

以访问网站为例,互联网的运作流程如下:

        ​输入网址:在浏览器输入 https://www.example.com。

        ​DNS解析:将域名转换为对应的IP地址(如 93.184.216.34)。

        ​建立连接:通过TCP协议与目标服务器三次握手,建立可靠连接。

        ​发送请求:HTTP协议向服务器请求网页数据。

        ​数据传输:数据被拆分为“数据包”,经路由器逐跳转发到目标服务器。

        ​服务器响应:服务器返回HTML、CSS、JavaScript等文件,浏览器渲染页面。

二、JAVA跨平台与C/C++的原理

1、JAVA跨平台的原理

JVM(Java Virtual Machine):Java虚拟机

·JAVA的跨平台:一次编译,到处运行编译

·生成跟平台无关的字节码文件(文件) 

·由对应平台的解析字节码为机器指令(01010

          编译                加载        Window/Mac/Linux

*.java------->  *.class --------->   JVM-->机器指令

注意:

如果代码有语法错误,将编译失败,并不会生成字节码文件

那就不会去运行一个程序。最后导致程序运行失败

2、C/C++跨平台的原理

C/C++的跨平台:使用平台相关的编译器生成对应平台的可执行文件

三、网络互连模型

什么是协议?

        协议(Protocol)是计算机或设备之间通信时遵循的规则和标准,定义了数据如何传输、格式如何组织、错误如何处理等,确保不同系统能正确交互。它类似于人类交流中的“语言”和“礼仪”,是数字世界协同工作的基础。为了更好地促进互联网络的研究和发展,国际标准化组织 ISO 在 1985 年制定了网络互连模型-->OSI 参考模型(Open System Interconnect Reference Model),具有 7 层结构

按功能分层:

具体分层内容:

协议如何工作?

以发送邮件为例

        ​用户写邮件:在客户端(如Outlook)输入内容,点击“发送”。

        应用层协议(SMTP):将邮件内容按SMTP格式封装(包括发件人、收件人)。

        ​传输层协议(TCP):将数据拆分为“段”,通过三次握手建立可靠连接。

        ​网络层协议(IP):添加源IP和目标IP地址,将数据包路由到邮件服务器。

        ​物理层:通过光纤/电缆将电信号传输到目标服务器。

        ​收件方:服务器按协议反向解析数据,最终将邮件投递到收件人邮箱

  四、客户端与服务器

客户端:​​​​请求服务的终端​​   --> 主动发起请求

​​服务器​​:​​提供服务的终端​​  -->  被动响应请求

请求过程

客户端发送数据(自上而下封装)​

①应用层:

生成原始数据(如HTTP请求:“获取首页内容”)。

添加应用层协议头(如HTTP头部:GET /index.html)。

②传输层:

将数据分割为“段”(Segment),添加端口号(如目标端口80)。

TCP协议附加序列号、校验和(确保可靠传输)。

③网络层:

封装为“数据包”(Packet),添加源IP和目标IP地址(如客户端IP 192.168.1.2 → 服务器IP 93.184.216.34)。

④数据链路层:

封装为“帧”(Frame),添加MAC地址(如客户端MAC 00:1A:2B:3C:4D:5E → 路由器MAC)。

⑤物理层:

将帧转换为比特流(电信号/光信号),通过网线或无线传输。

服务器接收数据(自下而上解封装)​

①物理层 → 数据链路层:

接收比特流,转换为帧,校验MAC地址是否匹配。

②数据链路层 → 网络层:

剥离MAC头部,检查IP地址是否为服务器自身IP。

③网络层 → 传输层:

剥离IP头部,根据端口号(如80)将数据交给对应服务(如Web服务器)。

④传输层 → 应用层:

TCP重组数据段(按序列号排序),校验完整性,最终传递原始HTTP请求到应用层。

⑤应用层处理:

解析HTTP请求,生成响应(如返回HTML文件),反向封装并发送回客户端。

总结:

        客户端与服务器的本质区别在于​​服务方向​​(请求 vs 响应),而非物理形态。当你在手机上滑动屏幕时——指尖触发客户端代码生成请求,跨越层层协议栈抵达云端服务器,CPU执行微秒级的计算,再将结果穿透无数路由器精准返回,整个过程就像一场由协议导演、数据担纲主角的环球接力赛。

五、计算机之间的通信基础

1、IP地址与MAC地址

IP地址是通信的起点:计算机需先获取目标设备的IP地址(通过DNS解析、手动输入等方式),这是跨网络寻址的基础。

最终是根据MAC地址(网卡地址),输送数据到网卡,被网卡接收

​目标MAC匹配:若数据帧的MAC地址与网卡自身地址一致,网卡将数据上传至网络层(如IP协议)处理。

​目标MAC不匹配:若MAC地址不匹配,网卡直接丢弃数据,避免无关流量占用系统资源。

关键设备:

​交换机:基于MAC地址转发数据(数据链路层)。

​路由器:基于IP地址跨网络路由(网络层)。

​网关:协议转换(如连接IPv4和IPv6网络)。

应用场景:

设备A(IP: 192.168.1.20)向设备B(IP: 192.168.1.21)发送数据:

        设备A检查本地ARP缓存表,若未找到B的MAC地址,发送ARP广播请求。

        设备B响应ARP请求,返回自己的MAC地址。

        设备B检查本地ARP缓存表,若未找到A的MAC地址,发送ARP广播请求。

        设备A响应ARP请求,返回自己的MAC地址。

        设备A将数据封装为帧(目标MAC=设备B的MAC),通过交换机发送。

        设备B的网卡检测到目标MAC匹配,接收数据并上传至网络层处理。

总结流程:

IP地址的获取:

用户通过域名(如 www.example.com)访问资源时,需先通过DNS协议将域名解析为IP地址。

若目标设备在局域网内,可直接通过ARP协议获取其MAC地址(无需经过路由器)。

IP地址 → MAC地址的转换:

通过ARP协议(Address Resolution Protocol)广播查询目标IP对应的MAC地址。

目标设备响应ARP请求,返回自身MAC地址,并存储在本地ARP缓存表中。

数据封装与传输:

数据在网络层封装为IP数据包(包含源/目标IP地址)

数据链路层封装为以太网帧(添加源/目标MAC地址)

通过物理介质(网线、光纤等)传输到目标设备的网卡。

网卡对数据帧的校验:

网卡检查帧头中的目标MAC地址:

​ ·匹配:拆解帧,将IP数据包传递给网络层协议。

​ ·不匹配:直接丢弃,不进行后续处理。

2、ARP与ICMP对比

①ARP协议(地址解析协议)

定义与作用:

        ARP(Address Resolution Protocol)用于将网络层的IP地址解析为数据链路层的MAC地址,使得同一局域网内的设备能够直接通信。

工作原理:

ARP请求(广播):当设备A需要与设备B通信,但不知道B的MAC地址时,会发送一个广播ARP请求,包含目标IP地址。

ARP响应(单播):设备B收到请求后,若IP匹配,则回复一个单播ARP响应,包含自己的MAC地址。

缓存机制:设备A将B的IP-MAC映射存入本地ARP缓存表(通常有效期几分钟),减少重复请求。

②ICMP协议(互联网控制报文协议)

定义与作用:

        ICMP(Internet Control Message Protocol)用于传递网络控制信息,如错误报告、状态查询,帮助诊断网络问题。

工作原理:

封装在IP数据包中(协议号1),不直接关联传输层(如TCP/UDP)。

设备根据ICMP报文类型执行操作,例如:

​  ·目标不可达(类型3):路由器无法转发数据包时发送。

​  ·超时(类型11):数据包TTL归零时触发。

​  ·回显请求/应答(类型8/0):用于ping命令测试连通性。

总结:

六、计算机之间的连接方式

1、集线器(Hub)

集线器(Hub)是一种工作在物理层(OSI第一层)的网络设备,主要功能是将接收到的电信号广播到所有连接的端口,实现多台设备的物理连接。

应用场景:

基于集线器的局域网,揭示了集线器的广播泛洪、冲突域共享和低效转发特性

2、网桥

网桥(Bridge)是一种工作在数据链路层(OSI第二层)的网络设备,主要用于分割冲突域 和 过滤网络流量,通过MAC地址学习实现智能转发,解决集线器的广播泛洪问题。以下是其核心特性:

·冲突域分割:每个网桥端口独立冲突域,避免全网冲突(集线器所有端口共享一个冲突域)。

·MAC地址表学习:记录设备的MAC地址与端口映射,仅转发必要流量。

·帧过滤:若目标设备在源端口同一侧,网桥丢弃帧,避免冗余传输。

应用场景:

先通过广播学习到每个计算机的MAC地址,再选择性的发送数据

广播域与冲突域的对比​:

总结对比:

3、交换机

交换机是一种工作在数据链路层(OSI第二层)的网络设备,,但三层交换机可处理网络层(IP路由)。通过记录源MAC地址和端口的对应关系构建MAC地址表,减少广播域,提升网络效率。

转发方式:

        ​存储转发:接收完整帧并校验错误后再转发(可靠性高)。

        ​直通转发:读取目标MAC后立即转发(延迟低,但可能传输错误帧)。

交换机 vs 集线器/网桥的对比:

        连接的设备必须在同一网段

        连接的设备处在同一广播域

4、路由器

路由器(Router)是连接不同网络的核心设备,工作在​​网络层(OSI第三层)​​,承担着​​跨网段寻址、数据包转发和路径控制​​的关键职能。

路由器的本质作用​​:

​​跨网络通信​​:实现跨越IP子网的数据传输(例:从192.168.1.0/24到10.0.0.0/8)
​​智能路径选择​​:基于路由表选择最优路径

应用场景:

交换机 vs 集线器/网桥/交换机的对比:

◼网线直连、同轴电缆、集线器、网桥、交换机

        连接的设备必须在同一网段

        连接的设备处在同一广播域

◼路由器

        可以在不同网段之间转发数据

        隔绝广播域

总结:

        交换机专注“快速连通同网段设备”,路由器负责“跨网段寻路与安全管控”——二者协同构建完整网络(如企业内交换机互联设备,路由器连接外网并隔离风险)。

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

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

相关文章

云原生俱乐部-k8s知识点归纳(1)

这篇文章主要是讲讲k8s中的知识点归纳,以帮助理解。虽然平时也做笔记和总结,但是就将内容复制过来不太好,而且我比较喜欢打字。因此知识点归纳总结还是以叙述的口吻来说说,并结合我的理解加以论述。k8s和docker首先讲一讲docker和…

基于Node.js+Express的电商管理平台的设计与实现/基于vue的网上购物商城的设计与实现/基于Node.js+Express的在线销售系统

基于Node.jsExpress的电商管理平台的设计与实现/基于vue的网上购物商城的设计与实现/基于Node.jsExpress的在线销售系统

Git 对象存储:理解底层原理,实现高效排错与存储优化

### 探秘 Git 对象存储:底层原理与优化实践#### 一、Git 对象存储的底层原理 Git 采用**内容寻址文件系统**,核心机制如下: 1. **对象类型与存储** - **Blob 对象**:存储文件内容,通过 git hash-object 生成唯一 SHA-…

【2025CVPR-目标检测方向】RaCFormer:通过基于查询的雷达-相机融合实现高质量的 3D 目标检测

1. 研究背景与动机​ ​问题​:现有雷达-相机融合方法依赖BEV特征融合,但相机图像到BEV的转换因深度估计不准确导致特征错位;雷达BEV特征稀疏,相机BEV特征因深度误差存在畸变。 ​核心思路​:提出跨视角查询融合框架,通过对象查询(object queries)同时采样图像视角(原…

【每日一题】Day 7

560.和为K的子数组 题目: 给你一个整数数组 nums 和一个整数 k ,请你统计并返回该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2 示例 2&#x…

3ds MAX文件/贴图名称乱码?6大根源及解决方案

在3ds MAX渲染阶段,文件或贴图名称乱码导致渲染失败,是困扰众多用户的常见难题。其背后原因多样,精准定位方能高效解决:乱码核心根源剖析字符编码冲突 (最常见)非ASCII字符风险: 文件路径或名称包含中文、日文、韩文等…

链路聚合路由器OpenMPTCProuter源码编译与运行

0.前言 前面写了两篇关于MPTCP的文章: 《链路聚合技术——多路径传输Multipath TCP(MPTCP)快速实践》《使用MPTCPBBR进行数据传输,让网络又快又稳》 对MPTCP有了基本的了解与实践,并在虚拟的网络拓扑中实现了链路带宽的叠加。 1.OpenMPTC…

AI时代企业转型指南:用AI降本增效,销售转化翻3倍,获客成本砍一半!

AI时代,大部分企业每天都在问同一个问题:AI到底能帮我做什么?无论你是做电商、做IP、做操盘手,还是传统企业老板,你都会发现一个现实——AI真正的用途是用来在业务场景里直接降本增效的。对我个人来说,AI已…

【牛客刷题】最大公约数与最小公倍数:算法详解与实现

文章目录 一、题目介绍 1.1 输入描述 1.2 输出描述 1.3 示例(含详细注释) 二、考察的知识点 三、算法设计思路 3.1 最大公约数(GCD) 3.2 最小公倍数(LCM) 四、流程图 五、题解实现 六、复杂度分析 七、关键算法知识点 一、题目介绍 计算两个整数的**最大公约数(GCD)和最小公…

将 iPhone 联系人转移到 Infinix 的完整指南

从 iPhone 切换到 Infinix 设备是一次令人兴奋的升级,但在切换过程中,转移个人数据(尤其是联系人)可能会有些棘手。联系人是任何手机上最重要的信息类型之一,如果在切换过程中丢失它们,会带来很大的不便。由…

Clipboard.js 复制内容

插件地址 clipboard.js 中文网 安装 npm install clipboard --save使用示例 <template><div><div class"copyBtn" click"copyText">复制文本</div ></div> </template><script> // 引入clipboard.js import…

蛇形方阵构造

给出方阵的长宽&#xff0c;n 和 m &#xff0c;按照斜着的蛇形输出该方阵 面试官给的送分题裸模拟&#xff0c;写的太慢了没过&#xff0c;实际确实慢&#xff0c;结束后起码用了一个多小时才调完 找了下没找到leetcode 提交的地方&#xff0c;各种oj 倒是有&#xff0c;不过是…

传统方式部署(RuoYi-Cloud)微服务

实验环境192.168.10.43和192.168.10.44内存不能小于4G一、安装MySQL&#xff08;192.168.10.46&#xff09;1、安装MySQL依赖库dnf -y install ncurses-compat-libs2、上传mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz二进制包到/root目录&#xff0c;解压并移动到指定…

Linux网络服务(一)——计算机网络参考模型与子网划分

文章目录前言一、分层思想1.1 分层的基本概念1.2 点到点与端到端通信的区别二、OSI参考模型2.1 OSI七层模型的结构2.2 各层功能示例&#xff08;以QQ为例&#xff09;2.3 单工&#xff0c;半双工和全双工2.4 OSI七层模型总结三、TCP/IP模型3.1 TCP/IP四层与五层模型3.2 TCP/IP协…

Elasticsearch全文检索中文分词:IK分词器详解与Docker环境集成

目录一、IK分词器介绍与选择1. IK分词器详细介绍1.1 基本概念1.2 核心功能1.3 适用场景2. 如果不使用IK分词器&#xff0c;有哪些替代方案&#xff1f;2.1 默认分词器的局限性2.2 替代方案及对比2.3 示例&#xff1a;Ngram Tokenizer配置3. 如何选择分词器&#xff1f;3.1 决策…

实用软件推荐

作者给大家推荐两个软件&#xff1a;typedown,typora typedown在microsoft上即可下载&#xff0c;免费 如果有更多的需求建议下载typora,typora为付费软件 typora官网&#xff1a;typora官网 typedown下载&#xff1a;typedown下载 作者曾经发布的一些以"md"为后…

地图导航怎么测?

地图导航的测试需要结合功能验证、性能评估和场景模拟等多维度方法,以下是基于行业标准和实践的系统化测试方案: 一、核心测试维度与方法 (一)功能测试:覆盖导航全流程 1、基础功能验证 路线规划:输入起点 / 终点后,验证系统是否能生成最短、最快或避开拥堵的路线,并…

力扣70:爬楼梯

力扣70:爬楼梯题目思路代码题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 思路 首先我们先列出来前几个台阶的答案从第一个开始&#xff1a;1&#xff0c;2&#xff0c;3&#xff0c;5。…

CoRL 2025|隐空间扩散世界模型LaDi-WM大幅提升机器人操作策略的成功率和跨场景泛化能力

内容源自计算机科研圈在机器人操作任务中&#xff0c;预测性策略近年来在具身人工智能领域引起了广泛关注&#xff0c;因为它能够利用预测状态来提升机器人的操作性能。然而&#xff0c;让世界模型预测机器人与物体交互的精确未来状态仍然是一个公认的挑战&#xff0c;尤其是生…

Rust 入门 生命周期-next2 (十九)

生命周期消除实际上&#xff0c;对于编译器来说&#xff0c;每一个引用类型都有一个生命周期&#xff0c;那么为什么我们在使用过程中&#xff0c;很多时候无需标注生命周期&#xff1f;例如&#xff1a;fn first_word(s: &str) -> &str {let bytes s.as_bytes();f…