网络
文章平均质量分 56
举世无双勇
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql创建表为什么失败
千万注意 sql语句中的字段名称不要和 sql中的关键字重名了 比如rename。原创 2023-01-12 22:08:46 · 1600 阅读 · 0 评论 -
三态内容寻址存储器(TCAM)概念
传统的表项查找方法有很多,主要有:线型查找法、二叉树查找法、哈希表查找等,这些查找方法都是基于SRAM的软件查找方法,共同特点是查找速度慢。线型查找法需要遍历表中的所有表项;一般的CAM存储器中每个bit位的状态只有两个,“0”或“1”,而TCAM中每个bit位有三种状态,除掉“0”和“1”外,还有一个“don’t care”状态,所以称为“三态”,它是通过掩码来实现的,正是TCAM的这个第三种状态特征使其既能进行精确匹配查找,又能进行模糊匹配查找,而CAM没有第三种状态,所以只能进行精确匹配查找。原创 2022-11-08 00:08:26 · 2111 阅读 · 0 评论 -
TCP的超时重传之深入了解RTT与RTO
好,回到RTT的测量上来。假设当前超时重传定时器溢出时,与最早的未被确认的报文段相关联的RTO为0.75s,TCP就会重传报文段,并版新的RTO设置为1.5s,如果1.5s后又溢出了,则TCP将再次重传报文段,并把RTO设置为3秒。可供调用的TCP时钟定时器:一个TCP连接只有一个这样的定时器用于测量RTT,一般情况下是500ms定时器,并且只能够被一个报文段占用,即在发送一个报文段时,如果给定连接的定时器已经被使用,则该报文段不被计时(不计算该报文段的RTT,这就解释了不是所有报文段都能被计算RTT)。转载 2022-11-04 17:45:26 · 4774 阅读 · 0 评论 -
什么是TCP粘包?为什么UDP没有粘包?
在socket网络编程中,都是端到端通信,由客户端端口+服务端端口+客户端IP+服务端IP+传输协议组成的五元组可以明确的标识一条连接。在TCP的socket编程中,发送端和接收端都有成对的socket。发送端为了将多个发往接收端的包,更加高效的的发给接收端,于是采用了优化算法(Nagle算法),将多次间隔较小、数据量较小的数据,合并成一个数据量大的数据块,然后进行封包。那么这样一来,接收端就必须使用高效科学的拆包机制来分辨这些数据。原创 2022-11-04 13:24:25 · 998 阅读 · 0 评论 -
音视频技术之 -- 3A处理
前面我们有学到,音视频数据的处理过程有个预处理过程,也就是在音视频数据采集完成之后的一步,音频的预处理就是用的3A处理,3A即AEC、ANS、AGC。当音频同时存在上下行,AEC必不可少。原创 2022-11-04 10:02:08 · 1265 阅读 · 0 评论 -
WEBRTC中的Candidate是指什么
每一个candidate 是一个网络地址信息,它包括: 协议簇、IP、端口、类型例如 : “a = candidate: … UDP … 192.168.2.1 8080 typ host”WebRTC收集candidate的过程1、收集本地的candidate: 当前主机上有几块网卡, 每个网卡上有几个IP地址, 例如机器上有2个网卡, 每个网卡上有2个IP地址, 同时每个网卡都支持TCP和UDP, 那么candidate信息就有8(222)条。原创 2022-11-04 09:39:39 · 2601 阅读 · 0 评论 -
opensips搭配rtpengine实现sip信令和rtp流的代理
从图中可以看出,做内外网的这种方式通话,其实差别只是在rtp流的走向,我们使用rtpengine的作用也是如此,它是在opensips中使用的时候会更改sdp信息中的媒体通信的ip和端口,从而实现了sip电话端和软交换端都将媒体流发送到rtpengine上,之后rtpengine会根据相应的逻辑做两侧的映射,至于sip信令方面直接在opensips中写路由转发即可。一般是会先判断信令的来源是内网向外网发出还是外网向内网发出,以便赋值我们想要改变的sdp的内容。转载 2022-10-28 14:43:14 · 1554 阅读 · 0 评论 -
NAT穿透技术
总结:同一个内部地址(iAddr:iPort)对不同目标(tAddr1:tPort1)(tAddr2:tPort2)会映射出不同的外部地址(eAddr1:ePort1)(eAddr2:ePort2),必须先发一个包给目标(iAddr:iPort)->(eAddr1:ePort1)->(tAddr1:tPort1),才能收到回发的包(tAddr1:tPort1)->(eAddr1:ePort1)->(iAddr:iPort1)。同一内部IP与端口发到不同的目的地和端口的信息包,都使用不同的映射。原创 2022-10-28 14:14:47 · 3377 阅读 · 0 评论 -
会话边界控制器(SBC)
会话边界控制器(Session Border Controller,简称SBC),是VoIP通信中的IP业务网关,通常在运营商IMS及企业VoIP中应用。SBC能够同时支持VoIP会话信令代理、媒体代理。最初作为NGN/IMS系统中重要网元,SBC解决了运营商呼叫业务中的NAT穿越、安全、QoS和互通等问题。但随着运营商IMS服务向企业的延伸,同时企业级VoIP的业务内涵也越来越丰富(例如融合通信、呼叫中心等),SBC也逐步应用到了企业级VoIP通信网络当中。原创 2022-10-28 13:39:21 · 6885 阅读 · 0 评论 -
TCP之 流量控制(滑动窗口)和 拥塞控制(拥塞控制的工作过程)
Sender won’t overflow receiver’s buffer by transmitting too much, too fast. (防止发送方发的太快,耗尽接收方的资源,从而使接收方来不及处理)防止发送方发的太快,使得网络来不及处理,从而导致网络拥塞。原创 2022-10-27 14:12:00 · 1593 阅读 · 0 评论 -
DoS、DDoS、LDoS三种拒绝服务攻击模式科普
随着互联网的不断发展,网络的带宽越来越高,计算机的处理能力迅速增长,内存大大增加,当单一结点的DoS攻击速率不足以填满带宽的时候,分布式拒绝服务(Distributed denial of service attack,DDoS)出现了。TCP连接的建立是通过三次握手完成的,而TCP正常释放连接是通过四次挥手来完成,但是有些情况下TCP无法按照正常的四次挥手来释放连接,如果此时不通过其他的方式来释放TCP连接的话,这个TCP连接将会一直存在,占用系统的部分资源。二是基于分析异常流量数量的“频域检测方法”;原创 2022-10-27 11:14:38 · 4035 阅读 · 0 评论 -
【当LINUX系统出现网络问题时该如何排查】
互联网是通过大量路由器中继连接起来的,网络的访问就是在这些节点间一跳一跳最终到达目的地,想要查看网络连接,最直接最常用的命令是ping,ping得通,说明路由工作正常,但是如果ping不通,traceroute命令可以查看从当前主机到目标主机的全部“跳”的过程。第3行的信息显示了对该网卡的配置,包括IP,子网掩码等,这里可以检查是否出现错配,如果这一行显示不正确,那一定是网卡没有正确配置开启。前面提到的traceroute不仅可以查看路由的正确性,还可以查看网络中每一跳的延时,从而定位延时最高的网络区段。原创 2022-10-20 19:05:21 · 9489 阅读 · 1 评论 -
ARTEST&NDTEST
[root@localhost ~]# cat arptest.py# -*- coding: utf-8 -*-#!/usr/bin/env pythonimport osimport timedef ping4(ipv4addr): cmd = "ping -c 10 " + str(ipv4addr) result = os.popen(cmd) final = result.read() print final if not "10 packe原创 2021-04-02 16:14:21 · 208 阅读 · 0 评论 -
NAT介绍
定义网络地址转换NAT(Network Address Translation)是将IP数据报文头中的IP地址转换为另一个IP地址的过程。目的随着Internet的发展和网络应用的增多,IPv4地址枯竭已成为制约网络发展的瓶颈。尽管IPv6可以从根本上解决IPv4地址空间不足问题,但目前众多网络设备和网络应用大多是基于IPv4的,因此在IPv6广泛应用之前,一些过渡技术(如CIDR、私网地址等)的使用是解决这个问题最主要的技术手段。NAT主要用于实现内部网络(简称内网,使用私有IP地址)访问原创 2021-03-26 09:59:13 · 12828 阅读 · 0 评论 -
网络术语:什么是带宽/吞吐量,时延,时延变化(抖动),丢包率
一、 带宽、吞吐量带宽(bandwidth)也称为吞吐量(throughput),是指在一个固定的时间内(1 秒),从网络一端传输到另一端的最大数据位数,也可以理解为网络的两个节点之间特定数据流的平均速率。带宽的单位是比特/秒(bit/s,简写为 bps)。带宽可以用城市的供水网做比喻来帮助理解它的含义:供水管道的直径可以衡量运水的能力。水管的直径好比是带宽,水就好比是网络传输的数据。使用粗管子就意味着拥有更宽的带宽,也就是有更大的数据传输能力。在网络通信中,人们在使用网络时总是希望带宽越宽越原创 2021-03-23 16:17:15 · 15920 阅读 · 1 评论 -
利用python写的简单ping4/6测试脚本
# -*- coding: utf-8 -*-#!/usr/bin/env pythonimport osimport timedef ping4(ipv4addr): cmd = "ping -c 10 " + str(ipv4addr) result = os.popen(cmd) final = result.read() print final if not "10 packets transmitted, 10 received, 0% pack原创 2021-03-15 14:02:52 · 777 阅读 · 0 评论 -
手动添加路由与指定ipPING
手动添加路由:route add -net 9.9.9.0 netmask 255.255.255.0 gw 172.18.131.1指定ipPING:ping -I 172.18.241.245 9.9.9.9源ip(172.18.241.245)目的ip(9.9.9.9)原创 2021-03-15 10:41:11 · 1646 阅读 · 0 评论 -
网络虚拟化工程师知识图谱
计算机网络:https://space.bilibili.com/360996402/channel/detail?cid=85151参考链接:https://feisky.gitbooks.io/sdn/原创 2021-03-03 14:32:57 · 336 阅读 · 1 评论 -
结合网络字节序与主机字节序的转换,详细讲述大端与小端的差异,htonl与inet_ntop
看了很多篇博客,都是将主机字节序网络字节序,大端小端拆开,导致两者都看得模棱两可。大端与小端假设有这是一栋没有地下室的楼房,最底层是一层,最顶层是四层。在这里,一层就是所谓的低地址,四层就是所谓的高地址。(int a = 0x12345678)而现在,有一间公司要入住这栋楼房。该公司一共有8个人:他们按照身份高低依次排序是1 2 3 4 5 6 7 8.也就 1 身份最高 称之为高位 8身份最低称之为低位现在要求每两个人住一层。小端法:高位存高地址,低位存低地址利用小端法入住,高位存高地原创 2021-02-20 14:02:28 · 495 阅读 · 0 评论 -
网络编程:socket套接字通俗理解
首先从英文单词解析socket:socket指的是插座。在现实生活中插座的使用类似如下:我们需要将左边的插头插入右边的插板中,机器才能正常工作。而在通信过程中也类似,左边的插头属于一个套接字,右边的插板也属于一个套接字,只有两者插在一起,才能正常通信。因此双方要想完成通信,必须要有两个套接字,通信双方各一个。切记:一个文件描述符指向一个套接字,每个套接字借助内核指向两个缓冲区实现。...原创 2021-02-20 10:41:48 · 895 阅读 · 0 评论 -
UDP TCP的端口
IP协议写错了 应该是TCP记住16位端口号即可 65536原创 2021-02-20 10:25:21 · 197 阅读 · 0 评论 -
TTL的作用
星星代表一个数据包,六边形代表通信的源与目的。当通往目的的两条最终路线断开时,数据包会在网络中来会传输,当出现多个数据包时,网络就会被这些无法到达目的地的数据包。因此在IP层封装TTL,每当经过一个路由器时TTL - 1,当TTL为0时该数据包被丢弃。...原创 2021-02-20 10:13:04 · 1778 阅读 · 0 评论 -
VXLAN基本概念 技术原理 VTEP 通过组播寻址
VXLAN的基本概念VXLAN(VirtualeXtensible Local Area Network)是一种将二层报文用三层协议进行封装的技术,可以对二层网络在三层范围进行扩展。每个覆盖域被称为VXLAN sefment,它的ID是由位于VXLAN数据包头中的VXLAN Network Identifier(VNI)标识的。...原创 2020-08-21 10:29:01 · 11420 阅读 · 0 评论 -
如何理解linux中的iptables
1.iptables是linux的软件2.iptables 其实只是一个运行在用户空间的命令行工具,功能是实现防火墙NAT等功能,但是真正实现这些功能的是运行在内核空间的 netfilter 模块3.iptables 内置了三张表:fiter、 nat manglefilter nat 顾名思义,是为了实现防火墙和NAT 功能而服务的 mangle ,翻译成汉语是“乱砍;损坏;用轧布机研光”等意思,它在这里指的是“主要应用在修改数据包内容上,用来做流量整形”4.iptables 可以定义很原创 2020-08-13 17:11:15 · 243 阅读 · 0 评论 -
如何理解veth pair
veth不是一个设备,而是一对设备,以连接两个虚拟一台端口。操作veth pair,需要跟namespace一起配合,不然就没意义。意思就是创建一对tap口,把tap口两端分别add到两个命名空间,这两个命名空间就像网线一样支持二层通信...原创 2020-08-13 16:26:29 · 605 阅读 · 0 评论 -
简单理解Linux中网络命名空间namespace
1.namespace的作用传统的Linux的许多资源是全局的,比如进程ID资源。而namespace的目的就是将这些资源做资源隔离。2.通过代码看具体对哪些资源进行了隔离//nsproxy.hstruct nsproxy{ atomic_t count; struct uts_namespace *uts_ns; struct ipc_namespace *ipc_ns; struct mnt_namespace *mnt_ns; struct pid_namespa原创 2020-08-13 16:08:50 · 816 阅读 · 0 评论 -
如何理解tap (系统内核中的虚拟网络设备)并进行操作
1. 首先tap是系统内核中的虚拟网络设备。(这个设备是linux的概念)2. tap 是位于二层的。3. linux所说的设备本质是一个类似于数据结构、内核模块或设备驱动的含义4.tap的数据结构struct tun_struct { char name[8];//设备名 unsigned long flags;//区分tun和tap设备 struct fasync_struct *fastnc;//文件异步通知结构 wait原创 2020-08-13 15:57:19 · 2761 阅读 · 0 评论 -
二三层转发案例与讲解
首先要了解① 源主机在发起通信之前,将自己的IP与目的主机的IP进行比较,如果两者位于同一网段(用网络掩码计算后具有相同的网络号),那么源主机发送arp请求广播报,请求目的主机的mac地址,在收到目的主机的ARP应答后获得对方的物理层(MAC)地址,然后用对方MAC作为报文的目的MAC进行报文发送。位于同一VLAN(网段)中的主机互访时属于这种情况,这时用于互连的交换机作二层交换转发;② 判断是否网络层转发:报文的目的MAC地址是否为路由接口(网关)的MAC当源主机判断目的主机与自己位于原创 2020-08-04 09:32:33 · 857 阅读 · 0 评论 -
VXLAN 隧道 基础介绍 Virtual eXtensible Local Area Network,虚拟可扩展局域网
一、概述VXLAN(Virtual eXtensible Local Area Network,虚拟可扩展局域网),是一种虚拟化隧道通信技术。它是一种 Overlay(覆盖网络)技术,通过三层的网络来搭建虚拟的二层网络。简单来讲,VXLAN 是在底层物理网络(underlay)之上使用隧道技术,借助 UDP 层构建的 Overlay 的逻辑网络,使逻辑网络与物理网络解耦,实现灵活的组网需求。它对原有的网络架构几乎没有影响,不需要对原网络做任何改动,即可架设一层新的网络。也正是因为这个特性,很多 CNI转载 2020-07-29 12:42:59 · 3762 阅读 · 0 评论 -
数据链路层的MAC子层和LLC子层
为何只有局域网内链路层分成两个子层802.3(局域网)是共享介质的,而广域网是专用的(通常是点对点的)不存在介质冲突的问题2.何为数据链路层的(DATA LINK LAYER)MAC子层和LLC子层?MAC子层的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性;在MAC子层的诸多功能中,非常重要的一项功能是仲裁介质的使用权,即规定站点何时可以使用通信介质。实际上,局域网技术中是采用具有冲突检测的载波侦听多路访问翻译 2020-07-17 10:15:32 · 19641 阅读 · 2 评论 -
STP生成树协议
简介生成树协议(英语:Spanning Tree Protocol,STP),是一个作用在OSI网络模型中第二层的通信协议。基本应用是防止交换机冗余链路产生的环路,用于确保以太网中无环路的逻辑拓扑结构,从而避免广播风暴大量占用交换机的资源。生成树协议工作原理:任意一交换机中如果到达根网桥有两条或者两条以上的链路,生成树协议都根据算法把其中一条切断,仅保留一条,从而保证任意两个交换机之间只有一条单一的活动链路。因为这种生成的拓扑结构,很像是以根交换机为树干的树形结构,故为生成树协议。生成树协议是基于Ra原创 2020-06-29 17:38:33 · 458 阅读 · 0 评论 -
网络隧道Tunnel技术
网络隧道技术隧道协议(Tunneling Protocol)是一类网络协议,它是一种数据包封装技术,它是将原始IP包(其报头包含原始发送者和最终目的地)封装在另一个数据包(称为封装的IP包)的数据净荷中进行传输。使用隧道的原因是在不兼容的网络上传输数据,或在不安全网络上提供一个安全路径。隧道协议通常(但并非总是)在一个比负载协议还高的层级,或同一层。备注:说白了,通过网络隧道技术,使隧道两端的网络组合成一个更大的内部网络。具体的隧道协议基于数据包的隧道协议有:(1)IPsec(2)GRE,通用转载 2020-06-29 16:08:31 · 7088 阅读 · 2 评论 -
CENTOS 安装iperf
https://linoxide.com/monitoring-2/install-iperf-test-network-speed-bandwidth/You can get the latest version of iperf3 from http://downloads.es.net/pub/iperf using wget and extract it with tar.wget http://downloads.es.net/pub/iperf/iperf-3.0.6.tar.gztar原创 2020-06-29 10:31:12 · 1648 阅读 · 0 评论 -
查看网卡信息中qdisc和pfifo _fast是什么
首先了解Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,它利用队列规定建立处理数据包的队列,并定义队列中的数据包被发送的方式, 从而实现对流量的控制。TC模块实现流量控制功能使用的队列规定分为两类,一类是无类队列规定, 另一类是分类队列规定。 无类队列规定相对简单,而分类队列规定则引出了分类和过滤器等概念,使其流量控制功能增强。无类队列规定无类队列规定是对进入网络设备(网卡) 的数据流不加区分统一对待的队列规定。使用无类队列规定形成的队列能够 接受原创 2020-06-29 09:39:48 · 5070 阅读 · 0 评论 -
internet与Internet区别
原创 2020-06-24 14:08:49 · 3234 阅读 · 0 评论 -
DCHP详细工作流程及分析
原文链接:https://blog.youkuaiyun.com/Andy_93/article/details/78238931DHCP的作用:DHCP 全称Dynamic Host configuration protocol, 动态主机配置协议。 它可以为客户机自动分配IP地址、子网掩码以及缺省网关、DNS服务器的IP地址等TCP/IP参数, 简单来说, 就是在DHCP服务器上有一个数据库, 存放着IP地址、网关、DNS等参数。 当客户端请求使用时, 服务器则负责将相应的参数分配个客户端,避免客户端手动指定I转载 2020-06-15 10:19:03 · 578 阅读 · 0 评论 -
NAT模式 桥接模式bridge原理理解
桥接场景无论现在的各种容器,还是我们之前常用的虚拟机,为了与局域网内其他IP通讯通常需要用到『桥接』。Bridge桥接方式Bridge 将虚拟机桥接到host机器的网卡上,guest和host机器都通过bridge上网.对外不同的ip。NAT想要理解Bridge首先要理解NAT.NAT是虚拟机借助宿主机的IP上网的,外人看来并不知道虚拟机的存在。家用路由器一般都是NAT模式。用户通过路由器发送数据内网用户默认都是192.168.1.x网段,而路由器充当默认网关的角色,所有内网发出的包都将原创 2020-06-13 15:10:09 · 5705 阅读 · 3 评论 -
广播broadcast
识别广播地址在IP地址bai中,如果最du后一个数字是255,则一定是一个广播地址网络广播地址: 网络广播地址在没有进行子网划分的网络内广播,由于当强的网络均涉及子网划分,故此种地址很少存在;受限广播地址:以255.255.255.255组成的广播地址,在当前路由器均不转发此类广播子网广播地址:子网广播地址是一种常用的广播方式,它是指在一个具体的子网内进行广播,比如192.168是网络ID,那么192.168.1.255就是子网192.168.1的广播全部子网广播地址:是指所有子网络的广播,以上原创 2020-06-13 11:49:02 · 1501 阅读 · 0 评论
分享