【网络原理】初识网络原理

目录

  • 🎄网络发展史
    • 🌸独立模式
    • 🌸网络互连
      • 🌻局域网LAN
        • 🌼基于网线直连
        • 🌼基于集线器组建
        • 🌼基于交换机组建
        • 🌼基于交换机和路由器组建
      • 🌻广域网WAN
  • 🌳网络通信基础
    • 🌸IP地址
    • 🌸端口号
    • 🌸认识协议
      • 🌻概念
      • 🌻作⽤
      • 🌻五元组
    • 🌸协议分层
    • 🌸协议分层的作用
    • 🌸协议分层模型
      • 🌻OSI七层模型
      • 🌻TCP/IP五层(或四层)模型
    • 🌸网络设备所在分层
    • 🌸网络分层对应
    • 🌸封装和分用
  • ⭕总结

🎄网络发展史

🌸独立模式

独⽴模式:计算机之间相互独⽴;
在这里插入图片描述

🌸网络互连

随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同⼯作来完
成业务,就有了⽹络互连。

⽹络互连:将多台计算机连接在⼀起,完成数据共享。

数据共享本质是⽹络数据传输,即计算机之间通过⽹络来传输数据,也称为⽹络通信
根据⽹络互连的规模不同,可以划分为局域⽹⼴域⽹

🌻局域网LAN

局域⽹,即 Local Area Network,简称LAN。

Local 即标识了局域⽹是本地,局部组建的⼀种私有⽹络。

局域⽹内的主机之间能⽅便的进⾏⽹络通信,⼜称为内⽹;局域⽹和局域⽹之间在没有连接的情况
下,是⽆法通信的。

局域⽹组建⽹络的⽅式有很多种:

🌼基于网线直连

在这里插入图片描述

🌼基于集线器组建

在这里插入图片描述

🌼基于交换机组建

在这里插入图片描述

🌼基于交换机和路由器组建

在这里插入图片描述

🌻广域网WAN

⼴域⽹,即 Wide Area Network,简称WAN。

通过路由器,将多个局域⽹连接起来,在物理上组成很⼤范围的⽹络,就形成了⼴域⽹。⼴域⽹内部
的局域⽹都属于其⼦⽹。
在这里插入图片描述

如果有北、中、南等分公司,甚⾄海外分公司,把这些分公司以专线⽅式连接起来,即称为“⼴域
⽹”。
如果属于全球化的公共型⼴域⽹,则称为互联⽹(⼜称公⽹,外⽹),属于⼴域⽹的⼀个⼦集。
有时在不严格的环境下说的⼴域⽹,其实是指互联⽹。
所谓 “局域⽹” 和 “⼴域⽹” 只是⼀个相对的概念。⽐如,我们有 “天朝特⾊” 的⼴域⽹,也可以看做
⼀个⽐较⼤的局域⽹。

🌳网络通信基础

⽹络互连的⽬的是进⾏⽹络通信,也即是⽹络数据传输,更具体⼀点,是⽹络主机中的不同进程间,
基于⽹络传输数据。

那么,在组建的⽹络中,如何判断到底是从哪台主机,将数据传输到那台主机呢?这就需要使⽤IP地
址来标识。

🌸IP地址

概念
IP地址主要⽤于标识⽹络主机、其他⽹络设备(如路由器)的⽹络地址。简单说,IP地址⽤于定位主
机的⽹络地址。

就像我们发送快递⼀样,需要知道对⽅的收货地址,快递员才能将包裹送到⽬的地。

格式

IP地址是⼀个32位的⼆进制数,通常被分割为4个“8位⼆进制数”(也就是4个字节),如:
01100100.00000100.00000101.00000110。

通常⽤“点分⼗进制”的⽅式来表⽰,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的⼗进制整数)。
如:100.4.5.6。

🌸端口号

概念
在⽹络通信中,IP地址⽤于标识主机⽹络地址,端⼝号可以标识主机中发送数据、接收数据的进程。
简单说:端⼝号⽤于定位主机中的进程

类似发送快递时,不光需要指定收货地址(IP地址),还需要指定收货⼈(端⼝号)。

格式
端⼝号是0~65535范围(两个字节)的数字,在⽹络通信中,进程可以通过绑定⼀个端⼝号,来发送及接收⽹络数据。

问题
有了IP地址和端⼝号,可以定位到⽹络中唯⼀的⼀个进程,但还存在⼀个问题,⽹络通信是基于⼆进
制0/1数据来传输,如何告诉对⽅发送的数据是什么样的呢?

⽹络通信传输的数据类型可能有多种:图⽚,视频,⽂本等。同⼀个类型的数据,格式可能也不同,
如发送⼀个⽂本字符串“你好!”:如何标识发送的数据是⽂本类型,及⽂本的编码格式呢?

