Linux基础 (十三):计算机网络基础概论

一、网络基本概念

1.1 网络

        把独立自主的计算机通过传输介质和网络设备链接起来,就构成一个网络 ,网络是由若干结点和连接这些结点的链路组成,网络中的结点可以是计算机,交换机、 路由器等设备。 网络设备有:交换机、路由器、集线器 传输介质有:双绞线、同轴电缆、光纤。下图是一个简单的网络示意图:

1.2 互联网

         把多个网络连接起来就构成了互联网。目前最大的互联网就是我们常说的因特网。

1.3 IP 地址

 1.3.1 IP地址概念  

          IP 地址就是给因特网上的每一个主机(或路由器)的每一个接口分配的一个在全世界范围内唯一的标识符。IP 地址因其特殊的结构使我们可以在因特网上很方便地进行寻址

1.3.2 IP地址介绍

        IP 地址有分 IPV4 和 IPV6 两种类别格式,IPV4 是类似”A.B.C.D”的格式,它是 32 位 的,用“.”分成四个段,每个段是 8 个位(值为 0-255),用 10 进制表示。IPV6 地址是 128 位,格式类似”XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX”,用“:“分成 8 个 段,每个段 16 个位,用 4 个 16 进制数表示。

Windows平台可使用图像化界面查看:

windows在命令行窗口查看使用命令:ipconfig

Linux在命令行窗口查看使用命令:ifconfig

ip“127.0.0. 1’”代表本主机,是在本主机上进行测试用的。

1.3.3 IP地址的分类

          接下来描述的 IP 地址默认都指的是 IPV4 的地址。为了便于寻址,了解目标主机的位置,每个 IP 地址由网络号和主机号两个部分构成。就像是学校里面为了方便管理,为每个学生分配一个学号,由班级号和在这个班的编号组成,同一个物理网络上所有的主机都使用同一个网络号,只是主机号不同。

  1. A类地址的第一个字节(即网络号)范围是1到127,剩下的三个字节(即主机号)用于标识具体的主机。A类地址适用于大型网络,因为它们可以分配给大量主机。
  2. B类地址的前两个字节(即网络号)用于标识网络,剩下的两个字节(即主机号)用于标识主机。B类地址适用于中型规模的网络。
  3. C类地址的前三个字节(即网络号)用于标识网络,剩下一个字节(即主机号)用于标识主机。C类地址适用于小型网络,因为它们的主机数量相对较少。

1.4 MAC 地址

       MAC 地址(Media Access Control Address,媒体访问控制地址)是用于在网络上唯一标识网络设备的硬件地址它通常由设备的网络接口控制器(NIC)制造商分配,并嵌入到设备的硬件中。标准的 MAC 地址是一个 48 位的标识符,通常表示为 12 位十六进制数,如 "00:1A:2B:3C:4D:5E"。MAC 地址的前24位通常是制造商分配的组织唯一标识符(OUI),后24位是设备的唯一序列号。

1.5 IP地址和MAC地址的关系(面试题)

          有了mac地址还需要ip地址是因为:

  1. IP地址方便寻址
  2. MAC地址无法反应在网络中发生了变化

二、网络分层模型

2.1 网络分层模型的概念(面试题)

        网络分层模型(Network Layered Model)是一种将网络通信功能划分为若干层次的方法,每一层负责特定的任务,且各层之间通过定义良好的接口进行交互。这样的分层设计使得网络系统更易于理解、管理和扩展。最常见的网络分层模型有OSI(开放系统互连)模型和TCP/IP模型。

OSI模型(Open Systems Interconnection Model)

