网安学习-TCP、UDP传输协议与OSI模型
好久没有更新博客了,最近比较忙于学校的事就没空抽出来更。(其实是懒)最近刚好在TryHackMe上自学网络安全,于是干脆当成云笔记发博客吧( TCP协议(Transmission Control Protocol)TCP协议是一种基于连接(Connect-based)的传输协议,也就是在发送数据之前需要客户端与服务端先建立连接。 优缺点优点:数据完整性保障、两台设备间的同步以防止数据乱序和拥塞、高可靠性。 缺点:需要两台设备间的稳定连接且如果一小部份数据没被接收,整段数据需重新发送、传输速度受限于双方较慢的网速、因为要进行很多计算所以比UDP协议慢很多。 首部格式1.源端口(Source Port) – 发送的端口2.目标端口(Destination Port) – 接收的端口3.源IP地址(Source IP) – 客户端的IP地址4.目标IP地址(Destination IP) – 服务端IP地址5.序列号(Sequence Number) – 可以大概理解成发送的第几个包,用于防丢包6.确认序列号(Acknowledgment Number) –...
连通分量与并查集
连通分量的定义在点集V,边集E的无向图 G 中选取部分段 V’ 和部分边 E’(V’ ⊆ V, E’ ⊆ E)组成的图 G’ 是原图的子图(Subgraph),特殊地一个子图也是自己的子图。 若一个字图具有连通性,则称其为连通子图(Connected Component)。 若一个图没有其他连通子图包含一个子图 G’ ,那么该字图 G’ 是原图的一个极大连通子图(连通分量、连通块)(Maximal Connected Subgraph)。可以把连通分量理解成一个图中其他“岛屿”互不相连的“岛屿” ,“岛屿”的数量就是连通分量的数量。 例如图中就有3个连通分量,分别是 1-4-5-8,0-2-3 和 6-7。 连通分量的简单应用查找连通分量包含的节点数或查询连通分量的个数可以使用BFS或DFS并标记vis数组实现。 1234567891011121314151617181920212223242526272829303132#include <iostream>#include <vector>using namespace std;int...
图的概念与遍历
图 (Graph) 主要由两个要素组成:顶点 (或节点)(Vertex) 和边 (Edge)。 图主要分为无向图(Undirected Graph),有向图(Directed Graph),和加权图(Weighted Graph)。 例如这是一个无向图↑ 图的储存图的储存可以通过结构体和vector数组实现,通过输入图的边来储存。 123456789101112131415#include <iostream>#include <vector>using namespace std;int n,m;vector<int> G[100005];int main(int argc, char *argv[]) { cin >> n >> m;//n为节点数 m为边的个数 for(int i = 1;i <= m;i++) { int u,v;//u,v为两个节点的编号 cin >> u >>...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment