实现TCP和UDP数据包发送程序的设计和实现C.docx

上传人:b****3 文档编号:2228866 上传时间:2022-10-28 格式:DOCX 页数:40 大小:133.67KB
下载 相关 举报
实现TCP和UDP数据包发送程序的设计和实现C.docx_第1页
第1页 / 共40页
实现TCP和UDP数据包发送程序的设计和实现C.docx_第2页
第2页 / 共40页
实现TCP和UDP数据包发送程序的设计和实现C.docx_第3页
第3页 / 共40页
实现TCP和UDP数据包发送程序的设计和实现C.docx_第4页
第4页 / 共40页
实现TCP和UDP数据包发送程序的设计和实现C.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

实现TCP和UDP数据包发送程序的设计和实现C.docx

《实现TCP和UDP数据包发送程序的设计和实现C.docx》由会员分享,可在线阅读,更多相关《实现TCP和UDP数据包发送程序的设计和实现C.docx(40页珍藏版)》请在冰豆网上搜索。

实现TCP和UDP数据包发送程序的设计和实现C.docx

实现TCP和UDP数据包发送程序的设计和实现C

【关键字】实现

长沙理工大学

《网络协议编程》课程设计论文

 

周瑞杰

 

学院计算机与通信工程专业网络工程

班级网络08-02学号0204

学生姓名周瑞杰指导教师王静

课程成绩完成日期2011年7月2日

课程设计任务书

计算机与通信工程学院网络工程专业

课程名称

网络协议编程课程设计

时间

2010~2011学年第二学期18~19周

学生姓名

周瑞杰

指导老师

王静

题目

TCP和UDP数据包发送程序的设计与实现

主要内容:

(1)掌握TCP和UDP的概念和工作原理;

(2)熟练掌握C#语言的编程原理;

(3)实现基于TCP协议的聊天程序设计;

(4)实现基于UDP协议的聊天程序设计;

(5)运行程序,并合理分析实验结果。

要求:

(1)按要求编写课程设计报告书,能正确阐述设计结果。

(2)通过课题设计培养学生严谨的科学态度,认真工作作风和团队协作精神。

(3)学会文献检索的基本方法和综合运用文献的能力。

