千锋计算机网络期末速成笔记目录
网络特点:连线和结点。
网络作用:连通和共享。
以主机为中心(或“主机-终端”)的网络:
特征:以单处理机为中心的联机网络;集中式控制。
缺点:主机负荷重;可靠性差。
终端:是主机的一个远程的输入/输出设备(不是一个自治系统)。
在早期计算机主机昂贵,一个主机(例如 IBM 大型计算机)一般会配置多个终端(Terminal)。
这些终端本身不具备计算能力,仅仅承担信息输入输出的工作,运算和处理均由主机来完成。
个人计算机可以运行称为终端仿真程序,来模仿一个终端的工作。
美国国防部认为,如果仅有一个集中的军事指挥中心,万一这个中心被核武器摧毁,全国的军事指挥将处于瘫痪状态,其后果将不堪设想。因此有必要设计这样一个分散的指挥系统:它由多个分散的指挥点组成,当部分指挥点被摧毁后其它点仍能正常工作,而这些分散的点能够通过某种形式的通讯网取得联系。
多个以主机为中心的网络需要互连(17 个防区),64 kb/s。
网络从“主机-终端”转为“主机-主机”。主机负责数据处理和通信工作。
解决方案:ARPAnet,4个结点,1969 年。
ARPA:美国国防部高级研究计划局。
第一个处理器:1971 年 Intel 公司发布的 4 位微处理器 Intel 4004;
第一台微型计算机:1971 年诞生的;
1981 年,IBM 公司推出微型计算机 IBM-PC;
80 年代以后,微型计算机的迅速发展,彼此需要相互通信(近距离),共享资源。
局域网:Local Area Network,简称 LAN,是指在某一区域内由多台计算机互联成的计算机组。
Internet:70 年代,ARPA 设立了新的研究项目,解决不同的计算机局域网互联的问题,采用 TCP/IP
协议,研究人员称之为“Internet”,即“因特网”。
1974 年,网际互连协议 IP 和传输控制协议 TCP 问世:
1983 年,ARPA 从 NCP 协议换成 TCP/IP 协议。ARPAnet 由两部分组成:
1988 年,美国国家科学基金组织(NSF)的 NSFnet,替代了 ARPAnet 称为 Internet 的主干网。
1990 年,ARPAnet 解散,Internet 从军用转向民用。
1992 年,IBM、MCI、MERIT 三家公司组建了高级网络服务公司(ANS),建立了 ANSnet。从此,Internet 开始商业化运作。
1995 年 4 月 30 日,NSFnet 正式宣布停止运作。而此时 Internet 的骨干网已经覆盖了全球 91 个国家,主机已超过 400 万台。
互连网(internet):由路由器将网络连接起来,组成一个功能单一的大规模的“虚拟网络”。
互联网(Internet):指当今世界最大的互“连”网络,由大规模的国家骨干网络、无数的区域网络和校园网络组成,采用 IP 协议栈。
异构的网络:指采用不同协议的广域网和局域网。
通俗地说,互联网是采用 IP 协议将全球异构的网络互连起来形成的一个网络,实现异构网络间的互联互通。
相似之处:网络的网络。
不同之处:
互联网(Internet) | 互连网(internet) |
---|---|
特指遵循 TCP/IP 标准,用路由器将各种计算机网络互连起来而形成的、一个覆盖全球的特定的互连网 | 泛指由多个不同类型计算机网络互连而成的网络 |
使用 TCP/IP | 除 TCP/IP 外,还可以使用其他协议 |
是一个专用名词 | 是一个通用名词 |
逐渐形成了多层次 ISP 结构的互联网:
根据提供服务的覆盖面积大小以及所拥有的 IP 地址数目的不同,ISP 也分成为不同层次的 ISP:
不同电信运营商之间为连通各自网络而建立的集中交换平台,互联网交换中心在国外简称 IX 或 IXP:
为了使欧洲各国的核物理学家能通过计算机网络及时沟通传递信息进行合作研究,委托 蒂姆 • 伯纳斯 • 李 开发一个软件,以便使分布在各国各地物理实验室、研究所的最新信息、数据、图像资料可供大家共享。
1989 年仲夏之夜,蒂姆成功开发出世界上第一个 Web 服务器和第一个 Web 客户机。
1989 年 12 月,蒂姆为他的发明正式定名为 World Wide Web
。
1991 年 5 月 WWW 在 Internet 上首次露面。
http://info.cern.ch,由 万维网之父 蒂姆 • 伯纳斯 • 李 在 1991 年 8 月 6 日正式开通。
互联网的迅猛发展始于 20 世纪 90 年代。万维网 WWW(World Wide Web)被广泛使用在互联网上,大大方便了广大非网络专业人员对网络的使用,成为互联网的这种指数级增长的主要驱动力。
1989 年,英国计算机科学家 Tim Berners-Lee 提出对 WWW 的设计方案,将浏览器和服务器进行连接。1989 年是 Internet 历史上划时代的分水岭。
1993 年,世界第一款流行浏览器 Mosaic 问世。
1994 年,Marc 发布 Netscape Navigator。
1995 年,微软发布 Internet Explorer 1。
1996 年,Netscape 和 Microsoft 之间爆发 WWW 浏览器之间的战争。
1993 年,美国伊利诺州的伊利诺大学的国家超级计算机应用中心(NCSA),发表了一个浏览器,命名为“Mosaic”。
在当时人气爆发的大受欢迎,Mosaic 的出现,点燃后来因特网热潮的火种之一。
网景公司多次尝试创作一种能够让用户通过浏览器操作的网络应用系统。
微软担心网景可能威胁到微软的操作系统和应用程序市场,于是在 1995 年向望远镜娱乐公司(Spyglass Entertainment)买下 Mosaic 的授权,以此为基础开发了 Internet Explorer。
双方激烈竞争就此展开,后来被称为“浏览器大战”。
绝大多数人通过使用互联网而认识了互联网:
互联网络,给人们的社会生活带来了巨大的改变,已经成为现代社会最为重要的基础设施。
指的是“互联网 + 各个传统行业”。
利用信息通信技术以及互联网平台,让互联网与传统行业进行深度融合,创造新的发展生态。
特点:把互联网的创新成果深度融合于经济社会各领域之中,从而大大地提升了实体经济的创新力和生产力。
将可感知设备、可独立寻址的物体进行互通互联的网络。和以前互联网一样,接入的设备必须是可以寻址的,才能具备唯一的身份,发起与其它设备的对话:
来自中国互联网信息中心的数据:
互联成功的因素之一是开放性和标准化:
所有互联网标准都以 RFC 的形式在互联网上发表:
现在简化为了两个阶段:
提供信息的 RFC:与互联网有关的一般的、历史的、指导的信息。
边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享;
核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
连接在互联网上的所有的主机,都称为端系统(end system):
拥有者:个人、单位或某个 ISP。
为了实现远距离数据传输,需要使用交换结点对数据进行转发(交换)。
路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
主机 A 和主机 B 进行通信:
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。
客户/服务器:进程之间服务和被服务的关系。
客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可以发送和接收数据。
对等连接(Peer-to-Peer,简写为 P2P),两个通信主机不区分哪一个是服务请求方还是服务提供方:
对等连接工作方式可支持**大量对等用户(如上百万个)**同时工作。
N 部电话机两两直接相连,需 N ( N − 1 ) / 2 N(N-1)/2 N(N−1)/2 对电线。这种直接连接方式所需要的电线对的数量与电话机数量的平方 N 2 N^2 N2 成正比。
当电话机的数量增多时,就要使用交换机来完成全网的交换任务,于是出现了“交换”。
1878 年人工电话交换机出现,电话接续过程中的接线、拆线完全由话务员手工操作。
缺点:容量很小,需要占用大量人力,工作繁重,效率低下,容易出错。
1891 年,一个名为史瑞乔的殡仪馆老板,发明了该交换机。
他发现,打到自己店里的生意电话,总会被话务员转接到另一家殡仪馆。后来才知道,原来当地话务员是那家殡仪馆老板的堂弟。于是,他很生气,发誓一定要发明一个不需要人工操作的交换机。
1892 年,第一个“史瑞乔步进制电话局”在美国投入使用。
交换(switching)的含义就是转接:把一条电话线转接到另一条电话线,使它们连通起来。
交换:在多结点通信网络中,为有效利用通信设备和线路,动态地设定通信双方间的线路,动态地接通或断开通信线路,称为“交换”。从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。
交换方式的分类:
每一部电话都直接连接到交换机上,而交换机使用的交换方式就是就是电路交换(circuit switching)。
电路交换举例:
A 和 B 通话经过四个交换机,通话在 A 到 B 的连接上进行。电路交换的用户始终占用端到端的通信资源。
优点 | 具体描述 |
---|---|
时延小 | 由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小。 |
时间性强 | 通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强。 |
无失序 | 双方通信时按发送顺序传送数据,不存在失序问题。 |
使用面广 | 电路交换既适用于传输模拟信号,也适用于传输数字信号。 |
控制简单 | 电路交换的交换设备(交换机等)及控制均较简单。 |
缺点 | 具体描述 |
---|---|
信道利用低 | 电路交换连接建立后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,不适合计算机通信(突发性),因而信道利用低。 |
终端要求 | 电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信。 |
分组交换采用的存储转发技术。
发送端把较长的报文划分成较短的、固定长度的数据段。每个数据段签名添加上首部构成分组(packet)。
形象的例子:
每一个分组的首部都含有地址(目的地址和源地址)等控制信息。
分组交换网中的结点交换机根据收到的分组首部中的地址信息,把分组转发到下一个节结点交换机。每个分组在互联网中独立地选择传输路径。用这样的存储转发方式,最终分组就能到达最终目的地。
假定分组在传输过程中没有出现差错,在转发时也没有被丢弃:
互联网核心部分:由许多网络和把它们互连起来的路由器组成,而主机处在互联网的边缘部分。
路由器之间用高速链路相连接,主机接入到核心采用较低速率的链路相连接。
主机的用途:信息处理,交换信息。
路由器的用途:用来转发分组,即进行分组交换。
在路由器中的输入和输出端口之间没有直接连线。
路由器处理分组的过程:
路由器的功能之一:分组转发,分组所经过的路径不同,分组转发的路径由路由器协同计算得到。
⚠️ 注意:
优点 | 所采用的手段 |
---|---|
高效 | 在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用的。 |
灵活 | 为每一个分组独立地选择最合适的转发路由。 |
迅速 | 以分组作为传送单位,可以不先建立连接就能向其它主机发送分组。 |
可靠 | 分布式多路由的分组交换网,使网络有很好的生存性。 |
缺点 | 分组交换带来的问题 |
---|---|
时延 | 分组在各结点存储转发时需要排队,这就会造成一定的时延。 |
开销 | 分组必须携带的首部(控制信息)也造成了一定的开销。 |
失序 | 当分组交换采用数据报服务时,可能出现失序、丢失或重复分组。 |
在 20 世纪 40 年代,电报通信采用了基于存储转发原理的报文交换,每个结点接收整个报文,然后整个报文一次发送完毕,一次一跳。
优点:
缺点:
简单来说,计算机网络即连接两台或多台计算机进行通信的系统,实现信息共享、硬件共享。
必须有两台或两台以上、具有独立功能的计算机自治系统相互连接起来,以达到资源共享的目的;
自治系统:自治自理,自主决定何时发送数据。
必须要有一条通道(有形或无形),来使计算机之间交换信息;
必须要遵守某种约定或规则才能实现信息交换。
⚠️ 注意:网络连接的端系统不限于计算机,而是包含了各类智能设备。
几个名词:
接入网:用于将用户接入互联网络,用户与互联网的桥。
局域网和广域网在结构上和传输方式上有很大的不同:
不能简单以距离来区分局域网和广域网:
美国数学家,信息论创始人 克劳德 • 香农 在 1948 年的论文《通信的数学理论》中第一次提出“比特”。在香农的理论中,比特是信息的基本单位。回答一个 是/否 需要 1 比特信息。
比特(bit)也是计算机中数据量的单位。比特来源于 binary digit,表示一个二进制数字,因此一个比特表示二进制数字中的 1 或 0。
速率是计算机网络中最重要的一个性能指标,指的是数据的传送速率,它也称为数据率(data rate)或比特率(bit rate)。
速率往往是指额定速率或标称速率,非实际运行速率。
速率的单位:bit/s(基本单位),或 Kbit/s、Mbit/s、Gbit/s 等(bps)。例如 4 × 1 0 10 4 × 10^{10} 4×1010 bit/s 的数据率就记为 40 Gbit/s(乘 1 0 3 10^3 103)。
注意与存储容量的区别(乘 2 10 2^{10} 210):Byte(基本单位:字节)、KByte(KB)、MByte(MB)、GByte(GB),1 Byte = 8 bit。
带宽(bandwidth)是指信号具有的频率成分范围,也可以表示为信道的频带宽度(允许通过的最高频率成分与最低频率成分之差),其单位是赫(或千赫、兆赫、吉赫等)。
例如:人耳可辨别的声音约在 16~20000 Hz 之间,但只要保留 300~3400 Hz 这段范围内的声音,仍能清晰辨别话音信号。故电话信道的带宽为 3400 - 300 = 3100 Hz。
在计算机网络中,带宽用来表示网络中某通道传送数据的能力。表示在单位时间内网络中的某信道所能通过的“最高数据率”(bit/s)。
例如:计算机 100 Mbps 接入网络,指的是计算机能以 100 Mbps 速率向信道注入 bit 流。
总结:其实就是“带宽”的两种表述,前者为频域称谓,后者为时域称谓,本质是相同的。一条通信链路的“带宽”越宽,所能传输的“最高数据量”也越高。
在时间轴上信号的宽度随带宽的的增大而变窄。
例如:港口吞吐量(Port handling capacity)是指一年内经由水运输出、输入港区并经过装卸作业的货物总量。
吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的数据量:
时延(delay 或 latency)是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间,有时也称为延迟或迟延。
网络中的时延由以下几个不同的部分组成:
发送时延也称为传输时延。发送数据时,数据帧从结点进入到传输媒体所需要的时间。也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
例如:某人以固定 5 m/s 的速度跑 100 m,从起点跑到终点所需要的时间为 20 s。
电磁波在信道中需要传播一定的距离而花费的时间。
信号发送速率和信号在信道上的传播速率是完全不同的概念。
传播速率:信号在信道(铜缆)上“跑”的速度(约为光速的 60% ~ 80%),速度不变(约为 200 m/us)。
主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错校验或查找路由)所花费的时间。
分组在路由器输入输出队列中排队等待处理所经历的时延。
排队时延的长短往往取决于网络中当时的通信量。
数据在网络中经历的总时延就是发送时延、传播时延、处理时延和排队时延之和。
必须指出,在总时延中,究竟是哪一种时延占主导地位,必须具体分析。
D s u m = D t r a n s + D p r o p + D p r o c e + D q u e u e D_{sum} = D_{trans} + D_{prop} + D_{proce} + D_{queue} Dsum=Dtrans+Dprop+Dproce+Dqueue
对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率,因为传播速率一般是固定的。
提高链路带宽减小了数据的发送时延。
❌ 错误的说法:在高速链路(或高带宽链路)上,比特会传送得更快些。
链路的时延带宽积又称为以比特为单位的链路长度,即某段链路中现在有多少比特。只有在代表链路的管道中都充满比特时,链路才得到了充分利用。
互联网上的信息不仅仅单方向传输,而是双向交互的。因此,有时候很需要知道双向交互一次所需的时间。
往返时间表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。
在互联网中,往返时间包括往返传播时延、各中间结点的处理时延、排队时延以及转发数据时的发送时延。
信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。
若令 D 0 D_0 D0 表示网络空闲时的时延,D 表示网络当前的时延,则在适当的假定条件下,可以用下面的简单公式表示 D 和 D 0 D_0 D0 之间的关系:
D = D 0 1 − U D = \frac{D_0}{1-U} D=1−UD0
其中:U 是网络的利用率,数值在 0 到 1 之间。
计算机网络的体系结构(architecture)是计算机网络的各层及协议的集合:
计算机网络是个非常复杂的系统:
计算机网络体系结构按功能进行抽象分层:
厂商标准(相同厂商的产品可以互联):
两种标准:
计算机网络中的数据交换必须遵守事先约定好的规则,这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。
网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
例如:
⚠️ 注意:很多条件是不可预测的,不可能有十全十美的协议。
例如课堂上课:
这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释。
优点:
缺点:
OSI 的七层协议体系结构的概念清楚,理论也较完善,但是它既复杂又不实用。
TCP/IP 是四层体系结构:应用层、传输层、网际层和网络接口层。但最下面的网络接口层并没有具体内容。
因此往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构。
TCP/IP 协议创始人:
分层 | 说明 |
---|---|
应用层 | Talnet;FTP;Email;DNS |
运输层 | TCP;UDP |
网际层 | ICMP;IGMP;IP;ARP |
网络接口层 | 设备驱动程序及接口卡 |
OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元-PDU(Protocol Data Unit)。
物理传输媒体可看作第 0 层。
实体(entity)表示任何可发送或接受信息的硬件或软件进程。
协议(protocol)是控制两个对等实体进行通信的规则的集合(水平的)。
在协议的控制下,两个对等实体间的通信使得本层能够向上提供服务(功能调用,垂直的,单向的)。
要实现本层协议,还需要使用下层所提供的服务。
本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上面的服务用户是透明的。
上层使用服务原语获得下层所提供的服务。
服务在形式上由一组接口原语(或操作)来描述:上层实体向下层实体请求服务时,服务提供者和服务用户间需要交互一些必要的信息,以说明要求服务的一些情况,这些信息即服务原语。
类型(ISO) | 实例:A 通过电信公司打电话给 B |
---|---|
请求(Request) | A:拨号,向服务提供方电信公司发送“请求”原语 |
指示(Indication) | B:电话响了(显示对方电话号码),收到“指示”原语 |
响应(Response) | B:摘机(拿起电话),发送“响应”原语 |
确认(confirm) | A:收到“确认”原语(服务提供方发送) |
同一系统相邻两层的实体进行交互的地方,称为服务访问点。
SAP(Service Access Point) 是一个抽象的概念,是一个逻辑接口(下层服务的入口)。
服务访问点规定了上层如何调用下层提供的服务:
层与层之间交换的数据的单位称为服务数据单元-SDU(Service Data Unit)。加上本层的 PCI 后,构成本层的 PDU。
协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,还必须非常仔细地检查这个协议能否应付各种异常情况。
某些应用程序可以直接使用 IP 层甚至直接使用最下面的网络接口层,例如:ping 应用程序、OSPF 路由选择协议 都是直接越过运输层直接使用网络层。
沙漏计时器形状的 TCP/IP 协议族:
客户进程和服务器进程使用 TCP/IP 协议栈进行通信: