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

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

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

文章目录

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

前言

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

两个电脑如何互连呢?

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 包作为确认,双方确认关闭连接,连接断开。
    简单解释:三次握手 是建立连接时客户端和服务器之间的协商和确认步骤,确保双方都能正常通信。
    四次挥手 是断开连接时的协商和确认步骤,确保双方都知道对方要断开连接,避免数据丢失。 ↩︎

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

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

相关文章

【opencv】dnn示例-speech_recognition.cpp 使用DNN模块结合音频信号处理技术实现的英文语音识别...

模型下载地址: https://drive.google.com/drive/folders/1wLtxyao4ItAg8tt4Sb63zt6qXzhcQoR6 终端输出:(audio6.mp3 、audio10.mp3) [ERROR:00.002] global cap_ffmpeg_impl.hpp:1112 open VIDEOIO/FFMPEG: unsupported parameter…

华为手机p70即将上市,国内手机市场或迎来新局面?

4月15日,华为官宣手机品牌全新升级,p系列品牌升级为Pura。华为P70系列手机预计将于2024年第一季度末发布,而网友也纷纷表示期待p70在拍照、性能上的全新突破。 网友们对华为P70系列的热情高涨,也印证了国内高端手机市场的潜力巨大…

MySql安装(Linux)

一、清除原来的mysql环境 在前期建议使用root用户来进行操作,使用 su -来切换成root用户,但是如果老是提示认证失败,那么有可能我们的root密码并没有被设置, 我们可以先设置root的密码 sudo passwd root 然后就可以切换了。 …

Mac 利用Homebrew安装JDK

一、安装JDK17 1.安装openjdk17 2.把homebrew安装的openjdk17软链接到系统目录: brew install openjdk17 sudo ln -sfn $(brew --prefix)/opt/openjdk17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk 一、检查是否安装成功 在Termina…

深入解析Apache Hadoop YARN:工作原理与核心组件

什么是YARN? YARN(Yet Another Resource Negotiator)是Apache Hadoop生态系统中的一个重要组件,用于资源管理和作业调度。它是Hadoop 2.x版本中的一个关键特性,取代了旧版本中的JobTracker和TaskTracker。YARN的设计目…

蚂蚁云科技集团应用研究院院长李亚锋先生受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 蚂蚁云科技集团应用研究院院长李亚锋先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾,演讲议题为“探索AI技术对项目管理发展的影响”。大会将于5月25-26日在北京举办,敬请关注! 议题简要: 19…

CSS的语法规则——基础选择器

元素&#xff1a; 用法&#xff1a; 标签名&#xff1a;{style的内容} 特点&#xff1a; 全局性&#xff0c;使用后&#xff0c;所有的相同标签都是同一种样式。 举例&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UT…

双目人体姿态匹配 | 基于双目视觉的人体姿态匹配+识别算法实现

项目应用场景 面向双目立体视觉的人体姿态匹配场景&#xff0c;项目采用 Visual Studio C 开发&#xff0c;具有人体姿态匹配 人体姿态识别能力。 项目效果 项目细节 > 具体参见项目 README.md项目获取 https://download.csdn.net/download/weixin_42405819/89113399

怎么找平台?伦敦金交易平台查询

在过去的一个星期里&#xff0c;伦敦金价格再创辉煌&#xff0c;一举突破2400大关&#xff0c;并且将历史新高刷新至2431。虽然随后金价出现较大幅度的下跌&#xff0c;但对多数投资者而言&#xff0c;这不是下跌而是回调。回调之后&#xff0c;伦敦金的涨势将继续。既然有这么…

neo4j使用详解(终章、neo4j的java driver使用模板及工具类——<可用于生产>)

Neo4j系列导航: neo4j安装及简单实践 cypher语法基础 cypher插入语法 cypher插入语法 cypher查询语法 cypher通用语法 cypher函数语法 neo4j索引及调优 neo4j java Driver等更多 1. 简介 本文主要是java使用neo4j driver操作neo4j的模板项目及非常有用的工具类,主要包括: 图…

我三战华东师范大学的同桌真的很牛

