1.网络应用对传输服务的需求
2.Internet提供的传输服务
不同的网络应用对传输服务的要求不尽相同。我们来看看到底在哪些方面有哪些不同:
a.数据丢失(data loss)/可靠性(reliability)
有些网络应用可以容忍一定的数据丢失,如QQ视屏聊天(相信在网络不好时稍微卡两下你也不会太介意)。
有些网络应用却没有那么好的脾气,要求100%的可靠数据传输,如迅雷(你在下某片的时候,如果它只能帮你下一半,你估计会疯掉)。
b.时间(timing)/延迟(delay)
有些应用只有在延迟足够低时才“有效”(“我靠!又卡了”,这句话已成为坑队友的名言)。
c.带宽(bandwidth)
有些应用只有带宽达到最低要求时才“有效”(如果你看视频时曾饱经“加载”的痛苦,相信会对此感触颇深)。
有些应用却可以适应任何带宽,如:email
最后上传一张表让大家更好理解各种网络应用对传输服务的不同需求(前提是你得懂英文):
Internet提供了TCP服务于UDP服务。下面让我们检验一下它们的服务方式与态度。
a.TCP 服务
面向连接:客户机/服务器进程间需建立连接(先挂号,再就医,否则不鸟你)。
可靠的传输(有个成语叫做“分毫不差”)。
流量控制:发送方不会发送过快,超过接收方的处理能力。
拥塞控制:当网络负载过重时能够限制发送方的发送速度(如果堵车,就要限行)。
不提供时间/延迟保障(鱼和熊掌不可兼得,想要我不丢数据,又只给我这么少的带宽,那时间可不能少)。
不提供最小带宽保障(所以当你正在看视频,而网速突然降到1~2kb/s时,你就应该放声大骂TCP)。
b.UDP服务
无连接:它不需在两主机间建立连接。
提供不可靠的数据传输
不提供:可靠性保障、流量控制、拥塞控制、延迟保障、带宽保障。
最后让我们来看看都有哪些应用在使用TCP协议、UDP协议: