计算机网络慕课地址:https://www.bilibili.com/video/BV1c4411d7jb
1.1网络在信息时代的作用
- 计算机网络已由一种通信基础设施发展成一种重要的信息服务基础设施。
- 计算机网络已经像水、电、煤气这些基础设施一样,成为我们生活中不可或缺的一部分。
1.2 因特网概述
1.2.1 网络 互连网 因特网
网络(Network):由若干个结点(Node)和连接这些结点的链路(Link)组成。
互连网(互联网):多个网络通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互连网(互联网)。因此,互联网又称为网络的网络(Network of Networks)。
因特网:因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)。
internet与Internet的区别
-
internet(互联网或互连网)是一个通用名词,它泛指多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
-
Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络互连而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。
1.2.2 因特网发展

1.2.3 ISP
因特网服务提供者ISP: (Internet Service Provider)
- 中国的三大ISP:中国电信,中国联通和中国移动。
- ISP可以从因特网管理机构申请到成块的Ip地址,这一点很重要,因为因特网的主机都必须有IP地址才能进行通信。
- 任何机构和个人只要向ISP缴纳规定的费用,就可以从ISP得到所需要的IP地址,同时拥有通信线路以及路由器等连网设备。
基于ISP的三层结构的因特网

ISP1基本概念:
第一层ISP通常也被称为因特网主干网,并且拥有高速链路和交换设备,第一层ISP之间直接互联,一般都能够覆盖国际性区域范围。
ISP2基本概念:
第二层ISP和一些大公司都是第一层ISP的用户,通常具有区域性或者国家性覆盖规模,与少数第一层ISP相连接。
ISP3基本概念:
- 第三层ISP又称为本地的ISP,并且只拥有本地范围的网络,它们是第二层ISP的用户。
- 一般的校园网或者企业网,以及住宅用户和无线移动用户,都是第三层ISP用户。
总结:
- 一旦某个用户能够接入到因特网,那么他也可以成为一个ISP,所需要做的就是购买一些如调制解调器或路由器这样的设备,让其他用户可以和他相连。
- 在网络核心部分起特殊作用的是路由器,它是一种专用的计算机,但是我们不称它为主机。
- 路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
1.2.4 标准化工作
-
因特网的标准化工作对因特网的发展起到了非常重要的作用。
-
因特网在指定其标准上的一个很大的特点是面向公众。
- 因特网所有的RFC(Request For Comments)技术文档都可从因特网上免费下载。
- 任何人都可以随时用电子邮件发表对某个文档的意见或建议。
-
因特网协会ISOC是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。
- 因特网体系结构委员会IAB,负责管理因特网有关协议的开发。
- 因特网工程部IETF,负责研究中短期工程问题,主要针对协议的开发和标准化。
- 因特网研究部IRTF,从事理论方面的研究和开发一些需要长期考虑的问题。
-
制订因特网的正式标准要经过一下4个阶段:
- 因特网草案(在这个阶段还不是RFC文档)
- 建议标准(从这个阶段开始就成为RFC文档)
- 草案标准
- 因特网标准
1.2.5 因特网的组成
边缘部分
由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
1.3 三种交换方式
在网络核心部分起特殊作用的是路由器(router),它负责将各种网络互连起来。
路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
1.3.1 电路交换
传统两两相连的方式,当电话数量很多时,电话线也很多,就很不方便
所以要使得每一部电话能够很方便地和另一部电话进行通信,就应该使用一个中间设备将这些电话连接起来,这个中间设备就是电话交换机
电话交换机
可以将电话交换机简单的看成一个有多个开关的开关器,可以将需要通信的任意两部电话的电话线路按需接通。用这样的方法,就构成了覆盖全世界的电信网。
电话交换机接通电话线的方式称为电路交换
从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源。
电路交换的三个步骤:
- 建立连接(分配通信资源)
- 通话(一直占用通信资源)
- 释放连接(归还通信资源)
结论
使用电路交换来传送计算机数据时,其线路的传输效率往往很低。这是因为计算机数据是突发式地出现在传输线路上的。
1.3.2 分组交换
分组交换需要将传输数据(即报文)分割成较小的数据块,每个数据块附加上地址、序号等控制信息构成数据分组,每个分组独立传输到目的地,目的地将收到的分组重新组装,还原为报文。分组传输过程通常也采用存储-转发交换方式。
发送方
构造分组,发送分组
路由器
缓存分组, 转发分组
路由器处理分组的过程是
- 把收到的分组先放入缓存(暂时存储),查找转发表,找出到某个目的地址应从哪个端口转发。
- 把分组送到适当的端口转发出去。
接收方
接收分组,还原报文
1.3.3 报文交换
- 报文交换也称为消息交换。其工作过程为:发送方把要发送的信息附加上发送/接收主机的地址及其他控制信息。
- 构成一个完整的报文。然后以报文为单位在交换网络的各个结点之间以存储-转发的方式传递,直至送达目的主机。
- 报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代。
电路交换、报文交换、分组交换的对比
假设A,B,C,D是分组传输路径所要经过的4个结点交换机,纵坐标为时间
结论
电路交换:
- 通信之前首先要建立连接;连接建立好之后,就可以使用已建立好的连接进行数据传送。
- 数据传送后,需释放连接,以归还之前建立连接所占用的通信线路资源。
- 一旦建立连接,中间的各结点交换机就是直通形式的,比特流可以直达终点。
报文交换:
- 可以随时发送报文,而不需要事先建立连接;整个报文先传送到相邻结点交换机,全部存储下来后进行查表转发,转发到下一个结点交换机。
- 整个报文需要在各结点交换机上进行存储转发,由于不限制报文大小,因此需要各结点交换机都具有较大的缓存空间。
分组交换:
- 可以随时发送分组,而不需要事先建立连接。构成原始报文的一个个分组,依次在各结点交换机上存储转发。
- 各结点交换机在发送分组的同时,还缓存接收到的分组。
- 构成原始报文的一个个分组,在各结点交换机上进行存储转发。
- 相比报文交换,减少了转发时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制。
1.4 网络的分类
计算机网络简单定义
一些互相连接的、自治的计算机的集合。
- 互连:是指计算机之间可以通过有线或无线的方式进行数据通信;
- 自治:是指独立的计算机,他有自己的硬件和软件,可以单独运行使用;
- 集合:是指至少需要两台计算机;
计算机网络完整定义
计算机网络主要是由一些通用的,可编程的硬件(一定包含有中央处理机CPU)互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件。
- 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。
计算机网络分类

