计算机网络----由概述到ICMP

麻烦先把五个层次刻进DNA里面
应用层
传输层
网络层
数据链路层
物理层
网络层和传输层的区别
网络层:设备到设备
传输层:端口到端口,进程到进程
物理层:
考虑的是怎样才能在连接计算机的传输媒体上传输比特流,
主要考虑的是屏蔽掉不同传输媒体和通信手段的差异
传播介质分为非引导型介质和引导型介质
引导型介质有:光纤,双绞线
如果是非引导性介质,例如:无线电,不需要介质进行传播,信号自由传播。
电路交换的三个阶段:
1.建立连接
2.传输数据
3.释放连接
电路交换的资源利用率没有分组交换的高
物理层中,我们学习到信道复用的问题
这里涉及到几种不同的复用方法,我将列举出来并作出我的理解:
1.频分复用:
在相同的时间内,每个用户占据信道的不同频率,占用不同的带宽资源
2.时分复用:
在不同的时间里使用带宽资源
3.波分复用:
就是光的频率分复用,使用一根光纤传播载波信号,关于载波信号,这里又有说法:基带调制可以把信号编程编码,而载波是将调值好的基带信号,用一段比较高的频率,将信号的频率调高,传播的效率速率都会更快。这里还需要使用复用器和分用器,复用器可以将多个不同频率的光的频率整合起来,
通过光纤进行传播,分用器又可以将光纤上的信号分开,由此转给不同的终端。

接下来登场的是数据链路层,是接口到接口,进程到进程的通信。
数据链路层要解决的问题,也就是数据链路层的功能主要有以下三个:
1.成帧:将比特流划分成帧可以便于检测出数据传输中可能出现的差错。功能也需借助帧的各个域来实现。
2.差错控制:
处理传输中会出现的错误,如丢失,错误等。
3.流量控制:
确认发送速率小于接收端的处理速率,防止接收端的缓冲区溢出。
那我们一个一个看这三个功能:
首先是成帧:这里有一个概念,也就是定界符:连续出现6个1比特(0x7E)
发送方的处理:如果连续出现5个1比特,在这里填充一个0比特。
接收方的处理,如果连续出现五个1比特,检查后面一个比特,如果后面一个比特为0,直接丢弃0比特,如果后面一个比特为1,则这一帧结束。

接下来是差错控制:
链路层存在的一个问题:信道的噪声导致数据传输问题
差错:数据发生错误
丢失:接收方未收到
乱序
重复
这里有一个小概念,也就是信噪比,信噪比越高数据传输的质量也就越高。
解决方案就是差错检测与纠正,确认重传
确认重传很简单,接收方校验数据,并给发送方应答,防止差错
还有定时器:发送方启动定时器,防止丢失
顺序号:接收方检查序号,防止乱序递交,重复递交。
差错检验与纠正:
考虑的的问题:
信道的传输特征
冗余量的计算方法,携带的荣誉信息量,冗余量的计算复杂度
推荐使用CRC算法,简单易懂,并且还能查看余数
接下来登场的是:流量控制
这是链路层存在的另一个问题:也就是接收方的处理问题
接收房的接收区会有缓冲溢出的问题。
这里也会有两解决方案
1.基于反馈的解决方案:接收方会向发送方反馈,发送方调整发送速率。
2.基于速率:发送方根据内建机制,自行限速。
数据链路层分为两个子层:
mac子层:介质访问
LLC子层:承上启下
虚拟局域网VLAN:
广播域:广播域是广播帧能够到达的范围;
广播帧在广播域中传播,占用资源,降低性能,并且会有安全隐患。
VLAN是数据传输层中根据用途,工作组,应用来进行逻辑划分的局域网络,与物理位置无关,一个公司中,市场部可以是一个局域网,研发部也可以是一个局域网,VLAN之间无法直接通信,但是可以经过路由器或者三层交换机进行VALN间路由,实现VLAN间通信。
VLAN的类型:
1.基于端口的VLAN:
这里分为两个步骤,创建VLAN,并指定成员端口。
还可以基于MAC地址进行通信MAC地址就可以决定成员身份了。
基于协议的VLAN:通常需要服务器的参与。
基于子网的VLAN:一个子网也就是一个VLAN

