《TCP/IP入门经典》精要6——高级主题


20章 Web服务

理解Web服务
web服务架构的理念是,web浏览器、web服务器和TCP/IP协议栈处理联网的细节,从而程序员就可以专注于应用程序的细节。一个完整的web服务场景是这样的:在前端,程序员可以利用预先存在的web基础设施,处理数据传输,并通过客户端计算机上的web浏览器应用程序提供用户界面。在后端,程序员依靠预先存在的数据存储系统(由一个SQL数据库提供)。这样,程序员就可以专注于中间的自定义应用程序部分。而现成的web服务平台组件可以更进一步简化程序设计任务。简单对象访问协议SOAP提供了一种标准的方法,用于在web服务进程之间处理基于XML的数据。

 

XML
XML通常描述为一种“用来创建标记语言的标记语言”。XML现在远不止于作为一种普通的web格式用来存储和传输数据。只要编写数据的应用程序和读取相应数据的应用程序在元素的含义方面达成一致,数据就可以借助XML奇迹般的特性,在这两个应用程序之间轻松并且经济地传递了。

 

SOAP
SOAP是一种标准协议,用来交换在web服务客户端和服务端之间传递的基于XML的消息。SOAP消息从发送者传递到接收者可能会经过中间节点,中间节点可能会提供日志记录功能,也可能会在所传递的消息一路到达其最终目的地的过程中以某种方式修改它。SOAP消息的结构由一个可选的报头和消息主体组成。报头包含标注、定义以及将被消息沿途任意节点使用的元消息。

 

WSDL
web服务描述语言WSDL提供一种XML格式,用于描述与web服务应用程序相关的服务。WSDL并不限于SOAP,也可以和其它web服务通信协议一同使用。

 

Web服务协议栈
有了XMLSOAPWSDL以及TCP/IPWeb服务框架的基础组件,开发人员就可以轻松创建出大小适度且简单易懂的客户端和服务器应用程序,通过web界面进行通信。

LAMP协议栈是一个开发源代码组件集,可以轻松针对Web服务环境进行修改。

Ø         Linux:一种支持服务器应用程序在服务器系统上运行的操作系统。

Ø         Apache:一种提供基于XMLSOAP消息的Web服务器。

Ø         MySQL:一种提供对后端数据服务访问的数据库系统。

Ø         PHP(或是PerlPython):一种Web-ready程序设计语言,用来编码自定义Web服务应用程序的具体细节。

所有的Web服务基础结构均提供相似的特性。Java程序设计语言经常与Web服务一同使用。微软公司通过.NET框架的工具提供与Java相当的功能。

 

电子商务
一个典型的Web交易场景如下:

1、  一台web服务器提供一个可以从web访问的在线产品目录。一名用户通过Internet从一个远程位置通过浏览器浏览这些产品信息。

2、  用户点击“购买此产品”链接。

3、  Web服务器和浏览器建立一个安全的连接。

4、  进行某种形式的身份验证。这个登录步骤要求web服务器联系某种后端数据库服务器,建立一个新的账户或者是检查提交的证明信息以登录某个现有账户。

5、  用户登录后,web服务器和信用卡验证服务器联系,检查用户的信用卡信息。

6、  如果交易被认可,则购买和投递信息被传输到履行服务器。


21章 新的Web

Web 2.0
Web 2.0技术基于许多与Web服务基础结构相同的组件,是一个反应新版交互式web的工具集。

Ø         数据库系统:用于存储和管理数据的单独系统。

Ø         设计元素:预定义的标准元素。

Ø         布局:站点的结构。

Ø         脚本:通过把数据注入预定义结构来生成HTML代码的一种方式。

这些工具所共有的一个重要特性是WYSIWYG(What You See Is What You Get)编辑界面,即“所见即所得”。

 

博客

一种在垂直滚动消息队列中张贴定期更新信息或新条目的网站。在服务器端,应用程序或脚本生产代码,根据与此新故事相关的数据记录,为故事标题、描述、引言、图像等要素插入属性值。


维基
一种可以轻松编辑的交互式网站,设计支持写作。一个XML模式或者类似的数据结构可能定义一系列与该条目相关的值,如TitleCategoryLanguageContents等。通过扩展这个结构,还可以跟踪对文本的修订。当这个页面被请求时,这些数据与布局标签和其它格式信息合在一起,形成出现在浏览器中的代码。

 

社交网站
几种支持博客编写、消息接发以及其它个人网站活动的服务之一。一堆与特定用户相关的属性被存储在数据库,当相应的页面被请求时,服务器上运行的软件就会将特定用户的数据与定义站点结构的常规模板融合在一起,以形成窗口看到的页面。

 

XHTML
XTML实质上是对符合XML语法的HTML功能的系统阐述。把HTML表示成XML模式的目的,是为了使开发人员在构建生成和解释代码的脚本及其它程序时,能够更加灵活。XHTML还有助于更容易的被接收实体动态解释或修改。

 

对等连网
每一个节点能够同时充当客户端和服务器。一台对等联网的计算机在服务器上注册其地址以及资源列表。其它计算机接着通过直接的连接来访问那些资源。

 

IRC和即时通信
当前有几种消息接发形式,有些是独占的,有些是开放式的。Internet中继聊天IRC是在TCP/IP应用程序层上运行的一种用于实时文本消息接发的协议和网络服务。一个IRC网络就是一组IRC服务器被配置为相互通话,以支持网络用户的交互聊天会话。

即时通信IM是一种实时消息接发技术,在概念上与聊天相似,但它没有那么多标准,而且通常提供范围更广的选项。

