计算机网络
文章平均质量分 61
ah
Crush_u
你好哇_李银河
展开
-
SylixOS 网络协议栈,struct netif 数据结构浅析(更新中)
if!u8_t flags;u8_t num;#endif /*!原创 2024-09-24 17:15:21 · 706 阅读 · 0 评论 -
socket接口定义范围及操作
Socket接口的定义旨在提供一种跨平台的网络编程模型,可以在Unix/Linux、Windows、macOS等多种操作系统上使用。协议无关性:虽然经常与TCP/IP协议族关联,但Socket接口同样支持其他网络协议,如UDP、ICMP等。通信模式:支持点对点的TCP连接(面向连接的、可靠的)、广播或多播的UDP通信(无连接的、可能不可靠的)。编程模型:提供同步(阻塞和非阻塞)和异步通信模型,适应不同应用场景的需求。API标准化。原创 2024-05-14 13:36:50 · 438 阅读 · 0 评论 -
为什么uboot/pmon会随机修改开发板的mac地址
如果板卡上的EEPROM(Electrically Erasable Programmable Read-Only Memory)中没有存储MAC地址,且U-Boot环境变量中也没有配置MAC地址,并且CONFIG_NET_RANDOM_ETHADDR配置选项被启用,那么U-Boot会在启动时随机生成一个MAC地址供设备使用。在开发和调试阶段,如果尚未为设备分配固定的MAC地址,随机生成MAC地址可以方便地进行多台设备的测试,而无需手动配置每台设备的MAC地址。原创 2023-12-20 10:36:11 · 301 阅读 · 0 评论 -
PRP协议运行原理及使用说明
文章目录1、PRP协议运行原理2、PRP协议帧格式3、PRP协议说明1、PRP协议运行原理PRP协议是工作在终端设备上的冗余协议,因此PRP冗余是一种节点冗余方式。一个终端节点被连接到两个相互独立且网络拓扑结构相同的网络中,同时这两个网络并行运行。下图所示为一个由两个交换网络组成的一个冗余网络,这个网络的拓扑结构是任意的,比如线型、环型、星型等。两个网络在数据链路层具有相同的协议,但是允许它们在性能和传输时延上有所不同。两个网络之间没有直接连接,因此如果其中一个网络发生了故障,不会对另外一个造成影原创 2022-04-29 14:32:39 · 6374 阅读 · 0 评论 -
ioctl函数获取/修改mac地址(C语言实现)
直接上代码吧,亲测可用#include <stdio.h> /* for fprintf etc */#include <net/if.h> /* for struct ifreq */#include <net原创 2021-10-09 14:26:53 · 1636 阅读 · 0 评论 -
OSI 七层模型讲解
OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 。完成中继功能的节点通常称为中继系统。在OSI七层模型中,处于不同层的中继系统具有不同的名称。一个设备工作在哪一层,关键看它工作时利用哪一层的数据头部信息。网桥工作时,是以MAC头部来决定转发端口的,因此显然它是数据链路层的设备。具体说:物理层:网卡,网线,集线器,中继器,调制解调器数据链路层:网桥,交换机网络层:路由器网关工作在第四层...转载 2021-07-28 13:39:11 · 349 阅读 · 0 评论 -
实体、协议、服务和服务访问点
实体(entity) 表示任何可发送或接收信息的硬件或软件进程。 协议是控制两个对等实体进行通信的规则的集合。 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。 要实现本层协议,还需要使用下层所提供的服务。 本层的服务用户只能看见服务而无法看见下面的协议。 下面的协议对上面的服务用户是透明的。 协议是“水平的”,即协议是控制对等实体之间通信的规则。 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。 同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP...原创 2021-06-01 20:13:53 · 1005 阅读 · 0 评论 -
计算机网络的性能指标(学习记录)
速率、带宽、吞吐量、时延(delay 或 latency)、利用率、时延与网络利用率的关系原创 2021-06-01 13:43:00 · 192 阅读 · 0 评论 -
计算机网络的性能指标(学习总结)
速率比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位,一个比特就是二进制数字中的一个 1 或 0。 速率即数据率(data rate)或比特率(bit rate)是计算机网络中最重要的一个性能指标。速率的单位是 b/s,或kb/s, Mb/s, Gb/s 等 速率往往是指额定速率或标称速率。...原创 2021-07-08 15:54:11 · 771 阅读 · 0 评论 -
TCP服务器连接多客户端(C语言实现)
目录思路:逻辑设计:代码实现:思路:在服务端客户端T一对一TCP的基础上增加几条通信即可,要求各个连接可同时进行通信因此使用多线程。主线程在listen实现后,使用一个 for 循环一直循环等待客户端的连接请求,将每次连接标记(sockFd)保存作为开启检测(检测条件可修改,我写的这个检测貌似也没啥用(▼ヘ▼#))。每次连接都会开启一个线程用于和客户端的通信(也是使用 for 循环进行数据的接收、处理、发送),数据接收使用阻塞等待。通信的具体实现,在开发板上部署运行下方..原创 2021-05-13 21:04:40 · 9947 阅读 · 20 评论 -
UDP 组播/多播 C语言实现
目录逻辑设计:代码实现运行结果224.100.200.1 多播组224.100.200.52多播组思路:PC作为客户机,使用网络调试助手; LS开发板作为服务器端,部署对应程序(代码实现如下); 在UDP基本简单通信的基础上增加两组组播(setsockopt实现,一组也可以),实现组播通信; 运行服务器端程序,打开客户端向组播地址端口发送数据,此时服务器端将收到的数据发回客户端完成一次数据收发。 setsockopt 函数介绍见:https://blog.csdn.n.原创 2021-04-22 20:37:48 · 7891 阅读 · 6 评论 -
setsockopt 函数使用及选项介绍
套接字选项通过调用 setsockopt 函数和 getsockopt 函数进行操作,套接字选项如表 1 所示。#include <sys/socket.h>int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen);函数 setsockopt 原型分析: 此函数成功时返回 0,失败时返回-1 并设置错误号; 参数 s 是套接字(socket 函数返回);原创 2021-03-25 10:29:35 · 1859 阅读 · 0 评论 -
TCP/UDP 地址复用(server端异常关闭后无法再次连接)
最近学习测试 TCP 通信,发现在服务器和客户端正常通信时,手动异常关闭 server 端进程,再次运行开启 server 端程序会在 bind 函数位置报错,造成无法连接。查阅资料后发现应该是地址或端口冲突了,尝试在 bind 函数前添加setsockopt 函数增加复用功能,代码如下 iRet = setsockopt(sockFd, SOL_SOCKET, SO_REUSEADDR, &iRet, sizeof(int)); if(iRet < 0){ ..原创 2021-03-25 09:54:20 · 937 阅读 · 0 评论 -
UDP通信 (C语言实现)
直接看代码吧 v๑乛◡乛๑原创 2021-03-22 16:51:11 · 3454 阅读 · 4 评论 -
UDP/TCP 通信中 server端ip为0的问题
在UDP通信中,客户端也可以不需要bind自身IP和端口号,而服务器需要bind自身IP地址和端口号。看代码时候发现在UDP通信中,server端本地信息初始化时ip设置为0了,查了一些资料:INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。 一般来说,在各个系统中均定义成为0值。 在建立网络服务器应用程序时,server会通过bind()函数通知操作系统:请在某地址 xxx.xxx.xxx.xxx上的某端口 yy..原创 2021-03-22 16:41:23 · 2117 阅读 · 0 评论 -
网络OSI七层模型详解(物理层、数据链路层、网络层、传输层.....应用层协议与硬件)
OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 。完成中继功能的节点通常称为中继系统。在OSI七层模型中,处于不同层的中继系统具有不同的名称。一个设备工作在哪一层,关键看它工作时利用哪一层的数据头部信息。网桥工作时,是以MAC头部来决定转发端口的,因此显然它是数据链路层的设备。具体说:物理层:网卡,网线,集线器,中继器,调制解调器数据链路层:网桥,交换机网络层:路由器网关工作在第四层传输层...转载 2021-03-20 15:59:24 · 8885 阅读 · 0 评论 -
IPv4私有地址
IP地址是互联网协议地址(Intemet Protocol Address)的简写,又称为网际协议地址。lP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽实际物理地址的差异。为网络中每个单元主机分配一个地址,供网络中其他设备来精确访问。IP地址类型分为公有地址和私有地址,公有地址就是分配给公共网络可以直接访问互联网的地址。私有地址就是属于非注册地址,可以给每个组织机构内部使用。在互联网的地址架构中,专用网络是指遵守RFC 1918(IPV.原创 2020-08-04 15:48:32 · 730 阅读 · 0 评论 -
FTP与TFTP 学习小记
FTP:FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括服务器和客户端,基于TCP协议实现。FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联接的方式、甚至是是否使用相同的操作系统无关默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口原创 2020-07-27 10:57:41 · 340 阅读 · 0 评论 -
几种开源TCP/IP协议概述--LwIP,uIP,TinyTcp和uC/IP
1、BSD TCP/IP协议栈BSD栈历史上是商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是BSD栈派生的。这是因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许用证允许BSD栈以修改或未修改的形式结合这些专业栈的代码而无须向创建者付版税。同时,BSD也是许多TCP/IP协议中的创新(如广域网中饿拥塞控制和避免)的点。2、uC/IPuC/IP是由Guy Lancaster编写的一套基于uC/OS且开放源码的TCP/IP协议栈,亦可...转载 2021-03-09 16:27:49 · 1825 阅读 · 0 评论