【计算机网络】网络基础入门

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网,轻量型云服务器低至112元/年,优惠多多。(联系我有折扣哦)

文章目录

  • 1. 局域网和广域网
  • 2. 协议
    • 2.1 认识协议
    • 2.2 协议分层
  • 3. OSI七层模型和TCP五层(四层)模型
    • 2.1 OSI七层模型
    • 3.2 TCP/IP五层(四层)模型
  • 4. 网络传输的基本流程
    • 4.1 报头
    • 4.2 局域网通信原理
    • 4.3 数据包封装和分用
  • 5. IP地址和MAC地址
    • 5.1 IP地址
    • 5.2 MAC地址

1. 局域网和广域网

在计算机最开始被设计出来的时候,仅仅是用来完成计算任务的,把任务输入给计算机,然后计算机将计算完成的结果输出给用户。在这个时间段内所有的计算机都是相互独立的,也叫独立模式

经过很长一段实践的发展,多台计算机之间的连接成为了趋势,这种多台计算机之间的连接叫做网络互联

而后会有更多的计算机之间需要相互连接,此时就需要一些中介设备,也就是路由器和交换机,这种连接的方式叫做局域网LAN,我们一般说的私有网络和内网都属于局域网的概念

把远隔万里的计算机之间进行连接所采用的就是广域网WAN

实际上,所谓 “局域网” 和 “广域网” 只是一个相对的概念. 比如, 我们有 “天朝特色” 的广域网, 也可以看做一个比较大的局域网。在有些教材里面也是用物理距离作为局域网和广域网之间分别。

在大学里面,经常会有一些校园网才能访问的网站,这个由学校搭建的一个内网也属于局域网的概念

2. 协议

2.1 认识协议

协议本质就是一种约定

在计算机中有各种的组件,这些组件之间的交流是内部通过线连接起来的,所以计算机内部也可以理解成一个小型的网络结构,在计算机内部各个组件/设备的识别和通信也是需要协议的。协议不是网络专属的。如果计算机内部的各个组件之间的距离比较远,假设把硬盘放在贵州,CPU放在南京,硬盘和CPU之间的数据互通就要通过网络和协议。所以计算机体系结构中有网络,网络中有体系结构

我们在学习系统的时候没有谈论过协议,那么现在为什么要进行讨论,这是因为多台主机距离较远,为了减少通信成本,所以需要协议

如何理解协议

在打电话需要花钱的背景下,有两个少年,在打电话之前规定了电话响铃几声对应的信息,那么此时就能够在电话不打通的前提下将信息传达给对方,相应的也就不用付钱,这种方式也就节约了打电话的成本。同理协议就是提前的约定,可以减少通信的成本。

现在虽然有了协议,但有很多的计算机生产厂商、也有不同的操作系统,它们可能各自有各自的协议,所以这个时候就需要约定一个共同的标准,让大家都遵守,这就是网络协议(TCP/IP标准)

2.2 协议分层

举一个最简单的打电话的例子。在打电话的时候,我们最直观的感受就是电话这头的人在和电话另一边的人在沟通,但是实际上是电话这边的人在和自己的手机在通信,自己的手机和对方的手机通过某种方式通信,然后对方的手机将收到的信号转化成人说话的声音。最终实现了能听到对方的声音,宏观来看就是两个人在沟通。这种宏观上看两个人在说话,就属于在语言层上,两个设备的通信就属于通信设备层。在设备层的通信协议就是电话机协议,在人与人之间的就是语言(协议)

分层的好处:低耦合。把软件进行模块化,可以很好的进行解耦,解耦以后我们如果把通信设备进行更换,上层不用改变,而如果上层语言改变,底层不需要改变。所以对任何一层做任何修改并不影响其他层

分层的依据:我们把功能比较集中,耦合度比较高的模块放在同一层。体现高内聚

3. OSI七层模型和TCP五层(四层)模型

2.1 OSI七层模型

**OSI(Open System Interconnection,开放系统互连)**七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;
把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机;
OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;

它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;

image-20240211215506168

但是, 它既复杂又不实用; 所以后面根据实际应用,就出现了TCP/IP五层(四层)模型