接下来登场的是无线局域网WLAN
在之前物理层的时候我们说过,传输介质分为非引导形和引导形介质,其中在非引导形的传输介质中,我们的举例就是WLAN,WLAN是以无线信道作为传输介质的计算机局域网。
无线局域网的基础架构组成:
分布式系统(DS)
访问点(AP):类似于一个家庭吧,也不知道是否恰当,访问点可以提供无线局域网给站点
站点(STA):也就是端口设备,手机,电脑
基本服务集(BSS):就是一个小的无线局域网。
扩展服务集(ESS):一个大的无线局域网。
站点之间通信通过AP转发.

WLAN的自组织模式
站点
独立基本服务集(IBSS)
站点之间直接通信
共享同一无线信道

无线局域网需要解决的问题:
1.有限的无线频谱带宽资源
通道划分 空间重用
提高传输速率 解决传输问题
提高抗干扰能力和保密性

共享的无线信道
介质访问控制方法
可靠性传输,安全性

组网模式管理
BSS构建,认证,关联
移动性支持(漫游)
睡眠管理(节能模式)

接下来登场的是《计算机网络(第八版)》的重难点:网络层
网络层设法将数据通过不同的端点从源端经过若干个中间结点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
网络层关键功能:
路由(控制面)
选择数据报从源端到目的端的路径
核心:路由算法与协议。路由器里面是路由表(也叫转发表),交换机里面是交换表。
转发(数据面)
将数据报从路由器的输入接口传送到正确的输出接口
数据包:通信中的数据单位,处于网络层,在局域网中,数据包是包含在帧里面的。
数据报:多于网络层以上,面向无连接的数据传输,工作过程类似于报文交换。采用数据报方式传输时,被传输的分组称为数据报。
数据报分片,原因:数据报长度大于传输链路的MTU
MTU:最大传输单元
分组和帧的区别:在数据链路层中,将分完组的数据加上头部和尾标后就成为了一个帧。
将32位的IP地址划分为前后两个部分,并在最后加上/并且写出网络前缀所占的位数
相信很多人会分不清IP地址和MAC地址的区别
MAC地址:存在于数据链路层,并且在计算机的硬件中以及刻好了,用来识别同一链路中不同的计算机。
IP地址:存在于网络层中,用来识别计算机网络中互连的主机和路由器。
那么接下来,通过几个问题好好解释一下区别
1.mac地址像身份证,在计算机的网卡上都刻着的,就像出生的县城。
2.IP地址则是在网络中的,是私人的。
那么,为什么有了mac地址还需要IP地址?
你出生在那里,你不一定在那里,我写信给你,寄不到你家里。
那么,有IP地址为什么还要mac地址?
因为需要可靠的传输,大喊一声谁是目标IP,这时候,目标IP就会告知自己的mac地址,标识唯一的一台主机。
通过目标IP来获取MAC地址是由ARP协议来完成的。
A已知B的IP地址,需要获得B的MAC地址(物理地址)
如果A的ARP表中缓存有B的IP地址与MAC地址的映射关系,则直接从ARP表获取
如果A的ARP表中未缓存有B的IP地址与MAC地址的映射关系,则A广播包含B的IP地址的ARP query分组
在局域网上的所有节点都可以接收到ARP query
B接收到ARP query分组后,将自己的MAC地址发送给A
A在ARP表中缓存B的IP地址和MAC地址的映射关系
超时时删除
网络地址转换(NAT)
用于解决IPv4地址不足的问题,是一种将私有地址转化为公有IPP地址的转化技术。
NAT的优势:节省合法地址,减少地址冲突
灵活连接internet
保护局域网的私密性
ICMP:互联网控制报文协议
ICMP允许允许主机或路由器报告差错情况和提供有关异常情况的报告
由主机和路由器用于网络层信息的通信
ICMP报文携带在IP数据报中,IP上层协议号为1.
ICMP报文类型:
ICMP差错报告报文
终点不可达:不可达主机,不可达网络,无效端口,协议
ICMP询问报文:回答请求/回答
在ICMP上,有一个4字节的类型内容,其中
3是终点不可达
5是改变路由
11:时间超时
12:参数问题
8或0:回送请求或应答
13或14:时间戳请求或回答

