{"id":1146,"date":"2023-11-08T20:31:44","date_gmt":"2023-11-08T12:31:44","guid":{"rendered":"https:\/\/www.ruianding.com\/blog\/?p=1146"},"modified":"2023-12-04T19:41:17","modified_gmt":"2023-12-04T11:41:17","slug":"popular-internet-portocols-transmission-control-portocol-tcp","status":"publish","type":"post","link":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/","title":{"rendered":"Internet Protocols &#8211; Transmission Control Protocol (TCP)"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">TCP Concepts<\/h3>\n\n\n\n<p>TCP is part of the <strong>transport layer<\/strong> (Layer 4) in the <a rel=\"noreferrer noopener\" href=\"https:\/\/osi-model.com\/\" data-type=\"URL\" data-id=\"https:\/\/osi-model.com\/\" target=\"_blank\">OSI model<\/a>, which provides <strong>host-to-host<\/strong> communication services for applications. It is <strong>connection-oriented<\/strong>, which means that a connection needs to be established between both ends of a communication link before any data can be sent. This connection is a logical path characterized by the source and <strong>destination IP addresses<\/strong> and their respective <strong>port numbers<\/strong>. This provides for a <strong>reliable session<\/strong> that ensures data integrity and order.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-default\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Three-way Handshake<\/strong> (Establish the connection)<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-10.png\" alt=\"\" class=\"wp-image-1155\" width=\"777\" height=\"381\"\/><\/figure>\n\n\n\n<p>The process of establishing a TCP connection involves a set of messages exchanged between the client and the server known as the &#8220;<strong>three-way handshake<\/strong>&#8220;. Here&#8217;s how it works:<\/p>\n\n\n\n<p>1. <strong>SYN<\/strong>: The client begins by sending a segment with the SYN (Synchronize Sequence Numbers) flag set. This is to initiate communication and synchronize sequence numbers.<\/p>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background has-small-font-size\">In the following example, in frame 192, the client (192.168.3.7) sent a segment with <strong>SYN<\/strong> flag set to the server (106.15.192.27)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1983\" height=\"1128\" src=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-7.png\" alt=\"\" class=\"wp-image-1150\"\/><\/figure>\n\n\n\n<p>2. <strong>SYN-ACK<\/strong>: Upon receiving the SYN, the server responds with a segment that has both the SYN and ACK (Acknowledgment) flags set, acknowledging the receipt of the client&#8217;s SYN.<\/p>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background has-small-font-size\">After that, in frame 193, the server (106.15.192.27) responded with a segment contained both the <strong>SYN<\/strong> and <strong>ACK<\/strong> flags set to the client (192.168.3.7).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2047\" height=\"1126\" src=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-8.png\" alt=\"\" class=\"wp-image-1151\"\/><\/figure>\n\n\n\n<p>3. <strong>ACK<\/strong>: Finally, the client sends an ACK back to the server. After this step, the connection is established, and data transfer can begin.<\/p>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background has-small-font-size\">In frame 194, the client (192.168.3.7) sent a segment with <strong>ACK<\/strong> flag set back to the server (106.15.192.27). Lastly, the connection was established and data transfer began.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2041\" height=\"1099\" src=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-9.png\" alt=\"\" class=\"wp-image-1152\"\/><\/figure>\n\n\n\n<p>Each step in the handshake process is crucial for synchronizing the sequence numbers and acknowledgment numbers between both the client and the server.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-default\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Four-way Handshake<\/strong> (Terminate the connection)<\/h3>\n\n\n\n<p>The TCP four-way handshake is an essential process for the orderly termination of a TCP connection. It ensures that both ends of the connection are properly informed of the closure and that all pending data is transmitted before the connection is fully closed.<\/p>\n\n\n\n<p>1.<strong>FIN from Initiator<\/strong>: The host that wants to close the connection (let&#8217;s call it <strong>Host A<\/strong>) initiates the process. Host A sends a TCP segment with the <code>FIN<\/code> (Finish) flag set.<\/p>\n\n\n\n<p>2.<strong>ACK for FIN from Receiver<\/strong>: The other host (<strong>Host B<\/strong>) receives the FIN segment. Host B sends back an <code>ACK<\/code> (Acknowledgment) segment.<\/p>\n\n\n\n<p>3.<strong>FIN from Receiver<\/strong>: Host B can continue to send data if needed, as its side of the connection is still open for sending. Once Host B is ready to terminate the connection, it sends a <code>FIN<\/code> segment.<\/p>\n\n\n\n<p>4.<strong>Final ACK from Initiator<\/strong>: Host A receives the <code>FIN<\/code> segment from Host B. Host A sends an ACK segment in response. <\/p>\n\n\n\n<p>After sending this final ACK, the connection is fully closed. Host A waits for a period of time (defined by the TCP protocol) to ensure the ACK is received and to handle any delayed packets (<code>TIME_WAIT<\/code> state).<\/p>\n\n\n\n<p>The four-way handshake is<strong> <\/strong>crucial for preventing abrupt terminations and potential data loss, which is particularly important in reliable data transfer protocols like TCP.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">TCP Reset<\/h3>\n\n\n\n<p>A <strong>TCP reset packet (RST)<\/strong> is sent by a device to signal that something is wrong with the connection. It is used to abruptly close a TCP connection.<\/p>\n\n\n\n<p>The <strong>RST<\/strong> is a flag in the TCP header. When set, it indicates that the receiver should consider the connection invalid.<\/p>\n\n\n\n<p>When a device receives a TCP segment with the RST flag set, it <strong>immediately aborts the connection<\/strong> associated with that TCP segment. Any data queued for transmission or received but not yet processed is discarded.<\/p>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background has-small-font-size\">Below is an example where the WAP server attempts to establish trust with the ADFS server. However, the ADFS server responds by sending a segment with a Reset Flag, which immediately terminates the connection.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-21.png\" alt=\"\" class=\"wp-image-1201\" width=\"605\" height=\"190\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1315\" height=\"723\" src=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-20.png\" alt=\"\" class=\"wp-image-1199\"\/><\/figure>\n\n\n\n<p class=\"has-luminous-vivid-amber-background-color has-background has-small-font-size\">Unlike normal connection termination with FIN flags, which involves a graceful shutdown of the connection with acknowledgment, RST does not involve a graceful shutdown.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TCP Concepts TCP is part of the transport layer (Layer 4) in the OSI model, which provides host-to-host communication services for applications. It is connection-oriented, which means that a connection needs to be established between both ends of a communication link before any data can be sent. This connection is a logical path characterized by [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[49],"tags":[44],"class_list":["post-1146","post","type-post","status-publish","format-standard","hentry","category-protocols","tag-network"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Internet Protocols - Transmission Control Protocol (TCP) - \u6781\u7b80IT\uff5cSimpleIT<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Internet Protocols - Transmission Control Protocol (TCP) - \u6781\u7b80IT\uff5cSimpleIT\" \/>\n<meta property=\"og:description\" content=\"TCP Concepts TCP is part of the transport layer (Layer 4) in the OSI model, which provides host-to-host communication services for applications. It is connection-oriented, which means that a connection needs to be established between both ends of a communication link before any data can be sent. This connection is a logical path characterized by [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/\" \/>\n<meta property=\"og:site_name\" content=\"\u6781\u7b80IT\uff5cSimpleIT\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-08T12:31:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-04T11:41:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-10.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1036\" \/>\n\t<meta property=\"og:image:height\" content=\"508\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ruian Ding\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ruian Ding\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/\"},\"author\":{\"name\":\"Ruian Ding\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b\"},\"headline\":\"Internet Protocols &#8211; Transmission Control Protocol (TCP)\",\"datePublished\":\"2023-11-08T12:31:44+00:00\",\"dateModified\":\"2023-12-04T11:41:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/\"},\"wordCount\":641,\"publisher\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b\"},\"image\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-10.png\",\"keywords\":[\"NETWORK\"],\"articleSection\":[\"Protocols\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/\",\"url\":\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/\",\"name\":\"Internet Protocols - Transmission Control Protocol (TCP) - \u6781\u7b80IT\uff5cSimpleIT\",\"isPartOf\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-10.png\",\"datePublished\":\"2023-11-08T12:31:44+00:00\",\"dateModified\":\"2023-12-04T11:41:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#primaryimage\",\"url\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-10.png\",\"contentUrl\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-10.png\",\"width\":1036,\"height\":508},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.ruianding.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Internet Protocols &#8211; Transmission Control Protocol (TCP)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/#website\",\"url\":\"https:\/\/www.ruianding.com\/blog\/\",\"name\":\"Ruian's Tech Troubleshooting Toolbox\",\"description\":\"Debug the World.\",\"publisher\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b\"},\"alternateName\":\"\u4e01\u777f\u5b89\u7684\u6280\u672f\u5206\u4eab\u535a\u5ba2\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.ruianding.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b\",\"name\":\"Ruian Ding\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/05\/logo.png\",\"contentUrl\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/05\/logo.png\",\"width\":284,\"height\":284,\"caption\":\"Ruian Ding\"},\"logo\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"I am currently a Support Specialist at NIO, focusing on cloud-related issues for NIO Power. Previously, at Microsoft Entra ID, I specialized in identity and access management (IAM), including device registration, Windows Hello for Business (WHfB), multi-factor authentication (MFA), and single sign-on (SSO). In addition to my core expertise, I have a strong foundation in Active Directory, Servers, Cloud Computing, Network Administration, and Front-end Web Development. This diverse technical skill set enables me to effectively handle a wide range of challenges in a fast-paced IT environment.\",\"sameAs\":[\"https:\/\/www.ruianding.com\"],\"url\":\"https:\/\/www.ruianding.com\/blog\/author\/ruiand\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Internet Protocols - Transmission Control Protocol (TCP) - \u6781\u7b80IT\uff5cSimpleIT","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/","og_locale":"en_US","og_type":"article","og_title":"Internet Protocols - Transmission Control Protocol (TCP) - \u6781\u7b80IT\uff5cSimpleIT","og_description":"TCP Concepts TCP is part of the transport layer (Layer 4) in the OSI model, which provides host-to-host communication services for applications. It is connection-oriented, which means that a connection needs to be established between both ends of a communication link before any data can be sent. This connection is a logical path characterized by [&hellip;]","og_url":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/","og_site_name":"\u6781\u7b80IT\uff5cSimpleIT","article_published_time":"2023-11-08T12:31:44+00:00","article_modified_time":"2023-12-04T11:41:17+00:00","og_image":[{"width":1036,"height":508,"url":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-10.png","type":"image\/png"}],"author":"Ruian Ding","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ruian Ding","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#article","isPartOf":{"@id":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/"},"author":{"name":"Ruian Ding","@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b"},"headline":"Internet Protocols &#8211; Transmission Control Protocol (TCP)","datePublished":"2023-11-08T12:31:44+00:00","dateModified":"2023-12-04T11:41:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/"},"wordCount":641,"publisher":{"@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b"},"image":{"@id":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-10.png","keywords":["NETWORK"],"articleSection":["Protocols"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/","url":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/","name":"Internet Protocols - Transmission Control Protocol (TCP) - \u6781\u7b80IT\uff5cSimpleIT","isPartOf":{"@id":"https:\/\/www.ruianding.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#primaryimage"},"image":{"@id":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-10.png","datePublished":"2023-11-08T12:31:44+00:00","dateModified":"2023-12-04T11:41:17+00:00","breadcrumb":{"@id":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#primaryimage","url":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-10.png","contentUrl":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/11\/image-10.png","width":1036,"height":508},{"@type":"BreadcrumbList","@id":"https:\/\/www.ruianding.com\/blog\/popular-internet-portocols-transmission-control-portocol-tcp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.ruianding.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Internet Protocols &#8211; Transmission Control Protocol (TCP)"}]},{"@type":"WebSite","@id":"https:\/\/www.ruianding.com\/blog\/#website","url":"https:\/\/www.ruianding.com\/blog\/","name":"Ruian's Tech Troubleshooting Toolbox","description":"Debug the World.","publisher":{"@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b"},"alternateName":"\u4e01\u777f\u5b89\u7684\u6280\u672f\u5206\u4eab\u535a\u5ba2","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ruianding.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b","name":"Ruian Ding","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/05\/logo.png","contentUrl":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/05\/logo.png","width":284,"height":284,"caption":"Ruian Ding"},"logo":{"@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/image\/"},"description":"I am currently a Support Specialist at NIO, focusing on cloud-related issues for NIO Power. Previously, at Microsoft Entra ID, I specialized in identity and access management (IAM), including device registration, Windows Hello for Business (WHfB), multi-factor authentication (MFA), and single sign-on (SSO). In addition to my core expertise, I have a strong foundation in Active Directory, Servers, Cloud Computing, Network Administration, and Front-end Web Development. This diverse technical skill set enables me to effectively handle a wide range of challenges in a fast-paced IT environment.","sameAs":["https:\/\/www.ruianding.com"],"url":"https:\/\/www.ruianding.com\/blog\/author\/ruiand\/"}]}},"_links":{"self":[{"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/posts\/1146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/comments?post=1146"}],"version-history":[{"count":11,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/posts\/1146\/revisions"}],"predecessor-version":[{"id":1288,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/posts\/1146\/revisions\/1288"}],"wp:attachment":[{"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/media?parent=1146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/categories?post=1146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/tags?post=1146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}