最后更新:2021-12-14 17:33
抱歉, wiidianyodu。 发件人: 微读 (ww.blog.com/) Panorama - 免费学习网站(com) 微读
在接受调查的学生中,经常出现以下问题:“你如何理解TCP/IP协议?”
通讯协议是什么?
如果你已经觉得自己在现场 你应该仔细阅读一下
此外,还附上一个tcp/ip访谈问答视频:tcpip访谈,什么可以简单询问并回答
1 、什么是协议
协议实际上就是一种约定。好比说,我们做一个石头剪刀布的游戏,我们约定好:石头>剪刀、剪刀>布、布>石头,以此作为游戏规则。我们所有人都遵循这个约定,那么就不需要任何的多余的沟通便可以完成这个游戏。而这种方式形成的约定实际上就是一种协议了。
2. TCP/IP网络
虽然计算机连通的基本要素当时得到承认,但无法在没有协议的情况下利用大规模通信,当时,各种协议逐渐形成,以解决当时的问题,如TCP协议,即个人使用TCP连接时传输协议,以及HTTP协议,即文本传输协议。
另一方面,TCP/IP协议与单一协议无关;相反,它是指一系列的保存机构,因此常常被称为TCP/IP或TCP/IP。
总的来说,我们所说的TCP/IP是四个层次的总和,在四个层次中,它指的是传输层和网络连接层。
TCP/IP 包中界定了适当的 OSI 模型的每一层。 同时, OSI 模型层缩小了。
TCP/IP和OSI参考模型层具有相互的相互作用。
例如,OSI模式的7级由TCP/IP的4级取代。 谁使OSI复杂化了?
在最终构成该组的TCP/IP群组中,每个级别都有相应的协议。
TCP/IP 各级议定书协定
一般说来,TCP和UDP都属于礼宾室的传输层,而IP议定书则属于礼宾室的网络互联层,HTTP协议经常受到质疑,实际上属于协议的应用层。
由于TCP/IP军营被分成许多层次,以便安排一个硬件通信的共同模式,因此每个军营都与其上层和下层有关,具体如下:
TCP/IP避孕套套的数据包装层
这是TCP/IP协议的总体原则。 但是,协议中有一些协议,这里有一些最受欢迎的协议,从下到上:
IP协议
TCP协议
UDP协议
HTTP协议
2. 1 IP协议
在TCP/IP系列中,IP协议位于网络连接层上,提供不稳定的非连接服务,即IP协议往往密封,并在局域网环境的Ether框架中发送,所有TCP、UDP、IPCMP和IGMP数据都在IP数据包中传输。
知识产权协议中有两个关键方面必须加以理解。 第一个是知识产权地址概念,第二个是知识产权协议标题。
二. 一. IPIP地址 想法
实际上,我们与IP地址有许多频繁的互动。 它为任何与互联网连接的计算器指定了一个地址, 允许其他计算机访问它。 同时, IP协议只有在计算机有地址时才能得到遵守, 而其他计算机也能够与IP地址经常互动。 它为任何与互联网连接的计算器指定了一个地址, 允许其他计算机访问它。 同时, IP协议只有在计算机有地址时才能得到遵守, 而其他计算机则能够传输数据。
IPV4和IPV6是IP的最新版本。 IPV4 包含 8 字节 32 比特, IPV6 占 32 字节 128 比特。 现有的 IPV6 数量巨大, 每一粒沙子都可以在全球分配 IPV6 地址 。
就IPV4而言,32位地址分为两部分:网络和主机,最初根据内容分为A、B、C、D和E类。
IPV4
网络号用于识别不同的网络点,例如作为网络集群的公司,从中我们可以发现其网关并通过主机号码进行计算。
如果C类的IP地址有21个网络号码,可以区分221个网络号码,而对于每个网络号码,可以区分28-2=254(东道主无法进入初始网络地址和最后一个广播地址)。 如果网络咖啡馆采用这种方式,他最多可以安装254台计算机。
掩码允许您修改网络和主机号码 。
通常,我们看到一个面罩 看起来像这个:
255.255.255.0
二进制表示:
11111111.11111111.11111111.00000000
如果 IPV4 地址是 : 那么IP 地址和面具是计算和计算的 : () 这就是我们常说的网关! 也就是说, 它可以在这个网关下面容纳 254 台机器 。
如果将掩码更改为:
255.255.254.0
二进制表示:
11111111.11111111.11111110.00000000
由于计算的结果,目前可用的主机号码是510台计算机,可以支持510台计算机。
IP 地址2.1.1.2
当计算机发送 IP 软件包时, 它会经过 IP 路由器 。
IP路由器负责直接或通过其他路由器确定通往目的地的最佳路径。
同样,一个包件流动的路径可能不同于其他包件过境路径。 另一方面,路由器负责根据交通量、网络错误或其他特性成功识别站点。
二 一 IP协议信头
根据上述数据结构,IP协议实际上由IP头条标题和TCP协议组成。
因此,知识产权报告的内容对于确定知识产权议定书的特点至关重要,在本节中,我们研究了知识产权协议的组成,即IPV4中典型的知识产权部长20个字节,其中32个是知识产权源地址,32个是知识产权目的地址。
TTL: 时间到生活。 这是数据包能够通过的最大路由器数量。 例如, 如果地址在10个路由器之后仍然缺失, 文本将被删除 。
八位位协议是传输层协议,载有数据。
总长度 16 位数 : 指 IP 数据集的最大长度 16 位数可能高达 65535 字节 。 但是, 横跨链条的 MTU 并不那么大 。 因此, 如果包件大于 MTU, 它会碎成碎片 。 要识别碎片, 需要16个标记和13个折叠 。
IP协议报头
2.2 TCP协议
TCP 《议定书》作用第2.2.2.1号
由于应用层为TCP的网络间传输提供了8字节中的TCP层数据流,TCP将数据流分离成适当的长度段,最大传输段大小通常受与计算机连接的网络数据链的最大传输单位的限制。 TCP然后将软件包传送到IP层,在那里,最大传输段大小通常受到与计算机连接的网络数据链的最大传输单位的限制。
TCP为每个包件指定一个序列号,以确保电文传输的可靠性,序列号也确保接收方实体收到包件的顺序。接收方随后将收到字节的相应确认函(ACK)发回成功发送;如果发送方实体在可接受的超时(RTT)内没有得到确认,相应数据(如果丢失)将丢失。
TCP 使用校验和功能来核实数据是否有效,并在发送和收到时计算校验和;并且可以使用 md5 认证加密数据。
为确保可靠性,使用了重新发送和护送确认机制。
在交通管制方面,采用了滑动窗口协议,允许在窗口内重新传送未经证实的集群。
在控制拥堵方面,采用了众所周知的TCP浓度控制技术(又称AIMD算法),算法由三个主要部分组成:(1)加减;(2)起步缓慢;(3)对加班事件作出反应。
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
与知识产权协议一样,TCP协议有他的头条新闻。
以下即是图示:
TCP报头
发件人的端口号用作源码。
接收方的港口号是目的地港口。
序号:发送方的序号
确认序列号:接收方收到核实回复的序列号的序列号。
TCP 第一部长: 4比特32比特。 TCP头部很简短,反映了与TCP提交的数据部分的差异。 Range 5-15, 20 字节 60 字节。 选项可容纳40 字节。
该路标是该路标的主要用户,表示信息目前的状况。
URG:指示包括应尽快提供的紧急数据(相当于高度优先数据)。ACK:确认序列号(AN)的有效性。 PSH:申请程序一收到即开始。RST:TCP连接发生重大故障(例如主机崩溃),连接必须放弃和重新连接。SYN:在TCP连接过程中。FIN:发送者已完成数据传输并要求释放连接。
在TCP关系上,有两、二、三手握手。
TCP是一种以连接为导向的协议,它要求在每次数据传输之前客户与服务机构之间建立联系,即称为三握手的链接。
客户端最初向服务器发送 SYN (SEx客户端序列号) 信息, 从而导致状态更改为 SYN_ SEND 。
第二,服务器端接收SYN 信息,回应SYN (SEy服务序列号) ACK (ACK=x+1 =客户端序列号+1) 信息,并输入SYN_RECV 状态。
最后,客户从服务器收到了SYN,对ACK(ACK=y+1)作了回复,状态改为已建立。
图解:
TCP的三次握手
为什么你要握手三次而不是两次?例如,在最初握手之后,服务器准备向客户发送信息,客户也准备就绪,由双方核实。
回答:服务器在两次握手后处于高度准备状态,如果网络中断,信息未发回客户,客户将永远无法到达服务器,服务将将其资源用在不存在的连接上。
考虑2:握手三次是否安全?
回答: 在三次握手后,服务器发送了 SYN-ACK 并接收了客户端的ACK 半连接前 TCP 连接, 服务器处于 SYN_ RCVD 状态, 并在收到 ACK 时被移动到设定状态 。 SYN 袭击是客户读略短短的时间 。 对不起, Weidianyodu. (m) 创建了大量不存在的IP 地址, 并持续地将 SYN 软件包发送到服务器, 等待客户确认源地址不存在, 伪造的 SYN 软件包需要不断重新发布, 直至时间结束, 而未连接的队列将占用很长的时间, 导致正常的 SYN 请求被全队列忽略, 导致网络拥堵甚至同步。 当服务器和源IP 地址上出现半连接状态的签名数时, SYN 袭击是随机的, 并且可以使用以下的指示来运行 :
#netstat -nap | grep SYN_RECV
TCP协议被分解成两、二、三、四波
由于TCP连接,必须有一个断开过程。 完全断开TCP需要使用四个波浪。
首先,客户将带有序号X的FIN+ACK信息发送到服务处。 FIN-WAIT1客户访问
第二:服务器- 终端回复 ACK 消息。 所附序列号 Z 和经核实的序列号 X+1 显示服务器接受了服务客户端端的电文。 但是,由于服务器可能仍在解决问题, 纸张不包括 FIN 符号 。
最后,在过了一段时间后,服务器已经处理完毕,与FIN和ACK的Y号序列号Y的邮件已经发送,确认序列号X+1。 ACK-LAST是状态。
第四,客户以序列号X+1和确认号Y+1.Time_WAIT.Services-end 图表 CLOSE(初始状态)客户访问权限发送确认信
TCP四次挥手
为什么需要三个握手才能建立连接 和四个波浪才能打破它?
答案:这是因为服务所有人在收到在 ListEN 中创建连接的请求发送 SYN 信息后,向客户发送了 ACK 和 SYN 信息。当连接关闭时,它仅仅意味着数据不再转移,但另一方可能收到,并非所有数据都发送给另一方,因此另一方可以迅速关闭数据或将一些数据发送给另一方,然后将FIN 信息发送给另一方提供方:这是因为服务所有人在收到在 ListEN 中创建连接的请求发送 SYN 信息后,向客户发送了 ACK 和 SYN 信息。当连接关闭时,它仅仅意味着数据不再转移,但另一方可能收到,并非所有数据发送给另一方,以便另一方能够迅速关闭数据或将一些数据发送给另一方,然后将FIN 信息发送给另一方同意。
为什么时间-WAIT状态需要2MSL(报告的最高生存期限)才能恢复到CLOSE?
原因有二:
I. 核实TCP协议的全时双入连接已安全关闭。
确保从网络中删除这一连接中重复的数据段。
2.3 UDP协议
联合民主党协议完全称为用户软件包协议,在网络中用于处理软件包,在协议仓库转移层中的TCP协议也是如此,尽管TCP是一个互不连接的协议。
由于UDP没有连接,它比TCP简单。
UDP报头
(1) UDP是一个不连接协议,在数据传输之前不连接源和终端,只是在其选择这样做时将数据从程序中拉出,并尽快将数据丢入网络。 (3) 在发送者端,UDP传输数据的速度仅受应用程序生成数据的速度、计算机的能力和传输带宽的限制。 (4) 在接收端,UDP接收数据的速度仅受应用程序生成速度、运输带宽、源和终端主机的限制。(2) 由于传输数据不同步,不需要保存连接状态,包括发送国和接收国,以便服务器能够同时向若干客户发送同一信息。 (3) UDP信息包的标题很简短,只有8个字节长,与TCP信息包20个字节相比成本增加不多。(4) 非浏览控制技术仅受应用程序生成速度、运输带宽、源和终端主机的制约。(5) UDP试图提供连接状态,即因为它不能确保可靠的传输,因此,主机主机不必与正常版本的版本连接,因此,这些端端的端端的端端点必须保留。
我们经常使用“ ping” 指令来确保两个主机端之间的 TCP/IP 连接正常。 事实上, “ ping” 指令是基于将 UDP 数据包发送到彼此的主机的想法,然后确认收到数据包,如果数据包到达时的信息及时返回,网络是可用的。
2.4.4 HTTP协议协议
HTTP协议被称为超文本传输协议。由于该协议属于TCP/IP议定书层的应用层,我们不必担心HTTP是如何传达的;我们只需要关心我们转让的内容和接收端是否正确地识别了它。
HTTP协议的基础是TCP的实现,简言之,TCP协议负责可靠的内容传输,而HTTP协议负责探测并非单一层次和不可比较的材料。
TCP地位与两端的连接程序有关,HTTP无国籍状态表明,每项内容解释都不重要。
HTTP有两种提交形式:请求和答复。请求采用客户询问服务器时使用的提交格式,答复采用提交格式,对服务器上的请求作出答复时使用的提交格式。
2.4.1 HTTP请求信息结构
客户以下列格式向服务器发送 HTTP 请求电文: 请求行、 请求头( 标题)、 空白行、 请求数据四部分, 请求书的基本结构如下图所示。
HTTP请求信息的结构
HTTP 电文正文主要由下列要素组成(还需要空格和换行符):
URL: 统一资源定位器 HTTP 请求主管 HTTP 请求 URL: 统一资源定位器 URL: 统一资源定位器 URL: 统一资源定位器 URL: 统一资源定位器 URL:
以下是HTTP请求的一个例子:
HTTP请求实例
HTTP 请求方法
HTTP 支持若干不同的请求类型,每一种请求都在不同情况下使用。
HTTP请求方法
URL 表示通用资源定位器 。
URL 由三部分组成:资源类型、资源所在的主机域名和资源文件的名称。
URL 的典型语法格式是 :
(括号为方括号[],这是可能的):
protocol :// hostname[:port] / path / [;parameters][?query]#fragment
protocol:https
hostname:baijiahao.baidu.com
parameters:id=1603848351636567407&wfr=spider&for=pc (使用&分割参数)
总结一下如下图:
附一张解析图
HTTP 获取请求
请求页眉大多载有关于请求的额外信息,包括经常使用的字段,例如:
接受:指定客户可以接收的材料类型。
接受- 编码 : 指示浏览器可使用哪个网络服务器返回内容压缩编码类型 。
接受语言:浏览器可接受语言
concent-Length 请求内容长度,例如内容-Length: 348字
内容-类型要求的关于该实体的MIME信息,广泛使用的类型
发出请求的日期和时间
额外 HTTP 响应头请求的额外 HTTP 响应头请求页头字段引用和请求页头比较表
请求 HTTP
整个文件的下一部分是提出请求后HTTP请求的内容。请求主体是当我们发送请求时我们必须向接收方发送的材料。请求主体必须坚持在请求页头中的Fontent-Type, 否则请求将被拒绝。请求主体是我们发送请求时我们必须向接收方发送的材料。请求主体必须坚持在请求页头中的Fontent-Type, 否则请求将被拒绝。请求主体必须坚持在请求页头中的Fontent-Type, 否则请求将被否决 。
如上图中的请求题: name=tom&password=1234
HTTP反应代码 2.4
HTTP答复分为三部分:响应线、回应头和响应体,这与请求相类似。
总体结构如图:
HTTP响应报文
HTTP 反应线
回复行提供了 HTTP 版本和请求状态。 HTTP 回复代码包含被请求国家的相应值 。
HTTP反应信头
回复信头用于定义服务器的基本信息通知、数据描述,并告知客户如何处理回复内容。
Allallow 服务器支持哪些请求( 如 Get、 POST 等)? ) 。
Enter- Encoding 文档编码方法。 字体- Type 标题显示的内容类型只有在解码后才能使用。 使用 gzip 压缩文档以大幅缩短 HTML 文档的下载时间。 Java 的 GZIP 流可以很容易地进行 gzip 压缩, 但只有 Netscape 上的 IE 4 和 IE 5 和 Unix 上的 Windows 支持它 。 所以, Servelet 应该查看 接受- Encoding 头 。 Get Header (“ 接受- Encoding ”)
如果您想要利用长期连接, 您可以将文件写成 ByteAray Outputputsl流, 在完成后检查其大小, 然后将值放在内容- Length 头上, 然后通过 byteArraystre. 我不知道你在说什么。 Getoutputstre () 来传输内容 。
Servelet 是文本/计划默认值, 但通常需要明确定义为文本/ html。 由于内容- 类型经常被设置, HttpServletResponse 包含一个专门的函数设置 ContentType 。
HTTP反应实体
客户从服务器收集的数据包含在响应实体中,在响应机构界定数据的格式和长度。
本文由 在线网速测试 整理编辑,转载请注明出处。