1,一直不懂计算机网络技术跟计算机通信有什么区别呢

通讯是硬件,,网络技术是软件
301是数学一,408是计算机学科专业基础综合

一直不懂计算机网络技术跟计算机通信有什么区别呢

2,什么是网络计算机

00:00 / 01:2370% 快捷键说明 空格: 播放 / 暂停Esc: 退出全屏 ↑: 音量提高10% ↓: 音量降低10% →: 单次快进5秒 ←: 单次快退5秒按住此处可拖拽 不再出现 可在播放器设置中重新打开小窗播放快捷键说明

什么是网络计算机

3,计算机网络技术和计算机应用技术 哪个好

计算机网络技术和计算机应用技术性比较,计算机应用技术更好。1、专业简介:计算机网络技术专业培养具备扎实的电子技术、计算机技术、网络技术等方面的基本理论知识与技能,具有计算机网络实际组建、管理、维护等基本能力,能在各企事业单位进行网络设计、安装、调试和管理等工作的应用型技术人才。计算机应用技术专业专业培养掌握计算机科学的基本理论和基本知识,具有从事计算机及应用的技术开发与推广能力的实用技术人才。主要课程:数字电子技术、计算机组成原理、高级语言程序设计、数据结构、操作系统、微机原理及应用、计算机网络技术、数据库原理等。?2、就业方向:计算机网络技术专业面向各企事业单位计算机网络应用技术岗位群,能进行计算机操作维护,计算机局域网的设计、安装、调试;计算机网络通信产品的系统集成;广域网的管理、维护。网络管理信息系统的设计、开发及应用、网站设计与开发等工作。可在软件园、高新技术园区、各大电脑公司、网络公司、网站、高新技术企业、公司、企事业单位和信息部门中从事网络管理、网站维护、网页设计与创意和电子商务等工作。计算机应用技术专业学生可从事计算机多媒体作品设计开发工作、动画设计与制作工作、网络系统设计和测试技术员、网络工程监理员、网络应用软件的开发与维护技术员、网络管理与维护人员等。3、就业前景:计算机网络技术专业就业前景:企业的IT技术管理岗位一般设置为企业信息主管、总监等; 工程技术岗位设置为网络工程师、 软件工程师和数据库工程师等;运行维护岗位设置为数据库管理员、 系统管理员、 网络管理员、 设备管理员等。操作岗位则设置为办公文员、CAD设计员、网页制作员、多媒体制作员等。 与软件技术人员相比,网络技术人员的从业范围更广,知识体系更复杂,职业技能要求更高,目前网络工程师成为实施国内信息化的巨大瓶颈。计算机应用技术专业就业前景:在诸多专业里计算机应用技术专业平均起步收入应该是很高的,而且就业面比较宽,各个行业都可以找到合适的工作。计算机应用技术专业就业趋势:从总体上讲,社会对计算机人才总需求量没有明显变化,但毕业生就业岗位分布和岗位层次将更宽泛,需求的主体由政府机关、金融单位、电信系统、国有企业转向教育系统、非公有制经济实体等中小用人单位。由于毕业生人数剧增,就业率与供求比例明显走低。4、核心课程:计算机网络技术:组网技术与网络管理、网络操作系统、网络数据库、网页制作、计算机网络与应用、网络通信技术、网络应用软件、JAVA编程基础、服务器配置与调试、网络硬件的配置与调试、计算机网络软件实训等,以及各校的主要特色课程和实践环节。计算机应用技术:Vfp数据库应用主要讲授数据库的基本原理,数据库系统的组成;关系型数据库的特点、基本运算、数据组成;以Visual Foxpro为实例,学习数据库的设计和开发,掌握数据库的应用。JAVA程序设计本课程主要讲授Java的语言规范、Java的编程技术及应用,主要内容有:Java基础、流程控制、方法、数组、面向对象程序设计基础、线程、图形用户界面设计等,使学生掌握用Java进行面向对象程序设计的基本方法。网页制作本课程主要讲授网站的设计、编辑、修改、上传,主要应用Dreamweaver cs5及Fireworkscs5。其中Dreamweavecs5是网页编辑软件,讲授其表格、框架、层等布局工具及超链接、CSS样式等相关知识, Fireworks是图形/图像处理软件,主要讲授静态图片的制作、处理及简单动态图片的制作。FLASH动画制作主要讲授网页动画设计软件Flash的使用方法,使学生掌握这一交互式动画设计工具,并能够利用它将音乐、声效、动画以及富有新意的界面融合在一起,以制作出高品质的网页动态效果。

计算机网络技术和计算机应用技术 哪个好

4,计算机网络技术专业一般学什么

