💓个人主页:mooridy
💓专栏地址:《计算机网络:自定向下方法》 大纲式阅读笔记
关注我🌹,和我一起学习更多计算机的知识
🔝🔝🔝
目录
1. 应用层协议原理
1.1 网络应用程序体系结构
客户 - 服务器体系结构
对等(P2P, peer to peer)体系结构
1.2 客户与服务器
进程寻址
1.3 套接字
1.4 可供应用程序使用的运输服务
可靠数据传输 (reliable data transfer)
吞吐量
定时
安全性
1.5 因特网提供的运输服务
TCP
面向连接服务
可靠的数据传送服务
拥塞控制机制
UDP
SSL(Secure Sockets Layer, 安全套接字层)
1. 应用层协议原理
1.1 网络应用程序体系结构
客户 - 服务器体系结构
- 存在一个始终开启的主机作为服务器,用于处理众多客户主机的请求。
- 服务器通常部署在配备大量主机的数据中心内。
- 服务器 IP 地址固定,客户端 IP 地址可动态变化。
对等(P2P, peer to peer)体系结构
- 用户间的报文直接在主机之间传输,无需经过中间服务器。
- 对数据中心专用服务器依赖程度极低甚至无依赖。
1.2 客户与服务器
在进程通信会话中,主动发起通信的进程为客户(client),等待通信连接的进程为服务器(server)。
特别注意:在网络通信里,服务器一般指运行于目标主机上的进程(程序)。例如在 Web 应用中,浏览器(客户进程)与 Web 服务器(服务器进程)进行报文交换。
进程寻址
- 目标主机:通过 IP 地址进行标识。
- 目标主机上的指定接收进程(接收套接字):依靠端口号标识。
- 端口号取值范围为 0 - 65535,其中 0 - 1023 属于周知端口号。例如,Web 服务器常用 80 端口,邮件服务器常用 25 端口 。
1.3 套接字
- 进程借助套接字(socket)这一软件接口,实现与网络之间的报文收发。
- 进程如同房子,套接字则类似于房子的门。
- 套接字是主机中应用层与运输层之间的接口,也是应用程序与网络交互的 API。
1.4 可供应用程序使用的运输服务
可靠数据传输 (reliable data transfer)
提供确保数据准确交付的服务。
- 容忍丢失的应用 (loss-tolerant applications):如交谈式音频 / 视频等应用,能够承受一定程度的数据丢失 。
吞吐量
保证吞吐量恒定。
- 带宽敏感的应用 (bandwidth-sensitive applications):对吞吐量有明确要求的应用。
- 弹性应用 (elastic applications):对吞吐量要求较低的应用。
定时
对交互式实时应用程序意义重大,例如因特网电话、虚拟环境、电话会议和多方游戏等,这些服务要求数据在严格的时间限制内完成交付。
安全性
实现数据的加密与解密。
1.5 因特网提供的运输服务
TCP
面向连接服务
- 客户与服务器在握手阶段建立全双工的 TCP 连接。
- 握手阶段:在应用层数据报文传输前,TCP 使客户和服务器相互交换运输层控制信息。
- 全双工:通信双方均可同时进行数据的收发。
可靠的数据传送服务
- 保障数据无差错、按顺序交付。
拥塞控制机制
当网络发生拥塞时,抑制发送进程的传输速率。
UDP
- 无连接特性,无需握手阶段,效率较高。
- 存在不可靠数据传输问题,数据可能乱序到达。
- 不具备拥塞控制机制 。
目前因特网运输协议无法保证吞吐量和定时,但在一定程度上可满足时间敏感应用的需求。
SSL(Secure Sockets Layer, 安全套接字层)
是 TCP 的增强版本 。