OSI模型由国际标准化组织(ISO)制定,分为七层,从上到下分别是:

  1. 应用层(Application Layer):提供应用程序与网络之间的接口,支持网络服务(如电子邮件、文件传输等)。
  2. 表示层(Presentation Layer):负责数据格式的转换,包括数据加密、解密和压缩。
  3. 会话层(Session Layer):管理会话的建立、维护和终止。
  4. 传输层(Transport Layer)提供端到端的通信控制,保证数据的可靠传输(如TCP协议)。
  5. 网络层(Network Layer):负责数据包的路由选择和转发(如IP协议)。
  6. 数据链路层(Data Link Layer):提供数据帧的传输,负责物理地址寻址、帧定界和错误检测(如以太网协议)。
  7. 物理层(Physical Layer):负责物理媒介上的比特传输,包括电缆、光纤等传输介质。

TCP/IP模型(Transmission Control Protocol/Internet Protocol Model)

TCP/IP模型是互联网的核心协议,分为四层,从上到下分别是:

  1. 应用层(Application Layer):对应OSI模型的应用层、表示层和会话层,提供高层协议和网络服务(如HTTP、FTP、SMTP等)。
  2. 传输层(Transport Layer):提供主机之间的数据传输服务,常见协议有TCP和UDP。
  3. 网络层(Internet Layer)负责数据包的路由和转发,核心协议是IP
  4. 网络接口层(Network Interface Layer):对应OSI模型的数据链路层和物理层,负责实际的数据传输。

对比和应用

  • 层数:OSI模型有七层,TCP/IP模型有四层。
  • 标准化OSI模型是理论性的参考模型,而TCP/IP模型是实际应用中广泛使用的协议栈。
  • 灵活性:OSI模型的每一层定义明确且独立,有助于理解和设计新的协议。TCP/IP模型更注重实际应用和性能优化。

2.2 为什么要进行分层(面试题)

1. 简化复杂性

          网络通信涉及的功能和操作非常复杂,通过分层可以将复杂的任务分解成较小的、更易于管理和理解的模块。每一层只需关注特定的功能,而不需要了解整个系统的所有细节。

2. 模块化设计

         分层使得网络设计模块化,每一层可以独立开发、测试和修改,而不会影响其他层。这种模块化设计增强了系统的可维护性和可升级性。

3. 标准化

      通过定义各层的功能和接口,网络分层模型为不同厂商和开发者提供了统一的标准,使得不同设备和协议能够互操作。标准化促进了设备和技术的兼容性和互通性。

4. 促进互操作性

       不同厂商和不同技术的设备可以通过遵循相同的分层模型和标准协议进行通信。这种互操作性是互联网能够普及和发展的关键因素之一。

5. 故障隔离

        分层设计有助于故障隔离和问题诊断。当网络通信出现问题时,可以根据分层模型定位到具体层次,从而更迅速地找到并解决问题。

6. 分工明确

        每一层都有其明确的功能和职责,使得开发人员可以专注于特定层次的优化和改进。例如,传输层专注于数据的可靠传输,网络层专注于路由和数据转发。

8. 支持协议栈的实现 

        网络协议栈的实现可以遵循分层模型,通过调用下层提供的服务并向上层提供服务,使得整个协议栈的实现更加系统化和规范化。

2.3 端口号

        端口号(Port Number)是计算机网络中的一个重要概念,它是软件层面的, 用于区分同一台计算机上不同的网络服务和应用(标识一个应用程序(进程),区分数据包到达主机上的哪个进程,每个进程都有一个端口号)。它是一个16位的整数,范围从0到65535。3306 mysql,80 http协议。

工作原理

  • 当一台计算机向另一台计算机发送数据时,数据包中包含源IP地址、目标IP地址、源端口号和目标端口号。
  • 目标计算机使用目标端口号将数据包路由到相应的服务或应用程序。
  • 例如,当你在浏览器中访问一个网站时,浏览器会使用HTTP协议,通过目标端口80发送请求,服务器在端口80上监听并处理该请求。

2.4 数据链路层

     数据链路层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。 在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制,使有差错的物理线路变为无差错的数据 链路,即提供可靠的通过物理介质传输数据的方法。 该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。

  1. MAC 子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的 访问控制;
  2. LLC 子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。

