RT-2022
码龄7年
关注
提问 私信
  • 博客:26,994
    26,994
    总访问量
  • 28
    原创
  • 2,248,185
    排名
  • 2
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2017-05-27
博客简介:

RT的博客

查看详细资料
个人成就
  • 获得1次点赞
  • 内容获得0次评论
  • 获得13次收藏
创作历程
  • 28篇
    2022年
成就勋章
TA的专栏
  • TCP协议
    1篇
  • linux网络内核
    8篇
  • linux网络编程
    8篇
  • linux common
    3篇
  • linux tools
    5篇
  • linux文件系统
    3篇
兴趣领域 设置
  • 编程语言
    c语言
  • 网络与通信
    网络协议tcp/ip
  • 操作系统
    linux
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

TCP -- 协议头

TCP 首部TCP header定义如下所示: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port |
原创
发布博客 2022.04.18 ·
663 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LINUX信号

linux信号概述信号是一种软中断,它为linux提供了一种处理异步事件的方法。linux支持POSIX标准信号与实时信号,通过kill -l命令可以查看linux支持的信号,以及信号名字和序号。 kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
原创
发布博客 2022.04.06 ·
845 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux进程--setuid/setgid

文件setuid/setgidlinux文件的权限标志除了大家熟知的读(r)、写(w)、执行(x)外,还有三个比较特殊的权限位:setuid/setgid/sticky bitsetuid只作用于二进制可执行文件(不包含shell/python/perl等脚本),它允许当前用户以文件所有者的权限运行文件。如系统的passwd命令ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 54256 Mar 27 2019 /usr/bin/passwd这个文
原创
发布博客 2022.03.31 ·
1231 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

linux kill

linux kill 用于向一个进程或进程组发送信号,通常用于杀死一个进程。命令选项usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... kill -l [sigspec]
原创
发布博客 2022.03.31 ·
162 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

chmod

chmod用于设置文件权限语法chmod [-cfvR] mode filechmod [--help]chmod [--version]参数说明mode详解mode有两种表示法:符号表示法和数字表示法符号表示法[who][operator][permission]who:表示要对哪种用户设置权限,有u/g/o/a四类u:文件所有者g:文件所有者所在组o:所有其它用户a:所有用户,相关于ugooperator:表示进行的操作+:增加权限-:取消权限=:重新设置权限
原创
发布博客 2022.03.31 ·
779 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

socket地址结构

