【计算机网络】网络基础--协议/网络协议/网络传输流程/地址管理

news2024/11/14 5:39:20

文章目录

  • 一、计算机网络背景
  • 二、协议
    • 1.协议是什么
    • 2.为什么要有协议
  • 三、网络协议
    • 1.为什么要进行协议分层
    • 2.OSI七层模型
    • 3.TCP/IP五层(或四层)模型
  • 四、网络传输基本流程
    • 1.协议报头
    • 2.局域网
    • 3.数据包封装和分用
    • 4.网络传输流程图
  • 五、网络中的地址管理
    • 1.认识IP地址
    • 2.认识MAC地址
    • 3.理解IP地址和MAC地址的关系

一、计算机网络背景

网络的发展分为一下几个阶段:

独立模式: 计算机之间相互独立:

在这里插入图片描述

此时计算机之间是相互独立的,每个人在执行任务的时候是独立的,需要等待前一个将任务完成之后,自己才能进行执行任务,是串行执行的,效率很低。

网络互联: 多台计算机连接在一起, 完成数据共享:

在这里插入图片描述

此时数据完成了共享,每个人都使用独立的计算机,业务之间可以随时自由切换,共享数据由服务器集中处理

局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起

在这里插入图片描述

广域网WAN: 将远隔千里的计算机都连在一起

在这里插入图片描述

注意:所谓 “局域网” 和 “广域网” 只是一个相对的概念. 比如, 我们有 “天朝特色” 的广域网, 也可以看做一个比较大的局域网。

一台计算机内部本质也是一个小型的网络结构。

比如我们将一台计算机的磁盘拉到很远的地方,此时依然可以进行存储,此时为云存储,同理,其他的硬件结构也可以这样,所以计算机 体系结构中有网络,网络中有体系结构

二、协议

1.协议是什么

我们举一个例子进行说明,以前的时候,只有台式的座机,然而那个时候话费也特别的贵,你要上学去读书,你到了学校需要向自己的父母进行报备,没有了零花钱需要找父母要,这时,你和你的爸爸进行约定,你打电话过来一声之后就挂断了就说明安全到学校了,打电话过来两声之后才挂断电话说明没有了零花钱,打电话过来三声都还没有挂断,则说明有其他重要的事情,这样就可以省很多的电话费,同时也能够达到通信的目的。

上面的例子中,电话响一声,表明安全到学校了,电话响两声,表明没有了零花钱,电话响三声,说明有其他重要的事情。

3种都代表不同的含义,而这个含义不用解释,双方早已有了共识。所以协议就是约定

在这里插入图片描述

计算机之间的传输媒介是光信号和电信号. 通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息. 要想传递各种不同的信

息, 就需要约定好双方的数据格式.

只要通信的两台主机, 约定好协议就可以了么?

当然不是,我们举一个例子来进行说明,比如我们门卫的口令是天王盖地虎,宝塔镇河妖,但是我们这里的人来自全国各地,回答的时候可能就是自己的方言,那么门卫就不知道回答的对不对。所以我们需要要求在回答口令的时候,全部都使用普通话,这样才可以。

所以,计算机生产厂商有很多; 计算机操作系统, 也有很多; 计算机网络硬件设备, 还是有很多; 如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准, 大家都来遵守, 这就是 网络协议;

2.为什么要有协议

我们面对面进行交谈的时候,障碍比较少,不容易出错,但是当我们两个人站在相隔500米的桥的两端的时候,此时进行交流通信就会变得极其困难。

对于计算机来说,所有的网络问题,本质都是传输距离变长了,此时就可能会引入新的通信问题,为了尽可能减少通信成本,就需要定制协议,如果使用计算机语言来进行表达,则称为计算机协议

三、网络协议

1.为什么要进行协议分层

协议分层有如下的原因:

1.软件设计方面的优势 – 一层的代码出问题了不会影响其他层 – 低耦合

2.一般我们分层的依据:功能比较集中,耦合度比较高的模块–一层–高内聚

3.每一层都有自己匹配的协议,每一层协议都解决自己的问题

我们举一个例子,比如我们要从重庆到北京,那么我们首先要有从一个省跨越到另一个省的能力,在计算机中称为如何把数据交付给和自己直接相连的下一台主机,其他我们要有路线选择的能力,我们去北京,不能从重庆往西边走,在计算机中称为要有路径选择的能力,其次我们在去北京的路上,走错路之后要有纠正路线的能力,在计算机中称为容错纠错能力,我们最终的目的不是去北京,而是在北京进行游玩,在计算机中称为解决应用方面的问题。

所以每一层都有自己匹配的协议,每一层协议都要解决自己的问题。

2.OSI七层模型

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机;

OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输; 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;但是, 它既复杂又不实用; 所以我们按照TCP/IP四层模型来讲解

在这里插入图片描述

在这里插入图片描述

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

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求

物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.

数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.

网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.

传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.

应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层

在这里插入图片描述

物理层我们考虑的比较少. 因此很多时候也可以称为 TCP/IP四层模型.

一般而言

对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容;

对于一台路由器, 它实现了从网络层到物理层;

对于一台交换机, 它实现了从数据链路层到物理层;

对于集线器, 它只实现了物理层;

但是并不绝对. 很多交换机也实现了网络层的转发; 很多路由器也实现了部分传输层的内容(比如端口转发);

四、网络传输基本流程

1.协议报头

对于协议报头,我们需要理解一下几个方面:

1.协议每一层都有,而每一个协议最终表现就是协议都要有报头

2.协议通常是通过协议报头来进行表达的

3.每一份数据最终在被发送者或者在不同的协议层中,都要有自己的报头

我们以一个例子来进行说明报头,比如我们在网上买一个水杯,商家通过顺丰快递送到我家附件的顺丰快递点,当我收到水杯的时候,就只有水杯中吗?其实不是的,还有快递的盒子,快递单,其中快递单就是所谓的报头。报头就是有一定的格式的,即有一定的协议,否则如果只在快递单上面填入一串数字或者文字而没有进行说明,此时快递点就无法进行分辨快递单上面的内容,而制定一定的协议之后,所有的顺丰快递都能够进进行辨认。

2.局域网

1.两台局域网的主机能够直接通信

2.局域网的通信原理

每一台机器都有自己的“名字”,每一台主机都有网卡,每一张网卡都有自己的地址,即MAC地址,MAC地址表明直接在局域网中的唯一性

局域网中的通信方式如下:

在这里插入图片描述

Mac1向Mac7发生吃了吗,数据中会包含接收方的mac地址,数据发送到局域网中,局域网中的其他主机发现数据的目的mac地址和自己的mac地址不符,此时就会忽略该"消息"。只有对应的mac地址的主机才会接收。所以局域网中只允许一个主机在任何一个时刻在局域网中发送消息,否则就会发生碰撞,在局域网中称为碰撞域

我们如何看待局域网中的网络资源:站在系统的角度–共享资源,临界资源

局域网有:以太网,令牌环网和无限LAN

3.数据包封装和分用

不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation).

首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.

数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理

下图为数据封装的过程

在这里插入图片描述

下图为数据分用的过程

在这里插入图片描述

封装和数据分用的过程

在这里插入图片描述

每一层从上到下数据包根据该层的协议进行封装,向上不断的进行解包和分用,最终将数据从一台主机传输到另一台主机上

报文 = 报头 + 有效载荷

这里有两个问题:

如何判断哪里是报头?哪里是有效载荷?

如何判断自己的有效载荷要交给上层的哪一个协议呢

这是每一层协议都必须面对的问题,也都需要解决的,在每一层协议的报头中,一定会涵盖上面的所有信息,这是所有协议的共性

在网络协议中,我们可以认为同层协议在直接通信,也可以理解称为向下进行交付,这是两种不同的认知

4.网络传输流程图

同一个网段内的两台主机进行文件传输

在这里插入图片描述

跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器

我们知道一个设备至少要横跨两个网络,才能实现数据报跨网络转发->路由器必须至少要横跨两个网络->路由器必须有两个网络接口

在这里插入图片描述

在路由器这里,先进行解包,得到数据,然后再进行重新封装,这样就屏蔽了网络底层的差异,进行跨网段传输

网络传输流程图:

在这里插入图片描述

五、网络中的地址管理

1.认识IP地址

IP协议有两个版本, IPv4和IPv6. 我们整个的课程, 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4

IP地址是在IP协议中, 用来标识网络中不同主机的地址;

对于IPv4来说, IP地址是一个4字节, 32位的整数;

我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

2.认识MAC地址

MAC地址用来识别数据链路层中相连的节点;

长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)

在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可

能会冲突; 也有些网卡支持用户配置mac地址)

3.理解IP地址和MAC地址的关系

计算机中有两套地址,分别为IP地址和MAC地址,IP地址分为源IP和目的IP,回答了从哪里来,到哪里去的问题,为我们未来的每一个阶段,提供方向目标,方便进行路径选择。而MAC地址是上一站从哪来,下一站去哪里,该类地址,一直在变化,提供了路径选择的可行性。比如西游记中唐僧说从东土大唐来,到西天去拜佛求经。这里东土大唐就是源IP,西天就是目的IP。而路上经过的黑风岭和火焰山则是MAC地址。

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

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

相关文章

C++与数据库MySQL锁——模拟订票(事务)

假设订票的时候,好几个人同时进入,查看这张票是否售出,假如同时购买了这张票,那对于售票行业来说,可能就会发生低级错误。那么如何避免这类事情发生呢? 解决办法: 在一个人访问的时候&#xf…

DataFunSummit:2023年知识图谱在线峰会-核心PPT资料下载

一、峰会简介 AIGC,ChatGPT以及发布的GPT-4相信已经给大家带来足够的冲击,那么对于知识图谱的应用产生哪些变化和变革?知识图谱在其中如何发挥作用呢?通过LLM是否有可能辅助创建通用大规模知识图谱?AIGC时代下行业知识…

burpsuite专业版的安装和破解(2024年最新)

burpsuite专业版的安装和破解(2024年最新) 简介视频教程下载BP专业版第一步第二步:下载第三步第四步:打开powershell界面第五步:在powershell中执行BurpLoaderKeygen.jar文件第六步:破解第七步:…

聚道云软件连接器,助力某钢铁行业公司实现发票信息自动同步

客户介绍: 某钢铁行业公司是一家大型现代化民营钢铁企业,拥有覆盖钢铁全产业链的冶金装备、技术和全过程信息系统。公司业务涉及钢铁、煤炭、房产等行业,多年来一直保持着稳健的发展态势。 添加图片注释,不超过 140 字&#xff0…

VlnPlot画的其实不是原始数据

昨天的推文描述了让小提琴图肚子变大的做法:让你的小提琴肚子大起来‍‍‍‍‍‍‍‍‍‍‍‍‍ 在此说明:这种不考虑后果,就让肚子大起来的做法是不严谨的。如需使用,建议将原始图和修改图放在一起对比,且在文章中注…

vue3+echart绘制中国地图并根据后端返回的坐标实现涟漪动画效果

