计算机网络(1

news2024/11/19 0:25:21

网络初识

目录

  • 网络初识
    • 一. 网络分类
      • 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.coloradmin.cn/o/1692338.html

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

相关文章

全栈式数据统计:SqlAlchemy怎样连接MsSql Server获取视图列表

1.源代码 #-----------获取数据库视图列表----------------------------- # -------密码含特殊字符使用 from urllib.parse import quote_plus as urlquotefrom sqlalchemy import create_engine, MetaData, inspect# 替换为你的数据库连接字符串 DRIVER "ODBC Driver 1…

Gin与OpenAPI(Swagger)的使用

一、背景 1、swagger与openapi Swagger: 一种用于描述RESTFUL API的规范,它提供了一种简单的来描述API的请求和相应参数、错误码、返回数据类型等信息,是开发者可以方便了解API使用方式。 官网: https://swagger.io/ OpenAPI : 始于 …

Excel透视表:快速计算数据分析指标的利器

文章目录 概述1.数据透视表基本操作1.1准备数据:1.2创建透视表:1.3设置透视表字段:1.4多级分类汇总和交叉汇总的差别1.5计算汇总数据:1.6透视表美化:1.7筛选和排序:1.8更新透视表: 2.数据透视-数…

经典单链表OJ题

目录 1、轮转数组 2、返回倒数第k个节点 3、判断链表的回文结构 4、两个链表,找出它们的第一个公共结点 5、随机链表的复制 6、判断链表中是否有环 7、返回链表开始入环的第一个节点 1、轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k…

Influence blocking maximization on networks: Models, methods and applications

abstract 由于各种社会和贸易网络的不断出现,网络影响力分析引起了研究者的极大兴趣。基于不同的影响力传播模型,人们提出了许多网络影响力最大化的新模型和方法。作为传统影响力最大化问题的延伸和扩展,影响力封锁最大化问题已成为研究热点&…

Python文件和数据格式化-课后作业[python123题库]

文件和数据格式化-课后作业 一、单项选择题 1、文件句柄f,以下是f.seek(0)作用的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪…

spring cache(三)集成demo

一、demo 1、pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

银河麒麟服务器系统xshell连接之后主动断开,报错socket error event:32 Error:10053问题分析

银河麒麟服务器系统xshell连接之后主动断开&#xff0c;报错socket error event&#xff1a;32 Error&#xff1a;10053问题分析 一 问题描述二 系统环境三 问题分析3.1 与正常机器对比sshd文件内容以及文件权限3.2 检查同网段内是否配置多个相同的IP地址 四 后续建议 一 问题描…

每日一题《leetcode--398.随机数索引》

https://leetcode.cn/problems/random-pick-index/ 根据题目所知&#xff0c;所给的数组中有重复的元素。让我们随机输出给定的目标数字的下标索引。 typedef struct {int *sum;int length; } Solution;Solution* solutionCreate(int* nums, int numsSize) {Solution* obj (So…

数美滑块研究

周一&#xff0c;在清晨的阳光照耀下&#xff0c;逆向山脚下的小镇宁静而安详。居民们忙碌地开始一天的生活&#xff0c;而在爬虫镇子的边缘&#xff0c;一座古朴的道观显得格外神秘。 阿羊正静静地坐在青石长凳上&#xff0c;摸鱼养神。突然&#xff0c;一道清脆的声音在他耳…

【Arthas】阿里的线上jvm监控诊断工具的基本使用

关于对运行中的项目做java监测的需求下&#xff0c;Arthas则是一个很好的解决方案。 我们可以用来 1.监控cpu 现成、内存、堆栈 2.排查cpu飚高 造成原因 3.接口没反应 是否死锁 4.接口慢优化 5.代码未按预期执行 是分支不对 还是没提交&#xff1f; 6.线上低级错误 能不能不重启…

Go语言的构建标签(build tag)有何用途?

文章目录 原因解决方案示例代码总结 Go语言的构建标签&#xff08;Build Tags&#xff09;有何用途&#xff1f; 在Go语言中&#xff0c;构建标签&#xff08;Build Tags&#xff09;是一种特殊的注释&#xff0c;它用于控制Go编译器在构建代码时是否包含某些文件。这些标签可…

网页上的超链接复制到Excel中+提取出网址+如何保存

定义 超链接网页标题地址栏 使用的工具 2024年的WPS是不行的&#xff0c; 如果把知乎网页上的超链接复制到WPS中的Excel中&#xff0c;就会丢掉地址&#xff0c;只剩下网页标题 具体操作&#xff08;转载,在Excel2013上验证可行&#xff09; [1]启用【开发工具】&#xff…

HTTP content-type MIME 类型(IANA 媒体类型)

Content-Type(MediaType)&#xff0c;即是Internet Media Type&#xff0c;互联网媒体类型&#xff0c;也叫做MIME类型。在互联网中有成百上千中不同的数据类型&#xff0c;HTTP在传输数据对象时会为他们打上称为MIME的数据格式标签&#xff0c;用于区分数据类型。最初MIME是用…

【老王最佳实践-6】Spring 如何给静态变量注入值

有些时候&#xff0c;我们可能需要给静态变量注入 spring bean&#xff0c;尝试过使用 Autowired 给静态变量做注入的同学应该都能发现注入是失败的。 Autowired 给静态变量注入bean 失败的原因 spring 底层已经限制了&#xff0c;不能给静态属性注入值&#xff1a; 如果我…

【Linux学习】深入探索进程等待与进程退出码和退出信号

文章目录 退出码return退出 进程的等待进程等待的方法 退出码 main函数的返回值&#xff1a;进程的退出码。 一般为0表示成功&#xff0c;非0表示失败。 每一个非0退出码都表示一个失败的原因&#xff1b; echo $&#xff1f;命令 作用&#xff1a;查看进程退出码。&#xf…

工具推荐:市面上有哪些带有ai问答机器人的SaaS软件

众所周知&#xff0c;SaaS&#xff08;软件即服务&#xff09;模式下的AI问答机器人已经逐渐成为企业、个人在办公、生活和学习中的辅助工具。ai问答机器人凭借高效、便捷、智能的特点&#xff0c;为用户提供了全新的交互体验。本文将推荐几款市面上好用的带有ai问答机器人的Sa…

2024年助贷CRM系统服务商汇总

数字化金融时代&#xff0c;助贷行业的发展呈现出蓬勃的态势。从各大助贷管理系统服务商的纷纷登场&#xff0c;为助贷行业提供了全方位的数字化解决方案。这些系统不仅助力企业实现业务线上化、透明化和合规化&#xff0c;更在助贷服务的专业化和贴心化上发挥着重要作用。以下…

【带你学AI】基于PP-OCR和ErnieBot的字幕提取和智能视频问答

前言 本次分享将带领大家从 0 到 1 完成一个基于 OCR 和 LLM 的视频字幕提取和智能视频问答项目&#xff0c;通过 OCR 实现视频字幕提取&#xff0c;采用 ErnieBot 完成对视频字幕内容的理解&#xff0c;并回答相关问题&#xff0c;最后采用 Gradio 搭建应用。本项目旨在帮助初…

UE5 像素流web 交互2

进来点个关注不迷路谢谢&#xff01; ue 像素流交互多参数匹配 主要运用像素流的解析json 状态&#xff1a; 测试结果&#xff1a; 浏览器控制台&#xff1a; 接下来编写事件传递 关注下吧&#xff01;