1.5 性能指标
1.5.1 速率
案例说明
1.5.2 带宽

1.5.3 吞吐量
吞吐量表示单位时间内通过某个网络(或信道、接口)的数剧量。
吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
吞吐量受到网络的带宽或额定速率的限制。
案例说明
这是一个带宽为1Gb/s的以太网,其吞吐量受带宽限制,最高为1Gb/s,这个数值也是该以太网的吞吐量的绝对上限值。
对于带宽1 Gb/s的以太网,通常实际吞吐量只能达到700 Mb/s,甚至更低。
1.5.4 时延
时延时指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。
结论1
在构建网络时,应该做到各设备间以及传输介质的速率匹配,这样才能完全发挥出本应具有的传输性能。源主机和目的主机之间的路径会由多段链路和多个路由器构成。
结论2
构成网络时延的发送时延,传播时延以及处理时延,在处理时延时忽略不计的情况下。
我们不能想当然地认为发送时延占主导或传播时延占主导,而且应该具体问题具体分析。
1.5.5 时延带宽积
时延带宽积 = 传播时延 * 带宽
1.5.6 往返时间
基本定义
从源主机发送分组开始,直到源主机收到来自目的主机的确认分组为止,所需的时间。在许多情况下,因特网上的信息不仅仅单方向传输,而且是双向交互,有时很需要知道双向交互一次所需的时间。因此,往返时间(RTT)是一个重要的性能指标。
结论1
一般情况下,卫星链路的距离比较远,所带来的传播时延比较大。
1.5.7 利用率
1.5.8 丢包率
基本定义
丢包率即分组丢失率,是指在一定时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
丢包率分类
接口丢包率, 结点丢包率,链路丢包率,路径丢包率,网络丢包率。
丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标,因为他们通常意识不到网络丢包。
分组丢失主要情况
分组在传输过程中出现误码,被结点丢弃。
分组到达一台队列已满的分组交换时被丢弃,在通信量较大时就可能造成网络拥塞。
结论
实际上,路由器会根据自身的拥塞控制方法,在输入缓存还未满的时候就主动丢弃分组。当网络的丢包率比较高时,通常无法使网络应用正常工作。
丢包率反映了网络的拥塞情况
- 无拥塞时路径丢包率为0。
- 轻度拥塞时路径丢包率为1%~4%。
- 严重拥塞时路径丢包率为5%~15%。
1.6 网络体系结构
1.6.1 OSI体系结构
1.6.2 TCP/IP体系
1.6.3 具体运用
结论:
如今用的最多的是TCP/IP体系结构,现今规模最大的、覆盖全球的、基于TCP/IP的互联网并未使用OSI标准。
TCP/IP体系结构相当于将OSI体系结构的物理层和数据链路层合并成了网络接口层。并且去掉了会话层和表示层。
由于TCP/IP在网络层使用的协议是IP协议,IP协议的中文意思是网际协议,因此TCP/IP体系结构的网络层称为网际层。
结论
用户的主机必须使用TCP/IP协议。在用户主机的操作系统中,通常都带有符合TCP/IP体系结构标准的TCP/IP协议族。
用于网络互连的路由器中,也带有符合TCP/IP体系结构标准的TCP/IP协议族。
TCP/IP体系结构的网络接口层并没有规定具体的内容。只不过路由器一般只包含网络接口层和网际层。这样做的目的是可以互连全世界各种不同的网络接口。
1.6.5 TCP/IP体系结构
网络接口层
并没有规定具体内容,这样做的目的是可以互连全世界各种不同的网络接口,例如:有线的以太网接口,无线局域网的WIFI接口等。
网际层
它的核心协议是IP协议,网际协议IP是TCP/IP体系结构的核心协议。
运输层
TCP和UDP是这层的两个重要协议。
应用层
这层包含了大量的应用层协议,如 HTTP , DNS 等。
IP协议、TCP/IP 、UDP
- IP协议是TCP/IP体系结构网际层的核心协议,TCP/UDP是TCP/IP体系结构运输层的两个重要协议。
- TCP/IP体系结构的应用层包含了大量的应用层协议,IP协议可以将不同的网络接口进行互联。并且向其上的 TCP协议和UDP协议提供网络互连服务。
- TCP协议在享受IP协议提供的网络互连服务的基础上,可以向应用层的相应协议提供可靠的传输服务。
- UDP协议在享受IP协议提供的网络互连服务的基础上,可以向应用层的相应协议提供不可靠的传输服务。
1.6.6 TCP/IP协议族
一方面负责互连不同的网络接口,另一方面,为各种网络应用提供服务。
结论
IP协议和TCP协议是其中非常重要的两个协议,在TCP/IP协议体系中包含大量的协议,因此用TCP和IP这两个协议来表示整个协议大家族。常称为TCP/IP协议族。
1.7 分层的必要性
计算机网络是个非常复杂的系统,早在最初的ARPANET设计时候提出了分层设计理念。
分层可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
1.7.1 物理层

