草庐IT

IP协议

全部标签

TCP/IP LWIP FPGA 笔记

参考资料:正点原子LwIP之网络接口netif(ethernetif.c、netif.c)-CSDN博客IPv4/IPv6、DHCP、网关、路由_ipv6有网关的概念吗-CSDN博客TCP/IP        TCP/IP协议中文名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。        通俗而言:TCP负责发现传输的问题,

【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)

此篇智能家居入门与前两篇类似,但是是使用MQTT协议接入ONENET云平台,实现微信小程序与下位机的通信,这里相较于使用http协议的那两篇博客,在主程序中添加了独立看门狗防止程序卡死和服务器掉线问题。后续还有使用MQTT协议连接MQTT服务器的智能家居项目。前言一、硬件模块二、连接服务器测试三、两个协议的对比分析1、代码结构上:2、获取服务器数据上:3、架构上:四、下位机主要代码1、接收并解析云平台下发数据:2、传感器数据上云:五、微信小程序主要代码1、index.js2、index.wxml六、源码获取前言这里给出前两篇使用http协议博客的网址:①实现数据上云:https://blog.

简述 zookeeper 基于 Zab 协议实现选主及事务提交

Zab协议:zookeeper基于 Paxos协议的改进协议zookeeperatomic broadcast原子广播协议。zookeeper基于Zab协议实现选主及事务提交。一、为什么需要选主?选主是复杂分布式服务的一个特有机制,旨在保障系统数据的一致性。分布式服务一般对于数据的存储形式是:每个节点都保存全量数据,每个节点都可以对外提供“一致”的服务,这就涉及到不同节点间的数据同步。我们所说的可能的数据不一致主要是由数据变更过程引发,因为它涉及服务内所有节点的数据更新。对于zookeeper,选主便是保障服务内数据变更触发,控制及变更后服务各节点数据的一致性的一个重要环节。二、怎么选主?zo

【Linux网络模型】12. 网络性能优化的几个思路(下)将顺着 TCP/IP 网络模型,继续向下,看看如何从传输层、网络层以及链路层中,优化 Linux 网络性能。

12.网络性能优化的几个思路(下)上一篇在优化网络的性能时,可以结合Linux系统的网络协议栈和网络收发流程,然后从应用程序、套接字、传输层、网络层再到链路层等每个层次,进行逐层优化。主要学习了应用程序和套接字的优化思路,比如:在应用程序中,主要优化I/O模型、工作模型以及应用层的网络协议;在套接字层中,主要优化套接字的缓冲区大小。这篇文章将顺着TCP/IP网络模型,继续向下,看看如何从传输层、网络层以及链路层中,优化Linux网络性能。网络性能优化传输层传输层最重要的是TCP和UDP协议,所以这儿的优化,其实主要就是对这两种协议的优化。我们首先来看TCP协议的优化。TCP提供了面向连接的可靠

【FPGA开发】HDMI通信协议解析及FPGA实现

本篇文章包含的内容一、HDMI简介1.1HDMI引脚解析1.2HDMI工作原理1.3DVI编码1.4TMDS编码二、并串转换、单端差分转换原语2.1原语简介2.2原语:IO端口组件2.3IOB输入输出缓冲区2.4并转串原语`OSERDESE2`2.4.1`OSERDESE2`工作原理2.4.2`OSERDESE2`级联示意图2.4.3`OSERDESE2`工作时序图2.4.4`OSERDESE2`原语调用实例2.5单端转差分原语`OBUFDS`  笔者在这里使用的开发板是正点原子的达芬奇开发板,FPGA型号为XC7A35TFGG484-2。参考的课程是正点原子的课程手把手教你学达芬奇&达芬奇P

TCP 协议特性详解

TCP协议特性总结TCP协议特点TCP协议段格式TCP原理确认应答(安全机制)超时重传(安全机制)连接管理(安全机制)(面试高频题)三次握手四次挥手滑动窗口(效率机制)流量控制(安全机制)拥塞控制(安全机制)TCP协议特点TCP协议具有有连接,可靠传输,面向字节流,全双工的特点TCP协议段格式TCP报文=TCP报头(首部)+TCP载荷源/目的端口号:表示数据是从哪个进程来,到哪个进程去;32位序号/32位确认号:针对多组数据进行详细区分4位首部长度:描述TCP报头具体的长度(TCP报头长度可变,UDP报头长度不可变,固定8个字节)注意:4位首部长度的单位不是字节,而是4字节,所以TCP报头最大

c++ - 主机名未使用 Winsock 转换为 IP 地址

getaddrinfo()不会将主机名转换为IP地址,因此不会connect()到服务器。我的实现有问题吗-编译时没有警告消息?这个对connect的函数调用是否正确?connect(client,result->ai_addr,result->ai_addrlen)下面列出了完整的实现:#include#include#include#include#include#pragmacomment(lib,"Ws2_32.lib")usingnamespacestd;intmain(intargc,char*argv[]){if(argc!=3){cerrai_addr,result->

STM32--SPI通信协议(3)SPI通信外设

前言硬件SPI:通过硬件电路实现,所以硬件SPI速度更快,有专门的寄存器和库函数,使用起来更方便。软件SPI:也称模拟SPI,通过程序控制IO口电平模拟SPI时序实现,需要程序不断控制IO电平翻转,所以速度会比较慢,受单片机主频和单片机IO电平最快翻转速率影响,需要自己写底层逻辑,比较麻烦。硬件SPI用的比较多。软件模拟较多的通讯是IIC和CAN,IIC是因为本身硬件IIC的速率不高,加上之前的STM芯片硬件IIC有点问题,导致很多人都自己手搓底层通讯,尽管现在STM已经解决了这个问题,但是现在使用软件IIC还是非常常见。一、SPI外设简介16位数据帧:最长见的是8位数据帧,也就是一次发送8个

【跳槽须知】关于企业所签订的竞业协议你知道多少?

年后跳槽须知自己签订的合同中是否存在竞业协议,谨防协议造成经济损失 🐓 什么是竞业协议竞业协议时用于保护自己的权益,在员工离职时决定是否启动的一种协议,避免一些掌握公司机密的一些重要岗位人才流入竞争对手的公司,带来商业竞争和不可评估的商业损失。竞业限制不是法定义务,而是用人单位与劳动者之间的约定义务,劳动者可以选择签署,也完全可以选择不签。劳动者不签署竞业限制协议不违法,用人单位不能以此为由解除劳动合同,否则属于违法解除,用人单位需要向劳动者支付双倍的经济补偿金。 🐓 竞业协议的内容主要用来约束高级管理者,核心岗位研发,限制进入有竞争的公司从事相关岗位,另外就是不可以自己创业此类型的行业或者公

49从零开始用Rust编写nginx,我竟然在同一个端口上绑定了多少IP

wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,负载均衡,静态文件服务器,websocket代理,四层TCP/UDP转发,内网穿透等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy设计目标快速的设置多IP绑定,及IP端口段的支持,方便快速的自定义能力。IP解析示例以下是常见的IP解析示例情况,本地ip为192.168.0.100示例:正常IP解析127.0.0.1:8869解析成ipv41