您的位置:首页 > 理论基础 > 计算机网络

网络应用进程通信

2017-09-19 21:32 127 查看

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

进程:主机上运行的程序。

    

    

同一主机上运行的进程之间如何通信?

进程间通信机制

操作系统提供

     

不同主机上运行的进程间如何通信?

消息交换

  

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

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

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

2 套接字:Socket

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

类似于寄信

发送方将消息送到门外邮箱

发送方依赖(门外的)传输基础设施将消息传到接收方所在主机,并送到接收方的门外

接收方从门外获取消息

    

传输基础设施向进程提供API

传输协议的选择

参数的设置



3 如何寻址进程?

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

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

Q: 主机有了IP地址后,是否足以定位进程?

A: 否。同一主机上可能同时有多个进程需要通信。

端口号/Port number

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

HTTP Server: 80

Mail Server:25

          

进程的标识符

IP地址+端口号

  

可以使用netstat -ano查看当前已经建立TCP或者UDP连接。



4 应用层协议

网络应用需遵循应用层协议。

公开协议

由RFC(Request For Comments)定义

允许互操作

HTTP, SMTP, ……

     

私有协议

多数P2P文件共享应用

5 应用层协议的内容

消息的类型(type)

请求消息

响应消息

  

消息的语法(syntax)/格式

消息中有哪些字段(field)?

每个字段如何描述

  

字段的语义(semantics)

字段中信息的含义

  

规则(rules)

进程何时发送/响应消息

进程如何发送/响应消息

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: