应用层通过套接字使用传输层的服务。
套接字
网络中两个应用程序的通信实际上是进程之间的通信。
- 进程通过一个称为 ** 套接字 socket** 的软件接口向网络发送报文或者从网络接收报文。
- 进程比作房子,套接字就是房门。一个进程与另一进程通信,把报文推出门,通过有运输功能的设施把报文传送到目的进程的门口,然后目的主机的进程通过进程的门(套接字)处理报文。
套接字就是应用程序(进程)和运输层协议之间的接口。
应用程序开发者可以控制套接字在应用层端的一切,但是开发者对该套接字的运输端几乎没有控制权。
安全套接字层
SSL,不是与 TCP 和 UDP 同一层次的第三种运输协议,只是对 TCP 的加强,强化是在应用层上实现的。
例如,一个应用程序要使用 SSL 服务时,需要在应用程序的客户端 & 服务器端同时使用 SSL 代码。
SSL 有专门的套接字:
- 发送报文的进程首先向 SSL 套接字传递明文数据
- 然后 SSL 代码加密数据,并将加密后的数据传递给 *TCP 套接字 *,发送到因特网
- 经过因特网后到达目的主机接收进程使用的 *TCP 套接字 *
- 该套接字再将加密数据传递给 SSL 解密
- 最后,SSL 将解密后的数据通过 SSL 套接字传递给接收进程
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论。