计算机网络万余字超详细总结

这份知识点整理是根据计算机网络谢希仁第七版加上老师的PPT几乎纯手打整理出来的,如果有不正确的地方烦请大家指正。

就是这本教材

但是因为最近有点忙,所以从开头到网络层CIDR部分还没有详细整理,,重点之类的格式也没有排好,所以只放了从网际控制报文协议ICMP开始的之后部分,大家可以先收藏着,我尽量在两周内补完(包括没整理的报文格式之类),祝大家期末顺利呀!

为了方便大家对照书本,一些知识点的部分我有标课本的页码,注意是第七版的噢~

下面是具体知识点

网络层

·网际控制报文协议ICMP(Internet Control Message Protocol)p147:允许主机或路由器报告差错情况和提供有关异常情况的报告。

报文格式p147

差错报告报文:终点不可达,时间超过,参数问题,改变路由(重定向)

询问报文:回送请求和回答,时间戳请求和回答

应用:分组网间探测ping

·路由选择协议p151:尽可能接近理想算法

静态路由选择策略(非自适应),动态路由选择策略(自适应)

互联网采用动态,分布式路由选择协议,分层次的路由选择协议,原因:规模大,许多单位不愿意外界了解内部细节但希望连接到互联网

将互联网划分为许多较小的自治系统AS(在单一技术管理下的一组路由器,这些路由器使用一种自治系统内部的路由选择协议和共同的度量)。一个AS对其他AS表现出的是一个单一一致的路由选择策略。

内部网关协议JGP(如RIP,OSPF),外部网关协议EGP(如BGP-4)

域间路由选择,域内路由选择

·内部网关协议RIP(Routing Information Protocol)路由信息协议p153:分布式的基于距离向量的路由选择协议。要求网络中每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。允许一条路径最多包含15个路由器,距离为16即不可达,适用于小型网络。RIP选择最短路由,两个网络之间只使用一条路由。

特点:仅和相邻路由器交换信息;交换的信息是当前本路由器所知道的全部信息,即其路由表;按固定的时间间隔交换路由信息

路由器刚开始工作的时候路由表是空的

距离向量算法p155

报文格式p157

优点:实现简单,开销较小

缺点:限制了网络规模;随着网络规模增大,开销也增加;坏消息传得慢,使更新过程的收敛时间过长

·内部网关协议OSPF(Open Shortest Path First)开放路径最短优先p159:(它的名字不代表别的路由选择协议不是“最短路径优先”)使用分布式的链路状态协议

三要点:向本自治系统中所有路由器发送信息,使用洪泛法;信息为与本路由器相邻的所有路由器的链路状态(而非全部信息),即与哪些路由器相邻,以及该链路的“度量”;只有当链路状态发生变化,路由器才向所有路由器用洪泛法发送信息

所有路由器都能建立一个链路状态数据库,即全网的拓扑结构图,在全网范围内一致

优点:更新过程收敛快

OSPF将自治系统再划分为若干个更小的范围——区域,每个区域有一个32位的区域标识符(点分十进制)。利用洪泛法将交换信息的范围局限在每个区域,一个区域内的路由器只知道本区域的完整网络拓扑。上层区域为主干区域0.0.0.0(里面为主干路由器),用来连通其他在下层的区域,区域边界路由器负责其他区域来的信息,主干区域内还有一个自治系统边界路由器负责和其他自治系统交换路由信息。

直接使用IP数据报传送,报文格式p160

其余特点:对不同类型的业务可以计算出不同路由;如果到同一个目的网络有多条相同代价的路径,可以将通信量分配给几条路径(多路径间的负载平衡);所有在OSPF间交换的分组都具有鉴别功能;支持可变长度的子网划分和无分类的编址CIDR;每一个链路状态都带有32位的序号,序号越大状态越新。

五种分组类型:问候分组;数据库描述分组;链路状态请求分组;链路状态更新分组;链路状态确认分组。

