第一章 计算机网络和因特网

1.1 什么是因特网

1.1.1 具体构成描述
  • 因特网:互联了遍及全世界的数以亿计的计算设备的网络。
  • 所有的设备都成为主机(host)端系统(end system)
  • 端系统通过通信链路(communication link)分组交换机(packet switch) 连接到一起。
  • 通信链路由不同的物理媒体组成,包括同轴电缆、铜线、光纤和无线电频谱。链路的传输速率以比特/秒度量(bit/s,或bps)。
  • 当一个端系统要向另一台端系统发送数据时,发送端先将数据分段,并为每段加上首部字节。由此形成的信息包叫做分组(packet)
  • 分组交换机包括路由器(router)链路层交换机(link-layer switch)。链路层交换机通常用于接入网中,路由器通常用于网络核心中。
  • 从发送端系统到接受端系统,一个分组所经历的一系列通信链路和分组交换机成为通过该网络的路径(path)
  • 端系统通过 因特网服务供应商(Internet Service Provider, ISP) 接入因特网。每个ISP是一个由多个分组交换机和多段通信链路组成的网络。低层的ISP通过国家的、国际的高层ISP互联,高层ISP由通过高速光纤链路互联的高速路由器组成。
  • 协议(protocol) 控制因特网中信息的接收和发送。
    TCP(Transmission Control Protocol) 传输控制协议
    IP(Internet Protocol) 网际协议:定义了在路由器和端系统之间发送和接收分组的格式。
1.1.2 服务描述
  • 因特网:为应用程序提供服务的基础设施
    分布式应用程序(distributed application) :涉及多台相互交换数据的端系统
  • 与因特网相连的端系统提供应用程序编程接口(Application Programming Interface, API),规定运行在一个端系统上的软件请求因特网基础设施向运行在另一个端系统上的特定的目的地软件交付数据的方式
1.1.3 网络协议
  • 在因特网中,凡是涉及两个或多个远程通信实体的所有活动都受协议的制约。
  • 一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送和/或接收一条报文或其他事件所采取的动作。

1.2 网络边缘

  • 因特网的端系统包括桌面计算机服务器移动计算机,用来容纳(运行)应用程序。
  • 端系统划分为两类:主机(client)服务器(server)
1.2.1 接入网
  • 接入网(access network) 是指将端系统连接到其 边缘路由器(edge router) 的物理链路。
  • 边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器。

1.3 网络核心

  • 由互联因特网端系统的分组交换机和链路构成的网状网络。
  • 通过网络链路和交换机移动数据有两种基本方法:电路交换(circuit switching)分组交换(packet switching)
1.3.1 分组交换
  • 为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组(packet)
  • 在源和目的之间,每个分组都通过通信链路和分组交换机(packet switch)

1.存储转发传输

  • 多数分组交换机在链路的输入端使用**存储转发传输(store-and-forward transmission)**机制。
  • 在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
  • 由N条速率均为R的链路组成的路径(在源到目的地之间由N-1台路由器),从远到目的发送一个分组,端到端时延为:d端到端 = N L R N\frac{L}{R} NRL

2.排队时延和分组丢失

  • 每个分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer)(也称为输出队列 output queue),用于存储路由器准备发往那条链路的分组。
  • 排队时延(queue delay)
  • 分组丢失(丢包)(packet lost):缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了,到达的分组或已经排队的分组之一将被丢弃。

3.转发表和路由选择协议

  • 在因特网中,每个端系统具有一个成为IP地址的地址。当源主机要向目的端系统发送一个分组时,源在该分组的首部包含了目的地的IP地址。
  • 每台路由器具有一个转发表(forwarding table),用于将目的地址(或目的地址的一部分)映射成为输出链路。
  • 因特网具有一些特殊的路由选择协议(routing protocol) 用于自动地设置这些转发表。
1.3.2 电路交换
  • 在电路交换网络中,在端系统间通信会话期间,预留了端系统间通信沿路径所需要的资源(缓存、链路传输速率)。发送方能够以确保的恒定速率向接收方传送数据。
  • 在分组交换网络中,这些资源则不是预留的。会话的报文按需使用资源。

