CH1
核心思想:分组交换
1969 arpanet 56kbps
1979 TCPIP
光线:骨干网带宽9个月翻倍,10年10000倍。
迈特咖啡:价值正比于用户数平方,效率是n方
电话vs网络:聪明网络笨终端和聪明终端(修复传输错误)简单不可考网络
分组交换:简单、灵活(支持各种物理网络和应用)、可扩展、健壮(牺牲带宽利用但健壮
ipv4耗尽,用nat支撑破坏原有网络结构,需要过渡到ipv6
CERNET是我不过第一个全国性计算机互联网络,第二大计算机互联网
下一代互联网
Internet2 NGI Abilene GEANT…中国NSFCNET 核心路由器 CNGI
CNGI下一代,高速互联 ipv6 cernet2主干 大规模国产设备
Ch2 网络体系结构
定义和组成
一批独立自治的计算机系统的互连集合体,区别于统一的分布式系统
资源和通信子网(通信线路+网络互联设备)
广播式通信 bus、ring 共享线路,可以直接被接受
交换式通信 交换设备选择输出,star ring(loop) tree… 关键需要routing
通道分配:静态分时间片、动态(集中or分布仲裁)
网络体系结构
从功能定义层次结构,但不规定具体协议和细节、接口
功能分层——协议分层——体系结构分层
需要什么功能:无差错、共享物理线路、路由选择、信息缓冲、流量控制、会话控制…
特点:同时一对用户、通信是相互的、分散在各个网络和用户设备
服务:同一实体上下层间交换信息时必须遵守的规则
协议(Protocol) : 计算机网络同等层次(通信时为对等进程)中,通信双方进行信息交换时必须遵守的规则。——语法、语义、定时关系
n层协议:不知道上下层内部结构,独立完成功能、为上层提供服务,使用下层服务
SAP服务接入点 任何层间服务是在接口的SAP上进行的,有唯一的识别地址,层间接口有多个SAP
ICI和SDU加一起是IDU,也就是下层服务数据+接口控制信息=接口数据单元。通过SAP传输。下层服务数据+协议控制信息=协议数据单元

无连接:独立路由,顺序性差,基于连接不一定可靠,顺序性好
服务原语四种类型:请求:想干事情、指示:关于事件的通知、响应:对事件回复、确认:对先前请求的回应
分层的好处:模块化,抽象功能(底层改变保证服务一致即可),复用性 坏处:信息被隐藏,实现起来更低效
端到端:除了必须和基本功能外,放到高层去实现额外的功能
典型网络参考模型
标准化组织 ITU ISO ANSI NIST IEEE OIF CCSA RFC IAB IETF IRTF
OSI七层模型 物理(传输bit)-数据链路(有差错的物理线路提供无差错数据传输Frame)-网络层(控制通信子网,从src传到dst的packet)-传输层(端到端的数据传输,细化到资源子网的主机)-会话(会话控制与安全认证)-表示(数据转换和表示)-应用
TCPIP
把底两层统称Host to network
网络Internet层:控制通信子网提供IP包传送,异构网络互联
传输层:端到端的数据传输,TCP和UDP
应用层:表示、会话、应用,各种管理和服务
教学所用 物理 数据链路 网络 传输 应用
其他网络体系结构
Novell Netware(XNS):C/S结构,文件共享而非磁盘共享。网络层协议用IPX,不可靠无连接协议,4网络号+6机器号MAC。传输层NCP、SPX(面向连接
X.25分组交换,面向连接,早于OSI
B-ISDN电信公司想统一网络,主要用ATM技术
ATM 异步传输没有主时钟,cell是短且定长包,面向连接,155/622M’
Summary
通信子网:点到点通道,关键路由选择;
广播通道,关键通道分配;
Ch3
通信基础理论
频谱:信号包含的频率范围,带宽=频谱宽度
有效带宽:能量集中在相对窄的频带中,叫做带宽
信道有截止频率fc,0fc的振幅衰减弱,以上的振幅衰减厉害,由物理特性决定。所以0fc为有限带宽。带宽越宽,
波特率:每秒钟信号变化的次数,调制速率。
比特率:每秒钟传送的二进制位数
每个信号值可表示几位,比特率是波特率几倍


即使对于完善信道,有限的带宽限制了数据的传输速率
奈奎斯特定律:无噪声有限带宽信道最大数据传输率 = 2Hlog(2,V) bps
带宽为H 每秒采样2H次能够完整重现,信号电平分为V级
信噪比:信号功率S与噪声功率N之比 10log(10,S/N) db 电话大概30db
香农定理:带宽H信噪比S/N的任意信道最大数据传输率 = Hlog(2, 1 + S/N) bps。是难以达到的上限
如果有噪声按两个公式都算一遍取小者
数据通信技术
数据通信:计算机-信号变换-信道-网络设备-信道-信号变换-计算机
单工:信息单向传输,回送监视信号
半双工:信息可以双向传输但不能同时
全双工:信息同时双向传输+监视信号
同步:接收方必须知道每一位信号的开始及其持续时间,
异步传输:以字符传输为例,每个字符由发送方异步产生有随机性,需要辅助位,每个字符需要10-11位传送
1起始 7编码 1奇偶校验 1-2终止
效率低、主要用于字符终端与计算机的通信
同步传输:信息传送以报文为单位,传输开始时需要同步字符来同步收发双方。传输信息中抽取同步信息修正同步保证正确采样
不间断,效率高;字符间辅助信息少;传输信息中不能有同步字符,需要透明传输处理
基于位的传输一般同步,二进制位流,以位为单位同步,开始结束由特定八位二进制同步,效率高

模拟-调制 数字-编码
数字信号:价格便宜;噪声不敏感;但是易于衰减;高频高衰减
基带传输,直接使用传输变换前所占用的频带,原始信号固有的频带,适用各种情况但对传输线要求高(频率成分宽)。低0高1
不归零None return to Zero编码:低0高1,难以分辨一位结束开始;必须有时钟同步发送接受方;若01连续出现,直流分量累加==》容易出现传播错误
曼彻斯特编码、相位编码:中间的跳变是数据也是自同步时钟
在每位中间跳变,低跳高是0 高跳低是1
差分曼彻斯特(两种):中间固定跳反,且每位开始时候有跳变是0,维持是1
逢1(0)变化的NRZ(两种):仅在开始的时候逢1(0)跳
数字数据的模拟传输 频带传输 在一定频率的线路载波传输,用基带信号对载波调制,使其变为适于传送的信号
调制:用基带脉冲对载波信号的参量控制
调幅ASK 振幅做变量
调频 FSK 频率做变量 w不同值
调相位 PSK phase phai改变
模拟数据的数字传输 脉冲代码调制 PCM ,
将模拟信号振幅分成2^n级,每一级用n位表示,采样
差分脉冲代码调制,根据前后 两个采样值差编码输出二进制数字
delta调制 根据采样值前后差决定输出0or1但跟不上变化太快的信号(每次的delta固定,跟不上大变)
多路复用技术 多个信号共用物理线路,时分复用TDM,频分复用FDM,波分复用WDM(多波长光混合和拆解),码分复用CDM
T1载波 采样128等级7位二进制,传输速率1.544Mbps
具体,每125us传播24路8位+帧同步位共193位,数据速率1.536。每个通道中8位有1位控制,所以每个通道的数据比特率为56kbps,总数据比特率为1.344Mbps

交换技术
电路交换:直接切换物理线路。
建立 传输 拆除。必须建立点到点的物理通路,建立时间长,数据传输延迟短。一般时分复用,分成frame再分为slot,slot在frame内的相对位置决定槽所传输的数据所属的会话。
发送接收方需要同步
非永久会话需要动态绑定slot到一个会话
报文交换:信息以报文(逻辑完整信息段)为单位进行存储转发
线路利用率高;中间节点通信设备buffer够大,延迟时间长
分组交换:比报文小的信息段,随机乱切,定长or变长
src节点分组,中间节点存储转发,目的节点组合回报文
每个分组头都需要原地址和目的地址,独立路由
不预先分配资源;线路利用高;易于重传,高可靠;易于新传输让紧急信息优先通过;开销增加
分组交换:数据包分组 虚电路分组(常用于电话,
统计复用,按需分配信道资源
来自任意会话的数据立即发送不需要等待slot,用分组头来分组数据
电路交换vs分组交换 分组:统计复用,有效利用带宽
峰值带宽:平均带宽:话音3:1 数据5:1
分组交换处理拥塞,需要复杂路由器且难以保证端到端的服务质量(延迟与带宽)
实际使用结合一起
电路交换:适合实时信息、模拟信号,带宽低
报文交换:带宽高,可靠灵活;延迟大
分组交换:缩短延迟;可实时;高带宽中经济合理可靠
交换结构
- crossbar,一群横竖电路交叉成十字,加入连接点…
- 空分,结合小crossbar,分成几组然后结合连线。

- 时分:按照映射表打乱进入帧的timeslot数据,然后再给出去
思考题 电路交换和分组交换的区别
Ch4 物理层接口与协议
物理层定义功能
在网络设备中提供透明比特流传输。启动和关闭连接,传输数据
物理层特性
机械特性 接插装置 引脚和排列、电气特性、功能特性 数据控制定时地、规程特性
典型物理层标准接口
RS232-c RS449 442a 423a
RJ45
传输介质
双绞线
模拟or数字,线的类型和距离决定带宽
非屏蔽双绞线UTP
屏蔽双绞线STP
同轴电缆
基带同轴电缆 50Ω 数据传输
宽带同轴电缆 75Ω 模拟传输 CableTV 300/450Mhz
光纤
单模or多模,全反射长距离传输
只有特定的角度继续传输(传输模式),多个反射角度叫做多模,但是短距离。光纤半径到波长数量级时,只有一个角度or模式的光可以进入,叫做单模,适用于长距离。
单模多模都可以波分复用
850nm 便宜,衰减 速率慢距离短
1310 无色散补偿,功率放大下40km
1550 同,功率放大下80km
光网组网 点到点四根线,两根保护倒换。环形只需2/1根
中继器来光电转换
网络传输技术
SONET/SDH TDM技术
同步系统有主时钟 810B/125us 51.84Mbps

移动电话
单向寻呼:单向、小带宽
通话:双向,多频率
1G 模拟蜂窝 只语音
2G 数字蜂窝 主要话音 GSM CDMA
34G 话音和数据
AMPS蜂窝cell
在附近蜂窝中重用传输频率,如果超过系统容量就进一步划分蜂窝,重用频率并减弱功率。容易被窃听、盗用。三个频率足够1+6蜂窝使用
蜂窝中心基站,计算机+天线
通过包交换网络+MTSO(电话系统) MSC相连
Ch5 数据链路控制与协议
概述
目标和功能 有差错的线路上无差错传输——正常传输,组帧,差错,可选顺序和流量
网络设备和主机都算节点
点到点:专指链路上的两个相邻节点
端到端:源到目的,可能由多个链路
虽然是物理层连接,但数据链路层看起来虚拟通路
服务 无确认无连接服务(低误码,实时,局域网),有确认无连接(不可靠信道无线网),有确认有连接
组帧
组并且计算checksum
字符计数法
帧头表示帧的字符个数——一步错步步错
字符填充的字符定界
引入DLESTX,DLEETX字符,中间内容中如果出现特殊字符,加入DLE两遍来转义
Data link escape start end,局限在8位字符和ascii
DLE STX A DLE DLE B DLE ETX其中数据位ADLEB
位填充的标记定界
特殊位串来开始和结束 01111110flag,正文中一旦五个1就插入0。只有flag中出现六个连续1
物理层编码违例
有冗余的物理层编码,用违规码定界
错误检测纠正
特点:随机,连续突发
n = m数据位+r校验位,一共n位码字
检查d个错,海明距离需要d+1
纠正d个错,海明距离需要2d+1
奇偶校验
可检查奇数个错误,纠正单比特需要2^r >= m+r+1
海明码
连续突发错误的话,可以按行书写海明码然后按列发送。相当于把连续错误分散到每一个码字中
检错+重传 CRC循环冗余码
需要多项式Gx,高低位必须为1,且比传输信息短
计算checksum加在帧尾,想要帧多项式被Gx除尽。
计算
消息多项式Mx,后面加r(r是Gx的多项式阶数,比位数短1)个0变成2^rMx。用Gx除
最后用2rMx减去余数,其实就是把余数补上去,即得到一定整除的2rmx
注意此时的除法和减法都是图一乐,不借位,相当于异或
检错能力
若中间改变的多项式Ex整除Gx就不能发现,否则可以
- 单比特OK,Ex/Gx肯定有余数
- 两个孤立单比特,那任意Gx不能是任何X^i-j +1的因数
- 奇数比特错,Gx选择x+1倍数即可,一定除不尽
- r个校验位多项式(有r+1项的Gx)能查出所有长度小于等于r的连续差错
- r+1连续错的时候,概率很小查不出来,约1/2^r-1
- 大于r+1呢???坏帧接收大概2^-r
网卡实现crc校验
基本协议
无约束单工协议——一直发
单工、无休止发送和无限大buffer,信道不损坏
单工停等——buffer有限,每次发一个等ack
接受后给sender响应
sender 接收网络层,组帧,发送,等待
receiver 等待,接收物理层,发给网络层,发送确认帧
噪声单工PAR——信道有差错,引入1位序号,翻转
出错重传,定时,加入1位序号,来回翻转
send 接收网络层,加入序号,发出去并启动计时,等待响应(ack了序号,翻转序号;超时重发)
rece 等待,接收,序号正确则发给上层,发回ack并翻转期待序号
滑动窗口
双工,引入捎带机制,充分利用带宽但复杂
信号都有,期待接受and期待确认
发送端维护已发送但是没确认的序号表叫做发送窗口,上界是要发的下一帧,下界是待确认的最小帧。即左闭右开区间。
发送时发送上界帧并加一,接受到ack=下界则下界加一,如果ack在窗口内则连续加一到ack+1(累计确认)
接收窗口 固定窗口,上界是允许的最大序号,下界是紧邻的序号。收到0123则【4,7】,等于下界的被接受并响应。上下界同时移动
1bit滑动窗口
序号只取01两个值且两窗口都是1.
我发送的帧seq = ~上一个ack,ack=上一个seq
如果同时发送会有一半的重复帧,即我第一次发B0你的A0还没到,你A0到我这的时候我还没收到B0的确认只能再发B0.
最大效率|利用率 = 发送时间/总占用时间
信道利用率 = 帧长/帧长+延迟*比特带宽
退后n帧重传
发送窗口大于1,接受为1
发一堆,慢慢收。如果有一个坏帧拒收所有后面并不再发送ack,等待超时后发送方从坏帧重发。多个计时器。
在坏信道上效率低
窗口大小不要能一次性发满序号,至少发送窗口<序号总量
选择重传
发送接受均大于1。接收方可以暂存坏帧后面的帧但仍然只发送老ack,发送方只重传坏帧,但需要buffer够大。ack可以突变。
接收窗口完全移动后,不要重合。不然重发当做新帧。
发送>=接受时,接受最大为(maxseq+1)/2
else 发送+接受<=序号个数
- 确认计时器:防止负载不均衡,实在没有捎带就发一个空ack出去。计时器在接收窗口移动后,或发了NAK时开始。发送任意一帧时结束。
- 否定确认NAK:收到坏帧或跳脱帧主动发NAK
说明与验证
协议工程:说明、验证、实现、测试
验证——可达性分析 图论分析
测试 一致性、互操作、性能
用形式化描述代替自然语言,如FDT和FM Formal
FSM有限状态机
状态、标号,初态,变迁
Petri网??
结构:圆圈位置、变迁线段、弧
活动标记Token点
常用的数据链路协议
面向字符,面向比特
HDLC
终端和计算机之间组合沟通,用01111110定界。一直传定界符号表示空闲
定界——8b地址(命令or响应)——8b控制信息(0,3序号,1pollfinal命令或响应,3next作为ack||ortype表示监控真、否定确认帧、不接受帧或者拒绝帧)——数据——16b校验和CRC——定界符
滑动窗口3位序号,发送窗口为7。但next表示第一个没收到的序号
X.25的链路层LAPB
使用HDLC
CRC只检错不纠错,丢弃出错
重传N次后报告上层协议
帧序号错了发送拒绝帧,发送方重传检错也纠错
PF为检验指示,
SLIP和PPP
SLIP:标记定界,字符填充,发送原始IP包。不提供差错检验,只支持IP并不能动态,不提供认证
PPP改进SLIP,提供差错,支持多协议,动态分配IP,以帧尾单位。
PPP面向字符,以01111110开始,采用字符填充而非位填充。
Ch6 局域网 介质访问子层 108 6
局域网概述
高速短距低出错,经常使用广播信道,解决信道分配问题
静态:FDM频分复用orWDM TDM时分复用,固定时槽
多路访问协议
纯ALOHA

直接发,如果冲突则等待随机时间再发。

相当于两个帧时内的k=0,λ=2G,得到P0
分槽ALOHA
每个站只有在槽开始的时候可以尝试发送,冲突危险减半。效率翻倍。
载波监听多路访问CSMA
1-坚持CSMA
先监听,如果空闲就马上发,忙就一直监听后发送。如果冲突则随机等待再发送。冲突概率大,怕延迟
非坚持CSMA
监听,如果空闲就发。如果忙就等待随机时间然后尝试
冲突少,信道空闲多且延迟高 G越大效率越高,但是延迟更大
p-坚持CSMA
分槽信道中,监听到空闲有p的概率发送数据。或者延迟到下一个时槽,看空闲的话再次以p尝试。忙就再等待。冲突就等待随机。

冲突检测的载波监听多路访问CSMACD
冲突太浪费了,如果冲突可以发送干扰,打断自己和所有站的发送。等待随机时间在发。
检测冲突最坏需要两倍电缆时间。
无冲突协议——预留协议(先请求)
分开为传输,竞争和空闲
位图协议
信道上N个时槽,要发就置1。大家都知道了就按序号发送
轻负载效率d/N+d 数据帧由d个时间单位,重负载下d=Nd
不公平,有固定开销
二进制下数
大家都有等长二进制串表示自己,互相或在一起。如果看到更高的位有1则放弃请求。效率为d/d+log2N
有限竞争——适应树搜索协议
轻负载竞争,重负载无冲突。分组各站,组内竞争
组织站点为二叉树,折半请求搜索。如果获得之后,留给没有竞争的后一半竞争。
局域网技术
只有一个信道,短距离,
隐藏站点问题。竞争者太远
暴露站点:非竞争者太近
区别于CSMA
CSMA的电缆可以传播信号给所有站点。冲突被站点发现
WLAN中信号只能发给附近的人,尽量保证只有一个发送站,冲突被接受者发现,信道可以同时有多个有效帧
MACA协议——先双方握手并告诉周围
A发B RTS请求发送,同时A周围站点不发送
B回A CTS已经准备好,B周围不发送
A发送
冲突则二进制指数后退等待随机时间后开始
MACAW 每个成功数据帧都要被ack,发送站点载波监听,冲突后不针对站点而是针对流来后退,拥塞时站点交互信息
802系列
介质访问控制MAC子层上引入LLC逻辑链路控制子层,提供更多的确认和流量控制服务——不可靠数据报,有确认数据报和可靠面向连接服务
802.3
电缆标准 10basex,10mbps base基带传输 500m。
中继器:物理层,接受放大信号、双向重传。两个收发器之间可以四个中继器2500m
曼彻斯特编码,简单。
帧格式 使用7B的10101010作为前导,然后10101011作为开始。
地址第一位 单0组1 第二位全球0本地1 全1广播

避免帧到达前就发完,发送时间大于2τ。(防止对向冲突)
快到对面的时候对面开始发,这样就Collision。减小站点距离或者加大帧长才能提速。最大冲突检测时间为51.2us
二进制指数后退 时槽为51.2us。第i次冲突后 等待0~2^i-1。到10位上界,16次彻底失败
用交换802.3LAN来减少冲突 ??大概是接入交换机,被缓存并并行转发?
以太网
快速以太网 HUB的10BaseT甚至100BaseT4
100BaseT44对非屏蔽双绞线1对Tohub1对FromHub,两对变换方向。
25MhzBaudrate。曼彻斯特编码,8B6T,8B映射到6个三进制位。每对带宽25*8/6 =33.3Mbps。正向100反向33.3??
TX 2对五类线,to和fromhub。125Mhz,4B5B编码。每对125/5*4=100Mhz
FX 2根多模光纤,全双工
HUB 共享:一个冲突域,CSMACD二进制指数后退,半双工
交换式。输入帧缓存,一个端口为一个冲突域
1000BASE X系列是8B10B编码
1000baseT 4B5B编码
一个冲突域只允许一个中继器
10GE 万兆以太网,全双工,不用CSMACD。只光纤,单模可以用在WAN MAN
多模的传输距离只有65-300M

802.5 令牌环LAN
并不是广播,而是点到点组成的。完全公平且无冲突
Token,要有足够的延迟被容纳。
要发数据,取下令牌,发送,发送站负责移除帧然后重新生成令牌开始监听。
确认:帧内的比特域,初值0,目的站变1.
重负载效率100%。
引入1bit传输延迟。物理长度为信号传播速度/比特率
屏蔽双绞线,差分曼彻斯特
令牌持有时间10ms,有优先级
环上竞争选出监控站,负责维护保证令牌不丢失,处理断环和坏帧

光线分布式数据接口 FDDI
多模光纤 类似TokenRing 100M 4B5B 200km 1000站
连接LAN的主干网,可以双环。站点发完后立即产生新令牌,环上可同时多个帧。
DPT RPR Dynamic Packet Transport
用于MAN 双环,双环都可以传输data和control
目的站取下报文,不占用
网桥
在LAN之间实现帧存储转发。可以分隔大LAN可以连接远LAN。
兼容不同类型,安全保密
中继器不能隔离冲突域,网桥|交换机可以
原理
多个物理层和MAC子层。
转换帧格式,缓存不同速率的帧,高层协议的定时器。甚至MTU最大帧长的区别。无法转发就扔掉

一开始接受所有帧,洪泛转发帧。后来逆向学习,通过源地址收集MAC写入对应表。不断更新
多个网桥的回路问题 网桥间通信,用连接每个LAN的生成树覆盖拓扑。透明or生成树网桥
- 网桥广播自己的编号,最小为root
- 计算到根的最短路,构造生成树,使得LAN和桥到根最短
- 故障重新计算
- 不断更新
源路由网桥 如果不在自己的lan内,在帧里制定好路由序列。LAN的12位编号和Bridge的4位。每个站广播发现帧来获得最佳路由。
Ch7 路由选择和网络层 183 7
概述
在实体间交换网络服务数据单元。传送实体独立于路由选择和交换的方式
通信子网的最高层
传统电信vs互联网:可靠连接vs不可靠,复杂功能放在传输
路由算法
数据包分组交换vs虚电路分组交换,每个或者一次路由选择
最优化原则 最优路线的包含性,最优路线的子路线是最优路线
汇集树 类似生成树,只不过是所有src汇集到dst,是路由算法的目的
最短路径路由
DIJKSTRA
静态洪泛
重复分组多,回路。给分组设置寿命计数器,不要反复传播+记录经过的路径
改进为选择洪泛,转发到正确方向接近的线路,作为基准来评价
基于流量的路由算法
拓扑结构+网络负载。假设站点间流量平稳可预测,得到平均分组延迟来找最小延迟的路由算法。可以离线计算
需要通信量矩阵Fij和带宽矩阵Cij。即流量和带宽
计算平均延迟T = 1/(μ平均包大小1/800bits C带宽 - λ平均包量) ,为剩余网络带包数的倒数
距离矢量算法 Bellman Ford DV
应用:ARPANET RIP
路由器作为索引|出镜线路|距离估计值(hop)or延迟
每隔一段时间,向所有邻居发送自己的表
同时收到来自所有邻居的表更新自己的路由表,为min(到邻居的代价+这个邻居到目标的代价),这个过程不依赖老表?难道这个代价是重新测算or保存到一张长期有效的另外表中。
问题 无穷计算不收敛,好消息与坏消息
- 突然很好很近的路径进来,很快被同步,大概是正比于路径跳数的时间
- 宕机一个router,产生无穷计数,大家都缓慢的增大。因为宕机一个后,其他路由器还以为自己的邻居仍然有很好的路径能到宕机哥们那里。

禁止路由器向邻居返回一个从邻居获得的最佳路径(线性拓扑中的无穷级数)染毒逆向的水平分裂法 即如果我的路径包含你,我就告诉你是无穷大的。闭合Y字形失败。
问题的核心 当 X 告诉 Y 它有一条通往某个地方的路径, Y 无从知道自己是否已在这条路径上。
链路状态路由 发送自己周遭链路的状态 LS
OSPF ISIS
开始工作之前,每个router:
(1) 发现它的邻居节点, 并学习其网络地址。
往每个线路发送hello,接受者加上自己的唯一身份。
广播LAN建议增加超节点,连接广播所及的节点
(2) 测量到每个邻居节点的距离或者成本度量值。
常用度量:带宽反比、链路延迟
(3) 构造一个包含所有刚刚获知的链路信息包。
发送方标识符,Seq用来自己控制版本新版加一,Age寿命过期就扔,表:邻居列表和对应成本
(4) 将这个包发送给所有其他的路由器,并接收来自所有其他路由器的信息包。
洪泛,发一个新的就递增。接收方需要记录来自其他Router 的已接收最大序号,如果接收到同样包则丢弃不发送,收到小序号则过时
问题:序号绕回,用大范围;路由器崩溃,丢失序号记录,发的太小会被拒绝;序号被破坏,错误地增大很多seq导致新的被当做老的
解决:加入age年龄字段,每过1s减一,相当于有效期。
一般10s左右新的包就会来替换掉老包,年龄设为60检测宕机
链路状态数据包需要返回ack以确认


来自不同src的副本可能从任何邻居那里到来。到来的标记ack并发送ack,其他标记sentflag
(5) 计算出到每个其他路由器的最短路径。
完整网络拓扑图,每条边被表示了两次。因为双方向不一定成本相同。运行Dij即可并存到路由表中。
评价 没有慢收敛,但可能路由震荡(当路径负载作为代价时,可能顺逆震荡),需要Onlogn,长时间定时或者重大变化才重发分组
路由算法依赖于路由器计算路径的处理,少数路由器瞎编也可以破坏网络。比如声称不存在的链路或者故意忽略链路。
分层路由
太大,表大,收敛慢,计算大。分层后不一定最优
最优lnN层,每个表项elnN个
移动主机路由
设定移动主机有不变的家乡位置和地址,每个区域有家乡代理和外部代理。分别记录登记在这人在外边的,和人在这的
- 进入新区域的移动用户向本地的外部代理注册,告知家乡地址,目前链路地址和安全信息。外部代理会定期广播的自己的存在和地址分组。
- 外部代理和家乡代理联系,更新其现在的位置和外部网络地址
- 家乡代理检查通过,ack
- 外部代理收到ack,登记并注册成功
- 收:
- 家乡局域网——家乡代理—隧道—外部代理,同时告诉发送方你直接隧道到外部代理就好了or移动主机通过外部代理告诉发送者自己的转交地址,以后直接隧道到这里来。外部代理发给用户(三角路由,后续直接优化到一条边了)
拥塞控制算法
开环控制:好的设计避免拥塞,不考虑网络状态
闭环:基于反馈,监控,调整
vs流量控制,拥塞是全局性的,流量是对点的,不要超过接收方处理能力
参数 丢包率 队列长度 重传量 延迟 延迟变化
反馈 丢包路由器向负载发生源头发送告警分组
分组头中保留拥塞域ECN,对应端口所有输出标记好,接收方ack也携带
端主机反馈
开环控制——流量整形
把突发性的变成均匀可以预测的
漏桶算法
不平滑数据分组流变平滑,可以固定or变长分组协议ATMorIP
字节计数,规定桶容量为B,出水速率为R。不灵活
令牌桶
t产生令牌,传送分组消耗令牌,可以累计发送权到桶大小。适合突发。如果路由器有9600KB的缓冲区和200Mpbs的速率,主机速率可到1000Mbps,则在主机端使用B9600KB R200Mpbs的令牌桶。
一开始全速发送一段时间直到填满缓冲区,然后削减到200Mpbs,桶空则延迟,流量慢于200的时候慢慢被填满。可以有一些突发。
双令牌桶 第二个桶的速率更高但几乎没有容量。即降低初始突发允许大的突发更加平滑的输出,而不是一开始很快后来降低到长期速率。
虚电路子网和准入控制
三方出具流说明,包含流模式,服务质量等。慢慢协商。协议后预留资源
拥塞问题解决前不允许建立新虚电路or可以建立但必须绕开
逐跳抑制分组 抑制分组通知源主机太慢了,每一跳都有抑制作用,更迅速,需要上游Router缓冲区更大
数据包子网拥塞

包调度——公平队列
每个输出都有多个队列,循环扫描队列头发送包,队列优先级相同。即abcabc的发送。但是大包获得的带宽大
改进为加权队列 ——分组轮询变成字节轮询
时间按照发完分组的虚拟时间计算,可以有权重,时间除以权重
也就是一轮循环砍一个字节,有的管道砍得多。先被砍完的包先发送。
完成时间 = max 到达时间,同队列前面包的完成时间 + 长度/权重

负载丢弃
多媒体 扔老的 milk 文件传输扔新的 wine
网络互联
中继器,物理层拷贝比特放大信号
网桥,数据链路层。局域网之间存储准发帧,可以改格式
多协议路由器,网络层。在网络之间存储转发,可以转协议
传输|应用网关:传输层转发|应用层互联
无连接网络互联
多协议路由器转协议,转分组格式和地址等等
隧道
源和目的主机网络相同,中间隧道打包。把原来的包作为载荷
互连网络的路由 更复杂,自治系统AS??
内部网关协议IGP:RIP OSPF ISIS
外部网关协议EGP:BGP
分段
透明分段:网关分片后每个片段必须经过同一个出口,再重组。对其他网络透明。
- 需要数据包结束标识
- 路由被限制在同路径,损失性能
- 路由器工作大,需要拆分组装缓冲等
非透明:一旦分段,直到目的主机都不重组。需要的话可以继续拆分
树形标记,0分为0.0和0.1再往下分。长度前后一致
偏移量法:原始分组seq,offset(仅数据层)和最后片指示
路径MTU发现,IP中有不允许分段的DF比特。如果接收到很大的数据包,会生成报错发给源主机然后丢弃此包
源端需要分段到路由器能处理,再次发送可能仍然被之后的路由器拒绝
需要更高层协议了解路径MTU并传给IP,比如TCPIP来传递,相当于把分段任务从网络交给主机
- 启动延迟增大,需要来回找MTU
- 可能会拦腰截断MTU
防火墙
两个路由器根据规则表过滤,或者边缘网关审查
互联网网络层协议
IPv4
头
20B变长到20+40
IHL 几个字的头。
Type 3个优先级位 3个标志位Delay T R 2个保留位,经常忽略
DF,不许分片,必须接受576B的片段
MF,还有更多分片,最后一片为0.
offset 片段偏移了多少字节,仅表示数据部分偏移
MTU1500时候最多20头+1480B数据。
生存期:寿命,TTL跳一次减一,丢弃后告警。最大255
Header校验和:16位取反循环相加,进位在末尾,和再取反
地址
网络号+主机号,分类

全1广播 全0本机
host部分可以划分为subnet和host,划分子网
ICMP 互联网控制消息协议 报告错误和测试,封装在IP中
ARP 地址解析协议 解决IP和MAC地址的映射。建立ARP表,存放IPMAC地址对。同子网内查找arp,否则用默认缺省网关的IP查找。没找到就广播分组,目的主机需要应答,ARP增加。
每个主机启动的时候广播自己的映射。
表项有生存期。
RARP MAC找IP,也使用ARP消息。无盘工作站启动,由于路由器不转发广播帧,RARP服务器必须与无盘工作站在同一子网内 ??
区分BOOTP 使用IP UDP,可以分配其他信息。可以转发到其他子网
RIP 内部网关协议IGP,基于UDP
距离向量算法,用跳数衡量距离,30s一次。
6个周期180s没有邻居声明,则认为失效。所有经过其路由无效。声明发给其他邻居,并快速再次发出声明传播到全网。RIP可以快速传播链路失效
OSPF开放最短路径有限 内部网关协议IGP
多种衡量比如延迟,距离,带宽。链路状态算法。
基于服务类型路由、负载平衡、分层路由、安全措施、隧道技术
自治系统分为区域,每个AS有主干区域0.用星连接,局域内路由;区域间路由都到主干再转发目的;自治系统间路由
路由器可以重叠:区域内,区域间,主干,自治边界。
BGP边界网关协议 外部网关协议 基于TCP
特殊的跨域路由协议:控制流量路由,更注重策略而非性能
TCP连接传递路由信息,路径向量算法,路由信息中记录路径轨迹。类似距离向量。广播所有目的地的路径。通过告不告诉路径控制流量。
消息类型 open,建立对等TCP连接认证身份;UPD,更新路径或者撤销;KEEPALIVE,没有upd也告诉你连接有效,回应open;NOTIFICATION报告上条消息错误或者关闭连接
CIDR无类域间路由 B类地址浪费大量空间
将剩余的C类地址分成大小可变的地址空间,推广到所有单播地址,掩码确定前缀长度。
世界四大区各有一块连续的C类地址,增加mask掩码域。最长前缀匹配:多个匹配成功选择掩码最长的路由表。适用于所有IP地址???
分配地址的时候分配一些0和掩码。
匹配时,目的地址先and掩码,然后匹配根地址。并最后选择前缀最长(掩码最长)的表项即最具体的。
分配地址时,根据掩码数据对齐
IPV6
不兼容IPv4但兼容很多Internet协议如TCP UDP OSPF BGP DNS
简化IP头,定长不用IHL,取消分片的域。必须能支持1280B的分组,路由器报错主机分片。不要检验和。更好支持选项更高安全
40B

Priority 流控或不能,表示优先级高低
Flowlabel 允许src和dst建立具有特殊属性的伪连接
Payloodlen并不是总len了
nexthdr指示扩展分组头,如果是最后一个则告诉tcp或tcp
- 拉火车一般指示后面的分组头,目前六种
- hopbyhop 指示挨个路由器检查的信息
- routing 必须经过的路由器
- fragmentation seq fragmentnum morefragment…
最大跳数
::192.1.1.1 表示v4地址
过渡方案
双栈,两套协议栈,主机根据DNS返回结果或对方版本号选择。路由器看版本
翻译,路由器可以翻译如NAT-64
隧道,把IPv6隧道进Ipv4里面传输,更有普适性?
路由器体系结构和关键技术
路由:建立端到端的路径
转发:确定next hop
难度在于:内存速度跟不上moore,性能要求(带宽增加)快于摩尔定律
结构发展
- 单总线单处理器
- 单总线多处理器,每个接口卡处理器来协调
- 交换结构+专用硬件
- 可扩展路由器
基本结构
- 多套网络接口
- 路由引擎,运行高层(路由)协议
- 路由表:被引擎更新,包含所有路由信息,承上起下
- 转发引擎,确定转发路径
- 内部交换,在接口和引擎间高速数据通路
两条路径 数据和控制
控制,进引擎再出
数据,关键路径,在内部交换后被转发:路由查找+内部交换
基本功能 正确转发的路由查找,正确传送的内部交换
查找算法 值入手,穷举,TCAM硬件查找
长度入手:Trie树 长度空间二分
线性链表太慢
二分Trie 最坏logN 储存效率低
路径压缩Trie,把单分支的节点压缩。
多分支 O(logN /K) 更新慢,空间浪费
大RAM的查找表 两级分别是16位,包含地址、下一层地址和下一条
区间二分查找 log2(2N)最多到logk(2N) 更新很慢
TCAM 速度快芯片贵功耗大更新慢 低地址前缀最长,一个周期精确查找
高速报文转发
虚拟输出队列(队头堵塞)》输入队列
Ch8 端到端访问和传输层 67 1
传输服务
消除网络层不可考,提供端到端的进程可靠,与网络无关的数据传送
传送实体
1~4层为传送服务提供,往上叫用户
TPDU 传送协议数据单元
原语
CS模式:listen connect send receive disconnect
对称(双方单独关闭)或者不对称(任何一方)的关闭连接
非对称数据丢失,对称两军问题(不存在安全N次握手释放对称连接)。一般用三次握手+定时器释放,即释放+定时
连接和释放,都是自己执行原语+对方包到达
Berkeley Sockets
对称释放连接,都调用close
服务程序:socket创建分配表空间,返回fp;bind赋予地址;listen分配数据空间;accept阻塞等待连接,有连接请求的时候创建新的套接字和fp,原来的继续等待
客户程序:socket创建分配表空间,返回fp;connect阻塞并尝试连接;
传送层寻址
传送层编址
即标识TSAP传送服务接入点,连接应用进程。互联网的TSAP为ip+本地端口
可能约好,也可能从目录、名称服务器(连接,查询名称,得到TSAP,释放)查询
进程服务器,帮助一些服务进程监听。多个端口监听,客户进程在某几个TSAP建立请求。如果没有服务进程,那进程服务器和用户连接帮助唤起服务进程。即简单应答一下请求,并帮助叫人。
连接管理
三次握手
- A发出序号X的CR TPDU
- B发出序号Y的CC TPDU,并ack X CR
- A发出序号X+1的data tpdu并确认Y CC
- 解决网络层丢失、重复等问题
缓存和流控
不可靠的缓存
每个连接单独缓存,一边重传。接收方随意。
固定大小,可变大小,通用缓存池
流控
用可变滑动窗口,即窗口大小根据接收方的缓存情况给出(协商)。应该周期性发TPDU。
TCP协议
字节流,端到端,连接,可靠
双方都套接字,作为TSAP,IP地址+端口。256被保留。点到点双工用两个套接字表示。不支持组播广播,消息边界不保留。
PUSH标记不缓存,强迫发送
URGENT紧急数据
按照字节分配序号
TPDU叫做SEGment
20B头+选项+数据;段不超过65535的IP数据包,不超过数据链路层的MTU,以太网1500MTU
滑动窗口,确认序号是接收方希望接受的下一个序号;
TCP头

头长度 4b,用几个word表示,包含option。
RST用来不可恢复的错误重置连接
SYN 连接建立指示 FIN释放连接指示
ECN explicit congestion notification显式拥塞通知时,ECE表示ECN Echo,让发送端放慢速度。发送端设置CWR给接收端表示已经放慢停止ECE
window size 从确认号开始可以再发多大字节流
checksum对TCP头 数据和伪头(addr+-+protocol+TCP段长)计算校验和
选项
三次握手建立
- 服务器listen+accept 开始监听
- 客户端connect 产生syn1 ack0 seq100的tcp segment
- 服务器检查服务进程
- 没有监听,回答RST重置连接
- 有监听,服务进程选择接受。SYN1 ack1(101) seq300接受。
- 客户方syn0 ack301 seq101 确认
服务机listen直接收到send,则去尝试SYN连接
SYNSENT后也在listen,收到SYN发送SYNACK到SYNRCVD
对称释放连接
双方都可以FIN释放,但是只是一方不再发送。所以FIN ACK共2对才能释放,可以中间既FIN又ACK而3段释放。可能会同时发送FIN,那么单独确认后关闭。
主动fin,进入finwait1。被对面ack自己的fin进入finwait2。常规。
主动fin在wait1时,同时收到对面fin,发送ack进入closing。等待ack即可timewait。
主动fin后被对面ack+fin,则自己应答ack进入timewait。
被动fin,发送ack进入close wait,等待自己发完。自己这边发完了就主动fin进入等待最后的last ack,等到对面ack就成功释放。
传送策略
在WIN0时候。紧急数据仍然可以发送,1字节端强迫接收端重新宣告ack和win叫做window probe窗口探测
- 发送方缓存数据等待大段发出
- 接收方期待捎带而非单独发
- Nagle 发一个字节,然后每次等到ack后发送全部
- Clark 解决傻窗口。应用层读一个造成window=1,至少多一点buffer再告诉发送方。比如一半buf或者最大段长
拥塞控制
原因:网络慢buffer大(拥塞窗口,慢启动,避免拥塞),快网络小buffer(随时window调整),按照最小值发送
慢启动
拥塞窗口congwin,初始值为最大段长MSS。先发最大段长,正确确认后拥塞窗口变为2个最大段长。被正确确认后加倍。直到超时or大于阈值threshold(64K)。也就是收到一个ack加一个段。
拥塞避免
大于阈值后线性增长,一个RTT周期增长一个段长。直到丢包超时。
如果超时则阈值阈值减半,窗口变为1个段长。开始慢启动
快速丢包超时——快速重传 超时or三个重复ack,直接认定超时。阈值减半窗口回1.
以上三个技术最早在Tahoe版本实现

快速恢复??
TCP Reno会把当前的ssthresh的值设置为当前cwnd的一半,但是并不会回到slow start阶段,而是将cwnd设置为(更新后的)ssthresh+3MSS,之后cwnd呈线性增长。
有人说超时到慢启动,快速重传触发快速恢复。每接收到一个冗余的确认报文,cwnd就增加1MSS
快速回复再超时,慢启动。
非冗余ack,新ack,cwnd回到ssthresh开始拥塞避免
多用户竞争瓶颈链路带宽问题
有效性+公平性
M 与原点连线,A正规斜线??
MIAD 不稳定(需要初始带宽相同,且…),震荡;不公平收敛,大带宽全要;有效性不收敛
AIAD 稳定在ad==ai;不公平收敛;不有效
MIMD 稳定,来回震荡;不公平收敛;有效收敛(系数符合)
AIMD 公平收敛 有效收敛,越来越靠近y=x
UDP协议
无连接,端到端
更快、简单、小头、没有拥塞。但是可能乱序丢失,每个都独立。用于流媒体(可以丢包但是速度延迟很重要)
其他应用:RIP发送路由信息 DNS SNMP(网关信息)
头

端口长度校验和
Ch9 网络应用 68 1
应用层
进程、线程通过os提供的IPC通信。不同主机则使用应用层协议通信。
用户代理user agent指的是用户和网络应用程序间的接口,如web浏览器,播放器
socket就是Internet API,两个进程读写socket通信。IP地址指明主机,端口指明进程。
TCP:email+smtp; remote terminal access+telnet; Web+Http; ftp; 流媒体+proprietary; remote file server+NFS;
UDP: 流媒体+proprietary; remote file server+NFS; Internet telephony+Skype; DNS
流媒体,远程文件服务器,网络电话
CS模型
请求——响应
服务器具备并发性,为每个客户建立进程or线程处理通信。一部分用于接受请求创建进程,另一部分负责实际处理和通信。可以同时使用tcpudp
域名服务 DNS
domain name service
小网络只需要查一个文件就可以对应主机和地址,但是大网络就不行
app调用解析器resolver,向本地域名服务器请求,以udp发送;本地域名服务器尝试解析,如果失败继续向上级域名服务器查询…直到解析完响应
名称空间
顶级域名由ICANN管理,over250个顶级域名,不断被划分成一棵树
顶级域名分为组织结构通用域名和地理结构国家地区两种,下面有子域名.
大小写无关,每部分最长63字符,整体最长255字符。是从底下向上到根节点。这样前面一样也并不会冲突。
新的细分域名(新域)要被上级的管理员认可。
DNS数据库
每个域都有一组关联的五元组资源记录,
域名——有关的资源记录
域名(可能有多个记录);生存时间;type;class(IN表示internet);value
- type
- SOA 名字管理员的电子邮件,域的基本信息
- A or AAAA quadA 主机名——主机地址
- MX name对应邮件服务器的hostname,通过@后面的地址找到邮箱服务器
- NS 域名——权威域名服务器(地址)名字,所在域和子域的名字服务器,用于域名查询处理。
- CNAME 规范名称别名——规范名称
DNS划分域名空间到很多zone,边界由人工设置。edu.cn 和 tsinghua.edu.cn为不同的zone,有各自的域名服务器。主和备份域名服务器,备份从主服务器获得信息。。。
多层DNS query example

查本地直接查,如果查外地。本地域名服务器联系根服务器(很强),然后逐渐往下联系。查询robot.cs.washington.edu
本地——根——edu——washington.edu–查英语系直接获得答案,计算机系需要再往下找到cs.washington.edu
本地不能返回部分答案,需要递归查询(负责到底)。根服务器返回部分答案给本地,迭代查询(我不知道,你问他吧)。
引入缓存 在本地域名服务器缓存一些常见的域名和IP,以及其权威域名服务器。不过缓存答案不一定及时更新(过期)
简单网络管理协议 SNMP
功能:性能、故障、配置、记账和安全管理。基于UDP
模型
被管理节点(主机路由器等网络设备):运行snmp agent维护本地数据库,描述自己的状态历史等,影响运行。
管理工作站:运行manager 使用管理协议与代理通信,维护管理信息库
管理信息:每个站点用多个变量(对象object)描述自己的状态,组成MIB管理信息库
管理协议:用于manager查询修改被管理节点状态。被管理节点也可以向管理站产生trap报告
抽象语法表示法 ASN.1
MIB采用树形结构,根在最上面。在不同计算机之间的对象描述和传输。分为数据描述定义和传输语法定义
5数据类型
int bitstring octetstring(无符号字节) null object-identifier
任何标准中的对象都用对象命名树可以表示
比如tcp 1 3 6 1 2 1 6
构造新类型的方法:seq seq of (1type) set set of choice(union)
也可以通过标记新老的类型来创建新类型,四类标签…
传输语法 编码规则BER
标志符 + 数据长度域 + 数据域
SMI和MIB
SNMP在ASN1上定义了4个宏和八个新数据类型来定义数据结构,叫做SMI
变量叫做object,相关对象叫group,group汇集成module
MIB包含十个组,管理站通过SNMP向站点agent查询这些对象的值
object属性:类型(名字)、语法(数据类型)、存取(access ro wo rw non)、状态(实现需要,比如必备实现,可以实现和废弃)

电子邮件SMTP协议
结构
用户代理(用户进程)——消息传输代理(邮件服务器,OS后台进程,从源发到目的端)——简单邮件传输协议SMTP
基本功能和进阶功能:
撰写、传输、报告、显示、处理
自动转发、自动回复、收件箱、抄送、加密、优先级、群发的mailing list比如students@cs.tsinghua.edu.cn
组成
MIME 多用途因特网邮件扩展 多媒体支持,转换为ascii流发送
- 信封:接收方信息,如名字地址,优先 安全
- 邮件消息
- 邮件头:用户代理的控制信息,比如from
- 邮件体:实际内容
X.400地址/C=US/SP=MASSACHUSETTS/L=CAMBRIDGE/PA=360 MEMORIAL DR./CN=KEN SMITH/
SMTP描述
- 25号端口,TCP连接
- 接收方是服务器,首先发送准备接受消息
- 客户发出Helo 消息,服务器回答Helo,开始传输
- 首先发出From 和 RCPT To,服务器分别确定收信人存在,表示可以继续发送
- 客户发送DATA,以CRLF.CRLF结尾,服务器可以确认
- 服务器也会发送邮件给客户,过程相同。然后释放TCP连接QUIT
消息以7bit ascii为单位,特殊串如结束符不允许出现,可以base64编码之后
持久连接
POP3 用户代理和邮箱不在同机器,使用pop3取回邮箱的信件。
IMAP 多个用户代理访问同样邮箱
PGP/PEM 加密email
WWW
模型
- Web页面
- URL表示地址:协议+对象地址(域名orIP)+路径名
- 对象object组成
- HTML+引用对象
- browser 访问网页的客户端
- Web服务器,储存web对象
- Apache
- Microsoft Internet Information Server
- 超文本传输协议HTTP
HTTP hyper text transfer protocol
TCP 80端口 cs模型,无状态协议不保存客户信息。
1.0 非持久连接 http1.0
1.1 持久连接
2.0 多路复用
3.0 HTTPoverQUIC
例子
建立连接——请求——响应一个页面——服务器关闭tcp——浏览器解析页面发现有十个引用的对象,再去请求对应的服务器
持久和非持久
非持久 HTTP1.0 服务器响应后马上关闭连接,每个obj取得至少两个RTT,都需要慢启动
持久 HTTP1.1 同一个TCP连接上,服务器解析请求响应,再解析新请求。客户端请求所有obj,较少RTT和慢启动。。
代理服务器缓存
web缓存如果有,直接返回。否则申请原服务器。有更小的延迟和减轻远端流量
文件传输FTP协议
tcp 21 cs模式,并行的tcp连接。
21端口用来控制,使用telnet。在protocol interpreter中
20端口传输数据,数据连接可以双向,不一定始终存在,单独的数据传输进程。
维护状态:当前目录、身份认证
常用协议集
体系结构
-
物理层
链路层
- ATM
- 面向字符:PPP字符填充,多协议多功能,改进SLIP,不滑动 DDCMP BSC BM XBM ,SLIP字符填充 原始IP包 标记字符定界
- 面向bit:SDLC ASCCP HDLC(主、次、组合站,使用011111110定界 CRC校验 信息、监控、无序号帧) LAP LAPB(X.25,是HDLC子集)
MAC+LLC(HDLC)逻辑链路控制子层
802.3:1-坚持CSMACD 10Base5… 曼彻斯特
前导7字节10101010和一字节10101011
以太网 MTU(前导8)46+18~1500+14+4B
6字节地址 最短帧长大于2τ防止冲突
100BaseT4 25MHz 8B6T编码 每对33.3Mbps
10GE 只光纤 单模更好 不使用CSMACD 全双工
802.5 令牌环 需要延迟容纳令牌 重负载100% 曼彻斯特编码 物理层违例定界;源路由网桥指定Lan序列
FDDI 多模光纤 100M 4B5B编码 物理层违例定界 类似令牌环
DPT|RPR 城域网双环 SRP
802.11 WIFI——MACA(RTS+CTS 二进制指数后退) W确认,载波监听
收发器:csma等
交换机:隔离卡内冲突域,卡间并行无冲突
网桥:互联lan,转帧格式,隔离冲突域;
到根的最短路径为生成树,其他透明。
网络层
静态
距离向量路由:无穷计算 水平分裂:从你学的不给你报告 Y失败
链路状态路由:Hello学地址,echo测开销;
- 包:自己、Seq、Age(TTL、邻居代价
- Onlogn 可能震荡
TCPIP
IPV6 1280B分组,主机分片;双栈、翻译(NAT64)、隧道
ICMP 报告错误和测试
ARP RARP:MAC IP
BOOTP 使用IP UDP,可以分配其他信息。可以转发到其他子网
CIDR 无类间域路由:解决ipv4不够,罪魁祸首B类——把剩余的C类分为大小可变的地址空间。
不给B,多给几块C。世界上四段连续C类,
域内IGP
域间EGP:需要定义策略,而非性能
拥塞控制
- 开环:漏桶(字节计数)、令牌桶
- 虚电路:流说明、准入控制、资源预留
- 数据包子网:抑制、逐跳抑制
- 公平队列算法、加权公平队列——分组轮询到字节轮询
分片:出口重组or目的重组
路由器:网络接口、内部交换、转发引擎、路由表、路由引擎;完成路由查找 和 内部交换
传输层
- berkeley sockets 对称释放连接
- TCP
- 三次握手建立SYN,对称式关闭FIN(三次握手+定时)
- 20字节开头,满足MTU
- 可变窗口
- Nagle:1 + all + all改善发送 Clark改善window
- 不保证延迟和带宽
- UDP,不握手,只有len和check
应用层
- FTP 控制tcp21+数据tcp
- SNMP udp
- 性能、故障、配置、安全、记账
- 背管节点、工作站、管理信息MIB、管理协议SNMP
- ASN1抽象表示,构造新类型,SMI管理信息结构。obj-grp-mod 10grp
- obj:类型、语法、存取、状态
- 传输语法:BER规则
- 标志符 tag type tag,可以后延,最后一个首1
- 数据长度域:高位0直接写,高位1表示有多少字节
- 数据域:
- Int 二进制直接传
- bitstring 第一个串为最后不用的个数
- octet str直接传
- 命名树放编码,两个数合并40a+b
- WWW结构框架HTTP tcp
- Email:SMTP tcp
- 撰写、传输、报告、显示、处理
- 信封接收方 信头用户代理的控制信息 信体
- MIME多媒体扩展
- POP3 IMAP PGP PEM 给用户收件
- DNS udp
- 资源记录,type中A MX主机 NS CNAME SOA
- ICANN管理顶级域名
- 递归负责到底,迭代你问问它,本地服务器负责到底
- Telnet tcp