相邻路由器每隔十秒交换一次问候分组以确认邻站可达,每隔一段时间刷新一次数据库中的链路状态以确保链路状态数据库与全网状态保持一致。

多点接入的局域网采用指定路由器方式。

·外部网关协议BGP(Border Gateway Protocol)边界网关协议p163:BGP与内部网关协议使用的环境不同,原因:互联网规模太大,使得AS之间路由选择困难;AS之间的路由选择必须考虑有关策略。所以BGP只是寻找一条可达且比较好的路由,采用路径向量路由选择协议。每个AS有至少一个路由器为该AS的BGP发言人,发言人之间通过TCP连接交换BGP报文以建立BGP会话,利用BGP会话交换路由信息,彼此成为对方邻站或对等站。

特点:BGP协议交换路由信息的结点数量级是AS数的量级;每个AS中BGP发言人数目较少,使得AS之间的路由选择不过分复杂;支持CIDR;BGP刚运行时交换邻站的整个路由表,以后只需要发生变化后更新变化部分。

报文种类:打开(OPEN)报文,更新(UPDATE)报文,保活(KEEPALIVE)报文,通知(NOTIFICATION)报文。

报文格式p166

·路由器p167:路由器是一种具有多个输入端口和输出端口的专用计算机,任务是转发分组(网络层的主要工作)。

转发:路由器根据转发表将用户的IP数据报从合适的端口转发出去。路由选择:按照分布式算法,根据从各相邻路由器得到关于网络拓扑的变化情况,动态地改变所选择的路由。路由表是根据路由选择算法得出的,而转发表是从路由表得出的。

路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因

交换结构p169

·IP多播p178:特点:多播使用组地址,IP使用D类地址支持多播,多播地址只能用于目的地址而不能源地址;永久组地址;动态的组成员;使用硬件进行多播。比单播复杂:必须动态适应多播组成员的变化;在转发时还需要考虑数据报的从什么地方来和到什么地方去而非只是目的地址;多播数据报可以由没有加入多播组的主机发出,也可以通过没有组成员接入的网络。

·网际组管理协议IGMP(Internet Group Management Protocol)p181:为了使路由器知道多播组成员的信息,让连接在本地局域网上的多播路由器知道本局域网上是否有主机上的某个进程参加或退出了某个多播组。

第一阶段:当某个主机加入新的多播组,其向多播组的多播地址发送IGMP报文声明自己要成为组员。本地的多播路由器收到后,将组成员关系转发给其他多播路由器。第二阶段:本地多播路由器要周期性地探询本地局域网的主机以便知道这些主机是否还是组成员。只要组内有一台主机响应,则认为该组活跃。若经过几次探询仍无回应,则不再将该组成员关系转发给其他多播路由器。

一些具体措施:主机和多播路由器之间的所有通信都是使用IP多播;探询组成员关系只需要对所有组发送一个请求信息的询问报文;有多个多播路由器时会选择其中一个探询主机成员关系;询问报文中数值N指明最长响应时间;同组内每台主机都要监听响应,若本组内其他主机先回应才可不回应。

·多播路由选择协议p182:为了和互联网上其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有组成员。实际就是找出以源地址为根结点的多播转发树,在树上的路由器不会收到重复的多播数据报。同个多播组,不同的源点也会有不同的多播转发树。

洪泛与剪除:适合较小的多播组,所有组成员接入的局域网也是相邻接的。避免兜圈子,采用反向路径广播RPB策略。RPB要点:收到多播数据报时先检查是否从源点经最短路径传送来,是则向所有其他方向转发,否则丢弃不转发(若有好几条同样长度的最短路径路径则选IP地址最小的)。

隧道技术:用来通过两个支持多播路由器之间不支持多播的网络。

基于核心的发现技术:对每个多播组指定一个核心路由器,给出它的单播地址,核心路由器按之前的方法创建对应该多播组的转发树。

·几种多播路由选择协议

距离向量多播路由选择协议DVMRP(Distance Vector Multicast Routing Protocol),

基于核心的转发树CBT(Core Based Tree),

