计算机网络(Computer Networks)基础

news2024/9/23 19:28:43

本篇介绍计算机网络的基础知识。

文章目录

  • 1. 计算机网络历史
  • 2. 以太网" (Ethernet)
    • 2.1 以太网" (Ethernet)的简单形式及概念
    • 2.2 指数退避解决冲突问题
    • 2.3 利用交换机减少同一载体中设备
    • 2.4 互联网(The Internet)
    • 2.5 路由(routing)
    • 2.6 数据包(packs)解决阻塞问题
    • 2.7 分组交换(Packet Switching)
    • 2.8 物联网(internet of things)

1. 计算机网络历史

第一个计算机网络出现在1950~1960年代,通常在公司或研究室内部使用,为了方便信息交换,比把纸卡或磁带送到另一栋楼里更快速可靠,这叫"球鞋网络"
在这里插入图片描述
第二个好处是能共享物理资源,举个例子,与其每台电脑配一台打印机,大家可以共享一台联网的打印机,早期网络也会共享存储空间,因为每台电脑都配存储器太贵了
在这里插入图片描述
计算机近距离构成的小型网络叫局域网, 简称LAN(Local Area Networks),局域网能小到是同一个房间里的两台机器,或大到校园里的上千台机器尽管开发和部署了很多不同 LAN 技术,其中最著名和成功的是"以太网" (Ethernet) , 开发于1970年代在施乐的"帕洛阿尔托研究中心"诞生, 今日仍被广泛使用。

2. 以太网" (Ethernet)

2.1 以太网" (Ethernet)的简单形式及概念

以太网的最简单形式是:一条以太网电线连接数台计算机,当一台计算机要传数据给另一台计算机时,它以电信号形式,将数据传入电缆,当然 因为电缆是共享的,连在同一个网络里的其他计算机也看得到数据,但不知道数据是给它们的,还是给其他计算机的。
在这里插入图片描述
为了解决这个问题 以太网需要每台计算机有唯一的媒体访问控制地址,简称 MAC(Mdedia Acess Control)地址。
这个唯一的地址放在头部,作为数据的前缀发送到网络中,所以,计算机只需要监听以太网电缆只有看到自己的 MAC 地址,才处理数据。这运作得很好 现在制造的每台计算机都自带唯一的MAC地址,用于以太网和无线网络。
在这里插入图片描述

  • 多台电脑共享一个传输媒介,这种方法叫 "载波侦听多路访问(Carrier Sense Multiple Access)" 简称"CSMA"
  • 载体(carrier)指运输数据的共享媒介,以太网的"载体"是铜线, WiFi 的"载体"是传播无线电波的空气。
  • 很多计算机同时侦听载体,所以叫"侦听""多路访问"
  • 而载体传输数据的速度 叫"带宽"

2.2 指数退避解决冲突问题

不幸的是 使用共享载体有个很大的弊端,当网络流量较小时 计算机可以等待载体清空,然后传送数据,但随着网络流量上升 两台计算机想同时写入数据的概率也会上升,这叫冲突。 数据全都乱套了,就像两个人同时在电话里讲话。
在这里插入图片描述
在这里插入图片描述

幸运的是 计算机能够通过监听电线中的信号检测这些冲突,最明显的解决办法是停止传输,等待网络空闲, 然后再试一遍。
问题是其他计算机也打算这样做,其他等着的计算机可能在任何停顿间隙闯入,导致越来越多冲突,很快,每个人都一个接一个地讲话而且有一堆事要说,就像在家庭聚餐中和男朋友分手一样。

以太网有个超简单有效的解决方法,当计算机检测到冲突 就会在重传之前等待一小段时间,因为要举例,假设是 1 秒好了,当然 如果所有计算机用同样的等待时间 是不行的,它们会在一秒后再次冲突,所以加入一个随机时间 一台计算机可能等1.3秒,另一台计算机等待1.5秒,要是运气好 等1.3秒的计算机会醒来,发现载体是空闲的 然后开始传输,当1.5秒的计算机醒来后 会发现载体被占用会等待其他计算机完成。这有用,但不能完全解决问题 所以要用另一个小技巧,即"指数退避"

指数退避
正如前面所说,如果一台计算机在传输数据期间检测到冲突,会等一秒+随机时间,然而,如果再次发生冲突,表明有网络拥塞,这次不等1秒,而是等2秒,如果再次发生冲突 等4秒 然后8秒 16秒等等,直到成功传输,因为计算机的退避冲突次数降低了,数据再次开始流动起来 网络变得顺畅,这种指数级增长等待时间的方法叫:指数退避

2.3 利用交换机减少同一载体中设备