1.电路交换网络中的复用

  • 链路中的电路是通过频分复用(Frequency-Division Multiplexing, FDM)时分复用(Time-Division Multiplexing, TDM) 来实现的。
  • 对于FDM,链路的频谱由跨越链路创建的所有连接所共享,在连接期间链路为每条连接转用一个频段,该频段的宽度成为带宽(bandwidth)
  • 对于TDM,时间被划分为固定区间的帧,并且每帧又被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接指定一个时隙,专门由该连接单独使用。
  • 对于TDM,一条电路的传输速率等于帧速率乘以一个时隙中的比特数量。

2.分组交换与电路交换的对比

  • 电路交换不考虑需求,而预先分配了传输链路的使用,使得已分配而不需要的链路时间未被利用。
  • 分组交换按需分配链路使用,链路传输能力将在所有用户之间逐分组地被共享。
1.3.3 网络的网络
  • 端系统经过一个接入ISP与因特网相连,接入ISP能够提供有线或无线连接。
  • 较低层ISP与较高层ISP相连,较高层ISP彼此互联。用户和内容提供商是较低层ISP的客户,较低层ISP是较高层ISP的客户。

1.4 分组交换网中的时延、丢包和吞吐量

1.4.1 分组交换网中的时延概述
  • 分组在沿途的每个结点经受了几种不同类型的时延。最重要的有结点处理时延(node processing delay)排队时延(queuing delay)传输时延(transmission delay)传播时延(propagation delay),这些时延总体累加起来是结点总时延(total node delay)
  1. 处理时延
    检查分组首部、决定将该分组导向何处、检查比特级别的差错
  2. 排队时延
    一个分组的排队时延长度将取决于先期到达的正在排队等待向链路传输的分组数量。
  3. 传输时延
    用L比特表示该分组的长度,R bps表示从路由器A到路由器B的链路传输速率。传输时延是L/R。是将所有分组的比特推(传输)向链路所需要的时间。
  4. 传播时延
    从该链路的起点到下一个路由器传播所需要的时间。传播速率取决于该链路的物理媒体。传播时延等于两台路由器之间的距离除以传播速率。
1.4.2 排队时延和丢包
  • a表示分组到达队列的平均速率(pkt/s),R是传输速率(bps),所有分组都是由L比特组成。比率 L a / R La/R La/R被称为流量强度(traffic intensity)
  • 丢包现象为一个分组已经传输到网络核心,但它绝不会从网络发送到目的地。
1.4.3 端到端时延
  1. traceroute
    当用户指定一个目的主机名字时,源主机中的该程序朝着目的地发送多个特殊的分组。假设在源和目的地之间有N-1台路由器,则源将向网络发送N个特殊的分组,其中每个分组地址指向最终目的地。N个特殊分组标识为从1到N,第一个分组标识为1,最后的分组标识为N。当第n台路由器接收到表示为n的第n个分组时,该路由器不是向它的目的地转发该分组,而是向源回送一个报文。该源记录了从它发送一个分组到它接收到对应返回报文所经受的时间,也同时记录了返回该报文的路由器(或目的主机)的名字和地址。从而,源能够重建分组从源到目的地所采取的路由,并且能够决定到所有中间路由器的往返时延。
1.4.4 计算机网络中的吞吐量
  • 任何时间瞬间的瞬时吞吐量(instantaneous throughput) 是主机接收到该文件的速率(bps)。
  • 如果该文件由F比特组成,主机接收到所有F比特用去T秒,则文件传送的平均吞吐量(average throughput) 是F/T bps。
  • 瓶颈链路(bottleneck link)

1.5 协议层次及其服务模型

