第6讲 通信服务程序设计.ppt
文本预览下载声明
备注页 第六讲 通信服务程序设计 授课教师:谭毅 电邮地址:tanyi@ 课件密码:12345 内容提纲 1.Socket编程 2.通信服务程序设计 1、socket编程 1.1主机之间的文件拷贝需求 1.2TCP协议分层结构 1.3TCP上进程通信模式 1.4TCP-SOCKET函数 1.5主机之间文件拷贝示例程序 1.1主机之间的文件拷贝需求 文件传送实例 1.2通信网络体系分层 1.5 主机之间文件拷贝示例程序 2.通信服务程序的设计 * 《通信软件设计》 * 《通信软件设计》 成于大气 信达天下 将主机A的文件A拷贝到主机B的目录/home/zhongshan下 home liyang A A B home zhongshan A 传输网 传输介质 接口 接口 对文件系统编程 对接口编程 OSI参考模型 层 典型执行方式 名称 主要功能 举例 软件 应用层 网络界面和用户应用 Email 软件 表示层 数据格式及转换 NFS 软件 会晤层 对话和同步管理 检查点协议 软件/硬件 传输层 端到端传输协议 UDP, TCP 软件/硬件 网络层 目的地址寻找和传送 IP 硬件/软件 数据链路层 点到点帧转换和发送 Ethernet MAC,ADSL 1 硬件 物理层 介质及发送方式 RS-232,Ethernet,ADSL 数据 传送文件 传送文件内容 传送文件段 数据段 数据包 数据帧 数据位 TCP/IP的分层是怎样的? 物理层 数据链路层 IP(OSPF/RIP…) TCP/UDP/RTP SOCKET 应用层 Telnet Http NFS 数据库应用 Ethernet ATM/FR SONET …… 物理层 数据链路层 IP(OSPF/RIP…) TCP/UDP/RTP SOCKET Telnet Http NFS 数据库应用 物理层 数据链路层 IP(OSPF/RIP…) 典型的主机—主机通信 有那些通信? 什么是主机? Browser浏览器 WEB服务 FOXMAIL MAIL服务 可以独立运行的计算机,由于历史的原因有 时分配IP地址的网络设备也称为主机 客户 服务器 典型的主机—主机通信 HTTP会话 WEB 服务 INTERNET WEB服务器 LINUX工作站 进程1 (浏览器) 进程2 进程3 进程4 用户空间 内核空间 TCP/IP核心模块 系统调用接口 网络设备 驱动程序 网络设备 驱动程序 网络设备 驱动程序 典型的主机—主机通信 HTTP会话 WEB 服务 INTERNET WEB服务器 LINUX工作站 进程1 (浏览器) 进程2 进程3 进程4 用户空间 内核空间 TCP/IP核心模块 网络设备 驱动程序 网络设备 驱动程序 网络设备 驱动程序 应用层和网络层(TCP/UDP) 之间的接口-- SOCKET 有时也称API 系统调用接口 主机网络软件注重功能 为了功能 不是为了性能 把性能敏感的功能移动到核心空间 而保留其它功能在用户空间 Linux设备管理结构 用户空间 内核空间 应用举例--在两个主机之间拷贝二进制文件,文件名相同 文件拷贝 AAA 二进制文件 非常基本的应用层通信软件,复杂的网络应用软件基本原理也如此 AAA 二进制文件 SOCKET模型 服务者进程 2层 设备层 3、4层 协议层 SOCKET层 以太网 驱动程序 TCP IP 客户进程 1层 物理层 2层 设备层 3、4层 协议层 SOCKET层 以太网 驱动程序 TCP IP 1层 物理层 TCP TCP ? 客户 临时端口 TCP ? 客户 临时端口 TCP ? 客户 临时端口 ? ? 主服务器 ? TCP 连接 熟知端口仅用于 接受服务请求 ? 创建 从服务器进程 主服务器有时又称为父服务器,而从服务器又称为子服务器。 1.3 进程通信模式 客户/服务器模型 服务者进程 SOCKET层 SOCKET层 服务者进程A 复制创建 A主机 C主机 服务者进程B Socket() connect() write() close() Socket() bind() listen() accept() read() close() TCP TCP TCP对等协议 00 6666 6666 6666 客户进程 7676 客户/服务器模型 B主机 1.4 SOCKET系统函数调用 系统调用 功能 使用者 Socket(format, type, protocol) 获得一个SOCKET 客户、服务者 bind(sd, address, length) SOCKET和address绑定 服务者 listen(sd, qlength
显示全部