最近闲来无事,研究下linux 的网络相关,读了《深入Linux内核架构与底层原理》受益颇多,着重看了下网络这一章节,了解了linux设计的通用性,以前只知道802.X 的以太网,由于本人接触网络较晚,大学才开始,基本四年本科念完也不怎么懂网络,后来参加工作,一点点业务时间来学习网络,看到Linux socket由来,做了以下几点读书笔记
1 网络协议簇:
TCP/IP 协议簇 好像目前有一统天下的趋势
DECnet协议簇
6LoWPAN协议簇
IPX/SPX协议簇
Phone Network Protocol 协议簇
Apple Talk协议簇
2 无线网络有关:
业余无线电 , CAN网络, 红外线(IrDA), 蓝牙(Bluetooth), WIFI, WiMAX, RF开关,plan9, NFC
3 socket 相关:
socket 是操作系统暴露给用户的网络接口,socket内部也统一了不同系统, 操作系统本身不用socket,
网络数据传输不止包含socket, 还有 RxRPC(远程过程调用), CAIF, Netlink(用于CPU通信)
4 socket类型:
packet socket
UNIX Domain Socket
PF_KEYV2 Socket
Socket (常规用在TCP/IP)
Virtual Socket (用在虚拟机上)
NetLink 用户与内核
5 socket 构成
socket 结构体 ---比较重要
skbuf ---比较重要
netpull 框架
filter 过滤包
ethtool
dst-entry 机制
drop-monitor 丢包监测
net-device
pkgen
6 TCP 相关协议
ARQ 协议 滑动窗口协议
7 QOS
TC 命令
QOS 包含部分
(1) 队列
(2)整流器
(3)调度器
(4) 分类器
(5) 策略器
(6)丢弃器
(7)标记器