以太网和WiFi都用这种方法,很多其他传输协议也用,但即便有了"指数退避"这种技巧,想用一根网线链接整个大学的计算机还是不可能的,为了减少冲突+提升效率,我们需要减少同一载体中设备的数量。载体和其中的设备总称 "冲突域"(Collision Domain)

让我们回到之前以太网的例子 一根电缆连6台计算机,也叫一个冲突域,为了减少冲突 我们可以用交换机把它拆成两个冲突域,交换机位于两个更小的网络之间, 必要时才在两个网络间传数据。
在这里插入图片描述
交换机会记录一个列表,写着哪个 MAC 地址在哪边网络,如果A想传数据给C,交换机不会把数据转发给另一边的网络;
在这里插入图片描述

如果E想同一时间传数据给F,网络仍然是空的,两个传输可以同时发生;
在这里插入图片描述

但如果F想发数据给A 数据会通过交换机,两个网络都会被短暂占用;
在这里插入图片描述

2.4 互联网(The Internet)

大的计算机网络也是这样构建的,包括最大的网络 - 互联网(The Internet),也是多个连在一起的稍小一点网络,使不同网络间可以传递信息。
在这里插入图片描述
下篇将会细讲。

2.5 路由(routing)

这些大型网络有趣之处是,从一个地点到另一个地点通常有多条路线,这就带出了另一个话题路由(routing)
连接两台相隔遥远的计算机或网路,最简单的办法是分配一条专用的通信线路。早期电话系统就是这样运作的,假设"印第安纳波利斯"和"米苏拉"之间,有五条电话线,如果在1910年代,John 想打电话给 Hank,John要告诉操作员他想打到什么地方,然后工作人员手动将 John 的电话连到通往米苏拉的未使用线路,通话期间 这条线就被占用了, 如果五条线都被占用了John 要等待某条线空出来,这叫 "电路交换"
在这里插入图片描述

因为是把电路连接到正确目的地,能用倒是能用, 但不灵活而且价格昂贵,因为总有闲置的线路,好处是,如果有一条专属于自己的线路, 你可以最大限度地随意使用,无需共享,因此军队, 银行和其他一些机构,依然会购买专用线路来连接数据中心。
在这里插入图片描述

传输数据的另一个方法是 "报文交换(Message Switching)",“报文交换” 就像邮政系统一样,不像之前A和B有一条专有线路,消息会经过好几个站点,如果 John 写一封信给 Hank,信件可能从"印第安纳波利斯"到"芝加哥",然后"明尼阿波利斯" 然后"比林斯" 最后到"米苏拉"。
在这里插入图片描述

每个站点都知道下一站发哪里,因为站点有表格,记录到各个目的地,信件该怎么传,报文交换的好处是 可以用不同路由使通信更可靠更能容错。回到邮件的例子,如果"明尼阿波利斯"有暴风雪中断了通信, “芝加哥"可以传给"奥马哈”。
在这里插入图片描述
在这个例子里,城市就像路由器一样,消息沿着路由跳转的次数叫"跳数"(hop count),记录跳数很有用,因为可以分辨出路由问题,举例,假设芝加哥认为去米苏拉的最快路线是奥马哈,但奥马哈认为去米苏拉的最快路线是芝加哥,这就糟糕了,因为2个城市看到目的地是米苏拉,结果报文会在2个城市之间不停传来传去,不仅浪费带宽 而且这个路由错误需要修复!

这种错误会被检测到,因为跳数记录在消息中而且传输时会更新跳数,如果看到某条消息的跳数很高就知道路由肯定哪里错了,这叫"跳数限制(Hop Limit)"

2.6 数据包(packs)解决阻塞问题

报文交换的缺点之一是有时候报文比较大,会堵塞网络 因为要把整个报文从一站传到下一站后才能继续传递其他报文,传输一个大文件时 整条路都阻塞了,即便你只有一个1KB的电子邮件要传输也只能等大文件传完,或是选另一条效率稍低的路线,这就糟了,解决方法是:将大报文分成很多小块,叫"数据包(packs)"

就像报文交换 每个数据包都有目标地址因此路由器知道发到哪里,报文具体格式由"互联网协议(Internet Protocol)"定义,简称 IP,这个标准创建于 1970 年代,每台联网的计算机都需要一个IP地址,你可能见过,以点分隔的4组数字。例如 172.217.7.238 是 Google 其中一个服务器的IP地址,数百万台计算机在网络上不断交换数据瓶颈的出现和消失是毫秒级的,路由器会平衡与其他路由器之间的负载以确保传输可以快速可靠,这叫"阻塞控制(congestion control)"

