【计算机网络】HTTP、TCP、IP协议

      最后更新:2022-05-05 07:09:34 手机定位技术交流文章

      TCP-IP协议

      计算机联网的上下下行方法(原书第7版)

      1. HTTP协议

      TCP(关于给予援助的底层协议)-超超文本传输协议-应用层协议

      应用程度:过程与过程之间的通信

      例如如下URL:

      http://www.someSchool.edu/someDepartment/picture.gif

      • 我为任何不便表示歉意。
      • 我们不会陷入像这样的厚厚之中。

      HTTP协议具体规定:

      1. 客户向服务器索取网页的方式
      2. 服务器将页面发送给客户端的方法

      [(img-SHTuen9O-1651306424515)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5605e4b2-5586-4e92-af10-894b7ac98096/1586337357198.png)]

      [非永久性超链接]

      现在我们考虑:

      当用户点击超链接时会发生什么?

      1. 最初进行了三次TCP握手。
      2. 客户在第三次握手期间提交HTTP的要求。
      3. 服务器收到请求后, 将匹配资源传输给客户端 。

      综上,在[非永久性超链接]的HTTP请求中

      =2 RRT时间+文件传送时间

      无法关闭临时文件夹:%s。

      正如可以观察到的,非持久性联系有各种缺陷:

      • 每项请求都需要TCP连接,对网络服务器造成很大压力(可能还有数百个客户同时提交请求)。
      • 如上图所示,每份请求在两个难民审查小组期间得到回应。

      因此,HTTP 1.1允许长期连通。

      特别是,当超过一定时间(用户指定设置)后不再使用TCP连接时,HTTP服务器将切断链接。

      背对背传输 [背对背传输]

      HTTP数据格式

      1. 请求消息

      GET /somedir/page.html HTTP/1.1 Host: www.someschool.eduConnection: closeUser-agent: Mozilla/5.0Accept-language: fr

      请求[请求行],由三部分组成:技术、资源URL和HTTP版本。

      首部行包括了:

      • 第二行包含主机名 [主机] 。
      • 第3行:数据一经传输,即断开连接。
      • 第4行 -- -- Brownser被用作用户中间人(服务器可以向各种类型的浏览器发送不同的资源信号)。
      • 最后一行 -- -- 接受的语言 -- -- 仅仅是可参考的HTTP的几个组成部分之一。

      在这里插入图片描述

      注意

      然而,只有在用户使用POST方法时,才填写目的体(保留用户以表格形式输入的数据)的成分。

      当用户使用 GET 方法时, 所请求的数据会被附加到 URL 上( 其长度受限制 ) 。

      如果一个窗体使用Get方法,有两个字段, 而对这两个字段的投入是猴子和香蕉, URL将是典型的“ww.omessite.com/animalsearch?”monkeys&bananas” In your day-to-day Web surfing, you have probably noticed extended URLs of this sort.

      2. 响应消息

      HTTP/1.1 200 OKConnection: closeDate: Tue, 18 Aug 2015 15:44:04 GMTServer: Apache/2.2.3 (CentOS)Last-Modified: Tue, 18 Aug 2015 15:11:03 GMTContent-Length: 6821Content-Type: text/html(data data data data data …)

      状态线分为三个部分:版本号、状态代码和随附状态信息。

      首部行———包括了

      • Connection
      • 日期, 服务器从文件系统获取资源, 将其插入回复信息的时间, 并发送 。
      • 服务器, 服务器名称
      • 最后修改, 指定请求项何时创建或最后一次更改 。
      • 字长, 厘米长
      • 文本- 文字类型、 上下文类型

      在这里插入图片描述

      常见的状态码:

      • 200 OK
      • 301 Moved Permently
      • 400 Bad Request
      • 404 Not Found
      • 505 HTTP Version Not Supported

      Cookie-基于Cookie的用户服务器互动

      服务器无法验证用户的身份, 因为 HTTP 协议处于无国籍状态[无 状态 。

      因此,我们实施了饼干。

      在这里插入图片描述

      Cookie技术由四个部分组成:

      1. cookie 的初始组件包含在 HTTP 响应信息中 。
      2. cookie 的初始组件包含在 HTTP 请求信件中 。
      3. Cookie文件存储在用户电脑上,由用户浏览器处理。
      4. 网站上的后端数据库

      例如:

      假设Susan总是使用 Internet Explorer 浏览她家里电脑上的网络。快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快假设她已经在eBay上购物了当启动连接到 Amazon 网络服务器时,该服务器将生成一个同类识别号码。并生成其后端数据库中按此识别数字索引的项目。 然后,Susan的浏览器收到了亚马逊网络服务器的回复。A Set- cookie: 页眉包含在 HTTP 响应中 。其中包含标识号。例如,1678可能是标题行。当Susan的浏览器收到HTTP回应时它会注意到信头Set -cookie: 然后,浏览器在其处理的特定 cookie 文件中创建新行 。该行包含服务器的主机名和 Set-cookie:信头的识别号码。 请注意,Susan以前曾造访过这个网站,因此因此, cookie 文件已经有一个eBay 条目 。Susan继续浏览亚马逊网站。她每次请求网站时都写道:她的浏览器会查看她的饼干文件为了获得网站的识别号码此外,包括一个饼干头条,在HTTP请求中,包括识别号码。 具体来说,亚马逊服务器的每个HTTP请求都有以下标题行: Cookie: 1678 亚马逊服务器可以在亚马逊网站上追踪Susan的行动。虽然亚马逊网站可能或可能认不出苏珊的名字,不过,它确实知道用户1678访问了哪些网站。以什么顺序,在什么时间!亚马逊公司使用饼干提供购物车服务, 亚马逊公司可以追踪苏珊购买的所有商品。因此,她可以在会议结束时集体付款。如果Susan一周后再次访问亚马逊网站例如,她的浏览器将继续在请求信息中包含信头Cookie:1678。Susan也根据她以前在亚马逊上浏览的页面得到推荐。如果Susan(提供全名)也在亚马逊注册,那么他就不能在亚马逊注册。电子邮件地址,邮政地址和信用卡详情)因此,亚马孙可以将这一信息纳入其数据库。Susan的名字就是这样与她的身份识别资料(以及她的所有网站)联系在一起的。该地点已经访问过。)。这就是亚马逊和其他电子商务公司 如何给公众提供“单钥匙购物”的方式。当Susan决定在以后的一次访问期间购买时她无需重新填入姓名。信用卡号或地址

      【注意】:

      • Cookie没有跨域名 。
      • 必须指定 cookie 的有效期 。
      • Cookies的储存方式类似于地图库(配对钥匙价值)。

      [网缓存]

      Web 缓存, 通常被称为代理服务器 [代理服务器], 是一种缓存类型 。

      该网页将最新请求保留在自己的存储空间。

      在这里插入图片描述

      以下是我们所看到的:

      据信,该请求将送交http://ww.un.org.edu/campus。

      1. 浏览器首先使用网络缓存连接TPCP, 并发送 HTTP 查询 。
      2. 如果网络缓存本地保存, 将选中它; 否则, 将直接返回它 。
      3. 如果没有,请与被请求人的源服务器建立 TCP 连接。
      4. 当一个对象被网络缓存接收时,该对象的副本将存储在本地,并送交浏览器。

      从上面的例子可以看出,在某些情况下,网络缓存既是服务器,又是客户。

      互联网服务供应商通常获取和部署网络缓存。

      互联网上的WW发展缓慢有两个主要原因:

      • 客户请求回复的时间可能会大大缩短,特别是如果客户与原服务器之间的瓶装带宽大大小于客户与缓存之间的瓶装带宽。
      • 降低机构互联网接入,减少交通量,从而节省资金,从而改善互联网应用的总体绩效。

      2. UDP协议

      无法关闭临时文件夹:%s。

      首部8字节

      此外,还有12字节的假头。

      在这里插入图片描述

      【注】:

      本案中的人工头不是开始,而是在计算校验和后才列入的。

      联合民主党提到该文件。

      在这里插入图片描述
      在这里插入图片描述

      3. TCP协议

      在这里插入图片描述

      可依赖的数据传输:服务模式(左),服务实现(右)。

      如你所见,传输层中的山羊毛 是目的之间的逻辑联系。

      在这里插入图片描述

      面向连接

      当一个过程将数据传输到另一个过程时,它被称为数据传输。

      ** 连接需要双向握手**。

      它不是终端到终端的TDM/FM系统,不是假电路。

      它还隐藏了与底层的连接。

      网络一级只能看到数据报告,而不是连接。

      端到端逻辑链接

      在这里插入图片描述

      TCP连接包括以下内容:

      • 缓冲
      • 变量变量变量
      • socket连接

      但主机、开关[开关]和转发器[转接器]之间的路由器[路由器]没有保存连接或变量。

      首部格式

      在这里插入图片描述

      20字字节的固定标题

      TCP 将数据视为没有结构的、顺序顺序的字节流[字节流 。

      一. [序列号]是一个序列号。

      序号如下:本段第一个字节的字节号

      在这里插入图片描述

      例如上图所示,

      传送的数据总数是50个字节, 最大一次传送为100个字节, 因此..

      • 初次报告的序号是0
      • 第二个:1000
      • 第三个:2000
      • ……

      2个确认号是确认号

      如果A接受来自B的0-535字节,希望编号536的序号随后。

      然后A会给B536号确认号

      ( TCP 只核查流中第一个缺失的字节 。 )

      【注】

      • TCP页头为20字节,IP页头为20字节,由于MAC框架数据部分的最大长度为1,500字节,TCP数据的最大长度为1,460字节。

      3. SYN同步码

      只有当TCP连接在三次握手后建立时,该标记才有效。

      它通知TCP连接的服务端,以核实序列号,该序列号是TCP连接初始端(通常是客户)的原始序列号。

      TCP序列号可视为32位数的对数,从0至4,294,967,295不等。

      通过TCP传输的数据的每个字节都有序号,TCP页头的序号栏包括TCP分段第一个字节的序号。

      可靠传输

      只用一个计时器

      确定数据流动无损、无间距、无冗余和顺序。

      在这里插入图片描述

      第一种情况,如上图所示:

      在定时期内返回的确认电文已丢失,A只能在此时以序列号92重新发送电文。

      在这里插入图片描述

      第二种情况,如上图所示:

      连续提交了两份报告。

      然而,第92和100号序列号的确认已经过时,必须予以痛斥。

      但是,在新的计时器中接收到第二个ACK后, 没有必要重新发送第二个。

      在这里插入图片描述

      第三个情况,如上图所示:

      同样,在第二种情况中,A连续提交了B两份报告。

      然而,对初次报告的确认是错的。

      不过,只要在92号计时器的时限内收到120号确认书,第92号序号就不必重新印发。

      因此,A知道B收到了119号序列号的所有电文,无需重新发送。

      快重传

      当序列号比当时预期的要大的时候

      说明中标明了差距[差距]——缺少中间条目**(不允许这样做,因为TCP确保数据订单)**

      在这一点上,接收方B必须再次发送到A'A'K的三次序列号广播。

      字母"A"将重新发送 ACK序列号。

      在这里插入图片描述

      流量控制

      [收到窗口]

      用于通知发件人收件人有多少缓存空间。

      由于TCP协议是全时[全底,发件人必须在两端都开着一个接待窗口。

      【扩展阅读】

      单身、从事非全时工作或全时工作。

      • 单工

        1. 数据仅按一个方向发送,当事方之间不能共享。

        2. 栗子:电视和广播。

      • 半双工

        1. 虽然数据可以双向传递,但只能一次向一个方向传递,导致单向转移。

        2、栗子:对讲机。

      • 全双工

        1. 使数据能够同时以两种方式传输。

        2. 栗子代表移动电话电话。

      还有以下定义:

      • RcvBuffer:缓冲区面积
      • LastByteRead: 缓冲区最后一个字节序号已读取 。
      • LastByteRcvd: 缓存的最后字节序列号 。
      • 由于TCP不允许缓冲区溢出,现可用下列公式: $lastByteRcvd- LastByteRead RcvBuffer
      • Rwnd: RcvBuffer - [最后的ByteRcvd - 最后的ByteRead] $rwnd - [最后的ByteRcvd - 最后的ByteRead]

      在这里插入图片描述

      因为自由空间随时间而变化, Rwnd 窗口也是如此。

      TCP连接管理

      建立连接

      在这里插入图片描述

      让我们看看这三手握刀怎么用!

      1. 客户端用同步代码SYN=1向服务发送特定 TCP 包( 没有任何应用程序层数据), 然后随机选择初始序列号 。
      2. 服务器接收信件,提取 SYN,为 TCP 连接指定缓存和变量,并向客户端发送确认信息,以获取授权连接(不包含应用程序层数据),SYN = 1,ACK = 核准后继+1,最后服务器选择初始序列号。
      3. 收到Synack的报告后用户另外配置连接的缓存和变量。客户将发送另一条信息到服务处。此最终输入验证了服务器允许的连接 。因为已经建立了联系,因此,SYN=0。第三种电文载有要发送的数据,可发送到服务器。

      【思考】

      @elder_man == ==

      最后,TCP连接到握手。 它到底是什么? 通讯双方数据源的序列号!

      在这里插入图片描述

      在这里插入图片描述

      很显然,

      • 4握手 = 连接速度和效率下降
      • 两手握握手导致 -- -- B不知道A收到了自己的同步信号,并记录了初始化序号。 (如果B与A的通信丢失,A和B将无法就B的初始化序列达成一致。 )

      释放连接

      在这里插入图片描述

      所看到的四节握手情况如下:

      1. 客户端启动 FIN = 1, 为服务器指定随机序列号, 以便积极终止连接 。
      2. 服务端接收信息,发送确认信息,并通知申请程序。
      3. 一段时间后,服务结束会被动地关闭连接,用FIN=1和一个随机序列号发送消息。
      4. 当客户收到确认信息时,将其发送到服务器。
      5. 当服务器从客户端收到确认信息时, 它会正式终止连接 。
      6. 当客户发送确认信息一段时间后,断开连接。

      TCP地位[条件]

      在这里插入图片描述

      在这里插入图片描述

      扩展阅读

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      拥塞控制

      TCP 选区控制局采用端对端选区控制机制。

      当发送者知道没有拥堵时,传播率就会提高。

      如果发送者感应到拥堵,传输率就会降低。

      然而,这提出了三个需要考虑的问题:

      1. 发送器如何控制传输频道的速度?
      2. 发送者如何确定是否出现拥堵?
      3. 发送者应使用何种算法来改变传输率?

      以下是一个解决三个问题的概念:

      1. 调整压缩窗口以控制传输数据的数量。
      2. 要检测堵塞,请使用ACK报告 如果ACK早点到达,Cwnd发展得更快
      3. TCP 选区控制(慢起步-会议避免-恢复)的算法

      一. [慢慢的开始]

      cwnd 开始为单一字符 。

      当收到ACK时, cwnd 增加为 2 。

      如此指数级往复增长

      问题是,指数增长在哪里结束?

      第二个变数是设定的:sthresh。

      cwndssthresh当我们说缓慢的开始,它结束了, 我们进入了僵局,我们避免了。

      【注】

      • 在另一种情况下,如果ACK报告重复三次,TCP将重新发送,然后进入恢复阶段。

      二. 避免混乱

      选区窗口: cwnd + 1, 即对流窗口扩展

      可能发生两种情况:

      • 超时:这时ssthresh=cwnd/2,cwnd = 1

        慢启动阈值现设为压缩窗口的一半,压缩窗口设为1。

      • USSTREsh = cwnd/2; cwnd = ssthresh+3. MSS = cwnd/2; cwnd = ssthresh+3. MSS = USthresh = cwnd/2; cwnd = ssthresh+3. MSS

        在这一点上,它表明,只丢失了部分信息,没有网络障碍,因此,缓慢启动门槛将定在压缩窗口的一半,该窗口将设在缓慢启动门槛,并直接进入压缩避免阶段。

      [注] 为什么包括3 * MSS? (至少暂时如此)

      三。 [快速修

      在这里插入图片描述

      在这里插入图片描述

      4. IP协议

      在这里插入图片描述

      各东道主之间的通讯是在网络一级完成的。

      有两个关键词[术语]:

      1. 转发: 发送。 将 IP 包从输入- 链接界面传输到输出- 链接界面的本地路由器行为( 支持硬件, 通常只有几毫秒)
      2. 道路:路径。 定义了IP数据包的端到端路径( 由软件完成, 一般为几秒钟 ) 。 路径与城市之间的过程相似 。

      在这里插入图片描述

      IP只提供一种服务:尽最大努力。

      路由器里有什么

      在这里插入图片描述

      硬件支持的输入端口、开关布料和输出端口

      在这里插入图片描述

      一组输入端口

      一组输出端口

      交换结构

      在功能上,路由器分类如下:

      • 路由选择
      • 分组转发

      IP数据包格式

      在这里插入图片描述

      Every networking students needs tosee it, absorb it, and master it

      • 版本号:4位。

      • 第一部长:4个决定IP数据报告第一节的长度,典型为20字节

      • 服务类型

      • 数据长度:16比特,最多为65535字节,但数据报告长度很少超过1 500字节。

        【注】

        由于MAC框架的最大传输单位为1,500字节,IP报告的数据部分最多可达IP数据头20字节之后的1,480字节。

      • 标志位:段偏移

      • TTL 生存时间: IP dwhea 包件运输的 TTL 减去 1, 然而在 TTL = 0 时, 路由器丢弃数据 。

      • TCP/UDP 高级别协定

      • 首部校验和

      • 源ip地址

      • 目的ip地址

      • 选项option

      • 数据

      DHCP[动态主机通信协议程 程序

      在这里插入图片描述

      1. DHCP 发现:客户端发送 UDP 信息
      2. DHCP提供以下服务:服务器对信息作出答复,在子网上向所有主机广播(同时考虑为什么广播),并发送IP地址(有效)。
      3. DHCP 请求: 客户端在等待回答配置参数时发送请求信息 。
      4. DHCP 确认: 服务器请求确认的配置选项 。

      NAT地址翻译

      将私人地址转换为全球地址的议定书。

      此外,它通过协助隐藏网络内的机器,有效地防止了外部网络的攻击。

      在局域网内使用私人地址,无法通过因特网进入。

      • 三个私密网络地址块
        • A类包括:
        • B类:
        • C类包括:

      【注】

      使用这种私人地址有什么用?

      这是为了解决IPv4问题。

      在这里插入图片描述

      有可能从根本上掌握《NAT议定书》的执行程序。

      1. 80 从第一个主机发送 ip 消息到目标 ip 地址
      2. NAT路由器检查,告知:3345, 原始ip地址: 5001, 改变ip消息源[源 。
      3. 从公共网络收到了IP通信,目标IP地址必须转换成使用NAT路由器的私人地址。

      绕行算法

      在这里插入图片描述

      1个基于链接状态的路线算法 [LS]

      应用 Dijkstra 算法 。

      有两种远程矢量( DV) 路由算法 。

      异步的,分布式的

      每个节点保存一些数据 。

      自我决策的算法

      去中心化的算法

      利用Bellman-Ford算法(解决负加权)。

      开放最短路径第一 [OSPF] 是一个网络协议, 优先选择最短路径 。

      是一个内部网关协议

      BGP代表《边界网关议定书》。

      建立基于TCP的自治制度的 RL 协议

      选择路路选择的算法

      SDN网络

      SDN是软件定义网络的缩写。

      它试图摆脱对网络设计的实际限制,以便更新网络,例如更新和安装软件,使更多的APP(应用程序)能够迅速部署到网络。

      ICMP(因特网控制信息协议)是网络控制信息协议。

      在IP通信中,有时,数据包无法通向对面。原因是,在通信网络的某个地方 路由器无法处理所有的数据包然后将数据包逐个丢弃。或者,虽然到达了对方,但是,由于不正确的港口号,服务器软件可能会拒绝它这时,在错误发生的现场,ICMP的讯息是飞过来接触的鸽子在IP 网络上,因此,除其他外,数据集已经停止使用。控制向发送者传送所需信息。《国际知识产权议定书》旨在补充《知识产权议定书》。交换各种类型的管制资料。

      1981年,因特网工程工作队(IETF)创建了万维网规格,将RFC 7922作为ICCMP核心规格。RFC 792的导言中写道,IPCMP议定书必须得到所有IP软件的支持。也是,设立国际知识产权委员会是为了分享知识产权的某些能力。

      ICMP的最典型应用是报告错误。

      当 IP 路由器无法识别 HTTP 请求中显示的主机路径时, 它会生成并发送IPC 信息给主机, 以便报告问题 。

      IPC被认为是IP的一部分,但高于IP,因此IPD含有IPC信息。

      最著名的 Ping 命令向目标主机发送 icmp 信息 。

      The well-known ping program sends an ICMP type 8 code 0 message to the specified hostThe destination host, seeing the echo request, sends back a type 0 code 0 ICMP echo reply

      SNMP代表简单的网络管理协议。

      最常见的作用是:

      当SNMP管理服务器向SNMP代理商(代理人)发出请求时,该代理商对请求采取行动或作出答复。

      综合的SNMP系统由以下组成部分组成:管理信息图书馆(MIB)、管理信息结构(SMI)和SNMP报告程序。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/23433.html

          热门文章

          文章分类