计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。一个很形象地比喻就是我们的语言,我们大天朝地广人多,地方性语言也非常丰富,而且方言之间差距巨大。A地区的方言可能B地区的人根本无法接受,所以我们要为全国人名进行沟通建立一个语言标准,这就是我们的普通话的作用。同样,放眼全球,我们与外国友人沟通的标准语言是英语,所以我们才要苦逼的学习英语。  计算机网络协议同我们的语言一样,多种多样。而ARPA公司与1977年到1979年推出了一种名为ARPANET的网络协议受到了广泛的热捧,其中最主要的原因就是它推出了人尽皆知的TCP/IP标准网络协议。目前TCP/IP协议已经成为Internet中的“通用语言”,下图为不同计算机群之间利用TCP/IP进行通信的示意图。1. 网络层次划分  为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。其中第四层完成数据传送服务,上面三层面向用户。  除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议,它们之间的对应关系如下图所示:2. OSI七层网络模型  TCP/IP协议毫无疑问是互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。不管是OSI七层模型还是TCP/IP的四层、五层模型,每一层中都要自己的专属协议,完成自己相应的工作以及与上下层级之间进行沟通。由于OSI七层模型为网络的标准层次划分,所以我们以OSI七层模型为例从下向上进行一一介绍。  1)物理层(Physical Layer)  激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。  2)数据链路层(Data Link Layer)  数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。  有关数据链路层的重要知识点:  1> 数据链路层为网络层提供可靠的数据传输;  2> 基本数据单位为帧;  3> 主要的协议:以太网协议;  4> 两个重要设备名称:网桥和交换机。  3)网络层(Network Layer)  网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址”。  网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:  1> 网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;  2> 基本数据单位为IP数据报;  3> 包含的主要协议:  IP协议(Internet Protocol,因特网互联协议);  ICMP协议(Internet Control Message Protocol,因特网控制报文协议);  ARP协议(Address Resolution Protocol,地址解析协议);  RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。  4> 重要的设备:路由器。  4)传输层(Transport Layer)  第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。  传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。  网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。  有关网络层的重点:  1> 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;  2> 包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);  3> 重要设备:网关。  5)会话层  会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。  6)表示层  表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。  7)应用层  为操作系统或网络应用程序提供访问网络服务的接口。  会话层、表示层和应用层重点:  1> 数据传输基本单位为报文;  2> 包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。3. IP地址  1)网络地址  IP地址由网络号(包括子网号)和主机号组成,网络地址的主机号为全0,网络地址代表着整个网络。  2)广播地址  广播地址通常称为直接广播地址,是为了区分受限广播地址。  广播地址与网络地址的主机号正好相反,广播地址中,主机号为全1。当向某个网络的广播地址发送消息时,该网络内的所有主机都能收到该广播消息。  3)组播地址  D类地址就是组播地址。  先回忆下A,B,C,D类地址吧:  A类地址以00开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;  B类地址以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255;  C类地址以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。  D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);  E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。  注:只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。  4)255.255.255.255  该IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于,受限广播地址只能用于本地网络,路由器不会转发以受限广播地址为目的地址的分组;一般广播地址既可在本地广播,也可跨网段广播。例如:主机192.168.1.1/30上的直接广播数据包后,另外一个网段192.168.1.5/30也能收到该数据报;若发送受限广播数据报,则不能收到。  注:一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址不能通过路由器。  5)0.0.0.0  常用于寻找自己的IP地址,例如在我们的RARP,BOOTP和DHCP协议中,若某个未知IP地址的无盘机想要知道自己的IP地址,它就以255.255.255.255为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。  6)回环地址  127.0.0.0/8被用作回环地址,回环地址表示本机的地址,常用于对本机的测试,用的最多的是127.0.0.1。  7)A、B、C类私有地址  私有地址(private address)也叫专用地址,它们不会在全球使用,只具有本地意义。  A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255  B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255  C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.2554. 子网掩码及网络划分  随着互连网应用的不断扩大,原先的IPv4的弊端也逐渐暴露出来,即网络号占位太多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。  这里主要是为了在网络分段情况下有效地利用IP地址,通过对主机号的高位部分取作为子网号,从通常的网络位界限中扩展或压缩子网掩码,用来创建某类地址的更多子网。但创建更多的子网时,在每个子网上的可用主机地址数目会比原先减少。  什么是子网掩码?  子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。  在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。  子网掩码的计算:  对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:如某B类IP地址为 10.12.3.0,无须再分割子网,则该IP地址的子网掩码255.255.0.0。如果它是一个C类地址,则其子网掩码为 255.255.255.0。其它类推,不再详述。下面我们关键要介绍的是一个IP地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算。  下面总结一下有关子网掩码和网络划分常见的面试考题:  1)利用子网数来计算  在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。  (1) 将子网数目转化为二进制来表示;  如欲将B类IP地址168.195.0.0划分成27个子网:27=11011;  (2) 取得该二进制的位数,为N;  该二进制为五位数,N = 5  (3) 取得该IP地址的类子网掩码,将其主机地址部分的的前N位置1即得出该IP地址划分子网的子网掩码。  将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0  2)利用主机数来计算  如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:  (1) 将主机数目转化为二进制来表示;  700=1010111100;  (2) 如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位;  该二进制为十位数,N=10;  (3) 使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。  将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255,然后再从后向前将后 10位置0,即为:11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。  3)还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。  比如一个子网有10台主机,那么对于这个子网需要的IP地址是:  10+1+1+1=13  注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。  因为13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。  如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=17,17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。5. ARP/RARP协议  地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。  ARP工作流程举例:  主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;  主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;  当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:  (1)根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。  (2)如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。  (3)主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。  (4)主机B将包含其MAC地址的ARP回复消息直接发送回主机A。  (5)当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。  逆地址解析协议,即RARP,功能和ARP协议相对,其将局域网中某个主机的物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。  RARP协议工作流程:  (1)给主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;  (2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;  (3)如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;  (4)如果不存在,RARP服务器对此不做任何的响应;  (5)源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。6. 路由选择协议  常见的路由选择协议有:RIP协议、OSPF协议。  RIP协议 :底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。  OSPF协议 :Open Shortest Path First开放式最短路径优先,底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。7. TCP/IP协议  TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。  IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是否按顺序发送的或者有没有被破坏,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。  TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。  TCP报文首部格式:  TCP协议的三次握手和四次挥手:  注:seq:"sequance"序列号;ack:"acknowledge"确认号;SYN:"synchronize"请求同步标志;;ACK:"acknowledge"确认标志";FIN:"Finally"结束标志。  TCP连接建立过程:首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。  TCP连接断开过程:假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,"告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息"。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,"告诉Client端,好了,我这边数据发完了,准备好关闭连接了"。Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,"就知道可以断开连接了"。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!  为什么要三次挥手?  在只有两次“握手”的情形下,假设Client想跟Server建立连接,但是却因为中途连接请求的数据报丢失了,故Client端不得不重新发送一遍;这个时候Server端仅收到一个连接请求,因此可以正常的建立连接。但是,有时候Client端重新发送请求不是因为数据报丢失了,而是有可能数据传输过程因为网络并发量很大在某结点被阻塞了,这种情形下Server端将先后收到2次请求,并持续等待两个Client请求向他发送数据...问题就在这里,Cient端实际上只有一次请求,而Server端却有2个响应,极端的情况可能由于Client端多次重新发送请求数据而导致Server端最后建立了N多个响应在等待,因而造成极大的资源浪费!所以,“三次握手”很有必要!  为什么要四次挥手?  试想一下,假如现在你是客户端你想断开跟Server的所有连接该怎么做?第一步,你自己先停止向Server端发送数据,并等待Server的回复。但事情还没有完,虽然你自身不往Server发送数据了,但是因为你们之前已经建立好平等的连接了,所以此时他也有主动权向你发送数据;故Server端还得终止主动向你发送数据,并等待你的确认。其实,说白了就是保证双方的一个合约的完整执行!  使用TCP的协议:FTP(文件传输协议)、Telnet(远程登录协议)、SMTP(简单邮件传输协议)、POP3(和SMTP相对,用于接收邮件)、HTTP协议等。8. UDP协议   UDP用户数据报协议,是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。  UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。  每个UDP报文分UDP报头和UDP数据区两部分。报头由四个16位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验值。UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:  (1)源端口号;  (2)目标端口号;  (3)数据报长度;  (4)校验值。  使用UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS、BOOTP。  TCP 与 UDP 的区别:TCP是面向连接的,可靠的字节流服务;UDP是面向无连接的,不可靠的数据报服务。9. DNS协议  DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务,可以简单地理解为将URL转换为IP地址。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。10. NAT协议  NAT网络地址转换(Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。11. DHCP协议  DHCP动态主机设置协议(Dynamic Host Configuration Protocol)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。12. HTTP协议  超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。  HTTP 协议包括哪些请求?  GET:请求读取由URL所标志的信息。  POST:给服务器添加信息(如注释)。  PUT:在给定的URL下存储一个文档。  DELETE:删除给定的URL所标志的资源。  HTTP 中, POST 与 GET 的区别  1)Get是从服务器上获取数据,Post是向服务器传送数据。  2)Get是把参数数据队列加到提交表单的Action属性所指向的URL中,值和表单内各个字段一一对应,在URL中可以看到。  3)Get传送的数据量小,不能大于2KB;Post传送的数据量较大,一般被默认为不受限制。  4)根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。  I. 所谓 安全的 意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。  II. 幂等 的意味着对同一URL的多个请求应该返回同样的结果。13. 一个举例  在浏览器中输入 www.baidu.com 后执行的全部过程  现在假设如果我们在客户端(客户端)浏览器中输入http://www.baidu.com,而baidu.com为要访问的服务器(服务器),下面详细分析客户端为了访问服务器而执行的一系列关于协议的操作:  1)客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。  2)在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。  3)客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。  4)客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。
计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。一个很形象地比喻就是我们的语言,我们大天朝地广人多,地方性语言也非常丰富,而且方言之间差距巨大。A地区的方言可能B地区的人根本无法接受,所以我们要为全国人名进行沟通建立一个语言标准,这就是我们的普通话的作用。同样,放眼全球,我们与外国友人沟通的标准语言是英语,所以我们才要苦逼的学习英语。  计算机网络协议同我们的语言一样,多种多样。而ARPA公司与1977年到1979年推出了一种名为ARPANET的网络协议受到了广泛的热捧,其中最主要的原因就是它推出了人尽皆知的TCP/IP标准网络协议。目前TCP/IP协议已经成为Internet中的“通用语言”,下图为不同计算机群之间利用TCP/IP进行通信的示意图。1. 网络层次划分  为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。其中第四层完成数据传送服务,上面三层面向用户。  除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议,它们之间的对应关系如下图所示:2. OSI七层网络模型  TCP/IP协议毫无疑问是互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。不管是OSI七层模型还是TCP/IP的四层、五层模型,每一层中都要自己的专属协议,完成自己相应的工作以及与上下层级之间进行沟通。由于OSI七层模型为网络的标准层次划分,所以我们以OSI七层模型为例从下向上进行一一介绍。  1)物理层(Physical Layer)  激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。  2)数据链路层(Data Link Layer)  数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。  有关数据链路层的重要知识点:  1> 数据链路层为网络层提供可靠的数据传输;  2> 基本数据单位为帧;  3> 主要的协议:以太网协议;  4> 两个重要设备名称:网桥和交换机。  3)网络层(Network Layer)  网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址”。  网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:  1> 网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;  2> 基本数据单位为IP数据报;  3> 包含的主要协议:  IP协议(Internet Protocol,因特网互联协议);  ICMP协议(Internet Control Message Protocol,因特网控制报文协议);  ARP协议(Address Resolution Protocol,地址解析协议);  RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。  4> 重要的设备:路由器。  4)传输层(Transport Layer)  第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。  传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。  网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。  有关网络层的重点:  1> 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;  2> 包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);  3> 重要设备:网关。  5)会话层  会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。  6)表示层  表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。  7)应用层  为操作系统或网络应用程序提供访问网络服务的接口。  会话层、表示层和应用层重点:  1> 数据传输基本单位为报文;  2> 包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。3. IP地址  1)网络地址  IP地址由网络号(包括子网号)和主机号组成,网络地址的主机号为全0,网络地址代表着整个网络。  2)广播地址  广播地址通常称为直接广播地址,是为了区分受限广播地址。  广播地址与网络地址的主机号正好相反,广播地址中,主机号为全1。当向某个网络的广播地址发送消息时,该网络内的所有主机都能收到该广播消息。  3)组播地址  D类地址就是组播地址。  先回忆下A,B,C,D类地址吧:  A类地址以00开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;  B类地址以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255;  C类地址以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。  D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);  E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。  注:只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。  4)255.255.255.255  该IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于,受限广播地址只能用于本地网络,路由器不会转发以受限广播地址为目的地址的分组;一般广播地址既可在本地广播,也可跨网段广播。例如:主机192.168.1.1/30上的直接广播数据包后,另外一个网段192.168.1.5/30也能收到该数据报;若发送受限广播数据报,则不能收到。  注:一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址不能通过路由器。  5)0.0.0.0  常用于寻找自己的IP地址,例如在我们的RARP,BOOTP和DHCP协议中,若某个未知IP地址的无盘机想要知道自己的IP地址,它就以255.255.255.255为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。  6)回环地址  127.0.0.0/8被用作回环地址,回环地址表示本机的地址,常用于对本机的测试,用的最多的是127.0.0.1。  7)A、B、C类私有地址  私有地址(private address)也叫专用地址,它们不会在全球使用,只具有本地意义。  A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255  B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255  C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.2554. 子网掩码及网络划分  随着互连网应用的不断扩大,原先的IPv4的弊端也逐渐暴露出来,即网络号占位太多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。  这里主要是为了在网络分段情况下有效地利用IP地址,通过对主机号的高位部分取作为子网号,从通常的网络位界限中扩展或压缩子网掩码,用来创建某类地址的更多子网。但创建更多的子网时,在每个子网上的可用主机地址数目会比原先减少。  什么是子网掩码?  子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。  在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。  子网掩码的计算:  对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:如某B类IP地址为 10.12.3.0,无须再分割子网,则该IP地址的子网掩码255.255.0.0。如果它是一个C类地址,则其子网掩码为 255.255.255.0。其它类推,不再详述。下面我们关键要介绍的是一个IP地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算。  下面总结一下有关子网掩码和网络划分常见的面试考题:  1)利用子网数来计算  在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。  (1) 将子网数目转化为二进制来表示;  如欲将B类IP地址168.195.0.0划分成27个子网:27=11011;  (2) 取得该二进制的位数,为N;  该二进制为五位数,N = 5  (3) 取得该IP地址的类子网掩码,将其主机地址部分的的前N位置1即得出该IP地址划分子网的子网掩码。  将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0  2)利用主机数来计算  如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:  (1) 将主机数目转化为二进制来表示;  700=1010111100;  (2) 如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位;  该二进制为十位数,N=10;  (3) 使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。  将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255,然后再从后向前将后 10位置0,即为:11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。  3)还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。  比如一个子网有10台主机,那么对于这个子网需要的IP地址是:  10+1+1+1=13  注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。  因为13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。  如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=17,17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。5. ARP/RARP协议  地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。  ARP工作流程举例:  主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;  主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;  当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:  (1)根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。  (2)如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。  (3)主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。  (4)主机B将包含其MAC地址的ARP回复消息直接发送回主机A。  (5)当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。  逆地址解析协议,即RARP,功能和ARP协议相对,其将局域网中某个主机的物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。  RARP协议工作流程:  (1)给主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;  (2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;  (3)如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;  (4)如果不存在,RARP服务器对此不做任何的响应;  (5)源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。6. 路由选择协议  常见的路由选择协议有:RIP协议、OSPF协议。  RIP协议 :底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。  OSPF协议 :Open Shortest Path First开放式最短路径优先,底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。7. TCP/IP协议  TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。  IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是否按顺序发送的或者有没有被破坏,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。  TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。  TCP报文首部格式:  TCP协议的三次握手和四次挥手:  注:seq:"sequance"序列号;ack:"acknowledge"确认号;SYN:"synchronize"请求同步标志;;ACK:"acknowledge"确认标志";FIN:"Finally"结束标志。  TCP连接建立过程:首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。  TCP连接断开过程:假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,"告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息"。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,"告诉Client端,好了,我这边数据发完了,准备好关闭连接了"。Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,"就知道可以断开连接了"。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!  为什么要三次挥手?  在只有两次“握手”的情形下,假设Client想跟Server建立连接,但是却因为中途连接请求的数据报丢失了,故Client端不得不重新发送一遍;这个时候Server端仅收到一个连接请求,因此可以正常的建立连接。但是,有时候Client端重新发送请求不是因为数据报丢失了,而是有可能数据传输过程因为网络并发量很大在某结点被阻塞了,这种情形下Server端将先后收到2次请求,并持续等待两个Client请求向他发送数据...问题就在这里,Cient端实际上只有一次请求,而Server端却有2个响应,极端的情况可能由于Client端多次重新发送请求数据而导致Server端最后建立了N多个响应在等待,因而造成极大的资源浪费!所以,“三次握手”很有必要!  为什么要四次挥手?  试想一下,假如现在你是客户端你想断开跟Server的所有连接该怎么做?第一步,你自己先停止向Server端发送数据,并等待Server的回复。但事情还没有完,虽然你自身不往Server发送数据了,但是因为你们之前已经建立好平等的连接了,所以此时他也有主动权向你发送数据;故Server端还得终止主动向你发送数据,并等待你的确认。其实,说白了就是保证双方的一个合约的完整执行!  使用TCP的协议:FTP(文件传输协议)、Telnet(远程登录协议)、SMTP(简单邮件传输协议)、POP3(和SMTP相对,用于接收邮件)、HTTP协议等。8. UDP协议   UDP用户数据报协议,是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。  UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。  每个UDP报文分UDP报头和UDP数据区两部分。报头由四个16位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验值。UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:  (1)源端口号;  (2)目标端口号;  (3)数据报长度;  (4)校验值。  使用UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS、BOOTP。  TCP 与 UDP 的区别:TCP是面向连接的,可靠的字节流服务;UDP是面向无连接的,不可靠的数据报服务。9. DNS协议  DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务,可以简单地理解为将URL转换为IP地址。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。10. NAT协议  NAT网络地址转换(Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。11. DHCP协议  DHCP动态主机设置协议(Dynamic Host Configuration Protocol)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。12. HTTP协议  超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。  HTTP 协议包括哪些请求?  GET:请求读取由URL所标志的信息。  POST:给服务器添加信息(如注释)。  PUT:在给定的URL下存储一个文档。  DELETE:删除给定的URL所标志的资源。  HTTP 中, POST 与 GET 的区别  1)Get是从服务器上获取数据,Post是向服务器传送数据。  2)Get是把参数数据队列加到提交表单的Action属性所指向的URL中,值和表单内各个字段一一对应,在URL中可以看到。  3)Get传送的数据量小,不能大于2KB;Post传送的数据量较大,一般被默认为不受限制。  4)根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。  I. 所谓 安全的 意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。  II. 幂等 的意味着对同一URL的多个请求应该返回同样的结果。13. 一个举例  在浏览器中输入 www.baidu.com 后执行的全部过程  现在假设如果我们在客户端(客户端)浏览器中输入http://www.baidu.com,而baidu.com为要访问的服务器(服务器),下面详细分析客户端为了访问服务器而执行的一系列关于协议的操作:  1)客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。  2)在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。  3)客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。  4)客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。计算机网络技术专业一般追求知识面宽,而不需要专精 于某一项技术,建议学习过程中广范了解一下网络设备配置,计算机维护维修网络综合步线,服务器操作配置,数据库维护等,网页设计等知识
计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。一个很形象地比喻就是我们的语言,我们大天朝地广人多,地方性语言也非常丰富,而且方言之间差距巨大。A地区的方言可能B地区的人根本无法接受,所以我们要为全国人名进行沟通建立一个语言标准,这就是我们的普通话的作用。同样,放眼全球,我们与外国友人沟通的标准语言是英语,所以我们才要苦逼的学习英语。  计算机网络协议同我们的语言一样,多种多样。而ARPA公司与1977年到1979年推出了一种名为ARPANET的网络协议受到了广泛的热捧,其中最主要的原因就是它推出了人尽皆知的TCP/IP标准网络协议。目前TCP/IP协议已经成为Internet中的“通用语言”,下图为不同计算机群之间利用TCP/IP进行通信的示意图。1. 网络层次划分  为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。其中第四层完成数据传送服务,上面三层面向用户。  除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议,它们之间的对应关系如下图所示:2. OSI七层网络模型  TCP/IP协议毫无疑问是互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。不管是OSI七层模型还是TCP/IP的四层、五层模型,每一层中都要自己的专属协议,完成自己相应的工作以及与上下层级之间进行沟通。由于OSI七层模型为网络的标准层次划分,所以我们以OSI七层模型为例从下向上进行一一介绍。  1)物理层(Physical Layer)  激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。  2)数据链路层(Data Link Layer)  数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。  有关数据链路层的重要知识点:  1> 数据链路层为网络层提供可靠的数据传输;  2> 基本数据单位为帧;  3> 主要的协议:以太网协议;  4> 两个重要设备名称:网桥和交换机。  3)网络层(Network Layer)  网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。如果您想用尽量少的词来记住网络层,那就是“路径选择、路由及逻辑寻址”。  网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:  1> 网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;  2> 基本数据单位为IP数据报;  3> 包含的主要协议:  IP协议(Internet Protocol,因特网互联协议);  ICMP协议(Internet Control Message Protocol,因特网控制报文协议);  ARP协议(Address Resolution Protocol,地址解析协议);  RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。  4> 重要的设备:路由器。  4)传输层(Transport Layer)  第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。  传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。  网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。  有关网络层的重点:  1> 传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;  2> 包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);  3> 重要设备:网关。  5)会话层  会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。  6)表示层  表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。  7)应用层  为操作系统或网络应用程序提供访问网络服务的接口。  会话层、表示层和应用层重点:  1> 数据传输基本单位为报文;  2> 包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。3. IP地址  1)网络地址  IP地址由网络号(包括子网号)和主机号组成,网络地址的主机号为全0,网络地址代表着整个网络。  2)广播地址  广播地址通常称为直接广播地址,是为了区分受限广播地址。  广播地址与网络地址的主机号正好相反,广播地址中,主机号为全1。当向某个网络的广播地址发送消息时,该网络内的所有主机都能收到该广播消息。  3)组播地址  D类地址就是组播地址。  先回忆下A,B,C,D类地址吧:  A类地址以00开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;  B类地址以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255;  C类地址以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。  D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);  E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。  注:只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。  4)255.255.255.255  该IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于,受限广播地址只能用于本地网络,路由器不会转发以受限广播地址为目的地址的分组;一般广播地址既可在本地广播,也可跨网段广播。例如:主机192.168.1.1/30上的直接广播数据包后,另外一个网段192.168.1.5/30也能收到该数据报;若发送受限广播数据报,则不能收到。  注:一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址不能通过路由器。  5)0.0.0.0  常用于寻找自己的IP地址,例如在我们的RARP,BOOTP和DHCP协议中,若某个未知IP地址的无盘机想要知道自己的IP地址,它就以255.255.255.255为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。  6)回环地址  127.0.0.0/8被用作回环地址,回环地址表示本机的地址,常用于对本机的测试,用的最多的是127.0.0.1。  7)A、B、C类私有地址  私有地址(private address)也叫专用地址,它们不会在全球使用,只具有本地意义。  A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255  B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255  C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.2554. 子网掩码及网络划分  随着互连网应用的不断扩大,原先的IPv4的弊端也逐渐暴露出来,即网络号占位太多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。  这里主要是为了在网络分段情况下有效地利用IP地址,通过对主机号的高位部分取作为子网号,从通常的网络位界限中扩展或压缩子网掩码,用来创建某类地址的更多子网。但创建更多的子网时,在每个子网上的可用主机地址数目会比原先减少。  什么是子网掩码?  子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。  在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。  子网掩码的计算:  对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:如某B类IP地址为 10.12.3.0,无须再分割子网,则该IP地址的子网掩码255.255.0.0。如果它是一个C类地址,则其子网掩码为 255.255.255.0。其它类推,不再详述。下面我们关键要介绍的是一个IP地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算。  下面总结一下有关子网掩码和网络划分常见的面试考题:  1)利用子网数来计算  在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。  (1) 将子网数目转化为二进制来表示;  如欲将B类IP地址168.195.0.0划分成27个子网:27=11011;  (2) 取得该二进制的位数,为N;  该二进制为五位数,N = 5  (3) 取得该IP地址的类子网掩码,将其主机地址部分的的前N位置1即得出该IP地址划分子网的子网掩码。  将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0  2)利用主机数来计算  如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:  (1) 将主机数目转化为二进制来表示;  700=1010111100;  (2) 如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位;  该二进制为十位数,N=10;  (3) 使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。  将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255,然后再从后向前将后 10位置0,即为:11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。  3)还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。  比如一个子网有10台主机,那么对于这个子网需要的IP地址是:  10+1+1+1=13  注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。  因为13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。  如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=17,17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。5. ARP/RARP协议  地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。  ARP工作流程举例:  主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;  主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;  当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:  (1)根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。  (2)如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。  (3)主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。  (4)主机B将包含其MAC地址的ARP回复消息直接发送回主机A。  (5)当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。  逆地址解析协议,即RARP,功能和ARP协议相对,其将局域网中某个主机的物理地址转换为IP地址,比如局域网中有一台主机只知道物理地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。  RARP协议工作流程:  (1)给主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;  (2)本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;  (3)如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;  (4)如果不存在,RARP服务器对此不做任何的响应;  (5)源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。6. 路由选择协议  常见的路由选择协议有:RIP协议、OSPF协议。  RIP协议 :底层是贝尔曼福特算法,它选择路由的度量标准(metric)是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。  OSPF协议 :Open Shortest Path First开放式最短路径优先,底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽,延迟。7. TCP/IP协议  TCP/IP协议是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。  IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是否按顺序发送的或者有没有被破坏,IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。  TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。  TCP报文首部格式:  TCP协议的三次握手和四次挥手:  注:seq:"sequance"序列号;ack:"acknowledge"确认号;SYN:"synchronize"请求同步标志;;ACK:"acknowledge"确认标志";FIN:"Finally"结束标志。  TCP连接建立过程:首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。  TCP连接断开过程:假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,"告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息"。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,"告诉Client端,好了,我这边数据发完了,准备好关闭连接了"。Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,"就知道可以断开连接了"。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!  为什么要三次挥手?  在只有两次“握手”的情形下,假设Client想跟Server建立连接,但是却因为中途连接请求的数据报丢失了,故Client端不得不重新发送一遍;这个时候Server端仅收到一个连接请求,因此可以正常的建立连接。但是,有时候Client端重新发送请求不是因为数据报丢失了,而是有可能数据传输过程因为网络并发量很大在某结点被阻塞了,这种情形下Server端将先后收到2次请求,并持续等待两个Client请求向他发送数据...问题就在这里,Cient端实际上只有一次请求,而Server端却有2个响应,极端的情况可能由于Client端多次重新发送请求数据而导致Server端最后建立了N多个响应在等待,因而造成极大的资源浪费!所以,“三次握手”很有必要!  为什么要四次挥手?  试想一下,假如现在你是客户端你想断开跟Server的所有连接该怎么做?第一步,你自己先停止向Server端发送数据,并等待Server的回复。但事情还没有完,虽然你自身不往Server发送数据了,但是因为你们之前已经建立好平等的连接了,所以此时他也有主动权向你发送数据;故Server端还得终止主动向你发送数据,并等待你的确认。其实,说白了就是保证双方的一个合约的完整执行!  使用TCP的协议:FTP(文件传输协议)、Telnet(远程登录协议)、SMTP(简单邮件传输协议)、POP3(和SMTP相对,用于接收邮件)、HTTP协议等。8. UDP协议   UDP用户数据报协议,是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。  UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。  每个UDP报文分UDP报头和UDP数据区两部分。报头由四个16位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验值。UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:  (1)源端口号;  (2)目标端口号;  (3)数据报长度;  (4)校验值。  使用UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS、BOOTP。  TCP 与 UDP 的区别:TCP是面向连接的,可靠的字节流服务;UDP是面向无连接的,不可靠的数据报服务。9. DNS协议  DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务,可以简单地理解为将URL转换为IP地址。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。10. NAT协议  NAT网络地址转换(Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。11. DHCP协议  DHCP动态主机设置协议(Dynamic Host Configuration Protocol)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。12. HTTP协议  超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。  HTTP 协议包括哪些请求?  GET:请求读取由URL所标志的信息。  POST:给服务器添加信息(如注释)。  PUT:在给定的URL下存储一个文档。  DELETE:删除给定的URL所标志的资源。  HTTP 中, POST 与 GET 的区别  1)Get是从服务器上获取数据,Post是向服务器传送数据。  2)Get是把参数数据队列加到提交表单的Action属性所指向的URL中,值和表单内各个字段一一对应,在URL中可以看到。  3)Get传送的数据量小,不能大于2KB;Post传送的数据量较大,一般被默认为不受限制。  4)根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。  I. 所谓 安全的 意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。  II. 幂等 的意味着对同一URL的多个请求应该返回同样的结果。13. 一个举例  在浏览器中输入 www.baidu.com 后执行的全部过程  现在假设如果我们在客户端(客户端)浏览器中输入http://www.baidu.com,而baidu.com为要访问的服务器(服务器),下面详细分析客户端为了访问服务器而执行的一系列关于协议的操作:  1)客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。  2)在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。  3)客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。  4)客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。计算机网络技术专业一般追求知识面宽,而不需要专精 于某一项技术,建议学习过程中广范了解一下网络设备配置,计算机维护维修网络综合步线,服务器操作配置,数据库维护等,网页设计等知识感谢邀请。上大学的时候学的是计算机网络,现在来回答一下您提出的问题。第一、计算机的专业课程。大一到大四,会一依次开设难易程度不同的计算机专业课程。有计算机基础知识、photoshop、Dreamwear、计算机网络、汇编语言、c语言程序设计、Java语言程序设计、VB语言程序设计、微机原理、操作系统、网页设计、数据库与数据库系统、编译原理、网络管理。同时随着这几年大数据、物联网、人工智能等概念的兴起,学校也与时俱进的增开了物联网、大数据、人工智能等课程。第二、与计算机连接比较紧密的课程。如高等数学、线性代数、离散数学、大学物理、大学外语、电子技术等。第三、其他基础性课程。道德修养、法律基础。、马克思主义哲学原理、马克思主义政治经济学、毛泽东思想概论、邓小平理论概论。大学生心理学、大学生体育学、大学生健康教育等。第四、广泛的选修课。大学里的选修课很多,大家可以根据自己的爱好去选择。比如有音乐鉴赏与学习、红楼梦赏析、中国神秘学等等。最后不管学习什么,不要荒废美好的大学人生,一定要找自己感兴趣的,因为只有感兴趣,才有可能做出成就。为以后的毕业就业做准备,为以后的人生大厦铸建基石。