TCP/IP 协议体系结构中,数据链路层的功能描述为实现网卡接口的网络驱动程序,以 处理数据在物理媒介上的传输,不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供了一个统一的接口。这一层主要关注的三个基本问题是:封装成 帧,透明传输和差错检测。

2.5  网络层

       网络层实现数据包的选路和转发。广域网或者说互联网通常使用众多分级的路由器来连接分散的主机或者局域网,因此,通信的两台主机一般不是直接相连的,而是通过多个中间结点(路由器)连接的。网络层的任务就是选择这些中间结点,以确定两台主机之间的通信路径。同时,网络层对上层协议隐藏了网络拓扑连接的细节,使得在传输层和网络应用程序看来,通信的双方是直接相连的。

网络层最核心的协议是 IP 协议(Internet Protocol,因特网协议)。IP 协议根据数据包的目 的 IP 地址来决定何如投递它。

       如果数据包不能直接发送给目标主机,那么 IP 协议就是为它寻找一个合适的下一跳路由器,并将数据包交付给该路由器来转发。多次重复这一过程,数 据包最终到达目标主机,或者由于发送失败而被丢弃。可见,IP 协议使用逐跳的方式确定通信路径。 网络层另外一个重要的协议是 ICMP 协议(因特网控制报文协议)。它是 IP 协议的重要补充,主要用于检测网络连接。

IP 协议为上层协议提供无状态、无连接、不可靠的服务。

  1. 无状态是指通信双方不同步传输数据的状态信息,因此所有 IP 数据报的发送、传输和 接收都是相互独立、没有上下文关系的。这种服务最大的缺点是无法处理乱序和重复的 IP 数据报。虽然 IP 数据报头部提供了一个标识字段用以唯一标识一个 IP 数据报,但它是被用来处理 IP 分片和重组的,而不是用来指示接收顺序的。无状态的优点是简单、高效。无须 为保持通信状态而分配一些内核资源,也无须再每次通信时携带状态信息。
  2. 无连接是指 IP 通信双方都不长久地维持对方的任何信息。这样,上层协议每次发送数据的时候,都必须明确指定对方的 IP 地址。
  3. 不可靠是指 IP 协议不能保证 IP 数据报准确地到达接收端,它只是承诺尽最大努力。

IPV4 头部结构如下:

2.6 传输层

        传输层为两台主机上的应用程序提供端到端的通信。与网络层使用的逐跳通信的方式不 同,传输层只关心通信的起始端和目的端,而不在乎数据包的中转过程。

传输层协议主要有三个:TCP 协议、UDP 协议和 SCTP 协议 ,TCP 协议(传输控制协议)为应用层提供可靠的、面向连接的和基于流的服务。

        TCP 协 议使用超时重传、确认应答等方式来确保数据包被正确的发送至目的端,因此 TCP 服务是可靠的。使用 TCP 协议通信的双方必须先建立 TCP 连接,并在内核中为该连接维持一些必 要的数据结构,比如连接状态,读写缓冲区等。当通信结束时,双方必须关闭连接以释放这些内核数据。TCP 服务是基于流的,基于流的数据没有边界(长度)限制,它源源不断地从 通信地一端流入另一端。发送端可以逐个字节地向数据流中写入数据,接收端可以逐个字节地将它们读出。TCP 协议报头:

UDP 协议(用户数据报协议)则与 TCP 协议完全相反,它为应用层提供不可靠、无连接、基于数据报地服务。“不可靠”意味着 UDP 协议无法保证数据从发送端正确地传送到目的端。如果数据在中途丢失,或者目的端通过数据校验发现数据错误而将其丢弃,则 UDP 协议只是简单地通知应用程序发送失败。因此,如果要使 UDP 协议可靠,那么应用程序通常要自己处理数据确认、超时重传等逻辑。UDP 是无连接的,即通信双发不保持一个长久的联系,因此应用程序每次发送数据都要明确指定接收端的地址。基于数据报的服务,是相对基于流的服务而言的。每次 UDP 数据报都有一个长度,接收端必须以该长度为最小单位 将其所有内容一次性读出,否则数据将被截断。 

2.7 应用层

        应用层负责处理应用程序的逻辑。

三 、网络应用程序通信流程

      如下图,应用程序 A 要将数据”hello” 传给网络上另外一台主机上的应用程序 B, 数 据“hello”从应用层发送给传输层后,传输层在数据前面加上 tcp 协议或 udp 协议的报头, 将整条报文发给网络层,网络层添加自己的 IP 报头,再将整条数据发送给数据链路层。数据链路层将数据封装成能在网络中独立传输的数据单元,即数据帧。封装好的数据帧通过网络传输到另一台主机,然后再从下层依次拆包,将数据部分送往应用层。应用程序 B 就得到 了数据”hello”。

四、网路通信协议

       一组网络规则的集合,在特定的场景下,使用某一个协议,在网路的不同层,就会有不同的协议,重点介绍传输层的tcp协议和udp协议

  1. tcp协议:为应用层提供可靠的、面向连接的和基于流的服务
  2. udp协议:与tcp协议完全相反,它为应用层提供不可靠、无连接、基于数据报的服务

       至此,已经讲解完毕!篇幅较长,慢慢消化,以上就是全部内容!请务必掌握,创作不易,欢迎大家点赞加关注评论,您的支持是我前进最大的动力!下期再见!

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

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

相关文章

【深度学习】Transformer分类器,CICIDS2017,入侵检测,随机森林、RFE、全连接神经网络

