Java Web 实战 14 - 计算机网络之初识计算机网络

初识计算机网络

  • 一 . 网络发展史
  • 二 . 局域网 VS 广域网
    • 2.1 交换机与路由器
    • 2.2 集线器
  • 三 . 网络通信基础
    • 3.1 协议
      • 3.1.1 OSI 七层模型
      • 3.1.2 TCP / IP 五层模型
    • 3.2 交换机和路由器的区别
    • 3.3 封装和分用

大家好 , 这篇文章给大家分享的是计算机网络的一些基础知识 , 我们会给大家分享一下网络的发展 , 局域网和广域网 , 交换机与路由器 , 网络协议的初步了解 , 封装和分用是怎么回事
推荐大家跳转到此链接来查看文章
点击即可跳转到上一篇文章~
文章专栏在此~
在这里插入图片描述

一 . 网络发展史

网络 , 就和平时说的 “上网” , 是同一个意思
那网络从何而来 ?

回到上个世纪末 , 世界的格局是 “美苏争霸” , 气氛非常紧张 .
那为什么核打击没发生起来呢 ?
进行核打击 , 肯定会遭受对方的对等报复 , 同归于尽

那他们就在想 , 能否打击对方并且不被对方报复呢 ?

发射核弹有三个重要部分
image.png
但是国内的互联网 , 发展的就比较晚一些 , 2000 年左右才开始发展

震惊 ! 90 后程序员 , 目前没有活过 35 岁的
这就是国内的一个梗
这也印证了为什么总有人说程序员是吃青春饭的 , 因为程序员最老的才是 80 后 , 还没到 45 岁呢
都没到那么大岁数呢

互联网的发展 , 基本就是这样的一个脉络
单机 -> 局域网 -> 广域网 -> 移动互联网

二 . 局域网 VS 广域网

把多个机器连在一起 , 就构成了一个局域网

2.1 交换机与路由器

image.png

2.2 集线器

image.png

三 . 网络通信基础

3.1 协议

“协议” 其实就是 “约定” , 通过一些约定 , 来表达一定的含义 , 再具体说 , 就是 “暗号”

比如 : 你跟你室友约定的一些暗号 , 比如 : “莫西莫西” , 你就知道吃饭去啊 , 这就是你们俩制定的协议

网络上传输的数据 , 本质上就是 光信号 / 电信号 , 通过 光信号 / 电信号 就可以传输二进制数据了
光信号通过频率来表示 , 比如 : 高频1 低频0
电信号通过电平来表示 , 比如 : 高电平1 低电平0
不同的 0 1 的排列组合 , 都要表达什么样的信息呢 ?
就需要通过 “协议” 来约定

网络通信其实是一个非常复杂的过程 , 有很多的问题、很多的细节要进行处理
如果只使用一个协议 , 把所有的问题都解决 , 就会造成这个协议复杂无比
所以 , 程序员们就决定 , 将协议拆分 , 把一个协议拆成多个协议

类比平常写代码 , 我们都写到 main 方法中 , 未免过于冗余复杂 , 我们就可以将核心代码拆解到方法中 , 通过多个方法互相配合就完成了任务

拆着拆着 , 就发现 : 有些拆出来的协议 , 其实解决的问题都差不多
因此程序员就把这些协议分成很多层 , 每一层都有很多协议 , 这些协议做的工作差不多
当前看到的网络结构 , 就是协议分层之后的产物

当前有两种分层方式 :

  1. OSI 七层网络模型 : 只是理论上存在 , 实际上没有这么实现的
  2. TCP / IP 五层网络模型 : 有的资料上也叫四层

网络协议拆分 , 并分层之后 , 有什么好处呢 ?

  1. 下层协议给上层协议提供服务 , 上层调用下层协议 (类似与封装)

(实现上层协议的人 , 不必考虑下层协议的细节)

  1. 解耦合 : 可以把同一层的协议替换成其他协议 , 对于其他层次的协议来说 , 基本是无感知的(透明的)

3.1.1 OSI 七层模型

image.png
image.png
越往下越靠近硬件 , 越往上越靠近软件

3.1.2 TCP / IP 五层模型

image.png
物理层 : 网络通信的基础设施
数据链路层 : 两个相邻节点之间如何传输
网络层 : 两个点之间的路径规划
传输层 : 两个点之间的通信
应用层 : 数据传输过去之后 , 具体怎么使用
举个栗子 :

