当前位置: 首页 > news >正文

淘宝客做软件网站appwordpress主题 欣赏

淘宝客做软件网站app,wordpress主题 欣赏,济宁北湖建设集团网站,网站seo需要用到哪些工具计算网络体系概述 相关问题 计算机网络为什么要分层#xff1f;计算机网络是怎么分层的#xff1f;三种计算机网络模型的关系是什么#xff1f;每一层分别包含哪些协议#xff1f;计算机网络中#xff0c;数据如何在各层中传播#xff1f;数据在网络各层中的存在形式是…计算网络体系概述 相关问题 计算机网络为什么要分层计算机网络是怎么分层的三种计算机网络模型的关系是什么每一层分别包含哪些协议计算机网络中数据如何在各层中传播数据在网络各层中的存在形式是怎么样的 OSI七层模型 OSIOpen Systems Interconnection是开放系统互连参考模型的缩写它是一个定义得非常好的协议规范集它为各种系统定义了一个层次结构和一套用于协调与控制各层活动的规则模型有七层结构。OSI模型的七层结构及其简要描述 层次名称简要描述1物理层 (Physical Layer)定义了物理设备标准如网络接口、传输介质等负责传输原始比特流。2数据链路层 (Data Link Layer)在物理层提供的服务基础上建立相邻节点之间的数据链路进行差错控制和流量控制。3网络层 (Network Layer)负责为分组交换网上的不同主机提供通信服务实现路由选择和分组转发。4传输层 (Transport Layer)提供端到端的通信服务负责数据的分段、重组和差错控制确保数据的可靠传输。5会话层 (Session Layer)负责建立、管理和终止会话过程同步不同设备上的各种表示层实体。6表示层 (Presentation Layer)对应用层数据进行表示和转换如数据压缩、加密和解密、数据格式转换等。7应用层 (Application Layer)为网络应用提供访问OSI环境的手段定义应用进程间通信和交互的规则。 这个表格简洁地概述了OSI模型的每一层及其主要功能。需要注意的是虽然OSI模型在理论上是一个完善的参考模型但在实际应用中TCP/IP协议族由于其简洁性和高效性而被广泛采用。 TCP/IP五层协议 五层体系的协议结构是综合了 OSI 和 TCP/IP 优点的一种协议包括应用层、传输层、网络层、数据链路层和物理层。其中应用层对应 OSI 的上三层下四层和 OSI 相同。五层协议的体系结构只是为介绍网络原理而设计的实际应用还是 TCP/IP 四层体系结构。TCP/IP五层协议栈 名称主要功能主要协议/技术物理层负责物理传输介质上比特流的传输无依赖于物理介质数据链路层负责将数据封装成帧进行差错控制和流量控制以太网、PPP网络层负责数据包的路由和转发实现不同网络之间的通信IP、ICMP、IGMP、ARP、RARP传输层负责端到端的数据传输提供可靠或不可靠的数据传输服务TCP、UDP应用层提供网络应用服务处理特定应用的数据格式HTTP、FTP、SMTP、DNS、SSH 这个表格简要地概括了TCP/IP五层协议栈中每一层的主要功能以及该层使用的主要协议或技术。这些协议共同协作确保数据能够正确、高效地从源地址传输到目标地址。 数据在各层之间的传输 在TCP/IP五层协议栈中数据并不是直接在各层之间传输的而是经历了一个封装和解封装的过程。这个过程确保了数据从源地址到目标地址的可靠传输。以下是数据在各层之间传输的详细步骤 层次物理层数据链路层网络层传输层应用层数据类型比特流帧、数据帧数据报、数据包报文段、数据段报文添加部分前导码MAC头部IP头部TCP头部数据 应用层 应用层是TCP/IP模型的最上层直接为用户的应用程序如浏览器、电子邮件客户端等提供服务。在应用层应用程序如HTTP服务器或FTP客户端生成数据这些数据可能是文本、图片、音频或视频等。应用层将数据封装成应用层协议所能理解的数据格式如HTTP请求或FTP命令。 传输层 传输层负责提供端到端的数据传输服务包括可靠性和流量控制。在传输层数据被封装成传输层协议的数据单元对于TCP来说是TCP段segment对于UDP来说是UDP数据报datagram。封装过程中传输层会添加源端口号和目的端口号等信息以便在接收端能够正确地将数据交付给相应的应用程序。 网络层 网络层负责网络间的通信主要处理路由和转发。在网络层数据被封装成IP数据报datagram。封装过程中会添加源IP地址和目的IP地址等信息。网络层根据路由选择算法将数据报从源主机发送到目的主机。 数据链路层 数据链路层负责处理本地网络的通信包括帧的构造和解析。在数据链路层IP数据报被封装成帧frame。封装过程中会添加帧头包含源MAC地址和目的MAC地址和帧尾包含校验信息。数据链路层通过物理层提供的服务将数据帧从一个节点传输到下一个节点。 物理层 物理层是TCP/IP模型的最底层负责将比特流转换成物理信号并在物理介质上进行传输。物理层将数据帧转换成适合在物理介质上传输的比特流如电信号或光信号。比特流通过物理介质如电缆、光纤等传输到目的主机。 应用层 相关问题 uri 和 url 的区别 dns 是啥工作原理主要解析过程是啥用户输入网址到显示对应页面的全过程是啥http 头部包含哪些信息http 方法了解哪些http 状态码了解哪些get 和 post 的区别https 和 https 的区别https 的加密方式http 是不保存状态的协议,如何保存用户状态http 不同版本的区别 万维网和域名系统 万维网简称WWW或Web和域名系统简称DNS是互联网中两个重要的组成部分它们各自在互联网的运作中扮演着关键角色。 P2P和C/S P2PPeer-to-Peer与C/SClient/Server是计算机网络中两种常见的通信模式P2P是一种去中心化的网络架构适用于资源共享和实时通信而C/S是一种中心化的架构适用于需要集中管理和控制的应用场景。 P2PPeer-to-Peer 定义P2P是一种网络架构其中每个设备称为“对等点”或“节点”都可以直接与其他设备通信而不需要通过中央服务器。 特点 去中心化没有中央控制点每个节点都可以相互通信。资源共享节点可以共享文件、带宽等资源。灵活节点可以动态地加入或离开网络。 应用场景文件共享如BitTorrent、即时通讯如Skype或某些在线游戏。 C/SClient/Server 定义C/S架构中有一个或多个服务器负责存储数据和处理请求而客户端设备如电脑、手机等则发送请求给服务器并接收响应。 特点 集中管理数据和服务由服务器集中提供。安全性服务器可以提供安全控制和数据完整性检查。响应速度快客户端与服务器直接通信响应通常较快。 应用场景Web应用如网站、数据库系统、电子邮件服务等。 Web结构组件 web结构组件指的是构成Web系统的基础元素这些组件共同协作使得Web应用能够正常运行并提供服务以下是一些Web结构组件 组件名称定义作用代理Proxy中间服务器用于转发客户端和服务器之间的请求和响应提高性能、安全性或进行内容过滤缓存Cache存储常用页面副本的地方以减少网络带宽使用和加快页面加载速度提高Web应用的响应速度网关Gateway连接其他应用或服务的服务器例如连接Web服务器到FTP服务器的中间件协议转换和服务集成Agent代理发起HTTP请求的Web客户端如浏览器、网络爬虫等代表用户或系统发送HTTP请求Web组件Web Components封装好的可复用的自定义元素用于构建Web应用提高Web开发的效率和可维护性网络协议Network Protocols计算机之间通信的规则如HTTP和HTTPS确保客户端和服务器之间能够正确通信域名系统DNS将域名转换为IP地址的系统使人们可以通过易记的域名来访问网站 DNS 域名服务器Domain Name Server简称DNS是互联网中至关重要的基础设施之一它负责将人类可读的域名如example.com映射到与之对应的IP地址如192.0.2.1。 工作原理 假设一个客户端 A想要查询 a.leetcode.cn 的 ip 地址考虑缓存的情况。 客户端 A 首先查询本地的 hosts 文件查询是否有网址映射关系如果没有进行下一步查找。查找本地的 dns 解析器缓存如果没有进行下一步。根据 tcp/ip 参数查找设置好的首选 dns 服务器 ip 地址一般叫做本地 dns 服务器查询本地 dns 服务器。本地 dns 服务器如果没有它就会进行下一步操作。本地dns会访问根服务器 然后根据后缀名从根服务器中查找对应的顶级域名服务器的 ip 然后以此向下查找域名服务器的 ip 然后查找网址映射关系,直到找到为止。 http http超文本传输协议是互联网上应用最为广泛的一种网络协议。HTTP 协议是用于从 Web 服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效使网络传输减少。它不仅保证计算机正确快速地传输超文本文档还确定传输文档中的哪一部分以及哪部分内容首先显示(如文本先于图形)等。 HTTP 的工作原理是基于客户端-服务器架构。客户端例如Web 浏览器向服务器例如Web 服务器发送 HTTP 请求以获取资源如 HTML 页面、图片、CSS 样式表、JavaScript 脚本等。服务器响应这些请求通过发送 HTTP 响应来提供所需的资源。 HTTPSHTTP Secure是在 HTTP 基础上加入了 SSL/TLS 加密技术提供了安全的数据传输方式。 主要特点包括 无连接HTTP 协议是无连接的即每次连接只处理一个请求。服务器处理完客户的请求并收到客户的应答后即断开连接。采用这种方式可以节省传输时间。 无状态HTTP 协议是无状态的协议对于事务处理没有记忆能力。服务器不知道客户端之前发送过什么请求也不知道客户端下一次会发送什么请求。 简单快速客户向服务器请求服务时只需传送请求方法和路径。请求方法常用的有 GET、POST、PUT、DELETE 等。每种方法规定了客户端与服务器联系的类型不同。由于 HTTP 协议简单使得 HTTP 服务器的程序规模小因而通信速度很快。 支持 B/S 模式HTTP 支持客户端/服务器模式客户端可以通过 HTTP 协议向服务器发送请求服务器也可以通过 HTTP 协议将请求的内容返回给客户端。 网络编程socket 网络编程中的 socket 是一种抽象层它允许应用程序通常称为“客户端”和“服务器”通过计算机网络进行通信。socket 提供了一种跨平台、跨语言的网络编程接口使得在不同的操作系统和编程语言中都可以使用类似的方式进行网络通信。 基本概念 IP 地址用于唯一标识网络中的设备。端口号用于标识运行在同一台设备上的不同应用程序。每个端口号对应一个特定的服务或应用程序。TCP/UDP两种主要的传输层协议。TCP 是面向连接的协议提供可靠的数据传输服务UDP 是无连接的协议提供不可靠的数据传输服务但速度更快。 工作原理 创建 socket应用程序首先创建一个 socket 对象指定使用的协议TCP 或 UDP和本地端口号如果需要。绑定 socket对于服务器端的 socket需要将其绑定到一个特定的 IP 地址和端口号上以便客户端能够找到并连接到它。监听和接受连接仅适用于 TCP服务器端的 socket 开始监听来自客户端的连接请求。当有客户端连接时服务器接受连接并创建一个新的 socket 对象来处理与该客户端的通信。发送和接收数据通过 socket 对象应用程序可以发送和接收数据。对于 TCP数据以字节流的形式传输对于 UDP数据以数据报的形式传输。关闭 socket当通信完成后应用程序关闭 socket 对象以释放资源。 示例基于 Python 服务器端 import socket# 创建一个 TCP socket 对象 server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 绑定到 IP 地址和端口号 server_address (localhost, 12345) server_socket.bind(server_address)# 开始监听连接请求 server_socket.listen(1)while True:# 接受连接请求并返回一个新的 socket 对象和客户端地址client_socket, client_address server_socket.accept()print(fAccepted connection from {client_address})# 接收并处理数据这里只是简单地回显数据data client_socket.recv(1024)if data:print(fReceived: {data.decode()})client_socket.sendall(data) # 回显数据给客户端# 关闭连接client_socket.close()客户端 import socket# 创建一个 TCP socket 对象 client_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 连接到服务器 server_address (localhost, 12345) client_socket.connect(server_address)try:# 发送数据message bHello, server!client_socket.sendall(message)# 接收数据data client_socket.recv(1024)print(fReceived: {data.decode()}) finally:# 关闭连接client_socket.close()在这个示例中服务器端创建一个 TCP socket 对象并绑定到本地地址和端口号上然后开始监听连接请求。客户端也创建一个 TCP socket 对象并连接到服务器。一旦连接建立客户端发送数据给服务器服务器接收数据并回显给客户端。最后双方关闭连接以释放资源。 传输层 传输层Transport Layer是计算机网络体系结构中的关键层次之一主要负责两台计算机之间或更准确地说是两个主机中进程之间的数据通信服务。 为什么要进行三次握手两次握手可以吗?为什么要四次挥手CTIME-WAIT 为什么是 2MSLTCP 和 UDP 的区别TCP 是如何保证可靠性的UDP 为什么是不可靠的 TCP 报文包含哪些信息 UDP 包含哪些信息三次握手和四次挥手过程中网络断开会发生什么 端口号的使用 传输层使用端口号来区分不同的应用进程。端口号是一个16位的整数范围从0到65535。其中0到1023为知名端口Well-Known Ports由IANA注册用于特定的服务1024到65535为动态/私有端口可由用户自由分配。通过“IP地址端口号”的组合传输层能够唯一标识网络中的一个通信端口从而实现数据的准确传输。 UDP协议 UDPUser Datagram Protocol用户数据报协议是一种无连接的、不可靠的、面向数据报的传输层协议。它工作在OSI模型的传输层为应用层提供了一种简单的、直接的数据传输服务。 特点: 无连接 UDP在发送数据之前不需要建立连接。发送方和接收方之间不保持连接状态每个数据报都是独立传输的。 不可靠 UDP不保证数据报的顺序、完整性或是否到达。如果数据报在传输过程中丢失或损坏UDP不会进行重传或恢复。 面向数据报 UDP将应用层交下来的数据封装成一个个的数据报Datagram并添加UDP头部信息然后交给网络层进行传输。每个数据报都是一个独立的单元携带完整的源地址和目的地址信息。 开销小 UDP头部只有8个字节相对于TCP的20字节头部来说更小因此UDP的传输开销更低传输效率更高。 支持多播和广播 UDP支持向多个目的地址发送相同的数据报即多播Multicast。同时它还可以将数据报发送给网络中的所有主机即广播Broadcast。 注意事项 由于UDP不提供可靠的数据传输服务因此在使用UDP时应用层需要自行处理数据的可靠性问题如通过应用层协议来确认数据报的接收和重传等。UDP不保证数据报的顺序性因此接收方可能会以与发送方不同的顺序接收到数据报。如果应用需要保持数据的顺序性那么应用层需要在发送和接收时进行相应的处理。 TCP协议 TCPTransmission Control Protocol传输控制协议是计算机网络中一种基于连接的、可靠的传输层协议。它提供了一系列机制来确保数据在端到端之间的可靠传输。 特点 面向连接 TCP在数据传输之前需要先建立连接通过三次握手过程来确保双方都已准备好进行数据传输。 可靠性 TCP通过序列号、确认应答、超时重传等机制来确保数据的完整性和顺序性。如果数据包在传输过程中丢失或损坏TCP会负责重新发送。 流控制 TCP使用滑动窗口机制来防止发送方发送速度过快确保接收方能够处理并消化数据。这有助于避免接收方被数据淹没提高传输效率。 拥塞控制 TCP具有拥塞控制机制用于适应网络的拥塞情况。当网络出现拥塞时TCP会自动减少发送速率以减轻网络负担避免性能下降。 面向字节流 TCP将传输的数据视为无边界的字节流而不是像UDP那样按照消息边界进行划分。这意味着发送方可以连续发送数据而接收方也可以连续接收数据无需关心数据的原始边界。 全双工通信 TCP连接允许双方在同一时间既能发送数据又能接收数据提高了通信效率。 工作机制 三次握手 客户端发送SYN报文给服务器请求建立连接。服务器收到SYN报文后回复SYNACK报文给客户端表示同意建立连接。客户端收到服务器的SYNACK报文后回复ACK报文给服务器完成三次握手过程建立连接。SYN表示标志位seq表示序列号ACK表示标志位Ack表示确认号。 #mermaid-svg-owll0Osg8UU8KFF0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-owll0Osg8UU8KFF0 .error-icon{fill:#552222;}#mermaid-svg-owll0Osg8UU8KFF0 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-owll0Osg8UU8KFF0 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-owll0Osg8UU8KFF0 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-owll0Osg8UU8KFF0 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-owll0Osg8UU8KFF0 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-owll0Osg8UU8KFF0 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-owll0Osg8UU8KFF0 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-owll0Osg8UU8KFF0 .marker.cross{stroke:#333333;}#mermaid-svg-owll0Osg8UU8KFF0 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-owll0Osg8UU8KFF0 .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-owll0Osg8UU8KFF0 text.actortspan{fill:black;stroke:none;}#mermaid-svg-owll0Osg8UU8KFF0 .actor-line{stroke:grey;}#mermaid-svg-owll0Osg8UU8KFF0 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-owll0Osg8UU8KFF0 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-owll0Osg8UU8KFF0 #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-owll0Osg8UU8KFF0 .sequenceNumber{fill:white;}#mermaid-svg-owll0Osg8UU8KFF0 #sequencenumber{fill:#333;}#mermaid-svg-owll0Osg8UU8KFF0 #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-owll0Osg8UU8KFF0 .messageText{fill:#333;stroke:#333;}#mermaid-svg-owll0Osg8UU8KFF0 .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-owll0Osg8UU8KFF0 .labelText,#mermaid-svg-owll0Osg8UU8KFF0 .labelTexttspan{fill:black;stroke:none;}#mermaid-svg-owll0Osg8UU8KFF0 .loopText,#mermaid-svg-owll0Osg8UU8KFF0 .loopTexttspan{fill:black;stroke:none;}#mermaid-svg-owll0Osg8UU8KFF0 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-owll0Osg8UU8KFF0 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-owll0Osg8UU8KFF0 .noteText,#mermaid-svg-owll0Osg8UU8KFF0 .noteTexttspan{fill:black;stroke:none;}#mermaid-svg-owll0Osg8UU8KFF0 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-owll0Osg8UU8KFF0 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-owll0Osg8UU8KFF0 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-owll0Osg8UU8KFF0 .actorPopupMenu{position:absolute;}#mermaid-svg-owll0Osg8UU8KFF0 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-owll0Osg8UU8KFF0 .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-owll0Osg8UU8KFF0 .actor-man circle,#mermaid-svg-owll0Osg8UU8KFF0 line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-owll0Osg8UU8KFF0 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 客户端 服务器 请求建立链接SYN1seqx 同意建立链接SYN1ACK1seqyAckx1 表示建立链接ACK1Seqx1Acky1 发送数据 发送数据 loop [传输信息] 客户端 服务器 数据传输 连接建立后双方可以开始传输数据。TCP通过序列号来标识每个数据包的顺序并通过确认应答机制来确认数据包的接收情况。 超时重传 如果客户端在规定时间内没有收到服务器的确认应答则认为数据包丢失会重新发送该数据包。 四次挥手 当一方想要关闭连接时会发送FIN报文给对方表示没有数据要发送了。对方收到FIN报文后会回复ACK报文确认收到并继续发送完剩余的数据如果有的话。当对方也发送完所有数据并想要关闭连接时也会发送FIN报文给对方。最后双方通过ACK报文确认连接的关闭。FIN表示标志位seq表示序列号ACK表示标志位Ack表示确认号 #mermaid-svg-4CoXiygZPY486bci {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-4CoXiygZPY486bci .error-icon{fill:#552222;}#mermaid-svg-4CoXiygZPY486bci .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-4CoXiygZPY486bci .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-4CoXiygZPY486bci .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-4CoXiygZPY486bci .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-4CoXiygZPY486bci .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-4CoXiygZPY486bci .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-4CoXiygZPY486bci .marker{fill:#333333;stroke:#333333;}#mermaid-svg-4CoXiygZPY486bci .marker.cross{stroke:#333333;}#mermaid-svg-4CoXiygZPY486bci svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-4CoXiygZPY486bci .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-4CoXiygZPY486bci text.actortspan{fill:black;stroke:none;}#mermaid-svg-4CoXiygZPY486bci .actor-line{stroke:grey;}#mermaid-svg-4CoXiygZPY486bci .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-4CoXiygZPY486bci .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-4CoXiygZPY486bci #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-4CoXiygZPY486bci .sequenceNumber{fill:white;}#mermaid-svg-4CoXiygZPY486bci #sequencenumber{fill:#333;}#mermaid-svg-4CoXiygZPY486bci #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-4CoXiygZPY486bci .messageText{fill:#333;stroke:#333;}#mermaid-svg-4CoXiygZPY486bci .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-4CoXiygZPY486bci .labelText,#mermaid-svg-4CoXiygZPY486bci .labelTexttspan{fill:black;stroke:none;}#mermaid-svg-4CoXiygZPY486bci .loopText,#mermaid-svg-4CoXiygZPY486bci .loopTexttspan{fill:black;stroke:none;}#mermaid-svg-4CoXiygZPY486bci .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-4CoXiygZPY486bci .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-4CoXiygZPY486bci .noteText,#mermaid-svg-4CoXiygZPY486bci .noteTexttspan{fill:black;stroke:none;}#mermaid-svg-4CoXiygZPY486bci .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-4CoXiygZPY486bci .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-4CoXiygZPY486bci .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-4CoXiygZPY486bci .actorPopupMenu{position:absolute;}#mermaid-svg-4CoXiygZPY486bci .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-4CoXiygZPY486bci .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-4CoXiygZPY486bci .actor-man circle,#mermaid-svg-4CoXiygZPY486bci line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-4CoXiygZPY486bci :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 客户端 服务器 请求关闭链接FIN1seqx 同意关闭链接ACK1seqyAckx1 结束发送关闭链接FIN1ACK1seqzAckx1 结束接受关闭链接ACK1seqx1Ackz1 客户端 服务器 三次握手与四次挥手 三次握手确认双方收发能力 第一次握手SYN客户端发送一个SYN报文给服务器表示客户端想要建立连接并包含一个初始序列号seqx。这个报文告诉服务器“我想要连接你这是我的初始序列号”。第二次握手SYNACK服务器收到客户端的SYN报文后会回复一个SYNACK报文给客户端。这个报文包含服务器的初始序列号seqy以及对客户端SYN报文的确认号ackx1。这个报文告诉客户端“我收到了你的请求我想要连接你这是我的初始序列号并且我已经确认了你的序列号”。第三次握手ACK客户端收到服务器的SYNACK报文后会回复一个ACK报文给服务器。这个报文包含对服务器SYN报文的确认号acky1但不包含序列号因为这是一个纯确认报文。这个报文告诉服务器“我收到了你的回复我已经准备好开始传输数据了”。 四次挥手确保数据完整传输 当一方想要关闭连接时它不能直接断开连接因为可能还有未发送或未接收的数据。因此它需要发送一个FIN报文给对方告诉对方“我已经没有数据要发送了但请允许我接收你的数据”。对方收到FIN报文后会回复一个ACK报文表示已经收到对方的关闭请求但自己可能还有数据要发送。此时连接处于半关闭状态即一方已经关闭发送通道但另一方仍然可以发送数据。当没有数据要发送时另一方也会发送一个FIN报文给对方表示自己也想要关闭连接。最后对方回复一个ACK报文确认已经收到对方的FIN报文此时连接才真正关闭。 确保可靠的机制 TCP传输控制协议通过一系列复杂的机制来确保数据的可靠传输。校验和、序列号和确认应答机制保证了数据的完整性和顺序性超时重传机制避免了因网络原因导致的数据丢失连接管理三次握手与四次挥手确保了连接的可靠建立和正确关闭流量控制和拥塞控制机制则保证了网络的稳定性和高效性。以下是对这些机制的详细归纳 1. 校验和 计算方式在数据传输过程中TCP将发送的数据段当做一个16位的整数进行累加进位不丢弃补在后面最后取反得到校验和。作用发送方在发送数据前计算校验和并填充在报文头中接收方收到数据后同样计算校验和并与发送方的校验和进行比对。如果比对不一致则数据一定传输有误。 2. 序列号 作用TCP为每个字节的数据都进行了编号这就是序列号。序列号用于确保数据的顺序性和去除重复数据。确认应答接收方收到数据后会向发送方发送ACK报文其中带有对应的确认序列号告诉发送方哪些数据已经被成功接收。 3. 确认应答与超时重传 确认应答TCP传输过程中每次接收方收到数据后都会发送ACK报文进行确认。超时重传如果发送方在发送数据后等待一定时间如Linux中以500ms为单位超时时间呈指数增长仍未收到ACK报文则会重新发送该数据。这避免了因网络原因导致的数据丢失。 4. 连接管理三次握手与四次挥手 三次握手用于建立连接确保双方都已准备好进行数据传输。 客户端发送SYN报文给服务器。服务器回复SYNACK报文给客户端。客户端回复ACK报文给服务器连接建立成功。 四次挥手用于关闭连接确保双方都已正确处理完所有数据。 客户端发送FIN报文给服务器表示不再发送数据。服务器回复ACK报文给客户端表示收到FIN报文。服务器发送FIN报文给客户端表示也不再发送数据。客户端回复ACK报文给服务器连接关闭成功。 5. 流量控制 滑动窗口机制TCP利用滑动窗口机制实现流量控制通过限制发送方窗口大小来防止发送速度过快导致接收方处理不及时而丢包。 窗口大小TCP报头中有一个16位的窗口大小字段表示接收端接收数据缓冲区的剩余大小。发送方根据接收方发送的窗口大小来调整自己的发送速度。 6. 拥塞控制 慢启动TCP连接刚建立时发送方限制自己的初始发送窗口大小避免发送过多数据导致网络拥塞。窗口大小以指数级别增加直到达到一个阈值。拥塞避免在拥塞避免状态下TCP发送方每经过一轮传输就增加一个MSS最大报文段长度的窗口大小。拥塞检测与快速恢复当TCP发送方收到超时重传或失序的确认消息时会认为网络中出现拥塞并采取相应的措施如减小窗口大小、进入慢启动状态或快速恢复状态来避免拥塞加剧。
http://www.hkea.cn/news/14314757/

