【计算机网络笔记】网络应用对传输服务的需求

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)------速率、带宽、延迟
计算机网络性能(2)------时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信



网络应用对传输服务的需求

我们已经知道,网络应用之间通过进程间通信,遵循应用层协议实现。那不同应用对消息传输的要求是不一样的,传输层到底为应用层提供了怎样的服务?

网络应用对传输服务的需求主要有这几个方面:

  • 对**数据丢失(data loss)/可靠性(reliability)**的要求。

    • 某些网络应用能够容忍一定的数据丢失,比如说网络电话、网络视频,可以容忍丢失几个帧。
    • 某些网络应用要求100%可靠的数据传输:文件传输网上银行等等。
  • 关于**时间(timing)/延迟(delay)**的要求。

    • 有些应用只有在延迟足够低时才"有效"。如果打游戏的时候时间延迟特别大,那我们的体验感就很差
  • 关于**带宽(bandwidth)**的要求。

    • 某些应用只有在带宽达到最低要求时才"有效",比如网络视频,如果带宽特别低的话是看不了的,因为是卡的,不连续
    • 某些应用能够适应任何带宽,比如文件下载,网速较快就下载的比较快,网速较慢我们也可以等一等,只要求文件正确的下载下来。

当然不局限于这三方面,比如有的应用有安全性的要求等等。

下面是典型网络应用对传输服务的需求:

Internet网络提供的传输服务

Internet是主流的网络,但并不是唯一的网络。

Internet提供两类传输服务:TCP和UDP

  • TCP服务

    • 面向连接: 客户机/服务器进程间 需要建立连接。TCP服务是面向连接的服务,连接一旦建立起来就是全双工的。
    • 可靠的传输。
    • 流量控制: 发送方不会发送速度过 快,超过接收方的处理能力。
    • 拥塞控制: 当网络负载过重时能够 限制发送方的发送速度。
    • 不提供时间/延迟保障。
    • 不提供最小带宽保障。
  • UDP服务

    • 无连接

    • 不提供可靠的数据传输

    • 不提供:可靠性保障、流量控制、拥塞控制等等。

    • UDP提供的服务是最基本的

    • 但是留给应用层极大的发挥空间

下面是一些典型网络应用使用的应用层协议和传输层协议:

相关推荐
John_ToDebug5 小时前
判断力无法被 AI 替代,但它正在被你亲手扔掉
经验分享·笔记
柳鲲鹏7 小时前
运气学概论:提纲草案
笔记
隐擎fox8 小时前
高性能网络爬虫架构设计:基于 Python 的长连接复用与分布式会话池调度实践
分布式·python·网络协议·tcp/ip·高并发·网络爬虫、
shehuiyuelaiyuehao8 小时前
1计算机是如何工作的
java·计算机网络
疯狂打码的少年9 小时前
【计算机网络】子网掩码与子网划分计算(含CIDR表示法)
服务器·笔记·计算机网络·php
自小吃多11 小时前
PCB Editor软件复制、改变、删除操作笔记
笔记·嵌入式硬件
动词ing13 小时前
【学习笔记】数据结构栈与队列(栈先进后出+队列先进先出+括号匹配+消消乐模型)
数据结构·笔记·学习
彧azz13 小时前
Git 入门实操实例:从安装到远程仓库全流程
大数据·笔记·git·学习·elasticsearch
2501_9378609414 小时前
网络核心|OSI七层、TCP/IP五层模型,封装和分用详解
网络·网络协议·tcp/ip
David猪大卫14 小时前
【C++修炼】哈希表的实现
数据结构·c++·笔记·学习·算法·哈希算法·散列表