开放最短通路优先的多播扩展MOSPF(Multicast Extensions to OSPF),

协议无关多播-稀疏方式PIM-SM(Protocol Independent Multicast-Sparse Mode),

协议无关多播-密集方式PIM-DM(Protocol Independent Multicast-Dense Mode)

·虚拟专用VPNp185:本地地址:仅在机构内部使用。全球地址:全球唯一,必须向因特网的管理机构申请。

RFC 1918指明的专用地址:只能用于一个机构的内部通信。在因特网中,路由器对目的地址是专用地址的数据报一律不转发。

内联网intranet和外联网extranet:(均为基于TCP/IP协议)内联网是由内部网络构成的虚拟专用网VPN,外联网是和某些外部机构共同建立的虚拟专用网VPN

远程接入VPN

·网络地址转换NATp187:需要在专用网连接到因特网的路由器上安装NAT软件,该路由器称为NAT路由器,它至少有一个有效的外部全球地址。所有使用本地地址的主机在和外界通信时都要在NAT路由器上将本地地址转换为全球地址。

网络地址转换:发送时NAT路由器会将主机的本地地址转换成全球地址,接受时将全球地址转换成内部主机的目的地址。

运输层

运输层向它上面的应用层提供通信服务,面向通信部分的最高层,用户功能的最低层。网络核心部分中的路由器在转发分组时只用到下三层功能。

两个主机进行通信实际是两个主机中的应用进程互相通信,这称为端到端的通信。

复用:在发送方不同的应用进程都可以使用同一个运输层协议传输数据。分用:接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程。

运输层向高层用户屏蔽了下面网络核心的细节,提供应用进程间的逻辑通信(好像就是沿水平方向直接传送数据)。

IP协议提供主机之间的逻辑通信,运输层协议提供进程之间的逻辑通信

主要功能:为进程之间提供端到端的逻辑通信;对收到的报文进行差错检测。

当采用面向连接的TCP协议,相当于一条双全工的可靠信道;当采用无连接的UDP协议,依然是不可靠信道。

·TCP与UDPp205:两个对等运输实体在通信时传送的数据单位为运输协议数据单元TPDU(Transport Protocol Data Unit ),TCP传送的是TCP报文段(segment),UDP则为UDP报文或用户数据报(非网络层的IP数据报)。

UDP在传送前需要先建立连接,对方收到需要给予确认。TCP则提供可靠的面向连接的服务,不提供广播或多播服务,因而开销大(但可靠的全双工信道并不知道经过哪些路由器,路由器也不知道运输层是否建立TCP连接)。

·运输层的端口p206:进程是用进程标识符标志的,但不同的操作系统使用不同格式的进程标识符,所以需要用统一的方法对TCP/IP体系的应用进程进行标志。

不能指定特定机器的特定进程:进程的创建和撤销是动态的;有时会改变接受报文的进程;需要利用目的主机提供的功能识别终点,而不需要知道实现这个功能的进程。

解决上述问题的方法:在运输层使用协议端口号,简称端口。把报文传送到目的主机的目的端口,最后交付目的进程就由TCP或UDP完成。该端口为软件端口,是抽象的,非路由器或交换机上的硬件端口。

端口用16位的端口号标志,端口号只有本地意义,为了标志本机应用层的各进程。

服务器端:熟知端口号(0-1023)和登记端口号(1024-49151)。客户端口号或短暂端口号(49152-65535)。

·UDP用户数据报协议(User Data grammar Protocol)p208:只在IP数据报上增加了端口功能和差错检测功能。

特点:无连接;尽最大努力交付,不保证可靠交付、不使用拥塞控制;面向报文;支持一对一、一对多、多对一和多对多;首部开销小,只有8字节。

发送方对应用程序交下来的报文添加首部后就向下交付IP层,不合并不拆分,保留报文边界,一次发送一个报文。接收方对IP层交上来的数据报,去除首部就交付上层应用进程,一次交付一个完整的报文。应用程序需选择合适大小的报文,即报文大小根据应用程序决定。

报文格式p209

计算UDP检验和p210

·TCP传输控制协议(Transmission Control Protocol):主要特点:面向连接,每条连接只能有两个端点(点对点),提供可靠交付,全双工通信,面向字节流(TCP将数据看作无结构的字节流,并不知道其含义)。

虚连接,根据对方的窗口值和当前网络拥塞的程度来决定一个报文段包含多少字节,TCP可把太长的数据块划分短一些再传送,也可以等待积累足够多的字节后再构成报文段发送。

TCP连接的端点叫做套接字(socket)或插口,由IP地址和端口号拼接成,套接字=(IP地址:端口号),TCP连接::={socket1,socket2}={(IP1:port1),(IP2,port2)}。

停止等待协议p212:发送方发送一个分组,暂停发送等待接收方发送确认,发送方收到接收方的确认再发送下一个分组。

超过重传时间依旧未收到则重传。发送完一个分组需暂时保存已发送的分组的副本。分组和确认分组都必须编号。超时计时器的重传时间应比传输往返时间更长。

若接收方的确认丢失,则直接丢弃发送方重发的分组,并再次发送确认。

确认迟到,发送方对重复的确认进行丢弃,接收方也丢弃重复的分组,并重传确认分组。

上述确认和重传机制,常称为ARQ

停止等待协议优点简单,缺点信道利用率太低。

信道利用率:U=TD/(TD+RTT+TA),TD为发送分组需要的时间(分组长度除以数据率),TA为发送确认分组需要时间,RTT为往返时间。

流水线传输:发送方可以连续发送多个分组,不必发完一个分组就停下来等待对方确认。需使用连续ARQ协议和滑动窗口协议

·连续ARQ协议(Automatic Repeat reQuest):发送方设置发送窗口(一次最多可以发送的数据包),接收方设置接收窗口。窗口动态变化,往返时间RTT也不是固定的。基于字节的序号,采用累积确认的方式,对按序到达的最后一个分组发送确认,表示之前的分组都收到。

累积确认优点:容易实现,即使确认丢失也不必重传。缺点:不能向发送方反映出接收方已经正确收到的所有分组信息(当中间有丢失的情况,发送方只会从丢失处全部重传)。即Go-back-N,退回来重传已发送过的N个分组。

报文格式p217

·TCP的可靠传输p221:滑动窗口字节为单位,窗口越大,发送方就能在收到对方确认之前连续发送更多数据。发送窗口由窗口前沿(为允许发送和不允许发送的分界线)和后沿共同决定,并不能超过接收窗口的数值(接收方会把该值放在窗口字段发给发送方)。

前沿不移动:没有收到新的确认;收到新的确认但是对方通知的窗口变小。

TCP标准强烈不赞成窗口向后收缩。

接收方只能对按序收到的最高序号给予确认。

发送缓存用来暂时存放准备发送和已发送未收到确认的数据,接受缓存用来存放按序到达但尚未被接收应用程序读取和不按序到达的数据。

同一时刻发送方的发送窗口不一定和接收方的接收窗口一样大(时间滞后);不按序到达的数据通常先放在接收窗口中,等字节流中缺少的字节收到再向上按序交付;要求接收方有累积确认功能。

·超时重传的时间选择p225:每发送一个报文段,就对其设置一次计时器

加权平均往返时间RTTs(平滑的往返时间):第一次测量RTT样本时,RTTs就为所取的该样本值。以后每测量一次就重新计算一次:新RTTs=(1-α)*旧RTTs+α*新RTTs

超时重传时间RTO:RTO=RTTs+4*RTTD。RTTD是RTT的偏差的加权平均值。第一次测量,RTTD取测量到的RTT样本值的一半,以后:新RTTD=(1-β)*旧RTTD+β*|RTTs-新RTT样本|

收到确认报文,如何判断是对先前发送的确认还是后来重传的确认?Karn算法:在计算加权平均RTTs时,报文段重传则不采用其往返时间样本。(时延增大)再修正:每重传一次,将超时重传时间RTO增大一些。

