Internet课程设计 教师:陈 妍 朱海萍 西安交通大学计算机系 2006-5-18
一、课程设计的目的及意义 Internet应用课程设计是对所学计算机网络及Internet应用等知识全面、系统的总结、巩固和提高的一项课程实践活动。 通过课程设计,一方面提高网络编程解决实际问题的能力,另一方面使学生更深入的理解计算机网络及相关协议的有关知识,为以后的学习和系统开发奠定良好的基础。
二、基础知识要求 熟悉网络编程的方法 掌握Telnet、FTP、HTTP、 POP3、DNS等协议的工作原理 http://soft.yesky.com/lesson/network 网络编程专区 TCP/IP体系结构与特点 客户机/服务器模式(Client/Server model) Winsocket编程之套接字 在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model)。 掌握Telnet、FTP、HTTP、 POP3、DNS等协议的工作原理
TCP/IP 体系结构 TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。TCP/IP包括以下协议:(结构如图1.1) IP: 网间协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP, UDP提供分组发送服务。用户进程通常不需要涉及这一层。 ARP: 地址解析协议(Address Resolution Protocol) 此协议将网络地址映射到硬件地址。 RARP: 反向地址解析协议(Reverse Address Resolution Protocol) 此协议将硬件地址映射到网络地址 ICMP: 网间报文控制协议(Internet Control Message Protocol) 此协议处理信关和主机的差错和传送控制。 TCP: 传送控制协议(Transmission Control Protocol) 这是一种提供给用户进程的可靠的全双工字节流面向连接的协议。它要为用户进程提供虚电路服务,并为数据可靠传输建立检查。(注:大多数网络用户程序使用TCP) UDP: 用户数据报协议(User Datagram Protocol) 这是提供给用户进程的无连接协议,用于传送数据而不执行正确性检查。 FTP: 文件传输协议(File Transfer Protocol) 允许用户以文件操作的方式(文件的增、删、改、查、传送等)与另一主机相互通信。 SMTP: 简单邮件传送协议(Simple Mail Transfer Protocol) SMTP协议为系统之间传送电子邮件。 TELNET:终端协议(Telnet Terminal Procotol) 允许用户以虚终端方式访问远程主机 HTTP: 超文本传输协议(Hypertext Transfer Procotol) TFTP: 简单文件传输协议(Trivial File Transfer Protocol)
TCP/IP特点 TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中实现。因此用户一般不涉及。编程时,编程界面有两种形式:一、是由内核心直接提供的系统调用;二、使用以库函数方式提供的各种函数。前者为核内实现,后者为核外实现。用户服务要通过核外的应用程序才能实现,所以要使用套接字(socket)来实现。 套接字是网络的基本构件。它是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和一个与之相连听进程。套接字存在通信区域(通信区域又称地址簇)中。套接字只与同一区域中的套接字交换数据(跨区域时,需要执行某和转换进程才能实现)。WINDOWS 中的套接字只支持一个域——网际域。套接字具有类型。WINDOWS SOCKET 1.1 版本支持两种套接字:流套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM)
面向连接的 套接字的系统 调用时序图
无连接协议的套接字调用时序图
三、设计题目及要求 课程设计学生可自由选取所熟悉的编程语言,如C/C++,Java,Delphi或者VB等。 在设计时应把重点放在程序的功能实现上,而不要把太多精力放在显示界面的设计上。 课程设计要求完成协议的基本功能,但也可以灵活创新,设计出功能更完善的程序。 也可以自己设计题目,同时,提出详细的功能描述,经指导老师审查同意后也可作为课程设计的题目。
选 题 (任选其一,1-2人为一组): 选题1:使用HTTP协议实现Web页面的下载 选题2:使用Telnet协议实现远程登陆 选题3:使用FTP协议实现远程文件的接收或发送 选题4: 使用POP3协议实现电子邮件的接收 选题5: 使用DNS协议实现域名的解析
举例说明:FTP协议 基本功能: 提供一个用户名和口令访问远程账号 显示远程目录下所有文件的清单 支持多种格式文件的上传和下载 提供对本地和远程系统的目录操作功能 扩展功能: 支持多线程断点续传 FTP安全扩展 解决明文传输用户名和口令,所导致的数据机密性和完整性差
四、考核评分标准 设计完成后,提交设计报告和程序文件的电子文挡,由本人演示程序功能,指导老师检验程序执行结果,结合提交的设计报告进行提问答辩、综合评分。 评分标准: 优:程序功能完整并有创新,报告详尽 良:程序功能完整无明显缺陷,报告较详尽 中:程序功能基本完整,能正常运行,报告基本完成 及格:程序虽有问题,但也能运行,报告基本完成
五、实验和验收 上机环境在计算机系实验中心机房(西一楼),计划课时16小时。 程序验收同时还需要提交设计电子文挡(设计报告、源程序清单、可执行文件、原始数据文件),有条件的同学可提前提交; 说明:考虑到本课程设计对网络知识的要求和依赖,课程设计的验收时间初步定在学期末;不接收大四学生的补验收。 使用控件或者API完成设计以零分计入,Socket API除外
六、设计报告的要求及格式 西安交通大学实验报告 课程________________实验名称_______________第 页 共 页 课程________________实验名称_______________第 页 共 页 系 别______________________________ 实验日期 年 月 日 专业班级___________________________ 实验报告日期年 月 日 姓 名_________学号________报 告 退 发 ( 订正 、 重做 ) 同 组 人_________________________ 教 师 审 批 签 字
实验名称: Internet应用课程设计报告 1. 题目 2. 对课程设计的认识 3. 设计题目及功能介绍(简介) 4. 程序设计说明。(写出设计的思想方法、实现相应功能的技术细节,必要时可画出流程图说明。按程序模块划分分别描述。主要功能部分详述,其他部分简述) 5. 软件操作说明 6. 总结 7. 参考文献
七、主要参考书籍 基于Windows的TCP/IP编程. 王罡 林立志 编著. 清华大学出版社. 2002 TCP/IP 详解 TCP/IP. 卷1, (美)W.Richard Stevens 著 ( Mei )W.Richard Stevens Zhu; 范建华, 胥光辉, 张涛等译 北京 : 机械工业出版社. 2000 基于Windows的TCP/IP编程. 王罡 林立志 编著. 清华大学出版社. 2002