班级________计算机网络设计报告20**年**学期姓名班级学号日期20**年*月**日一、前言在这个经济快速发展的时代,电子信息发达的时代,电脑已经进入了平常百姓家,在大学校园更是普遍存在。大学生宿舍基本每人都有台电脑,毕竟我们都还是学生,经济能力有限,电脑与电脑之间的距离不太远,如果使用宽带大家共享接入,对学生来说经济又实惠,那么在宿舍中组建一个小型的局域网是非常有应用前景的。局域网是同一建筑、同一校园、方圆几公里地域内的专用网络。局域网通常用来连接公司办公室或企业内部的个人计算机和工作站,以共享软、硬件资源。美国电气和电子工程师协会(IEEE)局域网标准委员会员会曾提出局域网的一些具体特征:(1)局域网在通信距离有一定的限制,一般在1~2Km的地域范围内。比如在一个办公楼内、一个学校等。(2)较高传输率的物理通信信道也是局域网的一个主要特征,在广域网中用电话线连接的计算机一般也只有20~40Kpbs的速率。(3)因为连接线路都比较短,中间几乎不会受任何干扰,所以局域网还具有始终一致的低误码率。(4)局域网一般是一个单位或部门专用的,所以管理起来很方便。(5)另外局域网的拓扑结构比较简单,所支持连接的计算机数量也是有限的。组网时也就相对很容易连接。接入方式:选择路由器接入利用宽带路由器共享宽带上网是目前最方便、最受大学生欢迎的方法。购买了宽带路由器就省去了买交换机或集线器的必要。只要把每台电脑的网线插到路由器的端口,利用宽带路由器的自动拨号功能就可以轻松的实现共享上网了。在速度方面比较有优势,能够满足我们对各方面的需求,网络采用星型结构。二、路由器简介路由器(Router)是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号的设备。路由和交换之间的主要区别就是交换发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。与工作在网络物理层,从物理上划分网段的交换机不同,路由器使用专门的软件协议从逻辑上对整个网络进行划分。例如,一台支持IP协议的路由器可以把网络划分成多个子网段,只有指向特殊IP地址的网络流量才可以通过路由器。对于每一个接收到的数据包,路由器都会重新计算其校验值,并写入新的物理地址。因此,使用路由器转发和过滤数据的速度往往要比只查看数据包物理地址的交换机慢。但是,对于那些结构复杂的网络,使用路由器可以提高网络的整体效率。路由器的另外一个明显优势就是可以自动过滤网络广播。从总体上说,在网络中添加路由器的整个安装过程要比即插即用的交换机复杂很多。路由器的主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据--路径表(RoutingTable),供路由选择时使用。路径表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路径表可以是由系统管理员固定设置好的。第一,网络互连:路由器支持各种局域网和广域网接口,主要用于互连局域网和广域网,实现不同网络互相通信;第二,数据处理:提供包括分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能;第三,网络管理:路由器提供包括路由器配置管理、性能管理、容错管理和流量控制等功能。路由器具有四个要素:输入端口、输出端口、交换开关、路由处理器和其他端口。输入端口是物理链路和输入包的进口处。端口通常由线卡提供,一块线卡一般支持4、8或16个端口,一个输入端口具有许多功能。第一个功能是进行数据链路层的封装和解封装。第二个功能是在转发表中查找输入包目的地址从而决定目的端口(称为路由查找),路由查找可以使用一般的硬件来实现,或者通过在每块线卡上嵌入一个微处理器来完成。第三,为了提高服务质量,端口要对收到的包分成几个预定义的服务级别。第四,端口可能需要运行诸如SLIP(串行线网际协议)和PPP(点对点协议)这样的数据链路级协议或者诸如PPTP(点对点隧道协议)这样的网络级协议。一旦路由查找完成,必须用交换开关将包送到其输出端口。如果路由器是输入端加队列的,则有几个输入端共享同一个交换开关。这样输入端口的最后一项功能是参加对公共资源(如交换开关)的仲裁协议。三、组网设备(1)硬件选择a、网卡,当然是最重要的,很多人在购买电脑的时候已经配置了网卡,所以这一环基本上是可以省略的。b、网线和水晶头,在大多数局域网中使用的都是三类和五类的非屏蔽双绞线。三类线在局域网中常用作10Mbps以太网的数据与话音传输,五类线在局域网中占有最大的份额,它的最高传输速率可达100Mbps。可以根据室内电脑的分布情况选择适合的长度,双绞线的价格便宜,一般是1-2元一米,水晶头1元一个。c、ADSLModem,普通产品的价位通常在100-300元之间。一般的是使用外置的Modem,这种产品使用起来很方便。不过也有一种内置的Modem,一般采用PCI接口,价格比外置的要便宜。可以根据自己情况来选择。(2)物理层的网络线制作方法这些线类如属于正规厂家生产则都应在包装的封皮上有标识,如3类线就用“3cable”,5类线就用“5cable”,而超5类线则一般表示为“5e(或5E)cable”,在网线的制作方面,存在着许多技巧,对局域网性能优化起着相当重要的基础作用。一般来说双绞线的制作方法有如下几种,要注意一一对应,不能错用。a、一一对应接法。即双绞线两头的连线要一一对应,一头的一脚,一定要连着另一头的一脚。这种网线一般是用在路由器与计算机之间。b、1-3、2-6交叉接法。即网线一头的第一脚连另一头的第三脚,网线一头的第二脚连另一头的第六脚,其他脚一一对应。这种网线一般用在交换机的级连。c、100M接法。所谓100M接法,是指它能满足100M带宽的通信速率。它的接法虽然也是一一对应,但每一脚的颜色是固定的,具体是:第一脚——黄白;第二脚——黄色;第三脚——绿白;第四脚——蓝色;第五脚——蓝白;第六脚——绿色;第七脚——褐白;第八脚——褐色。选择水晶头也是要选择较好的品牌,如AMP的,好水晶头上的插针所采用的材料阻抗较小,不易氧化、生锈。同时,一些杂牌的水晶头插针与RJ-45插孔接触面比较小,容易造成接触不良。选择水晶头时,要注意水晶头的生产工艺,插针绝不能有氧化变色,并且接触面要大一点、光亮一点。另水晶头的扣位弹性要好,否则很容易因扣不紧而引起接触不良。(3)局域网中网络层的设置主机选“指定IP地址”为192.168.0.1,子网掩码为255.255.255.0。选中“DNS配置”项,填上本地ISP服务器的地址,例如“88.188.88.88”,“确定”即可。其它电脑的IP地址分别是192.168.0.2、192.168.0.3、192.168.0.4等,子网掩码同为255.255.255.0。在“网关”一栏中填入主机的IP地址,即192.168.0.1。(3)局域网的优化虽然目前的网卡、HUB和交换机都能提供100MB甚至更宽的带宽,但一个局域网如果配置不当,尽管配置的设备都非常高档而网络速度却不能如意,或者经常出现死机、打不开一个小文件或根本无法连通服务器,特别是在一些设备档次参差不齐的网络中这些现象更是时有发生。在局域网中恰当地进行配置,才能使网络性能尽可能地进行优化,最大限度地发挥网络设备、系统的性能。其实局域网也是由一些设备和系统软件通过一种连接方式组成的,所以局域网的优化包括以下几个方面:a、设备优化。包括传输介质的优化、服务器的优化、HUB与交换机的优化等。b、软件系统的优化。包括服务器软件的优化和工作站系统的优化。c、布局的优化。包括布线和网络流量的控制。四、Socket编程建立UDP和TCP通信(1)、Socket通信简介Socket通常也称作“套接字”,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。连接确认:是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。Socket通信以其传输速度快且稳定的优点在程序开发中应用非常的广泛。socket通信流程图如下:下图是基于TCP协议的客户端/服务器程序的一般流程:服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收到后从connect()返回,同时应答一个ACK段,服务器收到后从accept()返回。(2)用VisualC#.NET实现UDP和TCP通信根据网络上提供的一些类、库等,观看了一些相关操作视频,由一些现有的源代码设计了一个类似QQ的通信工具,实现文件传输功能。程序主要源代码见附录。运行服务器和客户端得到如下结果:客户端可以相互之间发送消息,如下图所示:客户端可以相互之间也可以进行传输文件,为了便于观察以及后续的抓包工具分析,传输文件采用较大的压缩文件。由于是局域网,速度较快,如下图所示:(3)利用抓包工具UDP和TCP通信过程a、利用“HOU网络抓包”工具分析通信过程,由下图所示,本次通信采用的是UDP形式。b、利用“IpTool网络抓包工具”工具分析通信过程首先进行协议过滤,本次只分析TCP和UDP协议数据由此可见UDP有两个字段:数据字段和首部字段。报头由四个16位长(8字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验值。每个TCP都包含源端口号和目标端口号,加上IP头中的源IP和目的IP,唯一确定一个TCP连接。序号用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的第一个数据字节。序号字段包含由这个主机选择的该连接的初始序号ISN(InitialSequenceNumber)。该主机要发送数据的第一个字节,序号为ISN+1,因为SYN占用了一个序号。五、总结与反思感谢老师提供的这样一次机会,让我们对局域网、计算机网络的相关知识有了更深入的了解,由于知识水平有限,程序编写过程中参考了一些现有的类、库等,对于VisualStudio的操作过程有了更熟练的掌握,不过程序设计的一些函数知识则要在接下来的时间内再好好学习。六、附录主要源代码:usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data;namespaceLanMsg{publicclassFormMain:System.Windows.Forms.Form{privateLanMsg.Controls.SockUDPsockUDP1;privateSystem.Windows.Forms