网络基础知识入门
目录
一、局域网与广域网
1、局域网
2、广域网
二、协议
1、概念
2、协议的理解
3、协议的分层
1、分层
2、OSI七层模型
三、网络传输基本流程
1、报头
2、局域网通信原理
3、跨网络传输流程
四、IP地址和MAC地址
1、IP地址
2、MAC地址
3、两者的区别
一、局域网与广域网
1、独立模式:在计算机诞生之初,每台计算机是相互独立的,相互之间不能够进行数据交流。
2、网络互联: 将多台计算机连接在一起,完成数据共享。后来,随着计算机的普及,以及互联网技术的发展,多台计算机能够相互之间进行数据交流。
1、局域网
局域网LAN:计算机数量更多了,为了完成每台计算机之间的数据共享,人们通过交换机和路由器将各个计算机连接在一起,完成数据共享。局域网的范围相比于广域网较小,这个小范围可以具体是一个家庭、学校、公司。私网和内网通常也表示同样的概念,都指的是企业、学校或家庭等组织内部形成的局域网。
2、广域网
广域网WAN:将远隔千里的计算机都连在一起。公网和外网通常是指同一个概念,它们可以被看作是广域网的一部分。
二、协议
1、概念
网络协议:为了方便计算机之间进行网络数据通信和数据共享,而制定的一系列规则和约定。这些规则规定了数据传输的格式、顺序、错误检测与纠正、数据的确认方式等,确保不同的计算机之间能够有效地进行通信和数据共享。
为什么需要协议?
举个例子,计算机之间的数据传输在最底层是通过我们常说的网线来传输的,其传输的本质是通过光信号和电信号传输的。通过信号的 “频率” 和 “强弱” 来表示 0 和 1 这样的信息,而不同的计算机厂商,有的可能用高频率表示0,低频率表示1,有的厂商则相反,这样的话计算机之间就很难通信了,所以不同的计算机之间要想传递各种不同的信息,计算机厂商就需要约定好双方的数据格式,这就是一种在物理层上的协议。
TCP/IP是因特网的正式网络协议(后面会讲),是一组在许多独立主机系统之间提供互联功能的协议,规范因特网上所有计算机互联时的传输、解释、执行、互操作,解决计算机系统的互联、互通、操作性,是被公认的网络通信协议的国际工业标准。
2、协议的理解
我们在很多谍战剧中,卧底和接头人在进行情报交换的时候,他们往往不会直接暴露出自己和情报内容。他们通常会约定一些暗语,来代表情报内容。这样,就只有卧底和接头人能够知道情报的真实内容。
3、协议的分层
1、分层
对于上面的情报交换的例子,就有协议的分层。
~ 分层:情报交换时,从两个人人的角度出发,是人与人之间在直接进行情报交换,从暗语的角度出发,两个人使用的暗语相同,是暗语与暗语之间的交换,这是分层。卧底和接头人层与暗语是不同的,搭配使用。
~ 分层好处:把软件进行模块化,可以很好的进行解耦,解耦以后我们如果把暗语进行更换,上层不用改变,而如果上层改变,暗语层则不需要改变。所以对任何一层做任何修改并不影响其他层。
~ 分层依据:功能比较集中,耦合度比较高的模块放在一层,也就是高内聚,每一层解决特定的问题,功能解耦。
2、OSI七层模型
OSI七层模型是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。自上到下分别是:
分层名称 | 功能 |
应用层 | 针对特性应用的协议 |
表示层 | 设备固有数据格式和网络标准数据格式的转换 |
会话层 | 通信管理。负责建立和断开通信连接。管理传输层以下的分层 |
传输层 | 管理两个节点之间的数据传输负责可靠传输(确保数据被可靠的传送到目标地址) |
网络层 | 地址管理与路由选择 |
数据链路层 | 互联设备之间传送和识别数据帧 |
物理层 | 用‘0’和‘1’表示电压的高低,灯光的闪灭 |
但是,OSI七层模型只是一个框架,既复杂又不实用,所以后来在具体实现的时候程序员就对其进行了调整,于是就有了我们现在所常用的TCP/IP四层协议(除开物理层)。
1、物理层:负责光/电信号的传递方式,比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。
2、数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网,无线LAN等标准。交换机(Switch)工作在数据链路层。
3、网络层:负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器(Router)工作在网路层。
4、传输层:负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。
5、应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。
三、网络传输基本流程
1、报头
不同的协议层对数据包有不同的称谓,在传输层叫做段,在网络层叫做数据报,在链路层叫做帧。应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装。
在计算机网络通信中,报头(Header)指的是数据包或帧的开头部分,其中含有关于该数据包或帧的元信息。这些元信息包括源地址、目标地址、协议类型等等。
在TCP/IP四层协议中,每一层都有自己的协议定制方案,并且每层协议都有自己的协议报头。从上到下,交付数据的时候要添加报头,从下到上,递交数据的时候要去掉报头。报头和有效载荷共同组成报文。
去掉报头又称为解包:实际就是不断从数据中提取对应的报头,并对提取出来的报头进行数据分析,确定将有效载荷递交给上层的哪个协议。
封装过程: 封装的本质其实就是添加报头!
1、数据先交给应用层,应用层添加上对应应用层协议的报头后,将数据再交给传输层。
2、传输层收到数据后,再添加上对应传输层协议的报头,并将数据继续向下进行交付。
3、网络层收到数据后,再添加上对应网络层协议的报头,接着将数据再交给链路层。
4、链路层收到数据后,最后再添加上对应链路层协议的报头,至此数据封装完毕。
解包过程:封装后的数据交给目的主机后,目的主机需要自下向上进行解包拿到信息。解包的本质也就是去掉报头。
2、局域网通信原理
在同一个局域网中两台主机是能够直接通信的。我们的每一台主机都有网卡,每一张网卡都有自己的地址,叫做MAC地址,它可以标识网卡的唯一性,而MAC地址虽然全球唯一,但是不应用于全球,我们只是使用它在局域网中标识自己的唯一性。
我们可以通过 ifconfig 指令查询主机的MAC地址:
局域网中两台主机直接通信:
当MAC2想要跟MAC5发送消息时,其他所有主机也都能收到,但是其他主机在内部做协议判断发现消息并不是发给自己的,会自动丢弃。最终只有MAC5能够收到消息。
局域网中一般只允许一个主机在任何一个时刻在局域网中发消息给其他主机。当有多台主机同时发信息时,就会发生碰撞,如果发生了碰撞就把消息作废然后重发。比如,但当MAC1想把消息发给MAC7,MAC3想把消息发给MAC5,它们不能同时发消息。
3、跨网络传输流程
如果两个主机不在局域网中,其通信方式如下:
可以看到同层报头和有效载荷完全一样。
四、IP地址和MAC地址
1、IP地址
IP协议有两个版本,IPv4和IPv6,提到IP协议,如果没有特殊说明的,我们一般都是指IPv4。IP地址是在IP协议中用来标识网络中不同主机的地址。IP地址是一个4字节的整数。但是,为了方便用户使用,系统呈现给我们的IP地址是点分十进制形式的字符串。
2、MAC地址
MAC地址用来识别数据链路层中相连的节点。其在网卡出厂时就确定了,不能修改。 MAC地址通常是唯一的。(服务器中的MAC地址不是真实的MAC地址)。
MAC地址长度为48位,及6个字节,一般用16进制数字加上冒号的形式来表示。
3、两者的区别
IP地址一般是用来标识数据传输的传输主机和最终目的主机的。当一个主机发出消息,该消息自上向下进行封装,里面包含了本主机的IP地址,和目的主机的IP地址。这个目的主机可能在其他局域网中。
本主机可能由一个或者多个路由器关联着目的主机,我们要成功发送消息就必须依次通过这些路由器。所以,在封装好后,报头中有关于下一个路由器的MAC地址,通过这个地址,数据包去到对应的路由器,然后去掉报头。
然后将剩下的数据向上交付给网络层,此时在网络层就可以获取到对应的目的IP地址,然后路由器就可以根据该IP地址在路由表当中进行查找,最终就能够确认该数据的下一站是哪一个路由器,再在向下交付的时候添加含有下一个路由器MAC地址的报头,去往下一个路由器。最终找到目的主机所在的局域网。
或者到第一个路由器后,路由器根据该IP地址在路由表当中进行查找,发现目的主机就是在我所联系的局域网中,然后将数据包发送过去。由目的主机解包,拿到数据。
相关文章:

