计算机网络-基本概念
目录
计算机网络-基本概念
互联网
Java的跨平台原理
编辑 C\C++的跨平台原理
解释性语言的跨平台原理(python,js等)
客户端 vs 服务器
什么是协议?
网络互连模型
请求过程
计算机之间的通信基础
计算机之间的连接方式-网线直连(需要用交叉线,而不是直通线)
计算机之间的连接方式-同轴电缆(Coaxial)
计算机之间的连接方式-集线器(Hub)
计算机之间的连接方式-网桥
计算机之间的连接方式-交换机
计算机之间的连接方式-路由器
计算机网络-基本概念
互联网

Java的跨平台原理
C\C++的跨平台原理

解释性语言的跨平台原理(python,js等)

客户端 vs 服务器
阶段1:

阶段2:
整体图:

请求url地址解析:

什么是协议?

网络互连模型
(1) 如果多个生产商生产出多个服务器系统,对于多个服务器系统不同的生产商规定不同的协议标准,那么客户端和服务器进行数据交互的成本就会大幅度增加,因此国际标准化组织站了出来。
(2)
ISO组织规定了理论上的一套协议:OSI(分为七层)
实战中总结出的一套协议为:TCP/IP(分为四层)
高校学习研究的一套协议:分为五层

请求过程

过程:
(1)客户端请求服务器数据这一过程需要通过国际标准所规定的协议,学习研究时视其为五层。
(2) 客户端的请求会经过这五层不断的进行包装,包装之后传递到服务器。
(3) 服务器对于这一包装后的数据再一层层的进行解包,最终得到客户端最原始的请求。
(4)这一原始请求会通过应用层给到服务器软件(Tomcat),然后进行解析。
(5)当服务器进行响应数据给客户端时,同样遵循(1)-(4)的步骤。先一层层封装,传递给客户端,再一层层解包,客户端应用层最后得到的数据为服务器最原始的响应数据。
计算机之间的通信基础

两个计算机传输数据的交互过程:
(1) 两个计算机进行传输数据需要:源ip地址,目标ip地址,源MAC地址,目标MAC地址。
(2) 源计算机得知目标ip地址才可以通过ICMP协议进行传输数据给对方的(比如:互相ping)。
但是在传输数据之前需要通过ARP协议进行广播获取到目标计算机的MAC地址,通过MAC地址才可以找到目标计算机对应的端口,最终找到目标计算机对应的网卡进行传输数据。
注释:一个计算机可以有多个网卡,所以MAC地址不是唯一的,一个MAC地址对应一个网卡


补充:通过ARP协议获取到的MAC地址是有缓存的。当进行一次新的传输数据过程时,可能就无需进行ARP广播啦!
计算机之间的连接方式-网线直连(需要用交叉线,而不是直通线)

计算机之间的连接方式-同轴电缆(Coaxial)

分析:
(1) 半双工通信:计算机1传输数据给计算机2时,计算机2不可以传输给计算机1
(2) 容易冲突,不安全:同轴电缆是随机发送数据传输给任意计算机的
计算机之间的连接方式-集线器(Hub)

分析:
集线器相对于同轴电缆的好处:
一个计算机连接集线器的线断了,不会影响其它计算机的正常运行
集线器的问题:
当集线器上连接的计算机达到1000台时,任意一个计算机给另外一个计算机发送数据时,集线器会广播传输数据,会发送给1000台设备。这样会很长时间占用带宽(通过ICMP协议传输数据占用的时间+通过ARP协议获取MAC地址占用的时间)。后面引入网桥解决这个问题!
计算机之间的连接方式-网桥

(1)网桥通过自学习得知每一个计算机接口的MAC地址,可以分清左右两边分别有哪些计算机
(2)网桥左边的计算机传输数据就不会达到网桥右边,网桥右边的计算机传输数据也不会传输到网桥左边,这样形成隔绝冲突域。
网桥存在的问题:
即使网桥使其左右两边形成隔绝冲突域,但是左右两边的集线器也会随机传输数据给链接的计算机,当计算机数量巨大时 同样会形成较大的资源消耗。所以后面引入了智能的交换机!
计算机之间的连接方式-交换机

