计算机网络
文章平均质量分 59
记录开发过程中相关问题
L7256
这个作者很懒,什么都没留下…
展开
-
图解https读书笔记
client的公钥加密,server持有client的私钥解密。为了解决这个问题:client应该用client的私钥签名,server用client的公钥解签。client用server的公钥加密原文,用client的私钥签名。综上两种情况,client和server之间需要有两对公私钥:各自持有对方的公钥和自己的私钥。公开秘钥加密处理相对复杂,会降低通信效率,所以通信的时候希望使用共享密钥加密方式。client用server公钥加密,server持有server的私钥解密。原创 2022-11-18 11:18:46 · 1326 阅读 · 0 评论 -
证书+证书链的简单理解
参考:一起学加密(23)——证书是什么_哔哩哔哩_bilibili原创 2022-10-28 15:00:43 · 1773 阅读 · 0 评论 -
client 广播ip地址,server端接收
【代码】client 广播ip地址。server端接收原创 2022-10-13 10:03:45 · 194 阅读 · 0 评论 -
IGMP协议
IGMP是组播原理涉及到的协议。IGMP协议作用于:主机和组播路由器之间。①Router发送普遍组查询报文(General Query)G1/G2/G3都会收到此报文。周期默认是60s。②Client发送:响应报文 (Report报文) 发送给RouterA(RTA)③G1发送的响应报文RouterA和G2,G3也会收到,当G3收到此响应报文,G3不会再向RouterA发送响应报文。当新的client加入网络,client可主动发送Report报文给Router。原创 2022-10-06 16:48:14 · 1602 阅读 · 0 评论 -
mDNS协议
比如,A 主机进入局域网,开启了 mDNS 服务,并向 mDNS 服务注册以下信息:我提供 FTP 服务,我的 IP 是 192.168.1.101,端口是 21。如果理解了 DNS 协议,再去理解 mDNS 协议就很简单了,区别只是 mDNS 一般作用在一个局域网内的,有特定的 IP 地址,也就是 224.0.0.251,有特定的端口 5353,mDNS 的作用是实现局域网内的服务发现,查询,注册,DNS 作用是实现域名的解析,作用大概是一样的。当然,具体实现要比这个复杂点。转载 2022-09-29 00:24:59 · 932 阅读 · 0 评论 -
vLan的概念
首先,在一台未设置任何VLAN的二层交换机上,任何广播帧都会被转发给除接收端口外的所有其他端口(Flooding)。VLAN间路由,可以使用普通的路由器,也可以使用三层交换机。同时设置端口1、2属于红色VLAN、端口3、4属于蓝色VLAN。同样,C发送广播信息时,只会被转发给其他属于蓝色VLAN的端口,不会被转发给属于红色VLAN的端口。上图中为了便于说明,以红、蓝两色识别不同的VLAN,在实际使用中则是用“把它转发给同属于一个VLAN的其他端口——也就是同属于红色VLAN的端口2,就这样,VLAN通过。转载 2022-09-28 23:24:04 · 149 阅读 · 0 评论 -
DNS抓包
DNS抓包原创 2022-09-16 12:18:45 · 2039 阅读 · 0 评论 -
Ubuntu搭建Mqtt服务器
比如机器0订阅了msg1, 于是机器1/机器2发布msg1,机器0都会收到。每个机器可以订阅,发布。谁订阅了某个topic,消息就会发给谁。config文件如下。原创 2022-09-15 12:59:58 · 2443 阅读 · 0 评论 -
【Linux】socket套接字编程 UDP
1.在一个网络系统中要找到一个应用程序需要注意:①IP地址 ②端口号2.所以在一个网络中的两部分要互相通信;需要分情况考虑,①如果在同一个系统中,那么只需要区分客户端服务端。 ②如果在两个系统中:则两端都需要创建客户端和服务端。。所以写一个比较通用的类封装起来把,方便以后使用。...原创 2021-04-19 09:44:53 · 271 阅读 · 0 评论 -
udp多播
setopt的IP_ADD_MEMBERSHIP-----加入组播组-----设置了组播地址。(2)然后设置多播的参数,例如超时时间TTL、本地回环许可LOOP等。组播:一对多(这个多可以为1,就是单播,可以为N,就是广播)bind----指定接收的端口和ip地址----指定网卡。组播源:往多播地址和端口上发送消息,发送消息。首先需要明白:单播,组播,广播。(1)建立一个socket。(4)发送和接收数据。(5)从多播组离开。原创 2022-09-12 16:21:04 · 835 阅读 · 0 评论 -
iptables
iptables-tnat-AOUTPUT-ptcp-d192.168.2.101--dport55-jDNAT--to-destination192.168.2.10053//实现把192.168.2.101的55端口的报文,转发到192.168.2.10053。路由器----交换机---LAN内的电脑1(192.168.1.1),电脑2(192.168.1.2)--->路由器收到---->给电脑1回复ip地址--->电脑1拿到一个ip地址。ip地址不是路由器。.........原创 2022-07-20 10:28:17 · 734 阅读 · 0 评论 -
Netlink的简单例子
【代码】Netlink的简单例子。转载 2022-09-11 15:32:25 · 567 阅读 · 0 评论 -
通过网卡设备名得到ip地址
代码】通过网卡设备名得到ip地址。原创 2022-08-18 18:07:50 · 532 阅读 · 0 评论 -
【Linux】socket套接字编程 TCP(2)
调试经验:1.接收一包数据,客户端与服务端需要注意用同一个结构体去存收到的变量。。比如规定通信双方的数据如下面的结构:struct body { uint32 length; char buffer[1024];}__attribute((packed)); //不考虑字节对齐body_t;struct body buffer;那么我们在调用recv()函数时,应该这样去接收。。这样可以直接将数据处理。。int recv_size = recv(connect_fd,&原创 2021-05-07 20:19:48 · 208 阅读 · 0 评论 -
【Linux】socket套接字编程 TCP(1)
参考网址//client端代码#include <stdio.h>#include <sys/socket.h>#include <netinet/in.h>#include <string.h>#define PORT 5116#define BUF_SIZE 256int main(int argc, char** argv){ int fd = socket(AF_INET, SOCK_STREAM, 0);原创 2021-04-13 16:26:17 · 205 阅读 · 0 评论 -
TCP建立连接为什么是三次,断开连接为什么是四次?
1.TCP建立连接要理解这个问题,可以从三个方面去理解。1.1两军问题:假如client和service是两队人马,他们要进行通信。client说:马上要进攻了,service端说:好的我知道了。似乎这么看没有问题,两次就可以建立连接了。但是问题来了:service端说了我知道以后,service端怎么知道client端有没有收到我的答复呢?那么这个时候就需要第三次连接了们也就是client说:好的我知道你收到了。那么这样就必须建立三次连接。1.2信道可靠问题:我们知道client端原创 2020-07-02 20:03:12 · 1370 阅读 · 0 评论 -
数字签名和CA证书
公钥基础设施(Public-Keyinfrastructure)是为了能够更有效地运用公钥而制定的一系列规范和规格的总称。A用私钥加密--->通过D运算(叫做签名)----->生成密文---->B收到密文---->通过A的公钥--->通过E运算(验签)--->得到明文。只要你信任链上的头一个证书,那后续的证书,都是可以信任滴。则它们之间,构成如下的一个树形关系(一个倒立的树)。认证机构Trent用自己的私钥对Bob的公钥施加数字签名并生成证书。CA证书,顾名思义,就是CA颁发的证书。...原创 2022-07-27 18:22:05 · 1805 阅读 · 0 评论 -
DHCP协议
在DHCP服务器和客户端之间转发DHCP数据包。当DHCP客户端与服务器不在同一个子网上,DHCP的client和server必须通过中继代理来转发DHCP的client的消息。支持DHCP的网络设备通过将指定的端口作为DHCPclient,通过向DHCP服务端发送DHCP的协议报文,从而可获取IP地址信息。服务器控制一段IP地址范围,当客户端登陆服务端即可获得服务器分配的IP地址和子网掩码。DHCP将IP地址和相关信息分配给网络中的计算机的协议。...............原创 2022-07-20 10:54:56 · 2845 阅读 · 0 评论 -
MQTT源码解析
MQTTAsync_deliverMessage()//收到包进MQTTAsync_setCallbacks的回调函数onMesg()MQTTAsync_setCallbacks//设置回调函数--收到消息onMesg()/发送成功/连接断开。MQTTAsync_processCommand//处理消息。MQTTAsync_receiveThread//创建接受线程。MQTTAsync_create//创建client。...原创 2022-07-18 20:33:57 · 1642 阅读 · 0 评论 -
tcp协议--报文格式,连接建立,可靠传输,拥塞控制
比如接收到收到了0,1,2,3后,回复给发送端一个3就可代表收到了0,1,2,3。但这样也会带来新的问题丢包了咋整,比如发送端发了0123,接收端收到了013,按照之前的逻辑,需要重传2,3但是3是没必要重传的,所以就有了选择确认。比如A-->B发送了“确认号701,窗口1000”的报文,即A告诉BB发送接下来报文需要考虑到我还能收1000个字节的数据。B-->A这个确认号(ACK)就是701,代表B期望收到A发送的下一个数据序号是701。(用4个指针确认需要重传的字节流窗口)。......原创 2022-07-18 00:16:28 · 1413 阅读 · 0 评论 -
地址解析ARP协议
当一个LAN里面有主机A(IP192.168.1.1)和主机B(IP192.168.1.2),此时主机A请求发起TCP连接到主机B。当主机A需要发送报文到主机B(IP192.168.1.2),主机A查看自己的。主机B和这个LAN内的其他主机收到了这个Arp广播报文,主机B会回复。主机A在LAN内广播ARP报文,LAN内的主机B回复ARP响应报文。主机A会把主机B的IP和MAC地址存入ARP表(有超时删除机制)(arp-a可查看),有就用Arp表的主机B的mac地址。ARP请求报文(广播).........原创 2022-07-17 17:57:18 · 520 阅读 · 0 评论 -
PPPoE拨号上网
(以下摘自:PPPoE拨号流程_弦苦的博客-CSDN博客_pppoe拨号)原创 2022-07-17 14:36:07 · 1300 阅读 · 0 评论 -
MQTT协议
目录1.数据格式2.CONNECT报文3.CONNACK4.QOS服务质量5.SUBSCRIBE订阅主题6.SUBACK订阅确认7.unsubscribe取消订阅8.unsuback 取消订阅确认9.publish发布消息10.PUBACK发布消息确认参考:3.2 CONNACK – 确认连接请求 · MQTT协议中文版.........原创 2022-07-08 00:48:50 · 1456 阅读 · 0 评论 -
计算机网络基础
1.局域网内通信2.如何配置IP地址、DHCP服务器3.路由器8.NAT技术(Network address translation)端口映射无线桥接/有线桥接DNS(Domain Name System域名解析系统,把域名解析为IP地址)DDNS原创 2022-06-19 23:27:47 · 725 阅读 · 0 评论 -
TCP/IP 5层基本总结
GitMind上有源文件原创 2022-04-19 15:58:24 · 2393 阅读 · 0 评论 -
TCP/IP的分层理解
分层分层的理解1.物理层两个设备之间报文的传输,是通过电气信号0 1来传输的,但单单拿到01的数据流,是没办法定意这个消息是什么意思的,比如收到0110001,如果01代表A,011代表B,我怎么去知道这串数据流是什么意思呢?所以规定以8位作为一个字节单位去读数据。2.数据链路层(MAC层)1)对于一台电脑来说,想要上网,需要有一张网卡,而网卡有自己的MAC地址,MAC地址由厂商标识号+商家分配的ID数字组成,这能保证每张网卡有独一无二的MAC地址。2)只要MAC地址可以实现数据互传吗?可原创 2022-04-16 21:41:05 · 2083 阅读 · 0 评论