【精品】《分布式系统》第三章 网络与通信(可编辑.ppt
《【精品】《分布式系统》第三章 网络与通信(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】《分布式系统》第三章 网络与通信(可编辑.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、分布式系统第三章 网络与通信网络n一组互联的资源n主机(Hosts)运行网络应用软件:-客户/服务器-对等节点n网络基础设施由一组互联的设备构成:n网络节点:接收/发送、转发、路由选择的主机及软硬件n连接:传送信息的通道 2第三章 网络与通信传送介质传送介质n传送字位、字节、或者数据包 n网络延迟:两个节点之间传送一个空数据包所需时间n传输速率:两个节点之间传输数据的速度(bps)n物理介质:-同轴电缆-光纤-激光-无线电(微波、卫星、无线局域网等)n传输模式:-点对点-组播-广播3第三章 网络与通信数据表示方法数据表示方法n字位(Bit)-不同的协议采用不同的接口定义-常用于多媒体、音像-需
2、要特殊字位段区分数据流(如帧分隔)n字节(Bytes)-通常为 ASCII 或 Unicode 构成的行文-文档、文字页面-字符集中含有各种区分符(文始、文终、回车等)01100001011000111 01110101字位(字位(Bits)字节(字节(Bytes)00000010 10000000 101000014第三章 网络与通信基本数据块基本数据块:帧帧n一块(定长)数据称为帧(frame)-在 开关之间的基本传输单位n帧被用来传输网络节点之间的数据包(packets)-帧头n地址(通常低级协议地址)n控制信息-帧尾n错误校验n帧的长度一般由接口缓冲的大小所限制帧头数据帧尾帧:5第三章
3、 网络与通信连接连接 LANs 和和 WANs通往其它通往其它LANs通往通往Internet主机一般由LAN的开关(switch)相连 连接个数由开关的端口数决定n路由器(Routers)-连接 LANs-连接 WAN 或 Internet开关路由器8第三章 网络与通信以太网以太网(Ethernet)n1973年,Xerox PARC公司首次推出以太网。1985年,国际标准化组织对以太网制定了标准(IEEE 802.3)。n以太网是以共享总线为媒介采用载波侦听多路访问/碰撞检测(CSMA/CD)机制来解决对总线的竞争的广播网,基本数据单位是固定格式的数据包(packet)。n一个数据包至少包
4、含64字节至多高达1518字节 目的地地址目的地地址源地址源地址类型类型数据数据校验码校验码6字节6字节2字节46字节长度1500字节4字节9第三章 网络与通信多路访问多路访问/碰撞检测碰撞检测(CSMA/CD)CSMA/CD)机制机制 发送最小信息报时间 2甲机乙机n如果某台计算机发现信息包目的地址与自己的地址匹配,则把信息包接收下来;n如果某台计算机试图发送信息而发现此时此刻已经有人占用网络,则暂缓发送以避免冲突;n如果某台计算机已经开始发送,稍后突然发现自己的信息包与别人的信息包碰撞,则要采取某种策略重发信息包。10第三章 网络与通信异步异步传输传输模式模式ATMATM网网 nATM把传
5、输的基本信息单位称作信元(cell),采用信元中继(cell relay)技术进行数据交换。n必须首先建立通信的连接。一个连接由一系列的嵌在虚路径(VP:Virtual Path)的虚通道(VC:Virtual Channel)组成。一个虚通道VC是对从发送者到接收者的物理信道的一种点对点的逻辑表示,而一条虚路径VP则是介于两个ATM交换机之间的一组虚通道的集合。n一旦建立了连接,ATM就可以保证通信的质量,如网络带宽和网络延迟等,同时亦保证可靠的数据传输。虚路径虚路径虚通道虚通道标识标识数据数据信元头:5字节信元体:48字节11第三章 网络与通信网络协议网络协议n问题:接收者如何知道信息是正
6、确完整的?信息包中的数据是如何编码的?数据的类型是如何标识的?信息包是怎样在网络上中继转发的?数据包是如何编址的?n协议(protocol)指的是通信双方都必须遵守的一组规则和格式。n通信协议一般采用分层模型,不同层次上的协议解决一个具体的问题,从低级到高级,逐层提供更透明更一般化更容易使用的通信接口。一组完备的协议通常称为协议栈(protocol stack)。n最著名的通信协议是国际标准化组织颁布的开放系统互联参考模型(ISO OSI:Open System Interconnection Reference Model),简称为OSI,这个模型由七层的协议栈构成。12第三章 网络与通信O
7、SI:七层协议七层协议高级应用支持工具高级应用支持工具转化不同环境下的数据表示转化不同环境下的数据表示应用同步和连接管理应用同步和连接管理传输及纠错传输及纠错网络编址和路由网络编址和路由 连接控制连接控制物理介质、时间、位传输物理介质、时间、位传输网络协议网络协议应用协议应用协议第第1层层 物理层物理层第第2层层 链路层链路层第第3层层 网络层网络层第第4层层 传输层传输层第第5层层 会话层会话层第第6层层 表示层表示层第第7层层 应用层应用层13第三章 网络与通信OSI 和和 IETF 协议之比较协议之比较第第 5/6/7层层:应用应用TCP,UDPIPPPP,802.3,5,11,等等物理
8、层物理层网络协议网络协议应用协议应用协议IETF 模型模型OSI 模型模型第第1层层 物理层物理层第第2层层 链路层链路层第第3层层 网络层网络层第第4层层 传输层传输层第第5层层 会话层会话层第第6层层 表示层表示层第第7层层 应用层应用层逻辑逻辑MACIETF:The Internet Engineering Task Force(常用)(常用)OSI:Open System Interconnection Reference Model14第三章 网络与通信协议数据封装协议数据封装数据如:TCP 封装如:IP数据包物理层网络层传输层应用层链路层如:Ethernet 帧1010111001
9、01T 头数据 N 头数据L 头CRC数据15第三章 网络与通信协议数据流协议数据流目的地 IP 目的地端口传输协议源 IP源端口传输协议物理网络IPTCPUDPDNS客户Web客户物理网络IPTCPUDPWeb 服务器主机主机 A主机主机 B源 NIC目的地 NICURL16第三章 网络与通信通信模型通信模型 消息传送 低级通信,如套接字 非结构化点对点进程间通信 多种通信模式 数据流 连续多媒体数据 实时数据服务 请求-回应(RPC)客户/服务器模型 RPC(远程过程调用)RMI(远程方法调用)17第三章 网络与通信Message Passing Definitions(1)n基本函数基本
10、函数:发送、接收、创建、连通、定位、回应、应答发送、接收、创建、连通、定位、回应、应答 n传递方式传递方式:点对点、组播、广播点对点、组播、广播 n消息内容消息内容:数据或指令数据或指令 n通道通道:n-连接、端口、信箱 n-单向、双向n-固定容量缓冲、无限量缓冲n消息接收方式消息接收方式:n显式接收显式接收 接收者可以选择消息n隐式接收隐式接收 接收者必须接受到达的消息两条重要原语:两条重要原语:发送(目的地,消息)接收(发源地,消息)18第三章 网络与通信编址方法编址方法 发送进程接收进程发送进程发送进程发送进程发送进程发送进程接收进程接收进程接收进程信箱发送进程发送进程接收进程端口(a)
11、进程名编址(b)连接编址(c)信箱编址(d)端口编址19第三章 网络与通信消息通信过程n发送者通过发送原语把消息和接收者名字传递给系统的通讯模块 n系统通讯模块启动通讯协议把消息送往接收目的地 n目的地系统通讯模块按照通讯协议接收消息 n接收者通过接收原语从系统通讯模块索取消息 20第三章 网络与通信发送原语语义n非阻塞发送:一旦信息被发送方系统通讯模块接收,立即释放发送者 n阻塞发送:阻塞发送者,直到整个信息成功地传送到网络上为止 n可靠的阻塞发送:阻塞发送者,直到整个信息成功地存入目的地通讯模块的缓冲为止 n显式阻塞发送:阻塞发送者,直到接收者成功地接收信息为止 21第三章 网络与通信发送
12、语义、系统缓冲及可靠性发送语义发送语义发送方系统缓冲发送方系统缓冲消息传送可靠性消息传送可靠性非阻塞发送必要无保证阻塞发送不必要无保证可靠的阻塞发送不必要保证显式阻塞发送不必要保证22第三章 网络与通信(1)基于系统缓冲的长存异步通信(2)基于系统缓冲的长存同步通信(4)基于接收缓冲的暂存同步通信(3)基于接收缓冲的暂存异步通信(5)基于处理回应的暂存同步通信(4)基于接收提交的暂存同步通信 系统消息缓冲 系统消息缓冲 六种组合通信方式 23第三章 网络与通信一个套接字是由网络操作系统所管理的一个进程通信端口 套接字模型试图把网络的发送/接收语义模拟成传统文件系统的输出/输入语义,因而增强计算
13、机网络的透明性 在创建一个套接字的时候,我们还必须确定它将使用的通信协议,目前可选择的协议有两种:TCP或UDP,前者是一个可靠的、面向连接的字符流传输协议;而后者是不可靠的、无连接的数据报传输协议一个套接字包含两方面的信息:一,进程所处计算机的网络地址(即IP地址);二,进程所用的网络端口号 我们就可以通过一个bindbind系统调用把一个进程绑定到一个物理端口上,从而打通一个进程从逻辑到物理的通信通道 套接字程序设计套接字程序设计24第三章 网络与通信套接字模型套接字模型 逻辑通信端点(LCE:Logical Communication Endpoint)物理通信端点(PCE:Physic
14、al Communication Endpoint)进程 LCE PCE PCE LCE 进程socket(协议)bind(套接字,IP,端口)socket(协议)bind(套接字,IP,端口)计算机网络25第三章 网络与通信TCP/IP套接字系统调用套接字系统调用函数函数含义含义Socket创建套接字创建套接字 Bind把套接字把套接字绑定绑定(影射影射)到网络端口到网络端口 Listen宣布希望接收连接宣布希望接收连接Accept阻塞等待连接请求阻塞等待连接请求Connect主动要求建立连接主动要求建立连接Send发送消息发送消息Receive接收消息接收消息Close释放连接释放连接26
15、第三章 网络与通信TCP/IP套接字程序流程套接字程序流程socket()bind()listen()accept()socket()connect()recv()send()close()send()recv()close()服务器服务器客户客户阻塞等待客户连接处理客户请求处理客户请求创建套接字创建套接字绑定地址和端口绑定地址和端口通知被动等待外来连接通知被动等待外来连接接收连接接收连接向服务器发出连接请求向服务器发出连接请求发送发送/接收消息接收消息释放套接字释放套接字27第三章 网络与通信UDP/IP套接字程序流程套接字程序流程socket()bind()recvfrom()socket
16、()sendto()sendto()recvfrom()close()服务器服务器客户客户阻塞等待客户消息处理客户请求处理客户请求创建套接字创建套接字绑定地址和端口绑定地址和端口等待接收消息等待接收消息请求释放套接字释放套接字回应发送消息发送消息28第三章 网络与通信#include#include#include#include#define PORT_NUM 2222char message20;main()/*进进程程罗罗密欧:密欧:Romeo.c*/int romeo,fromlen;struct sockaddr_in romeo_addr,juliet_addr;/*/*创建套接字
17、创建套接字 romeo romeo 并填写网络端口信息并填写网络端口信息*/*/romeo=socket(AF_INET,SOCK_DGRAM,0);romeo_addr.sin_family=AF_INET;romeo_addr.sin_addr.s_addr=INADDR_ANY;romeo_addr.sin_port=0;/*/*把套接字把套接字 romeo romeo 绑定到网络端口绑定到网络端口 */*/bind(romeo,(struct sockaddr*)&romeo_addr,sizeof(romeo_addr);/*/*生成生成 Juliet Juliet 的网络端口的网络
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 分布式系统 【精品】分布式系统第三章 网络与通信可编辑 分布式 系统 第三 网络 通信 编辑
限制150内