5,计算机网络的基本组成是什么

服务器、工作站、通信设备、传输介质
2台主机,1交换机2根网线
、计算机系统 计算机系统主要完成数据信息的收集、存储、处理和输出任务,并提供各种网络资源。计算机系统根据在网络中的用途可分为两类:主计算机和终端。 X主计算机(Host) 主计算机负责数据处理和网络

6,什么是网络计算机和PC有什么区别

终端 开放分类:IT终端Terminal 终端通常是指那些与集中式主机系统(例如IBM大型计算机)相连的“哑”用户设备。终端从用户接收键盘输入,并且将这些输入发送给主机系统。主机系统处理这个用户的键盘输入和命令,然后输出返回并显示在这个终端的屏幕上。个人计算机可以运行称为终端仿真器的一些程序来模仿一个哑终端的工作。 在IBM环境,终端是端点用户用于和主机通信的设备。这种设备可以是监视器、键盘设备或打印设备。它们用同轴电缆和一个群控器(clustercontroller)相连,这个群控器可以直接连接到一台主机,也可以通过一个通信控制器连接到这台主机。多达32个终端可以连接到一个单一的群控器上,具体数字要视这个群控器的型号而定。每个终端可以使用一条独立的电缆连接到这个群控器,也可以为了节省电缆,将它连接到一个附近的多路复用器,而这个多路复用器通过一条电缆连接到远方的群控器上。 在IBM网络体系结构(SNA)环境,群控器被称为物理部件(PU)型号2设备,与这个群控器连接的终端被称为逻辑部件(LU)2设备。连接到PU型号2的打印设备可以是LU型号1,也可以是LU型号3,具体情况要视打印机的类型而定。 有两种类型的IBM3270终端设备。型号A设备提供对一些扩展属性的支持,这些扩展属性包括颜色、高亮度、反视和特殊字符集。型号B是不具有这些特殊属性的老式设备。 还可以将ASCII终端,如IBM的3100系列、DEC的VT-52和VT100系列、Televideo的900系列和其它终端,通过电缆连接IBM3708、3710或7171协议转换器,连接到一台IBM主机,详细介绍参见“IBM大型计算机环境”。所有的ASCII终端使用RS-232-C(或RS-422-A)接口,而不是同轴电缆连接。 可以将终端和个人计算机连接,并可以使用个人计算机运行主机应用程序。一种方式是增加一个特殊适配器卡和3270仿真软件的组合。这个适配器提供一个同轴电缆连接器,所以这个人计算机就可以连接到一个群控器,并且这个软件使得这个终端仿真IBM终端。在仿真模式,PC可以与这个大型计算机具有多个并发的会话。 终端,即计算机显示终端,是计算机系统的输入、输出设备。计算机显示终端伴随主机时代的集中处理模式而产生,并随着计算技术的发展而不断发展。迄今为止,计算技术经历了主机时代、PC时代和网络计算时代这三个发展时期,终端与计算技术发展的三个阶段相适应,应用也经历了字符哑终端、图形终端和网络终端这三个形态。终端的分类:目前常见的客户端设备分为两类:一类是胖客户端,一类是瘦客户端。那么,把以PC为代表的基于开放性工业标准架构、功能比较强大的设备叫做“胖客户端”,其他归入“瘦客户端”。瘦客户机产业的空间和规模也很大,不会亚于PC现在的规模。1.从技术层面讲,数据处理模式将从分散走向集中,用户界面将更加人性化,可管理性和安全性也将大大提升;同时,通信和信息处理方式也将全面实现网络化,并可实现前所未有的系统扩展能力和跨平台能力。2.从应用形态讲,网络终端设备将不局限在传统的桌面应用环境,随着连接方式的多样化,它既可以作为桌面设备使用,也能够以移动和便携方式使用,终端设备会有多样化的产品形态;此外,随着跨平台能力的扩展,为了满足不同系统应用的需要,网络终端设备也将以众多的面孔出现:Unix终端、Windows终端、Linux终端、Web终端、Java终端等等。3.从应用领域讲,字符哑终端和图形终端时代的终端设备只能用于窗口服务行业和柜台业务的局面将一去不复返,网上银行、网上证券、银行低柜业务等非柜台业务将广泛采用网络终端设备,同时网络终端设备的应用领域还将会迅速拓展至电信、电力、税务、教育以及政府等新兴的非金融行业。