3.2 TCP/IP五层(四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议族。TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。(这个模型有的说法是五层,有的说法是四层,其中的区别就是是否考虑最底层的物理层)

  • 物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
  • 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
  • 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
  • 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
  • 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层

image-20240211215950956

这种协议分层的标准是全世界统一的,也正因如此才能够实现通信,这种协议分层我们称作为协议栈

4. 网络传输的基本流程

4.1 报头

再举个例子:假设我们网购一个杯子,我们收到的就只有一个杯子吗?当然不是,我们肯定收到的是一个带有快递单的快递盒子和杯子本身。这个多出来的的一部分中记录了这个快递的相关信息。那么同样的在发送数据的时候,真正发送的东西也是比要发的东西多一点,这个多出来的部分就是报头

上面这个例子中:快递单号是给快递员看的,这个快递单就是快递公司自己定的协议,这个快递单子在它们的物流体系中都能够被识别。

由此得出结论:协议通常是通过协议报头来表达的。每一份数据最终在被发送或者在不同的协议层中,都要有自己的报头。

4.2 局域网通信原理

两台局域网内的主机能够直接通信

每台机器上都有网卡,每个网卡上面都会有一串标定自己唯一性的序列,叫做MAC地址

MAC地址虽然全球唯一,但是不应用于全球,只在局域网中标识自己的唯一性

查看方式:在Linux下可以通过ifconfig指令来查看,在Windows下可以通过cmd中指令ipconfig来查看

image-20240211230416861

局域网中有很多的机器:

image-20230504122346190

如果MAC1想要跟MAC7发送消息时,其他所有主机也都能收到,但是其他主机在内部做协议判断发现并不是发给自己的,会自动丢弃。最终只有MAC7收到。

  • 同一个网段内的两台主机进行文件传输

1

  • 跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器

2

4.3 数据包封装和分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装

数据包封装:每一层在向下交付的时候都会添加自己的报头,所以报文=报头+有效载荷,将这个报文向下交付

数据包分用:向上解包的时候,因为同一层有相同的协议,所以能识别报头,它会解开报头,把有效载荷在向上解包。这样就形成了对称的结构

一个设备至少要横跨两个网络,才能实现数据报跨网络转发,路由器必须至少横跨两个网络,路由器必须有两个网络接口。在路由器部分传递给令牌环驱动程序的时候,加上的报头是令牌环协议(重新封装报头),这样跟左边不一样了,但是并不影响对称性。

简单理解路由器部分传输数据:像我们脱了外套换了新的外套,但人没有变。由此可得出IP层的作用就是屏蔽底层网络的差异。
不同的协议层对数据包有不同的称谓,在传输层叫做数据段,在网络层叫做数据报,在链路层叫做数据帧。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(报头),称为封装。

5. IP地址和MAC地址

image-20240211230416861

5.1 IP地址

IP地址通常在广域网使用,图上的是内网IP的地址,IPV4一共4个字节,每个字节范围0-255;IPV6是16个字节。一般我们看到的这种通过三个点分割的表示方式叫做点分十进制

IP地址可以理解为起点到终点。

5.2 MAC地址

MAC地址通常在局域网使用,占6个字节。

MAC地址可以理解为起点到终点的一个个站点。


本节完…

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

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

相关文章

Ainx-V0.2-简单的连接封装与业务绑定

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于Ainx系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列…

vue中watch和computed的不同

第076个 查看专栏目录: VUE ------ element UI Vue.js 中的 watch 和 computed 都是用于监听数据变化并执行相应操作的选项&#xff0c;但它们的使用场景和优劣势有所不同。 两者区别 watch 用于监听一个或多个数据属性的变化&#xff0c;并在变化时执行相应的处理函数。 它…

Windows快捷键大全(包含语音输入、剪切板历史快捷键)

最近发现了微软官网上给出的快捷键大全&#xff0c;并且使用了其中几个新的键盘快捷键&#xff08;语音输入、剪切板历史&#xff09;&#xff0c;确实方便快捷&#xff0c;所以写个博客记录分享一下。 注&#xff1a;windows快捷键大全微软官方已经给出&#xff0c;此处不再赘…

中创ET4410 台式LCR数字电桥 简单开箱测评

最近买了一台LCR电桥&#xff0c;完善一下自己实验室的设备&#xff0c;选了中创ET4410&#xff0c;这款性价比高一点。 1199元在PDD买的&#xff0c;好像胜利的VC4090C也是找中创代工的。 ET4410介绍 本系列LCR数字电桥是采用自动平衡电桥原理设计的元件参数分析仪&#xf…

数据库恢复

文章目录 前言一、事务1.概念2.定义语句3.ACID特性 二、数据库恢复的必要性1.为什么要进行数据库恢复2.数据库恢复机制的作用 三、数据恢复使用的技术1.数据转储2.登记日志文件 四 、不同故障的数据恢复策略1.事务内部的故障2.系统故障3.介质故障 五、具有检查点的恢复技术1.检…

JVM学习记录

JVM基础概念 JVM是一个运行在计算机上的程序&#xff0c;负责编译java字节码文件&#xff0c;支持跨平台特性。 java语言为了通过实时解释实现多平台支持&#xff0c;性能相对于C等语言较低&#xff0c;而JVM提供了JIT即时编译进行性能优化。 JVM与JIT JVM负责解释和执行Ja…

13 年后,我如何用 Go 编写 HTTP 服务(译)

原文&#xff1a;Mat Ryer - 2024.02.09 大约六年前&#xff0c;我写了一篇博客文章&#xff0c;概述了我是如何用 Go 编写 HTTP 服务的&#xff0c;现在我再次告诉你&#xff0c;我是如何写 HTTP 服务的。 那篇原始的文章引发了一些热烈的讨论&#xff0c;这些讨论影响了我今…

go安装与设置

开发环境 安装 下载地址 https://golang.org/dl/(国外的可能不能访问) https://studygolang.com/dl(国内网址,推荐) 安装 下载完成后点击运行,一直next,就可以,安装成功后打开winR输入cmd打开命令行输入go env, 输出 证明安装成功 改变$GOPATH $GOPATH是go存储第三方包和编…

《UE5_C++多人TPS完整教程》学习笔记4 ——《P5 局域网连接(LAN Connection)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P5 局域网连接&#xff08;LAN Connection&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&#xff08;也是译者&…

精品springboot善筹网(众筹)互助前后台购物商城实现设计

《[含文档PPT源码等]精品基于springboot善筹网(众筹)前后台实现设计[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; Java——涉及技术&#xff1a; 前端使用技术&#xf…

数学实验第三版(主编:李继成 赵小艳)课后练习答案(八)(4)

实验八&#xff1a;近似计算 练习四 1.自己设置一种计算欧拉常数近似值的方法&#xff0c;看你对欧拉常数的计算能精确到小数点后多少位&#xff1f; 从示例7的图8.5我们已经得知&#xff0c;只要求出每个小矩形中在函数y1/x以上的部分的面积之和&#xff0c;我们就可以得知…

Seurat - 聚类教程 (1)

设置 Seurat 对象 在本教程[1]中&#xff0c;我们将分析 10X Genomics 免费提供的外周血单核细胞 (PBMC) 数据集。在 Illumina NextSeq 500 上对 2,700 个单细胞进行了测序。可以在此处[2]找到原始数据。 我们首先读取数据。 Read10X() 函数从 10X 读取 cellranger 管道的输出&…

Elasticsearch:使用查询规则(query rules)进行搜索

在之前的文章 “Elasticsearch 8.10 中引入查询规则 - query rules”&#xff0c;我们详述了如何使用 query rules 来进行搜索。这个交互式笔记本将向你介绍如何使用官方 Elasticsearch Python 客户端来使用查询规则。 你将使用 query rules API 将查询规则存储在 Elasticsearc…

【MySQL基础】:深入探索DQL数据库查询语言的精髓(上)

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. DQL1.1 基本语法1.2 基础查询1.3 条件查询1.3 聚合函数 &#x1f324;️ 全篇…

cad基础学习

基础操作与设置 切换工作空间 调整鼠标 界面右击&#xff0c;选项 选项中找到显示&#xff0c;十字光标调到最大 当然也可以输入命令op,回车。它会自动打开这个界面 画一个直线 上面选直接&#xff0c;单击俩个点&#xff0c;画出一个直线。然后空格收尾&#xff0c;这就画出…

【JavaScript 漫游】【014】正则表达式通关

文章简介 JS 语言中的 RegExp 对象提供正则表达式的功能。本篇文章旨在对该对象的相关知识点进行总结。内容包括&#xff1a; 正则表达式概述RegExp 对象的实例属性RegExp 对象的实例方法字符串与正则表达式相关的实例方法正则表达式匹配规则 概述 正则表达式的概念 正则表…

将你向chatgpt提问的问题翻译成英文后再提交油猴插件(学英语帮手)

直接上干货&#xff1a; 插件地址&#xff1a; ChatGPT问题翻译助手&#xff08;基于百度翻译API&#xff09; 实现效果&#xff1a; 提示&#xff1a;因为是基于百度翻译API实现的&#xff0c;因此首先你得有自己的翻译API&#xff0c;网址如下&#xff1a; 登录百度账号 …

分享66个时间日期JS特效,总有一款适合您

分享66个时间日期JS特效&#xff0c;总有一款适合您 66个时间日期JS特效下载链接&#xff1a;https://pan.baidu.com/s/1niQUpDSs10gfGYKYnEgKRg?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;…

深入学习Pandas:数据连接、合并、加入、添加、重构函数的全面指南【第72篇—python:数据连接】

深入学习Pandas&#xff1a;数据连接、合并、加入、添加、重构函数的全面指南 Pandas是Python中最强大且广泛使用的数据处理库之一&#xff0c;提供了丰富的函数和工具&#xff0c;以便更轻松地处理和分析数据。在本文中&#xff0c;我们将深入探讨Pandas中一系列数据连接、合…

FL Studio如何改变轨道颜色 FL Studio波形颜色如何自定义 flstudio21中文版下载 FL Studio 设置颜色

FL Studio如何改变轨道颜色&#xff1f;FL Studio的轨道颜色可以在播放列表或混音台界面进行修改。FL Studio波形颜色如何自定义&#xff1f;FL Studio的波形文件颜色、名称、图标等信息都是可以自定义的&#xff0c;下文将给大家详细讲述。 一、FL Studio如何改变轨道颜色 在…