(哈工大)网络应用基本原理(应用层)

网络应用的体系结构

客户机/服务器结构(C/S)

服务器:

1.7*24小时提供服务

2.永久性访问地址/域名

3.利用大量服务器实现可扩展性

客户机:

1.与服务器通信,使用给服务器提供的服务

2.间歇性接入网络

3.可能使用动态IP地址

4.不会与其他客户直接通信

点对点结构(P2P)

没有永远在线的服务器

任意端系统/结点之间可以直接通讯

结点间歇性接入网络

结点可能改变IP地址

优点:高度可伸缩

缺点:难于管理

混合结构

如:  Napster

文件传输使用P2P结构;

文件搜索采用C/S结构——集中式;

每个结点向中央服务器登记自己的内容;

每个结点向中央服务器提交查询请求,查找感兴趣的内容。

 

网络进程通信

网络应用的基础:进程间通信

进程:主机上运行的程序

同一主机上运行的进程之间通信依赖进程间通信机制,由操作系统提供。

不同主机上运行的进程间通信通过消息交换完成。

客户机进程:发起通信的进程。

服务器进程:等待通信请求的进程。

采用P2P架构的应用是否存在客户机进程/服务器进程之分?——存在。

套接字:Socket

进程间通信利用socket发送/接收消息。

类比于寄信:

发送方将消息送到门外邮箱,依赖传输设施将消息传送到接收方的门外,接收方从门外获取消息。

传输设施即向进程提供API——socket编程,能够选择传输协议,设置参数等。

如何寻址进程?

不同主机上的进程间通信,每个进程必须拥有标识符。

如何寻址主机?——IP地址

but!一个主机上同时存在多个进程。

端口号/Port number

为每个主机上每个需要通信的进程分配一个端口号;

(某些服务固定端口号)  HTTP Server:80   Mail Server:25

进程的标识符:IP地址+端口号

 

应用层协议

网络应用需要遵循应用层协议(不止遵循它)

公开协议:由RFC定义;允许互操作(如HTTP,SMTP...

私有协议:多数P2P文件共享应用

协议内容:

消息类型:请求消息、响应消息

消息的语法/格式:哪些字段、字段如何描述

字段语义:字段含义

规则:进程何时/如何发送/相应消息

 

网络应用需求与传输层服务 

数据丢失/可靠性

  1. 能够容忍一定的数据丢失:网络电话
  2. 要求100%可靠数据传输:文件传输、Email

时间/延迟

要求延迟足够低:网络电话、网络游戏

带宽:

  1. 要求带宽达到某一要求:网络视频
  2. 能够适应任何带宽:弹性应用如e-mail

Internet提供的传输服务 

TCP

面向连接:客户机/服务器进程间需要建立连接(全双工)

可靠传输

流量控制:发送速度不超过接收方的处理能力

拥塞控制:网络负载过重时限制发送速度

不提供时间/延迟保障

不提供最小带宽保障

UDP

不连接

不可靠

啥也没有,看起来鸡肋,但是给了用户“自由

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值