(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

应当提交的文件:

(1)课程设计报告。

(2)课程设计附件(主要是源程序)。

课程设计成绩评定

学院计算机通信工程专业网络工程

班级网络08-02学号0204

学生姓名周瑞杰指导教师王静

课程成绩完成日期2011年7月2日

指导教师对学生在课程设计中的评价

评分项目

及格

不及格

课程设计中的创造性成果

学生掌握课程内容的程度

课程设计完成情况

课程设计动手能力

文字表达

学习态度

规范要求

课程设计论文的质量

指导教师对课程设计的评定意见

 

综合成绩指导教师签字年月日

TCP和UDP数据包发送程序的设计和实现

学生:

周瑞杰指导老师:

王静

摘要:

在TCP/IP协议族中,传输层主要包括TCP和UDP两种通信协议,它们以不同的方式实现两台主机中的不同程序间之间的数据传输,即数据的端到端传输。

TCP提供一种面向连接的、可靠的数据传输服务,保证了端到端数据传输的可靠性;而UDP提供一种无连接的、不可靠的数据传输方式,但保证了数据传输的实时性。

本课程设计用C#语言分别编写了基于TCP的C/S聊天程序和基于UDP的C/S聊天程序。

经测试,本文程序基本实现了聊天功能,即实现了TCP和UDP数据包发送程序的设计。

关键词:

TCP、UDP、C#、C/S聊天程序、数据包发送程序

DesignandRealizationoftheSendingProgramofTCPandUDPPackets

Student:

ZhouRuijieInstructor:

WangJing

Abstract:

IntheTCP/IPprotocolclan,thetransportlayermainlyincludestwocommunicationprotocolsTCPandUDP,whichhadachievedthedatatransmissionamongdifferentprogramsbetweentwohostsindifferentways,namelytheend-to-enddatatransmission.TCPprovidesaconnection-oriented,reliabledatatransmissionservice,ensuringthereliabilityoftheend-to-enddatatransmission;WhileUDPprovidesaconnectionless,unreliablewayofdatatransmission,butguaranteeingthedatatransmissioninreal-time.ThiscoursedesignhasseparatelywrittenTCP-basedC/SchatprogramandUDP-basedC/SchatprograminC#.Bytest,thispaperprogramhasbasicallyachievedchatfunction,namelyrealizedthedesignofthesendingprogramofTCPandUDPpackets.

Keywords:

TCP、UDP、C#、C/Schatprogram、sendingprogramofpackets

 

1引言

自进入信息化社会以来,人们的生活发生了翻天覆地的变化,所有这一切的实现都要归功于计算机网络。

自从计算机网络出现以来,网络发展越来越迅速,其重要性更是不可估量。

现在,网络已经进入到我们生活的各个角落,大到网上理财、网上会议、网上战争,小到上网购物、查找资料,网上聊天等,可以说网络把我们的世界变“小”了,即使在天涯海角,我们也可以随时联系。

一个最简单且应用最广泛的例子——网上聊天,就是最好的证明。

本课程设计将基于TCP和UDP协议,使用C#语言分别实现一个C/S聊天程序。

1.1课程设计的目的

本次课程设计是用C#分别编写基于TCP和UDP协议的C/S聊天程序,所以其基本任务就是要实现客户端和服务器端的通信,即客户端和服务器对端能够互相发送数据和接收数据。

其中TCP是面向连接的协议,所以在客户端和服务器端在通信之前必须先由服务器端监听,客户端发送连接请求,成功建立连接后才能进行通信,这个机制保证了数据传输的可靠性。

实现了这个过程,就达到了本次课程设计TCP和UDP数据包发送程序的设计和实现的目的。

1.2本设计任务和主要内容

(1)掌握TCP和UDP的概念和工作原理;

(2)熟练掌握C#语言的编程原理;

(3)实现基于TCP协议的聊天程序设计;

(4)实现基于UDP协议的聊天程序设计;

(5)运行程序,并合理分析实验结果。

2开发工具及相关技术

2.1C#简介

C#(CSharp)是微软(Microsoft)为.NETFramework量身订做的程序语言,C#拥有C/C++的强大功能以及VisualBasic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。

C#具有以下特点:

(1)语法简洁。

(2)面向对象设计。

(3)与Web紧密结合。

(4)完整的安全性和错误处理。

(5)版本控制。

(6)兼容性。

(7)灵活性。

2.2TCP和UDP概述

在TCP/IP协议族中,传输层主要包括TCP和UDP两种通信协议,它们以不同的方式实现两台主机中的不同应用程序之间的数据传输,即数据的端到端传输。

由于它们的实现方式不同,因此各有一套属于自己的端口号,且相互独立。

可以采用如下五元组来描述两个应用进程之间的通信关联。

(协议,信源机IP地址,信源应用进程端口,信宿机IP地址,信宿应用进程端口)即端到端之间的一条通信连接就可以表示为上述五元组,这也是进行网络程序设计最基本的概念。

其中,传输控制协议(TransmissionControlProtocol,TCP)提供一种面向连接的、可靠的数据传输服务,保证了端到端数据传输的可靠性。

也正因为这样,使TCP协议成为传输层最常用的协议,同时也是一个比较复杂的协议,其提供了传输层几乎所有的功能。

因此和IP协议一样,成为了TCP/IP协议族中最重要的协议之一。

其主要特点如下:

(1)向应用进程提供面向连接的服务,两个需要通过TCP协议进行数据传输的应用进程之间首先必须建立一个TCP连接,并且在数据传输完成后要释放连接。

一般将请求连接的应用进程称为客户进程,而响应连接请求的应用进程称为服务器进程,即TCP连接的建立采用的是一种客户机/服务器工作模型。

(2)提供全双工数据传输服务,只要建立了TCP连接,就能在两个应用进程间进行双向的数据传输服务,但是这种传输只是端到端的传输,不支持广播和多播。

(3)提供面向字节流的服务,即TCP协议的数据传输是面向字节流的,两个建立了TCP连接的应用进程之间交换的是字节流。

发送进程以字节流形式发送数据,接收进程也把数据作为字节流来接收。

端到端之间不保留数据记录的边界,也就是说,在传输的层面上不存在数据记录的概念。

用户数据报协议(UserDatagramProtocol,UDP)是传输层的两个主要协议之一,相对TCP协议来说,UDP是一种非常简单的协议,在网络层的基础上实现了应用进程之间端到端的通信。

与TCP协议不同,UDP协议是一种无连接的协议,数据在传输之前通信双方不需要建立连接。

信宿在收到UDP数据报之后也不需要给出任何应答报文。

发送方发出的每一个UDP用户数据报都是独立的,都携带了完整的目的地址。

每个数据报都可以被网络系统独立路由。

因此从同一个信源发往同一个信宿的多个UDP报文可能选择不同的路径达到信宿,它们达到的先后顺序也可能不同于发送顺序。

所以,UDP协议提供的是一种无连接的、不可靠的数据传输方式,在数据传输过程中没有流量控制和确认机制,数据报可能会丢失、延迟、乱序到达信宿。

UDP协议只是提供了利用校验和检查数据完整性的简单差错控制,属于一种尽力而为的数据传输方式。

虽然UDP用户数据报提供不可靠的传输方式,但它具有其自身的一些特点:

(1)UDP是一个无连接协议,传输数据之前信源和信宿不需要建立连接,因此不存在连接建立的时延。

在信源端,UDP传送数据的速度仅仅受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在信宿端,UDP把每个数据报放在队列中,应用程序每次从队列中读一个数据报。

(2)由于传输数据不需要建立连接,也就不需要维护连接状态,包括收发状态等,这样一台服务机可同时向多个客户机传输相同的数据,例如实现多播。

(3)UDP数据报的首部很短,只有8字节,相对于TCP的20字节首部的开销要小很多。

(4)吞吐量不受流量控制算法的调节,只受应用软件生成数据的速率、传输带宽、信源和信宿主机性能的限制。

由于UDP具有这些特点,有许多应用更适合使用UDP协议,如:

(1)只需要简单数据交换的应用,例如DNS服务,它不需要复杂的可靠性保证机制,这样,利用UDP来传输数据既可以节省系统开销又提高了网络的传输效率。

(2)不需要关心数据的差错控制和流量控制的应用。

(3)实时性要求较高但可承受一定的数据错误的应用,例如实时语音传输、实时视频通信等。

(4)实现一对多数据发送的应用,例如广播和组播。

2.3C/S模式

在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网,Client/Server。

在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。

它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。

目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Clie

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1