作者:James F.Kurose Keith W.Ross 译者:陈鸣
前言
自顶向下方法: 即从应用层开始往下一直讲到物理层 以因特网为研究目标 围绕因特网体系结构的5层模型: 应用层-运输层-网络层-链路层-物理层 着眼原理 运输层的基础性问题: (1)建立在不可靠的网络层上的可靠通信 (2)连接建立/拆除与握手 (3)拥塞与流量控制以及多路复用 网络层的两个基础性问题: (1)在两台路由器之间找到“好的”路径 (2)处理大量异构网络的互联 数据链路层的基础性问题: (1)共享多路访问信道
第一章 计算机网络和因特网
因特网是网络的网络 1.1什么是因特网 试着用更具描述性的方法来描述因特网,而不是下定义: 1.1.1 具体构成描述: 用因特网术语来说,所有联网的设备都称为主机或端系统。 端系统通过通信链路和分组交换机连接到一起。 分组:发送端将数据分段并加上首部字节,由此形成的信息包称为分组。分组通过网络传输到目的端,多个分组再装配成初始数据。 分组交换机:一条链路接受分组,另一条将转发的分组发出去。在当今因特网中,两种最著名的是路由器和链路层交换机。 一个分组经历的通信链路及交换机称为该网络的路径。 因特网服务提供商ISP(Internet Service Provider) 每个ISP是由多个分组交换机及和多段通信链路组成的网络。 IP协议定义了路由器和端系统中发送和接受的分组的格式。 因特网的主要协议统称为TCP/IP协议 内联网(intranet)一些专用网络 1.1.2 服务描述 从为应用程序提供服务的基础设施的角度来描述因特网 需要连接上因特网的应用程序称为分布式应用程序,因为他们设计多台相互交换数据的端系统,重要的是,因特网应用程序运行在端系统上。 与因特网相连的端系统提供一个应用程序编程接口(API)。因特网API是一套发送软件必须遵循的规则集合 1.1.3 什么是协议 (1)人类活动的类比 (2)网络协议
1.2 网络边缘 与因特网相连的计算机等设备因为位于因特网的边缘,故而称为端系统。端系统也称为主机。 主机有时又被划分为两类:客户机和服务器。客户机非正式地等同于桌面pc,移动pc和PDA等。而服务器非正式地等同于更为强大的机器,用于存储和发布Web页面,转发电子邮件等。 1.2.1 客户机和服务器程序 客户机-服务器模式无疑是因特网应用程序的最为流行的结构。 客户机程序运行在一台计算机上,服务器程序运行在另一台计算机上,这样的应用程序是分布式应用程序。 因特网应用程序并非全都是客户-服务模式,越来越多的应用程序是对等应用程序(P2P)。其中的端系统互相作用并运行执行客户机和服务器功能的程序。例如,在P2P文件共享应用程序中,用户端系统中的程序起着客户机程序和服务器程序的双重作用。在因特网电话中,通信双方对等交互。 1.2.2 接入网 即将端系统连接到其边缘路由器的物理链路。 端系统到边缘路由器网络接入大致分为以下三种类型: (1)住宅接入 (2)公司接入 (3)无线接入 将移动端系统与网络相连 当然分类并不严格,比如有些公司端系统可能是使用住宅接入的接入技术。 (1)住宅接入 一种是通过普通模拟电话线用拨号调制解调器与住宅ISP相连,计算机的数字信号转换为模拟形式在模拟电话线上传输。模拟电话线由双绞铜线构成。在另一端,ISP解调器将模拟信号转换为数字信号,作为ISP路由器的输入。这种方式下,打电话就不能上网,上网就不能打电话 宽带接入技术: 为住宅用户提供了更高的比特速率。并且不影响打电话 有两种常见类型:数字用户线DSL和混合光纤同轴电缆HFC DSL接入一般由电话公司提供,是一种新型的调制解调器技术,运行在现有的双绞线电话线上。通过限制用户和ISP调制解调器的距离,DSL能够以高得多的速率传输和接收数据。数据传输速率在两个方向上是不对称的,从ISP到家庭的速率比从家庭到ISP的速率快得多。 DSL在家庭和ISP之间将通信链路划分为3个不重叠的频段(频分复用): a.高速下行信道 b.中速上行信道 c.普通的双向电话信道 使得单根的DSL线路看起来就像有三条单独的线路。
HFC接入网扩展了用于广播电缆电视的电缆网络。在传统的电缆系统中,电缆头端广播通过同轴电缆和放大器的分配网络传向住宅,DSL在家庭和ISP之间建立一条点对点连接,DSL带宽是专用的而不是共享的。而覆盖范围合理的HFC网络提供比DSL更大的带宽。
(2)公司接入 局域网(LAN)通常被用于连接端用户和边缘路由器。以太网技术是当前公司网络中最为流行的接入技术,使用双绞铜线或同轴电缆,将一些端系统彼此连接起来,并于边缘路由器连接。以太网使用共享媒体,端系统共享LAN的传输速率。
(3)无线接入 目前,有两大类无线因特网接入方式: 在无线局域网中,无线用户与位于几十米半径外的基站之间传送接受分组,这些基站通常与有线的因特网相连。以此为无线用户提供连接到有限网络的服务。 在广域无线接入网中,分组经由蜂窝电话的相同无线基础设施进行发送,基站由电信提供商管理。为数万米半径内的用户提供无线接入服务。类似于用有线电话线通过拨号连接到因特网,只是现在使用蜂窝电话基础设施,而不是有线的电话寄出1设施。 基于IEEE 802.11技术的无线局域网(无线以太网)(wifi). 第三代无线(3G)
1.2.3 物理媒体: 对于导引型媒体,电波沿着固体媒体(光缆,双绞铜线或同轴电缆)被引导。对于非引导型媒体,电播在空气或外层空间(无线局域网或数字卫星频道)中传播。 (1)双绞铜线 最便宜并且使用最为普遍的是双绞铜线,它一直用于电话网,通常许多双绞线困扎在一起形成一根电缆。 并在外面覆盖上保护性防护层。非屏蔽双绞线常用在建筑物内的计算机网络中,即用于局域网LAN。所能达到的传输距离取决于线的厚度及传输方和接收方之间的距离。 (2)同轴电缆 由两个铜导体组成,这两根导体是同心的而不是并行的。同轴电缆在电缆电视中相当普遍。 (3)光缆 光缆是一种细而柔软的、能够导引光脉冲的媒体。其中每个脉冲表示一个比特。一根光纤能够支持极高的比特速率。不受电磁干扰。高成本的光设备,如发射器、接收器和交换机,阻碍光纤在短途传输中的应用。 (4)陆地无线电信道 无线电信道承载电磁频谱中的信号。没有物理线路,但是极大地依赖于传播环境和传输信号地距离。有路径损耗并会被电磁信号干扰。 陆地无线信道划分为两类:运行在本地区域 无线LAN技术使用无线局域电信道, 和运行在广域 蜂窝接入技术使用广域无线电信道。 (5)卫星无线电信道 通信中常使用两类卫星:同步卫星和低地球轨道卫星
1.3 网络核心 1.3.1 电路交换和分组交换 在电路交换网络中,通信路径占有地资源在通信会话期间会被预留。再分组交换网络中,这些资源不会被预留。 (1)电路交换 本书地内容是有关计算机网络、因特网和分组交换的,而非电话网络和电路交换。 (2)电路交换网络中的多路复用 频分多路复用:为每条连接专用一个频段,调频无线电台使用频分复用来共享88–108MHz的频谱
时分多路复用:时间被划分为固定区间的帧,每帧被划分为固定数量的时隙。网络在每个帧中为一个连接指定一个时隙,这些时隙由该连接单独使用。 分组交换的支持者认为,电路交换的效率很低,在静默期,专用电路空闲。 (3)分组交换 在现代计算机网络中,源主机将长报文划分为较小的数据块,并称之为分组。分组都通过链路中的分组交换机传送。 分组交换机在链路的输入端使用存储转发传输机制,存储转发传输机制是指交换机向输出链路传送第一个比特之前,必须接收到整个分组,于是就在每条链路的输入端引入了存储转发时延。 每个分组交换机有多条链路与之相连,对于每条相连的链路,交换机有一个输出缓存(也称输出队列),用于存储路由器准备发往那条链路的分组。因此导致引入排队时延。当一个分组到达时,分组缓存队列满了,将出现分组丢失或丢包,可能时到达的分组也可能时排队的分组之一被丢掉。
(4)分组交换与电路交换对比:统计多路复用 分组交换这种不用预先分配资源,而是按需共享资源有时被称为统计多路复用。
1.3.2 分组是怎样通过分组交换网形成其通路的 每台路由器具有一个转发表,用于将目的地址映射到输出链路。因特网具有一些特殊的选路协议。
1.3.3 ISP和因特网主干 第一层ISP的特性可以表示为: (1)直接与其他每个第一层ISP相连 (2)与大量的第二层ISP和其他客户网络相连 (3)覆盖国际区域 第一层ISP也被称为因特网主干网络
第二层ISP通常具有区域性或国家性覆盖规模,并且非常重要地仅与小数第一层ISP相连。第二层是第一层地客户,第一层对于该客户而言是提供商。 第二层网络可以选择直接与第二层网络相连,不必经过第一层。还有更多低层的ISP
1.4 分组交换网中的时延、丢包和吞吐率 1.4.1 分组交换网中的时延概述 时延中最为重要的是节点处理时延、排队时延、传输时延、传播时延。累加起来是节点总时延。 (1)处理时延 主要是检查分组首部和决定分组导向何处。还有其他的,比如检查比特级差错。 (2)排队时延 (3)传输时延 又称为存储转发时延,这是将所有分组的比特推向链路需要的时间。 (4)传播时延 比特从起点到指定路由器需要的时间,取决于链路的物理媒体及两端距离。 (5)传输时延和传播时延的比较 传输时延是路由器将分组推出需要的时间。传播时延是一个比特从起点传播到目的路由器的时间。
a. 传播时延对于连接两台位于同一校园内的路由器的链路而言可能是微不足道的 b. 处理时延对于同步卫星链路互联的两台路由器可能是时延的主要成分 …
1.4.2 排队时延和丢包 排队时延是最复杂和最令人感兴趣的时延。 如果比特到达队列的平均速率超过从该队列传输出去的速率,队列的增加将趋于无界,排队时延将趋向无穷大。流量工程中的一条金科玉律是,设计系统时流量强度不能大于1. 丢包: 因为队列容量有限,排队时延不会无穷大,队列满后,就会丢掉一些分组。因此节点的性能不能仅仅通过时延来判断,还要看丢包率。
1.4.3 端到端时延 1.4.4 计算机网络中的吞吐量 主机B接收所有F比特用了T秒,则文件传送的平均吞吐量是F/T bps。 对于简单的两链路网络,即一个交换机网络,吞吐量等于输入吞吐量和输出吞吐量中较小的一个。对于多条链路的网络(即多个交换机),整条链路的吞吐量还是等于吞吐量最小的那条路径。吞吐量取决于瓶颈链路的速率。也就是吞吐量不仅取决于沿着路径的传输速率,而且取决于干扰流量
1.5 协议层次和它们的服务模型 1.5.1 分层的体系结构 (1)协议分层 协议分层具有概念化和结构化的优点。某些研究人员和网络工程师激烈反对分层, 一个潜在缺点是某层可能重复其较低层的功能。 另一个潜在的缺点是某层的功能可能需要仅在其他层才出现的信息(如时间戳值),违反了层次分离的目标。
各层的所有协议称为协议栈,因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层。 a. 应用层 一个端系统的应用程序使用协议与另一个端系统的应用程序交换信息分组,我们将这种位于应用层的信息分组称为报文。 b. 运输层 运输层提供在应用程序端点之间传送应用层报文的服务。在因特网中,有两个运输层协议,即TCP和UDP。运输层将长报文划分为短报文,将运输层报文称为报文段。 c. 网络层 负责将称为数据报的网络层分组从一台主机移动到另一台主机。运输层协议向网络层递交运输层报文段和目的地址。网络层包括IP协议。还包括一些选路协议。 d. 链路层 网络层的功能必须依赖链路层的服务链路层沿着路径将数据报传递给下一节点,在该下一节点,链路层将数据报创传递给网络层。 因为数据从源到目的地可能会经过几条链路,所以可能会被不同链路层协议处理。链路层的例子包括以太网、Wifi和点对点协议(PPP)。将链路层分组称为帧。 e. 物理层 物理层是将帧中的一个一个bit从一个节点传递到下一节点。与实际传输媒体相关。 f. ISO模型 国际标准化组织认为网络应分为七层: 应用层、表示层、会话层、运输层、网络层、链路层和物理层。 表示层的作用是使通信的应用程序能够解释交换数据的含义。 会话层提供了数据交换的定界和同步功能。 这两层提供的服务是否重要,由开发人员确定。
1.5.2 报文、报文段、数据报和帧 路由器和链路层交换机都是分组交换机。 链路层交换机实现第一层和第二层。路由器实现1-3层,也就是链路层交换机不能识别IP地址。 应用层报文被运输层加上首部信息形成运输层报文。 附加的信息可能包含下列信息:差错检验比特信息 网络层增加源和目的端地址等网络层首部信息,形成网络层数据报。 链路层增加链路层首部信息并创建链路层帧。
1.6 攻击威胁下的网络 (1)坏家伙能够经由因特网将恶意软件放入你的计算机。 病毒是一种需要某种形式的用户交互来感染用户设备的恶意软件。 蠕虫是一种无需任何明显用户交互就能进入设备的恶意软件 木马是隐藏在有用软件中的恶意软件 (2)坏家伙能够攻击服务器和网络基础设施 拒绝服务(Denial-of-Service,Dos)攻击是一种宽泛类型的安全性威胁。Dos攻击使得合法用户不能使用网络,主机和其他基础设施部分。各种服务器都可以成为Dos的攻击目标。有下列三种类型: a. 弱点攻击 b. 带宽洪泛 c. 连接洪泛 DDos利用已受害的主机来继续猛烈发送流量。使得路由器崩溃。 (3)坏家伙能够嗅探分组 在无线传输设备的附近放置一台被动的接收机,该接收机就能得到传输的每个分组的拷贝。这种接收机被称为分组嗅探器。 嗅探器也可以用于有线的环境中。 (4)坏家伙可能会伪装成你信任的人 将具有虚假源地址的分组注入因特网的能力被称为IP哄骗。 (5)换家伙能够修改或删除报文
因特网是如何从一开始就陷入不安全的境地的?要知道,相互信任的用户之间的通信只是一种例外。
1.7 计算机网络和因特网的历史 1.7.1 分组交换的发展 1.7.2 专用网络和网络互联 20世纪90年代的主要事件是万维网(World Wide Web)的出现。 1995年,大学生们每天都使用Mosaic和Netscape浏览器在Web上冲浪。1996年微软公司开始开发浏览器,并在几年后获胜 2000年末,因特网已经支持数百流行的应用程序,包括以下4个招人喜欢的应用程序 (1)电子邮件 (2)Web,包括Web浏览和因特网商务 (3)即时讯息,具有联系人列表,由ICQ所倡导 (4)MP3的对等文件共享,由Napster所倡导
1.7.5 最新发展
第二章 应用层
网络应用是计算机网络存在的理由
|