Linux --网络基础概念

一.网络发展

  独立模式:在早期计算机之间是相互独立的,机器之间的数据只能通过软硬盘来传输,这就代表无法同时完成任务,需要前面的计算机完成各自的任务经过硬盘传递数据再完成自己的任务,效率十分低下。
网络互联:多台计算机连接在一起可以完成数据共享

  局域网:计算机的数量更多了,此时需要通过交换机和路由器连接在一起

广域网:现在万物互联的情况就是广域网,能够将世界各地的计算机都连在一起

二.初识协议

  协议:就是一种约定,计算机之间的传输媒介是光信号和电信号. 通过 "频率" 和 "强弱" 来表⽰ 0 和 1 这样的信息. 要想传递各种不同的信息, 就需要约定好双⽅的数据格式.协议本质也是软件,在设计上为了更好的进⾏模块化,解耦合,也是被设计成为层状结构的。

  OSI(Open System Interconnection,开放系统互连)七层⽹络模型称为开放式系统互联参考
模型,是⼀个逻辑上的定义和规范; OSI把⽹络从逻辑上分为了7层. 每⼀层都有相关、相对应的物理设备,⽐如路由器,交换机; OSI 七层模型是⼀种框架性的设计⽅法,其最主要的功能使就是帮助不同类型的主机实现数据传输;它的最⼤优点是将服务、接⼝和协议这三个概念明确地区分开来,概念清楚,理论也⽐较完整.通过七个层次化的结构模型使不同的系统不同的⽹络之间实现可靠的通讯;但是, 它既复杂⼜不实⽤; 所以我们按照TCP/IP四层模型来讲解.

三.TCP/IP五层(或四层)模型

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
应⽤层: 负责应⽤程序间沟通,如简单电⼦邮件传输(SMTP)、⽂件传输协议(FTP)、⽹络远程访问协议(Telnet)等. 我们的⽹络编程主要就是针对应⽤层.
传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到⽬标主机.
⽹络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识⼀台主机, 并通过路由表的⽅式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)⼯作在⽹路层.
数据链路层: 负责设备之间的数据帧的传送和识别. 例如⽹卡设备的驱动、帧同步(就是说从⽹线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就⾃动重发)、数据差错校验等⼯作. 有以太⽹、令牌环⽹, ⽆线LAN等标准. 交换机(Switch)⼯作在数据链路层.
物理层: 负责光/电信号的传递⽅式. ⽐如现在以太⽹通⽤的⽹线(双绞线)、早期以太⽹采⽤的的同轴电缆(现在主要⽤于有线电视)、光纤, 现在的wifi⽆线⽹使⽤电磁波等都属于物理层的概念。物理层的能⼒决定了最⼤传输速率、传输距离、抗⼲扰性等. 集线器(Hub)⼯作在物理层.

四.再识协议

  ⽹络通信最⼤的特点就是主机之间变远了,此时就会产生许多问题,例如:发数据给另外一个主机首先需要发送给路由器,如何发生数据到路由器?网络中千千万的主机如何找到另一个主机?数据发送丢失了怎么办?接收方主机应该如何处理数据?这些问题都是导致协议产生的根本原因。
  所以协议的本质其实是一种能分层的解决方案,因为多个问题是分层的。
  协议不只是在网络中的,它也和计算机系统息息相关。
  关于协议的朴素理解:所谓协议,就是通信双⽅都认识的结构化的数据类型因为协议栈是分层的,所以,每层都有双⽅都有协议,同层之间,互相可以认识对⽅的协议。

五.网络传输基本流程

  局域网通信原理(以太网为例):每个电脑的网卡都有自己的Mac地址,这个地址在该局域网中是唯一的(在⽹卡出⼚时就确定了, 不能修改. mac地址通常是唯⼀的,虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些⽹卡⽀持⽤⼾配置mac地址).发送端主机会向对应接受端主机发送信息,接受方会对比自己的Mac地址与数据中包含的是否一致,一致则会接受,不一致就丢失。

  以太⽹中,任何时刻,只允许⼀台机器向⽹络中发送数据,如果有多台同时发送,会发⽣数据⼲扰,我们称之为数据碰撞,所有发送数据的主机要进⾏碰撞检测和碰撞避免,没有交换机的情况下,⼀个以太⽹就是⼀个碰撞域
  初步明⽩了局域⽹通信原理,再来看同⼀个⽹段内的两台主机进⾏发送消息的过程
数据从用户下发以后,经过每一层时都会增加一个报头,这个报头可以相当于每一层的协议,需要进行封装和解包

