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

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

前言

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

两个电脑如何互连呢?

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 包作为确认,双方确认关闭连接,连接断开。
    简单解释:三次握手 是建立连接时客户端和服务器之间的协商和确认步骤,确保双方都能正常通信。
    四次挥手 是断开连接时的协商和确认步骤,确保双方都知道对方要断开连接,避免数据丢失。 ↩︎
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
10月前
|
编解码 异构计算
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
755 10
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
|
4月前
|
Windows
电脑显示有问题,电脑连接不上网络,电脑没声音,电脑链接不上打印机?驱动人生就能解决所有问题
电脑显示有问题,电脑连接不上网络,电脑没声音,电脑链接不上打印机?驱动人生就能解决所有问题
103 0
|
10月前
|
计算机视觉
RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络
RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络
415 12
RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络
|
10月前
|
计算机视觉
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
2126 10
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
|
9月前
|
安全 网络协议 网络安全
当虚拟机出现网络连接问题时,应该先检查Hyper-V的网卡连接配置
当虚拟机出现网络连接问题时,应首先检查Hyper-V的网卡配置。具体步骤包括:确认虚拟机运行状态、检查虚拟交换机类型和物理网卡连接、确保虚拟机网络适配器正确连接到虚拟交换机,并验证网络配置(IP地址等)。常见问题如虚拟交换机配置错误、网络适配器未连接或防火墙阻止连接,可通过重新配置或调整设置解决。必要时重启虚拟机和宿主机,查看事件日志或联系技术支持以进一步排查问题。
|
9月前
|
机器学习/深度学习 API Python
Python 高级编程与实战:深入理解网络编程与异步IO
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧、数据科学、机器学习、Web 开发和 API 设计。本文将深入探讨 Python 在网络编程和异步IO中的应用,并通过实战项目帮助你掌握这些技术。
|
9月前
|
人工智能 运维 API
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
云栖大会 | Terraform从入门到实践:快速构建你的第一张业务网络
422 1
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
367 11
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议