概述
基本概念
计算机网络的定义
计算机网络就是互连的、自治(无主从关系)的计算机集合。通过交换网络互连主机,交换结点指路由器or交换机
Internet的定义和组成
网络之网络,全球最大互联网络
计算设备
主机=端系统
通信链路
光纤卫星铜缆
分组交换:转发分组
路由器、交换机
通信基础设施
API
协议
硬件(主机、路由器、通信链路)是计算机网络的基础
数据交换必须依照定义好的规则:计算机网络的所有通信过程都必须遵守某种/些规则—协议
协议的三要素:
语法
数据与控制信息格式、信号电平
语义
何种控制信息、何种响应、差错控制
时序
事件顺序、速度匹配
计算机网络分类
ISP
Internet Service Provider,互联网服务提供商。
ISP 是提供互联网接入服务的公司或组织,它们允许用户通过各种方式连接到互联网。ISP 可以是商业公司、社区组织或政府机构,它们通常提供以下服务:
- 互联网接入:ISP 提供连接到全球互联网的途径,用户可以通过有线或无线方式接入。
- 数据传输:ISP 负责传输用户的数据,包括网页浏览、电子邮件、文件下载和上传等。
- 网络管理:ISP 管理其网络基础设施,确保网络的稳定性和可靠性。
- 增值服务:许多ISP还提供额外的服务,如网络安全、云存储、域名注册等。
- 网络监管:在某些情况下,ISP 可能需要遵守政府的监管政策,对用户的数据传输进行监控或过滤。
ISP 可以是本地的小型服务提供商,也可以是覆盖全国或跨国的大型服务提供商。用户通常会根据价格、服务质量、速度和其他因素选择ISP。
计算机网络结构
网络边缘
- 主机(端系统)
- CS结构
- P2P结构,在对等实体之间通信
接入网络
总体架构
将网络边缘接入核心网络(边缘路由器)
家庭的直连路由器,企业的一般连接交换机
接入方式
电话接入(DSL)
FDM(Frequency-Division Multiplexing,频分多路复用)指的是一种在特定频段内分配不同用途的通信方式。频率分配方式允许不同的通信服务或信号在同一物理通道上共存,但通过不同的频率范围来区分,确保它们不会互相干扰。
- 下行(下载)(Downlink):指的是信号从基站(或中心节点)传输到移动设备(如手机、平板电脑等)的过程。
- 上行(上传)(Uplink):与下行相反,上行指的是信号从移动设备传输到基站(或中心节点)的过程。
电缆网络
使用FDM频分多路复用
光纤到户(FTTH)
网络核心
互联的路由器网络
网络核心的关键功能:路由+转发
网络之网络
如何互连数以万计的ISP?
所以因此需要引入分级系统
数据交换
recall: 互联的路由器网络Q:如何实现数据通过网络核心从源主机到达目的主机?A:数据交换
类型
电路交换
报文交换(注意,这个是一整个文件直接发)
分组交换(package switching)
存储转发(报文vs分组)
报文交换与分组交换都是存储-转发模式
需要经过三段路程,每段5s
相当于有了一层流水线。每一跳需要1ms,一共5000个报文,最后叠起来相当于1+5000+1=5002ms。
相当于(分组数+路由器数)*分组大小除以带宽 = (M/L)*L/R+(h-1)*L/R = M/R+nL/R
分组vs电路
拥塞相对来说也是电路的优点,他本身自带可靠传输
计算机网络性能指标
速率/带宽/吞吐量
“速率”在题目中一般都叫数据传输速率
延迟/时延
传输时延也叫发送时延
也是非常颠覆我。。。不过确实传播延迟有时候相比传输延迟小得多,3kb就是其三百倍的样子,完全可以忽略不计。
排队延迟
时延带宽积
相当于是体积了
往返时间RTT
利用率
貌似上图认为ack是不携带数据的了,所以没算tack
计算机网络体系结构
OSI参考模型
开放系统互联(OSI)参考模型
异构网络系统互联的国际标准
7层:
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
TCP/IP模型
物理层
基本功能
Data Terminal Equipment
Data Circuit-terminating Equipment
数据通信基础
物理介质
导引型
非导引型
信道与信道容量
第一个给了个理想无噪声,第二个给了个噪声的
信道共享-多路复用
感觉意思就是说有的用户用高频的有的用低频的,到时候再解调什么的就行
基带传输基础
概念
典型编码
(不)归零
就是说把0变成了-1
就是每个1只占一点点,估计可以用来区分连续的1
差分码
AMI码
双相码(曼彻斯特码)
有点类似双极归零,就是归是不是零,只在1和-1跳变
nBmB
谜语人看不懂
频带传输基础
概述
基带信号低通特性,可在低通特性信号传输
许多带通信道不具有低通特性,故而需要调制基带信号为与对应信道传输特性相匹配的信号
利用模拟基带信号调制载波:模拟调制
数字:数字调制
分类
2ASK
就是说0就没有了
2FSK
就是说1的更密集更高频
2PSK
就是说1和0的相位不一样
2DPSK
就是说相位不一样代表差分,还是跟差分差不多的概念
比较
频带利用率
ASK、PSK、DPSK频带利用率相同,FSK的最低,因为他是通过改变频率区分的1和0
误码率
PSK误码率最低,ASK误码率最高
PSK>FSK>ASK
对信道特性敏感性
ASK最高,性能最差
FSK和PSK不敏感
其他方法
多进制数字调制
正交幅值调制QAM
物理层设备
数据链路层
基本功能
原来MAC是这个意思草
链路层服务
组帧
MTU只计算帧的数据部分
使用转义字节
这个是只要有5个1就马上添0,不管下一个是不是1,这样一来接收只要数五个1就去一个0就行。
其他
差错检测与纠正
因材施教兄弟
检错编码
奇偶校验码
不论是奇校验还是偶校验:
这个二维的很有意思
Internet校验和(Checksum)
循环冗余校验码(CRC)
差错纠正
可靠数据传输
RDT1
保证底层信道完全可靠,所以无需做可靠传输保障处理
RDT2
信道可能发生错误,但不发送丢包,需要引入重传机制
传送等待模式
也就是说发送方如果收到正确ACK,发送下一个数据包;否则,收到错误ACK,重传上一个数据包
重复ACK指的是这次收到的是ackno为0的,下次还是ackno为0,说明新传过来的校验和GG了,这时候就要重传1的数据包。
RDT3
信道既可能发生错误,也可能丢包
只在收到ACK才发下一个包,因为只有2个序列号(停等操作)
流水线协议
滑动窗口
这里的dp指的应该是单向传播速度吧,下面那什么沙比公式别记了
GBN后退N帧
SR选择重传
值得注意的是跟TCP的可靠传输还是不一样的,ACK只针对单个分组,而非从xx到xx都ACK了
确实,需要注意序号位数。。。
这个是通过右上角那个图推出来的:
这个就相当于Ws+Wr,Ws+Wr内的序号不能重复,所以需要<=2^k。
多路访问控制(MAC)协议
概述
链路有两类:
点对点
拨号、交换机和主机中间
广播链路(共享介质)
以太网总线、HFC上行、无线局域网
第二种链路会单一共享广播信道,故而会产生结点传输冲突,故而需要MAC协议。
采用分布式算法决定结点如何、何时共享信道。
三种类型
信道划分MAC协议
TDMA
FDMA
又是经典的分时VS分频,这个思想也是非常CS,套到OS调度上就是经典的并发和并行。
随机访问MAC协议
没有实现的结点间协调,要发的时候就利用信道100%速率发送,故而需要定义如何检测和恢复冲突
ALOHA协议
虽然感觉好像怪怪的这个算法
时隙ALOHA协议
CSMA协议
坚持与非坚持
CSMA/CD
只要经过2t时间没有检测到碰撞,说明一定没发生碰撞
希望在检测到碰撞时帧还没发完。按书上的理解是发送方无法检测到碰撞所以不会重发,可能是因为发送方在发送完数据后就不再监听。
这里也就是带宽吧
轮转访问MAC协议
综合上述二者的优点
局域网技术
MAC地址
注意48位、16进制表示
MAC地址由IEEE统一管理分配,网卡生产商购买MAC地址空间(前24比特)
以太网
协议概述
统治地位的有线LAN技术,造价低廉应用广泛
确实,所以CSMA也是陈年老技术了
帧结构
注意只在MAC一样才接受
注意,这里PPT规定了最小帧长为64B,所以最小数据量为46B
ETH标准
没看懂具体改了啥。。。
交换机
概述
交换表
交换方式
集线器中继器交换机路由器
交换机可以隔绝冲突域,路由器可以隔绝广播域
直通传输(Cut-through)是一种网络交换技术,用于描述数据包在网络设备(如交换机或路由器)中的传输方式。在直通传输模式下,数据包一旦开始被接收,就会立即开始传输到输出端口,而不必等待整个数据包被完全接收。这种方式可以减少数据包的传输延迟,提高网络性能
这个概念我忘了前面哪里有说。。TODO记得留意一下
- 集线器(Hub):
- 集线器是一种基本的网络设备,用于连接多个设备到一个网络。
- 它在物理层(OSI模型的第一层)工作,不具备智能处理数据包的能力。
- 集线器将接收到的信号进行放大或再生,然后广播到所有其他端口,不管数据包的目的地是哪里。
- 这会导致所有连接到集线器的设备共享同一个冲突域和广播域。
- 集线器通常用于小型或成本敏感的网络环境。
- 中继器(Repeater):
- 中继器用于扩展网络的距离,它接收信号,重新生成该信号,然后将其发送到网络的下一个部分。
- 它同样在物理层工作,不进行任何数据包的智能处理。
- 中继器可以是无源的,仅放大信号,或有源的,提供信号再生和放大。
- 中继器不区分数据包的目的地,它简单地复制信号到所有连接的设备。
- 中继器通常用于连接两个网络段或扩展以太网电缆的长度。
- 交换机(Switch):
- 交换机是一种更高级的网络设备,用于连接多个设备并管理数据包的传输。
- 它在数据链路层(OSI模型的第二层)工作,具有智能处理能力,可以识别数据包的目的地。
- 交换机使用MAC地址表来确定数据包的转发路径,只将数据包发送到正确的端口,而不是所有端口。
- 这使得每个交换机端口都是一个独立的冲突域,减少了冲突的可能性,并提高了网络效率。
- 交换机还支持全双工通信,允许同时发送和接收数据,进一步提高了性能。
- 交换机通常用于构建更复杂和高效的网络结构。
VLANs
概述
帧格式
PPP协议
概述
- PPP: 是一种点对点的链路层协议,主要用于直接连接两个网络节点的链路层。PPP广泛用于拨号和专线连接,如通过电话线、光纤或无线链路连接的网络。
- Ethernet: 是一种局域网技术,用于在局域网内连接多个设备。它定义了包括物理层和数据链路层的规范。
PPP协议本身不使用MAC地址。PPP协议在链路层工作,但它是为点对点连接设计的,不涉及广播或多播,因此不需要使用MAC地址来识别多个设备。PPP连接的每一端都有一个唯一的标识符,通常是通过配置或协商得到的,而不是通过MAC地址。
帧格式
透明传输
协议
PPPoE
反正就是说新增两个设备,设备之间用PPP协议通信,设备和主机间用ETH协议通信
这个就是去掉pppoe client,使得主机和服务器直接PPP通信
链路虚拟化
反正感觉看起来就是网络之网络,就是说网络内部独立的,网络之间就是网级层
网络层
网络层服务
概述
每个主机和路由器都运行网络层协议,路由器检查所有穿越他的IP数据报头部
注意连接建立原来也算是网络层概念。。。不过只能说直观上确实是这样的
现在感觉就对应着第一种无连接的数据报网络了
拥塞控制
分组在路由器丢失or排队
ATM ABR拥塞控制
右边那个就有点像TCP了,或者说TCP也能算是二者结合吧
虚电路网络与数据报网络
虚电路网络(VC)
这种就显得太固定了,然后需要用的路由器也比较多
数据报网络
数据转发表
同时为了防止表项过多,会进行聚合:
这点在化简路由表时很有用
路由器体系结构
输入端口
交换结构
经内存交换
经总线
经网络
输出端口
草,果然每个需要排队的地方必有调度算法。。。不过我感觉路由的话FIFO不就行了吗,也不好说,可能因为目的端口不同?
多级队列是吧
感觉相比于FIFO,相当于不是在满的时候马上出队然后丢弃,而是先滞留内存了
感觉应该就是优先级越高δ服务量越高之类的吧
IP协议
数据报格式
版本号
4代表IPv4,6代表v6
首部长度
IP分组首部长度,以4字节为单位
如,=5代表IP首部长度为20字节
服务类型(TOS)
指示期望获得哪种类型的服务
总长度
标识(ID)
就是IP分组编号。值得注意的是,所有分片的标识都是一样的
标志位
片偏移
生存时间(TTL)
协议
首部校验和
地址
选项
填充
注意IP报文是4字节对齐的
MTU与分片
IP编址
概述
子网
也就是只有交换机什么的
https://blog.csdn.net/Initial_Mind/article/details/125473927
这个使用哈夫曼树的理解非常有意思。
分类和特殊地址
注意全0可以作为源地址
子网掩码
CIDR
算是一种表示方法和思想吧
路由聚合
一个子网属于一个广播域是吧
刚刚在想为什么不同子网一定要路由器不能直接交换机MAC。。这其实就是为什么不能只有MAC没有IP的问题。感觉估计还是因为IP地址比较好表示吧
主要MAC是不变的,很多情况下可变IP大有作用,所以很麻烦
IPv6
概述
禁止分片的话是怎么处理MTU的呢。。。
格式
128位地址,每个冒号分割16位,也即四位十六进制
注意,没有广播的概念了
多播=组播
IPv6没有传统意义上的广播地址,这是因为IPv6采用了一种不同的方法来处理广播和多播消息。
在IPv4中,广播地址允许一个网络段内的所有主机接收到发送到这个地址的数据包。IPv6中,广播的概念被多播地址所取代。多播地址允许向一组特定的主机发送消息,这些主机都对特定的多播组感兴趣。
IPv6的多播地址范围从 FF00::/8
开始,这意味着所有以 “FF” 开头的IPv6地址都是多播地址。多播地址进一步分为几个范围,包括:
- 节点本地多播地址:
FF01::/16
- 链路本地多播地址:
FF02::/16
- 点对点多播地址:
FF05::/16
- 组播地址:
FF08::/16
到FF0F::/16
链路本地多播地址特别类似于IPv4中的广播地址,因为它仅在同一链路上有效,并且所有在同一链路上的设备都会接收到发送到这个地址的数据包。
总的来说,IPv6使用多播地址来实现广播的功能,但它们提供了更多的灵活性和控制能力。
- 组播(Multicast):
- 组播是一种将数据包发送到一组特定主机的方法,这些主机都对特定的数据流或服务感兴趣。
- 组播地址是D类地址(IPv4)或具有特定前缀的地址(IPv6)。
- 组播使用特定的组播地址,所有加入该组播组的主机都会接收到发送到该地址的数据包。
- 组播流量是优化的,网络设备如路由器和交换机使用组播转发树来确保数据包只沿着必要的路径传播,避免不必要的复制和传输。
- 任意播(Anycast):
- 任意播是一种将数据包发送到最近的一个服务器或主机的方法,这些服务器或主机拥有相同的IP地址。
- 任意播地址通常用于提供高可用性和负载均衡,例如DNS服务。
- 任意播地址在逻辑上是单播地址,但是可以分配给多个接口,通常是在不同的地理位置。
- 当数据包发送到任意播地址时,网络会根据路由度量(如跳数、延迟或路径成本)选择最近的接口来接收该数据包。
过渡
IP相关协议
ARP协议
ICMP
这八字节应该是传输层数据报前八字节,包含端口号
DHCP
NAT
注意收发都会修改
路由算法
例题
层次路由
路由协议
AS内部路由
OSFP向系统所有路由器泛洪发送邻近路由器链路状态,当链路状态变化或者固定时间间隔发送消息
RIP
分布式的基于距离向量的路由选择
RIP和相邻路由器以固定时间间隔交换自己的路由表信息
基于UDP,有更新报文和请求报文
不支持认证,UDP不可靠;使用IPv6
- 和哪些路由器交换信息?仅和相邻路由器交换信息
- 交换什么信息?当前本路由器的路由表
- 在什么时候交换信息?按固定的时间间隔交换路由信息
OSPF
AS间路由协议:BGP
传输层
传输层服务
注意,均不保证延迟和带宽?
传输层多路复用/分用
断句:传输层 无连接 分用
UDP协议
TCP协议
概述
报文结构
这点跟IP报文还是一样的
最大段长度(Maximum Segment Size,MSS)是TCP(传输控制协议)中的一个重要参数,它定义了TCP段的最大有效载荷大小。MSS不包括TCP头部,只计算数据部分的大小。MSS的主要作用是为了避免在网络传输过程中出现数据包的分片(fragmentation),因为某些网络层(如以太网)对传输的数据包大小有限制。
可靠传输
注意,收到重复ACK也会重传?
值得注意的是,TCP应该只重发最早没被确认的段,也即只对他启动计时器?所以这里收到ACK重启定时器,并且是之前从未确认过的,说明就是它检测的那个段收到了确认,所以需要。。。
流量控制
处理零窗口探测:在某些情况下,发送方可能会使用零窗口探测(Zero Window Probe)机制,即发送一个小的TCP段(通常只有1字节的数据),以询问接收方是否可以接收更多的数据。如果接收方仍然无法接收数据,它会再次发送一个窗口大小为0的确认(ACK)。
连接管理
server直接关闭,client需要等待
拥塞控制
就是说又会翻倍又会加一
就是说会动态随着丢失事件调整慢启动的阈值
一收到确认就马上翻倍
吞吐率
公平性
应用层
网络应用体系结构
CS结构
P2P
混合
网络应用通信原理
域名解析DNS
注意两种查询方法
这个没太看懂。。。
FTP
TODO 没看懂跟什么带外传送有关系,,,
带外传送(Out-of-Band, OOB)是一种数据传输机制,允许在正常的数据通信通道之外发送紧急或高优先级的信号或数据
HTTP
概述
CS结构
TCP,无状态
消息类型:请求和响应
方法POST,GET
HTTP1.0
一个TCP一个对象,非持久性连接(默认)
过程
- TCP连接请求
- TCP建立连接
- 发送HTTP请求
- 接收并响应
- 为每个对象重复上述过程
时间分析
每个对象需要2RTT
并行连接
需要4个RTT(2个for WEB RTT,2个for 其他对象)
HTTP1.1
持久连接(默认选项)
3个RTT(2个for WEB RTT,1个for 其他对象)
- 调度问题
HTTP2
HTTP3
QUIC
WEB缓存
有状态
VS SMTP
P2P应用
没有服务器
文件分发
BitTorrent
无线网络
无线与移动网络概述
无线
通过无线链路进行通信
移动
处理改变网络接入点的移动用户
无线网络的要素
无线主机
基站
中继,通常连接到有线网络,负责区域内有线x无线通信
无线链路
使用MAC(多路访问控制)协议协调
无线网络模式
基础设施模式
基站将移动主机连接到有线网络
移动主机不通信
自组织网络模式 ad hoc mode
无基站
只能连接到无线链路范围其他结点
内部路由
无线网络分类
基础设施
无基础设施
没有基站,没有连接到更大互联网(蓝牙、ad hoc)
无线链路与网络特性
特性
- 信号强度衰减
- 其他源干扰
- 多径传播
- 信噪比和比特差错率需要权衡(SNR、BER)
- 额外问题(除了MAC)
- 隐蔽站问题
- 信号衰减
无线局域网:IEEE802.11
概述
CSMA/CA
过程
发送数据前先检测是否空闲(需要空闲DIFS时间),发RTS预约帧,接收端收到RTS广播(延迟SIFS)发送CTS响应,收到CTS开始传数据
CRC校验
停等协议
如果信道忙就开始退避
反正就是DIFS之后才发帧,然后SIFS后才确认,源站相当于收到了CTS进行确认故而发的SIFS
与CD比较
相同点
先听再说,有限重传(二进制指数退避)
不同点
- 传输介质
- 载波检测方式
CD检测,CA避免