初识网络基础知识

news2024/11/25 15:43:15
关于网络的一些核心概念
局域网

局域网(Local Area Network,简称LAN)是一种计算机网络,覆盖的范围通常是相对较小的地理区域,比如一个办公室、一栋大楼或一个校园。

局域网的组成通常包括以下部分:

  • 网络硬件:如交换机、路由器、集线器、网桥、中继器等。
  • 传输介质:如双绞线、同轴电缆、光纤、无线信号等。
  • 网络协议:如以太网(Ethernet)、Wi-Fi、蓝牙等。
  • 服务器和工作站:服务器提供网络服务和资源,工作站是用户使用的设备,如个人电脑、打印机等。
广域网

广域网(Wide Area Network,简称WAN)是一种覆盖较广地理区域的计算机网络,通常跨越城市、地区甚至国家。与局域网相比,广域网的覆盖范围更广、传输速率较低、时延较高,但能够连接不同地理位置的用户和设备。广域网可以理解成是许多局域网连接在一起,以下是广域网的一些主要特点和组成:

  1. 网络硬件:包括路由器、交换机、网关、调制解调器等设备,用于连接和传输数据。

  2. 传输介质:可以是电话线、光纤、卫星链路、无线信号等,用于传输数据。

  3. 网络协议:广域网使用多种协议来管理数据传输和网络连接,如TCP/IP、IPX、BGP等。

  4. 服务提供商:通常由电信运营商、互联网服务提供商(ISP)等提供网络服务和连接。

  5. 服务器和终端设备:服务器提供数据存储和处理服务,终端设备如个人电脑、移动设备等用于访问网络资源。

路由器:

路由器是一种网络设备,主要用于连接不同的网络,并在这些网络之间转发数据包。它在计算机网络中扮演着“交通警察”的角色,确保数据能够正确地从源地址传输到目的地址。以下是路由器的一些关键特性和功能:

基本功能

  1. 路由选择:路由器能够根据网络的拓扑结构和路由协议决定数据包的最佳传输路径。

  2. 数据转发:路由器将接收到的数据包转发到下一个路由器或目的主机。

  3. 网络隔离:路由器可以隔离不同的网络,提供一定程度的安全保护。

  4. 流量控制:路由器可以控制网络流量,平衡负载,提高网络效率。

组成

  1. 输入端口:用于接收来自不同网络的数据包。
  2. 输出端口:用于将数据包发送到下一个路由器或目的主机。
  3. 路由表:存储路由信息,指导数据包的转发。
  4. 控制软件:管理路由器的路由选择和数据转发等功能。

IP地址:

IP地址是用来标识网络上一个设备的位置,通过这个位置找到这个设备,进行进一步的通信,IP地址是32位整数(IPV4),IP地址是四个字节的数字,往往"采用点分十进制"方式来表示IP地址,使用三个.分成四个部分,每个部分表示一个字节,每个部分都表示0-255

端口号

端口号是用来标识不同的应用程序,要求每个程序启动的时候,要关联上一个不和别人重复的端口号,端口号是区分在一个主机上不同程序之间,而不是区分不同主机上的不同程序,一个主机上有0-65535个端口,2个字节

TCP/IP模型(实际用最多)
  1. 物理层(Physical Layer, Layer 1)

    • 负责在物理媒介上传输原始的比特流(0和1)。
    • 涉及电气信号、光信号等,以及物理设备如电缆和连接器。
    • 网线网口之类的东西,硬件层面上的相关约定
  2. 数据链路层(Data Link Layer, Layer 2)

    • 负责在相邻网络设备之间传输帧(frame)。
    • 提供错误检测和纠正,确保数据的可靠传输。
    • 涉及MAC地址和错误控制机制。
    • 关注的是相邻设备之间的通信
  3. 网络层(Network Layer, Layer 3)

    • 负责在源主机和目的主机之间选择数据传输路径。
    • 处理数据包在整个网络中的路由选择。
    • 涉及IP地址和路由协议。
    • 关注的是通信中,通信路径的规划,数据要经过哪些节点
  4. 传输层(Transport Layer, Layer 4)

    • 负责提供端到端的数据传输服务。
    • 确保数据的完整性和可靠性。
    • 涉及TCP(传输控制协议)和UDP(用户数据报协议)。
    • 关注的是通信双方的起点和终点
  5. 应用层(Application Layer, Layer 7)

    • 为应用软件提供网络服务。
    • 直接为用户的应用进程提供支持,如HTTP、FTP、SMTP等。
    • 和具体应用程序直接相关,传输的数据是干啥用的,如何使用
