计算机网络体系结构
计算机网络体系结构如下图所示:
数据链路层
1)链路是从一个结点到相邻结点的一段物理线路,数据链路则是在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现)。一般的适配器都包括了数据链路层和物理层这两层的功能。
2)数据链路层使用的信道主要是点对点信道和广播信道两种。
3)数据链路层传送的协议数据单元是帧,数据链路层的三个基本问题是:封装成帧、透明传输、差错检测。
4)循环冗余检验CRC是一种检错方法,而帧检验序列FCS是添加在数据后面的冗余码。
5)点对点协议PPP是数据链路层使用最多的一种协议,就是用户计算机和ISP进行通信时所使用的数据链路层协议,其特点是:简单;只检测差错而不纠正;不使用序号也不进行流量控制;可同时支持多种网络层协议。
6)PPP协议有三个组成部分:1一个将IP数据报封装到串行链路的方法;2一个用来建立、配置、测试数据链路连接的链路控制协议LCP;3一套网络控制协议NCP。
7)PPPoE是为宽带上网的主机使用的链路层协议。
8)PPP协议用在SONET/SDH链路时,使用同步传输(一连串的比特连续传送)而不是异步传输(逐个字符第传送),在这种情况下,PPP协议采用零比特填充方法来实现透明传输。
9)PPP协议的工作状态如图所示:
鉴别协议:口令鉴别协议PAP,口令握手鉴别协议CHAP
NCP协议:支持IP的协议IP控制协议IPCP
10)共享通信媒体资源的方法:1静态划分信道(各种复用技术),2动态媒体接入,又称为多点接入(随机接入或受控接入)。
11)以太网采用的协调协议:CSMA/CD,载波监听多点接入/碰撞检测
- 多点接入——总线型网络
- 载波监听——检测信道
- 碰撞检测——边发送边监听
12)计算机与外界局域网的通信要通过通信适配器(或网络适配器),又称网络接口卡或网卡。计算机的硬件地址就在适配器的ROM中。硬件地址又称物理地址或MAC地址,IEEE 802标准为局域网规定了一种48位的全球地址,是指局域网上的每一台计算机中固化在适配器的ROM中的地址。MAC地址实际上就是适配器地址或适配器标识符。
13)以太网采用无连接的工作方式,对发送的数据帧不进行编号,也不要求对方发回确认。目的站收到有差错帧就把它丢弃,其他什么也不错。
14)使用集线器可以在物理层扩展以太网(扩展后的以太网仍然是一个网络)。
15)交换式集线器常称为以太网交换机或第二层交换机,在数据链路层扩展以太网。它是一个多接口的网桥,每个接口都直接与某台单主机或另外一个集线器相连,且工作在全双工方式。以太网交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,无碰撞地传输数据。
网络层
1)TCP/IP体系中的网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络层不提供服务质量的承诺,不保证分组交付的时限,所传送的分组可能出错、丢失、重复和失序。进程之间通信的可靠性由运输层负责。
2)网际协议IP是TCP/IP体系中两个最主要的协议之一,也是最重要的互联网标准协议之一。网际协议IP又称Kahn-Cerf协议。这里的IP其实是IPv4。与IP协议配套使用的还有三个协议:
- 地址解析协议ARP(Address Resolution Protocol)
- 网际控制报文协议ICMP(Internet Control Message Protocol)
- 网际组管理协议IGMP(Internet Group Management Protocol)
- 逆地址解析协议RARP(与ARP协议配合使用,现已被淘汰)
3)由于网际协议IP是用来使互连起来的许多计算机网络能够进行通信的,因此TCP/IP体系中的网络层常常被称为网际层,或IP层。
4)将网络互相连接起来需要使用一些中间设备:
- 物理层使用的中间设备叫做转发器
- 数据链路层使用的中间设备叫做网桥或桥接器
- 网络层使用的中间设备叫做路由器
- 网络层以上使用的中间设备叫做网关,用网关连接两个不兼容的系统需要在高层进行协议的转换。
5)IP网是虚拟的,因为从网络层上来看,IP网就是一个统一的、抽象的网络(实际上是异构的)。IP层抽象的互联网屏蔽了下层网络很复杂的细节,使我们能够使用同一的、抽象的IP地址处理主机之间的通信问题。
6)互联网可以由多种异构网络互连组成。
7)IP地址就是给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位的标识符。IP地址现在由互联网名字和数字分配机构ICANN进行分配。
8)分类的IP地址由两个固定长度的字段组成,第一个字段是网络号,第二个字段是主机号。IP地址在整个互联网范围内是唯一的。
9)A类、B类和C类地址的网络号字段分别为1个、2个和3个字节长,主机号字段分别为3个、2个和1个字节长。
10)IP地址是一种分等级的地址结构。IP地址管理机构在分配地址时只分配网络号,而主机号则由得到该网络号的单位自行分配。路由器仅根据目的主机所连接的网络号来转发分组。
11)物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(IP地址是用软件实现的)。在数据链路层看不见数据报的IP地址。
12)在IP层抽象的互联网上只能看到IP数据报;路由器只根据目的站的IP地址的网络号进行路由选择;在局域网的链路层,只能看见MAC帧,IP数据报被封装在MAC帧中;只要我们在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信。
13)ARP把IP地址解析为硬件地址,它解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。每一台主机都设有一个ARP高速缓存,可以大大减少网络上的通信量。
14)IP首部中的生存时间字段给出了IP数据报在互联网中所能经过的最大路由器数,可防止IP数据报在互联网中无限制地兜圈子。
15)协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个协议进行处理。常用的一些协议:ICMP、IGMP、IP、TCP、EGP、IGP、UDP、IPv6、ESP、OSPF。
16)划分子网的方法是从网络的主机号借用若干位作为子网号,主机号相应减少相同的位数。两级IP地址在本单位内部就编程三级IP地址:网络号、子网号、主机号。
17)使用子网掩码的好处:无论网络有没有划分子网,只要把子网掩码和IP地址进行诸位的“与”运算,就立即得出网络地址来。这样在路由器处理到来的分组时就可以采用同样的算法。
18)使用子网划分后,路由表必须包含以下三项内容:目的网络地址、子网掩码、下一跳地址。
19)无分类域间路由选择CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,能更加有效地分配IPv4的地址空间。CIDR把32位的IP地址划分为前后两个部分。前面部分是“网络前缀”,用来知名网络,后面部分用来指明主机。CIDR还使用“斜线记法”,或称CIDR记法,即在IP地址后面加上斜线“/”,然后写上网络前缀所占的位数。CIDR把前缀都相同的连续的IP地址组成一个“CIDR地址块”,IP地址的分配都以CIDR地址块为单位。
20)CIDR使用32位的地址掩码(子网掩码),由一串1和一串0组成,而1的个数就是前缀的长度。只要把IP地址和地址掩码逐位进行逻辑与运算,就很容易得出网络地址。
21)路由聚合(把许多前缀相同的地址用一个来代替,又称构成超网)有利于减少路由表中的项目,减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能。
22)网络前缀越短,其地址块所包含的地址数就越多。查找路由表时,应当从匹配结果中选择具有最长网络前缀的路由。最长前缀匹配又称为最长匹配或最佳匹配。
23)为了进行更加有效的查找,通常把无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。最常用的是二叉线索。
24)“转发”是单个路由器的动作,“路由选择”是许多路由器共同协作的过程,这些路由器相互交换信息,目的是生成路由表,再从路由表导出转发表。
25)网际控制报文协议ICMP是IP层的协议。ICMP报文作为IP数据报的数据,加上首部后组成IP数据报发送出去。使用ICMP并非为了实现可靠传输。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP报文有两种:ICMP差错报告报文、ICMP询问报文。
26)ICMP差错报告报文有:终点不可达、时间超过、参数问题、改变路由(重定向);ICMP询问报文常用的有:回送请求和回答、时间戳请求和回答。
27)ICMP一个重要应用就是分组网间探测PING,用来测试两台主机之间的连通性。PING使用了ICMP回送请求与回送回答报文。PING是应用层直接使用网络层ICMP的一个例子,它没有通过运输层的TCP或UDP。
28)自治系统(AS)就是在单一的技术管理下的一组路由器。一个自治系统对其他自治系统表现出的是一个单一的和一致的路由选择策略。自治系统之间的路由选择也叫做域间路由选择,自治系统内部的路由选择叫做域内路由选择。
29)在目前的互联网中,一个大的ISP就是一个自治系统。因此,互联网把路由选择协议分为两大类:内部网关协议IGP(或自治系统内部的路由选择协议,目前这类路由选择协议用得最多),如RIP和OSPF;外部网关协议EGP(或自治系统之间的路由选择协议),如BGP-4(BGP是用来取代EGP的)。
30)RIP是分布式的基于距离向量的路由选择协议,只适用于小型互联网。RIP按固定的时间间隔与相邻路由器交换信息。交换的信息是自己当前的路由表,即到达本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器。RIP好消息传播得快,坏消息传播得慢。实现简单,开销较小。
31)开放最短路径优先OSPF使用分布式的链路状态协议,适用于大型互联网。OSPF只在链路状态发生变化时,才向本自治系统中的所有路由器,用洪泛法发送与本路由器相邻的所有路由器的链路状态信息。“链路状态”指明本路由器都和哪些路由器相邻,以及该链路的“度量”。“度量”可表示费用、距离、时延、带宽等,可统称为“代价”。所有的路由器最终都能建立一个全网的拓扑结构图(链路状态数据库)。OSPF的更新过程收敛得快是其重要优点。OSPF不用UDP而是直接用IP数据报传送,其构成的数据报很短。
32)边界网关协议BGP-4是不同AS的路由器之间交换路由信息的协议,是一种路径向量路由选择协议。BGP力求寻求一条能够到达目的网络(可达)且比较好的路由(不兜圈子),而并非要寻找一条最佳路由。
33)路由器的转发分组是网络层的主要工作。整个路由器结构可划分为两大部分:路由选择部分和分组转发部分。
34)IPv6所带来的主要变化是:1更大的地址空间(采用128位的地址);2扩展的地址层次结构;3灵活的首部格式;4改进的选项;5允许协议继续扩充;6支持即插即用(因此IPv6不需要DHCP);7支持资源的预分配;8 IPv6首部改为8字节对齐。
35)IPv6数据报在基本首部的后面允许有零个或多个扩展首部,再后面是数据。所有的扩展首部和数据合起来叫做数据报的有效载荷或净负荷。
36)IPv6数据报的目的地址可以是:单播、多播和任播。
37)IPv6的地址使用冒号十六进制记法。冒号十六进制记法允许零压缩,可结合使用点分十进制记法的后缀。
38)向IPv6过渡只能采用逐步演进的办法,必须使新安装的IPv6系统能够向后兼容。向IPv6过渡可以使用双协议栈或隧道技术。
39)IPv6也不保证数据报的可靠交付,因此IPv6也需要使用ICMP来反馈一些差错信息。ICMPv6中合并了地址解析协议ARP和网际组管理协议IGMP的功能。
40)与单播相比,在一对多的通信中,IP多播可大大节约网络资源。IP多播使用D类IP地址(地址范围是224.0.0.0到239.255.255.255)作为多播组的标识符。IP多播需要使用网际组管理协议IGMP和多播路由选择协议。
41)IGMP协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组。连接在局域网上的多播路由器还必须和互联网上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员,这就需要使用多播路由选择协议(建议使用的多播路由选择协议:DVMRP,CBT,MOSPF,PIM-SM,PIM-DM)。
42)虚拟专用网v*n利用公用的互联网作为本机构各专用网之间的通信载体。v*n内部使用互联网的专用地址。一个v*n至少要有一个路由器具有合法的全球IP地址,这样才能和本系统的另一个v*n通过互联网进行通信。所有通过互联网传送的数据都必须加密。
43)使用网络地址转换NAT技术,可以在专用网络内部使用专用IP地址,而仅在连接到互联网的路由器使用全球IP地址,这样就大大节约了宝贵的IP地址。为了更加有效地利用NAT路由器上的全球IP地址,现在常用的NAT转换表把运输层的端口号也利用上。使用端口号的NAT也叫做网络地址与端口号转换NAPT,而不使用端口号的NAT就叫做传统的NAT。
44)多协议标记交换MPLS利用面向连接技术,使每个分组携带一个叫作标记的小整数。当分组到达交换机时,交换机读取分组的标记,并用标记值来检索分组转发表。这样就比查找路由表来转发分组要快得多。MPLS的特点是:1支持面向连接的服务质量;2支持流量工程,平衡网络负载;3有效地支持虚拟专用网v*n。
45)MPLS在入口结点给每一个IP数据报打上固定长度的“标记”,然后根据标记在第二层(链路层)用硬件进行转发(在标记交换路由器中进行标记对换),因而转发速率大大加快。
运输层
1)运输层提供应用进程间的逻辑通信,也就是说,运输层之间的通信并不是真正在两个运输层之间直接传送数据。运输层向高层用户屏蔽了下面网络的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。
2)网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。
3)运输层有两个主要的协议:传输控制协议TCP和用户数据报协议UDP。它们都有复用和分用,以及检错的功能。当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工通信的可靠信道。当运输层采用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠信道。
4)一些应用和应用层协议主要使用的运输层协议如下图所示:
5)应用层所有的应用进程都可以通过运输层再传送到IP层(网络层),这就是复用;运输层从IP层收到发送给各个应用进程的数据后,必须分别交付指明的各应用进程,这就是分用。
6)TCP/IP的运输层用一个16位端口号来标志一个端口。端口号只具有本地意义,它只是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。在互联网的不同计算机中,相同的端口号是没有关联的。
7)两台计算机中的进程要互相通信,不仅要知道对方的IP地址(为了找到对方的计算机),还要知道对方的端口号(为了找到对方计算机中的应用进程)。
8)运输层的端口号分为服务器端使用的端口号(0~1023指派给熟知端口,1024~49151是登记端口号)和客户端暂时使用的端口号(49151~65535)。常用端口号有:FTP控制 20,FTP数据 21,SSH 22,TELNET 23,SMTP 25,TFTP 69, HTTP 80,SNMP 161,SNMAP(trap) 162,HTTPS 443。
9)UDP的主要特点是:无连接;尽最大努力交付;面向报文;没有拥塞控制;支持一对一、一对多、多对一、多对多的交互通信;首部开销小。
10)TCP的主要特点是:面向连接;每一条TCP连接只能是点对点的;提供可靠交付的服务;提供全双工通信;面向字节流。
11)TCP连接的端点叫做套接字(socket)或插口。端口号拼接到IP地址即构成了套接字,因此套接字的表示方法是在点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开。socket = (IP地址:端口号)。每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定。
12)可靠传输协议
-
停止等待协议:每发送完一个分组就停止发送,等待对方确认。在收到确认后再发送下一个分组。分组需要进行编号。
- 超时重传是指只要超过了一段时间仍然没有收到确认,就重传前面发送过的分组(认为刚才发送的分组丢失了)。因此每发送完一个分组需要设置一个超时计时器,其重传时间应比数据在分组传输的平均往返时间更长一些。这种自动重传方式常称为自动重传请求ARQ。
- 若接收方收到重复分组,就丢弃该分组,但同时还要发送确认。
- 连续ARQ协议可提高信道利用率。发送方维持一个发送窗口,凡位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。接收方一般采用累积确认,对按序到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已正确收到了。
13)TCP报文段首部的前20个字节是固定的,后面有4N字节是根据需要而增加的选项(N是整数)。在一个TCP连接中传送的字节流中的每一个字节都按顺序编号。首部中的序号字段值则指的是本报文段所发送的数据的第一个字节的序号。
14)TCP首部中的确认号是期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N,则表明到序号N-1为止的所有数据都已正确收到。
15)TCP首部中的窗口字段指出了现在允许对方发送的数据量。窗口值是经常在动态变化着的。
16)TCP使用滑动窗口机制。发送窗口里面的序号表示允许发送的序号。发送窗口后沿的后面部分表示已发送且已收到了确认,而发送窗口前沿的前面部分表示不允许发送。发送窗口后沿的变化情况有两种可能:不动(没有收到新的确认)和前移(收到了新的确认)。发送窗口前沿通常是不断向前移动的。
17)流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。流量控制是一个端到端的问题,是接收端抑制发送端发送数据的速率,以便使接收端来得及接受。
18)在某段时间,若网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。这种情况就叫做拥塞。拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。
19)在基于窗口的拥塞控制中, TCP的发送方要维持一个拥塞窗口cwnd的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口取为拥塞窗口和接收方的接收窗口中较小的一个。
20)TCP的拥塞控制采用了四种算法:慢开始、拥塞避免、快重传、快恢复。在网络层,也可以使路由器采用适当的分组丢弃策略(如主动队列管理AQM),以减少网络拥塞的发生。
21)运输连接有三个阶段:连接建立、数据传送、连接释放。
22)主动发起TCP连接建立的应用进程叫客户,而被动等待连接建立的应用进程叫服务器。TCP的连接建立采用三报文握手机制。服务器要确认客户的连接请求,然后客户要对服务器的确认进行确认。
23)TCP的连接释放采用四报文握手机制。任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后就进入半关闭状态。当另一方也没有数据再发送时,则发送连接释放通知,对方确认后就完全关闭了TCP连接。
应用层
1)应用层协议是为了解决某一类应用问题,而问题的解决又必须通过位于不同主机的多个应用进程之间的通信和协同工作来完成。应用层规定了应用进程在通信时所遵循的协议。应用层的许多协议都是基于客户服务器方式的。客户和服务器都是指通信中所涉及的两个应用进程。客户是服务请求方,服务器是服务提供方。
2)域名系统DNS是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。DNS是一个联机分布式数据库系统,并采用客户服务器方式。DNS使大多数名字都在本地进行解析,仅少量解析需要在互联网上通信,因此DNS系统的效率很高。
3)域名到IP地址的解析是由分布在互联网上的许多域名服务器程序(即域名服务器)共同完成的。
4)当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器(使用UDP是为了减少开销)。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用进程获得目的主机的IP地址后即可进行通信。
5)互联网采用层次树状结构的命名方法,任何一台连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。域名中的点跟点分十进制IP地址中的点没有关系。级别最低的域名写在最左边,级别最高的*域名则写在最右边。由多个符号组成的完整域名总共不超过255个字符。各级域名由其上一级的域名管理机构管理,而最高的*域名则由ICANN进行管理。
6)域名只是个逻辑概念,并不代表计算机所在的物理地点。原先的*域名分为:国家*域名、通用*域名、基础结构域名。
7)域名服务器分为根域名服务器(最高层次的域名服务器,也是最重要的域名服务器,采用任播技术)、*域名服务器(TLD服务器,负责管理在该*域名服务器注册的所有二级域名)、权限域名服务器(一个服务器所负责管辖的范围叫做区,每个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射)、本地域名服务器(也称默认域名服务器,当一台主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器)。
8)主机向本地域名服务器的查询一般采用递归查询;本地域名服务器向根域名服务器的查询通常是采用迭代查询。为了提高DNS查询效率,并减轻根域名服务器的负荷和减少互联网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
9)文件传送协议FTP使用TCP可靠的运输服务。FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:控制连接和数据连接。实际用于传输文件的是数据连接。FTP有两个端口,21是控制端口,20是数据端口。
10)网络文件系统NFS允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。
11)简单文件传送协议TFTP也使用客户服务器方式,但它使用UDP数据报,可用于UDP环境,并且代码所占内存较小。TFTP只支持文件传输而不支持交互。FTP、TFTP、NFS都属于文件共享协议的一类。
12)用户用远程终端协议TELNET可以在其所在地通过TCP连接注册(即登陆)到远地的另一台主机上(使用主机名或IP地址),这种服务是透明的,因此TELNET又称终端仿真协议。TELNET也使用客户服务器方式。TELNET定义了数据和命令应怎样通过互联网,这些定义就是所谓的网络虚拟终端NVT。
13)万维网WWW是一个大规模的、联机式的信息储藏所,可以非常方便地从互联网上的一个站点链接到另一个站点。万维网是一个分布式的超媒体系统,它是超文本系统的扩充。超文本是指包含指向其他文档的链接的文本。
14)万维网以客户服务器方式工作。客户程序向互联网中的服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在客户程序主窗口上显示出的万维网文档称为页面。
15)万维网使用统一资源定位符URL来标志万维网上的各种文档,并使每一个文档在整个互联网的范围内具有唯一的标识符URL。URL的一般形式为:<协议>://<主机>:<端口>/<路径>。现在最常用的协议就是http,其次是ftp。
16)万维网客户程序与服务器程序之间进行交互所使用的协议是超文本传送协议HTTP。HTTP是面向事务的应用层协议,它是万维网上能够可靠地交换文件的重要基础,它使用面向连接的TCP作为运输层协议,保证了数据的可靠传输。但HTTP协议本身是无连接、无状态的。HTTP/1.1协议使用了连续连接(分为非流水线方式和流水线方式)。
17)代理服务器是一种网络实体,它又称为万维网高速缓存。代理服务器把最近的一些请求和响应暂存在本地磁盘中。
18)HTTP有两类报文:请求报文、响应报文。两类报文都由三部分组成:开始行(请求报文中的开始行叫做请求行,响应报文中的开始行叫做状态行)、首部行(用来说明浏览器、服务器或报文主体的一些信息)、实体主体(请求报文一般不用此字段,响应报文中也可能没有)。
19)万维网站点可以使用Cookie来跟踪用户。Cookie表示在HTTP服务器和客户之间传递的状态信息。
20)万维网使用超文本标记语言HTML来显示各种万维网页面。HTML并不是应用层的协议。
21)可扩展标记语言XML的设计宗旨是传输数据,而不是显示数据,它将用户界面与结构化数据分隔开来,是对HTML的补充。可扩展超文本标记语言XHTML是作为一种XML应用被重新定义的HTML,将逐渐取代HTML。CSS是层叠样式表,是一种样式表语言,用于为HTML文档定义布局,HTML用于结构化内容,而CSS用于格式化结构化的内容。
22)万维网静态文档是指在文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建的。
23)通用网关接口CGI是一种标准,它定义了动态文档应如何创建,输入数据应如何提供给应用程序,以及输出结果应如何使用。
24)活动文档技术可以使浏览器屏幕连续更新。活动文档程序可与用户直接交互,并可连续地改变屏幕的显示。
25)万维网中用来进行搜索的工具叫做搜索引擎,大体可划分为全文检索搜索引擎和分类目录搜索引擎。
26)一个电子邮件系统有三个主要组成构件:用户代理、邮件服务器、邮件协议(包括邮件发送协议,如简单邮件传送协议SMTP和通用互联网邮件扩充MIME,以及邮件读取协议,如邮局协议POP3和网际报文存取协议IMAP)。用户代理和邮件服务器都要运行这些协议。
27)电子邮件的用户代理就是用户与电子邮件系统的接口,它向用户提供一个很友好的视窗界面来发送和接收邮件。因此用户代理又称电子邮件客户端软件。
28)从用户代理把邮件传送到邮件服务器,以及在邮件服务器之间的传送,都要使用SMTP协议。SMTP端口号是25。但用户代理从邮件服务器读取邮件时,则要使用POP3(或IMAP)协议。这里有两种不同的通信方式,一种是“推”:SMTP客户把邮件“推”给SMTP服务器;另一种是“拉”,POP3客户把邮件从POP3服务器“拉”过来。
29)基于万维网的电子邮件使用户能够利用浏览器收发电子邮件。用户浏览器和邮件服务器之间的邮件传送使用HTTP协议,而在邮件服务器之间邮件的传送仍然使用SMTP协议。
30)动态主机配置协议DHCP提供了一种机制,称为即插即用连网,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。DHCP对运行客户软件和服务器软件的计算机都使用。DCHP使用客户服务器方式,需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文,DHCP服务器的回答报文叫做提供报文,表示“提供”了IP地址等配置信息。DHCP服务器分配给DHCP客户的IP地址是临时的,只能在一段有限的时间内使用这个分配到的IP地址,这个时间称为租用期。
31)简单网络管理协议SNMP由三部分组成:1 SNMP本身,负责读取和改变个代理中的对象名及其状态数值;2管理信息结构SMI,定义命名对象和定义对象类型(包括范围和长度)的通用规则,以及把对象和对象的值进行编码的基本编码规则BER;3管理信息库MIB,在被管理的实体中创建了命名对象,并规定了其类型。
32)系统调用接口是应用进程的控制权和操作系统的控制权进行转换的一个接口,又称为应用编程接口API。API就是应用程序和操作系统之间的接口。
33)套接字是应用进程和运输层协议之间的接口,是应用进程为了获得网络通信服务而与操作系统进行交互时使用的一种机制。
34)目前P2P工作方式下的文件共享在互联网流量中已占据最大的份额,比万维网应用所占的比例大得多。
35)BT是很流行的一种P2P应用。BT采用“最稀有的优先”的技术,可以尽早把最稀有的文件块收集到。此外,凡有当前以最高数据率向某个对等方传送文件块的相邻对等方,该对等方就优先把所请求的文件块传送给这些相邻对等方。这样做的结果是,这些对等方相互之间都能够已令人满意的速率交换文件快。
36)当对等方的数量很大时,采用P2P方式下载大文件,要比传统的客户服务器方式快得多。
37)在P2P应用中,广泛使用的索引和查找技术是分布式散列表DHT。
38)各应用协议在层次中的位置如下图所示:
网络安全
1)计算机网络的通信面临两大类威胁,即被动攻击和主动攻击。被动攻击是指攻击者从网络上窃听他人的通信内容,通常把这类攻击称为截获。主动攻击的类型有篡改(更改报文流)、恶意程序(计算机病毒、蠕虫、木马、逻辑炸弹、后门入侵、流氓软件)、拒绝服务DoS。
2)计算机网络安全主要有以下一些内容:保密性、安全协议的设计、访问控制。
3)密码编码学是密码*的设计学,而密码分析学则是在未知**的情况下从密文推演出明文或**的技术。密码编码学与密码分析学合起来即密码学。
4)如果不论截取者获得了多少密文,都无法唯一地确定出对应的明文,则这一密码*称为无条件安全的(或是理论上不可破的)。在无任何限制的条件下,目前几乎所有实用的密码*均是可破的。如果一个密码*中的密码不能在一定时间内被可以使用的计算资源破译,则这一密码*称为在计算上是安全的。
5)对称**密码*是加***与解***相同的密码*(如数据加密标准DES、三重DES、高级加密标准AES)。这种加密的保密性仅取决于对**的保密,而算法是公开的。
6)公钥密码*(又称公开**密码*)使用不同的加***与解***。加***PK(即公钥)是向公众开放的,而解***SK(即私钥或秘钥)则是需要保密的。加密算法和解密算法也都是公开的。
7)使用对称**时,通信信道上可以进行一对一的双向保密通信;使用公开**时,在通信信道上可以是多对一的单向保密通信。
8)目前最著名的公钥密码*是RSA*,它是基于数论中的大数分解问题的*。
9)任何加密方法的安全性取决于秘钥的长度,以及攻破密文所需的计算量,而不是简单地取决于加密的*(公钥密码*或传统加密*)。
10)数字签名必须能够实现三点功能:1报文鉴别,即接收者能够核实发送者对报文的签名;2报文的完整性,即接收者确信所收到的数据和发送者发送的完全一样而没有被篡改过;3不可否认,即发送者时候不能抵赖对报文的签名。
11)鉴别是要验证通信的对方的确是自己所要通信的对象,而不是其他的冒充者,并且所传送的报文是完整的,没有被他人篡改过。鉴别与授权是不同的概念。授权涉及的问题是所进行的过程是否被允许(如是否可以对某文件进行读或写)。鉴别可分为报文鉴别和实体鉴别(端点鉴别)。
12)密码散列函数是一种相对简单的报文鉴别方法,其中最出名的是MD5和SHA-1。MD是报文摘要的意思。MD5最终被安全散列算法SHA的标准所取代。
13)使用报文鉴别码MAC能够很方便地保护报文的完整性。目前使用最广泛的是HMAC,它可以和MD5或SHA-1一起使用。
14)为了对付重放攻击,可以使用不重数。不重数就是一个不重复使用的大随机数,即“一次一数”。在使用公钥密码*时,可以对不重数进行签名鉴别。
15)**管理包括:**的产生、分配、注入、验证和使用。**分配(或**分发)是**管理中最大的问题。**必须通过最安全的通路进行分配。
16)对于对称**的分配,目前常用的**分配方式是设立**分配中心KDC。目前最出名的**分配协议是Kerberos V5,它既是鉴别协议,又是KDC,使用AES进行加密。Kerberos使用两个服务器:鉴别服务器AS和票据授予服务器TGS。
17)对公钥密码*,认证中心CA是一个值得信赖的机构,用来将公钥与其对应的实体(人或及其)进行绑定。每个实体都有CA发来的证书,里面有公钥及其拥有者的标识信息(人名或IP地址)。此证书被CA进行了数字签名。任何用户都可从可信的地方获得认证中心CA的公钥。
18)在网络层可使用IPsec协议族,IPsec包括鉴别首部协议AH和封装安全有效载荷ESP。AH协议提供源点鉴别和数据完整性,但不能保密。而ESP协议提供源点鉴别、数据完整性和保密。IPsec支持IPv4和IPv6。在IPv6中,AH和ESP都是扩展首部的一部分。使用ESP或AH协议的IP数据报称为IP安全数据报(或IPsec数据报)。IPsec数据报的工作方式有运输方式和隧道方式。
19)运输层的安全协议有SSL(安全套接字层)和TLS(运输层安全)。SSL作用在端系统应用层的HTTP和运输层之间,最新的版本是SSL 3.0,它是保护万维网HTTP通信量所公认的事实上的标准。SSL不仅被所有常用的浏览器和万维网服务器所支持,而且也是TLS的基础。TLS为所有基于TCP的网络应用提供安全数据传输服务。
20)应用程序HTTP调用SSL对整个页面进行加密时,网页上会提示用户,同时网址栏原来显示http的地方变成https,表明现在使用的是提供安全服务的HTTP协议。这是在发送方,SSL从SSL套接字接收应用层的数据(如HTTP或IMAP报文),对数据进行加密,然后把加密的数据送往TCP套接字;在接收方,SSL从TCP套接字读取数据,解密后,通过SSL套接字把数据交给应用层。
21)PGP是应用层为电子邮件提供安全服务的协议。它是一个完整的电子邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。PGP并没有使用什么新的概念,只是把现有的一些加密算法(如RSA公钥加密算法或MD5报文摘要算法)综合在一起而已。
22)防火墙是一种特殊编程的路由器,安装在一个网点和网络的其余部分之间,目的是实施访问控制策略。防火墙里面的网络称为“可信的网络”,外面的网络称为“不可信的网络”。防火墙的功能有两个:阻止(主要的)、允许。
23)防火墙技术一般分为两类:分组过滤路由器、应用网关(也称代理服务器)。
24)防火墙技术分为:网络级防火墙,用来防止整个网络出现外来非法的入侵(属于这类的有分组过滤和授权服务器);应用级防火墙,用来进行访问控制(用应用网关或代理服务器来区分各种应用)。
25)入侵检测系统IDS是在入侵已经开始,但还没有造成危害或在造成更大危害前及时检测到入侵,以便尽快阻止入侵,把危害降低到最小。入侵检测方法一般分为基于特征的入侵检测和基异常的入侵检测