1.5.1 分层的体系结构
  1. 协议分层
  • 网络设计者以分层(layer) 的方式组织协议以及实现这些协议的网络硬件和软件。
  • 我们关注某层向它的上一层提供的服务(service),即一层的服务模型(service model)
  • 每层通过在该层中执行某些动作或使用直接下层的服务来提供服务。
  • 分层具有概念化和结构化的优点。
  • 分层的一个潜在缺点是一层可能冗余较低层的功能。第二个潜在缺点是某层的功能可能需要仅在其他某层才出现的信息,违反了层次分离的目标。
  • 各层的所有协议被称为协议栈(protocol stack) 。因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层。
    在这里插入图片描述
    1)应用层
  • 应用层是网络应用程序及它们的应用层协议存留的地方。如HTTP, SMTP, FTP, DNS
  • 应用层协议分布在多个端系统上。一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组。位于应用层的信息分组称为报文(message)
    2)运输层
  • 在应用程序端点之间传送应用层报文。
  • TCP向应用程序提供了面向连接服务。包括应用层报文向目的地的确保传递和流量控制。也将长报文划分为短报文,并提供拥塞控制机制。
  • UDP协议向应用程序提供无连接服务。不提供不必要服务的服务,没有可靠性,没有流量控制,没有拥塞控制。
  • 运输层分组称为报文段(segment)
    3)网络层
  • 将称为数据报(datagram) 的网络层分组从一台主机移动到另一台主机。
  • IP协议:定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。
  • 路由选择协议:数据报根据该路由从源传输到目的地。
    4)链路层
  • 将分组从一个结点(主机或路由器)移动到路径上的下一个结点。
  • 以太网,Wi-Fi,电缆接入网DOCSIS协议,PPP
  • 一个数据报可能被沿途不同链路上的不同链路层协议处理
  • 链路层分组成为帧(frame)
    5)物理层
  • 将该帧中的一个一个比特从一个结点移动到下一个结点。

2.OSI模型

  • 开放系统互联模型
  • 表示层的作用是使通信的应用程序能够解释交换数据的含义。这些服务包括数据压缩和数据加密以及数据描述。
  • 会话层提供了数据交换定界和同步功能,包括了建立检查点和恢复方案的方法。
1.5.2 封装(encapsulation)
  • 一个分组通常具有两种类型的字段:首部字段和有效载荷字段(payload field) ,有效载荷通常是来自上一层的分组。

1.6 面对攻击的网络

1.坏家伙能够经因特网将有害程序放入你的计算机中
  • 受害主机成为数以千计的类似受害设备网络中的一员,它们被统称为僵尸网络(botnet)。坏家伙利用僵尸网络控制并有效地对目标主机展开垃圾邮件分发或分布式拒绝服务攻击。
  • 多数恶意软件是自我复制(self-replicating) 的:一旦感染了一台主机,就会从那台主机寻求进入更多的主机。
  • 病毒(virus) 是一种需要某种形式的用户交互来感染用户设备的恶意软件。
  • 蠕虫(worm) 是一种无需任何明显的用户交互就能进入设备的恶意软件。
2.坏家伙能够攻击服务器和网络基础设施
  • 拒绝服务攻击(Denial-of-Service(DOS) attack) 使得网络、主机或其他基础设施部分不能由合法的用户所使用。
  • 弱点攻击:向一台目标主机上运行的易受攻击的应用程序或操作系统发送制作精细的报文,该服务器可能体制运行或者崩溃。
  • 带宽洪泛:向目标主机发送大量的分组,使得目标的接入链路变得拥塞,合法的分组无法到达服务器。
  • 连接洪泛:在目标主机中创建大量的半开或全开TCP连接。主机因伪造的连接而陷入困境,并停止接受合法的连接。
  • 分布式DoS(Distributed DoS, DDoS) 攻击者控制多个源并让每个源向目标猛烈发送流量。
  1. 坏家伙能够嗅探分组
  • 在无线传输设备的附近放置一台被动的接收机,该接收机就能得到传输的每个分组的副本。记录每个流经的分组的副本的被动接收机被称为分组嗅探器(packet sniffer)
  1. 坏家伙能够伪装你信任的人
  • 将具有虚假源地址的分组注入因特网的能力被称为IP哄骗(IP spoofing),它是一个用户冒充另一个用户的一种方式。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值