报头:就是对应协议层的结构体字段,除了报头,剩下的叫做有效载荷,所以报⽂ = 报头 + 有效载荷。

  不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报
(datagram),在链路层叫做帧(frame). 应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装。⾸部信息中包含了⼀些类似于⾸部有多⻓, 载荷(payload)有多⻓, 上层协议是什么等信息. 数据封装成帧后发到传输介质上,到达⽬的主机后每层协议再剥掉相应的⾸部, 根据⾸部中的 "上层协议字段" 将数据交给对应的上层协议处理.
  在⽹络传输的过程中,数据不是直接发送给对⽅主机的,⽽是先要⾃定向下将数据交付给下层协议, 最后由底层发送,然后由对⽅主机的底层来进⾏接受,在⾃底向上进⾏向上交付,下⾯是⼀张⽰意图。

六.跨网络传输

ip地址:IP 协议有两个版本, IPv4 IPv6 . 我们整个的课程, 凡是提到IP协议, 没有特殊说明的, 默认都是指 IPv4。

IP 地址是在 IP 协议中, ⽤来标识⽹络中不同主机的地址;
对于 IPv4 来说, IP 地址是⼀个 4 字节, 32 位的整数;
我们通常也使⽤ "点分⼗进制" 的字符串表⽰ IP 地址, 例如 192.168.0.1 ; ⽤点分割的每⼀个
数字表⽰⼀个字节, 范围是 0 - 255
跨⽹段的主机的数据传输. 数据从⼀台计算机到另⼀台计算机传输过程中要经过⼀个或多个路由器,所以路由器中会集成多种IP协议和网络驱动程序。

  目的IP的意义:主机发送数据到达网络层时发现目标IP不是同一局域网的,所以会把数据发送到路由器,由路由器转发到目标IP的主机。然后结合封装与解包,体现路由器解包和重新封装的特点,完整跨网发送数据的流程图:

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

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

相关文章

教育系统搭建攻略:线上知识付费与线下消课排课全解析

作为一名资深平台测评师,最近我挖到了一个教育机构的 “宝藏工具”—— 乔拓云教育系统。别看它名字低调,用起来那叫一个顺手,线上知识付费、线下消课排课全给你安排得明明白白,简直是机构老板和教务员的 “摸鱼神器”。多端口管理…

PMP项目管理知识点-①项目基本概念

目录 1.项⽬的定义 概念: 特点: 项⽬与运营的区别 项⽬特点: 运营特点: 2.项⽬管理的发展 3.项⽬、项⽬集与项⽬组合 结构层次 4.项⽬的关键组成部分 项⽬⽣命周期: 项⽬管理过程组: 项⽬阶段&…

Python内置函数全解析:30个核心函数语法、案例与最佳实践指南

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 持续学习,不断…

数据建模怎么做?一文讲清数据建模全流程

目录 一、需求分析 1. 搞清楚业务目标:这数据是要解决啥问题? 2. 明确数据边界:哪些数据该要,哪些不该要? 3. 弄明白使用场景:谁用这数据,怎么用? 二、模型设计 1. 第一步&…

胸部X光片数据集:健康及肺炎2类,14k+图像

胸部X光片数据集概述 数据集包含14090张图像,分为正常胸部X光3901张,肺炎胸部X光10189张。 标注格式:无标注,文件夹分类。 图像尺寸:640*640 正常胸部X光: 肺炎胸部X光: 数据采集: 拍摄方式:均为前后位(anterior-posterior)胸部X光,属患者常规临床护理的一部分…

MySQL數據庫開發教學(二) 核心概念、重要指令

書接上回:MySQL數據庫開發教學(一) 基本架構-CSDN博客 建議工具: Navicat Premium (收費 / 需破解):Navicat Premium | 管理和开发你的数据库 phpstudy 2018 (免費):phpStudy - Windows 一键部署 PHP 开发环境 小皮出品 前言 …

【40页PPT】数字工厂一体化运营管控平台解决方案(附下载方式)

篇幅所限,本文只提供部分资料内容,完整资料请看下面链接 https://download.csdn.net/download/2501_92808811/91716541 资料解读:【40页PPT】数字工厂一体化运营管控平台解决方案 详细资料请看本解读文章的最后内容。该资料围绕数字工厂一体…

数据产品(2)用户画像数据分析模型

