林俊丞2020/11/15
学习内容:《计算机科学导论》第15、16章
第15章 网络
15.1 连网
计算机网络(computer network):为了通信和共享资源而连接在一起的一组计算设备。
无线连接(wireless):没有物理电线的网络连接。
节点(主机)(node(host)):网络中任何可寻址的设备。
数据传输率(带宽)(data transfer rate(bandwidth)):数据从网络中的一个地点传输到另一个地点的速度。
注意,计算机网络是连在一起的计算设备而不仅仅是计算机。
网络不是由物理连接定义的,而是由通信能力定义的。
协议(protocol):定义如何在网络上格式化和处理数据的一组规则。
客户/服务器模型(client/server model):客户发出对服务器的请求,服务器做出响应的分布式方法。
文件服务器(file server):专用于网络用户存储和管理文件的计算机。
Web服务器(web server):专用于响应网页的请求的计算机。
P2P模型(P2P model):在许多“伙伴”计算机中共享资源和责任的一种分散的方法。
使用网络和客户/服务器模型,就可以通过让客户请求多台机器执行同一个问题的特定部分来实现并行处理。客户收集到每台机器的响应后再把它们构成一个完整的解决方案。
根据请求不同,一个节点可能是服务器,也可能是客户机。
15.1.1 网络的类型
1.局域网
局域网(Local-Area Network,LAN):连接较小地理范围内的少量计算机的网络。
管理LAN的各种配置叫做拓扑。
环形拓扑(ring topology):所有节点连接成封闭环的LAN配置。
消息在环中沿着一个方向传播。
星型拓扑(star topology):由中心节点控制所有消息传输的LAN配置。
中心节点承受巨大的负担,如果中心节点不工作了,那么整个网络的通信就瘫痪了。
总线拓扑(bus topology):所有节点共享一条通信线的LAN配置。
消息可以在通信线中双向传播。总线上的所有节点将检查总线传输的每个信息,如果消息所寻的地址不是该节点,它将会忽略这条信息。
2.广域网
广域网(Wide-Area Network,WAN):连接两个或多个局域网的网络。
网关(Gateway):处理它的LAN和其他网络之间通信的节点。
Internet:遍布地球的广域网。
因特网(Internet):跨越全球的广域网。
城域网(Metropolitan-Area Network,MAN):为大城市开发的网络基础设施。
网络之间的通信叫做网际互连。
3.无线和移动计算
无线网络(wireless network):设备通过无线接入点进行通信的网络。
蓝牙(Bluetooth):短距离间的无线通信技术。
无线网络给用户带来了巨大的自由和灵活性,并且可以极大地降低安装成本,但相比于有线网络而言,更容易产生电磁干扰。
15.1.2 Internet连接
延迟(latency):发送请求和接收响应之间的时间。
Internet骨干网(Internet backbone):承载Internet通信的一组高速网络。
Internet服务提供商(Internet service provider,ISP):提供Internet访问的公司。
最早把家用计算机连接到Internet上的方法是使用电话调制解调器,如今,最流行的两种方式是数字用户线路(DSL)或线缆调制解调器。
电话调制解调器(phone modem):把计算机数据转换成模拟音频信号,然后再把模拟音频信号转换为计算机数据的设备。
数字用户线路(digital subscriber line,DSL):用常规电话传输数字信号的Internet连接方式。
线缆调制解调器(cable modem):使用家庭的有线电视网络进行计算机网络通信的设备。
DSL连接和线缆调制解调器都属于宽带连接。
宽带(broadband):提供的数据传输率大于25Mbps的网络技术。
下载(download):在家用计算机上接受Internet上的信息。
上传(upload):从家用计算机给Internet上的目标机器发送数据。
由于下载的数据通信量远远大于上传的数据量,所以许多DSL和线缆调制解调器的提供商提供的下载速度比上传速度快。
15.1.3 包交换
包(packet):在网络上传输的数据单位。
包交换(packet switching):把包单独发送到目的地再组装起来的网络通信技术。
路由器(router):指导包在网络上向最终目的地传输的网络设备。
中继器(repeater):在较长的通讯线路上加强和传播信号的网络设备。
15.2 开放式系统与协议
15.2.1 开放式系统
专有系统(proprietary system):使用特定销售商的私有技术系统。
互通性(interoperability):多态机器上的来自多个销售商的软件和硬件相互通信的能力。
开放式系统(open system):以网络体系结构的通用模型为基础并伴有一组协议的系统。
开放式系统互连参考模型(open systems interconnection(OSI) reference model):为了便于建立通信标准而对网络交互进行的7层逻辑划分。
每一层处理网络通信的一个特定方面。
15.2.2 网络协议
以太网(Ethernet):集成在大多数个人计算机中的网络通信协议。
协议栈(protocol stack):彼此依托的协议的分层。
以上最低两层构成了Internet通信的基础。其他协议有时叫做高层协议,负责处理特定类型的网络通信。
15.2.3 TCP/IP
传输控制协议(transmission control protocol,TCP):把消息分割成包,在目的地把包重新组装成消息,并负责处理错误的网络协议。
网际协议(Internet protocol,IP):网络协议,处理包通过相互连接的网络传递到最终目的地的路由选择。
TCP/IP:一组支持低层网络通信的协议和程序。
用户数据报协议(user datagram protocol,UDP):牺牲一点可靠性实现较高传输速率的网络协议,是TCP的替代品。
ping:用于测试一台特定的网络计算机是否是活动的以及是否到达的程序。
跟踪路由程序(traceroute):用于展示包在到达目的节点的过程中经历的路线的程序。
TCP是在IP的基础之上的。
UPD是TCP/IP协议组的一部分。
上图展现了Florida计算机和google.com使用的服务器之间用来通信的跳。
15.2.4 高层协议
其他协议都是在TCP/IP协议组建立的基础之上构建的。一些关键的高层协议如下:
- 简单邮件传输协议(SMTP)
- 文件传输协议(FTP)
- telnet
- 超文本传输协议(HTTP)
端口(port):特定高层协议对应的数字称号。
15.2.5 MIME类型
MIME类型(MIME type):定义电子邮件附件或网站文件的格式的标准。
MIME是多用途网际邮件扩充(Multipurpose Internet Mail Extension)的缩写。
15.2.6 防火墙
防火墙(firewall):一台网关机器,它的软件通过过滤网络通信来保护电路。
访问控制策略(access control policy):一个组织建立的一组规则,规定了接受和拒绝什么类型的网络通信。
防火墙是一个低级别的网络通信机制。
15.3 网络地址
主机名(hostname):由点号分隔的单词构成的名字,唯一标识了Internet上的机器;每个主机名对应一个特定IP地址。
IP地址(IP address):由点号分隔四个数值构成的地址,唯一表示了Internet上的机器。
15.3.1 域名系统
主机名由计算机名加域名构成。
域名(domain name):主机名中说明特定的组织或分组的部分或分组的部分。
域名中的最后一部分叫做顶级域名。
顶级域名(Top-Level Domain,TLD):域名中的最后一部分,声明了组织的类型或所属国家。
ICANN代表赋值名称与数字互联网公司,是管理顶级域名(TLD)的国际权威。
域名抢注(domain squatting):购买域名,目的仅仅是为了高价卖给真正想使用它的人或组织。
域名系统(Domain Name System,DNS):管理主机名解析的分布式系统。
域名服务器(domain name server):把主机名翻译成IP地址的计算机。
域名抢注一般被认为是不道德的。
15.3.2 谁控制因特网
网络中立性(network neutrality):ISP应该平等地给每一个用户传送数据,传输速度应该尽可能快。
15.4 云计算
云计算(cloud computing):计算系统资源由第三方提供并通过互联网通信来进行管理的范式。
云计算的重点在于我们不必知道或关心资源在哪里或通信如何获得路由,获取资源即可。
目前几种不同类型的云服务:
- 公有云
- 私有云
- 社区云
- 混合云
15.5 区块链
区块链(blockchain):不会被改变的交易公开分类账。
块是指新交易的记录。区块链技术令人心动的原因之一在于交易的记录是不会改变的。
第16章 万维网
16.1 Web简介
Web和Internet的概念有着本质的不同。
万维网(World Wide Web,Web):信息和用于访问信息的网络软件的基础设施。
Web页(Web page):包含或应用各种类型的数据的文档。
链接(link):两个Web页之间的连接。
网站(website):一组相关的Web页,通常由同一个人或公司设计和控制。
Internet使通信成为可能,而Web则使通信变得更为轻松、更丰富、更有趣。
Web浏览器(web browser):获取并显示web页的软件工具。
Web服务器(web server):用于响应web页请求的计算机。
统一资源定位符(uniform resource locater,URL):说明web地址的标准方式。
Web是URL的核心部分。
16.1.1 搜索引擎
有些搜索引擎执行基于概念的搜索(concept-based search),即尝试判断所执行的搜索的上下文。基本前提是聚类(clustering)。
16.1.2 即时消息
即时消息(instant messaging,IM):实时发送短消息的技术。
方便,但不安全。
16.1.3 博客
weblog简称为博客(blog),是在网站定期发表文章的一种途径。
16.1.4 cookie
cookie是web服务器中存储在你的计算机硬盘上的一个小文本文件,它增强了Web的实用性。cookie不是程序,不会在你的计算机上执行任何操作,它也不能收集有关你或你的计算机的个人信息。
16.1.5 Web分析
web分析:网站使用情况的数据分析和采集。
16.2 HTML和CSS
超文本标记语言(hypertext markup language,HTML):用于创建web页的语言。
标记语言(markup language):使用标记来注释文档中的信息的语言。
标记(tag):标记语言中用于说明如何显示信息的语法元素。
HTML5:精简标记系统和支持动态内容的最新HTML标准。
Web页是用超文本标记语言创建的。术语超文本(hyper text)指的是不像一本书那样线性地组织信息,而是嵌入其他信息的链接,根据需求可以从一个地方跳转到另一个地方。现在更精确的术语叫做超媒体(hypermedia)。
之所以叫标记语言,是因为这种语言的主要元素都采用插入文档的标记(tag)的形式,用于注释存储在该处的信息。
标记都封装在< >,元素指定了标记的类型。
16.2.1 基本的HTML元素
如书所述。
16.2.2 标记的属性
属性(attribute):标记中用于提供有关元素的额外信息的部分。
16.2.3 关于CSS的更多内容
16.2.4 更多HTML5的元素
16.3 交互式网页
简单看看其中两种技术——Java小程序和Java服务器页。
16.3.1 Java小程序
Java小程序(Java applet):为嵌入HTML文档而设计的程序,能够通过web传输,在浏览器中执行。
16.3.2 Java服务器页
Java服务器页(Java Server Page,JSP)是嵌入了JSP小脚本的Web页。
JSP小脚本(JSP scriptlet):嵌在HTML文档中用于给web页提供动态内容的代码片段。
16.4 XML
可扩展标记语言(extensible markup language,XML):允许用户描述文档内容的语言。
元语言(metalanguage):用于定义其他语言的语言。
Tim Berners-Lee使用标准通用语言(SGML)的元语言来定义HTML。
文档类型定义(document type definition,DTD):XML文档结构的规约。
可扩展样式表语言(extensible stylesheet language,XSL):定义XML文档到其他输出格式之间转换的语言。
注意,XML是标记规约语言,XML文件则是数据。
16.5 社交网络演化
社交网络(social network):允许拥有共同兴趣的人们进行交流互动的在线服务。
小世界现象是指连接任意两个人的相识关系的社会链普遍较短的假设。
小结
基本完成学习任务,本部分内容偏向纯理论学习,多读就能解决。