计算机网络协议补充学习:ARP、IP、OSPF、HTTP/HTTPS、TCP

      最后更新:2022-07-23 01:19:17 手机定位技术交流文章

      计算机网络协议辅助学习

        • 1.ARP协议(网络层/数据链层)
          • 1.ARP协议原理
            • 同一网段
            • 不同网段
            • 补充
          • 2.ARP报文
        • IP协议(网络层)
          • 1.IP协议原理
          • 2.补充
          • 3.IP报文
        • OSPF协议(网络层)
          • 1.OSPF协议原则
            • 邻接条件匹配
            • DR/BDR
          • 2.OSPF报文
            • hello报文
            • DD报文
            • LSR报文
            • LSU报文
            • LSAck报文
        • 第四,HTTP协议(应用层)
          • 1.HTTP协议原则
          • 2.HTTP报文
            • 请求报文
            • 响应报文
          • 3.补充
            • GET和 POST的比较
            • URI和URL对比
        • 5.HTTPS协议(应用层)
          • 1.HTTPS协议原则
        • TCP协议(传输层)
          • 1.TCP协议原理
          • 2.TCP报文
          • 3.补充
            • TCP与UDP之间的区别
            • 索克
              • **服务器如何判断不同客户端的连接?(接口通信过程)**

      1.ARP协议(网络层/数据链层)

      1.ARP协议原理

      同一网段

      • 需要知道B的Mac地址。广播发送一个arp请求
      • B和C都被请求,C发现目标IP不是自己,将A的mac地址保存到自己的Arp表,然后丢弃消息;B发现目标IP是自己,将A的mac地址保存到自己的Arp表,然后回答A
      • B将他的Mac地址装入Arp包,然后发送到A

      不同网段

      • 如果A和B不是网络的同一部分,它们需要通过关口发送一个arp请求。A发送arp请求到关口
      • 接入A的Arp请求后,它将源Mac转换成自己的,然后根据路由表发送到下一个,下一个设备将源Mac转换成自己的,直到它到达目标IP并获得目标Mac
      • 注:在处理开关/路由器时,源和目的地IP不会改变,只修改源和目的地Mac

      补充

      • IP地址冲突检测:广播一个源和目的独立的Arp请求,通知其他设备已使用IP地址,并在发生冲突时接收Arp响应

      2.ARP报文

      ARP报文

      IP协议(网络层)

      1.IP协议原理

      • A 知道B的IP地址,想访问B。 A 将源和目标 IP 包入一个IP数据包,并将其发送到互联网
      • 互联网中设备(路由器)接收到IP包后根据目的IP查找路由表,转发给下一个路由器,直到B
      • B接收IP包后,逆向源和目的地IP,并发送响应IP包到互联网
      • 一旦传输,A接收一个IP包

      2.补充

      • IP地址:32位,分为网络地址和主机地址
      • 子网解码:32位,分网号和主机号,通常在末端连续0位,n连续0位计算主机号(2^n)
      • 按接收的地址和网络号码进行IP地址和子网加密

      3.IP报文

      IP报文

      OSPF协议(网络层)

      1.OSPF协议原则

      • A组广播一个带有主机路由器-ID(唯一的标识符)的问候包
      • B接收A的问候信件,将A添加到本地邻居表,并发送A的问候信件(包含A的信息)
      • A接收B的问候信件,将B添加到本地邻居表,发送问候信件到B(包含B信息),并建立AB邻居关系
      • 邻国间的条件匹配。不匹配的,会留在邻国关系中,并保持与“问候包”的联系
      • 在条件匹配成功后开始建立相邻关系
      • 与邻居共享DD包(先发送空的DD包,然后选择主机),并比较本地数据库,找出LSA信息是否本地
      • 一个请求没有本地LSA信息,并发送LSR包到B
      • 接收LSR包后,B包LSA细节,并发送LSU包到A
      • 收到LSU包后,A返回LSAck包到B

      邻接条件匹配

      • 在点对点网络中(网络段中只能存在两个节点),所有OSPF邻域将直接建立为相邻关系
      • 在MA(多路径访问,网络段内无限制的节点数)中,为了避免大量重复的LSA更新,必须进行DR/BDR选择,只有非DR/BDR之间建立邻近关系

      DR/BDR

      • DR:指定路由器,BDR:可选指定路由器
      • 功能:减少在同一广播区域内再发送的LSA
      • 选举范围:在广播地区,选择DR/BDR
      • 选举规则
        • 接口的优先级是高优先级(0-255,0不参加选举),优先级是等的,路由器-ID是高优先级
        • 选举前BDR升级为DR
        • 非占领者,如在选举开始后增加新设备,不能占领DR/BDR

      2.OSPF报文

      hello报文

      • 定期团体广播、侦查及维持邻近关系

      DD报文

      • 数据库描述报文,包含本地存储的所有LSA摘要,用于路由间数据库同步(LSA交互)。主从选举:比较双方的router-id,router-id大的一方为主(master),小的一方为从(slave)

      LSR报文

      • LSA的链状态请求声明(链状态通知)需要请求另一方。

      LSU报文

      • 包含另一方要求的LSA的链接状态更新消息

      LSAck报文

      • 链状态确认消息,以确认收到的LSA响应

      第四,HTTP协议(应用层)

      1.HTTP协议原则

      • 主要用于浏览器和服务器之间通信的协议,用于传输超文本。
      • 在浏览器和服务器建立连接后,浏览器将HTTP请求包发送给服务器
      • 当服务器收到请求包后,它将HTTP响应包返回浏览器
      • 浏览器在收到响应消息后显示信息

      2.HTTP报文

      请求报文

      在这里插入图片描述

      响应报文

      在这里插入图片描述

      3.补充

      GET和 POST的比较

      • 实质上,没有区别
      • 根据 Restful API的要求,GET通常用于访问资源, POST通常用于提交数据
      • GET的请求参数包含在URL中(querystring),POST的参数在request body中
        • 一般是指浏览器请求
        • URL长度有限(浏览器和服务器边界),因此GET参数的长度有限
        • POST也可以载入URL上的参数,但在一天结束时,它将被放在身体中
      • 两者都不安全(HTTP是明确传输的),但GET更不安全
        • 解决方案:使用HTTPS确保传输安全
      • GET通常是等效的(重复GET不会影响资源,可以由浏览器缓存), POST通常是等效的(重复 POST影响资源,不能由浏览器缓存)
      • 补充: POST将发送两个请求?
        • 事实上,它属于不同浏览器的优化,假设如果 POST数据超过一定的大小,它被发送多次,首先发送请求头,服务器接收并决定是否接受(100-继续)或拒绝(4XX-错误)

      URI和URL对比

      • URI:统一资源标识符,只有一个唯一的标识符
      • URL:统一资源定位器,一个URI不仅识别资源,而且提供资源的绝对路径

      5.HTTPS协议(应用层)

      1.HTTPS协议原则

      • 如使用SSL/TLS协议的HTTP协议,请参阅SSL/TLS原则
      • 客户端访问服务器,连接到服务器443端口,提供自支持的协议版本、加密方法和随机号码KEY1
      • HTTPS服务器拥有CA(证书颁发机构)颁发的证书(包括公共密码和数字签名),服务器对客户端作出回应,向客户端发送证书,确认协议的版本、加密方法和随机号码KEY2
        • CA有自己的不对称密钥。在发出证书时,服务器的公共密钥P被散布为摘要,然后用自己的私人密钥加密为数字签名
      • 客户端使用CA的公钥Q来解密证书上的数字签名,获取A的摘要,并在证书上的服务器的公钥P上进行相同的散布处理,获取B的摘要,比较A和B,表明服务器的公钥P是好的
      • 客户端生成一个随机的KEY3号,使用P加密,并发送到服务器
      • 服务器使用自己的私钥P2进行解密后接收KEY3
        • 然后,客户端和服务器使用商定的加密方法生成通信键KEY1、KEY2和KEY3
      • 然后客户端和服务器通过对称键KEY进行通信

      TCP协议(传输层)

      1.TCP协议原理

      • 与上述HTTP协议(应用层)、IP协议、OSPF协议、ARP协议结合
      • 浏览器访问服务器,应用程序层向传输层发送HTTP请求(消息)
      • 传输层将TCP头条添加到应用程序层并发送到网络层(消息/数据/TCP/UDP节)
      • 网络层将IP消息添加到传输层的子集,并发送到链接层(连接子集/数据包)
      • 链层由一个IP包和向目标主机发送的anmac地址帧组成(数据帧)
        在这里插入图片描述

      2.TCP报文

      在这里插入图片描述

      3.补充

      TCP与UDP之间的区别

      • TCP:以连接为导向,可靠,有序,并基于字节,支持单人、单人、多人、多人和多人交互通信,初始使用20-60字节
        • 发送到应用程序层的消息被视作流,并且取决于流量控制和拥挤控制决定该消息段的发送时间。 无论你发送多少次,你发送多少次和接收多少次之间没有区别
      • UDP:不连结,不可靠,无序,基于数据的讯息,单一通信,第一个8位空间
        • 无论应用程序层发送的信息有多大,它都会直接发送,接收者也一样,一个发送,一个接收

      索克

      • 应用层与传输层之间的抽象层,由Unix创建的一系列接口,是“打开、读、写、关闭”模式的实现
      服务器如何判断不同客户端的连接?(接口通信过程)
      • 服务器初始化socket(socket(),新的仅插座标识符),并绑定端子,将IP地址和端口号组合赋给socket)进行监听(listen(),监视接口),等待客户端连接
      • 客户端启动接口,连接服务器(connect(),输入客户端接口标识符、服务器接口地址和长度),连接成功(接受(),输入服务器插座标识符A,返回最近连接的接口标识符Bi;服务器通常只有一个A,不同客户端连接会产生多个Bi)后进行读写操作(read()、write()),通信结束后关闭连接(close(),在每次读写操作结束时关闭,让相应的插座标识符 -1 的参考计数器,数值为0时关闭连接)

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

          热门文章

          文章分类