应用层

创建一个网络的应用层的应用

需要写一个程序这个程序需要满足如下要求:

1.能够在不同的终端系统上面运行。

2.可以通过网络实现通信。

3.例如:Web  Server

在网络核心部分没有应用应用层的软件

1.网络核心不在应用层上起作用。

2.这样的设计有助于网络应用在终端设备上的快速传播。

 

客户端--服务器 体系结构

服务器:

1.总是处于开启状态

2.拥有固定的ip

3.可能需要大规模部署服务器

客户端:

1.和一个server通信

2.可能建立端连接

3.可能拥有一个动态ip

4.客户端之间不能直接通信

 

纯的p2p结构

1.没有总是开启的服务器。

2.任意的终端系统直接相互连接

3.终端之间断站的链接并交换ip

4.例如:Gnutella

5.可扩展性高

6.难以管理

 

进程收发信息通过socket(套接字)

socket相当于是一个门

1.发送进程将信息从门里面推出去

2.发送进程依赖于下层传输系统(如传输层为其提供tcp服务), 在门的另一边将由接收进程带到socket

API : 1)选择传输协议。 2)有配置一些参数的能力

 

标识一个进程

由于一台主机上面运行着许多的进程  所以为了唯一标志一个进程还需要一个端口号。

 

一个网络应用的传输服务需要的性能指标

1.Data loss (丢包)

1)一些网络应用,比如视频、语音等 可以容忍少量丢包。

2)其它应用,比如 文件传输,web等,需要传输数据的100%可靠

2.Timing (时延)

一些应用(例如 网络电话 在线游戏)需要低的网络时延

3.带宽

一些应用需要保证最小的带宽,比如看视频,如果带宽不够会卡顿

其它的一些应用对带宽不敏感  比如下载视频

 

网络传输协议服务

TCP服务:

面向连接的服务:

1)在客户端和服务器之间建立连接

2)收发进程之间建立可靠连接

3)流控制:发送端不能使得接收端溢出

4)拥塞控制:当网络出现拥塞时控制发送速度

5)没有提供的功能:时延和最小带宽的保证

UDP server:

1)收发进程之间的不可靠传输

2)没有提供的功能:建立连接、可靠性、流控制、拥塞控制、时延和最小带宽保证

 

posted @ 2020-11-17 19:49  熊鑫xxx1x  阅读(185)  评论(0)    收藏  举报