当前位置: 首页 > news >正文

【计算机网络】计算机网络基础二

🍑个人主页:Jupiter.
🚀 所属专栏:Linux从入门到进阶
欢迎大家点赞收藏评论😊

在这里插入图片描述

在这里插入图片描述

目录

    • `以太网的通信原理`
    • `令牌环网的通信原理`
    • `网络传输基本流程 `
      • `数据包封装和分用 `
        • `网络传输流程图 `
        • `局域网通信(同一个网段内的两台主机进行文件传输)`
        • `跨网络转发`
      • `网络中的地址管理`
            • `对比 IP地址和 Mac地址的区别`
            • `提炼 IP网络的意义和网络通信的宏观流程`


以太网的通信原理

  • 载波侦听
    • 在发送数据之前,设备会不断监听传输介质(如电缆或光纤)上的信号。
    • 如果没有检测到活动的信号,即介质被认为是空闲的,设备就可以开始发送数据。
  • 冲突检测(数据碰撞)
    • 在发送数据的过程中,设备会同时监测传输介质上的信号。
    • 如果检测到冲突,即多个设备同时发送数据导致信号的干扰,设备会立即中止发送,并发送一段短的干扰信号(称为“冲突信号”)来通知其他设备发生了冲突。(一个局域网一般叫做碰撞域,在一个局域网中,同一时刻只允许一台主机向碰撞域中发送数据)
  • 退避与重传
    • 当设备检测到冲突后,会随机选择一个退避时间(这个时间根据设备的优先级来确定,优先级高的设备等待时间较短)。
    • 在退避时间结束后,设备会重新尝试发送数据。
  • 局域网本质是一个临界资源,只是不是通过加锁实现的,是通过冲突检测和退避与重传实现的。
  • 如果想要黑掉一个局域网,只需要向局域网中不断发送垃圾数据,让其造成一直数据碰撞。

令牌环网的通信原理

令牌环网的通信原理主要基于一个称为“令牌”的特殊控制帧来管理网络中数据的传输。以下是令牌环网通信原理的详细解释:

  • 网络拓扑结构
    • 令牌环网采用环形拓扑结构,所有的计算机或工作站通过物理或逻辑的连接线路连接成一个环形结构。在这种结构中,数据沿着环形网络从一个工作站传递到另一个工作站,形成一个闭环。
  • 令牌传递机制
    • 令牌的产生与传递:网络中有一个特殊的帧,即“令牌”,它在环中不断地单向传递。令牌通常处于空闲状态,表示网络上的任何工作站都可以使用网络进行数据传输。
    • 等待令牌:当某个工作站想要发送数据时,它必须等待令牌的到来。只有持有令牌的工作站才有权发送数据帧。
    • 发送数据:当工作站收到令牌并检测到其处于空闲状态时,该工作站可以将令牌的状态改为忙,并附加上要发送的数据,从而将数据帧发送到环中。
  • 数据帧的传输与接收
    • 数据帧的传输:数据帧沿着环形网络继续传递,每个工作站接收到数据帧后都会检查其目的地址。
    • 如果目的地址与工作站自己的地址不匹配,工作站将数据帧原封不动地转发给下一个工作站。
    • 如果目的地址与工作站的地址匹配,该工作站会复制数据帧的内容,并将其从网络上移除,同时处理接收到的数据。
    • 数据帧的确认:发送数据的工作站在数据帧完成一圈并返回时,会检查确认信息,以确保数据被正确接收。
  • 令牌的回收与再生
    • 数据帧的移除与令牌恢复:一旦数据帧被接收并验证无误,原始发送工作站会从网络上移除该数据帧,并重新生成一个空闲状态的令牌,以便其他工作站可以使用。
    • 令牌的继续传递:恢复空闲状态的令牌将继续在环中传递,为下一个想要发送数据的工作站提供机会。
  • 冲突解决与数据完整性
    • 冲突解决:由于令牌环网采用令牌传递机制,因此网络中不会出现多个工作站同时发送数据导致的冲突问题。这种机制确保了数据传输的公平性和有序性。
    • 数据完整性:为了确保数据在环中传输的完整性,每个数据帧都会在传输过程中逐跳检验。如果检验发现错误,数据帧将被丢弃,并由发送节点重发。
  • 令牌环网的特点
    • 同一时刻,环上只有一个数据帧在传输(即只有一个节点在传输数据)。

