由于TCP/IP协议中数据链路、网络层、传输层协议是在内核中实现的,操作系统需要实现一组系统调用,使得应用程序能够访问这些协议提供服务。实现这组系统调用的API(Application Programming Interface,应用程序编程接口),主要有两套:socket 和XTI。
socket定义的这一组API提供两点功能:
1 将应用程序数据从用户缓冲区中复制到TCP/IP内核发送缓冲区,以交付内核来发送数据,或者从内核TCP/UDP接受缓冲区中复制数据到用户缓冲区,以读取数据
2 应用程序可以通过它们来修改内核中各层协议的某些头部信息或其他数据结构,从而精细地控制底层通信的行为。
socket是一套通用的网络编程接口。