·选择确认SACKp226:告诉发送方不要再重复发送已收到的数据。若使用选择确认,建立TCP连接时首部选项加上“允许SACK”,以便报告不连续字节块边界(一个边界4字节,最多指明4个字节块共8个边界)。

·TCP流量控制p227:让发送方的发送速率不要太快,能让接收方来得及接收,也不使网络拥塞。rwnd为接收窗口,ACK为确认位,ack为确认字段的值。窗口单位是字节。

防止零窗口之后的非零窗口通知丢失,为每个连接设置持续计时器,计时器到期则发送一个零窗口探测报文,对方回复确认时给出现在的窗口值。

·控制TCP报文段的发送时机的机制:TCP维持一个变量,等于最大报文段长度MSS,缓存中数据达到该长度则组装成报文段发送;发送方应用进程指明要求发送报文段,即push;发送方的一个计时器期限到了,则将缓存数据装入报文段发送(长度不能超过MSS)。

·TCP拥塞控制p229:某段时间,对网络中某种资源的需求超过该资源所能提供的可用部分,网络性能就变坏——产生拥塞。若多种资源同时产生拥塞,整个网络吞吐量将随负荷增大而下降。

拥塞控制的前提:网络能承受现有的网络负荷。

拥塞控制和流量控制:拥塞控制是全局性的,而流量控制往往指在给定的发送端和接收端之间点对点通信量的控制,抑制发送端发送数据的速率。

当提供的负载达到某一数值,网络吞吐量反而随着负载的增大而下降到0,即称为死锁

分组的丢失是网络发生拥塞的征兆非原因。

开环控制和闭环控制:开环是设计网络时事先将发生拥塞的因素考虑周全,闭关则是基于反馈环路的概念,如:检测网络系统以便检测拥塞在何时何处发生;将拥塞发生的信息传送到可采取行动的地方;调整网络系统的运行以解决出现的问题。

·拥塞控制方法p232:慢开始,拥塞避免,快重传,快恢复。

基于窗口的拥塞控制,发送方让自己的发送窗口等于拥塞窗口cwdn(若考虑接收方窗口,还可能小于cwdn)。控制拥塞窗口的原则:只要网络没有出现拥塞,就增大一点拥塞窗口;只要出现拥塞,就减小一点。

慢开始算法:刚开始发送设置cwnd=1(即1个MSS),每收到一个对新报文段的确认则窗口值加一。

传输轮次:把拥塞窗口cwdn所允许的报文段都连续发送出去,并收到了对已发送的最后一个字节的确认。一个传输轮次经历的就是往返时间RTT。每经过一个传输轮次,拥塞窗口就加倍。

慢开始门限状态变量ssthresh:ccwdn<ssthresh,慢开始;cwdn>ssthresh,拥塞避免;中间,两者皆可。

拥塞避免算法(并非能完全避免):让cwnd缓慢增大,每经过一个往返时间RTT就把发送方的拥塞窗口加一(加法增大)。

当网络出现拥塞时,把慢开始门限ssthresh设置为出现拥塞时发送方窗口值的一半(但不小于2)(乘法减小,*0.5),把cwnd重设为1,执行慢开始。

发送端的发送窗口不能超过cwnd和rwnd接收端窗口的最小值。

快重传算法:要求接收方每收到一个失序的报文段就立即发送重复确认,让发送方及早知道。发送方只要一连收到三个重复确认就立即重传对方未收到的报文段。

快恢复算法:当发送端收到3个重复确认,减半ssthresh门限。由于发送方现在认为网络没有发生拥塞,将cwdn设置为现在的ssthresh,执行拥塞避免算法。

发送窗口的上限值=min[rwnd,cwnd]

随机早期检测REDp237:使路由器维持两个参数:队列长度最小门限和最大门限。当每个分组到达,若平均队列长度小于最小门限,放入队列进行排队;若平均队列长度超过最小门限,则丢弃;若在两个值之间,则按丢弃概率p丢弃(p非定值,丢弃分组有随机性)。