socket地址每个协议族都定义了自己的socket结构, 而大多数的socket api都需要一个指向struct sockaddr的指针作为参数, 引入这个结构是为了能支持各种协议族的地址结构。在使用时首先定义特定协议族的地址结构,作为参数传入时强制转换为struct sockaddr类型。通用socket结构struct sockaddr { sa_family_t sa_family; /* address family, AF_xxx */ char sa_data[14]; /*
原创
发布博客 2022.03.27 ·
395 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

socket API--connect

函数原型 #include <sys/socket.h> int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen);连接sockfd到addr所指定的地址。参数简介sockfd socket描述符,标识一个socket.addr 对端地址 addrlen 地址长度返回值成功返回0; 失败返回-1,并设置errno....
原创
发布博客 2022.03.20 ·
268 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

socket API--accept

函数原型 #include <sys/socket.h> int accept(int sockfd, struct sockaddr *restrict addr, socklen_t *restrict addrlen);接收一个所监听socket上的连接请求,并创建一个新的socket。参数简介sockfd socket描述符,标识一个socket. addr 用于存放地址的缓冲区,函数成功返回后会被填入连接请求方的地址信息,地址结构
原创
发布博客 2022.03.20 ·
279 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

socket API--listen

函数原型 #include <sys/socket.h> int listen(int sockfd, int backlog);参数简介sockfd socket描述符,标识一个socket.backlog socket监听队列的长度,表示当前socket支持的最大待处理的连接请求数。返回值成功返回0; 错误返回-1,并设置errno....
原创
发布博客 2022.03.20 ·
1860 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UDP protocol--udp_rcv

网络层对数据包处理完成后,会调用传输层的handler进行后续处理,UDP层的handler是在inet初始化注册的。inet_init inet_add_protocol(&udp_protocol, IPPROTO_UDP)udp_protocol定义如下:static struct net_protocol udp_protocol = { .early_demux = udp_v4_early_demux, .early_demux_handler = udp_v4_early
原创
发布博客 2022.03.19 ·
4069 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux文件系统--file

file 定义struct file 表示一个打开的文件,其定义如下:struct file { union { struct llist_node fu_llist; struct rcu_head fu_rcuhead; } f_u; struct path f_path; struct inode *f_inode; /* cached value */ const struct file_operations *f_op; spinlock_t f_lock; e
原创
发布博客 2022.03.19 ·
127 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UDP socket--udp_table

udp_table用于存放udp socket,其定义如下:struct udp_table { struct udp_hslot *hash; //hash table, sockets are hashed on (local port) struct udp_hslot *hash2;//hash table, sockets are hashed on (local port, local address) unsigned int mask;//number of slots in ha
原创
发布博客 2022.03.10 ·
2769 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux文件系统--inode

inode定义linux文件系统中的inode结构用于描述一个文件,包含文件大小、文件属性、文件状态等信息,其定义如下:struct inode { umode_t i_mode; unsigned short i_opflags; kuid_t i_uid; kgid_t i_gid; unsigned int i_flags; const struct inode_operations *i_op; struct super_block *i_sb; struct
原创
发布博客 2022.03.09 ·
1499 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

socket API--bind

函数原型 #include <sys/types.h> #include <sys/socket.h> int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);为socket指定一个地址, 一般服务端的socket需要调用bind()指定地址,以表明要在哪个地址/端口接收数据。参数简介sockfd socket描述符,标识一个socket.addr socket地址,传
原创
发布博客 2022.03.08 ·
99 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux内核数据结构--bitmap

bitmap可以理解成一个位数组,即数组每个元素是一个bit, 内核提供了各种接口以方便操作bitmap定义#define DECLARE_BITMAP(name,bits) \ unsigned long name[BITS_TO_LONGS(bits)]使用之前需要先调用这个宏定义一个bitmap,实际上就是一个unsigned long类型的数组,数组长度是根椐bits, 以及long类型所占字节数计算出来的。bitmap操作函数 bitmap_zero(dst, nbits)
原创
发布博客 2022.03.05 ·
1366 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux内核数据结构--struct iov_iter

内核中很多地方都用到了这个数据结构,它主要用于处理一个或多个数据块。结构体定义struct iov_iter { u8 iter_type; bool nofault; bool data_source; size_t iov_offset; size_t count; union { const struct iovec *iov; const struct kvec *kvec; const struct bio_vec *bvec; struct xarray *xar
原创
发布博客 2022.03.04 ·
1187 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

mount

mount用于挂载一个文件系统用法Usage: mount [-lhV] mount -a [options] mount [options] [--source] <source> | [--target] <directory> mount [options] <source> <directory> mount <operation> <mountpoint> [<target>]optio
原创
发布博客 2022.03.04 ·
253 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

文件系统--register

接口函数:int register_filesystem(struct file_system_type * fs){ int res = 0; struct file_system_type ** p; if (fs->parameters && !fs_validate_description(fs->name, fs->parameters)) return -EINVAL; BUG_ON(strchr(fs->name, '.')
原创
发布博客 2022.03.03 ·
308 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UDP socket--sendto and recvfrom

sendto系统调用原型sendto( int fd, void * buff, size_t len,unsigned int flags, struct sockaddr *addr,int addr_len)内核中处理流程:sendto( int fd, void * buff, size_t len,unsigned int flags, struct sockaddr *addr,int addr_len) __sys_sendto(fd, buff, len, flags, NU
原创
发布博客 2022.03.02 ·
2016 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

linux ss

linux ss 是一个用于统计socket信息的工具,用于替代netstat. 当信息量较大时,ss比较有优势。命令选项Usage: ss [options] ss [options] [filter] -h, --help this message -V, --version output version information -n, --numeric don't resolve service nam
原创
发布博客 2022.03.02 ·
1219 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多