网络基础知识入门
目录 一、局域网与广域网 1、局域网 2、广域网 二、协议 1、概念 2、协议的理解 3、协议的分层 1、分层 2、OSI七层模型 三、网络传输基本流程 1、报头 2、局域网通信原理 3、跨网络传输流程 四、IP地址和MAC地址 1、IP地址 2、MAC地址 3、两者的区别 一、局域…...

D435i发布的话题学习
参考自https://blog.csdn.net/sinat_16643223/article/details/136406602?spm1001.2014.3001.5502 这里整理一下D435i庞大的topic话题数据。 根据算法来说的话,vins-fusion需要双目灰度图像的话题: camera/infra1/image_rect_raw 和camera/infra2/image…...

Springboot启动过程
加载配置:Spring Boot会加载应用程序的配置文件,包括application.properties或application.yml等。这些配置文件中包含了应用程序的各种配置信息,如数据库连接、端口号等。 创建Spring容器:Spring Boot会创建一个Spring容器&…...

网络安全之命令注入
漏洞原理: 应用系统设计需要给用户提供指定的远程命令操作的接口,比如:路由器,防火墙,入侵检测等设备的web管理界面。一般会给用户提供一个ping操作的web界面 用户从web界面输入目标IP,提交后台会对改IP地…...

使用GDAL进行简单的坐标系转换
使用GDAL进行简单的坐标系转换 使用python GDAL进行简单的坐标系转换,暂时不考虑不同基准坐标系转换的精度问题。 安装环境 使用UbuntuAnaconda python 环境 conda install gdal 定义坐标系 from osgeo import gdal from osgeo import osrsrs_wgs84 osr.Spati…...

