编程入门(四)【计算机网络基础(由一根网线连接两个电脑开始)】

读者大大们好呀!!!☀️☀️☀️

🔥 欢迎来到我的博客
👀期待大大的关注哦❗️❗️❗️
🚀欢迎收看我的主页文章➡️寻至善的主页

文章目录

  • 前言
  • 两个电脑如何互连呢?
  • 集线器、交换机与路由器
  • 总结

前言

当你有一跟网线和两台计算机💻时,你会不会想我如何让这两台电脑互联(通信)呢?本文将通过上述网络中所遇到的实际问题,来介绍解答计算机网络的基本概念与知识。

两个电脑如何互连呢?

1、什么是计算机

百度百科的解释是:现代用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。
详细的了解计算机,大大们可以移步笔者的另外一篇博客计算机基础二

2、什么是网线

网线是一种用于计算机网络中传输数据的通信介质,它允许网络设备之间进行数据交换。
网线通常由金属(如铜)或玻璃制成,其主要类型包括双绞线、同轴电缆和光纤电缆。双绞线是由多对相互缠绕的绝缘铜线组成,这种设计可以有效抵抗电磁干扰,由于其成本低廉,被广泛应用于局域网(LAN)环境中。
同轴电缆则以其较强的抗干扰能力,在闭路电视和其他要求较高传输质量的场合中使用。光纤电缆则因其保密性好、传输速度快的特点,常用于要求高带宽和长距离传输的场合。
此外,

本文主要介绍双绞线:

网线也被称为双绞线,是因为它由两两对绞的四对双绞线和塑料外被组成,主要用于终端设备和接入层交换机之间的连接。随着网络规模的扩大,网线的重要性也越来越显著。

🚀网线的两种接法:
🔥直通法:两头同为568A标准1 或568B标准2一般常用568B标准的线序,这种接线方法用于不同设备之间的互连。
🔥交叉法:一头为568A标准一头为568B标准,这种接线方法用于同种设备相连。

计算机用网线连接起来,应该采用交叉法连接的网线,两者便可以共连了:

两者共连

集线器、交换机与路由器

1、当多台电脑互连时

我们可以两台电脑之间两两连接,但是这样的话就太麻烦了,于是集线器就出现了。
🚗集线器
一种用于连接多台计算机或其他网络设备的网络硬件设备。也被称为多端口的中继器,是一种用于局域网3(LAN)环境的物理层4设备。
集线器的主要功能包括对接收到的信号进行再生、整形和放大,以扩大网络的传输距离,并且将所有节点集中在一个中心点周围。

集线器虽然把多台电脑互连了,但是它还是有缺陷的:
1️⃣每次发送的消息,都会发给在该台集线器上的所有电脑。
2️⃣多台电脑发送信息时,会造成信息干扰,导致数据混乱。
因此更好的设备交换机出现了。
✈️交换机
交换机(Switch)是一种网络硬件设备,用于电信号转发的网络设备,可以为接入交换机的任意两个网络节点提供电信号通路。
交换机工作在数据链路层5,它基于MAC地址进行寻址,允许连接到交换机的设备之间进行直接通信。交换机有多个端口,每个端口都具有桥接功能,可以连接一个局域网、一台高性能服务器或工作站。交换机可以分为广域网交换机和局域网交换机,常见的交换机类型包括以太网交换机、电话语音交换机和光纤交换机。
上面有提到三个名词:MAC地址、局域网、广域网6
下面笔者来解释一下:
🔥MAC地址:MAC地址(Media Access Control address)是一个用于唯一标识网络设备(如计算机、手机、路由器等)的地址。MAC地址通常被硬件设备固化在网络适配器的网卡中,每个网络设备都有一个唯一的MAC地址。
接入交换机的设备都有自己的MAC地址(出厂时MAC地址已经设定好了)。
根据交换机工作原理:
👉接收数据包:当交换机接收到一个数据包时,会检查数据包中的目标MAC地址。
⬇️
👉学习MAC地址:如果交换机之前未曾接收过发件人的MAC地址,则会将发件人的MAC地址和其接收端口之间建立映射关系,并存储在MAC地址表(也称为转发表)中。
⬇️
👉转发数据包:根据目标MAC地址在MAC地址表中查找对应的接收端口,然后将数据包仅转发到目标端口,而不会洪泛7整个网络。

