Skip to content

Commit

Permalink
更新政治
Browse files Browse the repository at this point in the history
  • Loading branch information
870138612 committed Dec 18, 2024
1 parent 5f0f9d9 commit 655bb3d
Show file tree
Hide file tree
Showing 2 changed files with 355 additions and 16 deletions.
36 changes: 20 additions & 16 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

335 changes: 335 additions & 0 deletions src/discovery/4network.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,338 @@ category:
tag:
- 计算机网络
---
网络体系结构

- 带宽,数据传输率,信号的频率范围.

- 传播时延,信号在信道上移动花的时间.传输时延,信号完全进入信道花费的时间.

物理层

- 码元传输速率,波特率,信号变化的频率,如果一个码元携带$n$种电平,则需要$\log n$位的$bit$,$n=2$则波特率和比特率在数值上相等.

- 模拟信道传输模拟信号,正弦余弦波;数字信号,电平跳变.

- 码间串扰,由于带宽限制,导致信号的波峰波谷消失,缺少界限.

- 奈奎斯特定理,理想情况下,不存在噪声.

- $2W\log N$,$W$带宽,$N$电平的变化数目.

- 香农定理,有噪声

- 信噪比,带单位$dB$,信噪比$=10\log_{10}(S/N)$,$S/N$信噪比,但是不带单位.

- $W\log_2(1+S/N)$

- 有同步信号的编码曼彻斯特编码.

- $f_采=2f$.

- $10BASE-F$,则表示通过光纤传输$10Mb/s$的基带信号,如果是$T$表示使用双绞线进行传输.

- 单模光纤和多模光纤,单模光纤的直径等于一个波的直径,折损率较少,支持远距离传输.

- 物理层的作用透明传输比特流,集线器($HUB$,一分多,一个端口收到信号,从其他端口全部转发),中继器(放大数字信号),放大器(放大模拟信号),由于是傻瓜层的设备,所以不能隔离冲突域和广播域.

- 中继器的原理是信号重生.

数据链路层

- 有连接一定要有确认,不存在无确认的面向连接服务,有连接有确认的协议$TCP$,$HTTP$,$POP3$,$SMTP$,$FTP$.

- 直播用没有确认的协议$UDP$,网站上看视频用有确认的协议$TCP$.

- 组帧的作用是将比特流拆分成帧.

- 字符计数法,一帧中的首个数字代表帧的字节数.

- 字节填充法,使用控制字符表示开始和结束.

- 零比特填充法,遇到$5$个$1$就在后面插入一个$0$.

- 奇偶校验码,奇校验,则在数据后面加$1$位,使得$1$的个数是奇数个;只能检测奇数位的错误,不能检测偶数位的错误.

- 循环冗余校验码在帧上.

- 海明码能纠错,$n+k\le2^k-1$,$k$是检验位的位数,$n$是原来数据的长度.

- 能检测出$d$位的错误,则需要海明距为$d+1$的编码方案,如果要纠正$d$位错误则需要海明距为$2d+1$.

- 停止等待协议,发送窗口$=1$,接收窗口$=1$,接收方收到的数据有序的.

- 后退$N$帧协议,发送窗口$>1$,接收窗口$=1$,发送窗口大小$1<W\le2^n-1$,累计确认,接收方收到的数据有序的.

- 选择重传协议,发送窗口$=$接收窗口$>1$,发送窗口$1<W\le2^{(n-1)}$,没有累计确认,收到的数据不一定有序.

- $GBN$数据传输率$\cfrac{nT_D}{T_D+RTT+T_A}$,$T$是发送时延,$RTT$往返时延,

- 当$nT_D\ge T_D+RTT+T_A$,可以不间断发送数据,信道利用率为$1$.

- 当$nT_D < T_D+RTT+T_A$,发送窗口数据发送完之后,确认帧还没到,发送是断断续续的,信道利用率低于$1$.

- 静态介质访问控制协议,$FDM$,$TDM$,$WDM$,$CDM$并不是动态控制,在传输之前就定好了协议.

- $ALOHA$,想发就发.

- $CSMA$,载波监听访问协议,发送之前监听信道,没有数据再发送.

- $CSMA/CD$,带冲突检测的载波监听访问协议,发送之前监听信道,没有数据再发送,并且过了争用期之后才认为数据发送成功,没有确认.

- 截断二进制退避算法,重发次数$k$,在$[1,2^{min(k,10)}-1]$取随机数$\times RTT$时间后进行重发,$16$次表示不可达.

- 最短帧长$64B=51.2us\times 10Mb/s$ ,$RTT\times$传输速率.

- 以太网$MAC$帧,最短帧长$64B$

- 目的$MAC$ 源$MAC$ 类型 数据部分($IP$数据报) $ FCS$

- $6$ $6$ $2$ $46-1500$ $4$
- 无线局域网的$802$帧有两种,其中地址部分为

