CINXE.COM

High-Level Data Link Control - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>High-Level Data Link Control - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"9aba5f80-f00e-4994-8765-c7c255f305b1","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"High-Level_Data_Link_Control","wgTitle":"High-Level Data Link Control","wgCurRevisionId":1253304511,"wgRevisionId":1253304511,"wgArticleId":78261,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description is different from Wikidata","Articles that may contain original research from March 2019","All articles that may contain original research","CS1 maint: location","All articles with dead external links","Articles with dead external links from December 2021","Computer network technology","Link protocols","Logical link control","Telecommunications standards","Telecommunication protocols","Networking standards"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"High-Level_Data_Link_Control","wgRelevantArticleId":78261,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRedirectedFrom":"HDLC","wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":40000,"wgInternalRedirectTargetUrl":"/wiki/High-Level_Data_Link_Control","wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q847021","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGELevelingUpEnabledForUser":false}; RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready"};RLPAGEMODULES=["mediawiki.action.view.redirect","ext.cite.ux-enhancements","ext.scribunto.logs","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.quicksurveys.init","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.22"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="High-Level Data Link Control - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/High-Level_Data_Link_Control"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/High-Level_Data_Link_Control"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="auth.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-High-Level_Data_Link_Control rootpage-High-Level_Data_Link_Control skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=High-Level+Data+Link+Control" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=High-Level+Data+Link+Control" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=High-Level+Data+Link+Control" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=High-Level+Data+Link+Control" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>History</span> </div> </a> <ul id="toc-History-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Framing" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Framing"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Framing</span> </div> </a> <button aria-controls="toc-Framing-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Framing subsection</span> </button> <ul id="toc-Framing-sublist" class="vector-toc-list"> <li id="toc-Synchronous_framing" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Synchronous_framing"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Synchronous framing</span> </div> </a> <ul id="toc-Synchronous_framing-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Asynchronous_framing" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Asynchronous_framing"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Asynchronous framing</span> </div> </a> <ul id="toc-Asynchronous_framing-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Structure" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Structure"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Structure</span> </div> </a> <ul id="toc-Structure-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Types_of_stations_(computers)_and_data_transfer_modes" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Types_of_stations_(computers)_and_data_transfer_modes"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Types of stations (computers) and data transfer modes</span> </div> </a> <ul id="toc-Types_of_stations_(computers)_and_data_transfer_modes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-HDLC_operations_and_frame_types" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#HDLC_operations_and_frame_types"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>HDLC operations and frame types</span> </div> </a> <button aria-controls="toc-HDLC_operations_and_frame_types-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle HDLC operations and frame types subsection</span> </button> <ul id="toc-HDLC_operations_and_frame_types-sublist" class="vector-toc-list"> <li id="toc-Control_field" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Control_field"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span>Control field</span> </div> </a> <ul id="toc-Control_field-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-P/F_bit" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#P/F_bit"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.2</span> <span>P/F bit</span> </div> </a> <ul id="toc-P/F_bit-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-N(R),_the_receive_sequence_number" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#N(R),_the_receive_sequence_number"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.3</span> <span>N(R), the receive sequence number</span> </div> </a> <ul id="toc-N(R),_the_receive_sequence_number-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-N(S),_the_sequence_number_of_the_sent_frame" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#N(S),_the_sequence_number_of_the_sent_frame"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.4</span> <span>N(S), the sequence number of the sent frame</span> </div> </a> <ul id="toc-N(S),_the_sequence_number_of_the_sent_frame-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-I-Frames_(user_data)" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#I-Frames_(user_data)"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.5</span> <span>I-Frames (user data)</span> </div> </a> <ul id="toc-I-Frames_(user_data)-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-S-frames_(control)" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#S-frames_(control)"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.6</span> <span>S-frames (control)</span> </div> </a> <ul id="toc-S-frames_(control)-sublist" class="vector-toc-list"> <li id="toc-Receive_Ready_(RR)" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Receive_Ready_(RR)"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.6.1</span> <span>Receive Ready (RR)</span> </div> </a> <ul id="toc-Receive_Ready_(RR)-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Receive_Not_Ready_(RNR)" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Receive_Not_Ready_(RNR)"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.6.2</span> <span>Receive Not Ready (RNR)</span> </div> </a> <ul id="toc-Receive_Not_Ready_(RNR)-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Reject_(REJ)" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Reject_(REJ)"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.6.3</span> <span>Reject (REJ)</span> </div> </a> <ul id="toc-Reject_(REJ)-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Selective_Reject_(SREJ)" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Selective_Reject_(SREJ)"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.6.4</span> <span>Selective Reject (SREJ)</span> </div> </a> <ul id="toc-Selective_Reject_(SREJ)-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-U-Frames" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#U-Frames"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.7</span> <span>U-Frames</span> </div> </a> <ul id="toc-U-Frames-sublist" class="vector-toc-list"> <li id="toc-Mode_setting" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Mode_setting"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.7.1</span> <span>Mode setting</span> </div> </a> <ul id="toc-Mode_setting-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Information_transfer" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Information_transfer"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.7.2</span> <span>Information transfer</span> </div> </a> <ul id="toc-Information_transfer-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Error_Recovery" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Error_Recovery"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.7.3</span> <span>Error Recovery</span> </div> </a> <ul id="toc-Error_Recovery-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Peer_discovery" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Peer_discovery"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.7.4</span> <span>Peer discovery</span> </div> </a> <ul id="toc-Peer_discovery-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Defined_in_other_standards" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Defined_in_other_standards"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.7.5</span> <span>Defined in other standards</span> </div> </a> <ul id="toc-Defined_in_other_standards-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </li> <li id="toc-Link_configurations" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Link_configurations"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Link configurations</span> </div> </a> <ul id="toc-Link_configurations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-HDLC_Command_and_response_repertoire" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#HDLC_Command_and_response_repertoire"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>HDLC Command and response repertoire</span> </div> </a> <button aria-controls="toc-HDLC_Command_and_response_repertoire-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle HDLC Command and response repertoire subsection</span> </button> <ul id="toc-HDLC_Command_and_response_repertoire-sublist" class="vector-toc-list"> <li id="toc-Basic_operations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Basic_operations"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.1</span> <span>Basic operations</span> </div> </a> <ul id="toc-Basic_operations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Functional_extensions_(options)" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Functional_extensions_(options)"> <div class="vector-toc-text"> <span class="vector-toc-numb">7.2</span> <span>Functional extensions (options)</span> </div> </a> <ul id="toc-Functional_extensions_(options)-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-HDLC_command_and_response_repertoire_2" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#HDLC_command_and_response_repertoire_2"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>HDLC command and response repertoire</span> </div> </a> <button aria-controls="toc-HDLC_command_and_response_repertoire_2-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle HDLC command and response repertoire subsection</span> </button> <ul id="toc-HDLC_command_and_response_repertoire_2-sublist" class="vector-toc-list"> <li id="toc-Unnumbered_frames" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Unnumbered_frames"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.1</span> <span>Unnumbered frames</span> </div> </a> <ul id="toc-Unnumbered_frames-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Notes" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Notes"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>Notes</span> </div> </a> <ul id="toc-Notes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">12</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">High-Level Data Link Control</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 23 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-23" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">23 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/HDLC" title="HDLC – Catalan" lang="ca" hreflang="ca" data-title="HDLC" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/High-Level_Data_Link_Control" title="High-Level Data Link Control – Czech" lang="cs" hreflang="cs" data-title="High-Level Data Link Control" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/HDLC" title="HDLC – Danish" lang="da" hreflang="da" data-title="HDLC" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/High-Level_Data_Link_Control" title="High-Level Data Link Control – German" lang="de" hreflang="de" data-title="High-Level Data Link Control" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/High-Level_Data_Link_Control" title="High-Level Data Link Control – Spanish" lang="es" hreflang="es" data-title="High-Level Data Link Control" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/HDLC" title="HDLC – Basque" lang="eu" hreflang="eu" data-title="HDLC" data-language-autonym="Euskara" data-language-local-name="Basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/High-Level_Data_Link_Control" title="High-Level Data Link Control – French" lang="fr" hreflang="fr" data-title="High-Level Data Link Control" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EA%B3%A0%EA%B8%89_%EB%8D%B0%EC%9D%B4%ED%84%B0_%EC%97%B0%EA%B2%B0_%EC%A0%9C%EC%96%B4" title="고급 데이터 연결 제어 – Korean" lang="ko" hreflang="ko" data-title="고급 데이터 연결 제어" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/HDLC" title="HDLC – Croatian" lang="hr" hreflang="hr" data-title="HDLC" data-language-autonym="Hrvatski" data-language-local-name="Croatian" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/High-Level_Data_Link_Control" title="High-Level Data Link Control – Italian" lang="it" hreflang="it" data-title="High-Level Data Link Control" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/High-level_Data_Link_Control" title="High-level Data Link Control – Hebrew" lang="he" hreflang="he" data-title="High-level Data Link Control" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/HDLC" title="HDLC – Macedonian" lang="mk" hreflang="mk" data-title="HDLC" data-language-autonym="Македонски" data-language-local-name="Macedonian" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/High-Level_Data_Link_Control" title="High-Level Data Link Control – Japanese" lang="ja" hreflang="ja" data-title="High-Level Data Link Control" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/HDLC" title="HDLC – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="HDLC" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/High-Level_Data_Link_Control" title="High-Level Data Link Control – Polish" lang="pl" hreflang="pl" data-title="High-Level Data Link Control" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/High-Level_Data_Link_Control" title="High-Level Data Link Control – Portuguese" lang="pt" hreflang="pt" data-title="High-Level Data Link Control" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/HDLC" title="HDLC – Russian" lang="ru" hreflang="ru" data-title="HDLC" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/HDLC" title="HDLC – Finnish" lang="fi" hreflang="fi" data-title="HDLC" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/High-Level_Data_Link_Control" title="High-Level Data Link Control – Swedish" lang="sv" hreflang="sv" data-title="High-Level Data Link Control" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/HDLC" title="HDLC – Turkish" lang="tr" hreflang="tr" data-title="HDLC" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/HDLC" title="HDLC – Ukrainian" lang="uk" hreflang="uk" data-title="HDLC" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/HDLC" title="HDLC – Vietnamese" lang="vi" hreflang="vi" data-title="HDLC" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E9%AB%98%E7%BA%A7%E6%95%B0%E6%8D%AE%E9%93%BE%E8%B7%AF%E6%8E%A7%E5%88%B6" title="高级数据链路控制 – Chinese" lang="zh" hreflang="zh" data-title="高级数据链路控制" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q847021#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/High-Level_Data_Link_Control" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:High-Level_Data_Link_Control" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/High-Level_Data_Link_Control"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/High-Level_Data_Link_Control"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/High-Level_Data_Link_Control" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/High-Level_Data_Link_Control" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;oldid=1253304511" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=High-Level_Data_Link_Control&amp;id=1253304511&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHigh-Level_Data_Link_Control"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FHigh-Level_Data_Link_Control"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=High-Level_Data_Link_Control&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q847021" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"><span class="mw-redirectedfrom">(Redirected from <a href="/w/index.php?title=HDLC&amp;redirect=no" class="mw-redirect" title="HDLC">HDLC</a>)</span></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Communications protocol</div> <style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-Original_research plainlinks metadata ambox ambox-content ambox-Original_research" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/40px-Ambox_important.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/60px-Ambox_important.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/80px-Ambox_important.svg.png 2x" data-file-width="40" data-file-height="40" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article <b>possibly contains <a href="/wiki/Wikipedia:No_original_research" title="Wikipedia:No original research">original research</a></b>.<span class="hide-when-compact"> Please <a class="external text" href="https://en.wikipedia.org/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit">improve it</a> by <a href="/wiki/Wikipedia:Verifiability" title="Wikipedia:Verifiability">verifying</a> the claims made and adding <a href="/wiki/Wikipedia:Citing_sources#Inline_citations" title="Wikipedia:Citing sources">inline citations</a>. Statements consisting only of original research should be removed.</span> <span class="date-container"><i>(<span class="date">March 2019</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <style data-mw-deduplicate="TemplateStyles:r1257001546">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme) div:not(.notheme){background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table tr{display:table-row!important}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}</style><table class="infobox vevent" style="width:26em;"><caption class="infobox-title summary">High-Level Data Link Control</caption><tbody><tr><td colspan="2" class="infobox-subheader"><a href="/wiki/Communication_protocol" title="Communication protocol">Communication protocol</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap; width:25%;">Abbreviation</th><td class="infobox-data">HDLC</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap; width:25%;">Purpose</th><td class="infobox-data">Data framing</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap; width:25%;">Developer(s)</th><td class="infobox-data">International Organization for Standardization (ISO)</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap; width:25%;">Introduction</th><td class="infobox-data">1979<span class="noprint">&#59;&#32;46&#160;years ago</span><span style="display:none">&#160;(<span class="bday dtstart published updated">1979</span>)</span></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap; width:25%;">Based on</th><td class="infobox-data"><a href="/wiki/Synchronous_Data_Link_Control" title="Synchronous Data Link Control">SDLC</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap; width:25%;"><a href="/wiki/OSI_model" title="OSI model">OSI layer</a></th><td class="infobox-data"><a href="/wiki/Data_link_layer" title="Data link layer">Data link layer</a></td></tr></tbody></table> <p><b>High-Level Data Link Control</b> (HDLC) is a <a href="/wiki/Communication_protocol" title="Communication protocol">communication protocol</a> used for transmitting data between devices in <a href="/wiki/Telecommunications" title="Telecommunications">telecommunication</a> and <a href="/wiki/Computer_network" title="Computer network">networking</a>. Developed by the International Organization for Standardization (ISO), it is defined in the standard ISO/IEC 13239:2002. </p><p>HDLC ensures reliable data transfer, allowing one device to understand data sent by another. It can operate with or without a continuous connection between devices, making it versatile for various network configurations. </p><p>Originally, HDLC was used in multi-device networks, where one device acted as the master and others as slaves, through modes like Normal Response Mode (NRM) and Asynchronous Response Mode (ARM). These modes are now rarely used. Currently, HDLC is primarily employed in <a href="/wiki/Point-to-point_(telecommunications)" title="Point-to-point (telecommunications)">point-to-point connections</a>, such as between <a href="/wiki/Router_(computing)" title="Router (computing)">routers</a> or <a href="/wiki/Network_interface_controller" title="Network interface controller">network interfaces</a>, using a mode called Asynchronous Balanced Mode (ABM). </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=1" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>HDLC is based on <a href="/wiki/IBM" title="IBM">IBM</a>'s <a href="/wiki/Synchronous_Data_Link_Control" title="Synchronous Data Link Control">SDLC</a> protocol, which is the layer 2 protocol for IBM's <a href="/wiki/Systems_Network_Architecture" title="Systems Network Architecture">Systems Network Architecture</a> (SNA). It was extended and standardized by the <a href="/wiki/International_Telecommunication_Union" title="International Telecommunication Union">ITU</a> as LAP (Link Access Procedure), while <a href="/wiki/ANSI" class="mw-redirect" title="ANSI">ANSI</a> named their essentially identical version <a href="/wiki/ADCCP" class="mw-redirect" title="ADCCP">ADCCP</a>. </p><p>The HDLC specification does not specify the full semantics of the frame fields. This allows other fully compliant standards to be derived from it, and derivatives have since appeared in innumerable standards. It was adopted into the <a href="/wiki/X.25" title="X.25">X.25</a> protocol stack as <a href="/wiki/LAPB" title="LAPB">LAPB</a>, into the <a href="/wiki/ITU-T_V.42" class="mw-redirect" title="ITU-T V.42">V.42</a> protocol as <a href="/wiki/LAPM" class="mw-redirect" title="LAPM">LAPM</a>, into the <a href="/wiki/Frame_Relay" title="Frame Relay">Frame Relay</a> protocol stack as <a href="/wiki/LAPF" class="mw-redirect" title="LAPF">LAPF</a> and into the <a href="/wiki/ISDN" title="ISDN">ISDN</a> protocol stack as LAPD. </p><p>The original ISO standards for HDLC are the following: </p> <ul><li>ISO 3309-1979 – Frame Structure</li> <li>ISO 4335-1979 – Elements of Procedure</li> <li>ISO 6159-1980 – Unbalanced Classes of Procedure</li> <li>ISO 6256-1981 – Balanced Classes of Procedure</li></ul> <p>ISO/IEC 13239:2002, the current standard, replaced all of these specifications. </p><p>HDLC was the inspiration for the <a href="/wiki/IEEE_802.2" title="IEEE 802.2">IEEE 802.2</a> <a href="/wiki/Logical_Link_Control" class="mw-redirect" title="Logical Link Control">LLC</a> protocol, and it is the basis for the framing mechanism used with the <a href="/wiki/Point-to-Point_Protocol" title="Point-to-Point Protocol">PPP</a> on synchronous lines, as used by many servers to connect to a <a href="/wiki/Wide_area_network" title="Wide area network">WAN</a>, most commonly the <a href="/wiki/Internet" title="Internet">Internet</a>. </p><p>A similar version is used as the control channel for <a href="/wiki/E-carrier" title="E-carrier">E-carrier</a> (E1) and <a href="/wiki/SONET" class="mw-redirect" title="SONET">SONET</a> multichannel telephone lines. <a href="/wiki/Cisco_HDLC" title="Cisco HDLC">Cisco HDLC</a> uses low-level HDLC framing techniques but adds a protocol field to the standard HDLC header. </p> <div class="mw-heading mw-heading2"><h2 id="Framing">Framing</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=2" title="Edit section: Framing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>HDLC <a href="/wiki/Data_frame" class="mw-redirect" title="Data frame">frames</a> can be transmitted over <a href="/wiki/Synchronous_serial_communication" title="Synchronous serial communication">synchronous</a> or <a href="/wiki/Asynchronous_serial_communication" title="Asynchronous serial communication">asynchronous serial communication</a> links. Those links have no mechanism to mark the beginning or end of a frame, so the beginning and end of each frame has to be identified. This is done by using a unique sequence of bits as a frame delimiter, or <i>flag</i>, and encoding the data to ensure that the flag sequence is never seen inside a frame. Each frame begins and ends with a frame delimiter. A frame delimiter at the end of a frame may also mark the start of the next frame. </p><p>On both synchronous and asynchronous links, the flag sequence is binary "01111110", or <a href="/wiki/Hexadecimal" title="Hexadecimal">hexadecimal</a> 0x7E, but the details are quite different. </p> <div class="mw-heading mw-heading3"><h3 id="Synchronous_framing">Synchronous framing</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=3" title="Edit section: Synchronous framing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Because a flag sequence consists of six consecutive 1-bits, other data is coded to ensure that it never contains more than five 1-bits in a row. This is done by <a href="/wiki/Bit_stuffing" title="Bit stuffing">bit stuffing</a>: any time that five consecutive 1-bits appear in the transmitted data, the data is paused and a 0-bit is transmitted. </p><p>The receiving device knows that this is being done, and after seeing five 1-bits in a row, a following 0-bit is stripped out of the received data. If instead the sixth bit is 1, this is either a flag (if the seventh bit is 0), or an error (if the seventh bit is 1). In the latter case, the frame receive procedure is aborted, to be restarted when a flag is next seen. </p><p>This bit-stuffing serves a second purpose, that of ensuring a sufficient number of signal transitions. On synchronous links, the data is <a href="/wiki/NRZI#Non-return-to-zero_inverted" class="mw-redirect" title="NRZI">NRZI</a> encoded, so that a 0-bit is transmitted as a change in the signal on the line, and a 1-bit is sent as no change. Thus, each 0 bit provides an opportunity for a receiving <a href="/wiki/Modem" title="Modem">modem</a> to synchronize its clock via a <a href="/wiki/Phase-locked_loop" title="Phase-locked loop">phase-locked loop</a>. If there are too many 1-bits in a row, the receiver can lose count. Bit-stuffing provides a minimum of one transition per six bit times during transmission of data, and one transition per seven bit times during transmission of a flag. </p><p>When no frames are being transmitted on a simplex or full-duplex synchronous link, a frame delimiter is continuously transmitted on the link. This generates one of two continuous waveforms, depending on the initial state: </p><p><span class="mw-default-size" typeof="mw:File"><a href="/wiki/File:NrziEncodedFlags.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/c/c3/NrziEncodedFlags.png" decoding="async" width="749" height="83" class="mw-file-element" data-file-width="749" data-file-height="83" /></a></span> </p><p>The HDLC specification allows the 0-bit at the end of a frame delimiter to be shared with the start of the next frame delimiter, i.e. "011111101111110". Some hardware does not support this. </p><p>For half-duplex or multi-drop communication, where several transmitters share a line, a receiver on the line will see continuous idling 1-bits in the inter-frame period when no transmitter is active. </p><p>HDLC transmits bytes of data with the least significant bit first (not to be confused with <a href="/wiki/Little-endian" class="mw-redirect" title="Little-endian">little-endian</a> order, which refers to byte ordering within a multi-byte field). </p> <div class="mw-heading mw-heading3"><h3 id="Asynchronous_framing">Asynchronous framing</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=4" title="Edit section: Asynchronous framing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>When using asynchronous serial communication such as standard <a href="/wiki/RS-232" title="RS-232">RS-232</a> <a href="/wiki/Serial_port" title="Serial port">serial ports</a>, synchronous-style bit stuffing is inappropriate for several reasons: </p> <ul><li>Bit stuffing is not needed to ensure an adequate number of transitions, as start and stop bits provide that,</li> <li>Because the data is <a href="/wiki/Non-return-to-zero" title="Non-return-to-zero">NRZ</a> encoded for transmission, rather than NRZI encoded, the encoded waveform is different,</li> <li>RS-232 sends bits in groups of 8, making adding single bits very awkward, and</li> <li>For the same reason, it is only necessary to specially code flag <i>bytes</i>; it is not necessary to worry about the bit pattern straddling multiple bytes.</li></ul> <p>Instead asynchronous framing uses "control-octet transparency", also called "<a href="/wiki/Byte_stuffing" class="mw-redirect" title="Byte stuffing">byte stuffing</a>" or "octet stuffing". The frame boundary octet is 01111110, (0x7E in <a href="/wiki/Hexadecimal" title="Hexadecimal">hexadecimal</a> notation). A "control <a href="/wiki/Escape_character" title="Escape character">escape octet</a>", has the value 0x7D (bit sequence '10111110', as RS-232 transmits least-significant bit first). If either of these two octets appears in the transmitted data, an escape octet is sent, followed by the original data octet with bit 5 inverted. For example, the byte 0x7E would be transmitted as 0x7D 0x5E ("10111110 01111010"). Other reserved octet values (such as <a href="/wiki/Xon/Xoff" class="mw-redirect" title="Xon/Xoff">XON or XOFF</a>) can be escaped in the same way if necessary. </p><p>The "abort sequence" 0x7D 0x7E ends a packet with an incomplete byte-stuff sequence, forcing the receiver to detect an error. This can be used to abort packet transmission with no chance the partial packet will be interpreted as valid by the receiver. </p> <div class="mw-heading mw-heading2"><h2 id="Structure">Structure</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=5" title="Edit section: Structure"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The contents of an HDLC frame are shown in the following table: </p> <table class="wikitable"> <tbody><tr> <th>Flag </th> <th>Address </th> <th>Control </th> <th>Information </th> <th>FCS </th> <th>Flag </th></tr> <tr> <td>8 bits </td> <td>8 or more bits </td> <td>8 or 16 bits </td> <td>Variable length, 8×<i>n</i> bits </td> <td>16 or 32 bits </td> <td>8 bits </td></tr></tbody></table> <p>Note that the end flag of one frame may be (but does not have to be) the beginning (start) flag of the next frame. </p><p>Data is usually sent in multiples of 8 bits, but only some variants require this; others theoretically permit <a href="/wiki/Data_structure_alignment" title="Data structure alignment">data alignments</a> on other than 8-bit boundaries. </p><p>The <a href="/wiki/Frame_check_sequence" title="Frame check sequence">frame check sequence</a> (FCS) is a 16-bit <a href="/wiki/CRC-CCITT" class="mw-redirect" title="CRC-CCITT">CRC-CCITT</a> or a 32-bit <a href="/wiki/CRC-32" class="mw-redirect" title="CRC-32">CRC-32</a> computed over the Address, Control, and Information fields. It provides a means by which the receiver can detect errors that may have been induced during the transmission of the frame, such as lost bits, flipped bits, and extraneous bits. However, given that the algorithms used to calculate the FCS are such that the probability of certain types of transmission errors going undetected increases with the length of the data being checked for errors, the FCS can implicitly limit the practical size of the frame. </p><p>If the receiver's calculation of the FCS does not match that of the sender's, indicating that the frame contains errors, the receiver can either send a negative <a href="/wiki/Acknowledge_character" class="mw-redirect" title="Acknowledge character">acknowledge</a> packet to the sender, or send nothing. After either receiving a negative acknowledge packet or timing out waiting for a positive acknowledge packet, the sender can retransmit the failed frame. </p><p>The FCS was implemented because many early communication links had a relatively high <a href="/wiki/Bit_error_ratio" class="mw-redirect" title="Bit error ratio">bit error rate</a>, and the FCS could readily be computed by simple, fast circuitry or software. More effective <a href="/wiki/Forward_error_correction" class="mw-redirect" title="Forward error correction">forward error correction</a> schemes are now widely used by other protocols. </p> <div class="mw-heading mw-heading2"><h2 id="Types_of_stations_(computers)_and_data_transfer_modes"><span id="Types_of_stations_.28computers.29_and_data_transfer_modes"></span>Types of stations (computers) and data transfer modes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=6" title="Edit section: Types of stations (computers) and data transfer modes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Synchronous_Data_Link_Control" title="Synchronous Data Link Control">Synchronous Data Link Control</a> (<a href="/wiki/Synchronous_Data_Link_Control" title="Synchronous Data Link Control">SDLC</a>) was originally designed to connect one computer with multiple peripherals via a <a href="/wiki/Multidrop_bus" title="Multidrop bus">multidrop bus</a>. The original "normal response mode" is a primary-secondary mode where the computer (or <b>primary terminal</b>) gives each peripheral (<b>secondary terminal</b>) permission to speak in turn. Because all communication is either to or from the primary terminal, frames include only one address, that of the secondary terminal; the primary terminal is not assigned an address. There is a distinction between <b>commands</b> sent by the primary to a secondary, and <b>responses</b> sent by a secondary to the primary, but this is not reflected in the encoding; commands and responses are indistinguishable except for the difference in the direction in which they are transmitted. </p><p><b>Normal response mode</b> allows the secondary-to-primary link to be shared without <a href="/wiki/Resource_contention" title="Resource contention">contention</a>, because it has the primary give the secondaries permission to transmit one at a time. It also allows operation over <a href="/wiki/Half-duplex" class="mw-redirect" title="Half-duplex">half-duplex</a> communication links, as long as the primary is aware that it may not transmit when it has permitted a secondary to do so. </p><p><b>Asynchronous response mode</b> is an HDLC addition<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> for use over <a href="/wiki/Full-duplex" class="mw-redirect" title="Full-duplex">full-duplex</a> links. While retaining the primary/secondary distinction, it allows the secondary to transmit at any time. Thus, there must be some other mechanism to ensure that multiple secondaries do not try to transmit at the same time (or only one secondary). </p><p><b>Asynchronous balanced mode</b> adds the concept of a <i>combined terminal</i> which can act as both a primary and a secondary. Unfortunately, this mode of operation has some implementation subtleties. While the most common frames sent do not care whether they are in a command or response frame, some essential ones do (notably most unnumbered frames, and any frame with the P/F bit set), and the address field of a received frame must be examined to determine whether it contains a command (the address received is ours) or a response (the address received is that of the other terminal). </p><p>This means that the address field is not optional, even on point-to-point links where it is not needed to disambiguate the peer being talked to. Some HDLC variants extend the address field to include both source and destination addresses, or an explicit command/response bit. </p> <div class="mw-heading mw-heading2"><h2 id="HDLC_operations_and_frame_types">HDLC operations and frame types</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=7" title="Edit section: HDLC operations and frame types"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Three fundamental types of HDLC frames may be distinguished: </p> <ul><li>Information frames, or <b>I-frames</b>, transport user data from the network layer. They can also include flow and error control information piggybacked on data.</li> <li>Supervisory frames, or <b>S-frames</b>, are used for flow and error control whenever piggybacking is impossible or inappropriate, such as when a station does not have data to send. S-frames <b>do not</b> have information fields.</li> <li>Unnumbered frames, or <b>U-frames</b>, are used for various miscellaneous purposes, including link management. Some U-frames contain an information field, depending on the type.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Control_field">Control field</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=8" title="Edit section: Control field"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The general format of the control field is: </p> <table class="wikitable" style="text-align:center"> <caption>HDLC control fields </caption> <tbody><tr> <th>7</th> <th>6</th> <th>5</th> <th>4</th> <th>3</th> <th>2</th> <th>1</th> <th>0</th> <th> </th></tr> <tr> <td colspan="3">N(R)<br />Receive sequence no.</td> <td>P/F</td> <td colspan="3">N(S)<br />Send sequence no.</td> <td>0 </td> <th>I-frame </th></tr> <tr> <td colspan="3">N(R)<br />Receive sequence no.</td> <td>P/F</td> <td colspan="2">type</td> <td>0</td> <td>1 </td> <th>S-frame </th></tr> <tr> <td colspan="3">type</td> <td>P/F</td> <td colspan="2">type</td> <td>1</td> <td>1 </td> <th>U-frame </th></tr></tbody></table> <p>There are also extended (two-byte) forms of I and S frames. Again, the least significant bit (rightmost in this table) is sent first. </p> <table class="wikitable" style="text-align:center"> <caption>Extended HDLC control fields </caption> <tbody><tr> <th>15</th> <th>14</th> <th>13</th> <th>12</th> <th>11</th> <th>10</th> <th>9</th> <th>8</th> <th> </th> <th>7</th> <th>6</th> <th>5</th> <th>4</th> <th>3</th> <th>2</th> <th>1</th> <th>0</th> <th> </th></tr> <tr> <td colspan="7">N(R)<br />Receive sequence no.</td> <td>P/F</td> <td rowspan="2"></td> <td colspan="7">N(S)<br />Send sequence no.</td> <td>0 </td> <th>Extended I-frame </th></tr> <tr> <td colspan="7">N(R)<br />Receive sequence no.</td> <td>P/F</td> <td>0</td> <td>0</td> <td>0</td> <td>0</td> <td colspan="2">type</td> <td>0</td> <td>1 </td> <th>Extended S-frame </th></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="P/F_bit"><span id="P.2FF_bit"></span>P/F bit</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=9" title="Edit section: P/F bit"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Poll/Final is a single bit with two names. It is called Poll when part of a command (set by the primary station to obtain a response from a secondary station), and Final when part of a response (set by the secondary station to indicate a response or the end of transmission). In all other cases, the bit is clear. </p><p>The bit is used as a <a href="/wiki/Token_passing" title="Token passing">token</a> that is passed back and forth between the stations. Only one token should exist at a time. The secondary only sends a Final when it has received a Poll from the primary. The primary only sends a Poll when it has received a Final back from the secondary, or after a timeout indicating that the bit has been lost. </p> <ul><li>In NRM, possession of the poll token also grants the addressed secondary permission to transmit. The secondary sets the F-bit in its last response frame to give up permission to transmit. (It is equivalent to the word "Over" in radio <a href="/wiki/Voice_procedure" class="mw-redirect" title="Voice procedure">voice procedure</a>.)</li> <li>In ARM and ABM, the P bit forces a response. In these modes, the secondary need not wait for a poll to transmit, so the final bit may be included in the <i>first</i> response after the poll.</li> <li>If no response is received to a P bit in a reasonable period of time, the primary station times out and sends P again.</li> <li>The P/F bit is at the heart of the basic <b>checkpoint retransmission</b> scheme that is required to implement HDLC; all other variants (such as the REJ S-frame) are optional and only serve to increase efficiency. Whenever a station receives a P/F bit, it may assume that any frames that it sent before it last transmitted the P/F bit and not yet acknowledged will never arrive, and so should be retransmitted.</li></ul> <p>When operating as a combined station, it is important to maintain the distinction between P and F bits, because there may be two checkpoint cycles operating simultaneously. A P bit arriving in a command from the remote station is not in response to our P bit; only an F bit arriving in a response is. </p> <div class="mw-heading mw-heading3"><h3 id="N(R),_the_receive_sequence_number"><span id="N.28R.29.2C_the_receive_sequence_number"></span>N(R), the receive sequence number</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=10" title="Edit section: N(R), the receive sequence number"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Both I and S frames contain a receive sequence number N(R). N(R) provides a positive acknowledgement for the receipt of I-frames from the other side of the link. Its value is always the first frame not yet received; it acknowledges that all frames with N(S) values up to N(R)−1 (modulo 8 or modulo 128) have been received and indicates the N(S) of the next frame it expects to receive. </p><p>N(R) operates the same way whether it is part of a command or response. A combined station only has one sequence number space. </p> <div class="mw-heading mw-heading3"><h3 id="N(S),_the_sequence_number_of_the_sent_frame"><span id="N.28S.29.2C_the_sequence_number_of_the_sent_frame"></span>N(S), the sequence number of the sent frame</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=11" title="Edit section: N(S), the sequence number of the sent frame"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>This is incremented for successive I-frames, modulo 8 or modulo 128. Depending on the number of bits in the sequence number, up to 7 or 127 I-frames may be awaiting acknowledgment at any time. </p> <div class="mw-heading mw-heading3"><h3 id="I-Frames_(user_data)"><span id="I-Frames_.28user_data.29"></span>I-Frames (user data)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=12" title="Edit section: I-Frames (user data)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Information frames, or <b>I-frames</b>, transport user data from the network layer. In addition they also include flow and error control information piggybacked on data. The sub-fields in the control field define these functions. </p><p>The least significant bit (first transmitted) defines the frame type. 0 means an I-frame. Except for the interpretation of the P/F field, there is no difference between a command I frame and a response I frame; when P/F is 0, the two forms are exactly equivalent. </p> <div class="mw-heading mw-heading3"><h3 id="S-frames_(control)"><span id="S-frames_.28control.29"></span>S-frames (control)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=13" title="Edit section: S-frames (control)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Supervisory Frames, or 'S-frames', are used for flow and error control whenever piggybacking is impossible or inappropriate, such as when a station does not have data to send. S-frames in HDLC <b>do not</b> have information fields, although some HDLC-derived protocols use information fields for "multi-selective reject". </p><p>The S-frame control field includes a leading "10" indicating that it is an S-frame. This is followed by a 2-bit type, a poll/final bit, and a 3-bit sequence number. (Or a 4-bit padding field followed by a 7-bit sequence number.) </p><p>The first (least significant) 2 bits mean it is an S-frame. All S frames include a P/F bit and a receive sequence number as described above. Except for the interpretation of the P/F field, there is no difference between a command S frame and a response S frame; when P/F is 0, the two forms are exactly equivalent. </p> <div class="mw-heading mw-heading4"><h4 id="Receive_Ready_(RR)"><span id="Receive_Ready_.28RR.29"></span>Receive Ready (RR)</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=14" title="Edit section: Receive Ready (RR)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Bit value = 00 (0x00 to match above table type field bit order<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup>)</li> <li>Indicate that the sender is ready to receive more data (cancels the effect of a previous RNR).</li> <li>Send this packet if you need to send a packet but have no I frame to send.</li> <li>A primary station can send this with the P-bit set to solicit data from a secondary station.</li> <li>A secondary terminal can use this with the F-bit set to respond to a poll if it has no data to send.</li></ul> <div class="mw-heading mw-heading4"><h4 id="Receive_Not_Ready_(RNR)"><span id="Receive_Not_Ready_.28RNR.29"></span>Receive Not Ready (RNR)</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=15" title="Edit section: Receive Not Ready (RNR)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Bit value = 01 (0x04 to match above table type field bit order<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup>)</li> <li>Acknowledge some packets but request no more be sent until further notice.</li> <li>Can be used like RR with P bit set to solicit the status of a secondary station</li> <li>Can be used like RR with F bit set to respond to a poll if the station is busy.</li></ul> <div class="mw-heading mw-heading4"><h4 id="Reject_(REJ)"><span id="Reject_.28REJ.29"></span>Reject (REJ)</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=16" title="Edit section: Reject (REJ)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Bit value = 10 (0x08 to match above table type field bit order<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup>)</li> <li>Requests immediate retransmission starting with N(R).</li> <li>Sent in response to an observed sequence number gap; e.g. after seeing I1/I2/I3/I5, send REJ4.</li> <li>Optional to generate; a working implementation may use only RR.</li></ul> <div class="mw-heading mw-heading4"><h4 id="Selective_Reject_(SREJ)"><span id="Selective_Reject_.28SREJ.29"></span>Selective Reject (SREJ)</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=17" title="Edit section: Selective Reject (SREJ)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Bit value = 11 (0x0c to match above table type field bit order)</li> <li>Requests retransmission of only the frame N(R).</li> <li>Not supported by all HDLC variants.</li> <li>Optional to generate; a working implementation may use only RR, or only RR and REJ.</li></ul> <div class="mw-heading mw-heading3"><h3 id="U-Frames">U-Frames</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=18" title="Edit section: U-Frames"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Unnumbered frames, or <b>U-frames</b>, are primarily used for link management, although a few are used to transfer user data. They exchange session management and control information between connected devices, and some U-frames contain an information field, used for system management information or user data. The first 2 bits (11) mean it is a U-frame. The five type bits (2 before P/F bit and 3 bit after P/F bit) can create 32 different types of U-frame. In a few cases, the same encoding is used for different things as a command and a response. </p> <div class="mw-heading mw-heading4"><h4 id="Mode_setting">Mode setting</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=19" title="Edit section: Mode setting"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The various modes are described in <a href="#Link_configurations">§&#160;Link configurations</a>. Briefly, there are two non-operational modes (initialization mode and disconnected mode) and three operational modes (normal response, asynchronous response, and asynchronous balanced modes) with 3-bit or 7-bit (extended) sequence numbers. </p> <dl><dt>Disconnected mode (DM) response</dt> <dd>When the secondary is disconnected (the default state on power-up), it sends this generic response to any poll (command frame with the poll flag set) except an acceptable mode setting command. It may alternatively give a FRMR response to an unacceptable mode set command.</dd> <dt>Unnumbered acknowledge (UA) response</dt> <dd>This is the secondary's response to an acceptable mode set command, indicating that it is now in the requested mode.</dd> <dt>Set ... mode (SNRM, SARM, SABM) command</dt> <dd>Place the secondary in the specified mode, with 3-bit sequence numbers (1-byte control field). The secondary acknowledges with UA. If the secondary does not implement the mode, it responds with DM or FRMR.</dd> <dt>Set ... mode extended (SNRME, SARME, SABME) command</dt> <dd>Place the secondary in the specified mode, with 7-bit sequence numbers (2-byte control field).</dd> <dt>Set mode (SM) command</dt> <dd>Generic mode set, new in ISO/IEC 13239, using an information field to select parameters. ISO/IEC 13239 added many additional options to HDLC, including 15- and 31-bit sequence numbers, which can only be selected with this command.</dd> <dt>Disconnect (DISC) command</dt> <dd>This command causes the secondary to acknowledge with UA and disconnect (enter disconnected mode). Any unacknowledged frames are lost.</dd> <dt>Request disconnect (RD) response</dt> <dd>This response requests the primary to send a DISC command. The primary should do so promptly, but may delay long enough to ensure all pending frames are acknowledged.</dd> <dt>Set initialization mode (SIM) command</dt> <dd>This rarely-implemented command is used to perform some secondary-specific initialization, such as downloading <a href="/wiki/Firmware" title="Firmware">firmware</a>. What happens in initialization mode is not otherwise specified in the HDLC standard.</dd> <dt>Request initialization mode (RIM) response</dt> <dd>This requests the primary to send SIM and initialize the secondary. It sent in lieu of DM if the secondary requires initialization.</dd></dl> <div class="mw-heading mw-heading4"><h4 id="Information_transfer">Information transfer</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=20" title="Edit section: Information transfer"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>These frames may be used as part of normal information transfer. </p> <dl><dt>Unnumbered information (UI)</dt> <dd>This frame (command or response) communicates user data, but without acknowledgement or retransmission in case of error.</dd> <dt>UI with header check (UIH)</dt> <dd>This frame (command or response), a ISO/IEC 13239 addition and rarely used, is like UI but also excludes CRC protection. Only a configurable-length prefix ("header") of the frame is covered by the CRC polynomial; errors in the rest of the frame are not detected.</dd> <dt>Unnumbered poll (UP) command</dt> <dd>This command solicits a response from the secondary. With the poll bit set, it acts like any other poll frame, without the acknowledgement that must be included in I or S frame. With the poll bit clear, it has a special meaning in normal response mode: the secondary <i>may</i> respond, even though it has not received the poll bit. This is rarely used in HDLC, but was used in the original IBM SDLC as a substitute for the lack of asynchronous response mode; where the communication channel could handle simultaneous responses, the primary would periodically send UP to the broadcast address to collect any pending responses.</dd></dl> <div class="mw-heading mw-heading4"><h4 id="Error_Recovery">Error Recovery</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=21" title="Edit section: Error Recovery"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <dl><dt>Frame reject (FRMR) response</dt> <dd>The FRMR response contains a description of the unacceptable frame, in a standardized format. The first 1 or 2 bytes are a copy of the rejected control field, the next 1 or 2 contain the secondary's current send and receive sequence numbers (and a flag indicating that the frame was a response, applicable only in balanced mode), and the following 4 or 5 bits are error flags indicating the reason for the rejection. The secondary repeats the same FRMR response to every poll until the error is cleared by a mode set command or RSET. The error flags are: <ul><li>W: the frame type (control field) is not understood or not implemented.</li> <li>X: the frame type is not understood with a non-empty information field, but one was present.</li> <li>Y: the frame included an information field that is larger than the secondary can accept.</li> <li>Z: the frame included an invalid receive sequence number N(R), one which is not between the previously received value and the highest sequence number transmitted. (This error cannot be cleared by receiving RSET, but can be cleared by <i>sending</i> RSET.)</li> <li>V: the frame included an invalid send sequence number N(S), greater than the last number acknowledged plus the transmit window size. This error is only possible if a transmit window size smaller than the maximum has been negotiated.</li> <li>The error flags are normally padded with 0 bits to an 8-bit boundary, but HDLC permits frames which are not a multiple of a byte long.</li></ul></dd></dl> <dl><dt>Reset (RSET) command</dt> <dd>The RSET command causes a secondary to reset its receive sequence number so the next expected frame is sequence number 0. This is a possible alternative to sending a new mode set command, which resets both sequence numbers. It is acknowledged with UA, like a mode set command.</dd></dl> <div class="mw-heading mw-heading4"><h4 id="Peer_discovery">Peer discovery</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=22" title="Edit section: Peer discovery"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <dl><dt>Exchange identification (XID)</dt> <dd>An XID command includes an information field specifying the primary's capabilities; the secondary responds with an XID response specifying its capabilities. This is normally done before sending a mode set command. <a href="/wiki/Systems_Network_Architecture" title="Systems Network Architecture">Systems Network Architecture</a> defined one format for the information field, in which the most significant bit of the first byte is clear (0), but HDLC implementations normally implement the variant defined in ISO 8885, which has the most significant bit of the first byte set (1).</dd> <dt>TEST</dt> <dd>A TEST command is simply a <a href="/wiki/Ping_(networking_utility)" title="Ping (networking utility)">ping command</a> for debugging purposes. The payload of the TEST command is returned in the TEST response.</dd></dl> <div class="mw-heading mw-heading4"><h4 id="Defined_in_other_standards">Defined in other standards</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=23" title="Edit section: Defined in other standards"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">Further information: <a href="/wiki/Synchronous_Data_Link_Control#SLDC_features_not_in_HDLC" title="Synchronous Data Link Control">Synchronous Data Link Control §&#160;SLDC features not in HDLC</a></div> <p>There are several U frames which are not part of HDLC, but defined in other related standards. </p> <dl><dt>Nonreserved (NR0, NR1, NR2, NR3)</dt> <dd>The "nonreserved" commands and responses are guaranteed by the HDLC standard to be available for other uses.</dd> <dt>Ack connectionless (AC0, AC1)</dt> <dd>These are defined in the <a href="/wiki/IEEE_802.2" title="IEEE 802.2">IEEE 802.2</a> logical link control standard.</dd> <dt>Configure (CFGR)</dt> <dd>This command was defined in SDLC for debugging. It had a 1-byte payload which specified a non-standard test mode for the secondary. Even numbers disabled the mode, while odd numbers enabled it. A payload of 0 disabled all test modes. The secondary normally acknowledged a configure command by echoing it in response.</dd> <dt>Beacon (BCN) response</dt> <dd>This response was defined in SDLC to indicate a communications failure. A secondary which received no frames at all for a long time would begin sending a stream of beacon responses, allowing a unidirectional fault to be located. Note that ISO/IEC 13239 assigns UIH the same encoding as BCN.</dd></dl> <div class="mw-heading mw-heading2"><h2 id="Link_configurations">Link configurations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=24" title="Edit section: Link configurations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Link configurations can be categorized as being either: </p> <ul><li><i>Unbalanced</i>, which consists of one primary terminal, and one or more secondary terminals.</li> <li><i>Balanced</i>, which consists of two peer terminals.</li></ul> <p>The three link configurations are: </p> <ul><li><i>Normal Response Mode</i> (NRM) is an unbalanced configuration in which only the primary terminal may initiate data transfer. The secondary terminals transmit data only in response to commands from the primary terminal. The primary terminal polls each secondary terminal to give it an opportunity to transmit any data it has.</li> <li><i>Asynchronous Response Mode</i> (ARM) is an unbalanced configuration in which secondary terminals may transmit without permission from the primary terminal. However, there is still a distinguished primary terminal which retains responsibility for line initialization, error recovery, and logical disconnect.</li> <li><i>Asynchronous Balanced Mode</i> (ABM) is a balanced configuration in which either station may initialize, supervise, recover from errors, and send frames at any time. There is no master/slave relationship. The DTE (<a href="/wiki/Data_terminal_equipment" title="Data terminal equipment">data terminal equipment</a>) and DCE (<a href="/wiki/Data_circuit-terminating_equipment" title="Data circuit-terminating equipment">data circuit-terminating equipment</a>) are treated as equals. The initiator for Asynchronous Balanced Mode sends an SABM.</li></ul> <p>An additional link configuration is <i>Disconnected mode</i>. This is the mode that a secondary station is in before it is initialized by the primary, or when it is explicitly disconnected. In this mode, the secondary responds to almost every frame other than a mode set command with a "Disconnected mode" response. The purpose of this mode is to allow the primary to reliably detect a secondary being powered off or otherwise reset. </p> <div class="mw-heading mw-heading2"><h2 id="HDLC_Command_and_response_repertoire">HDLC Command and response repertoire</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=25" title="Edit section: HDLC Command and response repertoire"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The minimal set required for operation are: </p> <ul><li>Commands: I, RR, RNR, DISC, and one of SNRM, SARM or SABM</li> <li>Responses: I, RR, RNR, UA, DM, FRMR</li></ul> <div class="mw-heading mw-heading3"><h3 id="Basic_operations">Basic operations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=26" title="Edit section: Basic operations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Initialization can be requested by either side. When the primary sends one of the six mode-set commands, it: <ul><li>Signals the other side that initialization is requested</li> <li>Specifies the mode, NRM, ABM, ARM</li> <li>Specifies whether 3 or 7 bit sequence numbers are in use.</li></ul></li></ul> <p>The HDLC module on the other end transmits (UA) frame when the request is accepted. If the request is rejected it sends (DM) disconnect mode frame. </p> <div class="mw-heading mw-heading3"><h3 id="Functional_extensions_(options)"><span id="Functional_extensions_.28options.29"></span>Functional extensions (options)</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=27" title="Edit section: Functional extensions (options)"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>For <a href="/wiki/Circuit_switched" class="mw-redirect" title="Circuit switched">Switched Circuits</a> <ul><li>Commands: ADD – XID</li> <li>Responses: ADD – XID, RD</li></ul></li> <li>For 2-way Simultaneous commands &amp; responses are ADD – REJ</li> <li>For Single Frame Retransmission commands &amp; responses: ADD – SREJ</li> <li>For Information Commands &amp; Responses: ADD – Ul</li> <li>For Initialization <ul><li>Commands: ADD – SIM</li> <li>Responses: ADD – RIM</li></ul></li> <li>For Group Polling <ul><li>Commands: ADD – UP</li></ul></li> <li>Extended Addressing</li> <li>Delete Response I Frames</li> <li>Delete Command I Frames</li> <li>Extended Numbering</li> <li>For Mode Reset (ABM only) Commands are: ADD – RSET</li> <li>Data Link Test Commands &amp; Responses are: ADD – TEST</li> <li>Request Disconnect. Responses are ADD – RD</li> <li>32-bit FCS</li></ul> <div class="mw-heading mw-heading2"><h2 id="HDLC_command_and_response_repertoire_2">HDLC command and response repertoire</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=28" title="Edit section: HDLC command and response repertoire"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <table class="wikitable"> <tbody><tr> <th rowspan="2">Type Of Frame </th> <th rowspan="2">Name </th> <th rowspan="2">Command/<br />Response </th> <th rowspan="2">Description </th> <th rowspan="2">Info </th> <th colspan="8">C-Field Format </th></tr> <tr> <th>7</th> <th>6</th> <th>5</th> <th>4</th> <th>3</th> <th>2</th> <th>1</th> <th>0 </th></tr> <tr> <td>Information(I) </td> <td> </td> <td>C/R </td> <td>User exchange data </td> <td> </td> <td colspan="3">N(R)</td> <td>P/F</td> <td colspan="3">N(S)</td> <td>0 </td></tr> <tr> <td>Supervisory (S) </td> <td>Receive Ready (RR) </td> <td>C/R </td> <td>Positive Acknowledgement </td> <td>Ready to receive I-frame N(R) </td> <td colspan="3">N(R)</td> <td>P/F</td> <td>0</td> <td>0</td> <td>0</td> <td>1 </td></tr> <tr> <td> </td> <td>Receive Not Ready (RNR) </td> <td>C/R </td> <td>Positive Acknowledgement </td> <td>Not ready to receive </td> <td colspan="3">N(R)</td> <td>P/F</td> <td>0</td> <td>1</td> <td>0</td> <td>1 </td></tr> <tr> <td> </td> <td>Reject (REJ) </td> <td>C/R </td> <td>Negative Acknowledgement </td> <td>Retransmit starting with N(R) </td> <td colspan="3">N(R)</td> <td>P/F</td> <td>1</td> <td>0</td> <td>0</td> <td>1 </td></tr> <tr> <td> </td> <td>Selective Reject (SREJ) </td> <td>C/R </td> <td>Negative Acknowledgement </td> <td>Retransmit only N(R) </td> <td colspan="3">N(R)</td> <td>P/F</td> <td>1</td> <td>1</td> <td>0</td> <td>1 </td></tr></tbody></table> <div class="mw-heading mw-heading3"><h3 id="Unnumbered_frames">Unnumbered frames</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=29" title="Edit section: Unnumbered frames"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Unnumbered frames are identified by the low two bits being 1. With the P/F flag, that leaves 5 bits as a frame type. Even though fewer than 32 values are in use, some types have different meanings depending on the direction they are sent: as a command or as a response. The relationship between the <b>DISC</b> (disconnect) command and the <b>RD</b> (request disconnect) response seems clear enough, but the reason for making <b>SARM</b> command numerically equal to the <b>DM</b> response is obscure. </p> <table class="wikitable"> <tbody><tr> <th rowspan="2">Name </th> <th rowspan="2">Command/<br />Response </th> <th rowspan="2">Description </th> <th rowspan="2">Info </th> <th colspan="8">C-Field Format </th></tr> <tr> <th>7</th> <th>6</th> <th>5</th> <th>4</th> <th>3</th> <th>2</th> <th>1</th> <th>0 </th></tr> <tr> <td>Set normal response mode <b>SNRM</b> </td> <td align="center">C </td> <td>Set mode </td> <td>Use 3 bit sequence number </td> <td>1</td> <td>0</td> <td>0</td> <td align="center">P</td> <td>0</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>SNRM extended <b>SNRME</b> </td> <td align="center">C </td> <td>Set mode; extended </td> <td>Use 7 bit sequence number </td> <td>1</td> <td>1</td> <td>0</td> <td align="center">P</td> <td>1</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Set asynchronous response mode <b>SARM</b> </td> <td align="center">C </td> <td>Set mode </td> <td>Use 3 bit sequence number </td> <td>0</td> <td>0</td> <td>0</td> <td align="center">P</td> <td>1</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>SARM extended <b>SARME</b> </td> <td align="center">C </td> <td>Set mode; extended </td> <td>Use 7 bit sequence number </td> <td>0</td> <td>1</td> <td>0</td> <td align="center">P</td> <td>1</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Set asynchronous balanced mode <b>SABM</b> </td> <td align="center">C </td> <td>Set mode </td> <td>Use 3 bit sequence number </td> <td>0</td> <td>0</td> <td>1</td> <td align="center">P</td> <td>1</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>SABM extended <b>SABME</b> </td> <td align="center">C </td> <td>Set mode; extended </td> <td>Use 7 bit sequence number </td> <td>0</td> <td>1</td> <td>1</td> <td align="center">P</td> <td>1</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Set Mode <b>SM</b> </td> <td align="center">C </td> <td>Set mode, generic </td> <td>New in ISO 13239 </td> <td>1</td> <td>1</td> <td>0</td> <td align="center">P</td> <td>0</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>Set initialization mode <b>SIM</b> </td> <td align="center">C </td> <td colspan="2">Initialize link control function in the addressed station </td> <td>0</td> <td>0</td> <td>0</td> <td align="center">P</td> <td>0</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Request initialization mode <b>RIM</b> </td> <td align="center">R </td> <td>Initialization needed </td> <td>Request for <b>SIM</b> command </td> <td>0</td> <td>0</td> <td>0</td> <td align="center">F</td> <td>0</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Disconnect <b>DISC</b> </td> <td align="center">C </td> <td>Terminate logical link connection </td> <td>Future I and S frames return <b>DM</b> </td> <td>0</td> <td>1</td> <td>0</td> <td align="center">P</td> <td>0</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>Request disconnect <b>RD</b> </td> <td align="center">R </td> <td>Solicitation for <b>DISC</b> Command </td> <td> </td> <td>0</td> <td>1</td> <td>0</td> <td align="center">F</td> <td>0</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>Unnumbered acknowledgment <b>UA</b> </td> <td align="center">R </td> <td colspan="2">Acknowledge acceptance of one of the set-mode commands. </td> <td>0</td> <td>1</td> <td>1</td> <td align="center">F</td> <td>0</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>Disconnect mode <b>DM</b> </td> <td align="center">R </td> <td>Responder in disconnected mode </td> <td>Mode set required </td> <td>0</td> <td>0</td> <td>0</td> <td align="center">F</td> <td>1</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Unnumbered information <b>UI</b> </td> <td align="center">C/R </td> <td>Unacknowledged data </td> <td>Has a payload </td> <td>0</td> <td>0</td> <td>0</td> <td align="center">P/F</td> <td>0</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>UI with header check <b>UIH</b> </td> <td align="center">C/R </td> <td>Unacknowledged data </td> <td>New in ISO 13239 </td> <td>1</td> <td>1</td> <td>1</td> <td align="center">P/F</td> <td>1</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Unnumbered poll <b>UP</b> </td> <td align="center">C </td> <td colspan="2">Used to solicit control information </td> <td>0</td> <td>0</td> <td>1</td> <td align="center">P</td> <td>0</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>Reset <b>RSET</b> </td> <td align="center">C </td> <td>Used for recovery </td> <td>Resets N(R) but not N(S) </td> <td>1</td> <td>0</td> <td>0</td> <td align="center">P</td> <td>1</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Exchange identification <b>XID</b> </td> <td align="center">C/R </td> <td colspan="2">Used to Request/Report capabilities </td> <td>1</td> <td>0</td> <td>1</td> <td align="center">P/F</td> <td>1</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Test <b>TEST</b> </td> <td align="center">C/R </td> <td colspan="2">Exchange identical information fields for testing </td> <td>1</td> <td>1</td> <td>1</td> <td align="center">P/F</td> <td>0</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>Frame reject <b>FRMR</b> </td> <td align="center">R </td> <td colspan="2">Report receipt of unacceptable frame </td> <td>1</td> <td>0</td> <td>0</td> <td align="center">F</td> <td>0</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Nonreserved 0 <b>NR0</b> </td> <td align="center">C/R </td> <td>Not standardized </td> <td>For application use </td> <td>0</td> <td>0</td> <td>0</td> <td align="center">P/F</td> <td>1</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>Nonreserved 1 <b>NR1</b> </td> <td align="center">C/R </td> <td>Not standardized </td> <td>For application use </td> <td>1</td> <td>0</td> <td>0</td> <td align="center">P/F</td> <td>1</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>Nonreserved 2 <b>NR2</b> </td> <td align="center">C/R </td> <td>Not standardized </td> <td>For application use </td> <td>0</td> <td>1</td> <td>0</td> <td align="center">P/F</td> <td>1</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>Nonreserved 3 <b>NR3</b> </td> <td align="center">C/R </td> <td>Not standardized </td> <td>For application use </td> <td>1</td> <td>1</td> <td>0</td> <td align="center">P/F</td> <td>1</td> <td>0</td> <td>1</td> <td>1 </td></tr> <tr> <td>Ack connectionless, seq 0 <b>AC0</b> </td> <td align="center">C/R </td> <td>Not part of HDLC </td> <td>IEEE 802.2 LLC extension </td> <td>0</td> <td>1</td> <td>1</td> <td align="center">P/F</td> <td>0</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Ack connectionless, seq 1 <b>AC1</b> </td> <td align="center">C/R </td> <td>Not part of HDLC </td> <td>IEEE 802.2 LLC extension </td> <td>1</td> <td>1</td> <td>1</td> <td align="center">P/F</td> <td>0</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Configure for test <b>CFGR</b> </td> <td align="center">C/R </td> <td>Not part of HDLC </td> <td>Was part of SDLC </td> <td>1</td> <td>1</td> <td>0</td> <td align="center">P/F</td> <td>0</td> <td>1</td> <td>1</td> <td>1 </td></tr> <tr> <td>Beacon <b>BCN</b> </td> <td align="center">R </td> <td>Not part of HDLC </td> <td>Was part of SDLC </td> <td>1</td> <td>1</td> <td>1</td> <td align="center">F</td> <td>1</td> <td>1</td> <td>1</td> <td>1 </td></tr></tbody></table> <table class="wikitable" style="text-align: center;"> <caption>HDLC U frames, by binary encoding </caption> <tbody><tr> <th colspan="8">C-Field Format</th> <th rowspan="2">Command</th> <th rowspan="2">Response </th> <td rowspan="15"> </td> <th colspan="8">C-Field Format</th> <th rowspan="2">Command</th> <th rowspan="2">Response </th></tr> <tr> <th>0</th> <th>1</th> <th>2</th> <th>3</th> <th>4</th> <th>5</th> <th>6</th> <th>7 </th> <th>0</th> <th>1</th> <th>2</th> <th>3</th> <th>4</th> <th>5</th> <th>6</th> <th>7 </th></tr> <tr> <td>1</td> <td>1</td> <td>0</td> <td>0</td> <td>P/F</td> <td>0</td> <td>0</td> <td>0</td> <td colspan="2">UI </td> <td>1</td> <td>1</td> <td>1</td> <td>0</td> <td>P/F</td> <td>0</td> <td>1</td> <td>0</td> <td colspan="2" bgcolor="lightgrey">(unused) </td></tr> <tr> <td>1</td> <td>1</td> <td>0</td> <td>0</td> <td>P/F</td> <td>0</td> <td>0</td> <td>1</td> <td>SNRM</td> <td> </td> <td>1</td> <td>1</td> <td>1</td> <td>0</td> <td>P/F</td> <td>0</td> <td>1</td> <td>1</td> <td colspan="2">CFGR<sup class="plainlinks nourlexpansion citation" id="ref_Dagger1"><a href="#endnote_Dagger1">†</a></sup> </td></tr> <tr> <td>1</td> <td>1</td> <td>0</td> <td>0</td> <td>P/F</td> <td>0</td> <td>1</td> <td>0</td> <td>DISC</td> <td>RD </td> <td>1</td> <td>1</td> <td>1</td> <td>0</td> <td>P/F</td> <td>1</td> <td>0</td> <td>x</td> <td colspan="2" bgcolor="lightgrey">(unused) </td></tr> <tr> <td>1</td> <td>1</td> <td>0</td> <td>0</td> <td>P/F</td> <td>0</td> <td>1</td> <td>1</td> <td>SM<sup class="plainlinks nourlexpansion citation" id="ref_Asterisk1"><a href="#endnote_Asterisk1">*</a></sup></td> <td> </td> <td>1</td> <td>1</td> <td>1</td> <td>0</td> <td>P/F</td> <td>1</td> <td>1</td> <td>x</td> <td colspan="2">AC0–AC1<sup class="plainlinks nourlexpansion citation" id="ref_Dagger2"><a href="#endnote_Dagger2">†</a></sup> </td></tr> <tr> <td>1</td> <td>1</td> <td>0</td> <td>0</td> <td>P/F</td> <td>1</td> <td>0</td> <td>0</td> <td>UP</td> <td> </td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>P/F</td> <td>0</td> <td>0</td> <td>0</td> <td>SARM</td> <td>DM </td></tr> <tr> <td>1</td> <td>1</td> <td>0</td> <td>0</td> <td>P/F</td> <td>1</td> <td>0</td> <td>1</td> <td colspan="2" bgcolor="lightgrey">(unused) </td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>P/F</td> <td>0</td> <td>0</td> <td>1</td> <td>RSET</td> <td> </td></tr> <tr> <td>1</td> <td>1</td> <td>0</td> <td>0</td> <td>P/F</td> <td>1</td> <td>1</td> <td>0</td> <td></td> <td>UA </td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>P/F</td> <td>0</td> <td>1</td> <td>0</td> <td>SARME</td> <td> </td></tr> <tr> <td>1</td> <td>1</td> <td>0</td> <td>0</td> <td>P/F</td> <td>1</td> <td>1</td> <td>1</td> <td colspan="2">TEST </td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>P/F</td> <td>0</td> <td>1</td> <td>1</td> <td>SNRME</td> <td> </td></tr> <tr> <td>1</td> <td>1</td> <td>0</td> <td>1</td> <td>P/F</td> <td>0</td> <td>x</td> <td>x</td> <td colspan="2">NR0–NR3 </td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>P/F</td> <td>1</td> <td>0</td> <td>0</td> <td>SABM</td> <td> </td></tr> <tr> <td>1</td> <td>1</td> <td>0</td> <td>1</td> <td>P/F</td> <td>1</td> <td>x</td> <td>x</td> <td colspan="2" bgcolor="lightgrey">(unused) </td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>P/F</td> <td>1</td> <td>0</td> <td>1</td> <td colspan="2">XID </td></tr> <tr> <td>1</td> <td>1</td> <td>1</td> <td>0</td> <td>P/F</td> <td>0</td> <td>0</td> <td>0</td> <td>SIM</td> <td>RIM </td> <td>1</td> <td>1</td> <td>1</td> <td>1</td> <td>P/F</td> <td>1</td> <td>1</td> <td>0</td> <td>SABME</td> <td> </td></tr> <tr> <td>1</td> <td>1</td> <td>1</td> <td>0</td> <td>P/F</td> <td>0</td> <td>0</td> <td>1</td> <td></td> <td>FRMR </td> <td rowspan="2">1</td> <td rowspan="2">1</td> <td rowspan="2">1</td> <td rowspan="2">1</td> <td rowspan="2">P/F</td> <td rowspan="2">1</td> <td rowspan="2">1</td> <td rowspan="2">1</td> <td colspan="2">UIH<sup class="plainlinks nourlexpansion citation" id="ref_Asterisk2"><a href="#endnote_Asterisk2">*</a></sup> </td></tr> <tr> <td colspan="10"> </td> <td></td> <td>BCN<sup class="plainlinks nourlexpansion citation" id="ref_Dagger3"><a href="#endnote_Dagger3">†</a></sup> </td></tr></tbody></table> <dl><dd><sup>*</sup> <style data-mw-deduplicate="TemplateStyles:r1041539562">.mw-parser-output .citation{word-wrap:break-word}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}</style><span class="citation wikicite" id="endnote_Asterisk1"><b><a href="#ref_Asterisk1">^</a></b></span> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1041539562" /><span class="citation wikicite" id="endnote_Asterisk2"><b><a href="#ref_Asterisk2">^</a></b></span> ISO/IEC 13239 addition</dd> <dd><sup>†</sup> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1041539562" /><span class="citation wikicite" id="endnote_Dagger1"><b><a href="#ref_Dagger1">^</a></b></span> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1041539562" /><span class="citation wikicite" id="endnote_Dagger2"><b><a href="#ref_Dagger2">^</a></b></span> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1041539562" /><span class="citation wikicite" id="endnote_Dagger3"><b><a href="#ref_Dagger3">^</a></b></span> Not part of HDLC</dd></dl> <p>The UI, UIH, XID, TEST frames contain a payload, and can be used as both commands and responses. The SM command and FRMR response also contain a payload. </p> <ul><li>A UI frame contains user information, but unlike an I frame it is neither acknowledged nor retransmitted if lost.</li> <li>A UIH frame (an ISO/IEC 13239 addition) is like a UI frame, but additionally applies the frame check sequence only to a specified-length prefix of the frame; transmission errors after this prefix are not detected.</li> <li>The XID frame is used to exchange terminal capabilities. <a href="/wiki/Systems_Network_Architecture" title="Systems Network Architecture">Systems Network Architecture</a> defined one format, but the variant defined in ISO 8885 is more commonly used. A primary advertises its capabilities with an XID command, and a secondary returns its own capabilities in an XID response.</li> <li>The TEST frame is simply a <a href="/wiki/Ping_(networking_utility)" title="Ping (networking utility)">ping</a> command for debugging purposes. The payload of the TEST command is returned in the TEST response.</li> <li>The SM command (an ISO/IEC 13239 addition) is a generic "set mode" command which includes an information field (in the same ISO 8885 format as XID) specifying parameters. This allows parameter values (like 15- and 31-bit sequence numbers) and parameters like window sizes and maximum frame sizes not expressible by the standard six mode-set commands to be negotiated.</li> <li>The FRMR response contains a description of the unacceptable frame, in a standardized format. The first 1 or 2 bytes are a copy of the rejected control field, the next 1 or 2 contain the secondary's current send and receive sequence numbers, and the following 4 or 5 bits are error flags indicating the reason for the rejection.</li></ul> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=30" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Point-to-Point_Protocol" title="Point-to-Point Protocol">Point-to-Point Protocol</a></li> <li><a href="/wiki/Serial_Line_Internet_Protocol" title="Serial Line Internet Protocol">Serial Line Internet Protocol</a></li> <li><a href="/wiki/Self-synchronizing_code" title="Self-synchronizing code">Self-synchronizing code</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=31" title="Edit section: Notes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width reflist-columns-2"> <ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text">(<a href="#CITEREFFriendFikeBakerBellamy1988">Friend et al. 1988</a>, p.&#160;191)</span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.euclideanspace.com/coms/protocol/x25/link/f_types/index.htm#rr">"X.25 frame types - Martin Baker"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=X.25+frame+types+-+Martin+Baker&amp;rft_id=http%3A%2F%2Fwww.euclideanspace.com%2Fcoms%2Fprotocol%2Fx25%2Flink%2Ff_types%2Findex.htm%23rr&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHigh-Level+Data+Link+Control" class="Z3988"></span></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.euclideanspace.com/coms/protocol/x25/link/f_types/index.htm#rnr">"X.25 frame types - Martin Baker"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=X.25+frame+types+-+Martin+Baker&amp;rft_id=http%3A%2F%2Fwww.euclideanspace.com%2Fcoms%2Fprotocol%2Fx25%2Flink%2Ff_types%2Findex.htm%23rnr&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHigh-Level+Data+Link+Control" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.euclideanspace.com/coms/protocol/x25/link/f_types/index.htm#rej">"X.25 frame types - Martin Baker"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=X.25+frame+types+-+Martin+Baker&amp;rft_id=http%3A%2F%2Fwww.euclideanspace.com%2Fcoms%2Fprotocol%2Fx25%2Flink%2Ff_types%2Findex.htm%23rej&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHigh-Level+Data+Link+Control" class="Z3988"></span></span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=32" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFFriendFikeBakerBellamy1988" class="citation book cs1">Friend, George E.; Fike, John L.; Baker, H. Charles; Bellamy, John C. (1988). <i>Understanding Data Communications</i> (2nd&#160;ed.). Indianapolis: Howard W. Sams &amp; Company. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-672-27270-9" title="Special:BookSources/0-672-27270-9"><bdi>0-672-27270-9</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Understanding+Data+Communications&amp;rft.place=Indianapolis&amp;rft.edition=2nd&amp;rft.pub=Howard+W.+Sams+%26+Company&amp;rft.date=1988&amp;rft.isbn=0-672-27270-9&amp;rft.aulast=Friend&amp;rft.aufirst=George+E.&amp;rft.au=Fike%2C+John+L.&amp;rft.au=Baker%2C+H.+Charles&amp;rft.au=Bellamy%2C+John+C.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHigh-Level+Data+Link+Control" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFStallings2004" class="citation book cs1">Stallings, William (2004). <a rel="nofollow" class="external text" href="https://archive.org/details/datacomputercomm00stal_1"><i>Data and Computer Communications</i></a> (7th&#160;ed.). Upper Saddle River: Pearson/Prentice Hall. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-13-100681-2" title="Special:BookSources/978-0-13-100681-2"><bdi>978-0-13-100681-2</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Data+and+Computer+Communications&amp;rft.place=Upper+Saddle+River&amp;rft.edition=7th&amp;rft.pub=Pearson%2FPrentice+Hall&amp;rft.date=2004&amp;rft.isbn=978-0-13-100681-2&amp;rft.aulast=Stallings&amp;rft.aufirst=William&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fdatacomputercomm00stal_1&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHigh-Level+Data+Link+Control" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFS._Tanenbaum2005" class="citation book cs1">S. Tanenbaum, Andrew (2005). <a rel="nofollow" class="external text" href="https://archive.org/details/isbn_9788177581652"><i>Computer Networks</i></a> (4th&#160;ed.). 482, F.I.E., Patparganj, Delhi 110 092: Dorling Kindersley(India)Pvt. Ltd., licenses of Pearson Education in South Asia. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/81-7758-165-1" title="Special:BookSources/81-7758-165-1"><bdi>81-7758-165-1</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Computer+Networks&amp;rft.place=482%2C+F.I.E.%2C+Patparganj%2C+Delhi+110+092&amp;rft.edition=4th&amp;rft.pub=Dorling+Kindersley%28India%29Pvt.+Ltd.%2C+licenses+of+Pearson+Education+in+South+Asia&amp;rft.date=2005&amp;rft.isbn=81-7758-165-1&amp;rft.aulast=S.+Tanenbaum&amp;rft.aufirst=Andrew&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fisbn_9788177581652&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHigh-Level+Data+Link+Control" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_book" title="Template:Cite book">cite book</a>}}</code>: CS1 maint: location (<a href="/wiki/Category:CS1_maint:_location" title="Category:CS1 maint: location">link</a>)</span></li></ul> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=High-Level_Data_Link_Control&amp;action=edit&amp;section=33" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation cs1"><i>PPP in a Real-time Oriented HDLC-like Framing</i>. <a href="/wiki/RFC_(identifier)" class="mw-redirect" title="RFC (identifier)">RFC</a>&#160;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://tools.ietf.org/html/rfc2687">2687</a></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=PPP+in+a+Real-time+Oriented+HDLC-like+Framing&amp;rft_id=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc2687%23id-name%3D&#82;FC&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHigh-Level+Data+Link+Control" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation cs1"><a rel="nofollow" class="external text" href="https://www.rfc-editor.org/info/std51"><i>PPP in HDLC-like Framing</i></a>. <a href="/wiki/RFC_(identifier)" class="mw-redirect" title="RFC (identifier)">RFC</a>&#160;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://tools.ietf.org/html/rfc1662">1662</a></span>. STD 51.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=PPP+in+HDLC-like+Framing&amp;rft_id=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc1662%23id-name%3D&#82;FC&amp;rft_id=https%3A%2F%2Fwww.rfc-editor.org%2Finfo%2Fstd51&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AHigh-Level+Data+Link+Control" class="Z3988"></span></li> <li><a rel="nofollow" class="external text" href="http://www.ict.tuwien.ac.at/lva/384.081/infobase/L03-HDLC_v4-4.pdf">Data Communication Lectures of Manfred Lindner – Part HDLC</a></li> <li><a rel="nofollow" class="external text" href="http://www.acacia-net.com/wwwcla/protocol/iso_4335.htm#I%20format">HDLC packet format and other information</a></li> <li><sup class="noprint Inline-Template"><span style="white-space: nowrap;">&#91;<i><a rel="nofollow" class="external text" href="https://web.archive.org/web/*/http://www.cse.dmu.ac.uk/courses/MScC+IT/MSC-CD/Networks/DataLink/DataLink.htm#12%20The%20HDLC%20family%20of%20protocols"><span title="The HDLC Family of Protocols&#160;tagged December 2021">dead link</span></a></i><span style="visibility:hidden; color:transparent; padding-left:2px">&#8205;</span>&#93;</span></sup></li> <li><a rel="nofollow" class="external text" href="https://law.resource.org/pub/in/bis/S04/is.11418.1.1986.pdf">ISO 3309:1984 Information Processing Systems—Data Communication—High Level Data Link Control Procedures—Frame Structure</a> (<a rel="nofollow" class="external text" href="https://archive.org/details/gov.in.is.11418.1.1986">archived</a>)</li> <li><a rel="nofollow" class="external text" href="https://law.resource.org/pub/in/bis/S04/is.11418.2.1986.pdf">ISO 4335:1984 Data Communication—High Level Data Link Control Procedures—Consolidation of Elements of Procedures</a> (<a rel="nofollow" class="external text" href="https://archive.org/details/gov.in.is.11418.2.1986">archived</a>)</li> <li><a rel="nofollow" class="external text" href="https://www.iso.org/standard/37010.html">ISO/IEC 13239:2002</a></li></ul> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐65585cc8dc‐qxm8t Cached time: 20250401001349 Cache expiry: 2591176 Reduced expiry: true Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.401 seconds Real time usage: 0.522 seconds Preprocessor visited node count: 1860/1000000 Post‐expand include size: 28871/2097152 bytes Template argument size: 2440/2097152 bytes Highest expansion depth: 15/100 Expensive parser function count: 4/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 26034/5000000 bytes Lua time usage: 0.192/10.000 seconds Lua memory usage: 6364287/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 407.919 1 -total 32.31% 131.792 1 Template:Reflist 22.24% 90.736 3 Template:Cite_web 16.87% 68.826 1 Template:Short_description 13.49% 55.028 1 Template:Original_research 12.34% 50.353 1 Template:Ambox 11.19% 45.639 1 Template:Infobox_networking_protocol 10.43% 42.551 1 Template:Infobox 10.40% 42.417 2 Template:Pagetype 7.19% 29.335 1 Template:Harv --> <!-- Saved in parser cache with key enwiki:pcache:78261:|#|:idhash:canonical and timestamp 20250401001349 and revision id 1253304511. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://auth.wikimedia.org/loginwiki/wiki/Special:CentralAutoLogin/start?useformat=desktop&amp;type=1x1&amp;usesul3=1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=High-Level_Data_Link_Control&amp;oldid=1253304511">https://en.wikipedia.org/w/index.php?title=High-Level_Data_Link_Control&amp;oldid=1253304511</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Computer_network_technology" title="Category:Computer network technology">Computer network technology</a></li><li><a href="/wiki/Category:Link_protocols" title="Category:Link protocols">Link protocols</a></li><li><a href="/wiki/Category:Logical_link_control" title="Category:Logical link control">Logical link control</a></li><li><a href="/wiki/Category:Telecommunications_standards" title="Category:Telecommunications standards">Telecommunications standards</a></li><li><a href="/wiki/Category:Telecommunication_protocols" title="Category:Telecommunication protocols">Telecommunication protocols</a></li><li><a href="/wiki/Category:Networking_standards" title="Category:Networking standards">Networking standards</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:Articles_that_may_contain_original_research_from_March_2019" title="Category:Articles that may contain original research from March 2019">Articles that may contain original research from March 2019</a></li><li><a href="/wiki/Category:All_articles_that_may_contain_original_research" title="Category:All articles that may contain original research">All articles that may contain original research</a></li><li><a href="/wiki/Category:CS1_maint:_location" title="Category:CS1 maint: location">CS1 maint: location</a></li><li><a href="/wiki/Category:All_articles_with_dead_external_links" title="Category:All articles with dead external links">All articles with dead external links</a></li><li><a href="/wiki/Category:Articles_with_dead_external_links_from_December_2021" title="Category:Articles with dead external links from December 2021">Articles with dead external links from December 2021</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 25 October 2024, at 08:43<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=High-Level_Data_Link_Control&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://www.wikimedia.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" lang="en" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">High-Level Data Link Control</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>23 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="mw-portlet mw-portlet-dock-bottom emptyPortlet" id="p-dock-bottom"> <ul> </ul> </div> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-7ccc697c5f-r2n5t","wgBackendResponseTime":137,"wgPageParseReport":{"limitreport":{"cputime":"0.401","walltime":"0.522","ppvisitednodes":{"value":1860,"limit":1000000},"postexpandincludesize":{"value":28871,"limit":2097152},"templateargumentsize":{"value":2440,"limit":2097152},"expansiondepth":{"value":15,"limit":100},"expensivefunctioncount":{"value":4,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":26034,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 407.919 1 -total"," 32.31% 131.792 1 Template:Reflist"," 22.24% 90.736 3 Template:Cite_web"," 16.87% 68.826 1 Template:Short_description"," 13.49% 55.028 1 Template:Original_research"," 12.34% 50.353 1 Template:Ambox"," 11.19% 45.639 1 Template:Infobox_networking_protocol"," 10.43% 42.551 1 Template:Infobox"," 10.40% 42.417 2 Template:Pagetype"," 7.19% 29.335 1 Template:Harv"]},"scribunto":{"limitreport-timeusage":{"value":"0.192","limit":"10.000"},"limitreport-memusage":{"value":6364287,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"CITEREFFriendFikeBakerBellamy1988\"] = 1,\n [\"CITEREFS._Tanenbaum2005\"] = 1,\n [\"CITEREFStallings2004\"] = 1,\n}\ntemplate_list = table#1 {\n [\"Cite IETF\"] = 2,\n [\"Cite book\"] = 3,\n [\"Cite web\"] = 3,\n [\"Dead link\"] = 1,\n [\"Further\"] = 1,\n [\"Harv\"] = 1,\n [\"Infobox networking protocol\"] = 1,\n [\"Note\"] = 5,\n [\"Original research\"] = 1,\n [\"Ref\"] = 5,\n [\"Reflist\"] = 1,\n [\"Short description\"] = 1,\n [\"Slink\"] = 1,\n [\"Start date and age\"] = 1,\n}\narticle_whitelist = table#1 {\n}\nciteref_patterns = table#1 {\n}\n"},"cachereport":{"origin":"mw-web.codfw.main-65585cc8dc-qxm8t","timestamp":"20250401001349","ttl":2591176,"transientcontent":true}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"High-Level Data Link Control","url":"https:\/\/en.wikipedia.org\/wiki\/High-Level_Data_Link_Control","sameAs":"http:\/\/www.wikidata.org\/entity\/Q847021","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q847021","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2002-08-31T10:07:17Z","dateModified":"2024-10-25T08:43:04Z","headline":"bit-oriented code-transparent synchronous data link layer protocol"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10