网络传输基本流程

数据包封装和分用

  • 不同的协议层对数据包有不同的称谓,在应用层叫request/response,在传输层叫做数据段,在网络层叫做数据报,在链路层叫做数据帧
  • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header)(协议报头),称为封装。除去每一层的协议报头,剩余的叫叫做有效载荷
  • 首部信息中包含了一些类似于首部有多长, 载荷有多长, 上层协议是什么等信息。
  • 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部(报头与有效载荷分离), 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理,称为解包与分用

下图为数据封装的过程

下图为数据分用的过程

网络传输流程图

在这里插入图片描述

局域网通信(同一个网段内的两台主机进行文件传输)

在这里插入图片描述
在这里插入图片描述

跨网络转发

跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器.
在这里插入图片描述

网络中的地址管理

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

  • IP地址是在IP协议中, 用来标识网络中不同主机的地址;
  • 对于IPv4来说, IP地址是一个4字节, 32位的整数;
  • 我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

认识MAC地址

  • MAC地址用来识别数据链路层中相连的节点;
  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址).

后面我们详细谈论数据链路层的时候,会谈 mac帧协议,此处我们做一个了解即可。
在这里插入图片描述
局域网通信的过程中,主机对收到的报文确认是否是发给自己的,是通过目标mac地址判定。

对比 IP地址和 Mac地址的区别
  • IP地址在整个路由过程中,一直不变(目前,我们只能这样说明,后面在修正)
  • Mac地址一直在变

目的 IP是一种长远目标,Mac是下一阶段目标,目的 IP是路径选择的重要依据,mac地址是局域网转发的重要依据。

提炼 IP网络的意义和网络通信的宏观流程

在这里插入图片描述


相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java Web服务运行一段时间后出现cpu升高导致的性能下降问题排查
  • C++ std::find函数 容器元素查找
  • PHP智慧教育新篇章优校管理系统小程序源码
  • 适用于QF的存档系统
  • python是什么语言写的
  • Go语言并发模式详解:深入理解管道与上下文的高级用法
  • Android-UI设计
  • 数据结构与算法 #时间复杂度 #空间复杂度
  • 可智能生成刺绣图案!武汉纺织大学可视计算与数字纺织团队发布首个多缝线刺绣生成对抗网络模型,被顶级期刊 TVCG 录用
  • 《重生之我在java世界做任务升级》--第二章
  • 机器学习及其应用领域【金融领域】
  • 算法导论——Data Structures and Dynamic Arrays 笔记
  • 进度调度切换
  • HTML+CSS学习笔记
  • Elasticsearch——介绍、安装与初步使用
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【知识碎片】第三方登录弹窗效果
  • ECS应用管理最佳实践
  • Java多线程(4):使用线程池执行定时任务
  • node.js
  • Python 基础起步 (十) 什么叫函数?
  • Redis 中的布隆过滤器
  • STAR法则
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • windows下mongoDB的环境配置
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 码农张的Bug人生 - 初来乍到
  • 前端性能优化--懒加载和预加载
  • 日剧·日综资源集合(建议收藏)
  • 如何选择开源的机器学习框架?
  • 收藏好这篇,别再只说“数据劫持”了
  • 写代码的正确姿势
  • hi-nginx-1.3.4编译安装
  • PostgreSQL之连接数修改
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • (1)SpringCloud 整合Python
  • (2024)docker-compose实战 (8)部署LAMP项目(最终版)
  • (C语言)二分查找 超详细
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (离散数学)逻辑连接词
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (七)Java对象在Hibernate持久化层的状态
  • (学习总结16)C++模版2
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET 中的轻量级线程安全
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NET技术成长路线架构图
  • .net生成的类,跨工程调用显示注释
  • [ Linux Audio 篇 ] 音频开发入门基础知识