目录
课程笔记
课程链接:计算机网络_中国大学MOOC(慕课) (icourse163.org)
目录
1)客户机/服务器结构(Client-Server,C/S)
一、网络应用的体系结构
1、网络应用应采取的结构
1)客户机/服务器结构(Client-Server,C/S)
服务器:
7*24小时提供服务
永久性访问地址/域名
利用大量服务器实现可扩展性
客户机
与服务器通信,使用服务器提供的服务
间歇性接入网络
可能使用动态IP地址
不会与其他客户机直接通信
例子:
2)点对点结构(Peer-to-Peer,P2P)
没有永远在线的服务器
任意端系统/结点之间可以直接通讯
节点间歇性接入网络
节点可能改变IP地址
优点:高度可伸缩的
缺点:难于管理
例子:文件共享
3)混合结构(Hybrid)
例子:Napster
文件传输采用P2P结构
文件的搜索采用C/S结构-集中式
每个文件向中央服务器登记自己的内容
每个节点向中央服务器提交查询请求,查找感兴趣的内容
二、网络应用进程通信
1)网络应用的基础:进程间的通信
进程:主机上运行的程序
(1)同一主机上运行的进程如何通信:
进程间通信机制
操作系统提供
(2)不同主机上运行的进程间如何通信:
消息交换
客户机进程:发起通信的进程
服务器进程:等待通信请求的进程
在P2P架构中也有客户机进程服务器进程区分
2)套接字:Socket
进程间通信利用socket发送/接收消息实现
类似于寄信
发送方将消息送到门外邮箱
发送方依赖(门外的)传输基础设施将消息传到接收方所在主机,并送到接收方的门外
接收方从门外获取信息
传输基础设施向进程提供API
传输协议的选择
参数的设置
3)寻址进程
不同主机间的进程通信,那么每个进程必须拥有标识符
IP地址:仅仅有IP地址不足以定位进程(同一台主机上可能有多个进程需要通信)
端口号/Port number:为主机上每个需要通信的进程分配一个端口号
进程的标识符:IP地址+端口号
4)应用层协议
网络应用·需遵循应用层协议
公开协议:由RFC(Request For Comments)定义,作用是为了允许互操作
例如:HTTP,SMTP
私有协议:多数P2P文件共享应用
应用层协议内容
消息的类型(type):请求消息、响应消息
消息的语法(syntax)/格式:消息中有哪些字段(field),每个字段如何描述
例如:
字段的语义(semantic):字段中信息的含义
规则(rules):进程何时发送/响应消息、进程如何发送/响应消息
三、网络应用的需求与传输层服务
1)网络应用对传输服务的需求
数据丢失(data loss)/可靠性(reliability):某些网络应用鞥够容忍一定的数据丢失:网络电话
某些网络应用要求100%可靠的数据传输:文件传输,telnet
时间(timing)/延迟(dalay):有些应用只有在延迟足够低时才“生效”,网络电话/网络游戏
带宽(bandwidth):某些应用只有在带宽达到最低要求时才“有效”:网络视频,某些应用能够适应任何带宽——弹性应用:email
elastic弹性的