xjtu计网 期末复习
MTU:最大传输单元,链路层的帧中的数据部分的最大字节数,以太网中的一般为1500字节。
MSS:最大报文段大小,TCP的报文段中的数据部分的最大字节数,MTU减去IPv4的Header和TCP的Header。IPv4的Header和TCP的Header一般都是20字节,则MSS=1500-20-20 = 1460字节
MSL:报文最大生存时间,报文在网络上存在的最长时间,TCP连接必须经过时间2MSL后才真正释放掉。Windows默认MSL为2分钟。
RTT:往返时间。
TTL:表示IP数据报在网络中的寿命,其单位为秒。在目前的实际应用中,常以“跳”为单位。该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。
计算机网络
将位于不同位置的多台自主计算机与通信设备和通信软件(操作系统、协议等)连接起来,实现资源共享的系统。
子网、CS、P2P
OSI七层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
TCP/IP四层:应用层、传输层、网际层、数据接口层
混合参考模型具有五层:应用层、传输层、网络层、数据链路层、物理层
1G:模拟信号,2G:数字信号,3G:宽带数字信号(数字和数据),4G:全IP数据包交换,移动宽带,分组交换
物理层
双绞线:双绞线是最常用的古老传输介质,它由两根采用一定规格并排绞合的、相互绝缘的铜导线组成,绞合可以减少对相邻导线的电磁干扰,为了进一步提高抗电磁干扰能力,可在双绞线的外面再加上一个由金属丝编织成的屏蔽层,这就是屏蔽双绞线(Shielded Twisted Pair,STP)。无屏蔽层的双绞线称为非屏蔽双绞线(UTP)。
同轴电缆:由于外导体屏蔽层的作用,同轴电缆具有良好的抗干扰特性,被广泛用于传输较高速率的数据,其传输距离更远。
电线:电线是一种传输介质,它由一根或多根金属导线组成,常用于传输低速率的数据,如电话线、电源线等。
光纤通信就是利用光导纤维传递光脉冲开进行通信,带宽范围极大。光纤主要由纤心和包层构成,光波通过纤心进行传导,包层较纤心有较低的折射率。当光线从高折射率的介质射向低折射率的介质时,其折射角大于入射角。因此,如果入射角足够大,就会出现全反射,即光线碰到包层会折射回纤心,这个过程不断重复,光也就随着光线传输下去。光纤可达的带宽是50Tbps,目前100Gbps,理论上无限带宽。纤维容易因过度弯曲而损坏
无线传输介质
电磁波谱,理论上光速,实际2/3光速
跳频
扩频
无线电传输:全向波,容易产生,传播距离长,穿透建筑物
微波传输:需要中继器的定向波,不穿透建筑物
红外传输:用于短距离通信的无导波,相对定向,便宜,易于构建,不穿透固体墙壁
光传输:无导光通信,激光
同步卫星高度35800km
振幅不会明显减弱的传输频率范围的宽度称为带宽。使用傅里叶分解,信道允许通过的谐波次数越多,接收波形越接近原始发送波形。信号所需的带宽与数字信号脉冲的频率成正比,频率越高,脉冲越窄,需要的信道带宽越高。
数字信号传输可以被认为是由无数个周期模拟信号构成的,传输质量与频率有关。数字信号传输会受到衰减、失真等影响。部分原因是不允许高频元件通过。因此,传输介质的频率范围或位数称为带宽。
波特率和比特率
波特率:一个信号每秒变化的数量称为波特率,B=1/T。
比特率:比特率是指每秒传输的比特数,单位是b/s,也称为bps。
s为比特率,B为波特率,T为频率周期,v为信号值个数,则\(s=B\log_2v=\frac{1}{T}\log_2v\)。
奈奎斯特理论:如果截止频率为BHz,则通过制作2B个采样可以重构滤波后的信号,信道的最大数据速率\(2B\log_2v\),v为信号值个数,B为带宽。
香农:具有信噪比S/N的噪声信道,对比特率有限制: 最大传输速率为\(Blog_2(1+S/N)\),在实践中,我们使用dB(分贝)来表示信噪比而不是S/N 定义为\(10log_{10}(S/N)\),B为带宽。
带宽通常是有限的资源,解决方案:使用两个以上的信号电平,通过使用四个电压,我们可以一次发送2位作为单个信号,只要接收器的信号足够强以区分四个电平,设计就可以工作。信号速率变化是比特率的一半,因此所需的带宽已经减少
复用:
频分复用:将带宽分成多个频段,每个频段分配给一个用户,用户可以同时使用不同的频段。
时分复用:将带宽分成多个时隙,每个时隙分配给一个用户,用户可以同时使用不同的时隙。
同步时分复用(STDM)每个通道都被赋予固定的时间片。异步时分复用(ATDM),时间片是根据需求动态分配的,因此在数据传输量较小的情况下,其效率更高。
码分复用:将带宽分成多个码片,每个码片分配给一个用户,用户可以同时使用不同的码片。
波分复用:将带宽分成多个波长,每个波长分配给一个用户,用户可以同时使用不同的波长。
通常也可以这样理解,光频分复用指光频率的细分,光信道非常密集。光波分复用指光频率的粗分,光信道相隔较远,甚至处于光纤不同窗口。
数字用户线路
PCM:脉冲编码调制,将模拟信号数字化为数字信号,通过数字传输系统发送,特别是用于语音传输。采样、量化、编码、调制。
T1载波(1.544 Mbps)
电路交换和分组交换
电路交换需要建立一条专用的数据通信路径,在整个通信过程中将被独占,直到通信结束才会释放资源。电路交换适合实时性要求较高的大量数据传输的情况。
报文交换以报文作为数据传输单位,携带有源地址和目的地址等信息。无需建立连接。动态分配线路。报文交换对报文的大小没有限制,需要网络节点有足够的缓存空间
分组交换是将大的数据块分割成小的分组,并添加源地址、目的地址和分组编号等信息。无需建立连接,线路利用率高,相对报文交换,分组长度固定,缓冲区容易管理。
动态地设定通信双方间的线路,动态地接通或断开通信线路,称为“交换”
存储转发方式在转发数据帧之前,会先将整个数据帧存储到交换机的缓冲区中。然后检查数据帧末尾的FCS(Frame Check Sequence)位,以确保数据帧没有错误。
直通转发方式在接收到数据帧的目标地址后,就会立即开始转发,而不会等待整个数据帧接收完毕。
发送时延(transmission delay)
传播时延(propagation delay)
转发时延(relay delay)
排队时延
访问时延
处理时延
FDD相当于是双车道,上行和下行同时进行,互不干扰,所以速度快,但是需要的道路比较宽。但TDD是潮汐单行车道,一个时间段只能上行或者下行,速度略有减慢,但是不需要对称的两条路,资源利用较少。灵活,非对称;干扰,信令复杂。
有线网络——将成为未来宽带接入网络的重要因素,现在许多人通过有线电视、电话和互联网服务
开环控制和闭环控制
- 设计时考虑因素
- 基于反馈
数据链路层
数据链路层将从网络层得到的数据包封装成帧进行传输。每个帧包含一个帧报头、一个用于保存数据包的有效载荷字段和一个帧尾。帧管理是数据链路层工作的核心。
未确认的无连接服务:源机器发送独立的帧到目的地,而不需要目的地承认它们。事先没有建立连接,之后也没有释放连接,没有尝试恢复丢失的数据。适用于误码率很低的线路,错误恢复留给高层;实时业务及大多数局域网采用。
确认的无连接服务:不使用逻辑连接,发送的每个帧都被单独确认。如果一个帧在指定的时间间隔内没有到达,它可以再次发送。适用于不可靠的信道,如无线网。
确认的面向连接的服务:传输经历三个不同的阶段。
数据链路层重传的单位是帧。
字节计数法:利用头部字段标志帧长度
字节填充的标记字节法:用标志字节(一个特殊的字节或字符)flag标记帧的开始和结束。在数据中的每个标志字节(包括ESC)之前插入一个特殊的转义字节(ESC)。每帧单独定界,每帧定界的错误不会传递给后续帧;局限于8位字符和ASCII字符传送,也不被普遍采用。
含位填充的分界标志法:用01111110作为帧的开始和结束标志,如果数据中出现连续的5个1,则在后面插入一个0。
物理层编码违例法:只有有冗余的编码才能使用;不需要填充,信道利用率高
差错控制:确保所有帧最终被发送到目的地的网络层—以正确的顺序;确保可靠,面向连接的服务;需要确认帧和计时器
流控制:控制传输帧的发送速度比接受速度高;基于反馈的流量控制,接收方告诉发送者给它发送更多的数据,或者接收方告诉发送方接收方是如何做;基于速率的流量控制控制,有一个内在的机制——机制限制了发送者传输数据的速率,不需要来自接收者的反馈。
错误检测与纠正
纠错码:FEC(前向纠错),包括足够的冗余信息,使接收方能够推断出所传输的数据必须是什么。
检错码-只包括足够的冗余,以允许接收方推断出一个错误已经发生(但不是哪个错误),并要求它重传。
关键的考虑因素是可能发生的错误类型
检d位错则任意两帧汉明距离大于等于d+1
纠d位错则任意两帧汉明距离大于等于2d+1
奇偶校验:在位串中添加一个位,使1位的总数为偶数(或奇数),使所有帧之间的距离至少为2,可以用来检1位错。
2的幂次位为校验位,其余为数据位
纠错码太贵了,所以我们只使用纠错检测和重传。
常用的:奇偶校验,checksum,CRC
交错奇偶校验,检测突发错误,数据按行发送,校验按列,最后一行发送所有校验位
checksum,补码运算,等价于带高位回卷的模加法;最后还要取反
CRC:所有算术运算都以2为模进行,加法没有进位,减法没有借位,其实就是异或
假设:
- 独立的进程。物理层,数据链路层和网络层是独立的,通过来回传递消息进行通信
- 单向通信。机器使用可靠的,面向连接的服务
- 可靠的机器和进程。机器不会崩溃
三个单工链路层协议 - 乌托邦:无流量控制或纠错。无错、理想信道下的单工协议,数据单向传送,收发双方的网络层都处于就绪状态(随时待命),处理时间忽略不计(瞬间完成),可用的缓存空间无穷大(无限空间),假设信道永远不会损坏或者丢失帧(完美通道)
- 无错信道下的单工停等协议。添加流量控制:停止和等待。数据流量是单工的,物理信道需要具备双向通信能力,是半双工的即可。解决如何避免收方被涌入的数据淹没,即取消“接收方允许无限量接收”的假设。解决方法:收方回发一个哑帧,接收方收到哑帧,表明收方允许接收数据,此时再次发送下一帧数据。
- 有错信道下的单工停等协议。添加纠错:序列号和ARQ(自动重复请求)。包括了正向应答,超时重传,序列号以及可能循环序号。发送方每发出一个帧,启动一个重传定时器,超时前,如果收到收方的确认,拆除定时器;超时还未收到确认,重传,重置定时器
提高效率:
- 双向数据传输,数据帧和控制帧在同一个链路交错传输
- 在收到确认前发送多个帧
- 使用更现实的双向通信:两个方向的数据使用相同的电路,反向信道与正向信道具有相同的容量。
捎带:暂时延迟确认,这样他们就可以被连接到下一个即将发送的数据帧,即确认信息搭了下一个数据帧的便车
捎带优势:更好地利用可用的信道带宽
问题:如何确定等待下一个数据帧的时间
三种滑动窗口协议
接收方发送方窗口不必有相同的上下界和大小,甚至窗口大小也可以不固定
发送方窗口内序号代表了可以被发送或者发送了但还未确认的帧
接收窗口缓存期待接收的帧
1位滑动窗口:初始seq=0,ack=1
BD为从发送方到接收方所需传输时间内信道上能容纳的帧数,则发送方阻塞前允许发送多达w=2*BD+1个帧
序列号为0,1,...,M
回退N步:只接受按序到达的,简单丢弃所有后续到达的帧(对应于接收窗口为1),发送方超时重传所有未确认的帧。发送窗口<=M,接收窗口大小为1.
选择重传:缓存正确但未按序到达的帧(即坏帧后的好帧)并正常确认,发送方只重传差错帧。发送窗口<=(1+M)/2,接收窗口<=(M+1)/2.
MAC子层
信道分配
静态信道分配—在多个竞争用户(如FDM和TDM)之间分配单个信道,静态地为每个用户分配带宽或时隙,用户之间没有干扰。FDM和TDM都不能很好地处理突发业务。将单个可用信道划分为静态子信道本身就是低效的,当用户处于静止状态时,带宽就被浪费了。
划分信道后,单个信道的平均延时比不分的情况差N倍,适合于用户较少,数目基本固定,各用户的通信量都较大的情况。
动态分配假设
- 独立业务,由N个独立的站点组成,每个站点有一个程序或用户生成帧进行传输。
- 单通道,所有通信都有一个通道可用。
- 可观察的碰撞,如果两个帧同时传输,它们在时间上重叠,产生的信号是乱码。碰撞是可以观察到的。
- 连续时间或开槽时间
- 载波侦听
纯ALOHA:当用户有数据的时候就直接发送并通过信号的反馈(接收方的广播)检测信道以确定发送是否成功。如发送失败,则经随机延时后再发送。
分槽ALOHA:把时间分成时隙(时间片),时隙的长度对应一帧的传输时间,新帧的产生是随机的,但分隙ALOHA不允许随机发送,凡帧的发送必须在时隙的起点。
1-坚持CSMA,如果一个主机要发送消息,那么它先监听信道,如果空闲,那么直接传输,不必等待。如果信道忙(有别人在传输),那么一直坚持监听,直到空闲马上传输。如果自己发送的时候监听到了冲突,那么等待一个随机长的时间,再监听,并重复上面过程。
非坚持CSMA,如果一个主机要发送消息,那么它先监听信道,如果空闲,那么直接传输,不必等待。如果信道忙(有别人在传输),那么不再监听,等待一个随机的时间之后再进行监听。
p-坚持CSMA,如果一个主机要发送消息,那么它先监听信道,如果空闲,那么有概率p直接传输,不必等待,概率1-p等待到下一个时间槽再传输。如果信道忙(有别人在传输),那么等待一个时间槽再进行上面的操作。
CSMA/CD,在发送之前先监听信道。如果介质空闲,则马上传输。如果信道忙,则一直监听到信道空闲,立刻传输。如果检测到碰撞,那么立刻停止传输,等待一个随机的时间,之后再重复上面的步骤。如果在2*端到端时延内没有检测到,就认为传输成功。
无碰撞协议
位图协议:竞争周期包含N个槽位,如果站k想要发送一个帧,它在第k个槽传送1。N个都经过后,按照数字升序传输数据。这是一个预约协议,让站以预定义的顺序轮流发送帧。数据长度为d位,信道利用率d/(d+N)
令牌环:将发送权限(令牌),在站之间传递。
二进制倒计数:每个站都传输自己的编号(逐位),一旦检测到编号更高的竞争者就会停止。利用率d/(d+log2N)
有限竞争协议,在低负载下使用争用来提供低延迟,在高负载下使用无冲突技术来提供良好的信道效率。
将站划分为组,k组成员才允许竞争k槽,减少每个槽的竞争者数量,提高信道利用率。有点像大锁拆分为小锁?
自适应树行走协议,站点被定位为二叉树的叶子,协议动态地将争用时隙分配给有帧要发送的站点。搜索算法为深度优先,如果发生冲突,则使用节点的左子节点和右子节点递归地继续搜索。
无线局域网协议
隐藏终端问题:竞争者离得太远而无法检测到潜在竞争者
暴露终端问题:离的很近的终端向不同终端传送数据被误认为冲突
MACA:A向B发送帧之前,先发送RTS帧,包含了后续数据帧长度,B用CTS应答。听到RTS说明离A近,他必须沉默直到CTS被返回给A,然后就可以自由发送数据帧。听到CTS说明离B近,他必须沉默直真正的数据帧发送完。
Ethernet
10Base-T
<传输速率 Mb/s> <传输方式> <网段最大长度 (*100m)>
最大长度和材质有关
从目的地址到校验和结束:以太网帧至少64字节(为了能够检测冲突);最大1518。此时按照线缆总长2500m
使用1-坚持CSMA/CD
二进制指数后退,在i次碰撞之后,选择0到\(2^i-1\)之间的一个随机数;10次之后保持在1023;16次之后放弃。槽的大小为发送512比特进入以太网的时间。
交换以太网
交换机内部包含连接所有端口的高速背板,端口只影响一台机器,容易发现错误
交换机只把帧输出到想去的端口。
双工且具有缓存,每个端口有自己的独立冲突域,因此不会发生冲突
快速以太网仍使用802.3,100Mbps,发送bit的时间缩短了从100ns到10ns,此时需要缩短电缆长度为原来的1/10,以便检测冲突。但最大长度不变。
千兆以太网
载波扩展
根本目的在于扩展网络的物理覆盖范围,由物理层控制,而帧填充是
由链路层控制。发送的数据帧超过512B,则无需载波扩展,若处于64B-512B之间,需要载波扩展。
帧突发
将多个待发送帧级连在一起,一次传输出去。数据包捆绑:在一个时间槽内捆绑多个网络帧,提高带宽使用效率。
万兆以太网
无线局域网标准802.11
客户端和接入点AP关联,发送和接收数据都要通过AP
无线电总是半双工的,因此无法在传输的同时侦听噪声,使用冲突避免CSMA/CA
NAV网络分配向量是信道何时要用的记录,在帧中携带NAV字段说明帧所属的一些列数据的传输时间,这段时间内信道一定是繁忙的,因此收到该数据帧的站将在期间内推迟发送
- 一个工作站希望在无线网络中传送数据,如果没有检测到网络中正在传送数据,则附加等待一段时间间隔DIFS;
- 再随机选择一个时间片继续探测,如果无线网路中仍旧没有活动的话,则发送一个请求发送帧RTS;
- 接收工作站收到RTS帧后,等待短暂时间间隔SIFS后发一个清除发送控制帧
CTS,用于指明准备接收数据。 - 在再次等待一个SIFS间隔后,发送端开始发送数据;
- 接收端收到数据后也等待SIFS时间后发送ACK帧指示数据已经到达
帧在客户端和网络中另一点传输时,AP只是中继点。另一蒂娜可能是远程客户端或者网络接入点,第三个地址指明远程端点的MAC地址,
网桥
连接局域网
泛洪算法,反向学习
后向学习算法
生成树网桥,覆盖实际的结构,从而忽略某些链路,避免环路
网络层
网络层的任务是将数据报从源主机路由到目的主机。网络层的两个主要功能是路由和转发。中间可能需要多次跳转。
管理路由表并做出路由选择的就是路由算法。
路由算法
非自适应算法(静态路由):路由是高级计算,离线计算,下载到路由器上,不依赖于当前流量和拓扑。
自适应算法(动态路由):根据当前流量和网络拓扑动态在线计算路由。
从所有源站到给定目的地的最优路线集形成了一个树:汇聚树
基本思想:在每一步中,以最低的成本选择一个新到达的节点,并将该节点的边添加到到目前为止构建的树中。即Dijkstra算法
泛洪
将传入的数据包转发到每一条传出线路,除了它经过的那条。
解决大量重复包的问题
- 使用跳数计数器:当报文经过N台路由器转发后,该报文将被丢弃。
- 确保只转发一次数据包(即避免有向循环)。每个路由器跟踪每个源路由器的最后序列号
DV距离向量算法
每个路由器维护当前到每个目标的最短距离和使用的链路,邻居之间交换信息而不断更新,总重每个路由器都掌握了到达目标的最优链路。
计数无穷问题解决
跳数限制,将无穷大设置为最长路径+1;防止路由器向邻居返回一个从该邻居获得的最佳路径
链路状态路由
- 发现邻居,学习网络地址。
- 为每个邻居设置距离/开销度量。
- 构造包告诉所有学过的东西。
- 向其他路由器发送报文,接收来自其他路由器的报文。
- 计算到其他路由器的最短路径。
LSP link state packet
包括:发送方标识符,序列号,时间戳,链路状态数据
泛洪发送时,以标识和序列号为依据,丢弃重复数据包
构建链路过程不懂
路由器积累了全部链路状态数据包后,就可以构建网络的拓扑图,然后使用Dijkstra算法计算最短路径。
层次路由
路由器不可能维护整个互联网的链路状态,因此将路由器分为区域,路由器知道如何路由到自己所在区域的目标,但不清楚其他区域内部结构。
广播路由
给所有目标地址发送数据包。
逆向路径转发:路由器检查它到来的那条线路是否是通常用来给广播源发数据包的那条线路。 是,继续广播转发。不是,丢弃。
使用生成树:只向生成树线路上转发数据包。
组播(多播)路由
将数据包发送到一组主机。可以通过组播生成树(把不通往组成员的链路删除)。
选播(任播)路由
将数据包发送到最近的一个组成员。只需要为组内成员赋予相同的地址,就可以找到最近的成员。
移动路由
实际上移动设备移动到新的Internet位置,就会获取新的网络地址。
使用家乡代理作类似代理服务器,当数据包被代理转发到移动主机(移动主机会将本地地址告诉家乡代理,也叫转发地址),移动主机直接给发送者回复,此后二者可直接通信。
拥塞控制
拥塞出现是因为负载暂时大于资源处理能力。
拥塞控制:需要确保通信子网能够承载用户提交的通信量,是一个全局性问题,涉及主机、路由器等很多
因素;
流量控制:与点到点的通信量有关,主要解决快速发送方与慢速接收方的问题,是局部问题,一般都是基于反馈进行控制的。
方法有
供给:建立一个和流量匹配良好的网络。
流量感知路由:感知拥堵情况,根据流量模式和网络容量定制路由。
可以将链路权重设置为带宽、延迟和负载(可能会导致震荡)的函数,最小权重路径更倾向于是轻负载路径。
避免震荡:多径路由,将流量分散在多条路径;慢慢迁移流量最后收敛。
准入控制:拒绝导致网络拥挤的连接,广泛应用于虚电路。或者告知源端抑制流量。
如何描述流量:漏桶或令牌桶
流量调节
指数加权移动更新排队时延
抑制包:选择拥塞数据包,向源主机发送抑制包,并标记拥塞包,不会多次抑制。
显示拥塞通知ECN:经过拥塞路由器时,在IP数据报中打上标记表明经历拥塞,接收方在应答数据包中回显该标志。RED(随机早期检测)通过丢包(平均队列长度大于阈值时认为拥塞,随机丢弃数据包)来通知主机拥塞了。
逐跳后压:让抑制包在沿途的每一跳都发挥作用,减慢数据的发送。上游路径需要消耗更多的缓冲区。
负载脱落:丢弃来不及处理、面临被淹没危险的数据包
wine策略,旧的好,比如文件传输
milk策略,新的好,比如实时媒体流
流量整型:调节进入网络的数据流的平均速度和突发性,使用户程序发送适合需求的流量。
造成拥塞的主要原因是网络流量通常是突发性的;强迫包以一种可预测的速率发送
漏桶:恒定速率流出,水到达容量则流失
令牌桶:恒定速率注水,发送数据包时取出水或令牌
突发数据会被整型平滑处理,减少网络拥塞。
流量整形策略不同:漏桶算法不允许空闲主机积累发送权,以便以后发送大的突发数据;令牌桶算法允许,最大为桶的大小。
漏桶中存放的是数据包,桶满了丢弃数据包;令牌桶中存放的是令牌,桶满了丢弃令牌,不丢弃数据包。
为了平滑流量又不至于降低至长期速率,可以使用两个令牌桶,第二个速率比第一个高很多。
服务质量
应用QoS要求,资源过量,分组调度,综合业务(rsvp—资源预留协议),差异化业务(加速转发—保证转发)
包调度:在同一个流的数据包之间以及在竞争流之间分配路由器资源的算法。
先来先服务
公平队列(对每条输出线路设置单独队列,循环扫描队列进行发送),缺点是对大数据包提供了更多带宽,改进是可以按照完成时间排序,并按照这个顺序发送数据包。
加权公平队列:为每个队列分配权重。此时计算完成时间公式为:完成时间=max(到达时间,队列上一个数据包完成时间)+(数据包长度/权重)。
流控制参数:令牌桶速率,令牌桶容量,峰值速率,最大数据包大小,最小数据包大小
在进行资源预留时,接收方可以有选择地指定一个或多个期望接收的数据源。可以将被预留带宽和数据源的选择分开,一旦预留了带宽,可以切换到另一个数据源,保存现有路径带宽并且对新的数据源仍然有用。
区分服务
管理规范定义了一组服务类别,每个服务类别对应特定的转发规则。
加速转发
维护了加速队列和常规队列,加速队列中的数据包优先发送。
确保转发
四个优先级三个丢包概率,共12种服务
隧道技术
隧道两端的多协议路由器将IPV6数据报放在IPV4的数据字段中
数据包分段
需要标志、偏移、结束位
路径MTU发现:IP发出时不允许分段,如果路由器发现数据包太大,就生成报错数据返回给源端,源端收到后将数据包分段到报错路由器可以处理,重新发送。
聚合路由,最长前缀
host全0表示本网络,全1表示广播
无类域间网络
具体工作原理为:当一个数据包到达时,扫描路由表以便确定目的地址是否在前缀的地址块内,选出具有最长前缀的表项
网络地址转换NAT
NAT是为每个公司分配一个单独的IP地址用于互联网流量。在公司内部,每个主机都有一个唯一的IP地址,用于路由内部流量。当数据包离开公司并进入ISP时,就会发生地址转换。为了使该方案成为可能,三个IP地址范围被声明为私有。
- 10.0.0.0 -10.255.255.255/8 (16,777,216 hosts)
- 172.16.0.0 -172.31.255.255/12 (1,048,576 hosts)
- 192.168.0.0 -192.168.255.255/16 (65,536 hosts)
IPV6
- 比IPv4更长的地址
- 简化报头
- 更好的选项支持
- 在安全性方面有很大的进步
- 服务质量
定长头部40字节,下一个首部标识数据包内容交付给哪个协议;也可能指向选项字段,就像TCP或UDP协议首部可以是IP的下一个首部一样。即指明了当前头之后还有哪些扩展头,如果是最后一个IP头,则指明传输层协议类型。
流量类型字段和IPV4的服务类型字段类似,6位标识加速/确保服务,2位ECN。
和IPv4相比:分段、校验和没了
扩展头三元组:下一个头类型,头长度,头数据,即type,length,value
网络控制协议
ICMP因特网控制报文协议:用于路由器向数据报的发送端报告网络信息
ARP地址解析协议:发送广播包,询问目的主机的MAC地址,目的主机收到后回复自己的MAC地址,不需要广播。发送方收到后缓存起来,并设置缓存超时以允许动态更新。
- 路由器转发:先发给网关,路由器再转发。发送方请求网关mac,路由器请求目的主机mac
- ARP代理:路由器回答自己的MAC,再转发。IP地址没变,而MAC地址变了。源主机不知道和目的主机不在同一个子网,因此发送ARP请求,路由器代理回答自己的MAC地址,然后再转发发送方的帧。
DHCP动态主机配置协议
每个网络有DHCP服务器负责地址分配。客户端启动时发送广播包请求IP(DISCOVER),服务器回复(OFFER),客户端收到后发送请求(REQUEST),服务器回复确认(ACK)。
为了防止IP丢失,采用租赁服务,客户端在租约到期前续订。
MPLS(多协议标签交换)
- 非常接近电路交换
- 在每个数据包前面添加标签
- 基于标签进行转发(而不是目的地址)
- 转发速度非常快
- 在IP头前面添加新的MPLS报头
RIP(路由信息协议):适用于小型系统
OSPF(开放最短路径优先):广泛应用于公司网络
当OSPF路由器要发报文给所有路由器时,目的IP,就填入:224.0.0.5。
当OSPF路由器(Drother)要发送报文给DR、BDR的时候,目的IP地址就填入:224.0.0.6
内部网关协议IGP(interior gateway protocol)自治系统AS内使用的路由算法,RIP、OSPF
外部网关协议EGP(exterior gateway protocol)自治系统AS之间使用的路由算法,BGP
BGP使用类似距离向量算法的路径向量算法,但是不是使用跳数,而是使用AS路径长度。向外发送路由时带上自己的AS号,因此路由通告内携带完整的AS路径。BGP路由器使用TCP通信。
热土豆:选择具有ISP内最小成本的路由
网络组播
- 使用D类IP地址的一对多通信
- 每个D类地址标识一组主机
- 尽最大努力将其传递给所寻址的组的所有成员,但不保证
本地组播只需要广播到局域网上即可
传输层
传输层负责完成底层网络的服务,使应用程序开发能够进行。
想开发独立于运营商提供的特定服务的应用程序,必须设计一个标准的通信接口,并在客户端站点上实现该接口。传输层包含这样的实现。
延迟确认:将确认和窗口更新延迟,放在数据报文中发送
nagle算法:每次发送端数据很少是,只发送第一次到达的数据,其余缓冲起来,直到收到确认,并把缓冲的字节发送出去。发送方在收到上一个分组的确认之前,不会发送新的分组,除非该分组的数据量达到了MSS,或者该分组是一个TCP连接的最后一个分组。
clark:禁止接收端发送只有一个字节的确认,强迫等待,直到接收到了足够多的数据(最大段长或者空缓存的一半),才发送确认,并更新窗口。解决接收端每次只读取一个字节的问题。
时间间隔的估计SRTT:使用指数加权平均,平滑因子决定了老的RTT的权重
往返时间变化RTTVAR
重传计时器
持续计时器:用于发送端对接收端窗口探测
保活计时器:检测连接是否还存在
终止连接计时器:TIMED WAIT使用,2MSL,确保连接关闭后,该连接创建的数据包消失
CUBIC改变了拥塞避免状态,使用和时间的立方函数来改变拥塞窗口
拥塞窗口成为自最后一个重复确认以来的时间的函数
QUIC:
1.连接建立延时低
2.改进的拥塞控制
3.基于stream和connection级别的流量控制
4.没有队头阻塞的多路复用HOL
数据包丢失影响一个HTTP/2流,不会影响同一连接中的其他流
没有昂贵的3次握手或TLS连接
应用层
DNS记录
- A 记录:主机名到IP地址
- MX 记录:接受特定域名电子邮件的邮件服务器名字,即别名的规范名
- CNAME 记录:主机别名到规范名
- NS 记录:用于所在域的权威DNS服务器的主机名
递归查询和迭代查询
DNS缓存:缓存了上一次查询的答案,分配了生存时间。
使用UDP
电子邮件SMTP(简单邮件传输协议) 端口25
用户代理:阅读发送邮件
传输代理(邮件服务器):将邮件从源端传输到目的端
邮箱由邮件服务器维护,用户代理只需要展示邮箱内容
使用ascii工作,每行最多1000个字符。对于二进制,影音等数据,可以使用base64编码。
MINE 多用途INTERNET邮件扩展
IMAP 邮件访问协议 端口143
另一种最后交付邮件的方式是webmail,用户代理不在作为独立的程序运行,而是通过网页提供了用户界面,可以使用浏览器访问邮件
静态html:标签,属性,内容。指定文档结构
css:层叠样式表,指定文档的外观
服务器端动态web:使用公共网关接口CGI,接受输入信息,生成html;在html中嵌入脚本php:将收集的信息发送给服务器并请求php脚本,然后执行脚本,生成html,发送给客户端;
客户端动态:javascript,所有工作在本地完成。
缓存:页面验证,访问高速缓存,判断是否存在副本或者有效;条件get,向服务器询问是否有效,使用if-modified-since:last-modified(来源为web服务器,本地缓存记录)键值对
可以使用代理缓存,浏览器之外的外部高速缓存,客户和代理服务器通信
部分试题回忆(主要是问答和大题部分)
rip和ospf协议原理
用实例分析交换机反向学习
卫星数据传输-不同窗口大小
csma/cd最小帧长
子网划分和路由表填写
ip分段
smtp pop3使用的传输协议
物理地址,ip,端口三种寻址作用