2、多台交换机连接时

因为当设备网卡(含有MAC地址)更换时,交换机要重新获取MAC,便用到了IP地址,可根据ARP协议8便是IP地址映射到MAC地址的协议,计算机里面MAC地址与IP地址绑定的数据表则是ARP记录表。
由于交换机的泛洪特性,我们可以用多个交换机连接起来,但是当网络规模大了以后,交换机由于把每个经过的MAC地址都保存起来,当联网设备巨量时导致交换机的MAC地址表无法容纳,而且交换机的全网泛洪会导致通信效率降低。
为了提高网络效率我们希望将网络隔离开来,把网络分成不同的网段,交换机只用来传输同一网段的消息,于是子网掩码出现了。为了下文对路由器及相关协议的了解,现在笔者来解释一下IP地址与子网掩码
IP地址是互联网中用于标识和定位设备的地址。它在网络通信中扮演着至关重要的角色.
子网掩码(Subnet Mask)是用于划分IP地址中网络部分和主机部分的32位二进制数。它与IP地址一起使用,帮助确定本地网络中主机的数量以及将IP地址分为网络地址和主机地址两部分。
IP地址和子网掩码“与”运算:确定IP地址的网络部分,以此划分网络。
IP地址和子网掩码“或”运算:确定网络的广播地址,用于向网络内的所有主机发送数据包。
根据运算判断是否为当前网段,还是外网,对于发往外网的消息,交换机将交给专门的设备帮忙转发,这个设备便是路由器。
🚀路由器:路由器是计算机网络中的关键设备,负责在不同网络之间传输数据包。
路由器工作原理:
🔥数据交换:路由器通过查找路由表中的信息,决定如何将数据包从源主机传输到目的主机。
👇
🔥数据转发:根据目的IP地址和子网掩码,路由器选择最佳路径将数据包转发到下一跳路由器或目的主机。
👇
🔥路由选择:路由器通过路由选择协议学习网络拓扑和动态路由信息,更新路由表以实现最佳路径选择。

3、路由与路由相连时

下面介绍一下上文提到的物理层、数据链路层、传输层(OSI模型)9的ISO协议来引出后面的OSPF、BGP、UDP等协议.
ISO协议:ISO协议指的是国际标准化组织(ISO)制定的各种网络通信协议标准。其中最著名的是OSI(开放系统互联)参考模型,由ISO提出并被广泛接受。这个模型将计算机网络通信分为七个层次,每个层次处理不同的网络功能,用来规范不同设备之间的通信。
OSPF协议:
OSPF(开放最短路径优先)协议是一种用于在IP网络中路由数据包的动态路由协议。简单来说,OSPF协议就像是一个帮助数据包找到最短路径的GPS导航系统。
就像你开车要选择最短路线一样,OSPF协议帮助互联网上的路由器决定如何最快地将数据包从发送方传送到接收方。它通过在网络中传播路由信息、计算最佳路径和更新路由表来实现这一目的。
所以,可以将OSPF协议看作是一种帮助路由器交通指引的“导航系统”,它通过动态决定最短路径,确保数据包能够快速准确地到达目的地。
👇
BGP协议:BGP(边界网关协议)是用于互联网中不同自治系统之间交换路由信息的协议。可以将BGP协议看作是互联网世界中的“外交协议”。
在互联网中,不同的网络都属于不同的自治系统(AS),类似于不同的国家。BGP协议就像是各个国家之间签订的协议,用于交换如何到达对方国家的路由信息。
当一个自治系统需要发送数据到另一个自治系统时,它会通过BGP协议向其他自治系统的边界路由器发送路由更新信息,以便选出最佳路径。这样就像是不同国家之间协商选择最佳的国际航线一样。
因此,BGP协议可以被理解为帮助互联网中不同自治系统之间协商和选择最佳路径的“外交协议”,确保数据能够按照最有效的方式在全球范围内传输。
👇
UDP协议:UDP 是一种简单的传输层协议,它提供了无连接、不可靠、无序的数据传输。UDP适用于那些对数据传输实时性要求较高、能够容忍少量数据丢失的应用场景。UDP协议不提供数据包的重传、排序和拥塞控制等功能,因此速度较快,但数据传输的可靠性较差。
👇
TCP/IP协议10:TCP/IP 是一组协议的集合,其中 TCP 是传输层协议,IP 则是网络层协议。TCP 提供了面向连接、可靠、有序的数据传输,它负责数据包的拆分、重组、排序和重传等功能,以确保数据的可靠传输。TCP 在数据传输过程中实现了流量控制和拥塞控制,但相对于 UDP,TCP 的传输效率会稍低。
👇
NET协议:网络地址转换(NAT)协议是一种用于在网络数据包传输过程中修改IP地址信息的协议。它允许多台设备在一个内部网络中共享一个外部可见的IP地址。这样,拥有私有IP地址的设备可以通过一个公共IP地址从内部网络访问互联网。
NAT的原理是将发送出去的数据包的源IP地址和端口号转换为NAT设备的公共IP地址和一个唯一的端口号。当返回响应时,NAT设备将目标IP地址和端口号转换回请求设备的内部私有IP地址和端口号。
通过NAT协议,内部网络中的多个设备可以共享一个公共IP地址,为IPv4地址的有限资源提供了节约,同时也为私有网络提供了额外的安全保护。

