- 博客(25)
- 收藏
- 关注
原创 网络抓包工具tcpdump的使用
tcpdump命令是基于unix系统的命令行的数据报嗅探工具,可以抓取流动在网卡上的数据包,熟悉 tcpdump 的使用能够帮助你分析调试网络数据。
2024-07-17 15:58:53 1764
原创 ARP协议
4,某个主机发送报文时,首先检查自己的ARP列表看看是否有对应的IP地址的目的主机的mac地址,如果有则直接发送数据,如果没有,则向本网段所有主机发送ARP数据包。2,主机(网络接口)新加入网络时(或者mac地址发生变化,接口重启等)会发送免费的ARP报文,将自己的IP地址与mac地址的映射关系广播到其他主机;1,发送ARP请求的以太网数据帧给以太网上的每个主机,即广播,ARP请求帧中包含了目的主机的ip地址。3,网络上的主机接收到报文时,会更新自己的ARP缓冲区,将映射关系更新到自己的ARP列表中;
2024-07-15 10:35:29 710
原创 13 IP层协议-网际控制报文协议ICMP
为了更有效的转发IP数据报和提高交付成果的机会,在网际层使用了网际控制报文协议ICMP。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP不是高层协议数据IP层数据层协议。
2024-07-12 10:39:59 537
原创 网络层-无分类编址CIDR(构造超网)
1)消除了传统A类,B类C类地址以及划分子网的概念,因此能更加有效的分配IPv4的地址空间。在新的IPv6没到来之前冗余互联网继续增长。CIDR将32位的IP地址划分位前后两个部分。前面即”网络前缀“,简称”前缀“,后面部分则指明主机,因此CIDR使IP地址从三级编址(使用子网掩码)有回到两级编址,但这已是无分类两级编址,记法为:IP地址 ::={,}CIDR还使用斜线记法,或称为CIDR记法,即在IP地址后面加上斜线”/“。然后写上网络前缀所占位数。
2024-07-10 10:10:03 267
原创 C++原子操作
这个例子与第一个宽松模型的例子本质上没有区别,仅仅只是将原子操作的内存顺序修改为了 memory_order_seq_cst,有兴趣的读者可以自行编写程序测量这两种不同内存顺序导致的性能差异。在此模型下,单个线程内的原子操作都是顺序执行的,不允许指令重排,但不同线程间 原子操作的顺序是任意的。在此模型下,我们可以进一步加紧对不同线程间原子操作的顺序的限制,在释放 std::memory_order_release 和获取 std::memory_order_acquire。对此有什么办法能够适当的加速呢?
2024-07-09 17:55:40 842
原创 threadpool线程池
这里我们使用condition_variable实现线程同步,当没有任务执行时,condition_variable使线程处于等待状态,当有任务进入队列后,调用notify_one唤醒一个等待的线程处理任务,处理完成后线程又恢复到等待状态等待下一次被唤醒。为了防止竞争,条件变量总是和一个互斥锁结合在一起,通常情况下这个锁是 std::mutex,并且管理这个锁的只能是 std::unique_lock<std::mutex> RAII 的模板类。另外一个线程使条件成立,给出信号,从而唤醒被等待的线程。
2024-07-09 11:46:01 445
原创 11网络层-分组转发算法
1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址N2)若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要经过其他路由器,直接将数据报交付给目的主机(这里包括将目的主机地址D转为具体硬件地址,把数据报封装为MAC帧,再发送此帧);否则间接交付,执行(3);3)若路由表中有目的地址为D的特定主机路由,则把数据报送给路由表中下一条路由器;否则执行44)若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一条路由器;否则,执行5。
2024-07-08 10:37:16 675
原创 10网络层-IP数据报格式(一)
某些选项需要1字节,他就只包含1字节的选项代码,有些选巡航需要多尔字节,这些选项一个个凭借起来,中间不需要分隔符,最后用全0的填充字段补齐为4字节的整数倍。4)总长度 16位,2个字节,总长度指首部和数据之和的长度,单位为字节.总长度字段位16位2个字节,所以数据报最大长度位2^16-1=65535个字节。首部由固定长度(20字节),是IP数据报必须要有的,首部的固定部分后面是可选字段,长度是可变的。在进行切片后数据报首部中的总长度字段指分片后的每一个分片的首部长度加分片数据长度的中和。
2024-07-05 10:08:58 867
原创 9网络层-IP协议(一)
A类地址主机号占3个字节,因此A类地址的最大主机数位2^24-2.减2是因为第一:全0的主机号表示该IP地址是本主机所连接到的单个网络地址(如,一主机的IP位5.6.7.8,则表示白主机所在的网络地址是5.0.0.0),第二全是1的主机号字段表示该网络上的所有主机。B类地址的网络号字段有两个字节,因此B类地址网络号指派数位2^14-1,-1是因为B类最小网络地址位128.1.0.0.B类每个网络上最大主机数位2^16-2个,-2是扣除全0和全1的主机号。4)在IP地址中所有分配的网络号的都是平等的。
2024-07-04 11:03:59 2038
原创 8 网络层
仅仅是将一个网络扩大了,而从网络层的角度看,仍然是一个网路,一般不成为网络互连。没有一种单一的网络能够适应所有用户的需求,从一般概念上讲,将网络互相连接起来要使用一些中间设备。网际协议IP是TCP/IP体系中两个最主要的协议之一,也是最重要的互联网标准协议之一。互联网对于网络层的设计思路是网络层向上只提供简单灵活的、无连接的、尽最大努力交付数据报服务。网络层不提供服务质量的承诺。图中协议栈的数字1~5分别表示物理层,数据链路层,网络层,运输层,应用层。路由器的协议主要有下三层(物理层,数据链路层和网络层)
2024-07-03 11:35:02 143
原创 7数据链路层-vLan(三)
综上所述,vlan的设定手法有静态VLAN和动态VLAN两种,其中动态VLAN又可以继续细分成几个小类。其中基于子网的VLAN和基于用户的VLAN有可能是网络设备厂商使用独有的协议实现的,不同厂商的设备之间互联有可能出现兼容性问题;因此在选择交换机时,一定要注意事先确认。
2024-07-01 11:14:30 958
原创 5数据链路层-ppp协议(一)
数据链路层属于计算机网络的低层。数据链路层使用的信道主要有两种类型1)点对点信道 这种信道使用一对一的点对点的通信方式2)广播信道。这种信道使用一对多的广播通信方式。广播信道上的连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
2024-06-27 15:21:51 654
原创 4计算机网络-物理层
物理层的协议也被称为物理层的规程。物理层的主要任务描述为确定与传输媒体的接口有关的一些特性,即:1)机械特性 指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等等。平时常见的各种规格的接插件都有严格的标准化规定。电气特性: 指明在接口电缆的各条线上出现的顶呀的范围功能特性 指明某条线上出现的某一电平的电压的意义过程特性 指明对于不同功能的各种可能事件的出现顺序。
2024-06-25 10:20:54 389
原创 3计算机体系结构
应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。网络层的协议有:域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等。我们把应用层交互的数据单元成为报文。
2024-06-24 10:57:36 561
原创 计算机网络性能指标
发送时延发生在机器内部的发送器中(一般是网络适配器),与传输信道的长度(或信号传送距离无关),传播时延发生在机器外部的传输信道媒体上,与信号发送的速率无关。发送时延是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起到该帧最后一个比特发送完毕所需要的时间。2)再计算机网络中带宽用来表示网络中某通道传送数据的能力,表示再单位时间内网络中某信道所能通过的最高数据率。如果D1表示网络空闲时的时延D2表示网络当前的时延,在适当假定条件下可用如下公式表示D1,D2和利用率U之间的关系。
2024-06-21 10:21:39 439
原创 计算机网络学习笔记一些简单的概念
计算机网络(以下简称网络)是由若干结点和连接这些节点的链路组成。网络中的节点可以是计算机,集线器,交换机或路由器等。网络之间通过路由器互连起来构成一个覆盖更大范围的计算机网络成为互连网,互连网也称网络的网络。网络把许多个计算机连接在一起,而互连网则把许多网络通过路由器连接在一起,与网络项链的计算机称为主机。互连网只多个计算机网络互连而成的计算机网络。互联网则指全球最大的,最开放的,又众多网络相互连接而成的特定互连网,它采用tcp/ip协议族作为通信的规则。
2024-06-20 14:34:53 230
转载 Linux下系统分析工具
系统分析常用工具总结:https://blog.csdn.net/u011001084/article/details/74172829死循环定位:https://blog.csdn.net/longxibendi/article/details/50382184分析工具安装:https://blog.csdn.net/wenwenxiong/article/details/7719799...
2018-07-19 16:47:43 192
原创 C++内存重叠
内存重叠:拷贝的目的地址在源地址范围内。所谓内存重叠就是拷贝的目的地址和源地址有重叠。其中void* strcpy(void * desc, const void *src)void * memcpy(void *desc, const void * src, int count)均为对内存重叠做出处理。void *memmove(void *desc, const void* s...
2018-07-18 10:24:20 302 1
原创 C+++primer学习笔记——判断字符特性的几个函数
isalnum(a) 当a为字母或数字时为真;isalpha(a) 当a为字母时为真;iscntrl(a) 当c时控制字符时为真;说明:控制字符,在ASCII第0~31以及第127号时控制字符或者通讯专用字符;isdigit(a) 当a为数字时为真;isgraph(a) 当a不是空格但是可以打印时为真;islower(a) 当a为小写字母时为真;isprint(a) 当a可以打印时为真;ispun...
2018-04-21 15:35:55 157
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人