路由算法:
路由算法必须满足的特性:
正确性
简单性
鲁棒性也就是稳健性
稳定性
公平性
有效性
路由器只掌握物理相连的邻居以及链路费用
由一个路由器直接相连的网络,此时的距离为1.
每经过一个网络,也就是每跳一次,距离加一
路由选择协议RIP是基于距离矢量算法的协议
使用跳数衡量到达目的网路的距离
RIP协议的基本思想:
仅和相邻路由器交换信息
路由器交换的内容是自己的路由表
30S更新一次
RIP协议的特点:算法简单,易于实现
收敛慢
需要交换的信息量较大
RIP适用于中小型网络

会持续更新,请大家持续关注

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

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

相关文章

高级IO和5种IO模型

目录 1. 高级IO1.1 IO的基本概念1.2 OS如何得知外设当中有数据可读取1.3 OS如何处理从网卡中读取到的数据包1.4 IO的步骤 2. 五种IO模型2.1 利用钓鱼来理解2.2 阻塞IO2.3 非阻塞IO2.4 信号驱动IO2.5 IO多路转接2.6 异步IO 3. 高级IO的概念3.1 同步通信 VS 异步通信3.2 阻塞 VS …

k-means聚类算法的MATLAB实现及可视化

K-means算法是一种无监督学习算法,主要用于数据聚类。其工作原理基于迭代优化,将数据点划分为K个集群,使得每个数据点都属于最近的集群,并且每个集群的中心(质心)是所有属于该集群的数据点的平均值。以下是…

STM32有什么高速接口吗?

STM32系列微控制器在高速接口方面也提供了一些强大的功能,虽然没有像Zynq那样的可编程逻辑部分,但有一些特性值得注意。我这里有一套嵌入式入门教程,不仅包含了详细的视频 讲解,项目实战。如果你渴望学习嵌入式,不妨点…

【数据结构与算法】用两个栈实现一个队列

题目 用两个栈,实现一个队列功能 add delete length 队列 用数组可以实现队列,数组和队列的区别是:队列是逻辑结构是一个抽象模型,简单地可以用数组、链表实现,所以数组和链表是一个物理结构,队列是一个逻…

Go 单元测试基本介绍

文章目录 引入一、单元测试基本介绍1.1 什么是单元测试?1.2 如何写好单元测试1.3 单元测试的优点1.4 单元测试的设计原则 二、Go语言测试2.1 Go单元测试概要2.2 Go单元测试基本规范2.3 一个简单例子2.3.1 使用Goland 生成测试文件2.3.2 运行单元测试2.3.3 完善测试用…

easyexcel升级3.3.4失败的经历

原本想通过easyexcel从2.2.6升级到3.3.3解决一部分问题,结果之前的可以用的代码,却无端的出现bug 1 Sheet index (1) is out of range (0…0) 什么都没有改,就出了问题,那么问题肯定出现在easyexcel版本自身.使用模板填充的方式进…

conda新建环境报错An HTTP error occurred when trying to retrieve this URL.

conda新建环境报错如下 cat .condarc #将 .condarc文件中的内容删除,改成下面的内容 vi .condarc channels:- defaults show_channel_urls: true default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.…

权限管理Ranger详解

文章目录 一、Ranger概述与安装1、Ranger概述1.1 Ranger介绍1.2 Ranger的目标1.3 Ranger支持的框架1.4 Ranger的架构1.5 Ranger的工作原理 2、Ranger安装2.1 创建系统用户和Kerberos主体2.2 数据库环境准备2.3 安装RangerAdmin2.4 启动RangerAdmin 二、Ranger简单使用1、安装 R…

【Java NIO】那NIO为什么速度快?

Java IO在工作中其实不常用到,更别提NIO了。但NIO却是高效操作I/O流的必备技能,如顶级开源项目Kafka、Netty、RocketMQ等都采用了NIO技术,NIO也是大多数面试官必考的体系知识。虽然骨头有点难啃,但还是要慢慢消耗知识、学以致用哈…

