当前位置: 首页 > news >正文

计算机网络-基本概念

目录

计算机网络-基本概念

互联网

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社区。 💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬 &#x1f4e…...

【设计模式】我终于读懂了代理模式。。。

👦代理模式的基本介绍 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中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤&#x1…...

@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&#xf…...

Spring Security in Action 第十一章 SpringSecurity前后端分离实战

本专栏将从基础开始,循序渐进,以实战为线索,逐步深入SpringSecurity相关知识相关知识,打造完整的SpringSecurity学习步骤,提升工程化编码能力和思维能力,写出高质量代码。希望大家都能够从中有所收获&#…...

高级前端二面vue面试题(持续更新中)

action 与 mutation 的区别 mutation 是同步更新, $watch 严格模式下会报错 action 是异步操作,可以获取数据后调用 mutation 提交最终数据 MVVM的优缺点? 优点: 分离视图(View)和模型(Model)&#xff…...

七大设计原则之依赖倒置原则应用

目录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大需求变更的原因。政策发生变化:指由于国家…...

NSSROUND#8[Basic]

文章目录一、[NSSRound#8 Basic]MyDoor二、[NSSRound#8 Basic]Upload_gogoggo三、[NSSRound#8 Basic]MyPage四、[NSSRound#8 Basic]ez_node一、[NSSRound#8 Basic]MyDoor <?php error_reporting(0);if (isset($_GET[N_S.S])) {eval($_GET[N_S.S]); }if(!isset($_GET[file])…...

Vue3代码初体验找不同

文章目录&#x1f31f; 写在前面&#x1f31f; 代码分析&#x1f31f; 写在最后&#x1f31f; 写在前面 专栏介绍&#xff1a; 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章&#xff0c;应粉丝要求开始更新 Vue3 的相关技术文章&#xff0c;Vue 框架目前的地位大家应该都晓…...

opencv调取摄像头录制

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...

html标签手册

完整的HTML页面&#x1f4d1; ①基础标签&#x1f4d1;&#x1f4d1;&#x1f4d1; HTML <!DOCTYPE> 声明 !DOCTYPE声明必须是 HTML 文档的第一行&#xff0c;位于 html标签之前。 !DOCTYPE 声明不是 HTML 标签&#xff1b;它是指示 web 浏览器关于页面使用哪个 HTML 版…...

SpringMVC--视图、RESTful案例、处理AJAX请求

SpringMVC的视图 SpringMVC中的视图是View接口&#xff0c;视图的作用渲染数据&#xff0c;将模型Model中的数据展示给用户 SpringMVC视图的种类很多&#xff0c;默认有转发视图和重定向视图 当工程引入jstl的依赖&#xff0c;转发视图会自动转换为JstlView 若使用的视图技术为…...

一个同学升了leader,今年活还没干,他就已经想好组里成员的两次绩效考核怎么打了,还说:leader都是这样的!...

绩效是大家都比较关注的事情&#xff0c;那么作为领导&#xff0c;一般是怎么打绩效的呢&#xff1f;一位网友爆料&#xff1a;一个大学同学升了leader&#xff0c;前段时间跟他吃饭&#xff0c;他说他已经想好了今年组里成员的两次绩效考核怎么打了。该网友有点吃惊&#xff0…...

Docker 面试知识点

Docker 是什么&#xff1f; 是实现容器技术的一种工具是一个开源的应用容器引擎使用 C/S 架构模式&#xff0c;通过远程API 来管理 (我们本机是 C&#xff0c;docker 引擎是 S,实际的构建过程是在 docker 引擎下完成的)可以打包一个应用及依赖包到一个轻量级、可移植的容器中 …...

C++高级篇学习笔记

文章目录 前言 本文记录C一些面试难点问题剖析。 1. 左右值和右值引用的作用 左值&#xff1a;可以在左边&#xff0c;表达式结束后依然存在的持久对象&#xff0c;一般有名字&#xff0c;可以取地址。 提示&#xff1a; 前置自加/自减 可以做左值&#xff1b; 右值在右边&a…...

gentoo基本安装过程

该文章是本人在gentoo官方安装文档的基础上简单总结的&#xff0c;也是本人自己实践过的&#xff0c;目前本人用的就是gentoo&#xff0c;对于真的需要安装gentoo的朋友&#xff0c;建议还是参考官方文档&#xff0c;说的比较详细&#xff0c;这个可以简单看看&#xff0c;可以…...

【LeetCode】1234. 替换子串得到平衡字符串

1234. 替换子串得到平衡字符串 题目描述 有一个只含有 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符&#xff0c;且长度为 n 的字符串。 假如在该字符串中&#xff0c;这四个字符都恰好出现 n/4 次&#xff0c;那么它就是一个「平衡字符串」。 给你一个这样的字符串 s&#xff0c;…...

沈阳建设厅网站首页/十大流量平台

1.可以查看自己的sql—-plus中的属性来找到 2.我的jar包的位置是在 F:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib 打开oracle客户端的安装路径&#xff0c;D:\Program Files (x86)\Oracle\odac_client。找到tnsnames.ora&#xff0c;打开后检查写的ip地址是否正确。…...

ecshop网站后台/如何做地推推广技巧

luom 2014/04/25 12:070x00 背景Cobalt Strike 一款以metasploit为基础的GUI的框框架式渗透工具&#xff0c;Armitage的商业版&#xff0c;集成了端口发、服务扫描&#xff0c;自动化溢出&#xff0c;多模式端口监听&#xff0c;win exe木马生成&#xff0c;win dll木马生成&a…...

地图定位网站开发/本地网络seo公司

1.Smartbi Mining Smartbi Mining旨在为企业所做的决策提供预测性智能。通过深度数据建模&#xff0c;为企业提供预测能力支持文本分析、五大类算法和数据预处理&#xff0c;并为用户提供一站式的流程式建模、拖拽式操作和可视化配置体验。该平台不仅可为用户提供直观的流式建…...

陕西建设网站/百度推广怎么看关键词排名

1.什么是反射&#xff1f; 反射就是把java类中各种成分映射成相应的类 2.在通过反射构造类的时候&#xff0c;并不知道constructor是什么类型&#xff0c;只知道是个Objec所以要向下转型 ①得到方法的时候需要类型 ②去调用方法的时候也需要传递同样类型的对象 Constructor…...

网站建设推广文案/桔子seo网

< ? php /** * 飞飞影视管理系统 SQL injection * 飞飞影视系统PHP版 v1.9 injection exploit * by:www.08sec.com fans * keyword “Powered by www.ff84.com” */ error_reporting(E_ERROR); set_time_limit(0);if ($argc<3) { print_r(‘ —————————————…...

wordpress 首页显示文章列表/百度统计官网

ctrlf&#xff1a;搜索本文将内的字符串ctrlshiftf&#xff1a;搜索工程中所有文件中的字符串ctrlp&#xff1a;搜索文件&#xff0c;在工程中所有文件中vscode可以动态实时语法检测&#xff0c;还能安装很多插件&#xff0c;也能很强大的标识符跳转&#xff08;比sourceInsigh…...