Citrix的XenDesktop5.x和XenApp6.5的打开桌面或者应用也就分钟级的时间,但是在这其中整体系统的数据流是比较复杂的,了解这些数据流程有助于我们排错。这是我2013年在一个项目上,根据网上文档整理的。这个项目基于XenDesktop5.6和XenApp6.5嵌套部署,底层采用XenServer。
虚拟桌面访问数据流
虚拟桌面和虚拟应用嵌套数据流
其中在虚拟桌面的访问中,有多个流程。xenapp 服务器下面我将详细描述着这些流程。
虚拟桌面注册数据流程
DHCP收到这个请求的广播包之后,会在自己的地址池里面随机拿一个ip地址,封装在返回的数据包里面。VDA接受数据包获得ip地址。
通过DNS解析DDC IP地址;【查找DDC的FQDN:当虚拟机上Citrix Desktop Service服务启动后,VDA会查询注册表ListOfDDCs项(HKLM\SOFTWARE\Citrix\VirtualDesktopAgent\ListOfDDCs),以获取DDC的地址,其值类似于“DDC1.xxx.comDDC2.xxx.com”,多个DDC的FQDN值之间以空格隔开。】
发起注册请求:VDA根据AD的检验结果,得出最终可用于注册的DDC FQDN,若存在多个合法值,则随机选择其中一个DDC,调用其IRegistrar接口向其发起注册请求。
下发配置:DDC向VDA下发Policy配置,其中包括Farm、DG等配置信息。更新:Farm下各DDC间更新虚拟机注册状态为“Ready”,至此,注册流程结束。
虚拟桌面桌面注册之后,状态显示已就绪,那么用户就可以访问虚拟桌面并进行使用了。在这一过程中,根据登录流程的关键步骤,将整个流程分为4个阶段:访问WI界面、获取VM列表、下载ICA文件、登录VM,下面详细介绍这4步。
用户插入智能卡后,瘦客户端通过浏览器(如https://xxx.com)发送登陆请求,通过负载均衡,选择一个WI,并将WI界面返回给瘦客户端的显示界面上。
流程介绍:
WI登陆:用户在显示器上看到WI登录界面后,点击“虚拟桌面”图标,瘦客会将用户书传递给Citrix Web Intece站点;
WI将用户书信息传递给DDC;
DDC收到请求后,向AD验证域帐号是否合法;
AD将信息发给LDAP验证;
LDAP返回结果;
AD将结果返回给DDC。
DDC在DB中查询虚拟机列表;
DB返回给DDC;
DDC向WI返回信息;
WI向Client呈现虚拟机图标。
详细流程:
2. 获取信息:WI向DDC发起三次请求,获取组装ICA文件所需的三样东西:Address Ticket(在内网访问环境中,该项为虚拟机IP)、Logon Ticket、Launch Ref。xenapp 服务器
c) Prepare Session:DDC通过WCF调用虚拟机VDA的ISessionManager接口,让虚拟机PrepareSession以断开所有其它连接(在这一步,旧连接会断开,但也有例外,如果旧连接使用的帐号权限比新连接使用的帐号权限高,则无法断开旧连接)。
e)WI根据自身的配置项比较,可判断出本次连接是外网连接还是内网连接,如果是内网连接,则获取虚拟机IP流程结束,如果是外网流程,则继续第6步。
WI向DDC发起第二次请求,访问DDC的STA服务,将该次用户在WI传输的身份信息向STA寄存,换回一个Logon Ticket。
3、组装ICA文件:WI拿到了AddressTicket(在内网访问环境中,该项为虚拟机IP)、Logon Ticket、Launch Ref后,将其组装为一个ICA文件,并传递给客户端。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-29671-1.html
小王子
你知道什么意思了吧