第十五章 网络
15.1 联网
1.计算机之间的连接通常是靠物理电线或电缆实现的。但是,有些连接使用无线电波或红外信号传导数据,这种链接是无线的。
2.计算机网络中的设备不只是计算机。例如,打印机可以直接连入网络,一边网络中的每个用户都可以使用它。
3.多媒体成分(如音频或视频)是使通信量大增的主要贡献者。
计算机网路(computer network):为了通信和共享资源而连接在一起的一组计算设备。
无线连接(wireless):没有物理电线的网络连接。
节点(主机)(node(host)):网路中任何可寻址的设备。
数据传输率(带宽)(data transfer rate (bandwidth)):数据从网路中的一个地点传输到另一个地点的速率。
4.在联网过程中,我们使用明确的协议来说明如何格式化和处理要传输的数据。
5.协议(protocol):定义如何在网路上格式化和处理数据的一组规则。
6.客户/服务器模型(client/server model):客户发出对服务器的请求,服务器做出响应的分布式方法。
7
.文件服务器(file server):专用于为网路用户存储和管理文件的计算机。
8.Web服务器(Web server):专用于响应网页请求的计算机。
15.1.1 网络的类型
1.局域网(Local-Area Network,LAN):连接较小地理范围内的少量计算机的网路。
2.管理LAN的各种配置叫作拓扑。
•环形拓扑(ring topology):所有节点连接成封闭的LAN配置。
•星形拓扑(star topology):由中心节点控制所有消息传输的LAN配置。
星型网络给中心节点赋予了巨大的负担,如果中心节点不工作了,那么整个网络的通信就瘫痪了。
•在总线拓扑中,所有节点都连接在一条通信线上,消息可以在通信线中双向传播。总线上的所有节点将检查总线传输的每个消息,不过如果消息所寻的地址不是该节点,它会忽略这条消息。
总线拓扑(bus topology):所有节点共享一条通信线的LAN配置。
以太网(Ethernet):基于总线拓扑的局域网业界标准。
3.广域网使得较小的网络之间可以互相通信。LAN中通常会有一个特殊节点作为网关,处理这个LAN和其他网络之间的通信。
广域网(Wide-Area Network,WAN):连接两个或多个局域网的网路。
网关(gateway):处理它的LAN和其他网路之间通信的节点。
4.Internet:遍布地球的广域网。
5.城域网(Metropolitian-Area Network,MAN):为大城市开发的网路基础设施。
与一般广域网相比,MAN更适合于特定的组织或区域使用。
6.城域网通常是通过无线连接或光纤连接的。
15.1.2 Internet连接
1.没有一个人或公司拥有Internet,甚至不能完整地控制它。作为一个局域网,它由多个小网络构成。这些小网络通常属于某个人或某个公司。这些网络之间是如何连接的才真正定义了Internet。
2.骨干网使用的都是具有高数据传输率(从每秒1.5M到用特殊光缆实现的每秒600多兆位)的连接。
Internet骨干网(Internet backbone):承载Internet通信的一组高速网路。
3.Internet服务商(Internet Service Provider,ISP):提供Internet访问的公司。
4.把家用计算机连接到Internet上的方法有很多,最常用的三种是使用电话调制解调器、数字用户线路、线缆调制解调器。
电话调制解调器(phone modem):把计算机数据转换成模拟音频信号,然后再把模拟音频信号转换回计算机数据的设备。
数字用户线路(Digital Subscriber Line,DSL):用常规电话线传输数据信号的Internet连接方式。
线缆调制解调器(cable modem):使用家庭的有线电视网络进行计算机网络通信的设备。
•注:调制解调器是调节器和解调器的缩写。
5.DSL连接和线缆调制解调器都属于宽带连接。DSL和线缆调制解调器的下载速度可以和上载速度不同。
宽带(broadband):提供数据传输率大于128Kbps的网路技术。
下载(download):在家用计算机上接受Internet上的信息。
上载(upload):从家用计算机给Internet上的目标机器发送数据。
15.1.3 包交换
1.为了提高在共享线路上传输数据的有效性,消息被分割为大小固定,有编号的包。
2.每个消息的包可以采用不同的路由线到达最终的目的地。因此,它们到达目的地的顺序可能与发送顺序不同。需要把包按照正确顺手排列之后再组合成原始消息。
•包(packet):在网路上传输的数据单位。
•包交换(packet switching):把包单独发送到目的地然后再组装起来的网路通信技术。
3.如果由于下行机器的问题中断了路径,或者选中的路径当前具有很大的通行量,那么路由器可能会把包沿另一个路由发送。
•路由器(router):指导包在网路上向最终目的地传输的网路设备。
4.如果通信线跨越的距离很长(如跨海的),那么线路上将安装中继器,以周期性地加强和传播信号。
中继器(repeater):在较长的通信线路上加强和传播信号的网路设备。
15.2 开放式系统与协议
协议被定义为严格遵守正确的规矩和程序(如在外交交流)的代码。计算术语借用了这个词来描述与其他计算机交流时应该使用的正确规矩。
15.2.1 开放式系统
1.在计算机网路发展的早期,销售商提出了许多希望商家能够采用的技术。问题是这些专有系统都有自己特有的差别,不同类型的网路之间不能进行通信。随着网路技术发展,对互通性的需求越来越明显,我们需要一种使不同销售商出售的计算系统能够通信的方式。
专有系统(proprietary system):使用特点销售商的私有技术的系统。
互通性(interoperability):多台机器上的来自多个销售商的软件和硬件互相通信的能力。
开放式系统(Open system):以网络体系结构的通用模型为基础并且伴有一组协议的系统。
开发系统互相连参考模型(Open System Interconnection(OSI)reference model):为了便于建立通信标准而对网路交互进行的7层逻辑划分。
层数 | 方面 |
---|---|
7 | 应用层 |
6 | 表示层 |
5 | 会话层 |
4 | 传输层 |
3 | 网络层 |
2 | 数据链路层 |
1 | 物理层 |
15.2.2 网络协议
网络协议参照OSI参考模型的基本概念也进行了分层,以便OSI参考模型中的每一层都能依靠自己的基础协议,这种分层有时叫做协议栈。
•协议栈(protocol stack):彼此依托的协议分层。
15.2.3 TCP/IP
1.TCP是传输控制协议的缩写,IP是网际协议的缩写。
2.传输控制协议(Transmission Control Protocol,TCP):把消息分割成包,在目的地把包重新组装成消息,并负责处理错误的网路协议
。
3.网际协议(Internet Protocol,IP):网络协议,处理包通过互相连接的网路传递到最终目的地的路由选择。
4.TCP/IP一组支持底层网路通信的协议和程序。
5.用户数据报协议(User Datagram Protocol,UDP):牺牲一定可靠性实现较高传输速率的网络协议,是TCP的替代者。
5.ping:用于测试一台特定的网路计算机是否活动的以及是否可到达的程序。
6.跟踪路由程序(traceroute):用于展示包括在到达目的节点的过程中经过的程序。
15.2.4 高层协议
一些关键的高层协议如下:
•简单邮件传输协议(SMTP)——用于指定电子邮件的传输方式的协议。
•文件传输协议(FTP)——允许一台计算机上的用户把文件传到另一台机器或从另一台机器传回文件的协议。
•Telnet——用于从远程计算机登录一个计算机系统的协议。如果你在一台特定的计算机上拥有允许Telnet连接的账户,那么就可以运行采用tenet协议的程序,连接并登录到这台机器,就像你坐在这台机器面前一样。
•超文本传输协议(HTTP)——定义WWW文档交换的,WWW文档通常是用超文本标记语言(HTML)写成的。
•有些高层协议具有特定的端口号。
端口(port):特定高层协议对应的数字标号。
15.2.5 MIME类型
与网络协议和标准化相关的概念是文件的MIME类型。MIME为多用途网际邮件扩充(Multippurpose Internet Mail Extension)的缩写。
MIME类型(MIME type):定义电子邮件或网站文件格式的标准。
15.2.6 防火墙
1.防火墙(firewall):一台网关机器,它的软件通过过滤网络通信来保护网络。
2.防火墙地主要作用是保护(从某种程度上讲是隐藏)驻留在它“后边”的一组管理比较松懈的机器。
3.防火墙会强制执行一个组织的访问控制策略。访问控制策略(access control policy):一个组织建立的一组规则,规定了接受和拒绝什么类型的网路通信。
4.实现这一策略的方法很多,最直接了当的方法是拒绝特定端口的通信。
5.防火墙能够决定的通信状态越多,就越能够保护它的用户。当然,这种安全性是有代价的。有些复杂的防火墙会给网络通信带来明显的延迟。
15.3 网络地址
1.当你通过一个计算机网路进行通信时,最终都是在与世界上某处的另一台计算机通信。
2.在处理电子邮件地址和站点时,我们倾向于使用主机名,因为它们容易理解和记忆。但是,网络软件却要把主机名翻译成对应的IP地址,这样更便于计算机使用。IP地址通常是4个十进制数,中间由点号分隔。
主机名(hostname):由点号分隔的单词组构成的名字,唯一标识了Internet的机器,每个主机名对应一个特定的IP地址。
IP地址(IP Address):由点号分隔的四个数值构成的地址,唯一表示了Internet上的机器。
3.IPv4协议的一个主要问题是,它限定了可以唯一识别的电脑的数量(40亿左右)。
4.IPv6协议是IPv4协议的继承者,与之前使用的32位(使用4个组别的8位)的IPv4协议不同,IPv6使用8个组别的16位共128位地址。
5.IPv6地址通常写作十六进制数字来保持长度可控。
域名系统
1.主机名由计算机名加域名构成。
域名(domain name):主机名中说明特定的组织或分组部分。
2.域名中的最后一部分叫作顶级域名(TLD)。
顶级域名(Top-Level Domain,TLD):域名中的最后一部分,声明了组织的类型或所属国家。
3.ICANN代表赋值名称与数字互联网公司,是管理顶级域名(TDL)的国际权威。
4.一种TLD通常用于一种特定类型的组织,如.com用于商业组织,.edu用于大学和学院。
5.有些TLD是受严格控制的(如 .edu),有的则没那么严格(如 .com)
•ICANN:批准顶级域名的国际组织。
•域名抢注(domain squatting):购买域名,目的仅仅是为了高价卖给真正想使用它的人或组织。
6.域名系统(DNS)主要用于把主机名翻译成数字IP地址。
•域名系统(domain name system):管理主机名解析的分布式系统。
•域名服务器(domain name server):把主机名翻译成IP地址的计算机。
7.DNS是一种分布式数据库,没有一个组织负责更新主机名/IP映射。
15.4 云计算
1.通过云计算,你可以获得存储空间、设备自动同步以及访问Internet上的其他资源。
云计算(Cloud computing):提供存储空间和互联网上其他资源的服务。
2.目前有几种不同类型的云服务:
•公有云:允许任何订阅用户访问。
•私有云:专门为一个特定的组或组织建立,并限制在该组织团体内访问。
•社区云:在拥有相似需求的多个组织之间进行云共享。
•混合云:上述云服务类型的一些组合。
小结
•网络是一组连接在一起以共享资源和数据的计算机。网络技术注重的是底层协议和数据传输速度。
•通常根据网络的作用域对它们分类。以太网已经成了局域网的标准拓朴。
•开放式系统的基础是通用的网络体系结构模型和协议,具有互通性。
•Internet骨干网是由不同公司提供的一组高速网络。Internet服务提供商(ISP)直接连接到骨干网或连接到其他的ISP,为家用计算和商业计算提供网络连接。
•Internet上传输的消息被分割成了包,每个包被独立传送到目的地,再次所有包被重新组合成原始信息。
•网络协议也有分层,这样高层协议将以低层协议为支持。支持Internet通信的关键低层协议是TCP/IP。
•高层协议有SMTP,负责电子邮件通信,FTP负责文件传输,telent负责远程登录会话,HTTP负责Web通信。
•防火墙可以保护网络免受不正当的访问,给网络施加组织特定的访问控制策略。有些防火墙只会阻止特定端口上的通信,而有些复杂的防火墙则可以分析网络通信的内容。
•Internet的网络地址必须精确到一台特定的机器。
•域名系统(DNS)负责把主机名翻译成IP地址。
•云计算是一种在互联网上提供存储空间和其他资源的服务,主要是把你从管理数据的任务中解放出来,并且使得无论你在哪里数据都能被访问到。
第十六章 万维网
16.1 Web简介
1.与Internet相比,万维网是个相对较新的概念。
2.万维网(World Wide Web,Web):信息和用于访问信息的网路软件的基础设施。
3.Web页(Web page):包含或引用各种类型的数据的文档。
4.链接(link):两个Web页之间的连接。
5.Web站点(Website):一组相关的Web页,通常有同一个人或公司设计和控制。
6.Internet使通信成为可能,而Web则使通信变得更轻松、更丰富、更有趣。
7.Web浏览器是处理Web页的请求并在它到达后将其显示出来的软件工具。
8.Web地址是统一资源定位符(URL)的核心部分,URL唯一标识了存储在世界各处的Web页。
Web浏览器(Web browser):获取并显示Web页的软件工具。
Web服务器(Web server):用于响应Web页请求的计算机。
统一资源定位符(Uniform Resource Locator,URL):说明Web地址的标准方式。
9.除了文本,Web页通常还包括一些独立的元素,如图像。
16.1.1 搜索引擎
1.Web搜索引擎是帮助你找到其他Web站点的站点。
2.搜索引擎是通过搜索具有上百万个Web站点的信息的数据库来生成候选站点列表的。
3.大多数搜索引擎是用户输入的关键字与作为站点索引的一组关键字进行比较。
4.有的搜索引擎执行基于概念的搜索,即尝试判断所执行的搜索的上下文。
5.执行基于概念的搜索基本前提是费雷,及对比相近的单词。
16.1.2 即时消息(Instant Messaging,IM)
顾名思义,使用这些程序,你可以实时地给朋友或工作伙伴发送消息。如果发送者和接收者同时运行了即时消息应用程序,那么消息一到达就好立刻弹出来,这样两个人就能进行在线“交谈”。现在领先的IM应用程序是America Online(AOL)Instant Messenger(AIM)
16.1.3 博客
Weblog简称为博客(blog),是在网站定期发表文章的一种途径。
16.1.4 cookie
•cookie是另一个基于Web的技术,对于用户而言,它增强了Web的实用性。cookie是Web服务器存储在内的计算机硬盘上的一个小文本文件。站点可能会在用户的机器上存储一个cookie,以捕捉之前之前这台机器和站点之间发生的交互。
•cookie中存储的信息段是名字-值对以及存储信息的站点的名字。例如:
UserID KDFH547FH398DFJ www.goto.com
16.2 HTML
1.Web页是用超文本标记语言(HTML)创建的。
超文本标记语言(HyperText Markup Language,HTML):用于创建Web页的语言。
标记语言(markup language):使用标记来注释文档中的信息的语言。
标记(tag):标记语言中用于说明如何显示信息的语法元素。
下列展示了某Web页的底层HTML文档,它规定了在这个Web中看到的所有格式信息。
< HTML>
<TITLE.Student Dynamices
< BODY >
< CENTER>< IMG SRC="stuDynamics.gif">< /CENTER>
< HR >
< CENTER >< I >A student-based community organization.< I >< / CENTER>
< HR >
< P >Plan to participate in our upcoming events:< / p >
< UL >
< LI >Visit Children's Hospital (March 23)< / LI>
< LI >Help clean renovated school grounds (April 4 )< /LI >
< LI > Continue the < a href="outreach.html" >K-12 outreach program.< /a >< IMG SRC="updated.gif" >< /LI >
< /UL >
< P> < B >< I >You should be involved!< /B > < / I >Help our active and energetic team make a difference in the lives of people.Our< a herf="execBoard.html">executive board < /a > is always willing to anwser any questions you may have.< / P>
< P >How can we help you? What suggestions do you have ragarding new activeties?< a href="suggestions.html">Let us know!< / a >< /P >
< P >We are always in need of donations : equipment, monet, or (better yet) you < /P >
< CENTER >< H3 >Join us for our Spring Pincnic in May !< /H3 >< CENTER >
< / BODY >
< /HTML>
16.2.1 基本的HTML格式
•段落标记(< P >......< /P >)说明了应该将其中的文本作为单独的段落处理。
•居中标记(< CENTER>......</ CENTER>)
•< HR >将在页面中插入一条水平线,通常用于把Web页分割成几个部分。
•UL元素表示无序列表,LI元素表示一个列表项。
16.2.2 图像与链接
1.许多标记都具有属性,说明了有关信息的额外细节或如何显示封装的信息。
属性(attribute):标记中用于提供有关元素的额外信息部分。
2.属性的形式如下:
属性名=值
16.2.3 HTML5
精简标记系统和支持动态内容的最新HTML标准。
包括:
•< section >——定义部分网页。
•< header >——定义页面的页眉。
•< footer >——定义页面上的页脚。
•< nav >——定义页面上的导航元素。
•< article >——定义页面文章或主要内容
•< aside >——定义可能出现在侧边栏的次要内容。
•< figure >——定义注解文章的图像。
3.HTML5的另一个令人兴奋的方面是它的动态变化的页面内容在用户不与页面进行交互的时候仍然可以改变。
16.3 交互式网页
16.3.1 Java小程序
Java小程序(Java applet):为嵌入HTML文档而设计的程序,能够通过Web传输,在浏览器中执行。
Java小程序使用APPLET标记嵌入HTML文档的,如:
< APPLE code= "MyApplet.class" width=250 height=160>
< /APPLET >
16.3.2 Java服务器页
1.Java服务器页(Java Server Page,JSP)是嵌入了JSP小脚本的Web页。
2.JSP小脚本(JSP scriptlet):嵌在HTML文档中用于给Web页提供动态内容的代码片段。
16.4 XML
1.可扩展标记语言(eXtensible Markup Language,XML):允许用户描述文档内容的语言。
2.XML是一种元语言。元语言通过使我们精确地运用常规语言而超出常规语言,是谈论或定义其他语言的语言,就像描述英语规则的英语语法书。
元语言(metalanguage):用于定义其他语言的语言。
3.文档类型定义(Document Type Definition,DTD):XML文档结构的规约。
4.可扩展样式表语言(eXtensible Stylesheet Language,XSL):定义XML文档到其他输出格式之间转换的语言。
16.5 社交网络
1.社交网络(social network):允许拥有共同兴趣的人们进行交流互动的在线服务。
2.当下流行的社交网络包括Facebook,Twitter,LinkedIn。Facebool目前拥有超过8亿用户。
3.在线社交网络通常将用户分为两大类:内部用户,参与者都在一个封闭的或私人的社区(如公司、协会或组织)之内;外部用户,对参与者没有限制。
小结
•虽然术语Internet和Web常被混为一谈,但它们并不相同。
•Web页不仅包含信息,还包含对其他资源(如图像)的引用。
•所谓访问一个Web站点,其实就是请求存储在远程Web服务器上的Web页,把它拿到本地计算机上以便浏览。
•有些Web站点是搜索引擎,用户只要输入单词或短语,站点就可以根据这些单词或短语搜索相关信息。
•即时信息(IM)应用程序为Web提供了另一种交互方式,它允许用户进行在线交谈。
•博客是定期在网络上发表文章的工具。
•cookie使Web站点存储在你的硬盘上的小文本文件,以便你返回该站点时,该站点能够得到有关你以及你上次访问的信息。
•超文本标记语言(HTML)是定义Web页的主要方法。
•HTML标记既可以规定整个文档的结构,也可以执行基本的格式化,如标题、段落和居中提示文本等。
•有些HTML标记具有属性,声明了额外的信息。
•Java服务器页把小脚本混入HTML代码中,有Web服务器执行,以协助动态地定义Web页地内容。
•XML是可扩展标记语言地缩写。
•XML标记的格式和他们之间的关系定义在文档类型定义(DTD)文档中。
•社交网络是许多人在网络上进行互动的重要组成部分。