# RAG | Langchain # Langchain RAG:打造Markdown文件的结构化分割解决方案

【文章简介】 在信息技术的现代背景下,高效地处理和分析文本数据对于知识获取和决策支持至关重要。Markdown文件因其易读性和高效性,在文档编写和知识共享中占据了重要地位。然而,传统的文本处理方法往往忽视了Markdown的结构化特性&#xff…

KNIME 国际化支持投票

你的投票也许能让 KNIME 中文化快一点点。 i18n 是个很搞笑的单词,它是英文 internationalization 国际化的缩写。18 指的是首字母i和末字母n中间有18个字母。另外还有什么 K8s 也是一样,中间省去了8个字母 ... 真是懒的可以。指北君还想起一个类似的笑话…

数字革命的先锋:Web3对社会的影响

引言 在信息技术飞速发展的当下,Web3作为一个新兴的互联网模式,正在逐渐改变我们的生活方式、商业模式和社会结构。本文将深入探讨Web3的核心特点、它在各个领域中的应用以及对社会产生的深远影响。 1. Web3的核心特点 1.1 去中心化 Web3强调去中心化…

记【k8s】:访问 Prometheus UI界面:kubernetes-etcd (0/1 up) Error : out of bounds

记【k8s】:访问 Prometheus UI界面:kubernetes-etcd (0/1 up) Error : out of bounds 1、报错详情2、解决方法 💖The Begin💖点点关注,收藏不迷路💖 出现 “out of bound…

Synchronized锁详解(全网最细)

目录 以下知识基于HotSpot虚拟机实现 1.前置知识 1.1 锁的作用 1.2 Java中常见的锁类型 1.3 锁的重入 2.使用场景 2.1 修饰实例方法 2.1.1 用法 2.1.2 原理 2.1.3 特点 2.2 修饰静态方法 2.2.1 用法 2.2.2 原理 2.3 修饰代码块 2.3.1 用法 3.原理 3.1 对象锁 …

数字电路(四,五章总结)

四.组合逻辑电路设计 由波形图列真值表,之 后画出卡诺图,写出最简逻辑表达式。 卡诺图化简的时候圈住的部分如果某个字母有0又有1的话这个字母删掉,写出其他两个字母。 如下图中黄圈A有0又有1则删除A,这样黄圈代表BC;同理绿圈代…

SpringBoot项目基于java的教学辅助平台

采用技术 SpringBoot项目基于java的教学辅助平台的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringBootMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 学生信息管理 教师信息管理 课程信息管理 科目分类管…

Pytorch入门实战 P06-调用vgg16模型,进行人脸预测

目录 1、本文内容: 1、内容: 2、简单介绍下VGG16: 3、相关其他模型也可以调用: 2、代码展示: 3、训练结果: 1、不同优化器: ①【使用SGD优化器】 ②【使用Adam优化器】 ③Adam 动态学…

(BERT蒸馏)TinyBERT: Distilling BERT for Natural Language Understanding

文章链接:https://arxiv.org/abs/1909.10351 背景 在自然语言处理(NLP)领域,预训练语言模型(如BERT)通过大规模的数据训练,已在多种NLP任务中取得了卓越的性能。尽管BERT模型在语言理解和生成…

深度学习 Lecture 7 迁移学习、精确率、召回率和F1评分

一、迁移学习(Transfer learning) 用来自不同任务的数据来帮助我解决当前任务。 场景:比如现在我想要识别从0到9度手写数字,但是我没有那么多手写数字的带标签数据。我可以找到一个很大的数据集,比如有一百万张图片的猫、狗、汽…

论文笔记:(INTHE)WILDCHAT:570K CHATGPT INTERACTION LOGS IN THE WILD

iclr 2024 spotlight reviewer 评分 5668 1 intro 由大型语言模型驱动的对话代理(ChatGPT,Claude 2,Bard,Bing Chat) 他们的开发流程通常包括三个主要阶段 预训练语言模型在被称为“指令调优”数据集上进行微调&…