·TCP的运输连接管理p238:三阶段:建立连接,数据传送,连接释放。解决三问题:使双方都确知对方存在,允许双方协商一些参数,能够对运输实体资源进行分配。

采用客户(为主动方)服务器方式。

建立连接:三报文握手

释放连接:四报文握手

TCP有限状态机p241

应用层

应用层协议是为了解决某一类应用问题,而问题的解决必须通过位于不同主机中的多个应用进程之间的通信和协同工作来完成。

应用层的许多协议都是基于客户服务器方式,客户为服务请求方,服务器为服务提供方。

·域名系统DNS(Domain Name System)p251:是互联网使用的命名系统,用来把人们使用的机器名字转换为IP地址。应用层软件经常直接使用域名系统,用户只会间接使用。

因特网采用层次结构的命名树作为主机名字并使用分布式的域名系统DNS。

域名服务器运行域名服务器程序,域名服务器程序来解析名字到IP地址。

域名:任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字。

….三级域名.二级域名.顶级域名

域名不代表物理地址或ip地址,域名是变长的,域名的“.”不一定是三个。

顶级域名TLD(Top Level Domain):国家级顶级域名nTLD,通用顶级域名gTLD,基础结构域名(只有一个,arpa,反向域名)。

域名服务器:一个服务器所负责管辖的范围叫做(区为单位非域),一个区中所有节点是能够连通的。每个区设置相应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射。

·域名服务器的四类型:根域名服务器,顶级域名服务器,权限域名服务器,本地域名服务器。

根域名服务器:因特网共有13套(非13个机器),知道所有的顶级域名服务器的域名和IP地址。迭代查询时不直接把域名转换成ip地址,而是告诉下一步的顶级域名服务器的ip。

顶级域名服务器(TLD服务器):管理在该顶级域名服务器注册的所有二级域名,收到查询请求,要么给最终结果要么给下一跳ip地址。

权限域名服务器(负责一个区):若不能给最终结果则给出下一步找的权限域名服务器名。

本地域名服务器(默认域名服务器):主机发出DNS查询请求,则将查询请求报文发送给本地域名服务器。

·提高域名服务器的可靠性:主域名服务器定期把数据复制到辅助域名服务器,而更改数据只能在主域名服务器。

主机向本地域名服务器的查询一般为递归查询,即若本地域名服务器不知道就帮助主机发出查询。而本地域名服务器向根域名服务器的查询一般是迭代查询,即根域名服务器告诉它下一跳地址。

每个域名服务器都维护一个高速缓存来存放最近用过的名字和记录。为保持缓存内容的正确,为每个内容设置计时器(超时被处理)。当权限域名服务器回答一个查询请求时,在响应中指明绑定有效存在的时间值。

·文件传送协议FTP(File Transfer Protocol)p260:互联网上使用得最广泛的文件传送协议。提供交互式访问,允许客户指明文件的类型与格式,允许文件有存取权限,屏蔽了各计算机系统的细节。

不同计算机厂商研制出不同的文件系统,导致文件传送困难。

FTP基本工作原理:使用TCP,主要功能是减少或消除在不同操作系统下处理文件的不兼容性。使用客户服务器方式,一个FTP服务器进程(两部分,主进程负责接受新请求,若干从属进程负责处理单个请求,两者并发执行)可同时为多个客户进程提供服务。

复制文件的复杂性:计算机存储数据格式不同,文件的目录结构和命名规定不同,不同操作系统对相同文件存取功能使用的命令不同,访问控制方法不同。

主进程工作步骤:打开熟知端口(21),等待客户进程发出连接请求,启动从属进程处理请求(从属进程处理完即终止,在运行期间可根据需要创建其他子进程),回到等待状态。

两个连接(分别两个端口号,不容易混乱,使协议更简单容易实现,在传输时还可以利用控制连接):控制连接(将传送请求发给服务器端的控制进程),数据连接(端口号20,实际用于传输文件)。服务器端接收客户的文件传输请求就创建“数据传送进程”和“数据连接”,传送完毕后数据传送进程关闭数据连接并结束运行。