总结

本文从计算机相连 开始,到后面越来越复杂的连接与协议,了解了协议的用处,以及出现的原因。

✈️✈️✈️如果喜欢这篇文章的话

🙏大大们可以动动发财的小手:
👉👉👉 点赞:👍收藏:⭐️评论:✍️👈👈👈


  1. 白绿、绿、白橙、蓝、白蓝、橙、白棕、棕。 ↩︎

  2. 橙白、橙、绿白、蓝、蓝白、绿、棕白、棕。 ↩︎

  3. 局域网(Local Area Network(LAN))是一个可连接住宅,学校,实验室,大学校园或办公大楼等有限区域内计算机的计算机网络。 ↩︎

  4. 它工作在OSI(开放系统互联参考模型)的第一层,即物理层 ↩︎

  5. OSI参考模型的第二层 ↩︎

  6. 广域网(Wide Area Network,简称 WAN)是一个广大地理范围内连接多个局域网(LAN)和城域网(MAN)的计算机网络。广域网通常覆盖跨越城市、国家甚至全球各地的范围,用于连接远距离地点的计算机和网络设备,实现数据通信和资源共享。 ↩︎

  7. 当交换机在MAC地址表中找不到目标MAC地址对应的接收端口时,它会执行一个称为“泛洪”的操作。泛洪是指交换机将数据包通过除接收端口外的所有其他端口都发送一遍,以确保数据包能够到达目标设备。在目标设备回应后,交换机会学习新设备的MAC地址,并更新其MAC地址表,从而实现直接通信。 ↩︎

  8. ARP(Address Resolution Protocol,地址解析协议)是网络通信中用于将IP地址映射为MAC地址的协议,其作用是在局域网中根据目标IP地址找到对应的MAC地址,以实现数据包在局域网内的正确传输。 ↩︎

  9. 物理层:负责传输数据比特流,涉及硬件设备和物理介质。
    数据链路层:负责帧的传输和错误检测,确保数据传输的可靠性。
    网络层:负责实现数据包的路由选择和跨网络的数据传输。
    传输层:提供端到端的通信和数据传输控制。
    会话层:负责建立、管理和终止会话,进行数据交换控制。
    表示层:负责数据的加密、压缩和格式转换,确保不同系统间数据交换的兼容性。
    应用层:提供应用软件和用户之间的接口,实现特定应用的功能。 ↩︎

  10. TCP 三次握手(Three-Way Handshake)
    第一步 - 发起连接:客户端向服务器发送一个请求连接的数据包,这个过程称为 SYN(同步)包。客户端告诉服务器自己要建立连接。
    第二步 - 确认连接:服务器收到客户端的 SYN 包后,会发送一个 SYN-ACK 包作为应答,表示已收到连接请求,并同意建立连接。
    第三步 - 完成连接:客户端再向服务器发送一个 ACK 包,表示收到了服务器的确认,连接建立完成,可以开始数据传输了。
    TCP 四次挥手(Four-Way Handshake)
    第一步 - 主动关闭:当客户端或服务器想关闭连接时,先发送一个 FIN 包给对方,表示不再发送数据。
    第二步 - 确认关闭请求:接收到 FIN 包的一方会发送一个 ACK 包作为确认,表明已收到关闭请求。
    第三步 - 被动关闭:对方发送 FIN 包,表示自己也准备关闭连接。
    第四步 - 确认关闭:接收到 FIN 包的一方会发送一个 ACK 包作为确认,双方确认关闭连接,连接断开。
    简单解释:三次握手 是建立连接时客户端和服务器之间的协商和确认步骤,确保双方都能正常通信。
    四次挥手 是断开连接时的协商和确认步骤,确保双方都知道对方要断开连接,避免数据丢失。 ↩︎

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

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