【AIGC调研系列】AI大模型结合迁移学习进行微调的应用
AI大模型结合迁移学习进行微调的应用主要体现在通过预训练模型快速适应新任务,提高模型性能和准确性。迁移学习允许我们利用在其他任务上学到的知识来加速新任务的学习过程,从而减少对大量标注数据的依赖,提高训练效率[1][2][3]。在AI领域&am…...

低代码革新:软件开发的未来潜力与创新路径探索
过去的一年,挑战与机遇并存。人们一边忧虑市场经济下行所带来的新的增长难题、裁员危机,一边惊叹于AIGC、量子技术等领域不断涌现新的创新成果。 时代发生了改变,传统“互联网”的模式已走入尾声,新一轮的科技革命与产业变革正在到…...

AI智能校色解决方案,专业级画质提升
由于拍摄环境、设备性能以及编辑经验等多种因素的影响,视频画质往往难以达到理想状态。这时,一款高效、智能的校色解决方案就显得尤为重要。美摄科技凭借深厚的图像处理技术和AI算法研发实力,推出了全新的AI智能校色解决方案,助力…...

面试算法-148-轮转数组
题目 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: [5,6,7,…...

Linux——静态库 共享库
1.库文件 1).库文件 库是一组预先编译好的方法的集合; Linux系统存储库的位置一般在/lib 和 /usr/lib (64位系统/usr/lib64) 库的头文件放在/usr/include 2).库的分类 静态库:libxxx.a(命名规则) 共享库:libxxx.so(命名规则) 3).准备文件: //add.c int add(int x,int y) { re…...

基于Spring Boot+Vue的在线拍卖系统
随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单管理、…...

Unity构建详解(6)——SBP的Bundle写操作生成
以下三个操作实际上是为了得到构建Bundle需要的其他参数,最关键的Bundle组装参数在上文已经说过了,至于这三个操作的具体细节不用过于追究,一般不怎么会取修改。 这些参数采用命令模式被封装起来,这是常见的参数非常多的时候的处…...

2024新版PHP在线客服系统多商户AI智能在线客服系统源码机器人自动回复即时通讯聊天系统源码PC+H5
搭建环境: 服务器 CPU 2核心 ↑ 运存 2G ↑ 宽带 5M ↑ 服务器操作系统 Linux Centos7.6-7.9 ↑ 运行环境: 宝塔面板 Nginx1.18- 1.22 PHP 7.1-7.3 MYSQL 5.6 -5.7 朵米客服系统是一款全功能的客户服务解决方案,提供多渠道支持…...

使用GPT需要注意的事项
GPT出来之后,基本就告别浏览器搜索问题答案了。将问题原封不动的copy给GPT基本可以得到解答。 但是这个也有弊端,那就是太依赖GPT了。 1,使用GPT需要更强的专业知识:除了能问对问题,还要具备识别GPT&q…...