有时,同一个报文的多个数据包会经过不同线路,到达顺序可能会不一样,这对一些软件是个问题。
在这里插入图片描述
在这里插入图片描述

2.7 分组交换(Packet Switching)

幸运的是,在 IP 之上还有其他协议,比如 TCP/IP, 可以解决乱序问题,我们下周会讲,将数据拆分成多个小数据包,然后通过灵活的路由传递,非常高效且可容错,如今互联网就是这么运行的,这叫"分组交换(Packet Switching)"
有个好处是 它是去中心化的,没有中心权威机构 没有单点失败问题。事实上 因为冷战期间有核攻击的威胁,所以创造了分组交换。
如今,全球的路由器协同工作,找出最高效的线路,用各种标准协议运输数据,比如 "因特网控制消息协议"( Internet Control Message Protocol ICMP)"边界网关协议"(Border Gateway Protocol BGP)
世界上第一个分组交换网络以及现代互联网的祖先是 ARPANET,名字来源于赞助这个项目的机构,美国高级研究计划局( Advanced Research Projects Agency)
在这里插入图片描述
上图是 1974 年整个 ARPANET 的样子,每个小圆表示一个地点比如大学或实验室,那里运行着一个路由器,并且有一台或多台计算机,能看到 “PDP-1” 和"IBM 360系统",甚至还有一个伦敦的 ATLAS是通过卫星连到网络里的。

2.8 物联网(internet of things)

显然 互联网在这几十年间发展迅速,如今不再只有几十台计算机联网据估计 有接近100亿台联网设备,而且互联网会继续快速发展,特别是如今各种智能设备层出不穷比如联网冰箱,恒温器以及其他智能家电,它们组成了"物联网"(internet of things)
在这里插入图片描述

第一部分到此结束 我们对计算机网络进行了概览,网络是一堆管子组成的吗?,额 算是吧。
下篇我们会讨论一些高级传输协议,然后讲万维网(World Wide Web)

3. 视频地址:计算机网络

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

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

相关文章

渗透测试基础知识(1)

渗透基础知识一 一、Web架构1、了解Web2、Web技术架构3、Web客户端技术4、Web服务端组成5、动态网站工作过程6、后端存储 二、HTTP协议1、HTTP协议解析2、HTTP协议3、http1.1与http2.0的区别4、HTTP协议 三、HTTP请求1、发起HTTP请求2、HTTP响应与请求-HTTP请求3、HTTP响应与请…

typedef对类型的重命名

typedef 重命名的类型 重命名后的类型名 typedef重命名函数指针类型时的特别写法 正确的重命名函数指针类型的方式 运用: 用typedef简化下面这个代码 简化后:

【C语言day11】

数据类型的等级从低到高如下&#xff1a;char int long float double运算的时候是从低转到高的&#xff0c;表达式的类型会自动提升或者转换为参与表达式求值的最上级类型 #include <stdio.h> int main() {int x -1;unsigned int y 2;if (x > y){printf("x is …

使用Express部署Vue项目

使用Express部署Vue项目 目录 1. 背景 2. 配置Vue CLI 1.1 安装nodejs 1.2 创建vue-cli 1.3 创建vue项目 1.4 构建vue项目3. 配置Express 2.1 安装express 2.2 创建项目4. 使用express部署vue项目 1&#xff0c;背景 我们想要做一个前后端分离的课程项目&#xff0c;前端…

nacos2.2.3最新版启动所遇到的问题总结

前言 有问题就看官方文档&#xff0c;看不懂或者还是报错再看博客&#xff01;因为有时候忙的焦头烂额&#xff0c;却发现官方写的非常清楚&#xff0c;而且人家还自带一个example示例&#xff0c;自己都没有看&#xff0c;自己瞎折腾&#xff01;本人吃过亏&#xff0c;特此提…

svo2论文

论文题目 SVO: Semidirect Visual Odometry for Monocular and Multicamera Systems 内容 1&#xff09; 具有最小特征漂移的长特征轨迹&#xff1b; 2&#xff09; 图像平面中的大量均匀分布的特征&#xff1b; 3&#xff09;新特征与旧地标的可靠关联&#xff08;即环路闭…

mybatisPlus主键策略解读

目录 主键生成策略介绍 AUTO策略 INPUT策略 ASSIGN_ID策略 NONE策略 ASSIGN_UUID策略 主键生成策略介绍 主键的作用就是唯一标识&#xff0c;我们可以通过这个唯一标识来定位到这条数据。当然对于表数据中的主键&#xff0c;我们可以自己设计生成规则&#xff0c;生成主键…

收藏与掘出 沉淀与成长