相关文章

基于SpringBoot的“外卖点餐系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“外卖点餐系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能图 用户功能界面 订单管理界面 配送单管…

Java 笔记 01:Java 概述,MarkDown 常用语法整理

一、前言 记录时间 [2024-04-18] 昨天整理完 Docker 基础后略微思索了一下,还是决定把 Java 捡起来,系统地学习一遍,参考的学习课程是狂神说 Java 零基础,真诚感激此系列视频对笔者的帮助。 零基础可以学 Java 吗?只要…

【创建型模式】建造者模式

一、建造者模式概述 建造者模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同得表示。(对象创建型模式)。 建造者模式分析: 1.将客户端与包含多个部件得复杂对象得创建过程分离,客户端无需知道复杂对象…

vue快速入门(二十九)echarts在vue中的使用

注释很详细&#xff0c;直接上代码 上一篇 新增内容 echarts.js的下载途径echarts的饼图示范 echarts.js&#xff0c;点击跳转&#xff0c;右键另存即可 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><m…

BEV| lift-splat-shoot 运行配置

Lift, splat, shoot: Encoding images from arbitrary camera rigs by implicitly unprojecting to 3d

6.C++:继承

一、继承 //1.类中的保护和私有在当前类中没有差别&#xff1b; //2.在继承后的子类中有差别&#xff0c;private在子类中不可见&#xff0c;所以用protected&#xff1b; class person { public:void print(){cout << "name:" << _name << endl;c…

《乱弹篇(29)崇州寻兰》

几天前天气骤然暴热&#xff0c;致使本老龄笔者血氧饱和度急剧下降至89&#xff0c;心率加速高达110至120&#xff0c;晚上盖床夏被也觉浑身燥热&#xff0c;很不舒服&#xff0c;彻夜难眠&#xff0c;便有一种“快走了”的不祥预感袭上心头。其实&#xff0c;我真的祈盼能心肌…

计算机视觉——基于OpenCV和Python进行模板匹配

模板匹配&#xff1f; 模板匹配是它允许在一幅较大的图像中寻找是否存在一个较小的、预定义的模板图像。这项技术的应用非常广泛&#xff0c;包括但不限于图像识别、目标跟踪和场景理解等。 目标和原理 模板匹配的主要目标是在一幅大图像中定位一个或多个与模板图像相匹配的…

隧道中心线提取

作者&#xff1a;迅卓科技 简介&#xff1a;本人从事过多项点云项目&#xff0c;并且负责的项目均已得到好评&#xff01; 公众号&#xff1a;迅卓科技&#xff0c;一个可以让您可以学习点云的好地方 重点&#xff1a;每个模块都有参数如何调试的讲解&#xff0c;即调试某个参数…