目录 1 用户画像 2 RFM模型 (用户价值分群模型) 3 PSM 价格敏感度 4 精细化运营 1 用户画像 也称用户表标签,是基于用户行为分析获得的对用户的一种认知表达,即用户数据标签化,通过收集与分析用户的用户属性(年龄、性别、城市、职业、设备、状态)、用户偏好(购物偏好,听…

03_数据结构

第3课:数据结构 课程目标 掌握Python的基本数据结构:列表、元组、字典、集合学习字符串的高级操作方法理解不同数据结构的特点和适用场景 1. 列表(List) 1.1 列表的创建和基本操作 # 创建列表 fruits ["苹果", "香…

【JavaEE】多线程 -- CAS机制(比较并交换)

目录CAS是什么CAS的应用实现原子类实现自旋锁ABA问题ABA问题概述ABA问题引起的BUG解决方案CAS是什么 CAS (compare and swap) 比较并交换,CAS 是物理层次支持程序的原子操作。说起原子性,这就设计到线程安全问题,在代码的层面为了解决多线程…

The United Nations Is Already Dead

The United Nations Is Already Dead When children in Gaza rummage through rubble for food, when UN-run schools are reduced to dust, when the Security Council cannot even pass the mildest ceasefire resolution—blocked by a single veto— we must confront a br…

Kubernetes v1.34 前瞻:资源管理、安全与可观测性的全面进化

预计正式发布:2025年8月底 | 分类:Kubernetes 随着2025年8月底的临近,Kubernetes社区正紧锣密鼓地准备下一个重要版本——v1.34的发布。本次更新并非简单的功能叠加,而是在资源管理、安全身份、可观测性和工作负载控制等核心领域的…

用 Bright Data MCP Server 构建实时数据驱动的 AI 情报系统:从市场调研到技术追踪的自动化实战

前言 本文通过两个真实场景(云服务商对比与 AIGC 技术追踪),展示了如何使用 Bright Data MCP Server 与 Lingma IDE 构建一个具备实时网页数据抓取、结构化分析与自动化报告生成能力的 AI 工作流。通过简单的 API 调用与 JSON 配置&#xff…

牛顿第二定律的所有表达方式:1、线性表达 2、圆形表达 3、双曲线表达 4、抛物线表达5、数列表达

牛顿第二定律是经典力学中的核心定律,表述为:物体的加速度与所受合力成正比,与质量成反比,方向与合力方向相同。其基本矢量形式为: F⃗ma⃗ \vec{F} m \vec{a} Fma 其中,F⃗\vec{F}F 是合力(单…

【开发日记】SpringBoot 实现支持多个微信小程序的登录

在实际业务场景中,需要一个后台同时支持多个微信小程序的登录。例如,企业有多个不同业务的小程序,但希望统一在同一个后台系统里进行用户认证和数据处理。这时候,我们就需要一个灵活的方式来管理多个小程序的 appid 和 secret&…

Docker 容器(一)

Docker一、Docker是什么1.什么是Docker2.Docker特点3.比较虚拟机和容器二、Docker安装1.Docker​​三大核心组件​​2.安装步骤(Ubuntu)3.阿里云镜像加速三、Docker镜像1.什么是镜像2.UnionFS(联合文件系统)3.Docker镜像加载原理4…

容器安全实践(二):实践篇 - 从 `Dockerfile` 到 Pod 的权限深耕

在上一篇《容器安全实践(一):概念篇》中,我们深入探讨了容器安全的底层原理,并纠正了“容器天生安全”的误解。我们了解了 root 用户的双重身份,以及特权容器的危险性。 然而,仅仅了解这些概念…

c#_数据持久化

数据持久化架构 数据是应用程序的命脉。持久化架构的选择直接决定了应用的性能、可扩展性、复杂度和维护成本。本章将深入探讨.NET生态中主流的数据访问模式、工具和策略,帮助你为你的系统做出最明智的数据决策。5.1 ORM之争:Entity Framework Core深度剖…

996引擎-骰子功能

996引擎-骰子功能 测试NPC QF回调函数 结果 参考资料 在测试NPC播放骰子动画。 播放前需要先设置骰子点数 测试NPC [[骰子的显示顺序和点数 对应 私人变量 D0 D1 D2 D3 D4 D5]] -- NPC入口函数 function main(player)-- 骰子共6个,设置骰子点数后,再执行摇骰子,否则没动画…

Vue 3多语言应用开发实战:vue-i18n深度解析与最佳实践

📖 概述 Vue 3 国际化(i18n)是构建多语言应用的核心需求。本文档介绍 Vue 3 中实现国际化的主流方案,包括 vue-i18n、Vite 插件方案和自定义解决方案。 🎯 主流方案对比 方案优点缺点适用场景vue-i18n功能完整、生态成…