体系结构
C/S
客户机/服务器体系结构(client/server)
- 服务器
- 总是打开的主机来等待客户的请求
- 具有固定的,众所周知的 IP 地址
- 主机集群常备用于创建强大的虚拟服务器
- 客户机
- 同服务器端通信
- 可以间断的同服务器连接
- 可以拥有动态的 IP 地址
- 客户机相互之间不能直接通信
实现了通信汇聚的功能
服务器会产生单点失效问题,服务器本身会成为性能瓶颈
p2p
- 没有总是打开的服务器
- 任意一对主机直接互相通信
- 对等方间歇连接并可以改变 IP 地址
扩展性好,ISP 友好(不经过很多流量)
不过有安全性问题
混合架构
Napster
- 文件直接在对等方之间交换
- 文件搜索通过服务器,中心服务器记录对等方的内容,通过查询中心服务器来决定请求的文件的位置
即时通讯
两个聊天用户之间是 P2P,但是注册和登录需要通过服务器
进程通信
套接字(socket)
是应用程序和网络之间的 API,进程通过它的套接字在网络上发送和接收报文。应用开发者可以控制应用层端(只能选择传输层的协议、时间戳等一些参数)
进程寻址
通过端口号来对进程编址,通过 ip 进行主机识别
常见应用程序端口:
- Web:80
- mail:25
应用程序使用的运输层服务特性:可靠数据传输,吞吐量,定时,安全性。
下层的运输服务
TCP
- 面向连接的服务
- 可靠的传输服务
- 流量控制
- 送塞控制
- 没有提供时延保证,最小带宽
- SSL
UDP
- 不可靠数据传输
- 没有提供建立连接,流量控制,拥塞控制,时延和带宽保证
应用层协议
现代邮件系统终端到邮件服务器之间是 HTTP,邮件服务器之间仍然使用 SMTP
端口号小结
协议 | 端口号 | 备注 |
---|---|---|
HTTP | 80 | |
HTTPS | 443 | |
FTP | 20 | 传输端口 |
FTP | 21 | 控制端口(1 控制 0)?? |
SMTP | 25 | |
POP3 | 110 | |
IMAP | 143 | |
DNS | 53 | |
DHCP | 67 | 服务端端口(服务**7[器]**端口) |
DHCP | 68 | 客户端端口 |
BGP | 179 | 路由器半永久 TCP |
RIP | 520 | 动态路由 |