socket in user mode and kernel mode