网络文件系统NFSp262:允许用户进程打开一个远地文件,并能在该文件的某一个特定位置读写数据。使用户只复制大文件的小片段,在网络上只传送少量的修改数据。

·简单文件传送协议TFTP(Trivial File Transfer Protocol)p262:很小且易于实现的文件传送协议,使用客户服务器方式和UDP数据报(需有自己的差错改正措施),只支持文件传输而无交互,无庞大命令集、列目录功能或用户身份鉴别。

特点:每次传送数据PDU有512字节(最后一次可不足);PDU也称文件块(block),每块按序编号(1开始);支持ASCII或二进制传送;可对文件读或写;首部简单。

类似停止等待协议:发完一个文件块就等待对方确认,规定时间未收到确认则重发,接收方若在规定时间收不到下一块也重发确认PDU(保证文件传送不因某个数据报丢失而失败)。

客服进程发请求的端口号69非服务器和客户通信的端口(要使用新端口)。文件结束标志:不满512字节;若刚好512字节,则最后还需发送一个只含首部而无数据的数据PDU。

·远程终端协议TELNETp263:用户用TELNET就可以在其所在地通过TCP连接登录到远地的另一个主机上(使用主机名或IP地址)。TELNET能将用户的击键传到远地主机,也能将远地主机输出通过TCP连接返回用户屏幕(服务是透明的)。

TELENET也使用客户服务器方式,本地客户进程,远地服务器进程(主+从属)。

TELENET在TCP运输时使用网络虚拟终端NVT格式。

·万维网WWW(World Wide Web):大规模、联机式的信息储藏所。用链接的方式从一个站点访问另一个站点。是分布式超媒体(hypermedia)系统,是超文本(hypertext)系统的扩充。

超文本(万维网的基础)由多个信息源链接成,利用一个链接可找到另一个文档。超文档只包含文本信息,超媒体还包括其他信息。

万维网以客户服务器方式工作,浏览器就是用户计算机的万维网客户程序,万维网文档所驻留的计算机(万维网服务器)运行服务器程序。客户请求,服务器送回需要的万维网文档(在客户程序主窗口显示的万维网文档称页面)。

怎样标志整个因特网的万维网文档?使用统一资源定位符URL(Uniform Resource Locator)(在因特网范围唯一)。

如何协议实现万维网上各种超链的链接?超文本传送协议HTTP(HyperText Transfer Protocol),应用层协议,使用TCP连接。

怎样使各种万维网文档都能在因特网上各种计算机上显示,同时使用户清楚知道超链在哪?超文本标记语言HTML(HyperText Markup Language)

怎样使用户能很方便查找?使用各种搜索引擎。

·统一资源定位符URL:相当于一个文件名在网络范围的扩展,是与因特网相连的机器上的任何可访问对象的一个指针。

格式(无大小写要求):<协议>://<主机>:<端口>/<路径>。协议:http,ftp,News。主机:存放资源的主机在因特网的域名。端口路径:有时可省略,省略路径即访问主页。

·超文本传送协议HTTPp267:面向事务的应用层协议,是万维网能可靠交付文件的重要基础。

用户点击鼠标:浏览器分析超链指向页面的 URL;浏览器向 DNS 请求解析IP地址;域名系统 DNS 解析出IP 地址;浏览器与服务器建立 TCP 连接;浏览器发出取文件命令;服务器给出响应,把文件发给浏览器;TCP 连接释放;浏览器显示文件中的所有文本。

HTTP特点:面向事务(事务指一系列的信息交换是不可分割的整体)的客户服务器协议,本身无连接(虽然使用TCP),1.0协议是无状态的(不记得访问过或服务过谁)。

请求一个万维网文档需要传输时间+两倍RTT(发起TCP连接+请求报文)。

HTTP/1.1使用持续连接,发送响应后一段时间内仍保持连接,只要文档在同一个服务器(不局限于同页面)。

