我们知道,数据链路层、网络层、传输层协议是在内核中实现的。操作系统需要提供系统调用让应用程序通过系统调用能够访问这些协议。

实现这组系统调用的API也就是socket,socket定义的API有两个功能:

一是将用户缓冲区中的数据复制到内核TCP/UDP发送缓冲区,从内核TCP/UDP发送缓冲区复制回用户缓冲区

二是用户可以通过socket来修改内核协议的头部信息数据结构等.从而能控制底层通信行为

socket不止可以访问内核中的TCP/IP协议,还可以访问其他网络协议族

发表评论