我想在淘宝上买个东西 :
物理层就相当于运快递的公路

卖家在进行发货的时候 , 只需要考虑发件人和收件人 , 并不管中间是怎么运的 , 卖家发货就相当于传输层 , 只考虑起点和终点

卖家把快递交到物流公司手里了 , 物流公司就需要进行路径规划 , 这就相当于网络层应该做的事情

数据链路层就相当于两个集散点之间的传输 , 比如南京到哈尔滨通过空运 , 哈尔滨到加格达奇通过陆运

快递拿到之后 , 这是我们自己的事情 , 这就属于应用层的事了

其中 , 数据链路层以及网络层是极其易混淆的 , 再给大家举个栗子
我是大兴安岭人 , 在牡丹江上学 , 我如果想去上学 , 我可以规划多条路线
加格达奇 -> 牡丹江
加格达奇 -> 齐齐哈尔 -> 牡丹江
加格达奇 -> 哈尔滨 -> 牡丹江

其中 , 规划路线这个任务就是网络层应该做的事情
确定好路线之后 , 我们开始选择交通工具
加格达奇 -> 哈尔滨 飞机
哈尔滨 -> 牡丹江 高铁
两个相邻节点之间到底怎么走 , 是数据链路层要做的事情

上面那张图 , 我们还需要关注一个位置
image.png

3.2 交换机和路由器的区别

交换机 和 路由器 功能都是用来组建局域网
交换机是工作在数据链路层
路由器是工作在网络层
这也是面试中比较常见的问题

3.3 封装和分用

封装和分用描述了网络是如何传输数据的
这里的封装和面向对象编程中的封装是不太一样的 , 但是大概的作用是差不多的
无标题.png
上述过程 , 也就体现出了网络通信中 , 各个层次的协议是如何配合工作的
image.png

文章到这里 , 就分享完毕
如果对你有帮助的话 , 请一键三连~
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

钉钉,下沉进农田

在这个古老的产业里,数字化没有被放到更高的位置,但难点依旧存在。钉钉恰是基于它足够柔性的产品特性和普惠的服务模式,真正帮助农食产业中的人和企业解决着过去一直没有解决的问题,让这个产业中的人和环节都向数字化潮水迈进了一…

linux目录——文件管理

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。座右铭:海不辞水,故能成其大;山不辞石,故能成其高。个人主页:小李会科技的…

CGAL 点云上采样

目录一、算法原理1、主要函数2、参数解析二、代码实现三、结果展示一、算法原理 该方法对点集进行逐步上采样,同时根据法向量信息来检测边缘点,需要输入点云具有法线信息。在点云空洞填充和稀疏表面重建中具有较好的应用。 1、主要函数 头文件 #inclu…

最强分布式锁工具:Redisson

1 Redisson概述1.1 什么是Redisson?Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, Sorted…

GPT-4测评,大家先别急,图片输入还没来

昨天GPT-4朋友圈刷屏,我更新了一篇小文章,极简罗列GPT-4的一些情报: 1 ChatGPT Plus用户才可试用GPT-4 2 试用阶段每四小时最多100条信息 3 知识库还是2021年 4 上下文长度为8192个token 5 是多模态,但是图片输入仍处于研究预…

排序算法之插入排序

要考数据结构了,赶紧来复习一波排序算法 文章目录一、直接插入排序二、希尔排序一、直接插入排序 直接上主题 插排,揪出一个数,插入到原本已经有序的数组里面,如数组有n个数据,从0~n下标依次排列,先从左往…

iOS中SDK开发 -- cocoapods库创建

在iOS项目中,经常使用cocoadpods来进行依赖管理以及三方库引入等。引入的三方库一般会有几种形式:一、在Pods目录下可以直接看到源代码的开源库,如AFNetworking,Masonry等常见开源库。二、在Pods目录下拉取的项目文件只能看到对应…

讲解Linux中samba理论讲解及Linux共享访问

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放&#xff0…

监管数据治理治什么?1104、EAST、客户风险系统数据简介

近年来,随着经济社会数字化发展,商业银行逐步向数字化、智能化转型,监管部门对商业银行数据报送质量也越来越重视。自2020年5月9日工行、农行、中行、建行、交行、邮储、中信、光大8家商业银行因监管标准化数据(EAST)系…

