【计算机网络】基础知识,常识应用知识
- 局域网使用的是广播技术,广域网使用的是点对点技术,使用的协议不同。
- 局域网工作在数据链路层,可以不要网络层,不存在路由选择问题。
- 1968年6月,世界上最早的计算机网络是ARPAnet
- 服务原语:请求、指示、相应、证实。
- 可靠服务:纠错、检错、应答机制。
- TCP/IP模型中,传输层提供面向连接与无连接的服务、网络层只有无连接服务。
- ISO/OSI参考模型中,传输层只有面向连接服务,网络层支持无连接和面向连接。
- 奈奎斯特定理:理想低通信道下的极限速率= 2Wlog2(V),W理想低通信道带宽,V每个码元离散电平数。
- 香农定理:信道的极限速率=Wlog2(1+S/N),W信道带宽,S信道传输信号平均速率,N高斯噪声功率。S/N为信噪比,信噪比=10log10(S/N)
- 以太网使用的编码方式:曼彻斯特编码,码元中间出现跳变,下跳为1,上跳为0。
- 编码:归零编码RZ、非归零编码NRZ、反向非归零编码NRZI、曼彻斯特编码、差分曼彻斯特编码
- 调制:幅移键控ASK、频移键控FSK、相移键控PSK、正交振幅调制QAM。
- QAM中,R=Blog2N。码元速率转化为传输速率。
- 同步传输、异步传输是通信方式,串行传输和并行传输是传输方式。
- 双绞线绞合的目的是减少两根导线相互的电磁干扰。
- 电缆中屏蔽层的作用是提高电缆的抗干扰能力。
- 卫星通信成本高、传播时延场、受大气影响、保密性差、误码率高。覆盖范围广、距离长。
- 差错控制:处理出错的情况,奇偶校验,CRC校验,海明码纠错检错。
- 流量控制:实际上是对发送方的数据流量的控制(不能一次性发太多内容,会拥堵)。
- 最大信道利用率=发送数据时间/从开始发送第一帧到收到第一个确认帧的时间
- 介质访问控制:决定广播信道中信道分配的协议层,MAC层(多个双方通信使用同一个链路,进行信道的划分)。频分复用,时分复用,波分复用,码分复用。
- 黄豆和绿豆同时运输,FDM、WDM就是公路划分两个车道各自使用,TDM就是不同时段走一趟,依次轮流走。CDM将黄豆绿豆混合一起,运送到达之后再分开。
- 码分多址CDMA:每个站点有一个码片,发送时数据位为1则发送码片,为0则发送反码。在公共信道上进行线性叠加。接收站点收到数据后,与发送站点的码片做内积进行数据分离。
- 随机介质访问控制:不进行固定的划分信道,用户根据自己意愿随机发送信息,占用信道全部速率。多个用户同时发送时产生帧的冲突。ALHOA、CMSA、CMSA/CD、CMSA/CA。
- ALHOA协议:纯ALHOA,碰撞后随机等待一段时间后重传。吞吐量低。时隙ALHOA,所有站点时间同步后,只有时隙开始时可以发送帧。
- CSMA载波侦听多路访问协议:比起ALHOA多了载波侦听装置,检测信道是否在忙。
1-坚持CSMA,持续侦听,空闲则发送,冲突后随机等待一段时间重新开始。
非坚持CSMA,侦听信道,空闲则放弃,随机等待一段时间后重新开始。
p-坚持CMSA,信道空闲时,以概率p发送,1-p推迟下一个时隙。信道忙则持续侦听。 - CSMA/CD碰撞检测协议:先听后发,边听边发,冲突停发,随机重发。半双工的以太网。冲突恢复时,采用二进制指数退避算法。从0-(2k-1)之间随机取值r,2rt作为退避时间,重传16次不成功则向上层反馈网络拥挤。
- 以太网规定51.2μs为争用期长度,所以对于10Mb/s以太网,争用期可发送512bit,即最短帧长为64B。
- CSMA/CD与CSMA/CA比较:1)CSMA/CD可以检测冲突,但不能避免;CSMA/CA在发送时无法检测,本节点无冲突不代表接受节点无冲突,只能尽量避免。2)传输介质不同,CSMA/CD用于总线型以太网;CSMA/CA协议用于无线局域网IEEE 802.11a/b/g/n。3)检测方式不同,CSMA/CD通过电压变化,CSMA/CA采用能量检测和载波检测。
- 以太网MAC协议提供无连接的不可靠服务,提供的是广播式服务。
- 100Base-T以太网中T表示双绞线,F表示光纤。
- PPP点对点协议:标志字段F(1B),地址字段A(1B),控制字段C(1B),协议字段(2B),尾部FCS(2B),标志字段F(1B)。有差错检测,但不纠错。只支持全双工链路,两端可以使用不同的网络层协议。面向字节,软件实现。
- HDLC高级数据链路控制协议:面向比特,几乎总以硬件形式实现。
- 拥塞控制:确保子网能够承载所达到的流量,是一个全局性的过程。涉及网络中所有主机、路由器。而流量控制,只发送端和接收端之间点对点通信的控制,控制发送端发送速率,以便接收端能够来得及收。
- IP头部20B-60B,首部中有3个长度,首部长度占4位,总长度占16位,片偏移占13位。基本单位位4B、1B和8B。首部长度(24-1)*4B=60B。总长度216B=65535B。片偏移字段用于分片后的数据包,表示该片在原分组中的相对位置。
- 以太网最大传输单元MTU为1500B,许多广域网MTU不超过576B。
- 私有地址:A:10.0.0.0-10.255.255.255;B:172.16.0.0-172.31.255.255;C:192.169.0.0-192.168.255.255。
- 路由器连接多个网络,不仅有多个IP地址,也有多个MAC地址。
- ARP协议工作在IP层,NAT路由器工作在传输层,用到了端口。
- DHCP即插即用,应用层协议。主机向DHCP服务器发送发现报文,成为DHCP客户,本网络上所有主机都能收到,只有服务器回答,回答报文称为提供报文。
- ICMP网际控制报文协议:ICMP询问报文和ICMP差错报告报文。ping使用了ICMP回送请求和回答报文。
- NAT网络地址转换,多个主机公用一个IP地址,将公有IP地址转化为私有地址。
- IGP:RIP固定周期和相邻路由器交换全部信息(应用层协议,使用UDP)特点:坏消息传得慢;
OSPF发生变化时向自治系统内所有路由器发送本路由器相邻状态(网络层协议,交换信息量大,报文长度尽可能短,所以使用IP)。
EGP:BGP(应用层协议,网络环境复杂,需要保证可靠性,所以使用TCP)。 - IP组播,仅应用于UDP。使用IGMP协议加入组播。
- 通常网络的默认网关地址,就是路由器端口的IP地址。
- 端口号:0-1023应用程序。
- UDP在IP数据报服务之上,添加了复用和分用以及差错检测。UDP分用时一句目的端口号。
- TCP协议是面向字节流的,面向连接的点对点协议。提供全双工通信。TCP两端都设有发送缓存和接收缓存。
- TCP三握手、四握手。建立连接三握手:1)SYN=1,seq=x;2)SYN=1,ACK=1,seq=y,ack=x+1;3)ACK=1,seq=x+1,ack=y+1。
释放连接四握手:1)FIN=1,seq=u;2)ACK=1,seq=v,ack=u+1;3)服务器发完数据才停止FIN=1,ACK=1,seq=w,ack=u+1;4)ACK=1,seq=u+1,ack=w+1。 - TCP流量控制,基于滑动窗口协议的流量控制。接收窗口,拥塞窗口,二者取小值。
- TCP拥塞控制,发送窗口上限=min(接收窗口rwnd,拥塞窗口cwnd)。慢开始(翻倍,直到慢开始门限)、拥塞避免算法(每次加1,出现超时则慢开始门限ssthresh减半)、快重传(发送方收到3个重复ACK,直接重传而不是等待重传计时器超时)、快恢复(ssthresh减半之后,窗口不从1重新开始)。
- DNS域名系统53:本地域名服务器、根域名服务器、顶级域名服务器、权限域名服务器。递归查询(按照顺序依次深入询问),迭代查询(通过本地域名服务器分别询问后三者)。
- FTP文件传输协议20/21:控制连接21号,数据连接20号端口。
- SMTP简单邮件传输协议25、POP3邮局协议110。客户端通过邮件服务器进行邮件的往来。格式:From: hoop@hhh.com To: abc@hust.edu.cn Subject: Say hello to Internet。其中SMTP服务器回答代码:250 OK,550 No such users.
- URL统一资源定位符:<协议>://<主机>:<端口>/<路径>。
- 浏览器访问页面的过程:1)分析URL;2)向DNS请求解析IP;3)DNS解析IP地址;4)与服务器建立TCP连接(80);5)发送HTTP请求;6)服务器把文件发送给浏览器;7)释放TCP连接;8)浏览器解释文件,web展示给用户。
相关文章:
【计算机网络】基础知识,常识应用知识
局域网使用的是广播技术,广域网使用的是点对点技术,使用的协议不同。局域网工作在数据链路层,可以不要网络层,不存在路由选择问题。1968年6月,世界上最早的计算机网络是ARPAnet服务原语:请求、指示、相应、…...

