• 物联网通信技术final fighting


    目录

    1.GET、POST的区别?

    2.三次握手&四次挥手

    3.TTL是什么?有什么作用?

    4.主机之间的通信方式

    5.两台电脑连起来后ping不通?

    6.请求报文

    ​7.同步通信

    8.异步通信

    9.HTTP协议

    10.HTTPS协议

    11.HTTP与HTTPS的区别

    12.ARP地址解析协议的原理和地址解析过程 


    1.GET、POST的区别?

    ①get提交的数据会放在URL之后,并且请求参数会被完整的保留在浏览器的记录里。由于参数直接暴露在URL中。可能会存在安全问题,因此往往用于获取资源信息。

    而post参数放在请求主体中,井且参数不会被保留,相比get方法,post方法更安全,主要用于修改服务器上的资源;

    ②get请求只支持URL编码,post请求支持多种编码格式;

    ③get只支持ASCII字符格式的参数,而post方法没有限制;

    ④get提交的数据大小有限制(这里所说的限制是针对浏览器而言的),而post方法提交的数据没限制;

    ⑤get方式需要使用Request.QueryString来取得变量的值,而post方式通过Request.Form来获取;

    ⑥get方法产生一个TCP数据包,post方法产生两个(并不是所有的浏览器中都产生两个)。

    2.三次握手&四次挥手

    三次握手即TCP建立连接的过程,在握手前,主动连接的客户端关闭close阶段,同时被打开的服务端也关闭close阶段,进入listen阶段,开始建立握手:

    ①客户端向服务端发送一个SYN包,等待服务器确认;

    ②服务器接收到客户端发送来的SYN包后,对该包进行确认后结束listen阶段,并返回一段TCP报文;

    ③客户端接收到发送的SYN+ACK包后,明确了从客户端到服务端的数据传输正常,则结束SYN-SENT阶段,并返回最后一段报文 最后一段:当服务端收到来自客户端确认收到服务端的数据的报文后,得知从服务端到客户端的传输是正常的,从而结束SYN-RECV阶段,进入ESTABLESHED阶段,从而完成三次握手。

    四次挥手即TCP连接的释放,这里假设客户端主动释放连接。在握手之前主动释放连接的客户端结束ESTABLISHED阶段,随后开始四次挥手:

    ①首先客户端向服务器发送一段TCP报文表明其想要释放TCP连接;

    ②服务器接收到客户端请求断开连接的FIN报文后,结束ESTABLISHED阶段,进入CLOSE-WAIT阶段并返回一段TCP报文;

    ③服务器端在发出ACK确认报文后,服务器端会将遗留的待传数据传送给客户端,待传输完成后即经过CLOSE-WAIT阶段,便做好了释放服务器端到客户端的连接准备,再次向客户端发出一段TCP报文;

    ④客户端收到从服务器发来的TCP报文,确认了服务器已经做好释放连接的准备,于是结束FIN-WAIT-2阶段,进入TIME-WAIT阶段,并向服务器发送一段报文(最后一段):随后客户端开始在TIME-WAIT阶段等待2 MSL,服务器端收到从客户端发出的TCP报文之后结束LAST-ACK阶段,进入CLOSED阶段。由此正式确认关闭服务器端到客户端方向上的连接。客户端等待完2MSL后,结束TIME-WAIT阶段,进入CLOSED阶段,完成四次握手。

    3.TTL是什么?有什么作用?

    TTL是指生存时间,简单来说:它表示了数据包在网络中的时间。每经过一个路由器后TTL就减1,这样TTL最终会减为0,当TTL为0时,则将数据包丢弃。通过设置TTL可以避免这两个路由器之间形成环导致数据包在环路上死转的情况,由于有了TTL,当TTL为0时,数据包就会被抛弃。

    4.主机之间的通信方式

     ①单工通信:也叫单向通信,发送方和接收方是固定的,消息只能单向传输。例如:采集气象数据、家庭电费,网费等数据收集系统,或者打印机等应用主要采用单工通信;

    ②半双工通信:也叫双向交替通信,通信双方都可以发送消息,但同一时刻同一信道只允许单方向发送数据。例如:传统的对讲机使用的就是半双工通信;

    ③全双工通信:也叫双向同时通信,全双工通信允许通信双方同时在两个方向上传输,其要求通信双方都具有独立的发送和接收数据的能力。例如:平时我们打电话。自己说话的同时也能听到对面的声音。

    5.两台电脑连起来后ping不通?

    ①首先看网络是否连接正常,检查网卡驱动是否正确安装;

    ②局域网设置问题,检查IP地址是否设置正确;

    ③看是否被防火墙阻拦(有些设置中防火墙会对ICMP报文进行过滤),如果是的话,尝试关闭防火墙;

    ④看是否被第三方软件拦截;

    ⑤两台设备间的网络延迟是否过大(例如路由设置不合理),导致 ICMP报文无法在规定的时间内收到。

    6.请求报文

     ①GET:当客户端要从服务器中读取某个资源时,使用GET方法。GET 方法要求服务器将URL定位的资源放在响应报文的部分,回送给客户端,即向服务器请求某个资源。使用GET方法时,请求参数和对应的值附加在URL后面。利用一个问号( "?" )代表URL的结尾与请求参数的开始,传递参数长度受限制。例如:127.0.0.1/index.jsp?id=100&op=bind
    ②POST:当客户端给服务器提供信息较多时可以使用POST方法,POST方法向服务器提交数据,比如完成表单数据的提交,将数据提交给服务器处理。GET 一般用于获取/查询资源信息,POST会附带用户数据,一般用于更新资源信息。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据。

    7.同步通信

    同步通信中双方使用频率一致的时钟,它的分组相比异步则大得多,称为一个数据帧,通过独特的bit串作为启停标识。发送方要以固定的节奏去发送数据,而接收方要时刻做好接收数据的准备,识别到前导码后马上要开始接收数据了。同步这种方式中因为分组很大,很长一段数据才会有额外的辅助位负载,所以效率更高,更加适合对速度要求高的传输,当然这种通信对时序的要求也更高。

    同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息,由同步字符、数据字符和校验字符(CRC)组成。

    8.异步通信

    异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低。

    9.HTTP协议

    HTTP 是一种简单的请求——响应协议,被用于在Web浏览器和网站服务器之间传递消息。HTTP 使用TCP(而不是UDP)作为它的支撑运输层协议。其默认工作在TCP协议80端口,HTTP客户机发起一个与服务器的TCP连接,一旦连接建立,浏览器和服务器进程就可以通过套接字接口访问TCP。客户机从套接字接口发送HTTP请求报文和接收HTTP响应报文。类似地,服务器也是从套接字接口接收HTTP请求报文和发送HTTP响应报文。其通信内容以明文的方式发送,不通过任何方式的数据加密。当通信结束时,客户端与服务器关闭连接。

    10.HTTPS协议

    HTTPS是以安全为目标的HTTP协议,在HTTP的基础上通过传输加密和身份认证的方式保证了传输过程的安全性。其工作流程如下:

    ①客户端发起一个HTTPS请求,并连接到服务器的443端口,发送的信息主要包括自身所支持的算法列表和密钥长度等;

    ②服务端将自身所支持的所有加密算法与客户端的算法列表进行对比并选择一种支持的加密算法,然后将它和其它密钥组件一同发送给客户端;

    ③服务器向客户端发送一个包含数字证书的报文,该数字证书中包含证书的颁发机构、过期时间、服务端的公钥等信息;

    ④最后服务端发送一个完成报文通知客户端SSL的第一阶段已经协商完成;

    ⑤SSL第一次协商完成后,客户端发送一个回应报文,报文中包含一个客户端生成的随机密码串,称为pre_ master_ secre,并且该报文是经过证书中的公钥加密过的;

    ⑥紧接着客户端会发送一个报文提示服务端在此之后的报文是采用pre_ master_ secre加密的;

    ⑦客户端向服务端发送一个finish 报文,这次握手中包含第一次握手至今所有报文的整体校验值,最终协商是否完成取决于服务端能否成功解密;

    ⑧服务端同样发送与第⑥步中相同作用的报文,已让客户端进行确认,最后发送finish报文告诉客户端自己能够正确解密报文。

    11.HTTP与HTTPS的区别

    在HTTPS通信过程中并不是采用明文传输,而是采用对称加密的方式,对称密钥已经在SSL的建立过程中协商好了。

    12.ARP地址解析协议的原理和地址解析过程 

    ARP协议提供根据IP 地址获取物理地址的功能,它工作在第二层,是一个数据链路层协议,其在本层和物理层进行联系,同时向上层提供服务。当通过以太网发送IP数据包时,需要先封装32位的IP地址和48位MAC地址。在局域网中两台主机进行通信时需要依靠各自的物理地址进行标识,但由于发送方只知道目标IP地址,不知道其MAC地址,因此需要使用地址解析协议。ARP 协议的解析过程如下: ①首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系; ②当源主机要发送数据时,首先检查ARP列表中是否有IP地址对应的目的主机MAC地址,如果存在,则可以直接发送数据,否则就向同一子网的所有主机发送ARP数据包。该数据包包括的内容有源主机的IP地址和MAC地址,以及目的主机的IP地址; ③当本网络中的所有主机收到该ARP数据包时,首先检查数据包中的目的主机IP地址是否是自己的IP地址,如果不是,则忽略该数据包;如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中;如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址; ④源主机收到ARP响应包后,将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据;如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。


  • 相关阅读:
    Path-Ranking:KBQA中path生成、召回、粗排与精排
    C++DAY48
    Windows操作系统基础-第02课-基本配置
    【人工智能深度报告--机器人系列技术篇】
    海格里斯HEGERLS托盘式四向穿梭车批发定制|24小时全自动无人化立体仓库批量托盘作业
    蓝桥杯2023年-阶乘的和(数学推理,C++)
    STM32 CAN使用记录:bxCAN基础通讯
    低蓝光认证:TUV莱茵与TUV南德 有啥区别?
    【code】Java List数据量大分批次操作
    第二十章 CSP Session 管理 - 状态管理
  • 原文地址:https://blog.csdn.net/m0_57656758/article/details/128173591