收藏从未停止&#xff0c;练习从未开始——掘出那些闪光的宝藏 目录 引言&#xff1a;收藏的深意分享一道你收藏的好题分享一个你收藏的便捷技巧积灰这么久&#xff0c;这个当时被你收藏的东西对现在的你还有用吗&#xff1f;结语&#xff1a;掘出 引言&#xff1a;收藏的深意 …

Python(二)

最怕你一生碌碌无为&#xff0c;还安慰自己平凡可贵。 --可以import 函数 变量 类啊 等等 -- 不一 一写了 大家自己写吧 -- 命名尽量不要使用大写或者中文 --比较运算符 又名 关系运算符 后面更新&#xff0c;请看后续 Python(二)

速度快\颜色准\功能多,移动端HEIF图片解码实现方案

HEIF图片压缩格式是一种使用HEVC编码技术存储图像数据的方式&#xff0c;在同等质量下相比JPEG可节省50%以上空间&#xff0c;无论是节约包体还是节省带宽&#xff0c;使用HEIF格式都能有所收益。 基于百度智能云音视频处理MCP的自研BD265编码器&#xff0c;百度智能云对象存储…

联想北京公司研发管理部高级经理周燕龙受邀为第十二届中国PMO大会演讲嘉宾

联想&#xff08;北京&#xff09;有限公司研发管理部高级经理周燕龙先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾&#xff0c;演讲议题&#xff1a;PMO如何助力研发。大会将于8月12-13日在北京举办&#xff0c;敬请关注&#xff01; 议题简要&#xff1a; PMO在…

Spring的加载配置文件、容器和获取bean的方式

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaweb 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 Spring配置文件和容器相关 一、加载properties文件1.1加载…

【1.2】Java微服务:SpringCloud概论

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。 &#x1f34e;个人主页&#xff1a;Meteors.的博客 &#x1f49e;当前专栏&#xff1a; 微服务 ✨特色专栏&#xff1a; 知识分享 &#x…

高可用(keepalived)部署方案

前言&#xff1a;为了减少三维数据中心可视化管理系统的停工时间&#xff0c;保持其服务的高度可用性。同时部署多套同样的三维可视化系统&#xff0c;让三维数据中心可视化系统同时部署并运行到多个服务器上。同时提供一个虚拟IP&#xff0c;然后外面通过这个虚拟IP来访问三维…

什么叫前后端分离?为什么需要前后端问题?解决了什么问题?

单体架构出现的问题 引出&#xff1a;来看一个单体项目架构的结构 通过上述可以看到单体架构主要存在以下几点问题&#xff1a; 开发人员同时负责前端和后端代码开发&#xff0c;分工不明确开发效率低前后端代码混合在一个工程中&#xff0c;不便于管理对开发人员要求高(既会前…

layui框架学习(34:数据表格_基本用法)

Layui中的数据表格模块table支持动态显示并操作表格数据&#xff0c;之前学习的页面元素中的表格主要是通过使用样式及属性对表格样式进行设置&#xff0c;而table模块支持动态显示、分页显示、排序显示、搜索等形式各样的动态操作&#xff0c;参考文献3中也给出了数据表格的各…

CRM如何进行数据分析?有什么用?

什么是CRM数据分析软件&#xff1f;CRM数据分析软件可以对数据进行挖掘、统计和分析&#xff0c;帮助企业从大量的客户数据中提取有价值的信息&#xff0c;分析数据背后的含义&#xff0c;从而帮助企业更好地运营的一种工具。 1、提高客户满意度 CRM数据分析软件可以通过对客户…

【C语言所有操作符详解1】

目录 操作符分类: 算术操作符 移位操作符 移位操作符介绍 原码&#xff0c;反码&#xff0c;补码 左移操作符 右移操作符 位操作符 赋值操作符 赋值操作符 复合赋值符 单目操作符 单目操作符介绍 sizeof 和 数组 关系操作符 逻辑操作符 操作符分类: 算术操…

痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(10.A)- FlexSPI NAND启动时间(RT1170)...

大家好&#xff0c;我是痞子衡&#xff0c;是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MX RT1170 FlexSPI NAND启动时间。 本篇是 i.MXRT1170 启动时间评测第四弹&#xff0c;前三篇分别给大家评测了 Raw NAND 启动时间(基于 MIMXRT1170-EVK_Rev.B)、Serial NOR 启动…

模电模电基础知识学习笔记汇总

来源&#xff1a;一周搞&#xff08;不&#xff09;定数电模电全集&#xff0c;电子基础知识 11小时 一&#xff1a;模电学习笔记 模电主要讲述&#xff1a;对模拟信号进行产生、放大和处理的模拟集成电路重点知识&#xff1a;常用电子元器件&#xff1a;电阻、电容、电感、保…