【Linux进程篇1】认识冯·诺依曼体系结构(引出进程详解)
--------------------------------------------------------------------------------------------------------------------------------- 每日鸡汤: 用这生命中的每一秒,给自己一个不后悔的未来。 -----------------------------------------------…...

使用iviewui组件库的坑
背景 使用view-design组件库的Input组件的时候,按照产品的要求,输入框中只能键入正整数。 使用效果 如果直接使用组件的type属性,设置类型为number时,乍一看没啥问题,但是当我们键入 小数点(.) 或者 e/E 后面没有跟任…...
高级sql使用技巧
窗口函数(Window Functions): 窗口函数可以在结果集的行之间进行计算,例如计算移动平均值、排名等。在使用时,可以使用 OVER() 语句来定义窗口。例如: sql SELECT employee_id,salary,AVG(salary) OVER (P…...

403 Request Entity Too Lager(请求体太大啦)
昨天收到 QA 的生产报障,说是测试环境的附件上传功能报了 403 的错误,错误信息:403 Request Entity Too Lager。我尝试复现问题,发现传个几兆的文件都费劲啊,一传一个失败。不用说,项目用到 ng 代理&#x…...

Flutter 正在切换成 Monorepo 和支持 workspaces
其实关于 Monorepo 和 workspaces 相关内容在之前《Dart 3.5 发布,全新 Dart Roadmap Update》 和 《Flutter 之 ftcon24usa 大会,创始人分享 Flutter 十年发展史》 就有简单提到过,而目前来说刚好看到 flaux 这个新进展,所以就再…...

小白初入Android_studio所遇到的坑以及怎么解决
1. 安装Android_studio 参考:Android Studio 安装配置教程 - Windows(详细版)-CSDN博客 Android Studio超级详细讲解下载、安装配置教程(建议收藏)_androidstudio-CSDN博客 想下旧版本的android_studio的地址(仅供参考…...
NetCore使用Aop和内存缓存对接口、方法进行数据缓存
通过Aop内存缓存对接口、方法进行缓存 源码地址https://gitee.com/wangbenchi66/nuget 1. nuget包引入 必须引入包 至少在2024.11.7以上 <PackageReference Include"WBC66.Cache.Core" Version"2024.11.7" />必须开启内存缓存 否则后续步骤无法正…...
playwright学习记录2--定位方式
快捷导航 定位方式:元素操作断言方式自动等待 定位方式: csspage.get_by_role() 通过显式和隐式可访问性属性进行定位。page.get_by_text() 按文本内容定位。page.get_by_label() 通过关联标签的文本定位表单控件。page.get_by_placeholder() 通过占位符…...

响应式网页设计--html
一,HTML 文档的基本结构 一个典型的 HTML 文档包含了几个主要部分,基本结构如下(本文以下出现的所有代码都可以套入下面示例进行测试): <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8&q…...
C#核心(8) 静态成员
前言 先前我们已经学习了成员变量以及成员属性。 静态成员对于在整个应用程序中共享数据和功能非常有用。它们可以用于跟踪全局状态、共享常量和实现单例模式等。但是需要注意的是,过度使用静态成员可能导致代码变得难以维护和测试,因此应谨慎使用。其…...

关于git使用的图文教程(包括基本使用,处理冲突问题等等)超详细
目录 用户签名,初始化git git提交流程图 提交到本地库 版本穿梭 分支操作 分支合并冲突 团队协作 github的使用 推送代码 克隆 拉取代码 团队协作冲突 团队协作之分支管理 推送分支到分支: 拉去远程库分支到本地库: 本地删除远程分支&am…...
Axios 的 responseType 属性详解及 Blob 与 ArrayBuffer 解析
在前端开发的广阔天地中,Axios 犹如一颗璀璨的明星,为我们与服务器之间的通信搭建起坚实的桥梁。其中,responseType 属性更是赋予了我们灵活处理服务器响应的强大能力。 一、Axios 的 responseType 属性值及示例 1.arraybuffer 当我们将 r…...

redis集群介绍
1. 节点(Node): • Redis集群中的单个Redis服务器实例。每个节点都运行一个Redis服务器进程,并维护自己的数据。 2. 分片(Sharding): • 将数据集分割成多个部分,并分布到不同的节点…...
JDK中常用的包有哪些?
1.java.lang 描述:包含Java语言的核心类,不需要显式导入。 常用类:Object、String、Math、System、Thread、Exception等。 2.java.util 描述:提供了集合框架、日期和时间功能、随机数生成、扫描和格式化等实用工具类。 常用类…...

校园官网练习---web
HTML: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>西安工商学院</title><…...
MySQL中指定字段的某个值排在前面
一 需求 如果我们想讲表中指定的字段的某一个值排序在最前面应该如何处理? 二 实现方式 方法 1、使用<>,xml中使用<![CDATA[跳过解析的特殊符号]]>或者<(小于符号)>(大于符号) ORDER …...

【51单片机】I2C总线详解 + AT24C02
学习使用的开发板:STC89C52RC/LE52RC 编程软件:Keil5 烧录软件:stc-isp 开发板实图: 文章目录 AT24C02介绍存储器 I2C总线介绍I2C时序结构数据帧AT24C02数据帧 编程实例 —— 按键控制数据大小&存储器写入读出 AT24C02介绍 …...
直接插入排序法
任务描述 本关任务:要求编写程序实现直接插入排序的功能。 相关知识 直接插入排序,是指将无序序列中的各元素依次插入到已经有序的数组中。 假设数组中前 i-1 元素已经有序,现在要将线性表中第 i 个元素插入到前面的有序子表中,…...
mysql中InnoDB索引与MyISAM索引
mysql索引 InnoDB 索引存储 主键索引(聚簇索引) 定义:主键索引是 InnoDB 存储引擎的聚簇索引,它决定了表中数据的物理存储顺序。每个 InnoDB 表都有一个且仅有一个聚簇索引。存储:主键索引的叶子节点直接包含表的数…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...