第1章计算机网络和因特网
什么是因特网
公共因特网是一个世界范围的计算机网络
互联了遍及全世界的数以百万计的计算设备的网络,这些计算设备多数是传统的桌面PC、 基于Lhux的工作站以及所谓的服务器(它们用干存储和传输web冗面和电子邮件报文等信息
所有这些设备都称为主机(host)或端系统( end system)
端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一起,
这些物理媒体包括同轴电缆、铜线、光纤和无线电频谱。不同的链路以不同的速率传输数据,链路的传输速率是以bps度量的。
端系统通过因特网服务提供商(Internet Service Provider, ISP)接入因特网
每个ISP是一个由多个分组交换机和多段通信链路组成的网络。
ISP也对内容提供者提供因特网接入服务,将Web站点直接接入因特网。为了允许因特网用户之间相互通信,允许用户访问世界范围的因特网内容,这些低层ISP通过国家的、国际的高层ISP(如AT&T和 Sprint)互联起来。
高层ISP是由通过高速光纤链路互联的高速路由器组成的。无论是高层还是低层ISP网络,它们每个都是独立管理的,运行IP协议,遵从一定的命名和地址习惯。
端系统、分组交换机和其他因特网部件,都要运行控制因特网中信息接收和发送的一系列协议( protocol)。TCP( Transmission Control Protocol,传输控制协议)和P( Internet Protocol,网际协议)是因特网中两个最为重要的协议
分布式应用提供服务的网络基础设施
应用程序包括电子邮件、Web冲浪、即时讯息、IP上的话音( Volp)、因特网广播、流式视频、分布式游戏、对等(peer-to per,P2P)文件共享
因特网应用程序运行在端系统上,即它们并不运行在网络核心中的分组交换机之中。
与因特网相连的端系统提供了一个应用程序编程接口 (Application Programming Interface, API), Apl规定了运行在一个端系统上的软件请求因特网基础设施向运行在另一个端系统上的特定目的地软件交付数据的方式。
什么是协议
网络协议
因特网中的所有活动,凡是涉及两个或多个通信的远程实体都受协议的制约。
一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和或接收或其他事件方画所采取的动作
网络边缘
因特网相连的计算机等设备通常称为端系统(end system)
因特网的端系统包括桌面计算机(例如,桌面PC. Mac和基于Linux的工作站)、服务器(例如,web和电子邮件服务器)和移动计算机(例如,便携式计算机,PDA和采用无线因特网连接的电话)。
主机有时又被进一步划分为两类:客户机 client和服务器server
客户机和服务器程序
客户机程序是运行在一个端系统上的程序,它发出请求,并从运行在另一个端系统上的服务器程序接收服务。
在P2P文件共享应用程序,用户端系统中的程序起着客户机程序和服务器程序的双重作用。当它向另一个对等方请求文件时, 起着客户机的作用,当它向另一个对等方发送文件时,起着服务器的作用。在因特网电话中, 通信双方作为对等方交互,即通信会话是对称的,双方都在发送和接收数据。
接入网
定义 :端系统连接到其边缘络由器的物理链路。
物理媒体
物理媒体划分为两类:导引型媒体(guided media)和非导引型媒体(unguided media).
导引型媒体
电波沿着固体媒体(如光缆、双绞铜线或同轴电缆)被导引。
双绞铜线
最便宜并且使用最为普遍的导引型传输媒体是双绞铜线。
这两根线被绞合起来,以减少对邻近双绞线的电气干扰。通常许多双绞线捆扎在一起形成一根电缆,
非屏蔽双袋线( Unshielded Twisted Pair,UTP)常用在建筑物内的计算机网络中,即用于局域网(LAN)中。
同轴电缆
与双绞线类似,同轴电缆由两个铜导体组成,但是这两根导体是同心的而不是并行的。
光缆
能够支持极高的比特速率,高达数十甚至数百Gbps.它们不受电磁干扰,长达100 km的光缆信号衰减极低,并且很难接头。
光载波( Optical Carrier OC)标准链路速率的范围从51.8Mbps到39.8Gbps;这些规格参数常被称为OC-n,其中的链路速率等于n×51.8Mbps。
陆地无线电信道
卫星无线电信道
非导引型媒体
电波在空气或外层空间(例如, 在无线局域网或数字卫星频道)中传播.
网络核心
电路交换
沿着端系统通信路径,为端系统之间通信所提供的资源(缓存,链路传输速率)在通信会话期间会被预留。
主机A为了向主机B发送报文,该网络必须在两条链路之一上先预留一条电路。因为每条链路具有n条电路,每条链路由端到端连接使用,该连接在连接期间获得该链路带宽的l/n部分。
频分多路复用 (Frequeney-Division Multiplexing, FDM)
锥路的频谱由跨越链路创建的所有连接所共享。特别是,该链路在连接期间为每条连接专用一个频段。在电话网络中,这个频段通常具有4kHz(即毎秒400妹兹或4000周)。该频段的宽度被称为带宽( bandwidth)。调频无线电台也使用FDM来共享88-108MHz的频谱,其中毎个电台被分配个特定的频帯。
时分多路复用 (Time-Division Multiplexing, TDM)实现。
对于一条TDM链路,时间被划分为固定区间的帧,并且每帧又被划分为固定数量的时隙。
当网络跨越一条链路创建一条连接时,该网络在每个帧中为该连接指定一个时隙。这些时隙专门由该连接单独使用,一个时隙可用于传输该连接(在每个帧内)的数据。
注意到该传输时间与链路的数量无关:即使该端到端电路通过一条链路或100条後路,传输时间也是10 s.
分组交换(packet switching).
一台主机通过因特网向另一台主机发送分组的情况。如同电路交换一样,分组通过一系列通信链路传输。但对于分组交换而言,分组被送往网络而不必预留任何带宽。
在现代计算机网络中,源主机将长报文划分为较小的数据块,并称之为分组 (packet)。
分组以该链路的最大传输速率在通信链路上传输。
多数分组交换机在链路的输入端使用存储转发传输(store-and-fonvard transmission)机制。
存储转发传输机制是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
在因特网中,每个通过该网络传输的分组在它的首部包含了其目的地址。
该地址是一种层次结构。当分组到达网络中的一台路由器时,该路由器检査分组的目的地址的一部分,并向相邻路由器转发该分组。更特别的是.每台路由器具有一个转发表, 用于将目的地址(或目的地址的一部分》映射到输出链路。
ARP表
一些特殊的选路协议,它们用于自动地设置转发表(forwarding table)。例如,选路协议可以决定从每台路由器到每个目的地的最短路径,并使用这些最短路径来配置路由器中的转发表。
分组交换网中的时延、丢包和吞吐量
分组交换网中的时延概述
节点处理时延( nodal processing delay)、排队时延( queuing delay)、传输时延( transmission delay)和传播时延( propagation delay),这些时延总体累加起来是节点总时延( total nodal delay
处理时延检査分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。
排队时延在队列中,当分组在链路上等待传输时,它经受排队时延。
传输时延
传输时延(又称为存储转发时延,在13节中讨论过)是LR。这是将所有分组的比特推(传输)向链路所需要的时间。实际的传输时延通常在毫秒到微秒级。
传播时延
从该链路的起点到路由器B传播所需要的时间是传播时延,该比特以该链路的传播速率传播。
传播时延等于两台路由器之间的距离除以传播速率,即传播时延是ds,其中d是路由器A和路由器B之间的距离,s是该链路的传播速率。
传播时延在亳秒的量级。
传输时延和传播时延的比较
传输时延是路由器将分组推出所番要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之间的阻离无关。
传播时廷是一个比特从一台路由器向另台路由器传播所需要的时间,它是两台路由器之间距离的函数,但与分组的长度或链路的传输速率无关。
协议层次和它们的服务模型
分层的体系结构
网络设计者以分层( layer)的方式组织协议以及实现这些协议的网络硬件和软件。每个协议属于一层,就像图1-18所示的航线体系结构中毎种功能属于某一层一样。
我们再次关注某层向其上一层提供的服务( service),即所谓的层的服务模型( service model)。
一个协议层能够用软件.硬件或两者的结合来实现
各层的所有协议被称为协议栈( protocol stack)。因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层
应用层
应用层是网络应用程序及其应用层协议存留的地方。因特网的应用层包括许多协议,例如HTP(它为Web文档提供了请求和传送)、SMTP(它提供了电子邮件报文的传输)和FTP (它提供了两个端系统之间的文件传送)。
应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。我们将这种位于应用层的信息分组称为报文( message)
运输层
运输层提供了在应用程序端点之间传送应用层报文的服务。在因特网中,有两个运输层协议,即TCP和UDP,利用其中的任何一个都能传输应用层报文。TCP向它的应用程序提供了面向连接的服务。
TCP也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时, 源抑制其传输速率。UDP协议向它的应用程序提供无连接服务。这是一种不提供不必要服务的服务,不提供可靠性,没有流量控制,也没有拥塞控制
运输层分组称为报文段( segment)。
网络层
因特网的网络层负责将称为数据报( datagram)的网络层分组从一台主机移动到另ー台主机。源主机中的因特网运输层协议(TCP或UDP)向网络层递交运输层报文段和目的地址, 就像你向邮政信件提供目的地址一样。
网络层包括著名的IP协议,该协议定义了数据报中的各个字段以及端系统和路由器如何作用于这些字段。仅有一个IP协议,所有具有网络层的因特网组件都必须运行IP协议。因特网的网络层也包括决定路由的选路协议,数据报根据该路由从源传输到目的地。
尽管网络层包括了IP协议和一些选路协议,但它经常只被称为IP层,这反映了IP是将因特网连接在一起的粘合剂这样一个事实。
链路层
因特网的网络层通过一系列路由器在源和目的地之间发送分组。为了将分组从一个节点(主机或路由器)移动到路径上的下一个节点,网络层必须依靠链路层的服务。特别是在每个节点,网络层将数据报下传给链路层,链路层沿着路径将数椐报传递给下一个节点。在该下个节点,链路层将数据报上传给网络层
链路层的例子包括以太网、WiFi和点对点协议(PP)。因为数据报从源到目的地传送通常需要经过几条链路, 所以它可能被沿途不同链路上的不同链路层协议处理。例如,某个数据报可能被一条链路上的以太网和下一条链路上的PP所处理。网络层将接收来自每个不同的链路层协议的不同服务。
在本书中,我们将链路层分组称为帧( frame)。
5.物理层
而物理层的任务是将该帧中的一个一个比特从一个节点移动到下一个节点。
层中的协议仍然是链路相关的,并且进一步与链路(例如,双绞铜线、单模光纤)的实际传输媒体相关。例如,以太网具有许多物理层协议:关于双绞铜线的,关于同轴电缆的,关于光纤的,等等。在每种情况下,跨越这些链路移动一个比特的方式不同。
6.ISO模型
OSI参考模型的七层是:应用层、表示层、会话层、运输层、网络层、链路层和物理层。