基于⽹络数据传输,需要使⽤协议来规定双⽅的数据格式。

🌸认识协议

🌻概念

协议,⽹络协议的简称,⽹络协议是⽹络通信(即⽹络数据传输)经过的所有⽹络设备都必须共同遵
从的⼀组约定、规则。如怎么样建⽴连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能
相互通信交流。

协议(protocol)最终体现为在⽹络上传输的数据包的格式

🌻作⽤

为什么需要协议?

就好⽐⻅⽹友,彼此协商胸⼝插⽀玫瑰花⻅⾯,这就是⼀种提前的约定,也可以称之为协议。
在这里插入图片描述
计算机之间的传输媒介是光信号和电信号。通过 “频率” 和 “强弱” 来表⽰ 0 和 1 这样的信息。要想传递
各种不同的信息,就需要约定好双⽅的数据格式。
• 计算机⽣产⼚商有很多;
• 计算机操作系统,也有很多;
• 计算机⽹络硬件设备,还是有很多;
如何让这些不同⼚商之间⽣产的计算机能够相互顺畅的通信?
就需要有⼈站出来,约定⼀个共同的标准,⼤家都来遵守,这就是 ⽹络协议

🌻五元组

在TCP/IP协议中,⽤五元组来标识⼀个⽹络通信:

  1. 源IP:标识源主机
  2. 源端⼝号:标识源主机中该次通信发送数据的进程
  3. ⽬的IP:标识⽬的主机
  4. ⽬的端⼝号:标识⽬的主机中该次通信接收数据的进程
  5. 协议号:标识发送进程和接收进程双⽅约定的数据格式

在这里插入图片描述
五元组在⽹络通信中的作⽤,类似于发送快递:
在这里插入图片描述
可以在cmd中,输⼊ netstat -ano 查看⽹络数据传输中的五元组信息:
在这里插入图片描述
如果需要过滤(⼀般是通过端⼝号或进程PID过滤),可以使⽤ netstat -ano | findstr 过滤
字符串

🌸协议分层

对于⽹络协议来说,往往分成⼏个层次进⾏定义。

什么是协议分层
协议分层类似于打电话时,定义不同的层次的协议

在这里插入图片描述
在这个例⼦中,我们的协议只有两层;但是实际的⽹络通信会更加复杂,需要分更多的层次。

🌸协议分层的作用

为什么需要⽹络协议的分层?

分层最⼤的好处,类似于⾯向接⼝编程:定义好两层间的接⼝规范,让双⽅遵循这个规范来对接。
在代码中,类似于定义好⼀个接⼝,⼀⽅为接⼝的实现类(提供⽅,提供服务),⼀⽅为接⼝的使⽤
类(使⽤⽅,使⽤服务):
• 对于使⽤⽅来说,并不关⼼提供⽅是如何实现的,只需要使⽤接⼝即可
• 对于提供⽅来说,利⽤封装的特性,隐藏了实现的细节,只需要开放接⼝即可。

这样能更好的扩展和维护,如下图:
在这里插入图片描述

🌸协议分层模型

🌻OSI七层模型

OSI:即Open System Interconnection,开放系统互连
• OSI 七层⽹络模型是⼀个逻辑上的定义和规范:把⽹络从逻辑上分为了7层。
• OSI 七层模型是⼀种框架性的设计⽅法,其最主要的功能使就是帮助不同类型的主机实现数据传
输;

OSI 七层模型划分为以下七层:
在这里插入图片描述
在这里插入图片描述
OSI 七层模型既复杂⼜不实⽤:所以 OSI 七层模型没有落地、实现。
实际组建⽹络时,只是以 OSI 七层模型设计中的部分分层,也即是以下 TCP/IP 五层(或四层)模型来实现。

🌻TCP/IP五层(或四层)模型

TCP/IP是⼀组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
TCP/IP通讯协议采⽤了5层的层级结构,每⼀层都呼叫它的下⼀层所提供的⽹络来完成⾃⼰的需求。
• 应⽤层:负责应⽤程序间沟通,如简单电⼦邮件传输(SMTP)、⽂件传输协议(FTP)、⽹络远
程访问协议(Telnet)等。我们的⽹络编程主要就是针对应⽤层。
• 传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发
送到⽬标主机。
• ⽹络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识⼀台主机,并通过路由表
的⽅式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)⼯作在⽹路层。
• 数据链路层:负责设备之间的数据帧的传送和识别。例如⽹卡设备的驱动、帧同步(就是说从⽹线上
检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就⾃动重发)、数据差错校验等⼯作。
有以太⽹、令牌环⽹,⽆线LAN等标准。交换机(Switch)⼯作在数据链路层。
• 物理层:负责光/电信号的传递⽅式。⽐如现在以太⽹通⽤的⽹线(双绞 线)、早期以太⽹采⽤的的同
轴电缆(现在主要⽤于有线电视)、光纤,现在的wifi⽆线⽹使⽤电磁波等都属于物理层的概念。物理
层的能⼒决定了最⼤传输速率、传输距离、抗⼲扰性等。集线器(Hub)⼯作在物理层。
在这里插入图片描述
物理层我们考虑的⽐较少。因此很多时候也可以称为 TCP/IP四层模型。