漫画:什么是归并排序算法?

归并排序是建立在归并操作的一种高效的排序方法,该方法采用了分治的思想,比较适用于处理较大规模的数据,但比较耗内存,今天我们聊聊归并排序 一、排序思想 一天,小一尘和慧能坐在石头上,眺望着远方 分而治…

Qt5.12实战之QByteArray与字符指针及字符串转换

示例源码:#include <QCoreApplication> #include <QDebug> #include <QTextStream> static QTextStream cout (stdout,QIODevice::WriteOnly); #include <iostream> #include <QtGlobal> #include <QByteArray>void test() {qDebug() <…

进程调度的基本过程

这里写目录标题什么是进程进程管理结构体或类的主要属性pid内存指针文件描述符表辅助进程调度的属性并发并行并发什么是进程 进程是操作系统对一个正在运行的程序的一种抽象&#xff0c;也就是说&#xff0c;一个运行起来的程序就是一个进程。 进程又是操作系统进行资源分配的…

百度终于要出手了?文心一言

文心一言 百度全新一代知识增强大语言模型&#xff0c;文心大模型家族的新成员&#xff0c;能够与人对话互动&#xff0c;回答问题&#xff0c;协助创作&#xff0c;高效便捷地帮助人们获取信息、知识和灵感。 前几天炒的风风火火的ChatGPT&#xff0c;虽然 ChatGPT 很强大&a…

【Error: ImagePullBackOff】Kubernetes中Nginx服务启动失败排查流程

❌pod节点启动失败&#xff0c;nginx服务无法正常访问&#xff0c;服务状态显示为ImagePullBackOff。 [rootm1 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-f89759699-cgjgp 0/1 ImagePullBackOff 0 103…

【数据结构与算法】顺序表和链表

[数据结构与算法]顺序表和链表线性表线性表定义&#xff1a;顺序表静态顺序表动态顺序表动态顺序表的接口实现链表链表的概念链表的分类单向链表的接口实现双向链表循环的接口实现顺序表和链表的区别缓存利用率参考存储体系结构以及局部原理性存储体系结构Cache采用的程序访问的…

面试官问 : ArrayList 不是线程安全的,为什么 ?(看完这篇,以后反问面试官)

前言 金三银四 &#xff1f; 也许&#xff0c;但是。 近日&#xff0c;又收到金三银四一线作战小队成员反馈的战况 &#xff1a; 我不管你从哪里看的面经&#xff0c;但是我不允许你看到我这篇文章之后&#xff0c;还不清楚这个面试问题。 本篇内容预告&#xff1a; Array…

【基础算法】单链表的OJ练习(5) # 环形链表 # 环形链表II # 对环形链表II的解法给出证明(面试常问到)

文章目录前言环形链表环形链表 II写在最后前言 本章的OJ练习相对于OJ练习(4)较为简单。不过&#xff0c;本章的OJ最重要的是要我们证明为何可以这么做。这也是面试中常出现的。 对于OJ练习(4)&#xff1a;-> 传送门 <-&#xff0c;分割链表以一种类似于归并的思想解得&a…

ChatGPT-4 终于来了(文末附免费体验地址)

大家好&#xff0c;我是小钱学长。 ChatGPT4.0 重磅来袭&#xff0c;今天一打开plus页面出现的就是这个GPT-4的体验界面&#xff01;现在就带大家一起看看GPT4.0​。 进入之后是这样的 看到最下面有一行话&#xff0c;目前应该是4个小时限制100条消息。 GPT-4有什么优势&…

手把手学会DFS (递归入门)

目录 算法介绍 递归实现指数型枚举 递归实现排列型枚举 递归实现组合型枚举 算法介绍 &#x1f9e9;DFS 即 Depth First Search &#xff0c;中文又叫深度优先搜索&#xff0c;是一种沿着树的深度对其进行遍历&#xff0c;直到尽头之后再进行回溯&#xff0c;再走其他路线的…

springboot复习(黑马)

学习目标基于SpringBoot框架的程序开发步骤熟练使用SpringBoot配置信息修改服务器配置基于SpringBoot的完成SSM整合项目开发一、SpringBoot简介1. 入门案例问题导入SpringMVC的HelloWord程序大家还记得吗&#xff1f;SpringBoot是由Pivotal团队提供的全新框架&#xff0c;其设计…