《分布式系统:概念与设计》一3.4 互联网协议

简介: 本节书摘来华章计算机《分布式系统:概念与设计》一书中的第3章 ,第3.1节,(英) George Coulouris Jean DollimoreTim Kindberg Gordon Blair 著 金蓓弘 马应龙 等译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4 互联网协议

本节将介绍TCP/IP协议组的主要特点,并讨论在分布式系统中使用它们的好处及局限性。
互联网的研究始于20世纪70年代早期的ARPANET——第一个大规模计算机网络的开发[Leiner et al.1997],随着近20年的研究和开发,互联网渐渐成形。这项研究的一个重要部分是开发TCP/IP协议组,TCP指传输控制协议,IP是指网际协议。TCP/IP和互联网应用协议在美国研究网络中的广泛采用以及最近在许多国家的商业网络中的广泛使用,使得全国的网络可以集成为一个互连网络,这一网络已经迅速发展到目前数量超过6000万主机的规模。现在许多应用服务和应用层的协议(列在下面的各个括号内)都是基于TCP/IP的,包括Web(HTTP)、电子邮件(SMTP、POP)、网络新闻(NNTP)、文件传输(FTP)和远程登录(telnet)。TCP是一个传输协议,它可以直接支持应用程序,也可以将附加的协议加在它上面,以提供额外的特点。例如,通常HTTP传输时直接使用TCP,但当需要端-端的安全性时,传输层安全(TLS)协议(在11.6.3节讨论)就会放在TCP的上层,以建立安全信道,HTTP消息通过这一安全信道传输。
最初,开发互联网协议是用来支持一些简单的广域应用,如文件传输和电子邮件,这涉及在地理上相隔很远的、有较长延迟的通信。但这些协议已被证明足以有效支持很多分布式应用的需求,不论这些应用是在广域网上还是在局域网上,它们现在广泛应用于分布式系统中。通信协议的标准化带来了巨大的好处。
图3-6所示的互连网络协议层的一般性说明被翻译成图3-12所示的互联网的特例,其中有两个传输协议——TCP(传输控制协议)和UDP(用户数据报协议)。TCP是一个面向连接的可靠协议,而UDP是一个不能保证可靠传输的数据报协议。网际协议(IP)是互联网虚拟网络的底层“网络”协议,也就是说,IP数据报为互联网和其他TCP/IP网络提供了基本的传输机制。我们在前面的句子中给“网络”一词加上引号,因为它并不是唯一的互联网通信实现所涉及的网络层。这是因为网际协议通常是在另一个网络技术之上,如以太网,它已经提供了一个网络层,该层使得连接到同一网络的计算机可以交换数据报。图3-13说明了通过TCP在底层以太网上传输消息的时候数据包的封装过程。头部的标签给出了上层协议的类型,以便接收协议栈正确地解开这个数据包。在TCP层,接收方的端口号有类似的作用,使得接收主机的TCP软件组件可以将消息送到特定的应用层进程中去。
image

TCP/IP规约[Postel 1981a;1981b]没有详细描述互联网数据报层以下的层,互联网层的IP数据包会转换成可以在几乎任何底层网络或数据链路上传输的包。
举例来说,IP起初运行在APPANET上,这个网络包括主机和一些由长距离数据链路连接的早期版本的路由器(称为PSE)。如今,IP实际上已经用于各种网络技术了,包括ATM、局域网(如以太网)和令牌环网。在串行线路和电话电路上通过PPP协议[Parker 1992]实现IP,使得IP可用于与调制解调器连接和其他串行链路的通信。
TCP/IP的成功源于它独立于底层传输技术,这使得互连网络可以由许多异构的网络或数据链路建立起来。用户和应用程序感知到的是一个支持TCP和UDP的虚拟网络,TCP和UDP的实现者看到一个虚拟IP网络,它隐藏了底层传输介质的多样性。图3-14说明了这个观点。
image

下面两节将详细描述IP寻址方案和IP协议。用于将互联网用户很熟悉的www.amazon.com、hpl.hp.com、stanford.edu、qmw.ac.uk这些域名转化成IP地址的域名系统将在3.4.7节中介绍,第9章将给出更全面的叙述。
现在,互联网上使用的主要IP协议的版本是IPv4(从1984年1月开始),这也是我们将在下面两小节里讨论的版本。但由于互联网使用的飞速发展,人们也不得不发布新的IP版本IPv6,以克服IPv4中地址数量的限制并为之增添功能以满足新的需求。我们将在3.4.4节描述IPv6。由于大量的软件将受此影响,所以逐渐过渡到IPv6的计划将在10年或更长的时间里来完成。

相关文章
|
2月前
|
存储 安全 JavaScript
【分布式技术专题】「授权认证体系」深度解析OAuth2.0协议的原理和流程框架实现指南(授权流程和模式)
在传统的客户端-服务器身份验证模式中,客户端请求服务器上访问受限的资源(受保护的资源)时,需要使用资源所有者的凭据在服务器上进行身份验证。资源所有者为了给第三方应用提供受限资源的访问权限,需要与第三方共享它的凭据。这就导致一些问题和局限:
426 2
【分布式技术专题】「授权认证体系」深度解析OAuth2.0协议的原理和流程框架实现指南(授权流程和模式)
|
1月前
|
分布式计算 资源调度 网络协议
分布式系统详解--框架(Hadoop--RPC协议)
分布式系统详解--框架(Hadoop--RPC协议)
26 0
|
2月前
|
传感器 存储 SQL
LabVIEW使用ModbusTCP协议构建分布式测量系统
LabVIEW使用ModbusTCP协议构建分布式测量系统
49 4
|
2月前
|
程序员
深入解析:分布式一致性的终极解决方案——XA协议
本文介绍了分布式系统中的两种一致性协议:2PC(两阶段提交)和3PC(三阶段提交)。2PC分为准备和提交两个阶段,确保所有参与者在提交前达成一致。3PC则在2PC基础上增加了一个CanCommit阶段,提高容错性和可用性,参与者在超时后可自行中断事务。选择协议需依据业务需求和系统特点,高一致性要求可选3PC,注重性能则选2PC。
44 0
|
2月前
|
算法 安全
金石原创 |【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(Paxos篇)
金石原创 |【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(Paxos篇)
209 1
金石原创 |【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(Paxos篇)
|
2月前
|
存储 监控 安全
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
金石推荐 | 【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式
107 1
|
2月前
|
算法 调度
金石原创 |【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(上篇)
金石原创 |【分布式技术专题】「分布式技术架构」一文带你厘清分布式事务协议及分布式一致性协议的算法原理和核心流程机制(上篇)
107 1
|
2月前
|
存储 算法 前端开发
作者推荐 | 分布式协议之巅 — 揭秘基础Paxos与Raft协议如何实现分布式系统达成一致性(非变种Paxos协议)
作者推荐 | 分布式协议之巅 — 揭秘基础Paxos与Raft协议如何实现分布式系统达成一致性(非变种Paxos协议)
313 0
|
2月前
|
网络协议 Devops 大数据
【分布式】大型互联网项目特点
【1月更文挑战第25天】【分布式】大型互联网项目特点
|
2月前
|
存储 缓存 监控
【分布式】大型互联网项目架构目标
【1月更文挑战第25天】【分布式】大型互联网项目架构目标