1.效果图 2.前期准备 main.js app.use(BaiduMap, {// ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */ak: sRDDfAKpCSG5iF1rvwph4Q95M6tDCApL,// v:3.0, // 默认使用3.0// type: WebGL // ||API 默认API (使用此模式 BMapBMapGL) });i…

K210基础实验系列

CanMV K210 开发板: CanMV K210 是由 01Studio 设计研发,基于嘉楠科技边缘计算芯片 K210 ( RSIC V 架构, 64 位双核)方案的一款开发板,采用硬件一体化设计( K210 核心板、 摄像头、 LCD 集成在一个…

服务器内存不足怎么办?会有什么影响?

服务器内存,也被称为RAM(Random Access Memory),是一种临时存储设备,用于临时存放正在运行的程序和数据。它是服务器上的超高速存储介质,可以快速读取和写入数据,提供给CPU进行实时计算和操作。…

localhost和127.0.0.1的区别是什么

今天在网上逛的时候看到一个问题,没想到大家讨论的很热烈,就是标题中这个: localhost和127.0.0.1的区别是什么? 前端同学本地调试的时候,应该没少和localhost打交道吧,只需要执行 npm run 就能在浏览器中打…

Priors in Deep Image Restoration and Enhancement: A Survey

深度图像恢复和增强中的先验:综述 论文链接:https://arxiv.org/abs/2206.02070 项目链接:https://github.com/VLIS2022/Awesome-Image-Prior (Preprint. Under review) Abstract 图像恢复和增强是通过消除诸如噪声、模糊和分辨率退化等退化…

【北邮国院大四上】Business Technology Strategy 企业技术战略

北邮国院电商大四在读,本笔记仅为PPT内容的整理与翻译,并不代表本课程的考纲及重点,仅为本人复习时方便阅读与思考之作。 写在前面 大家好,欢迎来到大学期间的最后一门课程,本门课程是中方课,所以很庆幸的…

WEB 3D技术 three.js 顶点交换

本文 我们来说 顶点的转换 其实就是 我们所有顶点的位置发生转变 我们整个物体的位置也会随之转变 这里 我们编写代码如下 import ./style.css import * as THREE from "three"; import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.j…

基于MATLAB的均值,方差,变量的矩(附完整代码与例题)

目录 一. 数学期望与方差 二. 样本的均值与方差 三. MATLAB代码 四. 例题与代码 4.1 正态分布 4.2 Rayleigh分布 五. 随机变量的矩 5.1 原点矩与中心距 5.2 例题3 5.3 样本向量的原点矩与中心矩 一. 数学期望与方差 将某连续随机变量x的概率密度函数记为p(x)&#x…

CentOS未能挂起虚拟机

问题: CentOS未能挂起虚拟机 解决方案: 1、切换到root 2、打开/etc/selinux/config 3、编辑fonfig文件SELINUXpermissive 4、重启VMware(很重要!!!简单粗暴,直接右上角x关机。) …

《Linux C编程实战》笔记:创建线程

上一章是进程&#xff0c;这一章是线程 有关线程进程的概念之类的请自行学操作系统吧&#xff0c;书里都是偏实战应用的 线程创建函数pthread_create #include <pthread.h> int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine)…

【AI视野·今日NLP 自然语言处理论文速览 第六十九期】Wed, 3 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 3 Jan 2024 Totally 24 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers An Autoregressive Text-to-Graph Framework for Joint Entity and Relation Extraction Authors Zaratiana Ur…

Presto CLI学习

1. 序言 作为Presto的客户端之一&#xff0c;Presto CLI是一个基于终端的交互式shell&#xff0c;对应presto源码中的presto-cli模块 Presto CLI的本质是一个self-executing jar —— presto-cli-version-executable.jar&#xff0c;就像一个普通的UNIX可执行文件 因此&#…

leaflet呼吸闪烁效果

leaflet呼吸闪烁效果 1.功能背景 这个效果一把用于点击选中&#xff0c;报警提升效果。 2.功能开发 2.1 marker 这个效果还是很好实现&#xff0c;主要通过计时器设置透明度的组合实现。 function setTargetSelect(e){var i 1var int setInterval(() > {if(!e._map…

FineBI实战项目一(4):指标分析之每日订单总额/总笔数

1 明确数据分析目标 统计每天的订单总金额及订单总笔数 2 创建用于保存数据分析结果的表 use finebi_shop_bi;create table app_order_total(id int primary key auto_increment,dt date,total_money double,total_cnt int ); 3 编写SQL语句进行数据分析 selectsubstring(c…

IP地址定位技术筑牢网络安全防线

随着互联网技术的飞速发展&#xff0c;网络安全问题日益凸显&#xff0c;成为人们关注的焦点。如何有效防范和打击网络犯罪&#xff0c;维护国家安全和社会稳定&#xff0c;是摆在我们面前的一项紧迫任务。IP地址定位技术作为网络安全领域的一项重要技术&#xff0c;在防范和打…