注释:
(1) 相当于接口更多的网桥:更加智能,记住每一个计算机的MAC地址,指定计算机ip地址进行传输数据时,不会随机传输给所有的计算机!
(2) 全双工通信 : 可以同时传输数据。eg:计算机1传输数据给计算机2时,计算机3也可以同时传输数据给计算机4,计算机2也可以同时传输数据给计算机1。
(3) 思考:全球所有的设备都使用交换机连接会是什么情况?
交换机仍然存在问题:
在不同计算机之间进行传输数据之前,会先进行ARP协议广播传输给所有计算机进行获取MAC地址,交换机需要学习这些MAC地址是和哪些计算机对应着的!
全球所有的设备都使用交换机的话,全球的计算机传输之前都需要先进行ARP广播,这个工作量也是十分大的!这即是广播风暴。
所以引入了路由器。
计算机之间的连接方式-路由器

网络直线,同轴电缆,集线器,网桥,交换机:
(1)连接的设备对应的ip地址必须在同一网段。eg:192.168.3.10和192.168.3.11处于同一网段,
192.168.3.10和192.168.2.11处于不同网段,
(2)连接的设备处于同一广播域。意思即是ARP广播协议进行获取MAC地址时,对于同一广播域的计算机都会接收到该传播。
我们知道,不同网段的计算机是不可以跨网段进行传输数据的,但是如果全世界处于同一网段的话,势必会出现ARP广播风暴等问题,所以我们引入了路由器。
我们在路由器的两边接上两个网关,左边的网关的ip地址是与左边的计算机处于同一网段的,右边的网关同理即可。