文章目录 1 前言2 随机森林训练3 递归特征消除 RFE Recursive feature elimination4 DNN5 Transformer5.1. 输入嵌入层(Input Embedding Layer)5.2. 位置编码层(Positional Encoding Layer)5.3. Transformer编码器层(T…

Ubuntu server 24 (Linux) lvm 动态扩容磁盘空间

1 查看磁盘信息 sudo fdisk -l 2 查看lvm分区信息 sudo lvdisplay 3 扩展逻辑卷 sudo lvextend -l 100%FREE /dev/ubuntu-vg/ubuntu-lv 4 刷新逻辑卷 sudo resize2fs /dev/ubuntu-vg/ubuntu-lv 5 查看磁盘信息 df -h

代码随想录第28天|贪心算法part2

122买卖股票的最佳时机2 贪心算法最好能写出表达式,这样才好推导 假设在i天买入,j天卖出,则利润:price[j]-price[i] (price[j]-price[j-1])(price[j-1]price[j-2])...(price[i1]-price[i]) 于是我们可以计算出相邻天数的价格差,如…

178.二叉树:最大二叉树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

BPMN结束事件-Activiti7从入门到专家(8)

结束事件类型 bpmn结束事件表示流程或者分支的结束,当流程执行到结束时会抛出一个结果,是的,了解了开始事件以后,这个结束事件就相对很容易了。结束事件只有4种类型: 空结束事件错误结束事件取消结束事件终止结束事件…

程序员写博客的好处

编程不仅仅是一种谋生的手段,也是解决问题和创造价值的方式,如果把编程作为一门艺术看待,那就会有趣的多,也不会有什么35岁危机。 写博客不仅仅是一种记录和分享知识的手段,更是一种促进个人成长、拓宽职业道路的有效…

泛微OA E9 浏览框显示的数据根据表单字段过滤

一、实现效果:如图所示,字段“物品名称”浏览框显示的数据根据“类型”字段进行过滤。 二、实现方法: 1、建模引擎-应用建模-浏览框-浏览框列表中单击“办公耗材”-“浏览框列表”-“操作”-“编辑” 2、sql语句中根据OA自带是示例增加where…

echarts rich富文本标签使用

echarts 常见的富文本标签rich 位于 title, xAxis, yAxis, series中 这里着重讲解在 title 和 series中的 rich富文本标签使用 title 中的富文本标签在 textStyle属性下面 series 中的富文本标签在 label属性下面 rich富文本使用方法: title: {text: [//a 代表自…

A comprehensive review of machine learning-based models for fake news detection

Abstract 互联网在假新闻传播中的作用使其成为一个严重的问题,需要复杂的技术来自动检测。为了应对 Facebook、Twitter、Instagram 和 WhatsApp 等社交媒体网站上误导性材料的快速传播,本研究探索了深度学习方法和各种分类策略领域。该研究特别调查了基…

Java Opencv识别图片上的虫子

最近有个需求,希望识别图片上的虫子,对于java来说,图像识别不是很好做。在网上也搜索了很多,很多的代码都是不完整,或者下载下载报错,有的写的很长看不懂。所以自己试着用java的opencv写了一段代码。发现识…

俄语演讲开场白,柯桥外贸俄语培训

1、(Разрешите мне)от имени... 请允许我代表... 例: Разрешите мне от имени нашей компании поприветствовать всех членов вашей делегации…

智慧金融新视野:银行数据中心可视化大屏的崛起

在数字化浪潮的推动下,银行业正迎来一场前所未有的变革。在这场变革中,银行数据中心可视化大屏以其独特的魅力,为银行的数据分析和决策提供强有力的支持。 随着金融科技的不断发展,银行对于数据处理和分析的需求日益增长。银行数据…

如何把java项目打包成jar包

以下就是图解过程 确定好以后 过一会就成这样了

Vuepress 2从0-1保姆级进阶教程——标准化流程(Tailwindcss+autoprefixer+commitizen)

Vuepress 2 专栏目录【已完结】 1. 入门阶段 Vuepress 2从0-1保姆级入门教程——环境配置篇Vuepress 2从0-1保姆级入门教程——安装流程篇Vuepress 2从0-1保姆级入门教程——文档配置篇Vuepress 2从0-1保姆级入门教程——主题与部署 2.进阶阶段 Vuepress 2从0-1保姆级进阶教程—…

06--jenkins构建CI_CD

前言:上一篇文章整理了git的部署和使用,这章主要复习持续集成软件Jenkins,这个技术现在在云计算方面也是有应用的,同时也是越高级越智能的软件代表。 1、概念简介 1)jenkins是什么 Jenkins是一个开源的、可扩展的持…

美国空军发布类ChatGPT产品—NIPRGPT

6月11日,美国空军研究实验室(AFRL)官网消息,空军部已经发布了一款生成式AI产品NIPRGPT。 据悉,NIPRGPT是一款类ChatGPT产品,可生成文本、代码、摘要等内容,主要为为飞行员、文职人员和承包商提…

传神论文中心|第12期人工智能领域论文推荐

在人工智能领域的快速发展中,我们不断看到令人振奋的技术进步和创新。近期,开放传神(OpenCSG)社区发现了一些值得关注的成就。传神社区本周也为对AI和大模型感兴趣的读者们提供了一些值得一读的研究工作的简要概述以及它们各自的论…

看国足!不破不立!层次越低的家庭,语言攻击性越强——早读(逆天打工人爬取热门微信文章解读)

你昨晚看国足了吗? 引言Python 代码第一篇 洞见 层次越低的家庭,语言攻击性越强第二篇结尾 引言 昨天看了国足比赛 输了韩国一个球 剩下大概率的出线希望 除非泰国赢新加坡 且3个球或者以上 泰国稍强于新加坡 但并不到打进3个球的地步 都觉得2个球已经是…

移民月贺礼!世贸通EB-5移民项目首批投资人获批了

特大喜讯 第八届移民月正在如火如荼地开展中 世贸通迎来了一个令人振奋的好消息 为移民月送来了一份大礼 增添了一抹格外耀眼的光彩 由世贸通担任大中华区独家代理的 「佛罗里达湖畔犹太社区」EB-5乡村项目 迎来首批投资人I-526E获批 世贸通恭喜获得I-526E批准的投资家庭…

【数据结构 |集合框架、泛型】初始集合框架、时间(空间)复杂度、简单认识泛型

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 🎈丠丠64-CSDN博客🎈 ✨✨ 帅哥美女们,我们共同加油!一起…