7,计算机三级

国家计算机三级有4类:网络,数据库,信息管理,PC技术。前三个是偏软件类,上机是c语言,PC技术偏硬件,上机是汇编。从内容上讲我个人认为网络最容易,其次是PC技术,信息管理和数据库对于非计算机专业的人来说比较难些。报哪类和专业关系不大,主要应该看你的报名目标,是为了真的学点东西呢还是只是为了拿证书?说实话现在计算机证书除了思科比较权威以外,剩下的都不足以证明真正的计算机能力了,就连微软认证也不例外。我就见过拿到微软系统认证工程师了居然连操作系统都不会装的人。国家三级从某种程度上讲纯粹是拿证书,只要会c语言,报个网络技术是最捷径的方法,只要做熟了真题和南开100题就能过。所以3级考试报网络技术的人是最多的。 所以看楼主的定位了,以你的专业来说,如果要方便省心的话就报网络技术,稍微认真看看通过不成问题。如果要是真想学点东西的话我觉得还是数据库好点。 我是非计算机专业的,但对计算机很感兴趣,平时的电脑应用也很自如,但数据库的书我一点也看不懂,所以觉得数据库最难。以上为个人经验,仅供参考。

8,计算机专业都学什么

计算机专业所学的知识大多数是对计算机的使用,以及掌握互联网操作的工具,与该专业最为相关的几个课程内容就是计算机网络、C语言、计算机的组装和维修维护、局域网的组建等等。现在好多人都会给考生们推荐计算机专业,那这个专业都学些什么课程内容呢?计算机专业学什么首先,计算机专业一定是和电脑互联网有关,所以计算机专业所学的知识也大多数是对计算机的使用,以及掌握互联网操作的工具。计算机专业要学的内容其实很多,与该专业最为相关的几个课程内容就是计算机网络、C语言、计算机的组装和维修维护、局域网的组建等等,虽然都是计算机专业里需要掌握的课程,但想要达到精通的程度,并不是非常容易。就拿C语言来说,需要背的内容就很多,不能下苦功夫学习的话也就只能是半吊子,随便一个简单的代码都写不出来,找出程序的错误更是难上加难。计算机的组装这是最基本的了,教你认识计算机主机里各种零部件,而且作为计算机专业的学生,最基本的都要掌握如何安装系统。还有就是一些关于计算机的配置相关课程,学计算机很容易,学好就非常困难,互联网这大千世界,想要了解所有就不是一件容易的事。但却可以抽出其中的一部分,例如网络布线技术,努力研究,一定会是这方面资深的专家。计算机专业的就业前景在互联网时代下,计算机专业的同学确实很吃香。但也是有条件的,那就是精通其中一个方面。计算机专业的学生未来就业还是很容易的,只是根据自己的掌握能力不同,可能职位会有所差异,那么薪资待遇也就会不同。