提出问题:计算机1是如何传输数据给计算机4的,分析一下这个过程?
(1) 计算机1在传输数据之前需要先进行获取左边网关的MAC地址:会先通过ARP广播获取到左边网关的MAC地址。补充:【计算机1的ARP同样会发送给计算机2,因为ARP是广播发送,同一交换机连接的所有计算机处于同一广播域,但是在对比目标ip地址后 就会被丢弃该数据包。】
(2)获取网关的MAC后,计算机1开始真正的传输数据给左边的网关,交换机通过目标ip地址,目标MAC地址智能识别后,传输数据给左网关
(3) 左网关会通过路由器传输数据给右网关
(4)右网关是和计算机4处于同一网段的,所以可以进行传输数据。同理,右网关会先获取计算机4的MAC地址,然后进行传输数据(具体过程参考前三条)。
相关文章:
计算机网络-基本概念
目录 计算机网络-基本概念 互联网 Java的跨平台原理 编辑 C\C的跨平台原理 解释性语言的跨平台原理(python,js等) 客户端 vs 服务器 什么是协议? 网络互连模型 请求过程 计算机之间的通信基础 计算机之间的连接方式-网线直连(需要用交叉线,而…...
你评论,我赠书~【哈士奇赠书 - 13期】-〖Python程序设计-编程基础、Web开发及数据分析〗参与评论,即可有机获得
大家好,我是 哈士奇 ,一位工作了十年的"技术混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬 ὎…...
【设计模式】我终于读懂了代理模式。。。
👦代理模式的基本介绍 1)代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象,这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 2)被代理的对象可以是远程对象、创建…...
每天10个前端小知识 【Day 2】
👩 个人主页:不爱吃糖的程序媛 🙋♂️ 作者简介:前端领域新星创作者、CSDN内容合伙人,专注于前端各领域技术,成长的路上共同学习共同进步,一起加油呀! ✨系列专栏:前端…...
帮助中心在线制作工具推荐这4款,很不错哟!
根据用户咨询问题是否解决的情景,分为三个部分,首先帮助中心恰好有用户需要咨询的问题,用户可以通过点击相关问题即可解决自己的问题,其次,用户第一眼没有在帮助中心解决问题,有个搜索框,用户的…...
rabbitMQ相关文章汇总
RabbitMQ五种工作模式: https://blog.csdn.net/weixin_41882200/article/details/117128590?ops_request_misc%257B%2522request%255Fid%2522%253A%2522167625223516800182771874%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id1…...
【C++】异常
🌈欢迎来到C专栏~~异常 (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤…...
@Validated注解不生效问题汇总
Validated注解不生效问题汇总 文章目录Validated注解不生效问题汇总背景:一:可能原因原因1:原因2:原因3:原因4:二:补充全局异常对validation的处理背景: 项目框架应用的是validatio…...
华科万维C++章节练习2_4
题目:编写程序,从键盘输入一个字符,然后在屏幕上输出该字符开头的连续3个字符以及对应ASCII码。 输出格式请参看: 请输入一个字符>>A 字符 ASCII码 A 65 B 66 C 67 请按任意键继续. . . 请直接…...
17万字数字化医院信息化建设大数据平台建设方案WORD
【版权声明】本资料来源网络,知识分享,仅供个人学习,请勿商用。【侵删致歉】如有侵权请联系小编,将在收到信息后第一时间删除!完整资料领取见文末,部分资料内容: 目录 第1章 医院信息化概述 1.…...
Android 11系统签名修改
Android OS 映像在两个地方使用加密签名:映像中的所有 .apk 文件都必须经过签名。Android 软件包管理器通过下列两种方式使用 .apk 签名:更换应用时,必须使用与旧应用相同的密钥对其签名,才能存取旧应用的数据。无论是通过覆盖 .a…...
亚马逊、沃尔玛卖家自养号退款经验和测评技术
今天给大家介绍下在做亚马逊、沃尔玛退款自养号中的经验,众所周知,自养号最重要的是养号的环境,包括系统的纯净度,下单的信用卡以及其他的一些细节。 环境系统市面上有很多,鱼龙混杂,比如什么lumi…...
Spring Security in Action 第十一章 SpringSecurity前后端分离实战
本专栏将从基础开始,循序渐进,以实战为线索,逐步深入SpringSecurity相关知识相关知识,打造完整的SpringSecurity学习步骤,提升工程化编码能力和思维能力,写出高质量代码。希望大家都能够从中有所收获&#…...
高级前端二面vue面试题(持续更新中)
action 与 mutation 的区别 mutation 是同步更新, $watch 严格模式下会报错 action 是异步操作,可以获取数据后调用 mutation 提交最终数据 MVVM的优缺点? 优点: 分离视图(View)和模型(Model)ÿ…...
七大设计原则之依赖倒置原则应用
目录1 依赖倒置原则2 依赖倒置应用1 依赖倒置原则 依赖倒置原则(Dependence Inversion Principle,DIP)是指设计代码结构时,高层模块不应该依赖底层模块,二者都应该依赖其抽象。抽象不应该依赖细节;细节应该依赖抽象。…...
Dubbo面试题2023
1、为什么要用Dubbo 随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务 的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、 …...
Swift(5)
目录 集合类型 数组 编辑 合集 合集操作 字典 Where 集合类型 Swift提供了三种主要的集合类型:组合,合集,字典。 数组是有序的值的集合。 合集是唯一值的无序集合。 字典是无序的键值对集合。 数组 Swift数组的类型的完整写法是…...
[Java 进阶面试题] CAS 和 Synchronized 优化过程
最有用的东西,是你手里的钱,有钱就有底气,还不快去挣钱~ 文章目录CAS 和 Synchronized 优化过程1. CAS1.1 CAS的原理1.2 CAS实现自增自减的原子性1.3 CAS实现自旋锁1.4 CAS针对ABA问题的优化2. synchronized2.1 synchronized加锁阶段分析2.2 synchronized优化CAS 和 Synchroniz…...
算法思想 - 贪心算法
本文主要介绍算法中贪心算法的思想: 保证每次操作都是局部最优的,并且最后得到的结果是全局最优的。贪心思想相关题目分配饼干455. Assign Cookies (Easy)Input: [1,2], [1,2,3] Output: 2Explanation: You have 2 children and 3 cookies. The greed factors of 2 …...
解决需求变更难题的8大方案
需求变更8大原因为什么会出现需求变更,这是由于需求约束、规则有了新的变化、由于政策发生变化,客户、沟通方式、流程化、标准化的问题等导致。这里在在过去的项目经验中,提出了常见的8大需求变更的原因。政策发生变化:指由于国家…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