学习人工智能:为何PyTorch深度学习框架不可或缺
在人工智能(AI)的浩瀚领域中,深度学习作为其核心分支,正以其强大的数据处理能力、模式识别能力和预测能力引领着科技的飞速发展。而在深度学习的众多工具与框架中,PyTorch无疑是一颗璀璨的明星。本文将从PyTorch的特点…...

Python基于Tkinter的加法游戏
定制魏:QTWZPW,获取更多源码等 目录 题目概述 详细设计 函数设计 总体设计 重要代码...

基于Springboot4S店车辆管理系统
采用技术 基于Springboot4S店车辆管理系统的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringBootMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 管理员功能 首页 销售员管理 维修员管理 客户管理 供应…...

深入浅出 -- 系统架构之分布式架构
分布式架构: 根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。 当垂直应用越来越多时,应用之间的交互不可避免,可将共用的基础服务或核心模块抽取出来作为独立服务,…...

6. Z 字形变换(Java)
目录 题目描述:输入:输出:代码实现: 题目描述: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如…...

【Linux入门】用户的基本指令
Linux操作系统又被称之为“核心(kernel)” 。但一般的用户,不能直接使用kernel,而要通过kernel的“外壳”程序——命令行解释器shell,来与 kernel 沟通。这是因为 kernel 对于一般的用户来说太过复杂,且不让…...

3.9 Python格式化字符串
Python格式化字符串(格式化输出) 我们之前讲到过 print() 函数的用法,这只是最简单最初级的形式,print() 还有很多高级的玩法,比如格式化输出,这就是本节要讲解的内容。 熟悉C语言 printf() 函数的读者能够…...

Linux驱动学习:从Linux主机nfs共享文件到uboot
第一步:在Linux主机上开启NFS服务,使用如下命令安装NFS服务: sudo apt-get install nfs-kernel-server rpcbind 第二步:创建一个文件夹用于共享,直接以nfs命名就行: 第三步:打开nfs服务配置文…...

Linux下场景模拟--cpu、内存打满测试
Linux下场景模拟–cpu、内存打满测试 打满CPU占用 编写脚本vi /root/cpu_run_full.sh vi /root/cpu_run_full.sh填写如下内容: #!/bin/bash function while_run_cpu() {while true;doi2;done }function cpu_full() {for ((i0; i<$1; i));dowhile_run_cpu &am…...

Vue中watch与计算属性computed
最近,写vue代码,判断父组件传来的type来作为条件判断,并用v-if v-else来控制页面展示。 起初用watch监听了type,发现值改变了,但是写在data配置项的visible属性书写错误,未实现响应式,如下&…...

nginx部署前端教程
目录 一、前言二、部署三、注意四、参考 一、前言 一般来说现在的软件项目,都是分用户端以及管理端的,并且是前后端分离的,这里我来记录一下部署两个前端的教程。 部署前端之前需要的准备工作是部署springBoot后端程序,这里我do…...

设计模式:工厂模式
定义 工厂模式(Factory Pattern),特别是工厂方法模式(Factory Method Pattern),是一种创建型设计模式,它定义了一个创建对象的接口,但将实例化的类推迟到子类中进行。这样ÿ…...

系统监测工具-tcpdump的使用
一个简单的tcpdump抓包过程。主要抓包观察三次握手,四次挥手的数据包 有两个程序:客户端和服务器两个程序 服务器端的ip地址使用的是回环地址127.0.0.1 端口号使用的是6000 tcpdump -i 指定用哪个网卡等,dstip地址端口指定抓取目的地址…...

Java智慧校园系统源码 微信小程序+电子班牌
Java智慧校园系统源码 微信小程序电子班牌 通过设备管理对百纳智慧校园的智慧班牌以及百纳智慧屏(校牌)进行统一集中式管理,支持浏览所有设备的基本信息以及在离线状态,支持添加设备、设备一键开关机、一键重启、设置节假日开关机…...

OpenAI Sora:浅析文生视频模型Sora以及技术原理简介
一、Sora是什么? Sora官方链接:https://openai.com/sora 视频模型领头羊Runway Gen 2、Pika等AI视频工具,都还在突破几秒内的连贯性,而OpenAI,已经达到了史诗级的纪录。 OpenAI,永远快别人一步࿰…...

canal部署
定义 canal组件是一个基于mysql数据库增量日志解析,提供增量数据订阅和消费,支持将增量数据投递到下游消费者(kafka,rocketmq等)或者存储(elasticearch,hbase等)canal感知到mysql数据变动&…...