持续连接的两种工作方式:非流水线方式和流水线方式。非流水线方式,客户收到前一个响应才发下一个请求,节省了建立的TCP的一个RTT,中间的等待时间浪费服务器资源;流水线方式,收到响应之前就可以发送新请求,访问所有对象只需要一个RTT。

·代理服务器(proxy server)p270:万维网高速缓存,代表浏览器发出HTTP请求。把最近一些请求和响应暂存在本地磁盘,若有相同请求到达,则把暂存的发回。

·HTTP报文结构p271:请求报文,响应报文。由于HTTP面向正文(text-oriented),报文字段都是ASCII码串,长度不确定。

·在服务器存放用户的信息p273:使用cookie(表示在HTTP服务器和客户之间传递的状态信息)跟踪用户,网站服务器为用户产生一个唯一识别码来跟踪用户在该网站的活动。

·超文本标记语言HTML:定义了很多用于排版的命令,HTML文档是一种可以用任何文本编辑器创建的ASCII码文件。后缀为. html或. htm。

HTML两种不同的链接:远程链接(终点是其他网点的页面),本地链接(指向本地计算机的某个文件)。

·动态万维网文档:文档内容是在浏览器访问万维网服务器时才由应用进程动态创建。(静态文档则一直在服务器中,浏览不会被改变)两者只在服务器端有差别。

为实现动态进行的功能扩充:增加一个应用进程来处理浏览器发来的数据并创建动态文档;增加一个机制来使万维网服务器把浏览器发来的数据传给该进程,然后万维网服务器能解释进程输出并向浏览器返回html文档。

·通用网关接口CGI(Common Gateway Interface)p277:一种标准,定义了动态文档如何创建,输入数据如何提供给应用进程,输出结果如何使用。

通用:对其他任何语言通用。网关:作用类似网关。接口:有一些已定义好的变量调用等供其他CGI程序使用。

CGI指令:CGI脚本。

·活动万维网文档p278:浏览器请求活动文档,服务器则返回一段程序副本在浏览器端运行。活动文档程序可与用户直接交互,并可连续改变屏幕显示。JAVA技术是活动文档技术的一部分。

·万维网的信息检索系统p279:搜索引擎:全文检索搜索引擎(用关键字搜索索引),分类目录搜索引擎(不采集网站信息,利用网站信息关键字、网站描述等)

电子邮件:发送SMTP,读取POP3和IMAP。MIME在邮件首部说明邮件的数据类型。

用户代理UA(User Agent)p285:用户与电子邮件系统的接口,电子邮件客户端软件。功能:撰写,显示,处理,通信。邮件服务器(按客户服务器方式工作,需使用发送和读取两个协议)功能:发送接收邮件,向发件人报告邮件传送情况。邮件服务器既可以是客户也可以是服务器。

·简单邮件传送协议SMTP:规定两个互相通信的SMTP进程如何交换信息(TCP连接)。

三阶段:连接建立,邮件传送,连接释放。

·邮件读取协议POP3和IMAP:均为客户服务器方式。POP3(3是版本号)简单功能有限;IMAP可以在自己的计算机操纵ISP的邮件服务器的邮箱,因而是联机协议。

IMAP特点优点:用户可以在不同地方使用不同计算机阅读处理邮件,允许收件人只读邮件中的一部分。缺点:若邮件不复制到计算机则存放在IMAP服务器,需要经常与服务器建立连接。

邮件从服务器发送或接收是HTTP协议,两个服务器间传送则是SMTP

通用因特网邮件扩充MIMEp291:特点:没有改动或取代SMTP,继续使用目前格式,但增加了邮件主体结构,并定义了传送非ASCII码的编码规则。

原因:SMTP的缺点:不能传送可执行文件或其他二进制对象,限于传送7位的ASCII码,SMTP服务器会拒绝超过一定长度的文件,某些SMTP实现没有完全按SMTP标准。

内容传送编码p292

整理不易,看完不点赞真的好嘛(๑• . •๑)