当前位置: 首页 > java >正文

计算机网络 | 应用层(1)--应用层协议原理

  💓个人主页: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 的增强版本 。

http://www.xdnf.cn/news/2147.html

相关文章:

  • Git 工具的安装
  • django之优化分页功能(利用参数共存及封装来实现)
  • 一篇入门之-评分卡变量分箱(卡方分箱、决策树分箱、KS分箱等)实操例子
  • 软件开发架构设计原则详解(含案例)
  • 精益数据分析(28/126):解读商业模式拼图与关键指标
  • KTT入门
  • 现代化Android开发:Compose提示信息的最佳封装方案
  • qt事件过滤与传递机制
  • 关于图论的知识
  • 2025.4.26总结
  • GitOps进化:深入探讨 Argo CD 及其对持续部署的影响
  • 图像特征检测算法对比及说明
  • FPGA前瞻篇-数字电路基础-逻辑门电路设计
  • ssm乡村合作社商贸网站设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 【C】初阶数据结构13 -- 快速排序
  • Pygame物理模拟:实现重力、弹跳与简单物理引擎
  • DAM-3B,英伟达推出的多模态大语言模型
  • IntelliJ IDEA 2025.2 和 JetBrains Rider 2025.1 恢复git commit为模态窗口
  • 23种设计模式-行为型模式之迭代器模式(Java版本)
  • 测试基础笔记第十三天
  • 工业摄像头通过USB接口实现图像
  • STL中emplace实现原理是什么?
  • 240426 leetcode exercises
  • springboot入门-controller层
  • IT社团分析预测项目(pandas、numpy、sklearn)
  • PMP-第一章 引论
  • 基于Docker、Kubernetes和Jenkins的百节点部署架构图及信息流描述
  • 微信小程序,基于uni-app的轮播图制作,调用文件中图片
  • 【计算机网络】TCP的四种拥塞控制算法
  • 深圳举办2025年全国儿童预防接种日主题宣传活动 全生命周期健康守护再升级