
{"id":10170,"date":"2022-06-21T09:11:21","date_gmt":"2022-06-21T09:11:21","guid":{"rendered":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/"},"modified":"2024-12-05T13:46:17","modified_gmt":"2024-12-05T13:46:17","slug":"home_networking_subsystem","status":"publish","type":"page","link":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/","title":{"rendered":"Home Networking"},"content":{"rendered":"\n <div class=\"toc-macro client-side-toc-macro  conf-macro output-block\" data-headerelements=\"H1,H2,H3\" data-hasbody=\"false\" data-macro-name=\"toc\"> <\/div><h2 class=\"wp-main-header wp-block-heading\">Introduction<\/h2><p>RDK Home networking provides features for enabling the<span>&nbsp;next-generation home networks which is not only limited to interaction with our home entertainment systems but also provides a medium to control wide range of activities such as our home&#8217;s security, energy, health monitoring and environmental systems.<\/span><\/p><p><span>In general RDK Home network provides a set of interconnected devices tasked to carry out activities ranging from home entertainment to more interesting features such as home automation.<\/span><\/p><h2 class=\"wp-main-header wp-block-heading\">Features<\/h2><ul><li>User can connect multiple connected devices such as DTV, tablets, smartphones, and laptops to the Ethernet port or over Wi-Fi. The connected devices with supported clients can watch same or different HD or SD QAM linear TV programs simultaneously.&nbsp;<\/li><li><span>User can connect multiple IP over MoCA devices such as IP Clients to access Gateway services<\/span><\/li><li><span> User will not experience service degradation when watching any video program via supported TV or supported connected devices due to bandwidth constrain.<\/span><\/li><li><span> User MUST be able to access cloud services from all client devices supported by the Gateway device<\/span><\/li><li><span>Supports trans-coding&nbsp;linear TV programs into DTCP-IP protected video with adaptive streaming and uni-cast&nbsp;to all operator supported connected devices over WiFi and Ethernet&nbsp;in real time.<\/span><\/li><li><span> Support Time of Day synchronization as per DOCSIS ToD with network program guide server using a public time server such as <a href=\"http:\/\/time.nist.gov\" class=\"external-link\" rel=\"nofollow\">time.nist.gov<\/a>.<\/span><\/li><li><span> Must function as DMS to support&nbsp;<span>DLNA certified DMP connected devices<\/span><\/span><span><span><br class=\"_mce_tagged_br\"><\/span><\/span><\/li><\/ul><h2 class=\"wp-main-header wp-block-heading\"><span>Home Networking Interfaces<\/span><\/h2><ul><li><span>Wi-Fi<\/span><\/li><li><span>MoCA<\/span><\/li><li><span>Bluetooth<\/span><\/li><li><span>Ethernet<\/span><\/li><\/ul><p><span><br><\/span><\/p><h2 class=\"wp-main-header wp-block-heading\"><span>Home Networking Protocols<\/span><\/h2><p>RDK Supports several Home networking protocols for features such as device discovery, multimedia streaming.<\/p><h3 class=\"wp-sub-header\">DLNA CVP-2<\/h3><h3 id=\"HomeNetworkingSubsystem-FeatureSummary\">Feature Summary<\/h3><ul><li>Interoperability with CVP-2 clients<\/li><li>Customer option to enable\/disable DLNA<\/li><li>2 Box Model (DMP\/DMS)<\/li><li>MPEG-TS, AVC-TS<\/li><li>DTCP-IP Link Protection<\/li><li><p>RUI-H Discovery (UPnP&nbsp;RemoteUIServerDevice&nbsp;device and UPnP&nbsp;RemoteUIServer&nbsp;service)<\/p><\/li><li>Playback with trick modes<\/li><li>Live linear streaming<\/li><\/ul><h3 id=\"HomeNetworkingSubsystem-ArchitectureOverview\">Architecture&nbsp;Overview&nbsp;<\/h3><p>    \n\n<\/p><img decoding=\"async\" src=\"\/wp-content\/uploads\/sites\/16\/2023\/09\/Home%20networking.drawio.png\"><p>    \n\n<\/p><img decoding=\"async\" src=\"\/wp-content\/uploads\/sites\/16\/2023\/09\/Home%20networking%202.drawio.png\"><h3 id=\"HomeNetworkingSubsystem-RDKDLNAArchitecture\"><span>RDK DLNA Architecture<\/span><\/h3><p><span>    \n\n<img decoding=\"async\" src=\"\/wp-content\/uploads\/sites\/16\/2023\/09\/DLNA%20architecture.drawio.png\"><\/span><\/p><h3 id=\"HomeNetworkingSubsystem-ComponentImpacts\">Component Impacts<\/h3><h4 id=\"HomeNetworkingSubsystem-XUPnP\"><strong>XUPnP<\/strong><\/h4><ul><li>Advertise&nbsp;RemoteUIServerDevice&nbsp;device and UPnP&nbsp;RemoteUIServer&nbsp;service<\/li><\/ul><h4 id=\"HomeNetworkingSubsystem-TRM\"><strong>TRM<\/strong><\/h4><ul><li>Support tuner reservation from RUI on CVP-2 client<\/li><\/ul><h4 id=\"HomeNetworkingSubsystem-HNSink\"><strong>HNSink<\/strong><\/h4><ul><li>Support linear&nbsp;to CVP-2 client<\/li><\/ul><h3 class=\"wp-sub-header\"><strong>RDK UPnP protocol &amp; Architecture<\/strong><\/h3><p>&nbsp;The Universal Plug &#8216;n&#8217; Play (UPnP) architecture provides an in-home client server architecture where servers and the services they provide are discovered and utilized by client control points using service actions and the the general event notification architecture (GENA). &nbsp;UPnP has been absorbed by the Open Connectivity Forum (OCF) and the UPnP specifications can be found at&nbsp;<a href=\"https:\/\/openconnectivity.org\/developer\/specifications\/upnp-resources\/upnp\/\" class=\"external-link\" rel=\"nofollow\">https:\/\/openconnectivity.org\/developer\/specifications\/upnp-resources\/upnp\/<\/a>. &nbsp;UPnP defines BasicDevice and vendor specific service, DiscoverFriendlies, is published by gateway devices for discovery by client devices. &nbsp;The gateway devices use an IPv4 link local address to publish (discovery, actions, events) for the device, BasicDevice, and service, DiscoverFriendlies.&nbsp;<\/p><h3 id=\"HomeNetworkingSubsystem-InitialRDKUPnPArchitecture\">Initial RDK UPnP Architecture<\/h3><p>The initial RDK UPnP Architecture involves an Client device discovering configuration information in an Gateway. &nbsp;There is only one device model that implements a UPnP Server, that being the Gateway. &nbsp;The BasicDevice is the only UPnP device type used. &nbsp;It is a UPnP standard device, see&nbsp;<a href=\"http:\/\/upnp.org\/specs\/basic\/UPnP-basic-Basic-v1-Device.pdf\" class=\"external-link\" rel=\"nofollow\">http:\/\/upnp.org\/specs\/basic\/UPnP-basic-Basic-v1-Device.pdf<\/a>. &nbsp;The DiscoverFriendlies service is the only service used and is embedded in the BasicDevice, as seen in the BasicDevice device description file; BasicDevice.xml. &nbsp;<\/p><p>There are two attributes in the RDK UPnP Architecture that are not to UPnP specification. &nbsp;First, the BasicDevice embeds the DiscoverFriendlies, but the BasicDevice specification states that no services may be embedded. &nbsp;Second, DiscoverFriendlies does not follow the naming conventions defined by UPnP for vendor defined services.<\/p><h3 id=\"HomeNetworkingSubsystem-UseCases\">Use Cases<\/h3><p>UPnP can partially or entirely address various use cases.<\/p><ol><li>Provide configuration parameters to client devices.<\/li><li>Differentiating a Operator gateway from a COAM router so that an client device can determine a preferred gateway.<\/li><li>Prevent a COAM device from accidental access to the internet through an Gateway.<\/li><li>Prevent accidental or malicious bridging of any client device through a MoCA bridge (ECB) to a neighbor&rsquo;s home.<\/li><li>For quality of service, determine that a client connected to an router is a known client and mark WiFi packet priority accordingly.<\/li><li>Operator&#8217;s gateway gathers information about the devices on a home network for diagnostics purposes.<\/li><\/ol><h3 id=\"HomeNetworkingSubsystem-UPnPSecurity\">UPnP Security<\/h3><p>UPnP defines security mechanisms such as the DeviceProtection service, but does not mandate them. &nbsp;The DeviceProtection service includes a TLS handshake for UPnP traffic, as well as a number of state variables for actions that can be used for security setup, access control, etc. &nbsp;Within the SSDP discovery messages the LOCATION header is used to indicate the base URL used for device and service description XML file access, as well as the destination for service actions, events, etc. &nbsp;An unsecure control point can use that URL to access the description files. &nbsp;If the device is under DeviceProtection scope, then it also must provide a secure location header; SECURELOCATION.UPNP.ORG. &nbsp;A control point that wishes to use secure functionality of a server will initiate a TLS handshake to the base URL to create a secure connection. &nbsp;The UPnP&nbsp;DeviceProtection:1&nbsp;specification calls for self-generated, self-signed certificates.<\/p><p>UPnP security does not protect SSDP discovery messages, nor does it protect device and service description file access when a control point uses the required LOCATION header.<\/p><h2 class=\"wp-main-header wp-block-heading\">Doxygen documentation<\/h2><p>API Specification can be found under&nbsp;<a href=\"https:\/\/wiki.rdkcentral.com\/doxygen\/rdkv-opensourced\/df\/ddc\/group___x_u_p_n_p.html\" rel=\"nofollow\">XUPnP API Specification<\/a><\/p><p><span><br><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction RDK Home networking provides features for enabling the&nbsp;next-generation home networks which is not only [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":0,"parent":10158,"menu_order":3,"comment_status":"open","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-10170","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Home Networking - RDK Documentation Portal | Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Home Networking - RDK Documentation Portal | Documentation\" \/>\n<meta property=\"og:description\" content=\"Introduction RDK Home networking provides features for enabling the&nbsp;next-generation home networks which is not only [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/\" \/>\n<meta property=\"og:site_name\" content=\"RDK Documentation Portal | Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-05T13:46:17+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/\",\"url\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/\",\"name\":\"Home Networking - RDK Documentation Portal | Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/#website\"},\"datePublished\":\"2022-06-21T09:11:21+00:00\",\"dateModified\":\"2024-12-05T13:46:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentation\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"RDK Video\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Sub-Systems\",\"item\":\"https:\/\/developer.rdkcentral.com\/documentation\/?page_id=10158\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Home Networking\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/developer.rdkcentral.com\/documentation\/#website\",\"url\":\"https:\/\/developer.rdkcentral.com\/documentation\/\",\"name\":\"RDK Documentation Portal | Documentation\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/developer.rdkcentral.com\/documentation\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Home Networking - RDK Documentation Portal | Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/","og_locale":"en_US","og_type":"article","og_title":"Home Networking - RDK Documentation Portal | Documentation","og_description":"Introduction RDK Home networking provides features for enabling the&nbsp;next-generation home networks which is not only [&hellip;]","og_url":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/","og_site_name":"RDK Documentation Portal | Documentation","article_modified_time":"2024-12-05T13:46:17+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/","url":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/","name":"Home Networking - RDK Documentation Portal | Documentation","isPartOf":{"@id":"https:\/\/developer.rdkcentral.com\/documentation\/#website"},"datePublished":"2022-06-21T09:11:21+00:00","dateModified":"2024-12-05T13:46:17+00:00","breadcrumb":{"@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/sub-systems\/home_networking_subsystem\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/developer.rdkcentral.com\/documentation\/"},{"@type":"ListItem","position":2,"name":"Documentation","item":"https:\/\/developer.rdkcentral.com\/documentation\/"},{"@type":"ListItem","position":3,"name":"RDK Video","item":"https:\/\/developer.rdkcentral.com\/documentation\/documentation\/rdk_video_documentation\/"},{"@type":"ListItem","position":4,"name":"Sub-Systems","item":"https:\/\/developer.rdkcentral.com\/documentation\/?page_id=10158"},{"@type":"ListItem","position":5,"name":"Home Networking"}]},{"@type":"WebSite","@id":"https:\/\/developer.rdkcentral.com\/documentation\/#website","url":"https:\/\/developer.rdkcentral.com\/documentation\/","name":"RDK Documentation Portal | Documentation","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/developer.rdkcentral.com\/documentation\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/10170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/comments?post=10170"}],"version-history":[{"count":4,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/10170\/revisions"}],"predecessor-version":[{"id":11903,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/10170\/revisions\/11903"}],"up":[{"embeddable":true,"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/pages\/10158"}],"wp:attachment":[{"href":"https:\/\/developer.rdkcentral.com\/documentation\/wp-json\/wp\/v2\/media?parent=10170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}