1、软件实体的交互基础 1/62高级软件工程在 一定程度上人类的思维产生于简单个体之间的相互作用Marvin Minsky软件实体的交互基础 2/62高级软件工程第第 三三 讲讲软件实体的交互基础软件实体的交互基础软件实体的交互基础 3/62高级软件工程内 容一、网络编程基本架构二、软件互操作的基本架构三、互操作协议四、互操作接口定义五、交互实体的查找软件实体的交互基础 4/62高级软件工程一、网络编程基本架构1、 TCP/IP2、基于 Socket的网络软件3、直接基于 Socket编程的不足软件实体的交互基础 5/62高级软件工程ApplicationPresentationTransport
2、NetworkData linkPhysicalSessionTCP, UDP、 TCP/IP( 1) ISO/OSI 参考模型 与 TCP/IP的对照ISO/OSI 参考模型主机与网络的连接:ethernet、 token-ring 因特网层: IP 应用层:telnet、 ftp、 smtp、 snmp、dns、 http、 nntp TCP/IP软件实体的交互基础 6/62高级软件工程0 Network Host 1 0 Network Host 1 1 0 Network Host 1 1 1 0 Multicast address 1 1 1 1 0 Reversed for fut
3、ure use ABCDE1.0.0.0 127.255.255.255地址范围128.0.0.0 191.255.255.255192.0.0.0 223.255.255.255224.0.0.0 239.255.255.255240.0.0.0 247.255.255.255类( 2) IP: Internet Protocol软件实体的交互基础 7/62高级软件工程Vers. H.len Service type Total length Identification Flags Fragment offset dataTime to live Protocol Header check
4、sum Source IP addressDestination IP addressIP options (may be omitted) PaddingIP头Service type Precedence D T R unused20 bytes软件实体的交互基础 8/62高级软件工程( 3) TCP :Transmission Control Protocol l TCP 为 两个分布式的构件提供了双向的消息通信l UNIX 中的命令 rsh, rcp 及 rlogin 全部基于 TCPl 它是 一个可靠但较慢的协议l 在 客户服务器双方进行缓冲以提高速度软件实体的交互基础 9/62高级
5、软件工程TCP头格式Source port Destination portSequence numberAcknowledgement numberChecksum Urgent pointer Options (0 or more words)Data (optional)H.len Code bitsReserved Window size软件实体的交互基础 10/62高级软件工程UDP : User Datagram Protocol l 一个构件向另一个构件发送消息l 另一个构件的标识包含在消息中l 不 可靠但快速的协议l 消息长度固定l 消息在接受方排队l UNIX rwho 命令基于 UDP