🌸网络设备所在分层

• 对于⼀台主机,它的操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP五层模型的下四
层;
• 对于⼀台路由器,它实现了从⽹络层到物理层,也即是TCP/IP五层模型的下三层;
• 对于⼀台交换机,它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层;
• 对于集线器,它只实现了物理层;
注意我们这⾥说的是传统意义上的交换机和路由器,也称为⼆层交换机(⼯作在TCP/IP五层模型的下
两层)、三层路由器(⼯作在TCP/IP五层模型的下三层)。
随着现在⽹络设备技术的不断发展,也出现了很多3层或4层交换机,4层路由器。我们以下说的⽹络设
备都是传统意义上的交换机和路由器。

🌸网络分层对应

⽹络数据传输时,经过不同的⽹络节点(主机、路由器)时,⽹络分层需要对应。
以下为同⼀个⽹段内的两台主机进⾏⽂件传输:
在这里插入图片描述
在这里插入图片描述
以下为跨⽹段的主机的⽂件传输:数据从⼀台计算机到另⼀台计算机传输过程中要经过⼀个或多个路
由器
在这里插入图片描述

🌸封装和分用

• 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报
(datagram),在链路层叫做帧(frame)。
• 应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装
(Encapsulation)。
• ⾸部信息中包含了⼀些类似于⾸部有多⻓,载荷(payload)有多⻓,上层协议是什么等信息。
• 数据封装成帧后发到传输介质上,到达⽬的主机后每层协议再剥掉相应的⾸部,根据⾸部中的 “上
层协议字段” 将数据交给对应的上层协议处理。
下图为数据封装的过程在这里插入图片描述
下图为数据分⽤的过程
在这里插入图片描述

⭕总结

关于《【网络原理】初识网络原理》就讲解到这儿,感谢大家的支持,欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何在小程序中绑定身份证

在小程序中绑定身份证信息是一项常见的需求,特别是在需要进行实名认证或者身份验证的场景下。通过绑定身份证信息,可以提高用户身份的真实性和安全性,同时也为小程序提供了更多的个性化服务和功能。下面就介绍一下怎么在小程序中绑定居民身份…

position定位学习

加了绝对定位的盒子不能通过margin:0 auto水平居中 脱标元素不会产生外边距合并问题

vue svelte solid 虚拟滚动性能对比