9,计算机类专业包括哪些

计算机是同学们比较青睐的一类专业,它属于工学门类,本科专业有计算机科学与技术、智能科学与技术、软件工程专业等等,专科专业有计算机应用技术、软件技术等等。计算机类专业有很多,本科专业属于工学门类,专科专业属于电子信息门类,偏理科,男生女生都可以报考,具体应以各高校招生计划为准。本科计算机类专业有计算机科学与技术、数字媒体技术、网络工程、软件工程、物联网工程、智能科学与技术、信息安全、电子与计算机工程、空间信息与数字技术等,专科计算机类专业有计算机网络技术、计算机应用技术、软件技术、计算机信息管理、嵌入式技术与应用等。学计算机类相关专业最好的学校有清华、北大、浙江大学、国防科技大学,这四所大学计算机科学与技术学科在第四轮学科评估当中均为A+。此外,该学科评估结果为A的学校还有北航、北邮、哈工大、上海交大、南京大学、华中科技、电子科技大学等7所。计算机类专业里面比较热门的是智能科学与技术、空间信息与数字技术等,大家在报考这些专业时要对专业内涵有深入了解,不要盲目追逐热门专业,因为不少专业对考生能力要求较高,一些专业学生自身实力不强毕业是很难就业的,所以适合自己的专业才是最好的。
计算机类专业有很多,本科专业属于工学门类,专科专业属于电子信息门类,偏理科,男生女生都可以报考,具体应以各高校招生计划为准。本科计算机类专业有计算机科学与技术、数字媒体技术、网络工程、软件工程、物联网工程、智能科学与技术、信息安全、电子与计算机工程、空间信息与数字技术等,专科计算机类专业有计算机网络技术、计算机应用技术、软件技术、计算机信息管理、嵌入式技术与应用等。