- 接收地址$=$目的地址 $|$ 发送地址$=AP$地址 $|$ 源地址

- 接收地址$=AP$地址 $|$ 发送地址$=$源地址 $|$ 目的地址

- $PPP$包含链路控制协议,网络控制协议,将$IP$数据报封装到串行链路的方法.

- 交换机和网桥,隔离冲突域,不可以隔离广播域,可以增加总带宽,采用全双工模式

- 如果转发的数据目的地址不在转发表中,则会将数据从其他的所有端口进行转发,转发会记录数据的源地址.

网络层

- 网络层的两种服务

- 电路交换

- 建立物理线路,独占的.
- 接收的数据是有序的.

- 报文交换

- 不需要建立链路.
- 通过路由器进行查询转发.

- 分组交换

- 将数据报拆分成分组,实现流水线传输.
- 数据出现错误,重发代价较小.
- 出现失序,在接收端需要重排序.
- 包含虚电路和数据报两种方式.
- 虚电路需要建立虚拟连接,数据接收有序,分组首部不包含地址.
- 数据报不需要建立连接,数据接收无序,需要重排序,分组首部包含地址.

- 拥塞控制,开环控制静态控制,闭环控制动态控制方式.

- $IPV4$

- 首部长度$20B$

- $1$总$8$偏首$4$(单位大小).

- 分片中的标志字段$MF=1$表示后续还有分片,$MF=0$表示最后一个分片,$DF=0$表示允许分片.

- $A$类地址可以指派的网络数$2^7 -2$,$127$不可用,`127.0.0.1`是环回地址,$B$类(起始地址$10$)地址总数$2^{14}$,$C$类(起始地址$110$)地址总数$2^{21}$,主机数均需要 $- 2$.

- $NAT$传输层的协议,使用了端口,解决$IPv4$用尽问题,连接内网和外网之间的通信,数据在发送到公网之前会被修改源$IP$地址,数据在传入内网设备时会被修改目的$IP$地址.

- $CIDR$中的网络总数需要减$2$,即全$0$和全$1$地址不可用.

- 子网划分是从主机号部分进行划分子网的.

- 转发$IP$分组的过程,路由转发表,包含目的IP地址,下一跳.

- 默认路由地址`0.0.0.0/0`.

- $ARP$,$IP$地址转$MAC$地址(IP地址转物理地址),$ARP$表由主机进行保存,如果没有对应表项则发送广播分组`ff-ff-ff-ff-ff-ff`,响应分组是单播发送.

- 路由转发数据的过程中首先需要将IP地址转化为$MAC$地址,根据$MAC$地址找到下一跳路由器,因此在不同的网络中进行数据传输时,$MAC$帧的源地址和目的地址会变化.

- $SDN$,将网络层分为控制层和数据传输层.

- $DHCP$应用层协议,基于$UDP$,动态主机配置协议,

- $DHCP$发现报文是广播报文,源地址是`0.0.0.0`,目的地址是`255.255.255.255`.

- $DHCP$提供,源地址是服务器地址,目的地址是`255.255.255.255`.

- $DHCP$接收,源地址是`0.0.0.0`,目的地址是`255.255.255.255`.

- $DHCP$确认,源地址是服务器地址,目的地址是`255.255.255.255`.

- $ICMP$网际控制报文协议,$ICMP$差错报文的类型

- 终点不可达,线路问题不可达.

- 源点抑制,因为拥塞问题不可达.

- 时间超时.

- 参数问题.

- 改变路由.