标题党一下&#xff0c;其实是我的一个关系很好的高中同桌死磕华东师范大学三年&#xff0c;最终第二名上岸的故事。 其实我们是同一届的&#xff0c;我为了早点走选择了个排名还行的双非院校就走了&#xff0c;而我这个同桌相当有毅力&#xff0c;他能坚持这么久我其实很佩服&…

微信小程序开发一(常用的标签)

去微信公众平台注册账号确定怎么操作去网上找找 网址&#xff1a;微信公众平台 (qq.com)https://mp.weixin.qq.com/https://mp.weixin.qq.com/ 微信开放文档中找到工具栏下载微信开发者工具 网址&#xff1a;微信开发者工具&#xff08;稳定版 Stable Build&#xff09;下载地…

JavaWeb开发02-MYSQL-DDL-DML-DQL-多表设计-多表查询-事务-索引

一、MySQL概述 通过SQL语句可以操作数据库 关系型数据库&#xff1a; 只要是关系型数据库就可以用SQL语句这一统一标准进行操作数据库 1.MYSQL数据模型 客户端通过SQL语句交给了数据库管理系统DBMS&#xff0c;进行相应操作&#xff0c;创建一个一个数据库&#xff0c;体现为一…

如何理解信创产品?成为信创产品?

信创产品是指运用信息技术手段创造的产品&#xff0c;它是数据安全、网络安全的基础&#xff0c;也是新基建的重要组成部分。信创产品包括了IT基础设施如CPU芯片、服务器、存储、交换机、路由器、各种云和相关服务内容&#xff1b;基础软件如数据库、操作系统、中间件&#xff…

JRT在线初始化完善

之前实现的在线初始化留了个尾巴&#xff0c;那就是环境下载页构造zip包的时候没修改JRTBrowser的连接串地址为当前网站&#xff0c;这样就要求网站部署好之后给用户下载之前有人要把服务器的浏览器地址配置好。这样就增加一个运维工作&#xff0c;如果忘了或者不知道的人就会导…

nuxt3使用记录四:加载静态资源时路径的写法研究

在上一篇记录了NUXT进行SSG构建时&#xff0c;不仅会构建纯静态的html文件&#xff0c;也会构建一堆js文件。而如果网页中有加载静态资源&#xff0c;如图片&#xff0c;这时就需要注意了&#xff0c;不能简单的使用官网说的<img src"~/assets/img/nuxt.png" alt&…

Linux进阶---常见符号及其含义、常见报错

一、常见符号及其含义&#xff08;重要&#xff09; 二、 常见报错 • 找不到文件、文件不存在&#xff1a;No such file or directory • 没有权限 &#xff1a;Permission denied • 命令不存在 &#xff1a;command not found 1.找不到文件、文件不存在&#xff1a;No s…

AI智能电销机器人是什么?能给我们带来哪些便利?

科技的飞速发展&#xff0c;让很多“懒人”的幻想变成了现实&#xff0c;越来越多的人工智能产品被发明出来甚至完全替代日常生活中的工作。比如在电销行业&#xff0c;很多企业选择AI智能电销机器人进行外呼。那么你了解多少AI智能电销机器人呢&#xff1f;和小编kelaile520一…

声明v.s.定义

参考&#xff1a;http://t.csdnimg.cn/1xnzA 变量的定义&#xff1a;用于为变量分配存储空间&#xff0c;还可以为变量指定初始值&#xff0c;在程序中&#xff0c;变量有且仅有一个定义。变量的声明&#xff1a;用于向程序表明变量的类型和名字。在程序中&#xff0c;变量可以…

SAP SD学习笔记06 - 受注的据否,受注的理由,简易变更(一括处理)

上文讲了一括处理和Block&#xff08;冻结&#xff09;处理。 SAP SD学习笔记05 - SD中的一括处理&#xff08;集中处理&#xff09;&#xff0c;出荷和请求的冻结&#xff08;替代实现承认功能&#xff09;-CSDN博客 本章继续讲SAP的流程中一些常用的操作。 1&#xff0c;受注…