网络应用的基本原理(基础 !非常重要!)

1.网络应用的体系结构

首先要思考这样一个问题 网络应用应该采取什么样的体系结构? 凭什么非得按照它设计的来学习呢?  它好在哪里?

有以下三种结构

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

(2)点对点(p2p)

(3)混合结构(上面两种混合)

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

服务器

(1)7*24小时提供服务

(2)永久性访问地址/域名

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

客户机

(1)享受服务器提供的服务

(2)间歇性接入网络

(3)可能使用动态IP地址

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

纯P2P结构

(1)没有永远在线服务器

(2)任意端系统/结点之间可以通信

(3)节点间歇性接入网络

(4)节点随时可以改变IP地址

优点:高度可扩展  缺点:难于管理

2.网络应用进程间的通信

不同主机间运行的进程如何通信?   消息交换

套接字:Socket

进程间的通信一定要用到Socket

类似于寄信:

 (1)   发送方将消息送到门外邮箱

 (2)   利用门外的通信基础设施传送到对方主机所在地  门外主机接收

 (3)   门外的邮箱(Socket)拿到信了

传输基础设施向进程提供API
(1)传输协议的选择

(2)参数的设置

如何寻址进程(IP+端口号)

3.网络应用应用层协议的内容

考虑一下四点

(1)消息的类型

(2)消息的语法/格式

(3)字段的语义

(4)规则

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

(1)数据丢失了咋整?  可靠性要不要考虑

某些不用考虑(网络电话)   

文件传输必须100%可靠

(2)时间/延迟  

(3)带宽

Internet提供的传输服务

(1)TCP

网络应用的基本原理(基础 !非常重要!)