相关文章:

  • 天台县低价网站建设网站开发平台介绍
  • 大学网站html模板下载专门做短视频的公司
  • 网站开发容易吗国外源代码网站
  • wordpress搭建vip下载站网站建设 商城
  • 优秀网站设计欣赏国内茶叶网站建设方案
  • 文山专业网站建设河南省住房和建设厅门户网站
  • 免费 个人网站济南烨铭网站建设
  • 做网站设计公司价格上海正规做网站公司报价
  • 家用电脑做网站能备案wordpress 婚庆主题
  • 电话开发网站建设话术国外免费个人空间
  • 宁波易企网做的网站满山红网站建设
  • 网站安全访问广州企业网站哪家好
  • 连云港新站优化医院网站 整站源码
  • 建设一个私人视频网站沈阳网站开发集团
  • 优化推广排名网站教程seo关键词的优化技巧
  • 新闻静态网站模板购物网站建设案件
  • 做网站怎样上传文件怎么把网站管理系统
  • 国家车辆保险网站云南公司做网站的价格
  • 项目网站的建设有两种模式django网站开发规范
  • 观澜网站建设公司个人网页设计模板图片手机版
  • 龙岗菠菜网站建设网站如何做直播
  • 公司官方网站建设费计入什么科目最热门的网页游戏排行
  • h网站开发网站发布流程
  • wordpress 全站备份商业策划书范文6篇
  • 怎么免费建立自己网站郑州网络营销推广
  • 怎么建设一个论坛网站做招工的网站排名
  • 网站建设毕业设计中期报告seo技术培训教程视频
  • 浙江恒炜建设网站某绿色园林企业网站源码
  • 优秀手机网站模板图片想学服装设计怎么入门
  • 邢台做网站的那好学php网站开发