OSI模型(理论存在)
  1. 物理层(Physical Layer, Layer 1)

    • 负责在物理媒介上传输原始的比特流(0和1)。
    • 涉及电气信号、光信号等,以及物理设备如电缆和连接器。
  2. 数据链路层(Data Link Layer, Layer 2)

    • 负责在相邻网络设备之间传输帧(frame)。
    • 提供错误检测和纠正,确保数据的可靠传输。
    • 涉及MAC地址和错误控制机制。
  3. 网络层(Network Layer, Layer 3)

    • 负责在源主机和目的主机之间选择数据传输路径。
    • 处理数据包在整个网络中的路由选择。
    • 涉及IP地址和路由协议。
  4. 传输层(Transport Layer, Layer 4)

    • 负责提供端到端的数据传输服务。
    • 确保数据的完整性和可靠性。
    • 涉及TCP(传输控制协议)和UDP(用户数据报协议)。
  5. 会话层(Session Layer, Layer 5)

    • 负责建立、管理和终止应用程序之间的会话。
    • 控制两个通信系统之间的数据流。
  6. 表示层(Presentation Layer, Layer 6)

    • 负责数据的表示、编码和转换。
    • 确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。
    • 涉及数据格式转换、数据加密和压缩。
  7. 应用层(Application Layer, Layer 7)

    • 为应用软件提供网络服务。
    • 直接为用户的应用进程提供支持,如HTTP、FTP、SMTP等。

OSI模型将应用层分为会话层和表示层,这张图表示OSI模型 和TCP/IP模型之间的对应关系

关于协议的层和层之间是如何配合工作的? 

上层协议调用下层协议,下层协议给上层协议提供服务,主要通过封装(不是Java面向对象的封装),分用

举个栗子,来进行理解一下

我们日常使用的QQ发送消息,假如A要给B发送一个hello首先要在聊天界面输入hello,然后点击发送,此时QQ程序就要完成上述逻辑,通过网络来进行传输,QQ应用程序首先会将上述内容打包成一个应用层数据包,QQ内部会有一个应用层网络协议(包含了数据按照什么样的格式来进行组织),网络上传输的数据本身就是二进制字符串,更准确说是二进制的bit流,因此组织的时候要按照协议的格式来进行组织.

1)应用层协议假设QQ的应用层协议是这样的,四个信息分别是发送人,接收人的账号和发送时间及正文,中间用,分开,使用\n作为结束标志,

结构化数据(包含很多字段,属性),把结构化数据=>字符串/二进制数据称为"序列化",字符串/二进制数据=>结构化数据称为"反序列化"

2)传输层协议,此时已经拥有了应用层数据包,把QQ程序调用操作系统的api,应用层要把数据交给传输层(操作系统内核提供api,socket api),传输层拿到应用层数据包之后,就会把这个数据包进行进一步的封装,构造出传输层数据包,此时传输层典型协议有两个TCP,UDP,此处假设使用UDP作为传输协议,UDP报头中存储着一些固定的属性比如发送人和接收人的端口号,后半部分是UDP数据包的载荷

3)网络层协议,传输层构造好数据包之后,就会把数据包交给网络层,传输协议调用网络层的api,典型协议是IP协议,IP只关心报头中的数据,不关心载荷的数据,IP报头中包含了收件人和发件人的IP地址,有进一步调用数据链路层的api(往往是网卡的驱动程序提供的),把IP数据包交给数据链路层协议

4)数据链路层协议,典型协议以太网,电脑,通过有线网传输数据,就是以太网协议,网线称为以太网线,以太网也有自己的数据包格式,对上述的IP数据包进行进一步封装 