结论
严格来说,传输媒体并不属于物理层,它并不包含在体系结构之中。
计算机网络中输出的信号,并不是我们举例的方波信号。
1.7.2 数据链路层

标识网络中的各主机
主机编址问题,也就是网络和主机共同编址的问题,该类IP地址的前三个十进制用来标识网络。
第四个十进制用来标识主机。
1.7.3 网络层
IP地址
其实就是主机在网络中的地址,主机在发送数据时,应该给数据附加上目的地,当其他主机收到后,根据目的地址和自身地址,来决定是否接受数据。
1.7.4 运输层问题
1.7.5 应用层问题
在此基础上,只需要制定各种应用层协议,并且按协议标准编写相应的应用程序。
通过应用进程间的交互来完成特定的网络应用。

总结
1.8 分层思想案例
1.8.1 案列引出
主机的浏览器如何与Web服务器进行通信?
步骤分析:
主机属性网络N1,web服务器属于网络N2,N1和N2通过路由器互连。使用主机中的浏览器访问web服务器,主机会向Web服务器发送请求。
Web服务器收到请求后,会发出相应的相应,主机的浏览器收到响应后,会发回相应的响应。主机的浏览器收到响应后,将其解析为具体的网页内容显示出来。
注意: 主机和Web服务器之间基于网络的通信,实际上是主机中的浏览器应用进程与Web服务器中的Web服务器中的Web服务器应用进程之间基于网络的通信。
1.8.2 发送方发送
应用层:
应用层按HTTP协议的规定,构建一个HTTP请求报文。应用层将HTTP请求报文交付给运输层处理。
运输层:
- 运输层给HTTP请求报文添加一个TCP首部,使之成为TCP报文段。
- TCP报文段的首部格式作用是区分应用进程以及实现可靠传输,运输层将TCP报文段交付给网络层处理。
网络层:
- 网络层给TCP报文段添加一个IP首部,使之成为IP数据报。
- IP数据报的首部格式作用是使IP数据报可以在互联网传输,也就是被路由器转发
- 网络层将IP数据报交付给数据链路层处理。
数据链路层:
- 数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧,假设网络N1是以太网。
- 该首部的作用主要是为了让帧能够在一段链路上或一个网络上传输,能够被相应的目的主机接收
- 该尾部的作用是让目的主机检查所接收到的帧是否有误码
- 数据链路层将帧交付给物理层
物理层
- 物理层先将帧看做是比特流,所以物理层还会给该比特流前面添加前导码。
- 前导码的作用是为了让目的主机做好接收帧的准备。
- 物理层将装有前导码的比特流变换成相应的信号发送给传输媒体。
信号通过传输媒体到达路由器
1.8.3 路由器处理
步骤1:
- 物理层将信号变为比特流,然后去掉前导码后,将其交付给数据链路层,这实际上交付的是帧。
- 数据链路层将帧的首部和尾部去掉后,将其交付给网络层,这实际交付的是IP数据报。
- 网络层解析IP数据报的首部,从中提取目的网络地址,提取目的网络地址后查找自身路由表。确定转发端口,以便进行转发。
步骤2:
- 网络层将IP数据报交付给数据链路层。
- 数据链路层给IP数据报添加一个首部和一个尾部,使之成为帧。
- 数据链路层将帧交付给物理层。
- 物理层先将帧看成比特流,所以物理层还会给该比特流前面添加前导码。
步骤3:
物理层将装有前导码的比特流变换成相应的信号发送给传输媒体,信号通过传输媒体到达Web服务器。
1.8.4 接收方接收
和发送方发送过程的封装正好相反。
执行步骤
- 物理层将信号变换为比特流,然后去掉前导码后成为帧,交付给数据链路层。
- 数据链路层将帧的首部和尾部去掉后成为IP数据报,将其交付给网络层。
- 网络层将IP数据报的首部去掉后成为TCP报文段,将其交付给运输层。
- 运输层将TCP报文段的首部去掉后成为HTTP请求报文,将其交付给应用层。
- 应用层对HTTP请求报文进行解析,然后给主机发回响应报文。
发回响应报文的步骤和之前过程基本相同
1.9 体系结构专用术语
以下介绍的专用术语来源于OSI的七层协议体系结构,同时也适用于TCP/IP的四层体系结构和五层协议体系结构
1.9.1 实体
实体: 任何可发送或者接收信息的硬件或者软件进程。
对等实体: 收发双方相同层次中的实体。
1.9.2 协议
协议:控制两个对等实体进行逻辑通信的规则的集合。
协议三要素:
语法:定义所交换信息的格式。
语义:定义收发双方所要完成的操作。
时序:定义收发双发的时序关系。
1.9.3 服务