struct sock - network layer representation of sockets
struct socket - general BSD socket
struct inet_protosw 由l4使用,表示地址族(协议族)中某一具体协议的操作,保存在inetsw链表数组中,通过协议类型查找对应的协议操作
本质上这两个结构是同一个事物的两个侧面, socket是通用BSD socket的定义, 与应用程序相关, sock是与具体的协议相关的, 如果将这两个结构体合并为一个的话, socket的结构体就会变大,然而sock结构体中的一些成员很多时候并不用到,这就造成了内存空间的浪费。