HackMyVM-BaseME

目录 信息收集 arp nmap WEB web信息收集 gobuster hydra 目录检索 ssh 提权 get user sudo base64提权 get root 信息收集 arp ┌─[rootparrot]─[~/HackMyVM] └──╼ #arp-scan -l Interface: enp0s3, type: EN10MB, MAC: 08:00:27:16:3d:f8, IPv4: 192.168…

​波士顿动力发布全新人形机器人:Atlas

4月16日&#xff0c;波士顿动力&#xff08;Boston Dynamics&#xff09;发布了《再见&#xff0c;液压Atlas》视频&#xff0c;正式宣告其研发的液压驱动双足人形机器人Atlas退役。 在视频的结尾&#xff0c;Atlas深深鞠躬&#xff0c;之后还有一句话“直到我们再次相遇&…

ChatGPT及GIS、生物、地球、农业、气象、生态、环境科学领域案例

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

Count the Values of k

目录 题目总览 思路 参考代码 原题链接&#xff1a; CF1933C Turtle Fingers: Count the Values of k 题目总览 # Turtle Fingers: Count the Values of k ## 题面翻译 给你三个**正**整数 $a$ 、 $b$ 和 $l$ ( $a,b,l>0$ )。 可以证明&#xff0c;总有一种方法可以选择*…

如何用ChatGPT进行论文撰写?

原文链接&#xff1a;如何用ChatGPT进行论文撰写&#xff1f;https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601619&idx1&snb686fbe87dedfac2df3a6afe780b2ffe&chksmfa820c34cdf5852251dca64597024ea62ddbde280086535ec251f4b62b848d9f9234688384e6…

【论文速读】| 大语言模型是边缘情况模糊测试器:通过FuzzGPT测试深度学习库

本次分享论文为&#xff1a;Large Language Models are Edge-Case Fuzzers: Testing Deep Learning Libraries via FuzzGPT 基本信息 原文作者&#xff1a;Yinlin Deng, Chunqiu Steven Xia, Chenyuan Yang, Shizhuo Dylan Zhang, Shujing Yang, Lingming Zhang 作者单位&…

js高级 笔记02

目录 01 object提供的一些静态方法 02 词法作用域 03 作用域链 04 arguments的使用 05 开启严格模式 06 高阶函数 07 闭包 01 object提供的一些静态方法 Object.create() 对象继承 Object.assign(对象1,对象2) 对象合并 可以将对象2 里面的可枚举属性和自身的属性合并到…

C语言简单的数据结构:单链表的有关算法题(2)

题目&#xff1a; 4. 单链表相关经典算法OJ题3&#xff1a;合并两个有序链表5. 循环链表经典应⽤-环形链表的约瑟夫问题6. 单链表相关经典算法OJ题5&#xff1a;分割链表 接着我们介绍后面的三道题&#xff0c;虽然代码变多了但我们的思路更加通顺了 4. 单链表相关经典算法OJ题…

前端请求404,后端保无此方法

1、微信小程序前端路径404 2、后端报无此路径 3、查看路径下对应的方法 发现忘了在list方法前加GetMapping(“/list”)&#xff0c;加上即可

Python用于创建和可视化环形图的工具库之pycirclize使用详解

概要 Python pycirclize库是一个用于创建和可视化环形图的工具,它提供了丰富的特性和功能,可以帮助用户展示环形结构数据的关系和比例。本文将深入探讨pycirclize库的安装、特性、基本功能、高级功能、实际应用场景等方面。 安装 安装pycirclize库非常简单,可以通过pip命令…

2024年华中杯数学建模竞赛全攻略:ABC题思路解析+代码实现+数据集+论文撰写+全程答疑

引言 &#xff08;比赛后所有题目资料在文末获取呀&#xff09; 华中杯数学建模竞赛是数学建模领域的一项重要赛事&#xff0c;它不仅考验参赛者的数学建模能力&#xff0c;还考验了编程技能、数据分析能力和论文撰写能力。为了帮助参赛者更好地准备2024年的竞赛&#xff0c;本…