【计算机网络】基础知识,常识应用知识
- 局域网使用的是广播技术,广域网使用的是点对点技术,使用的协议不同。
- 局域网工作在数据链路层,可以不要网络层,不存在路由选择问题。
- 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 表都有一个且仅有一个聚簇索引。存储:主键索引的叶子节点直接包含表的数…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
