计算机网络复习
1.计算机设备被称为主机或端系统。
2.端系统通过通信链路和分组交换机连接到一起。
3.传输速率:比特/秒(bit/s,或bps)。不同的链路能够以不同的速率传输数据。
4.分组:当一台端系统向另一台端系统发送数据时,发送端将数据分段。并为每段加上首部字节。由此形成的信息包用计算机装配成初始数据。
5.分组交换机:从它的一条入通信链路接收到达的分组,并从它的一条出通信链路转发该分组。
路由器:通常用于网络核心
链路交换机:通常用于接入网中。
6.ISP:因特网服务提供商,端系统通过ISP接入因特网。每个ISP是一个由多个分组交换机和多段通信链路组成的网络。各ISP为端系统提供了各种不同类型的网络接入。
7.协议:控制因特网中信息的接收和发送
TCP:传输控制协议
IP:网际协议,IP协议定义了在路由器和端系统之间发送和接收的分组格式。
一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送和/或接收一条报文或其他时间所采取的动作。
8.分组交换:
端系统彼此交换报文
报文可以执行一种控制功能
为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组。
在源和目的之间,每个分组都通过通信链路和分组交换机传送。
9.存储转发传输:存储转发机制是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
10排队时延和分组丢失:每个分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存(输出队列)它用于存储路由器准备发往那条链路的分组。如果达到的分组需要传输到某条链路。但是发现该链路正忙于传输其他分组,该到达分组必须在该输出缓存中等待。除了存储转发的时延以外,分组还要承受输出缓存的排队时延。这些时延是变化的,变化的程度取决网络中的拥塞程度。因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现分组丢失(丢包),到达的分组或已经排队的分组之一将被丢弃。
11.转发表和路由选择协议:
路由器与从它项链的而一条通信链路得到分组,将其向与它相连的另一条通信链路转发。
在因特网中,每个有一个称为IP地址的地址。
当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组。每台路由器具有一个转发表,用于将目的地址映射成为输出链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。路由器则将分组导向该出链路。
路由器使用分组的目的地址来索引转发表并决定适当的出链路。
12.电路交换:
通过网络链路和交换机移动数据有两种基本方法:电路交换和分组交换。
在电路交换网络中,在端系统间通信会话期间,预留了端系统间通信沿路径所需要的资源(缓存,链路传输速率)。在分组交换网络中,这些资源则不是预留的。
13.电路交换网络中的复用:
链路中的电路是通过频用复用或时分复用来实现的。对于FDM,在连接期间链路为每条链接专用一个频段。该频段的宽度称为带宽
对于一条TDM链路,时间被划分为固定区间的帧,并且每帧又被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为改链接指定一个时隙。这些时隙专门由该连接单独使用,一个时隙(在每个帧内)可用于传输该连接的数据。
分组交换的性能能够优于电路交换的性能。
电路交换不考虑需求,而预先分配了传输链路的使用,这使得已分配而并不需要的链路时间为被利用。分组交换按需分配链路使用。链路传输能力将在所有用户之间逐分组地被共享,这些用户有分组需要在链路上传输。
14.网络的网络:
端系统经过一个接入ISP与因特网相连。该接入ISP能够提供有线或无线连接,使用了包括DSL、电缆、FTTH、Wifi 蜂窝等多种接入技术。
第一层ISP:区域ISP、接入ISP(P23)
15分组交换网中的时延概述:
分组从一台主机(源)出发,通过一系列路由器传输,在另一台主机(目的地)中结束它的历程。当分组从一个结点(主机或路由器)沿着这条路径到后继节点(主机或路由器),该分组在沿途的每个节点经受了几种不同类型的时延。
16时延的类型:
- 处理时延:检查分组首部和决定将该分组导向何处所需要的时间
- 排队时延:在队列中,当分组在链路上等待传输时,它经受排队时延。
- 传输时延:将所有分组的比特推(传输)向链路所需要的时间。
- 传播时延:从该链路的起点到路由器B传播所需要的时间是传播时延。
- 传输时延和传播时延的比较:传输时延是路由器将分组推出所需要的时间,它是分组长度和链路传输速率的函数,而与两台路由器之间的距离无关。传播时延是一个比特从一台路由器向另一台路由器传播所需要的时间,它是两台路由器之间距离的函数。
- 结点总时间:这些时延的总体累加。
17.丢包:
一条链路前的队列只有有限的容量,尽管排队容量极大地依赖于路由器设计和成本。这些到达的分组如果发现一个满的队列。由于没有地方存储这个分组,路由器将丢弃该分组,即该分组将会丢失。
丢失的分组科恩那个基于端到端的原则重传,以确保所有的数据最终从源传送到了目的地。
18.吞吐量不仅取决于沿着路径的传输速率,而且取决于干扰流量。
19.协议层次及服务模型:
因特网有许多部分:大量的应用程序和协议、各种类型的端系统、分组交换机和各种类型的链路级媒体。
20.协议分层:
为了给网络协议的设计提供一个结构,网络设计者以分层的方式组织协议以及实现这些协议的网络硬件和软件。
某层向它的上一层提供的服务,即所谓一层的服务模型。
一个协议层能够用软、硬件或两者的结合来实现。诸如HTTP和SMTP这样的应用层协议几乎总是在端系统中用软件实现的,运输层协议也是如此。因为物理层和数据链路层负责处理跨越特定链路的通信,它们通常是实现在与给定链路想联系的网络接口卡中。网络层经常是硬件和软件实现的混合体。
21.协议栈:各层的所有协议被称为协议栈。因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层。
22.应用层:应用层是网络应用程序及它们的应用层协议留存的地方。包括许多协议,例如HTTP(它提供了Web文档的请求和传送),SMTP(它提供了电子邮件豹纹的传输)和FTP(它提供两个端系统之间的文件传送),DNS:特定的应用层协议即域名系统。
应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组。这种位于应用层的信息分组成为报文。
- 运输层:因特网的运输层在应用程序端点之间传送应用层报文。在因特网中,有两个运输协议,即TCP和UDP,TCP向它的应用程序提供了面向连接的服务,这种服务包括了应用层报文向目的地的确保传递和流量控制(即发送方、接收方速率匹配)。TCP也将长报文划分为短报文,并提供拥塞控制机制,因此当网络拥塞时,源抑制其传输速率。UDP协议向它的应用程序提供无连接服务。不提供不必要服务的服务,没有可靠性,没有流量控制,也没有拥塞控制。运输层分组成为报文段(segmert)
24.网络层:因特网的网络层负责将成为数据报的网络层分组从一台主机移动到另一台主机。
因特网的网络层包括著名的IP协议,该协议定义了在数据报中的各个字段以及端系统和路由器如何作用于这些字段。所有具有网络层的因特网组建必须运行IP协议。因特网的网络层也包括决定路由的路由选择协议,它使得数据包根据该路由从源传输到目的地。
25.链路层:为了将分组从一个(主机或路由器)移动到路径上的下一个结点,网络层必须依靠该链路层的服务。特别是在每个结点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个结点。在下个结点,链路层将数据报上传给网络层。由链路层提供的服务取决于应用于该链路的特定链路层协议。链路层的例子包括以太网、WiFi和电缆接入网的DOCSIS协议。因为数据报从源到目的地传送通常需要经过几条链路。网络层将受到来自每个不同的链路层能协议的不同服务。我们把链路层分组称为帧。
- 物理层:物理层的任务是将该帧中的一个一个比特从一个结点移动到下一个结点。在这层中的协议仍然是链路相关的。
27.P2P体系结构:对位于数据中心的专用服务器有最小的(或者没有)依赖。相反,应用程序在尖端连接的主机对之间使用直接通信。
P2P体系结构也是成本有效的。
P2P应用面临三个主要挑战:
- ISP友好:下载比上载要多得多。
- 安全性:高度分布和开发特性。
- 激励。
28.应用程序的客户端和服务器端:在给定的一对进程之间的通信会话场景中,发起通信的进程被表示为客户,在绘画开始等待联系的进程是服务器。
29进程与计算机网络之间的接口:
进程通过一个成为套接字的软件接口向网络发送报文和从网络接收报文。
当一个进程想向位于另外一台主机上的另一个进程发送报文时,它把报文推出该门(套接字)。该报文抵达目的主机,它通过接收进程的门(套接字)传递,然后接收进程对该报文进行处理。
套接字是同一台主机内应用层与运输层之间的接口。
30.在因特网中,主机由其IP地址标识。Web服务器用端口80标识。邮件服务器进程用端口号25来标识。
31.吞吐量:可用吞吐量就是发送进程能够向接收进程交付比特的速率。
32.可靠数据传输:分组在计算机网络中可能丢失。必须做一些工作以确保由应用程序的一端发送的数据正确、完全地交付给该应用程序的另一端。如果一个协议提供了这样的确保数据交付服务,就认为提供了可靠数据传输。
TCP服务:TCP服务模型包括面向连接服务和可靠数据传输服务。
面向连接的服务:在应用层数据报文开始流动之前,握手过程提示客户和服务器,使他们为大量分组的到来做好准备。在握手阶段后,一个TCP连接(TCP connection)就在两个进程的套接字之间建立了。这条连接是全双工的,即连接双方的进程可以在此连接上的同时进行报文收发。当应用程序结束报文发送时,必须拆除该连接。
可靠的数据传送服务:通信进程能够依靠TCP,无差错、按适当顺序交付所有发送的数据。
TCP协议还具有拥塞控制机制:当发送方和接收方之间的网络出现拥塞时,TCP的拥塞控制机制会抑制发送进程。
33.UDP服务:UDP是一种不提供不必要服务的轻量级运输协议,它仅提供最小服务。UDP是无连接的,UDP协议提供一种不可靠的数据传送服务。当进程将一个报文发送进UDP套接字时,UDP协议并不保证该报文将达到接收进程。到达接收进程的报文也可能是乱序到达的。
UDP没有包括拥塞控制机制,所以UDP的发送端可以用它选定的任何速率向其下层(网络层)注入数据。
34.应用层协议:定义了运行在不同端系统上的应用程序进程如何进行相互传递报文。如交换的报文类型,各种报文类型的语法,字段的语义。
35.Web和HTTP :
Web的应用层协议是HTTP(超文本传输协议),他是Web的核心。
HTTP由两个程序实现:一个客户程序和一个服务器程序。客户程序和服务器程序运行在不同的端系统中,通过交换HTTP报文进行会话。HTTP定义了这些报文的结构以及客户和服务器进行报文交换的方式。HTTP定义了Web客户向Web服务器请求Web页面的方式,以及服务器向客户传送Web页面的方式。
HTTP使用TCP作为他的支撑传输协议。HTTP客户首先发起一个与服务器的TCP连接。一旦连接建立,该浏览器和服务器进程就可以通过套接字接口访问TCP。
客户向他的套接字接口发送HTTP请求报文并从套接字接口接收HTTP响应报文。服务器从他的套接字接口接收请求报文和向他的套接字接口发送响应报文。一旦客户向他的套接字发送一个请求报文,该报文就脱离客户控制进入TCP的控制。
TCP为HTTP提供可靠数据传输服务。
HTTP是一个无状态协议,服务器不保存关于客户的任何信息。
36.采用非持续连接的HTTP
步骤:
1.HTTP客户进程在端口号80发起一个到服务器的www.someSchool.edu的TCP连接
2.HTTP客户经他的套接字向该服务器发送了一个HTTP请求报文
3.HTTP服务器经他的套接字接收请求报文,并通过套接字给用户发送响应报文
4.HTTP服务器通知TCP断开TCP连接
5.HTTP客户接收响应报文,TCP连接关闭
6.对每个引用的对象重复前4个步骤
37.HTTP报文格式:
第一行叫请求行,其后继的行叫首部行
请求行有3个字段:方法字段,URL字段和HTTP版本字段
Host: 指明对象所在的主机
Connection: 要求服务器在发送完被请求的对象后就关闭该连接。
User-agent: 指明用户代理,即向服务器发送请求的浏览器
Accept-language:用户想得到该对象的语言版本
38.HTTP响应报文:
响应报文有3个部分:状态行,首部行,实体体
第一行为状态行。
状态行有3个字段:版本号,状态码和状态信息
首部行:
Connection: 告诉客户,发送完报文后将关闭该连接
Date:产生并发送该报文的日期和时间
Server:指示产生该报文的服务器
Last-Modified:对象创建或者最后修改的日期和时间
Content-Length:指示了被发送对象的字节数
Content-Type:指示了实体体对象的类型
- 状态码:
200 OK
301 请求的对象已经被永久的转移了
400 请求不能被服务器理解
404 被请求的文档不在服务器上
505 服务器不支持请求报文使用的HTTP协议版本
40.Web缓存:
Web缓存器也叫代理服务器,它是能够代表初始Web服务器来满足HTTP请求的网络实体。Web缓存器有自己的磁盘存储空间,并在存储空间中保存最近请求过的对象的副本。可以配置用户的浏览器。可以配置用户的浏览器,使得用户的所有HTTP请求首先指向Web缓存器。一旦某浏览器被配置,每个对某对象的浏览器请求首先被定向到该Web浏览器。
浏览器正在请求对象:
- 浏览器建立一个到Web缓存器的TCP连接,并向Web缓存器中的对象发送一个HTTP请求。
- Web缓存器进行检查,看看本地是否存储了该对象的副本。如果有,Web缓存器就向客户浏览器用HTTP响应报文返回该对象。
- 如果Web缓存器中没有该对象,它就打开了一个与该对象的初始服务器的TCP连接。Web缓存器则在这个缓存器到服务器的TCP连接上发送一个对该对象的HTTP请求。在收到该请求之后,初始服务器向该Web缓存器发送具有该对象的HTTP响应。
- 当Web浏览器接收到该对象时,它在本地存储空间存储一份副本,并向客户的浏览器用HTTP响应报文发送该副本。
当它接收浏览器的请求并发回响应时,他是一个服务器。当它向初始服务器发出请求并接受相应时,他是一个客户。
Web缓存器可以大大减少对客户请求的响应时间。
(15个请求/s)×(1Mb/请求)÷(100Mbps)=0.15
(15个请求/s)×(1Mb/请求)÷(15Mbps)=1
41.文件传输协议:FTP
FTP使用了两个并行的TCP连接来传输文件,一个是控制链接,一个是数据连接。控制链接用于在两个职级之间传输控制信息,如用户标识、口令、改变远程目录的命令以及“存放”和“获取”文件的命令。数据连接用于实际发送一个文件。
控制连接贯穿了整个用户会话期间
数据连接是非持续性的
因特网电子邮件系统和它的关键组件。
它有3个主要组成部分:用户代理、邮件服务器和简单邮件传输协议。
邮箱发送过程:
邮箱发送过程是从发送方的用户代理开始,传输到发送方的邮件服务器,在传输到接收方的邮件服务器,然后在这里被分发到接收方的邮件中。
如果Alice的服务器不能将邮件交付被Bob的服务器,Alice的邮件服务器在一个报文队列中保持该报文并在以后尝试再次发送。通常每30分钟左右进行一次尝试;如果几天后仍不能成功,服务器就删除该报文并以电子邮件的形式通知发送方。
STMP是因特网电子邮件中主要的应用程序协议。它使用TCP可靠数据传输服务,从发送方的邮件服务器向接收方的邮件服务器发送邮件。
STMP:
与HTTP的对比:
HTTP从Web服务器向Web客户(通常是一个浏览器)传送文件;SMTP从一个邮件服务器向另一个邮件服务器传送文件。
区别:
HTTP主要是一个拉协议,用户使用HTTP从该服务器拉取这些信息。
STMP基本上是一个推协议,即发送邮件服务器把文件推向接收邮件服务器。
POP3:
打开了一个到邮件服务器(服务器)端口110上的TCP连接后,POP3就开始工作了。随着建立TCP连接,POP3按照三个阶段进行工作:特许、事务处理以及更新。在第一个阶段即特需阶段,用户代理发送(以明文形式)用户名和口令以鉴别用户。在第二个阶段即事务处理阶段,用户代理取回报文;在第三个阶段即更新阶段,它出现在客户发出quit命令之后,目的是结束该POP3会话;
DNS:因特网的目录服务
主机的一种标识方式是用它的主机名
主机也可以使用所谓的IP地址进行标识。
一个IP地址由4个字节组成,并且有着严格的层次结构。
识别主机有两种方式:
通过主机名或者IP地址。进行主机名到IP地址转换的目录服务。这就是域名系统(DNS)的主要任务。DNS是:①一个由分层的DNS服务器实现的分布式数据库;②一个使得主机能够查询分布式数据库的应用程序协议。
DNS协议云翔在UDP之上,使用53号端口。
DNS工作机理概述:
只使用一个DNS服务器
单点故障
通信容量
远距离的集中式数据库
维护
分布式、层次数据库:
根DNS服务器
顶级域服务器
权威DNS服务器。
本地DNS服务器。
递归查询和迭代查询:
递归查询,因为该查询请求dns.poly.edu以自己的名义获得该映射。而后继的3个查询是迭代查询。
BitTorrent:
参与一个特定文件分发的所有对等方的集合被称为一个洪流。在一个洪流中的对等方彼此下载等长度的文件块。
Alice周期性地(经TCP连接)询问每个临近对等方他们所具有的块列表。
第3 章 运输层
1.运输层为运行在不同主机上的应用进程提供了逻辑通信。
2.运输层协议是在端系统实现而不是路由器
3.在发送端,运输层将发送应用进程收到的报文转换成运输层分组,也叫报文段。实现的方法可能是将应用报文划分为较小的块,并为每块加上一个运输层首部以生成运输层报文段。在发送端系统,运输层将这些报文段传递给网络层,网络层将其封装成网络层数据报并向目的地发送。
在接收端,网络层从数据报中提取运输层报文段,并将该报文段上交于运输层。运输层将处理接收到的报文段,使该报文段中的数据为接收应用进程使用。
4.运输层和网络层之间的关系:
网络层提供了主机之间的逻辑通信。
运输层提供了不同主机之间进程的通信。
运输层协议只工作在端系统。运输层协议将来自应用进程的报文移动到网络边缘。
5.IP(网际协议):因特网网络层协议,不可靠服务
IP的服务模型是尽力而为服务,IP尽最大努力在通信的主机之间交付报文段,但他并不做任何确保,不确保报文段的交付,不保证报文段的按序交付,不保证报文段数据的完整性。
6.TCP和UDP最基本的责任:
将两个系统间IP的交付服务扩展为运行在端系统上的两个进程之间的交付服务。
通过在其报文段首部中包括差错检测字段而提供完整性检查。
7.运输层的多路复用和分解:将主机间交付扩展为进程间交互。
一个进程有一个或多个套接字。
多路分解:将运输层报文段中的数据交付到正确的套接字的工作。
多路复用:在源主机从不同的套接字中收集数据块,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层。
运输层多路复用的要求:
8.两种最低限度的运输层服务:进程到进程的数据交付和差错检测
UDP仅能提供的两种服务,UDP和IP一样,是不可靠服务
9.TCP为应用程序提供了几种附加服务:
可靠数据传输服务:使用流量控制、序号、确认和定时器确保正确地、按序地将数据从发送进程交付给接收进程。
拥塞控制:防止任何一条TCP连接用过多的流量来淹没通信主机之间的链路和交换设备。TCP力求为每个通过一条拥塞网络链路的连接平等地共享网络链路宽带。通过调节TCP发送端发送进网络的流量速率来做到。