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

devtools/2025/2/23 4:20:11/

麻烦先把五个层次刻进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.ppmy.cn/devtools/11605.html

相关文章

flutter 点击按钮限流方案

文章目录 前言一、理解限流的思想二、flutter实现代码如下:总结 前言 最近写flutter项目,遇到提交表单重复点击问题,下面是解决方案,希望帮助到大家。 一、理解限流的思想 1、限流思想 限流(Throttle) 限…

springboot中thymeleaf模板引用页面总结

1、先创建一个需要被引用的html页面&#xff0c;在页面里面不需要放公共的css、js&#xff0c;只需要写一些html片段即可&#xff0c;但是需要在外层html添加上th:fragment属性&#xff0c;如下所示&#xff1a; <div th:fragment"common_top"><ul><…

智能合约:概念与特点(了解什么是智能合约以及它的特点,如自动执行、不可篡改和可信任)

1.自动执行 智能合约通过预定义的代码和规则&#xff0c;在满足特定条件时自动执行。无需第三方介入&#xff0c;合约中的操作将在预定条件满足时自动触发。 2.不可篡改 智能合约的代码一旦部署在区块链上&#xff0c;便不可更改。这意味着合约一旦被创建&#xff0c;其中的规则…

Day13-Java进阶-IO字节流及其练习题

1. IO流介绍 2. IO 流体系结构 字节流读取纯文本文件会出现乱码问题 2.1 FileOutputStream 字节输出流 package com.itheima.stream.output;import java.io.FileOutputStream; import java.io.IOException;public class FileOutputStreamDemo3 {/*IO流的异常处理方式: jdk7版本…

SRS服务接入华为云CDN

CDN简介: CDN的全称是Content Delivery Network&#xff0c;即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节&#xff0c;使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网…

科研基础与工具(论文写作)

免责申明&#xff1a; 本文内容只是学习笔记&#xff0c;不代表个人观点&#xff0c;希望各位看官自行甄别 参考文献 科研基础与工具&#xff08;YouTube&#xff09; 学术写作句型 Academic Phrase bank 曼彻斯特大学维护的一个网站 写论文的时候&#xff0c;不不知道怎么…

vue3【详解】选项式 API 实现逻辑复用

抽离逻辑代码到一个函数函数命名约定为 useXxxx格式 ( React Hooks 也是 )在 setup 中引用 useXxx 函数 演示代码&#xff1a;实时获取鼠标的坐标 逻辑封装 useMousePosition.js // 导入 ref, onMounted, onUnmounted import { ref, onMounted, onUnmounted } from "vue…

golang实现获取切片的交集和差集

一.交集 1.两个切片的交集 采用map实现取两个切片的交集,其中如果map[key]访问成功&#xff0c;即有key这个键&#xff0c;ok为true&#xff0c;否则ok为false。,以string类型为例&#xff1a; //a 切片, b 切片 func intersect(a []string, b []string) []string {//初始化一…