计算机网络(1

网络初识

目录

  • 网络初识
    • 一. 网络分类
      • 1. 局域网LAN(Local Area Network):
      • 2. 广域网WAN(Wide Area Network):
    • 二. 组建网络的基础设备
      • 1. 路由器
      • 2. 交换机
    • 三. 标识符
  • 协议 (protocol)
    • 一. 协议分层
      • 1. 分层的好处
      • 2. OSI七层分层
      • 3. TCP/IP五层模型(或四层) 模型
        • (1. 物理层(可不算)
        • (2. 数据链路层
        • (3. 网络层
        • (4. 传输层
        • (5. 应用层
      • 4. OSI 与 TCP/IP模型
    • 二. 协议层与层之间的配合
      • 封装分用
        • (1. 封装操作
        • (2. 分用操作

一. 网络分类

1. 局域网LAN(Local Area Network):

若干个电脑, 连接到一起, 通过路由器进行组网;

2. 广域网WAN(Wide Area Network):

把很多的局域网进一步相连, 构成更复杂的网络体系;

二. 组建网络的基础设备

专门岗位: 网络管理员

1. 路由器

  • 路由器是一种网络设备,用于在不同网络之间传输数据包。它能够识别网络中的不同设备,并根据目标地址将数据包转发到正确的目标网络。
  • 路由器工作在网络层(OSI模型中的第三层),能够实现网络之间的连接和通信。
  • 它具有查找路由表、选择最佳路径、转发数据包等功能,使得数据能够在不同网络之间进行传输。

2. 交换机

  • 交换机是一种局域网设备,用于连接多台计算机并在它们之间传输数据。它能够识别连接到其端口的设备,并根据MAC地址转发数据包到正确的目标设备。
  • 交换机工作在数据链路层(OSI模型中的第二层),能够在局域网内部实现设备之间的快速数据交换。
  • 它具有学习MAC地址、构建转发表、实现数据的无碰撞转发等功能,使得局域网内的数据传输更加高效可靠。

三. 标识符

IP地址: 区分主机;
端口号: 区分主机商不同的程序或服务;

协议 (protocol)

通信双方, 对于通信规则一定双方认可的约定.
例如: 螺丝和螺帽, USB接口规格, 瓶盖规格, 语言的交流.

进行网络通信的时候, 一定需要网络协议.

  • 因为两个通信的主机设备, 不同的硬件, 不同的操作系统需要协议整合.

一. 协议分层

  • 当单个的东西很复杂, 就拆分成多个部分, 部分太多的话就进行分类, 分类要解耦合.

1. 分层的好处

  • 达到封装的效果
    某一层协议, 不必知道其他层协议的细节, 降低学习使用的成本.

  • 任意层次的协议, 都可以灵活替换, 给整个网络体系, 升级迭代, 带来了很大的便利 ---- 解耦合.

2. OSI七层分层

OSI: 即 Open Sysrem Interconnection, 开放系统互连.
客观世界中不存在的.
在这里插入图片描述

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

OSI的简化, 即真实时间采取的网络分层模型.
目前能接触到的网络, 大部分都是 TCP/IP模型.
在这里插入图片描述

(1. 物理层(可不算)

硬件层面, 网线, 网口, 与数据链路层关系紧密.

(2. 数据链路层

关注的是, 通信过程中, 两个相邻节点之间的通信.

(3. 网络层

关注的是通信路径的规划, 数据要经过哪些节点.

(4. 传输层

关注的是通信双方的 “起点” 和 “终点”, 端到端的传输.

(5. 应用层

与具体 程序 直接相关, 传输数据的用途.
将 应用层, 表示层, 会话层 合并.

4. OSI 与 TCP/IP模型

在这里插入图片描述

下四层的协议都是系统内核实现好的.
对于JAVA程序员, 重点关注的就是 应用层 + 传输层.

笔试题(选择):
路由器, 是工作在上述协议的哪一层;
交换机, 是工作在上述协议的哪一层;

路由器工作在网络层 (三层转发);
交换机工作在数据链路层 (二层转发);

但是现在不断完善路由器和交换机的功能, 界限也越来越模糊了, 有些 路由器/交换机 能工作在应用层.

二. 协议层与层之间的配合

协议的层与层之间
上层协议调用下层协议,
下层协议给上层提供服务.

封装分用

(1. 封装操作

网络上数据的传输, 本质上是(二进制 bit 流)字符串.
因此, 要传输的发送人, 接收人, 消息时间, 内容 都要组织到一个字符串内. 组织的时候需要一定的格式, 不同的协议, 数据组织的格式是不同的.

我们所发的信息本身是一个结构化数据(包含很多属性),需要先转成字符串.

  • 序列化: 结构化数据 ==> 字符串/二进制字符串.
  • 反序列化: 字符串/二进制字符串 ==> 结构化数据.
  1. 创建应用层数据包

    当应用层数据包有了之后, 程序就要调用系统的 api 让应用程序去调用.接着把应用层数据交给传输层.
    在这里插入图片描述

  2. 传输层拿到应用层数据包
    典型的协议有两个: “TCP, UDP”
    进一步封装数据包, 构造成传输层数据包. 在传输层.

  • UDP 数据包
    在这里插入图片描述
    TCP同上
    报头中则放入的是 UDP的相关属性, 比如发件人和收件人的端口号;
    后面的则是 UDP 数据包的载荷(payload);
    进一步调用网络层的api, 把上述的 IP数据包, 交给网络层协议;
  1. 网络层拿到数据包
    典型的协议: “IP协议”
  • IP 数据包
    在这里插入图片描述
    IP报头包含 收件人的IP地址 和 发件人的IP地址;
    IP报头后则是IP数据包的载荷;
    此时还是在此台机器上进行操作;
    之后进一步调用数据链路层的api, 把上述的 IP数据包, 交给数据链路层协议;
    这里的 api 往往是网卡的驱动程序提供的.
  1. 数据链路层拿到数据包
    典型协议: “以太网”
    “以太” 的原本是 物理学中 被称作 真空中光传播的介质, 此处传输网络数据也需要介质, 则把这个名称拿来用了.
    我们电脑通过有线网传输数据的协议, 就是 “以太网” 协议, 网线则被称作 “以太网线”.
  • 以太网数据帧
    在这里插入图片描述
    上述的以太网数据帧, 本质上还是二进制数据.
  1. 物理层
    硬件设备
    硬件设备把上述的二进制数据转换成 光信号/电信号/电磁波 才会真正的发射.

    发射后也并非直接从 A 到达 B , 而是先到达与A 相连的交换机/路由器.
    数据经过 交换机/路由器 一系列转发后, 最终到达 B

上述层层包装数据, 不同的添加数据报头的过程, 被称为 “封装”

(2. 分用操作

B 方操作

  1. 物理层
    收到一系列光信号, 把这些信号转换成二进制数据, 交给数据链路层

  2. 数据链路层 (以太网协议)
    按照以太网协议, 对数据进行解析(解析报头关键信息, 为后续传输和转发打下基础, 拿到数据载荷数据).
    在这里插入图片描述

  3. 网络层 (IP 协议)
    IP协议拿到IP数据包, 按照协议格式进一步解析, 解析报头中的关键信息, 取出载荷, 把载荷再交给传输层.
    在这里插入图片描述

  4. 传输层 (UDP/TCP)
    在这里插入图片描述

  5. 应用层
    程序拿到应用数据包
    在这里插入图片描述
    按照程序的协议格式, 进行解析(反序列化), 拿到这里的结构化数据, 显示到界面上.

中间的路由器, 交换机也会进行封装分用, 不过交换机封装分用到数据链路层, 即可知道下一步如何转发了, 路由器, 封装分用到网络层, 即可知道下一步如何转发了


完…

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

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

相关文章

Windows hook介绍与代码演示

Windows Hook 是一种机制,允许应用程序监视系统或处理特定事件。它可以拦截和更改消息,甚至可以插入到其他应用程序的消息处理机制中。Windows 提供了多种挂钩类型,例如键盘挂钩、鼠标挂钩、消息挂钩等。 hook代码实现 下面是一个使用 Wind…

OS复习笔记ch7-1

存储的基本管理需求 重定位 重定位(Relocation):需要解决可执行文件中地址(指令和数据)和内存地址的对应。 一般有两种比较常见的重定位方式: 静态重定位(static relocation):当程序被装入内存时,一次性…

【头歌】计算机网络DHCP服务器配置第四关配置路由器子接口答案

头歌计算机网络DHCP服务器配置第四关配置路由器子接口操作步骤 任务描述 本关任务:配置路由器的子接口。 操作要求 在第一关的拓扑图的基础上,配置路由器及 PC 机,具体要求如下: 1、打开路由器物理接口 F0/0 ; 2、配置…

NSSCTF中的pop、babyupload、cve版本签到、奇妙的MD5、easy_html

目录 [SWPUCTF 2021 新生赛]pop [NISACTF 2022]babyupload ​编辑[GKCTF 2020]cve版签到 [SWP5UCTF 2022 新生赛]奇妙的MD5 [HNCTF 2022 Week1]easy_html 今日总结&#xff1a; [SWPUCTF 2021 新生赛]pop 1.代码审计 <?phperror_reporting(0); show_source("…

装机必备——360压缩安装教程

装机必备——360压缩安装教程 软件下载 软件名称&#xff1a;360压缩 软件语言&#xff1a;简体中文 软件大小&#xff1a;3.38M 系统要求&#xff1a;Windows7或更高&#xff0c; 32/64位操作系统 硬件要求&#xff1a;CPU2GHz &#xff0c;RAM4G或更高 下载通道①迅雷云盘丨…

DINO结构中的exponential moving average (ema)和stop-gradient (sg)

DINO思路介绍 在 DINO 中&#xff0c;教师和学生网络分别预测一个一维的嵌入。为了训练学生模型&#xff0c;我们需要选取一个损失函数&#xff0c;不断地让学生的输出向教师的输出靠近。softmax 结合交叉熵损失函数是一种常用的做法&#xff0c;来让学生模型的输出与教师模型的…

Docker安装Oracle11g数据库

操作系统&#xff1a;centOS9使用此方法检查是否安装Docker&#xff1a;docker --help&#xff0c;如果有帮助文件则证明安装成功使用此语句检查Docker是否正在运行&#xff1a;docker images&#xff0c;实际上是查看本地镜像如果发现未运行则开启Docker&#xff1a;systemctl…

MyCat2之安装与配置文件介绍

安装 1.新建文件夹tools mkdir tools&#xff0c;并进入tools 2.下载MaCat wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip wget http://dl.mycat.org.cn/2.0/1.21-release/mycat2-1.21-release-jar-with-dependencies.jar 3.解压zip u…

怎样打造一份个性化画册呢?我来教你

在这个数字化的时代&#xff0c;传统的照片已经不能满足我们对个性化回忆的需求。个性化画册&#xff0c;不仅能够承载我们的记忆&#xff0c;还能展现自我风格。今天&#xff0c;就让我来教你如何打造一份属于自己的个性化画册。 1.要制作电子杂志,首先需要选择一款适合自己的…

kafka3.6.1版本学习

kafka目录结构 bin linux系统下可执行脚本文件 bin/windows windows系统下可执行脚本文件 config 配置文件 libs 依赖类库 licenses 许可信息 site-docs 文档 logs 服务日志 启动ZooKeeper 进入Kafka解压缩文件夹的config目录&#xff0c;修改zookeeper.properties配置文件 #t…

【吊打面试官系列】Java高并发篇 - Java 死锁以及如何避免?

大家好&#xff0c;我是锋哥。今天分享关于 【Java 死锁以及如何避免&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; Java 死锁以及如何避免&#xff1f; Java 中的死锁是一种编程情况&#xff0c;其中两个或多个线程被永久阻塞&#xff0c;Java 死锁情况出现至…

【每日刷题】Day50

【每日刷题】Day50 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 654. 最大二叉树 - 力扣&#xff08;LeetCode&#xff09; 2. 119. 杨辉三角 II - 力扣&#xff08…

MATLAB system identification系统辨识app的使用

系统辨识 前言系统辨识第一步 选取时域数据到app第二步 分割数据第三步 设置传递函数的参数第四步 Estimate第五步 结束 前言 接上节&#xff1a;simulink-仿真以及PID参数整定 系统模型的辨识工作&#xff0c;在控制领域&#xff0c;一般用于开发控制器的先手工作。一般而言…

调整图片和表格尺寸的命令:resizebox

\resizebox 是 LaTeX 中的一个命令&#xff0c;用于调整插入的内容&#xff08;如图像、表格、文本等&#xff09;的大小。它的语法如下&#xff1a; \resizebox{<width>}{<height>}{<content>}其中&#xff1a; <width> 和 <height> 分别表示…

IDEA提示Untrusted Server‘s certificate

如果你用的是Intellij系列IDE&#xff08;GoLand, PHPStorm, WebStorm, IDEA&#xff09;&#xff0c;突然弹出个提示『Untrusted Servers certificate 』 莫慌&#xff0c;这是因为你用了破解版的 IDE&#xff0c;破解过程中有个hosts绑定的操作&#xff1a; 0.0.0.0 account.…

代数拓扑学

啊&#xff0c;哈喽&#xff0c;小伙伴们大家好。我是#张亿&#xff0c;今天呐&#xff0c;学的是代数拓扑学 代数拓扑学是拓扑学中主要依赖 [1]代数工具来解决问题的一个分支。同调与同伦的理论是代数拓扑学的两大支柱&#xff08;见同调论&#xff0c;同伦论&#xff09;。 …

K8s集群调度续章

目录 一、污点&#xff08;Taint&#xff09; 1、污点&#xff08;Taint&#xff09; 2、污点组成格式 3、当前taint effect支持如下三个选项&#xff1a; 4、查看node节点上的污点 5、设置污点 6、清除污点 7、示例一 查看pod状态&#xff0c;模拟驱逐node02上的pod …

消费增值的真面目!绿色积分的合理运用!

各位朋友&#xff0c;大家好&#xff01;我是吴军&#xff0c;来自一家备受瞩目的软件开发企业&#xff0c;担任产品经理一职。今天&#xff0c;我非常荣幸能有机会与大家分享一种在市场上备受瞩目的新型商业模式——消费增值模式。 随着环保和可持续发展理念日益深入人心&…

对象解构与迭代器的猫腻?

前言 变量的解构赋值是前端开发中经常用到的一个技巧&#xff0c;比如&#xff1a; // 对象解构 const obj { a: 1, b: 2 }; const { a, b } obj; console.log(a, b)数组解构 const arr [1, 2, 3]; const [a, b] arr; console.log(a, b)工作中我们最经常用的就是类似上面…

轻松拿捏C语言——自定义类型之【结构体】

&#x1f970;欢迎关注 轻松拿捏C语言系列&#xff0c;来和 小哇 一起进步&#xff01;✊ &#x1f389;创作不易&#xff0c;请多多支持&#x1f389; &#x1f308;感谢大家的阅读、点赞、收藏和关注&#x1f495; &#x1f339;如有问题&#xff0c;欢迎指正 1. 结构体类型的…