- $IPv6$解决了地址耗尽问题,端到端不支持分片,灵活的首部选项,首部默认$40B$,单播地址点对点,多播`是给一组计算机,任播是给一组计算机最终只有一个计算机能收到.

- 距离向量路由算法,$RIP$,每一次转发只指定下一个地址.

- 路由转发表的结构.

- $IP$地址 $|$ 距离 $|$ 下一跳 .

- 跳数$=16$表示目的地址不可达.

- 路由器仅仅和邻近的路由器交换信息.

- 交换的是路由表

- 固定时间间隔进行交换信息,网络拓扑发生变化也可以进行交换信息.

- 限制网络规模,坏消息传的慢.

- 使用$UDP$协议进行传输.

- 链路状态路由算法,$OSPF$,知道整个网络的状态.

- 更新方法:洪泛法,向本自治系统的所有路由发送信息.

- 发送的信息是本自治系统的链路状态,当链路状态发生变化的时候才会更新.

- 使用IP数据报进行传送.

- $IGP$内部网关协议,$EGP$外部网关协议,$BGP$,力求能够到达目的地的路由,而不是最佳路由,基于$TCP$进行传输.

- $IP$多播就是发送给一组主机,$IP$地址为`224.0.0.0~239.255.255.255`.

- 对多播地址不产生$ICMP$差错报文

- 路由器能隔离冲突域和广播域.

传输层

- 套接字:$IP$地址:端口号.

- $UDP$协议的特点.

- 不需要建立连接.

- 不可靠传输.

- $UDP$首部开销小,$TCP$有$20B$首部,$UDP$有$8B$.

- 没有拥塞控制.

- 需要将首部和数据部分一起校验.

- $UDP$校验

- 中间值加最后一个结果,有进位则反卷相加,最后取反.

- $TCP$协议的特点.

- 建立一条逻辑连接.

- 保证可靠传输.

- 提供全双工通信.

- 面向字节流.

- 首部的最大长度是$60B$.

- 数据偏移指的是首部长度,跟$IPv4$的偏移不同.

- 确认号表示自己想要接收到的数据序号.

- $URG$紧急位,$URG=1$表示数据紧急,应该尽快传送.

- $ACK$确认位,$ACK=1$表示确认字段有效.

- $PSH$推送位,收到$PSH=1$之后立即响应.

- $RST$复位位,$RST=1$表示链路出错需要重新建立连接.

- $SYN$同步位,$SYN=1$表示连接请求或者连接接收的报文,出现在三次握手的第一次和第二次.

- $FIN$终止位,$FIN=1$表示发送方需要关闭连接,此时发送发不再发送数据.

- 填充,使得首部长度是$4B$的整数倍.

- $TCP$的三次握手,$A$为客户机,$B$为服务器.

- 第一次,A->B,`SYN=1,seq=x`.

- 第二次,A<-B,`SYN=1,ACK=1,ack=x+1,seq=y`.

- 第三次,A->B,`ACK=1,seq=x+1,seq=y+1`,可以携带数据.

- 双方进入`ESTABLISHED`状态.

- $TCP$四次挥手,释放连接,$A$为客户机,$B$为服务器.

- 第一次,A->B,`FIN=1,seq=u`.

- 第二次,A<-B,`ACK=1,ack=u+1,seq=v`.

- 第三次,A<-B,`FIN=1,seq=w,ACK=1,ack=u+1`,服务器进入`LAST-ACK`状态.

- 第四次,A->B,`ACK=1,ack=w+1,seq=u+1`,客户机进入`TIME-WAIT`状态,经过$2MSL$之后释放连接.

- 拥塞控制,慢开始,拥塞避免,快重传,快恢复.

- 发送窗口大小$=MIN$(接收窗口,拥塞窗口).

- $MSS$最大报文段长度作为拥塞窗口大小的单位.

- 慢开始,每轮($RTT$)收到一个确认之后将拥塞窗口值$+1$,拥塞窗口呈现$2$的等比数列.

- 当拥塞窗口值$=ssthresh$,改为拥塞避免算法,每一轮将拥塞窗口加$1$,呈现等差数列.

- 发生拥塞的时候,会将拥塞窗口$cwnd$设置为$1$,将$ssthresh$变为拥塞窗口的一半,拥塞窗口的值在慢开始阶段不会大于$ssthresh$.

- 快恢复:在发生拥塞之后,将拥塞窗口设置为发生拥塞窗口值的一半,值等于$ssthresh$(在拥塞的时候变为拥塞窗口的一半).

- 快重传:当连续收到三个相同的确认就会立即重传该序号的数据.

应用层

- $DNS$,域名转$IP$地址,运行在$UDP$之上,`53`端口,域名服务器根域名服务器,顶级域名服务器,权限域名服务器,本地域名服务器$GDQB$,$DHCP$也是建立在$UDP$传输协议上的.

- 递归查询,类似$DFS$.

- 迭代查询中,本地域名服务器向上层域名服务器请求返回的是下层域名服务器的IP地址.

- $FTP$建立在$TCP$传输协议上,使用两个熟知端口,$21$控制链接,$20$数据控制.

- 邮件服务的协议,$SMTP$`25`,$POP3$`110`,都是建立在$TCP$连接上的,接收方取邮件使用$POP3$,其余都是$SMTP$.

- $MINE$的作用:定义了邮件格式,定义了传送编码.

- 万维网的内核包含三个标准.

- $URL$:统一资源定位符.

- $HTTP$超文本传输协议,端口是`80`,使用$TCP$进行传输连接,$HTTPS$端口是`443`,更加安全,是无状态,后续请求和前面的请求没有什么关系,使用$cookie$来解决.

- $HTTP1.1$支持持续连接`Connection:keep-alive`.

- $HTTP$请求方式

- $GET$用来获取数据.
- $POST$用来新增数据.
- $PUT$用来更新数据.
- $DELETE$用来删除数据.

- 状态码,`4`开头的一般都是客户机问题,`5`开头的是服务器问题.

- `404`$URL$对应的资源不存在.
- `400`请求参数错误.
- `200`请求成功.
- `301`永久重定向,`302`暂时重定向.

- 访问一个网站的流程

- 域名输入之后通过$DNS$解析成$IP$地址.
- 通过$TCP$的三次握手与服务器建立连接.
- 数据传送.

0 comments on commit 655bb3d

Please sign in to comment.