前言 由于svelte solid 两大无虚拟DOM框架,由于其性能好,在前端越来越有影响力。 因此本次想要验证,这三个框架关于实现表格虚拟滚动的性能。 比较版本 vue3.4.21svelte4.2.12solid-js1.8.15 比较代码 这里使用了我的 stk-table-vue(np…

Vue3实现页面跳转功能

目标: 首页: 点击About后: 第一步:安装 Vue Router和创建你先 npm install vue-router4第二步:在router.js中设置路由 import { createRouter, createWebHistory } from vue-router; import Home from ./views/Home…

HTML超详细简介

HTML是什么 超文本标记语言(HyperText Mark-up Language )用来设计网页的标记语言用该语言编写的文件,以 .html或 .htm为后缀由浏览器解释执行不区分大小写,建议小写 HTML标签 HTML用于描述功能的符号成为“标签”标签都封装在…

b站小土堆pytorch学习记录—— P25-P26 网络模型的使用和修改、保存和读取

文章目录 一、修改1.方法2.代码 二、保存和读取1.方法2.代码(1)保存(2)加载 3.陷阱 一、修改 1.方法 add_module(name: str, module: Module) -> None name 是要添加的子模块的名称。 module 是要添加的子模块。 调用 add_m…

部署SpringBoot项目

方案一:纯手工部署 1,购买一台云服务器 这里我使用腾讯云,推荐Centos8/Centos7.6 2,安装springBoot项目所需要的环境 1,数据库单独安装在另一台服务器上,只需要修改IP地址即可 2,安装jdk yum…

泛型 --java学习笔记

什么是泛型 定义类、接口、方法时&#xff0c;同时声明了一个或者多个类型变量&#xff08;如&#xff1a;<E>&#xff09;&#xff0c;称为泛型类、泛型接口&#xff0c;泛型方法、它们统称为泛型 可以理解为扑克牌中的癞子&#xff0c;给它什么类型它就是什么类型 如…

如何将中科方德桌面操作系统加入Windows域

往期文章&#xff1a;自定义SSH客户端连接时的显示信息 | 统信UOS | 麒麟KYLINOS Hello&#xff0c;大家好啊&#xff0c;今天我非常高兴地给大家带来一篇关于如何将中科方德桌面操作系统加入Windows域的教程文章。对于使用中科方德桌面操作系统的用户来说&#xff0c;将其加入…

TSINGSEE配电房/配电站/变电站远程视频智能监管、无人值守方案

一、背景需求分析 随着社会的快速发展和科技进步&#xff0c;电力作为现代社会的核心驱动力&#xff0c;其稳定运行与安全管理变得愈发重要。特别是在配电房这一关键环节中&#xff0c;实施高效的远程视频智能监管方案&#xff0c;不仅能够有效提升电力供应的可靠性&#xff0…

模拟实现std::string类(包含完整、分文件程序)

std库中的string是一个类&#xff0c;对string的模拟实现&#xff0c;既可以复习类的特性&#xff0c;也可以加深对std::string的理解。 &#x1f308;一、搭建框架 ☀️1.新命名空间 本质上string是一个储存在库std里面的类&#xff0c;现在需要模拟实现一个string类&#…

Linux:kubernetes(k8s)探针ReadinessProbe的使用(9)

本章yaml文件是根据之前文章迭代修改过来的 先将之前的pod删除&#xff0c;然后使用下面这个yaml进行生成pod apiVersion: v1 # api文档版本 kind: Pod # 资源对象类型 metadata: # pod相关的元数据&#xff0c;用于描述pod的数据name: nginx-po # pod名称labels: # pod的标…

好物周刊#46:在线工具箱

https://github.com/cunyu1943 村雨遥的好物周刊&#xff0c;记录每周看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;每周五发布。 一、项目 1. twelvet 一款基于 Spring Cloud Alibaba 的权限管理系统&#xff0c;集成市面上流行库&#xff0c;可以作用为快…

【电路笔记】-NPN晶体管

NPN晶体管 文章目录 NPN晶体管1、概述2、双极NPN晶体管配置3、NPN晶体管中的α和β关系4、示例5、共发射极配置1、概述 NPN 晶体管是三端三层器件,可用作放大器或电子开关。 在前面的文章中,我们看到标准双极晶体管或 BJT 有两种基本形式。 NPN(负-正-负)配置和PNP(正-负…

稀碎从零算法笔记Day11-LeetCode:有效的字母异位词

题型&#xff1a;字符串、哈希表、排序 链接&#xff1a;242. 有效的字母异位词 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 …

电子签名签章:重塑企业办公方式,开启智能合约新时代!

在现代社会&#xff0c;随着科技的发展&#xff0c;纸质文件逐渐被电子文件所取代&#xff0c;传统的签名方式也面临着数字化的转型。电子签名签章云服务就是在这样的背景下应运而生的一种新型技术服务&#xff0c;它结合了云计算、大数据、人工智能等前沿技术&#xff0c;为用…

尤雨溪:Vue 未来展望新的一轮

十年&#xff0c;一个既漫长又短暂的时光跨度&#xff0c;对于技术世界来说&#xff0c;更是沧海桑田的瞬间。在这十年里&#xff0c;Vue.js 从无到有&#xff0c;从默默无闻到蜚声全球&#xff0c;不仅改变了前端开发的面貌&#xff0c;更成为了无数开发者手中的得力工具。 在…

程序逻辑控制

1.java的三大结构 可以说java的这三大结构包括其中的语句跟c语言上的基本上都是一样的。现在就当重新复习一遍吧&#xff01; 1.顺序结构 2.分支结构 if语句 跟c语言的语法一模一样。就直接看文案了。 switch语句 java中的switch语句跟c语言中的switch几乎相同&#xff0c;…

2024【问题解决】Github 2024无法克隆git clone自从签了2F2安全协议之后

项目场景:ping通Github但没法clone–502 问题描述 提示:ping通Github但没法clone--502: 例如:git clone https://gitclone.com/l.git/*** $ git clone https://github.com/darrenpig/Yocto Cloning into Yocto_tutorial... fatal: unable to access https://gitclone.co…

mysql数据库入门到精通-Windows版本mysql安装(1)

文章目录 一、数据库介绍1.1、数据库概念1.2、为什么要使用数据库1.3、关系型数据库与非关系型数据库1.4、数据库术语1.5、mysql下载及地址 二、安装mysql数据库三、mysql的管理工具3.1、mysql command line client使用 四、SQL结构化查询语言4.1、SQL概述4.2、SQL发展4.3、SQL…