网络核心
通过网络链路和交换机移动数据有两种基本方法:电路交换 和 分组交换。
分组交换
在各种网络应用中,端系统彼此交换 报文(message)。报文能够包含协议设计者需要的任何东西。
为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为 分组(packet)。
在源和目的地之间,每个分组都通过通信链路和 分组交换机传送。(交换机主要有两类:路由器 和 链路层交换机)
分组以等于该链路最大传输速率的速度传输通过通信链路。
存储转发传输
多数分组交换机在链路的输入端使用 存储转发传输 机制。
存储转发传输机制是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到 整个分组。
排除时延和分组丢失
每台分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个 输出缓存(也称为输出队列),它用于存储路由器发往那条链路的分组。
如果到达的分组需要传输到某条链路,但发现该条链路正忙于传输其他分组,该到达分组必须在输出缓存中等待。因此除了存储转发时延以外,分组还要承受输出缓存的 排除时延。这些时延是 变化 的,变化程度取决于网络的拥塞程序。
因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现 分组丢失(丢包),到达的分组或已经排队的分组之一将被丢弃。
转发表和路由选择协议
每台路由器具有一个 转发表,用于将目的地址(或目的地址的一部分)映射成为输出链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。路由器则将分组导向该出链路。
因特网具有一些特殊的 路由选择协议,用于自动地设置这些转发表。
电路交换
在 电路交换网络 中,在端系统间通信会话期间,预留 了端系统间沿路径通信所需要的资源(缓存,链路传输速率)。在 分组交换网络 中,这些资源则 不是预留 的,会话的报文按需使用这些资源,其后果可能是不得不等待(即排除)接入通信线路。
电路交换网络中的复用
链路中的电路是通过 频分复用(FDM) 或 时分复用(TDM) 来实现的。
对于FDM,链路的频谱由跨越链路创建的所有连接共享。在连接期间链路为每条连接专用一个频段。该频段的宽度称为 带宽。
对于TDM,时间被划分为固定期间的 帧,并且每个帧又被划分为固定数量的 时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接指定一个时隙。这些时隙专门由该连接单独使用,一个时隙(在每个帧内)可用于传输该连接的数据。
网络的网络
网络结构1
用单一的全球传输ISP互联所有接入ISP。
网络结构2
由数十万接入ISP和多个全球传输ISP组成。
网络结构3
多层等级结构。
网络结构4
由接入ISP、区域ISP、第一屋ISP、PoP、多宿、对等、IXP组成。
在等级化网络结构3上增加 存在点(Point of Presence, PoP)、多宿、对等和因特网交换点。
PoP存在于等级结构的所有层次,但底层(接入ISP)等级除外。一个PoP只是提供商网络中的一台或多台路由器(在相同位置)群组,其中客户ISP能够与提供商ISP连接。对于要与提供商PoP连接的客户网络,它能从第三方电信提供商租用高速链路将它的路由器之一直接连接到位于该PoP的一台路由器。任何ISP(除了第一层ISP)可以选择 多宿,即可以与两个或更多提供商ISP连接。
为了减少费用,位于 相同等级结构层次的邻近一对ISP能够对等,也就是说,能够直接将它们的网络连到一起,使它们之间的所有流量经直接连接而不是通过上游的中间ISP传输。这两个ISP对等时,通常不进行结算,即任一个ISP 不向其对等收费。
沿着这些相同路线,第三方公司能够创建一个 因特网交换点(Internet Exchange Point, IXP),IXP是一个汇合点,多个ISP能够在这里一起对等。IXP通常位于一个有自己的交换机的独立建筑中。
网络结构5
现今的因特网,在网络结构4的顶部增加 内容提供商网络。
分组交换网中的时延、丢包和吞吐量
分组交换网中的时延
处理时延:检查分组首部和决定将该分组导向何处所需要的时间等。
排队时延:在队列中,当分组在链路上等待传输时,它经受排除时延。
传输时延:将所有分组的比特推向链路所需要的时间。
传播时延:从该链路的起点到终点传播所需要的时间。
排队时延
设a表示分组到达队列的平均速率(单位分组/秒,pkt/s),R为传输速率(单位bps),假定所有分组都是由L比特组成的,则比特到达队列的平均速率是La bps。假定队列非常大,能容纳无限数量的比特。比率La/R被称为 流量强度。 (传输时延到达分组的数量)
当流量强度大于1时,排除时延趋向无穷大,设计系统时流量强度不能大于1。
当流量强度小于1时,随着流量强度接近于1,平均排队时延迅速增加。
丢包
到达分组发现一个满的队列,由于没有地方存储这个分组,路由器将 丢弃 该分组,即该分组将 丢失。
分组丢失的比例随着流量强度的增加而增加。因些一个节点的 性能 常常不仅根据时延来度量,而且根据丢包的概率来度量。
端到端的时延
全部时延相加。
端系统、应用程序和其他时延
除了以上四种时延外,端系统中还有其他一些重要时延,例如:媒体分组化时延。
计算机网络的吞吐量
除了时延和丢包,计算机网络的另一个重要的 性能 测度是端到端的吞吐量。包括 瞬时吞吐量 和 平均吞吐量。
如果传输速率不一样,积压比特将不断增加,这是一种最不希望的情况,因此吞吐量为链路中最小传输速率的链路的传输速率,该链路被称为 瓶颈链路。
协议层次
网络设计者以 分层 的方式组织协议以及实现这些协议的网络硬件和软件。每个协议属于这些层次之一。某层向它的上一层提供服务,即所谓一层的服务模型。
各层的所有协议被称为 协议栈。因特网的协议栈由五个层次组成:物理层、链路层、网络层、运输层、应用层。
各层次的分组:
应用层:报文
运输层:报文段
网络层:数据报
链路层:帧
物理层:
OSI模型:
由 国际标准化组织(ISO) 提出。包括:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。
封装:将上一层的分组(有效载荷字段)附上附加信息(本层有用的信息,首部)。
网络攻击
利用有害程序
恶意软件:能够进入并感染设备,做不正当的事,包括删除文件、窃听信息等。受害主机也可能成为类似受害设备网络中的一员,被统称为 僵尸网络(botnet)。坏家伙利用僵尸网络控制并有效地对目标主要展开垃圾邮件分发或分布式拒绝服务攻击。很多恶意软件都是 自我复制 的。
恶意软件可以以病毒或蠕虫的形式扩散。
病毒:是一种 需要某种形式的用户交互来感染用户设备的恶意软件。
蠕虫:无须任何明显用户交互 就能进入设备的恶意软件。
攻击服务器和网络基础设施
拒绝服务攻击(Denial-of-Service(Dos) attack):
(1)弱点攻击:向一台目标主机上运行的易受攻击的应用程序或操作系统发送制作精细的报文。
(2)带宽洪泛:攻击者向目标主机发送大量的分组,分组数量之多使得目标的接入链路变得拥塞,使得合法的分组无法到达服务器。
(3)连接洪泛:攻击者在目标主机中创建大量的半开或全开TCP连接。该主机因这些伪造的连接而陷入困境,并停止接受合法的连接。
单一的攻击源可能无法产生足够大的流量来伤害,而且会被检测到阻挡下来。分布式Dos(Distributed Dos, DDos) 中,攻击者控制多个源并让每个源向目标猛烈发送流量。
嗅探分组
使用 分组嗅探器 获取他人信息。
伪装成你信任的人
IP哄骗:将具有虚假源地址的分组注入因特网。