当前,还流行一种基于可扩展消息处理现场协议XMPP的开放源代码即时通信变体,其技术来自Jabber网络。XMPP是一种以XML为基础的协议,用于交换聊天消息。

 

语义万维网(Semantic Web)
语义web指一组设计提供有关web数据含义的信息的技术。有一个在Web界已经受到大量关注的语义万维网工具被称为资源描述框架RDFRDF是一种用来表达提供含义指示的关系的框架。RDF的基本单位是一条由3个部分组成的语句,在RDF中称为三元组。三元组的结构与基本句子的主、谓、宾结构相似。语义信息允许搜索引擎和其它工具对数据进行更精细的解释。

 


22章 网络入侵

入侵者想要什么
攻击技术可以分为3个基本的类别:

Ø         证书攻击:集中在获得证书以正常进入系统。

Ø         网络层攻击:攻击者找到一个开放的端口、无保护的服务或者防火墙中的缺口偷偷进入。

Ø         应用层攻击:攻击者利用系统上运行的某个应用程序程序代码中的已知缺陷,欺骗该应用程序执行任意命令。

 

证书攻击
一些常见的密码攻击方法包括:看看机箱外面、特洛伊木马、猜测、窃听。

 

网络层攻击
防火墙的一项重要功能就是控制访问,以防止网络扫描程序监听有关网络上所运行服务的信息。而对于会话劫持和其它基于协议的技术的最佳防范,是利用VPN或者是某一形式的加密通信来保护会话。

 

应用层攻击
应用层攻击技术的一个流行示例,就是缓冲区溢出。缓冲区溢出是通过溢出某一应用程序缓冲区,运行攻击者向系统输送的恶意命令。

 

Root访问
计算机系统的最高访问权。通常,在入侵者进行系统之后,首要的任务之一就是上传一个Rootkit,它是入侵者用来扩展和伪装其对某一系统的控制的一组工具。

 

钓鱼
利用某个伪造的链接、消息或网页来诱使用户主动连接到某个欺诈网站。如果用户发起到某个欺骗性web服务器的连接,那么阻止外部连接企图的本地防火墙通常是无效的。

 

拒绝服务(DOS)攻击
一种设计通过消耗系统资源来瘫痪受害者系统的攻击。

 


23章 TCP/IP安全

加密
加密是指系统地改变数据,使得越权用户无法读取它的过程。数据由发送方加密。然后,该数据以不可读的编码方式在网络上传输。接收方计算机接着解密和读取该数据。

对称(常规)加密
对称加密之所以称为对称,是因为解密过程完全是加密过程的反转。

 

非对称(公开密钥)加密
加密数据的密钥,与用来解密的密钥不同。一个是私有密钥,一个是公开密钥。

 

数字签名
用来检验发送方身份和数据完整性的加密字符串。数字签名的过程是发送方使用私有密钥进行加密,接收方使用公开密钥进行解密。

 

数字证书
一种加密的数据结构,用来分发公开密钥。数字证书实质上是公开密钥的一个加密副本。这个过程需要一台第三方的证书服务器,也叫认证中心CA

X.509标准的认证过程:

1、用户B通过一个安全通信,将其公开密钥的一个副本发送给证书服务器。

2、证书服务器使用另一个密钥加密用户B的公开密钥。这个新加密的数据包称为证书。与该证书包含在一起的是证书服务器的数字签名。

3、证书服务器将证书返回给B

4、用户A需要获得用户B的公开密钥。AB请求B的一个证书副本。

5A通过与证书服务器的安全通信,获得用来加密证书的密钥副本。

6A使用从证书服务器获得的密钥解密证书,并提取B的公开密钥。A同时检查证书服务器的数字签名,以确保证书是可信的。

 

SSL(安全套接层)和TLS
SSL是一种最初由网景公司开发的安全协议系统,它在TCP协议的上方运行。SSL层包含两个子层,SSL记录协议是访问TCP的一个标准库。在这之上,是一组执行特定服务的SSL相关协议。SSL的一个问题是,使用相应连接的应用程序必须知道SSL

 

IPSec(IP Security)
一种由多个IP协议扩展组成的安全协议系统。IPSecTCP/IP协议栈中运行,位于传输层之下。IPSec实质上是对IP协议的一组扩展。由于IPSec对高层应用程序不可见,因此它非常适于为像路由器和防火墙之类的网络设备提供安全。IPSec可以以下面两种模式之一运行:

Ø         传送模式为IP数据包的载荷提供加密。该载荷然后被封装进一个正常的IP数据包中进行传送。

Ø         隧道模式加密整个IP数据包。加密后的数据包,然后被作为载荷,包括进另一个外部数据包。这种模式常用于VPN产品。

IPSec使用许多加密算法和密钥分发技术,数据使用像AESRC5Blowfish这样的常规加密算法进行加密,身份验证和密钥分发可能会使用公开密钥技术。


虚拟专用网络(VPN)
连接距离不是很近、不够采用LAN样式电缆连接的计算机的两种重要方法:

Ø         拨号:远程用户通过调制解调器连接到某个拨号服务器,后者充当到目标网络的一个网关。

Ø         广域网WAN:两个网络通过租用电话公司或Internet服务提供商的专用线路连接在一起。

Ø         另外可以采用虚拟专用网络VPNVPN通过公用网络提供专用隧道。远程用户可以通过Internet发送带有加密载荷的正常数据报到VPN服务器,VPN服务器解密载荷后,数据可在受保护的LAN上安全地进行传递。

 

Kerberos
设计越过敌意网络,安全访问服务的一种网络身份验证和访问控制系统。Kerberos提供一种系统的方法,用于向通信主机分发密钥,并检验请求访问某一服务的客户端的证书。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值