10,计算机网络用来干什么主要功能是什么

计算机网络的功能与相应的可以做的事情:  1、数据通信。数据通信是计算机网络最基本的功能。它用来快速传送计算机与终端、计算机与计算机之间的各种信息,包括文字信件、新闻消息、咨询信息、图片资料、报纸版面等。  利用这一特点,可实现将分散在各个地区的单位或部门用计算机网络联系起来,进行统一的调配、控制和管理。  2、资源共享。“资源”指的是网络中所有的软件、硬件和数据资源。“共享”指的是网络中的用户都能够部分或全部地享受这些资源。  例如,某些地区或单位的数据库(如飞机机票、饭店客房等)可供全网使用;某些单位设计的软件可供需要的地方有偿调用或办理一定手续后调用;一些外部设备如打印机,可面向用户,使不具有这些设备的地方也能使用这些硬件设备。如果不能实现资源共享,各地区都需要有完整的一套软、硬件及数据资源,则将大大地增加全系统的投资费用。 分布处理 当某台计算机负担过重时,或该计算机正在处理某项工作时,网络可将新任务转交给空闲的计算机来完成,这样处理能均衡各计算机的负载,提高处理问题的实时性;对大型综合性问题,可将问题各部分交给不同的计算机分头处理,充分利用网络资源,扩大计算机的处理能力,即增强实用性。对解决复杂问题来讲,多台计算机联合使用并构成高性能的计算机体系,这种协同工作、并行处理要比单独购置高性能的大型计算机便宜得多。
01、什么是计算机网络? 计算机网络是指将有独立功能的多台计算机,通过通信设备线路连接起来,在网络软件的支持下,实现彼此之间资源共享和数据通信的整个系统。 (重点)02、计算机网络的基本功能是什么? 计算机网络的基本功能是数据通信和资源共享。 03、资源共享主要是指哪些资源? 资源共享包括硬件、软件和数据资源的共享。 04、计算机网络根据其覆盖范围可分为哪三类? 计算机网络根据其覆盖范围可分为局域网、城域网和广域网。 05、学校的校园网应该属于(4)所说的哪一类? 校园网属于局域网。 06、基于服务器的网络与对等网有何区别? 基于服务器的网络中由服务器来管理网络,并为网络用户提供共享服务,而在对等网中没有专用服务器,网络中的每台计算机即作为一台非专业服务器管理自己的资源和用户,为其他计算机提供软硬件资源的共享服务。同时又可作为客户机共享其他计算机的资源。 07、服务器在网络中的作用是什么? 服务器在网络中的主要作用是管理网络,为网络用户提供共享资源。 08、internet可以为我们提供哪些服务? internet可以为我们提供多种服务如,电子邮件、文件传输、信息查询、网上新闻、各种论坛和电子商务等。 09、什么是因特网上的ip地址? ip地址是计算机在因特网上的惟一标识。 10、ip地址通常是如何表示的? ip地址由32位二进制数组成,写成4组十进制数,每组之间有圆点隔开。这基本就是考试所要回答的基本范畴,离不开这些话,自己注意重点...

文章TAG:网络计算机  
下一篇