5)物理层,上述以太网数据帧,本质上还是0101二进制数据,硬件设备把上述二进制数据,转化成光信号/电信号/电磁波,才会真正发射.

上述层层包装数据,不停的加数据报头的过程,称为"封装",

上述数据,并非是直接到达B,而是要先到和A连接的交换机/路由器,数据经过交换机/路由器一系列转化之后到达B,当数据到达B之后,就是对上述过程的逆过程,到达每一层就按照当前这层的协议对报头进行数据解析,为后续传输/转化大小基础,从而拿到载荷数据,将每一次的载荷数据在交给上层,此时上层都会根据当前这个协议的格式,对数据进行解析,再将载荷继续交给上一层,此时这个过程就称为分用,

路由器封装分用到网络层,交换机封装分用到数据链路层

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

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

相关文章

Docker Desktop Windows 目录介绍

D:\docker\DockerDesktopWSL\main\ext4.vhdx 和 D:\docker\DockerDesktopWSL\data\ext4.vhdx 是 Docker Desktop 在 Windows Subsystem for Linux(WSL)中使用的虚拟硬盘文件,它们有不同的用途和作用。 虚拟硬盘文件(VHDX&#xf…

生成式多模态之AE DAE/MAE VAE VQ-VAE/VQ-VAE2

目录 1. AE2. DAE/MAE3. VAE4. VQ-VAE/VQ-VAE2生成式多模态发展主要历程 年份1月2月3月4月5月6月7月8月9月10月11月2020DETRDDPMDDIM、VisionTransformer2021CLIP、DALLESwin Transformer2022BLIPDALLE 2StableDiffusion、BEiT-3、Midjourney V32023BLIP2VisualChatGPT、Midjou…

linux内核中list的基本用法

内核链表 1 list_head 结构 为了使用链表机制&#xff0c;驱动程序需要包含<linux/types.h>头文件&#xff0c;该文件定义了如下结构体实现双向链&#xff1a; struct list_head {struct list_head *next, *prev; };2 链表的初始化 2.1 链表宏定义和初始化 可使用以…

AES算法概述

文章目录 一、AES 概述二、AES 加密算法的特点三、秘钥类型四、填充方式五、加密方式 一、AES 概述 二、AES 加密算法的特点 AES加密的数据块长度为128&#xff08;16字节&#xff09;&#xff0c;长度不足需要填充。密码长度可以为16,24,32字节。 三、秘钥类型 AES加密按秘…

【科大讯飞笔试题汇总】2024-07-20-科大讯飞秋招提前批(算法岗)-三语言题解(Cpp/Java/Python)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f4e7; 清隆这边最…

基于java+springboot+vue实现的企业OA管理系统(文末源码+Lw)131

基于SpringBootVue的实现的企业OA管理系统&#xff08;源码数据库万字Lun文流程图ER图结构图演示视频软件包&#xff09; 系统功能&#xff1a; 企业OA管理系统有管理员和用户。 管理员功能有个人中心&#xff0c;用户管理&#xff0c;公告信息管理&#xff0c;客户关系管理&…

【nnUNet V2系列】nnUNet V2在Ubuntu下安装调试篇

安装之前网上很多教程&#xff0c;很多是nnUNet V1的安装过程&#xff0c;有的V1和V2混在一起讲解&#xff0c;导致V1的转化指令用到V2中&#xff0c;产生不少误解。这篇是针对V2整理出来的安装过程&#xff0c;有什么不妥之处请指出会及时修改。 1. 创建虚拟环境 conda crea…

某4G区域终端有时驻留弱信号小区分析

这些区域其实是长时间处于连接态的电信卡4G终端更容易出现。 出现问题时都是band1 100频点下发了针对弱信号的1650频点的连接态A4测量事件配置&#xff08;其阈值为-106&#xff09;。而这个条件很容易满足&#xff0c;一旦下发就会切到band3 1650频点。 而1650频点虽然下发ban…

Visual Studio 2022美化

说明&#xff1a; VS版本&#xff1a;Visual Studio Community 2022 背景美化 【扩展】【管理扩展】搜索“ClaudiaIDE”&#xff0c;【下载】&#xff0c;安装完扩展要重启VS 在wallhaven下载壁纸图片作为文本编辑器区域背景图片 【工具】【选项】搜索ClaudiaIDE&#xff…

手机数据恢复技巧:适用于 Android 的恢复应用程序

发现自己意外删除了 Android 设备上的照片&#xff0c;这让人很痛苦。这些照片可能是值得纪念的文件&#xff0c;会让您想起一些难忘的回忆。删除它们后&#xff0c;您知道如何恢复它们。在这种情况下&#xff0c;您需要使用 Android 的照片恢复应用程序。 无论您需要直接从 A…

git跨库合并

1、背景 A为开发环境的代码仓库&#xff0c;B为生产环境的代码仓库。A和B之间不能通信。开发人员的本地电脑可以和A、B通信。 目的 上线时&#xff0c;需要将A代码合并B代码。 2、实现 2.1 添加远程仓库 2.1.1 代码方式 在B代码仓库中,将A添加为远程仓库。 git remote …

腾讯会议产品策划的成长之路:从万字文档到功能落地的实战经验

腾讯会议产品策划的成长之路&#xff1a;从万字文档到功能落地的实战经验 在腾讯会议的产品团队中&#xff0c;有这样一位产品策划&#xff0c;他以其出色的逻辑思维、全局观念以及扎实的执行力&#xff0c;在团队中发挥着举足轻重的作用。他就是林陪同&#xff0c;一个自称“会…

抽奖算法的设计与实现

更多内容欢迎访问我的个人博客网站&#xff1a;www.zpf0000.com 在数据库中准备好以下数据表 lottery表 sql代码解读复制代码 DROP TABLE IF EXISTS lottery; CREATE TABLE lottery (id int NOT NULL AUTO_INCREMENT,user_id int NOT NULL DEFAULT 0 COMMENT 发起抽奖用户ID,n…

【MySQL】:对库和表的基本操作方法

数据库使用的介绍 什么是SQL 学习数据库的使用——>基于 SQL编程语言 来对数据库进行操作 重点表述的是“需求”&#xff0c;期望得到什么结果。&#xff08;至于结果是如何得到的&#xff0c;并不关键&#xff0c;都是数据库服务器在背后做好了&#xff09; 重点表述的是…

DEGAS:将临床属性转移到细胞

DEGAS&#xff08;单细胞诊断证据量表&#xff0c;Diagnostic Evidence GAuge of Single cells&#xff09;是一种迁移学习框架&#xff0c;用于将疾病信息从患者转移到细胞。作者将这种可转移信息称为“印象-impressions”&#xff0c;它允许单细胞与疾病属性相关联&#xff0…

【Python】使用库 -- 详解

库就是别人已经写好了的代码&#xff0c;可以让我们直接拿来用。 一个编程语言能不能流行起来&#xff0c;一方面取决于语法是否简单方便容易学习&#xff0c;一方面取决于生态是否完备。所谓的 “生态” 指的就是语言是否有足够丰富的库&#xff0c;来应对各种各样的场景。在…

动态路由协议 —— EIGRP 与 OSPF 的区别

EIGRP&#xff08;增强内部网关路由协议&#xff09;和 OSPF&#xff08;开放式最短路径优先&#xff09;是两种最常见的动态路由协议&#xff0c;主要是用来指定路由器或交换机之间如何通信。将其应用于不同的情况下&#xff0c;可提高速率、延迟等方面的性能。那么它们之间到…

【Python系列】Python 缓存机制

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【排序数组】python刷题记录

润到排序算法了。 顺便复习一下排序算法 easy work class Solution:def sortArray(self, nums: List[int]) -> List[int]:nums.sort()return nums 11种排序算法 # 选择排序 def selectsort(s):for i in range(0,len(s)-1):curmininfcuridx-1for j in range(i,len(s)):if …

【运维】软件运维方案(2024word完整版)

1. 文档介绍 2. 人员与责任 3. 运维过程内容 4. 运维资源 5. 运维服务规划保障 6. 事件处置 7. 质量改进 8. 运维边界及内容 获取方式&#xff1a; 本文末个人名片直接获取。