第1章概述
1.1 计算机网络在信息时代中的作用
Internet,即互联网,是计算机网络的代表。
1.2 互联网概述
在计算机网络领域,node应当译为结点,而不是节点。
网络把许多计算机连在一起,而互连网则把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机。由于智能手机中有CPU,因此也可以把连接在计算机网络上的智能手机称为主机。
以小写字母i开头的internet(互连网)是一个通用名词,泛指由多个计算机网络互连而成的计算机网络。在这些网络之间的通信协议(即通信规则)可以任意选择,不一定非要使用TCP/IP协议族。以大写字母I开头的Internet(互联网)则是一个专有名词,指当前全球最大的的互连网,它采用TCP/IP协议族作为通信规则。
互联网服务提供者ISP(Internet Service Provider)在许多情况下,就是一个进行商业活动的公司,因此ISP又常译为互联网服务提供商。
1.3 互联网的组成
互联网的拓扑结构从其工作方式上看,可以划分为边缘部分(由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享)和核心部分(由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的)。
处在互联网边缘的部分的就是连接在互联网上的所有主机,又称为端系统。
进程就是运行着的程序。
P2P方式表示Peer-to-Peer方式,即对等方式,从本质上看仍然是使用客户-服务器方式,只是对等连接中的每一台主机既是客户又同时是服务器。
客户(client)和服务器(server)都是指通信中涉及的两个应用进程。客户和服务器本来都指的是计算机进程(软件)。使用计算机的人是计算机的用户(user)而不是客户。但经常也把运行客户程序的机器称为client(在这种情况下可译为客户端),把运行服务器程序的机器称为server(在这种情况下可译为服务器端)。因此我们应当根据上下文来判断client或server是指软件还是硬件。
路由器(router)是一种专用计算机。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
电路交换:必须经过“建立连接(占用通信资源)、通话(一直占用通信资源)、释放连接(归还通信资源)”三个步骤的交换方式。当使用电路交换来传送计算机数据时,其线路的传输效率往往很低,因为计算机数据是突发式地出现在传输线路上的。
分组交换采用存储转发技术。要发送的整块数据称为一个报文(message)。在发送报文之前,先把较长的报文划分为一个个更小的数据段,在每一个数据段前面,加上一些由必要的控制信息组成的首部(header)后,就构成了一个分组(packet)。分组又称为“包”。路由器收到一个分组,先暂时存储以下,检查其首部,查找路由表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器或直接交付给主机,这就是存储转发。分组交换在传送数据之前不必先占用一条端到端的链路的通信资源,分组在哪段链路上传送才占用这段链路的通信资源。
1.5计算机网络的类别
广域网是互联网的核心部分。
目前很多城域网采用的是以太网技术,因此有时也并入局域网的范围进行讨论。
接入网既不属于互联网的核心部分,也不术语互联网的边缘部分。接入网是从某个用户端系统到互联网中的第一个路由器(也称为边缘路由器)之间的一种网络。
1.6 计算机网络的性能
比特(bit)来源于binary digit,意思是一个“二进制数字”。
数据的传送速率也称为数据率(data rate)或比特率(bit rate)。在通信领域,k=1000,M=1000000等等(只有“1000”使用小写),在计算机领域,数的计算使用二进制,因此,K=2^10,M=2^20等等(全是大写)。
在计算机网络中,带宽表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道能通过的“最高数据率”,单位就是数据率的单位,即bit/s。
吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的实际的数据量。
时延(delay或latency)是数据从网络(或链路)的一端传送到另一端所需的时间。
在高速链路(或高带宽链路)上,仅仅是数据的发送速率高而不是比特在链路上的传播(propagation)速率高。荷载信息的电磁波在通信线路上的传播速率(这是光速的数量级)取决于通信线路的介质材料。通常所说的“光纤信号的传输速率高”是指可以用很高的速率向光纤信道发送数据,而光纤信道的传播速率实际上还要比铜线略低。
RTT:Round-Trip Time,往返时间。
信道或网络的利用率过高会产生非常大的时延。
1.7 计算机网络体系结构
为了设计复杂的计算机网络,提出了分层的方法。分层可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
为进行网络中的数据交换而建立的规则、表混或约定称为网络协议(network protocol),简称协议。协议通常有两种不同的形式。一种是使用便于人来阅读和理解的文字描述。另一种是使用让计算机能够理解的程序代码。
计算机网路的各层及其协议的集合就是网络的体系结构(architecture)。换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。而这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现(implementation)的问题。体系结构是抽象的,而实现是具体的。
TCP/IP是一个四层的体系结构。其中,网际层(也可以叫网络层)之所以用这个名字是为了强调这一层是为了解决不同网络的互连问题。从实质上将,TCP/IP只有最上面的三层,因为最下面的网络接口层并没有什么具体内容。五层协议的体系结构只是为介绍网络原理而设计的,实际应用还是TCP/IP四层体系结构。
应用(application)层的任务是通过应用进程间的交互来完成特定网络应用。对于不同的网络应用需要有不同的应用层协议。应用层交互的数据单元称为报文(message)。
运输(transport)层的任务是负责向两台主机中进程之间的通信提供通用的数据传输服务。多种应用可以使用同一个运输层服务。运输层主要使用的协议是传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram Protocol),前者的数据传输的单位是报文段(segment),后者的数据传输的单位是用户数据报。有人把运输层称为传输层,理由是这一层使用的TCP协议就叫做传输控制协议。
网络(network)层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组(也可以称为“包”)进行传送。由于网络层使用IP协议,因此分组也叫做IP数据报,简称数据报。此外,无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。互联网使用的网络层协议是无连接的网际协议IP(Internet Protocol)和许多路由选择协议,因此互联网的网络层也叫做网际层或IP层。
数据链路(data link)层,简称链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。数据链路层的数据单元是帧(frame)。
物理(physical)层传的数据的单位是bit。物理层要考虑用多大的电压代表“1”和“0”,以及接收方如何识别出发送方发送的比特。物理层还要确定连接电缆的插头应当由多少根引脚以及各引脚应如何连接。解释比特代表的意思不是物理层的任务。传递信息利用的物理媒体,如双绞线、同轴电缆、光缆、无线信道等,不在物理层协议之内而是在物理层协议之下。物理层由于是比特流的传送,所以不需要加上带控制信息的首部或尾部。
人们经常提到的TCP/IP并不一定是单指TCP和IP这两个具体的协议,而往往是表示互联网使用的整个TCP/IP协议族(protocol suite)。
各层协议,实际上就是在各个对等层之间传递数据时的各项规定。
当研究开放系统的信息交换时,往往使用实体(entity)表示任何可发送或接收信息的硬件或软件进程。
协议的实现保证了能够向上一层提供服务。并非在一个层内完成的全部功能都称为服务,只有那些能被高一层实体“看得见”的功能才能称为服务。
TCP/IP协议族像沙漏计时器形状,表明:TCP/IP协议可以为各式各样的应用提供服务(所谓的everything over IP),同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行(所谓的IP over everything)。
以上是第1章,还有5章,有空了再补上,最近忙找暑期实习的事。
来源:oschina
链接:https://my.oschina.net/u/4275516/blog/3918903