导航:首页 > 网络安全 > 如何考察测试对网络协议的理解

如何考察测试对网络协议的理解

发布时间:2022-04-02 15:28:41

如何学习网络协议

网络这东西就是一个靠实践的东西,只靠看书是不行的。当年在学校还上过史美林教授/张公忠教授所讲的计算机网络体系结构课,用的是Tanabaum写的那本,考试还得了九十多分,可实际还是连TCP和UDP有什么区别都分不清,就是死记背,到毕业的时候基本上是忘光了,工作后等于重新来过。 上班了要在Linux做一些底层的网络处理,不得不从头来学Linux和网络,编程部分主要看Richard Stevens的那几本书:APUE、UNP、TCP/IP Illustraion等,学Linux则看得很杂,市面上各种Linux入门书大都翻了一遍,俺是习惯在书店里看书,爱看书而不爱买书,汗,,然后就是去各大BBS、论坛把他们的精华区都下载下来狂看,边看边实践,基本上在一个月内熟悉了Linux的操作。 学网络协议刚开始也是看书,但看了之后没多少印象,那些东西靠死记真是没法记的,后来找到一个好办法,就是自己写个sniffer,自己写个协议分析器,先学怎么抓包,就看tcpmp的源码,然后看libpcap的源码,知道了什么是网卡的混杂模式,很快就能抓到网卡上包的。接下来就是对包进行分析,就看作TCP/IP Illustraion,从以太头、ARP/IP、ICMP/IGMP/TCP/UDP、HTTP/FTP/TELNET/SMTP等这么一点一点、一个字段一个字段分析下来,很快就明白了所谓TCP/IP到底是怎么回事。另外为了学TCP状态转换表,根据所抓的包的TCP标志分析通信双方当前是什么状态,刚开始还只能从头一方发SYN包开始分析,到后来是可从连接中间包如手就能逐渐判断双方的TCP状态,基本上是彻底搞清楚了TCP的状态转移是怎么回事,后来再理解防火墙的状态检测原理就很容易了。另外在分析过程中,为彻底掌握IP碎片,还特地ping大包来抓,把抓上来的包自己重组,搞明白了IP头的碎片offset字段是怎么用的。 能抓包后进而又开始学如何自己构造包来“干扰”正常通信了,开始是学怎么发TCP的RST包来切断一个正常的TCP连接,就的学会如何计算IP头校验和,TCP校验和,知道了算TCP校验和时必须加IP伪头数据,然后是正确计算序列号和确认号,知道了原来SYN和FIN标志也是算一位的,最重要的是理解了什么是网络序什么是主机序,现在基本把ntohs(l),htons(l)处理都成了一种编程的本能意识了。学会用RST切断TCP后,进一步实现了直接发一个页面信息告诉客户端访问了非法信息,也就是以后实现URL过滤时客户端显示的拒绝画面。后来也学发ARP信息胡乱通告MAC地址,也就是以前写的那篇ARP攻击的由来。 后来俺写的这个协议分析器逐步完善,能解析的就解析,不能解析的就打印出16进制数,可打印字符也打印出来,对HTTP、FTP、POP3、SMTP这些文本协议几乎就一下看明白了,对于非文本协议,如DNS,也根据协议解析了出来,而且解析DNS时不得不用了我一向不爱用的递归方法来编程。随着网络应用的增加,在用到前都先作协议解析,除了各种TCP、UDP的协议,还增加了BPDU、PPPOE、OSPF、ESP、AH、IKE等的解析处理,现在俺的协议分析器也可以分析上百种协议,平时抓包就只用俺这个,TCPDUMP基本不再用了,毕竟自己写的自己更清楚,如果有不能解析的再现加进去。现在学新协议时,往往先抓包看看协议的基本数据格式,再看RFC了解细节。 学协议刚开始是看书,到后来要更深入了解或追询最新发展情况就只能看RFC了,毕竟网络的东西变化太快,书的东西只能算入门,说不定很快就出新的了,到现在也看了数百篇的RFC了。 通过编程分析来学协议,慢是慢了点,花了一个多月的时间,但感觉学得扎实,正所谓磨刀不误砍柴功,而且一通百通。到现在虽然已经好几年了,IP头,TCP头有哪些字段还是一下就可以说得出来,对理解各种网络攻击原理从而进行防范更是有帮助,我觉得对我来说这种方法是很有效,如果哪位觉得有更有效的学习方法,可以共同交流一下。

② 如何理解网络协议,包括物理层,网络层,应用层,越通俗越好,谢谢各位牛人

物理层:这个最好理解了,打个比方我有1台PC,我现在网口没有插网线,这个就是“物理层”没有连通,物理层就是代表我们能看得见摸得着的一些东西,比如计算机网口坏掉了,网线断了什么的都是属于物理层的故障。
网络层:简单点说就是IP地址的问题,比如1台PC它需要连接网络,之前它已经手工指定了一个192.168.1.10的地址,但是这次上层路由器给它分的是192.168.1.11的IP地址,所以这台计算机又上不了网了,这个就是网络层故障,当然网络层的东西还是有很多的,总而言之你可以理解为就是IP地址方面出了点问题。
应用层:这个也是比较好理解的,继续刚刚的例子,现在这台PC物理层也好了,网络层也好了,比如说你现在通过IE浏览器来上网问题,你通过QQ,MSN上网和别人聊天,通过炒股软件观察股市行情,这些实际应用我们能够体验的到的就叫做应用层。可能有时候计算机的IE浏览器奔溃了,你不能通过它来上网了,这个就是IE浏览器的应用层出了问题。

PS:楼主可能刚刚接触网络所以有些东西我写的比较直白,也难免不够严谨,如果你想再更深入全面的了解网络的东西建议看一些专业的书籍,我说您的这些也只能是对于刚刚开始对于概念不清的同学一点小点解。

③ 计算机网络是如何定义的怎样理解网络中的协议

简单地说,计算机网络就是通过电缆、电话线或无线通讯将两台以上的计算机互连起来的集合。 计算机网络的发展经历了面向终端的单级计算机网络、计算机网络对计算机网络和开放式标准化计算机网络三个阶段。 计算机网络通俗地讲就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的。总的来说计算机网络的组成基本上包括:计算机、网络操作系统、传输介质(可以是有形的,也可以是无形的,如无线网络的传输介质就是空气)以及相应的应用软件四部分。 在定义上非常简单:网络就是一群通过一定形式连接起来的计算机。 一个网络可以由两台计算机组成,也可以拥有在同一大楼里面的上千台计算机和使用者。我们通常指这样的网络为局域网(LAN, Local Area Network),由LAN再延伸出去更大的范围,比如整个城市甚至整个国家,这样的网络我们称为广域网(WAN, Wide Area Network),当然您如果要再仔细划分的话,还可以有MAN(Metropolitan Area Network) 和 CAN(Citywide Area Network),这些网络都需要有专门的管理人员进行维护。 因为我们最常使用的还是LAN,(即使我们从家中连上Internet,其实也是先连上ISP的LAN),所以这里我们主要讨论的还是以LAN为主。LAN可以说是众多网络里面的最基本单位了,等您对LAN有了一定的认识,再去了解WAN和Internet就比较容易入手了,只不过需要了解更多更复杂的通讯手段而已。 其实,最早出现的名词应该是 Internet,然后人民将 Internet 的概念和技巧引入到内部的私人网络,可以是独立的一个 LAN 也可以是专属的 WAN ,于是就称为 Intranet 了。它们之间的最大分别是:开放性。Internet 是开放的,不属于任何人,只要能连接得到您就属于其中一员,也就能获得上面开放的资源;相对而言,Intranet 则是专属的、非开放的,它往往存在于于私有网络之上,只是其结构和服务方式和设计,都参考 Internet 的模式而已。 Internet vs Intranet 至于Extranet,算得上是针对 Intranet 而延伸出来的概念。既然 Intranet 是指内网络部而言,那么 Extranet 则指外部的网络了。Extranet 通常是企业和 Internet 连接,以向公共提供服务的网络。不过,这并非是单纯根据物理或逻辑位置来定义,主要是以连接的形式和功能来区分。例如某个外部网络,如果单纯的透过网络来连接我们的 Extranet 或 Intranet ,那它只是一个毫不相关的外部个体而已;但是,如果我们用 VPN 或其它信任形式将对方连接起来,那么对方也可以属于 Extranet 或 Internet 的部份。 Internet vs internet Internet 是个专业名词,特指英特网。 internet 是互联网的泛指,着重于网络的互连互通,英特网就是由多个互联网连接而成。网络中的协议协议,就是网络中计算机和计算机(如客户端和服务器端)之间沟通的约定,计算机之间数据传输,通信的规则。如同,我们人与人之间沟通,需要语言,而需要都能理解的语言,如普通话。 计算机中,对协议的操作和实现,一般有软件来实现。在我们用的Windwos系统中,有专门的软件来操作执行相关的协议。如我们用到的浏览器,他就要调用相关的专门协议,如tcp/ip ,http等来达到目的。首先说,网络协议肯定不是你说的“协议规则下的工作软件”。 计算机网络中要做到有条不紊的交换数据,就必须遵守一些事先约好的规则。这些规则明确的说明了所交换的数据的格式以及有关的同步问题。这些为网络中的数据交换而建立的规则、标准或是约定就是网络协议。 打个比方,要想公路上汽车、自行车、行人都能井井有条而不出乱子,就必须遵守交通规则,“网络协议”就类似这个“交通规则”!!

④ 如何理解网络协议时水平的,有事垂直的

为了减少网络设计的复杂性,绝大多数网络采用分层设计方法。所谓分层设计方法,就是按照信息的流动过程将网络的整体功能分解为一个个的功能层,不同机器上的同等功能层之间采用相同的协议,同一机器上的相邻功能层之间通过接口进行信息传递。为了便于理解接口和协议的概念,我们首先以邮政通信系统为例进行说明。人们平常写信时,都有个约定,这就是信件的格式和内容。首先,我们写信时必须采用双方都懂的语言文字和文体,开头是对方称谓,最后是落款等。这样,对方收到信后,才可以看懂信中的内容,知道是谁写的,什么时候写的等。当然还可以有其他的一些特殊约定,如书信的编号、间谍的密写等。信写好之后,必须将信封装并交由邮局寄发,这样寄信人和邮局之间也要有约定,这就是规定信封写法并贴邮票。在中国寄信必须先写收信人地址、姓名,然后才写寄信人的地址和姓名。邮局收到信后,首先进行信件的分拣和分类,然后交付有关运输部门进行运输,如航空信交民航,平信交铁路或公路运输部门等。这时,邮局和运输部门也有约定,如到站地点、时间、包裹形式等等。信件运送到目的地后进行相反的过程,最终将信件送到收信人手中,收信人依照约定的格式才能读懂信件。如图所示,在整个过程中,主要涉及到了三个子系统、即用户子系统,邮政子系统和运输子系统。各种约定都是为了达到将信件从一个源点送到某一个目的点这个目标而设计的,这就是说,它们是因信息的流动而产生的。可以将这些约定分为同等机构间的约定,如用户之间的约定、邮政局之间的约定和运输部门之间的约定,以及不同机构间的约定,如用户与邮政局之间的约定、邮政局与运输部门之间的约定。虽然两个用户、两个邮政局、两个运输部门分处甲、乙两地,但它们都分别对应同等机构,同属一个子系统;而同处一地的不同机构则不在一个子系统内,而且它们之间的关系是服务与被服务的关系。很显然,这两种约定是不同的,前者为部门内部的约定,而后者是不同部门之间的约定。


在计算机网络环境中,两台计算机中两个进程之间进行通信的过程与邮政通信的过程十分相似。用户进程对应于用户,计算机中进行通信的进程(也可以是专门的通信处理机〕对应于邮局,通信设施对应于运输部门。为了减少计算机网络设计的复杂性,人们往往按功能将计算机网络划分为多个不同的功能层。网络中同等层之间的通信规则就是该层使用的协议,如有关第N层的通信规则的集合,就是第N层的协议。而同一计算机的不同功能层之间的通信规则称为接口(interface),在第N层和第(N+1)层之间的接口称为N/(N+1)层接口。总的来说,协议是不同机器同等层之间的通信约定,而接口是同一机器相邻层之间的通信约定。不同的网络,分层数量、各层的名称和功能以及协议都各不相同。然而,在所有的网络中,每一层的目的都是向它的上一层提供一定的服务。协议层次化不同于程序设计中模块化的概念。在程序设计中,各模块可以相互独立,任意拼装或者并行,而层次则一定有上下之分,它是依数据流的流动而产生的。组成不同计算机同等层的实体称为对等进程(peerprocess)。对等进程不一定非是相同的程序,但其功能必须完全一致,且采用相同的协议。分层设计方法将整个网络通信功能划分为垂直的层次集合后,在通信过程中下层将向上层隐蔽下层的实现细节。但层次的划分应首先确定层次的集合及每层应完成的任务。划分时应按逻辑组合功能,并具有足够的层次,以使每层小到易于处理。同时层次也不能太多,以免产生难以负担的处理开销。计算机网络体系结构是网络中分层模型以及各层功能的精确定义。对网络体系结构的描述必须包括足够的信息,使实现者可以为每一功能层进行硬件设计或编写程序,并使之符合相关协议。但我们要注意的是,网络协议实现的细节不属于网络体系结构的内容,因为它们隐含在机器内部,对外部说来是不可见的。现在我们来考查一个具体的例子:在图所示的5层网络中如何向其最上层提供通信。在第5层运行的某应用进程产生了消息M,并把它交给第4层进行发送。第4层在消息M前加上一个信息头(header),信息头主要包括控制信息(如序号)以便目标机器上的第4层在低层不能保持消息顺序时,把乱序的消息按原序装配好。在有些层中,信息头还包括长度、时间和其他控制字段。在很多网络中,第4层对接收的消息长度没有限制,但在第3层通常存在一个限度。因此,第3层必须将接收的入境消息分成较小的单元如报文分组(packet),并在每个报文分组前加上一个报头。在本实例中,消息M被分成两部分:M1和M2。第3层确定使用哪一条输出线路,并将报文传给第2层。第2层不仅给每段消息加上头部信息,而且还要加上尾部信息,构成新的数据单元,通常称为帧(frame),然后将其传给第1层进行物理传输。在接收方,报文每向上递交一层,该层的报头就被剥掉,决不可能出现带有N层以下报头的报文交给接收方第N层实体的情况。要理解图1-11示意图,关键要理解虚拟通信与物理通信之间的关系,以及协议与接口之间的区别。比如,第4层的对等进程,在概念上认为它们的通信是水平方向地应用第四层协议。每一方都好像有一个叫做“发送到另一方去”的过程和一个叫做“从另一方接收”的过程,尽管实际上这些过程是跨过3/4层接口与下层通信而不是直接同另一方通信。抽象出对等进程这一概念,对网络设计是至关重要的。有了这种抽象技术,网络设计者就可以把设计完整的网络这种难以处理的大问题,划分成设计几个较小的且易于处理的问题,即分别设计各层。

⑤ 对于网络协议的理解 请指教

你的理解很对 协议就是一套规则 跟这个协议有关的都要遵循这套协议来运转 就比如为什么思科的路由器和华为的路由器不兼容一样 某些配置在他们2个之间不能实现 原因就是协议不同
各层的协议所规定的功能分别由哪部分硬件和软件来完成?
各层协议分别由各层设备和接口来完成 套用你的话打个比方 汽车靠右行驶 这是个协议 当汽车准备驶入高速口的时候 这个高速口就是个接口 这个接口定义的上层协议和下层协议的转换 当你进入高速以后 协议转变 多出个协议 就是最低时速要超过80 我个人认为这个 高速公路就是硬件 定义的速度规则就是个协议
网络层所实现的功能是由路由器来实现的吗?
网络层属于第三层 在通信中实现2个功能 路由和选址 其实这2个功能确实由路由器来实现的

所以就一句话 我们理解协议栈之间的转换 不要理解硬件和软件 该理解硬件和接口 每层之间的接口决定启用什么协议

⑥ 如何理解网络协议

是网络传输的规范约定。
比如是怎么收包怎么解包,速度多少,遵循什么标准这些。遵循协议方能传输数据。

⑦ 如何测试TCP/IP协议

下载网络抓包工具,可以对网络协议进行详细的分析

⑧ 怎么理解网络协议

[1]协议是用来描述进程之间信息交换数据时的规则术语。在计算机网络中,两个相互通信的实体处在不同的地理位置,其上的两个进程相互通信,需要通过交换信息来协调它们的动作和达到同步,而信息的交换必须按照预先共同约定好的过程进行。
一个网络协议至少包括三要素:
语法 用来规定信息格式;数据及控制信息的格式、编码及信号电平等。
语义 用来说明通信双方应当怎么做;用于协调与差错处理的控制信息。
时序(定时 )详细说明事件的先后顺序;速度匹配和排序等。
[编辑本段]网络协议的工作方式
网络上的计算机之间又是如何交换信息的呢?就像我们说话用某种语言一样,在网络上的各台计算机之间也有一种语言,这就是网络协议,不同的计算机之间必须使用相同的网络协议才能进行通信。
网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式和这些格式的意义。大多数网络都采用分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。一台设备上的第 n层与另一台设备上的第n层进行通信的规则就是第n层协议。在网络的各层中存在着许多协议,接收方和发送方同层的协议必须一致,否则一方将无法识别另一方发出的信息。网络协议使网络上各种设备能够相互交换信息。常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议等。
网络上的计算机之间又是如何交换信息的呢?就象我们说话用某种语言一样,在网络上的各台计算机之间也有一种语言,这就是网络协议,不同的计算机之间必须使用相同的网络协议才能进行通信。当然了,网络协议也有很多种,具体选择哪一种协议则要看情况而定。Internet上的计算机使用的是TCP/IP协议。
ARPANET网成功的主要原因是因为它使用了TCP/IP标准网络协议,TCP/IP(Transmission Control Protocol/Internet Protocol)----传输控制协议/互连网协议是Internet采用的一种标准网络协议。它是由ARPA于1977年到1979年推出的一种网络体系结构和协议规范。随着Internet网的发展,TCP/IP也得到进一步的研究开发和推广应用,成为Internet网上的"通用语言"。
[编辑本段]网络协议的层次结构
由于网络节点之间联系的复杂性,在制定协议时,通常把复杂成分分解成一些简单成分,然后再将它们复合起来。最常用的复合技术就是层次方式,网络协议的层次结构如下:
(1)结构中的每一层都规定有明确的服务及接口标准。
(2)把用户的应用程序作为最高层
(3)除了最高层外,中间的每一层都向上一层提供服务,同时又是下一层的用户。
(4)把物理通信线路作为最低层,它使用从最高层传送来的参数,是提供服务的基础。
[编辑本段]网络协议层次的划分
为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即着名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。
其中低四层完成数据传送服务,上面三层面向用户。对于每一层,至少制定两项标准:服务定义和协议规范。前者给出了该层所提供的服务的准确定义,后者详细描述了该协议的动作和各种有关规程,以保证服务的提供。
[2]TCP/IP协议毫无疑问是这三大协议中最重要的一个,作为互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。不过TCP/IP协议也是这三大协议中配置起来最麻烦的一个,单机上网还好,而通过局域网访问互联网的话,就要详细设置IP地址,网关,子网掩码,DNS服务器等参数。
TCP/IP尽管是目前最流行的网络协议,但TCP/IP协议在局域网中的通信效率并不高,使用它在浏览“网上邻居”中的计算机时,经常会出现不能正常浏览的现象。此时安装NetBEUI协议就会解决这个问题。
NetBEUI即NetBios Enhanced User Interface ,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。NetBEUI协议是一种短小精悍、通信效率高的广播型协议,安装后不需要进行设置,特别适合于在“网络邻居”传送数据。所以建议除了TCP/IP协议之外,小型局域网的计算机也可以安上NetBEUI协议。另外还有一点要注意,如果一台只装了TCP/IP协议的WINDOWS98机器要想加入到WINNT域,也必须安装NetBEUI协议。
IPX/SPX协议本来就是Novell开发的专用于NetWare网络中的协议,但是现在也非常常用--大部分可以联机的游戏都支持IPX/SPX协议,比如星际争霸,反恐精英等等。虽然这些游戏通过TCP/IP协议也能联机,但显然还是通过IPX/SPX协议更省事,因为根本不需要任何设置。除此之外,IPX/SPX协议在局域网络中的用途似乎并不是很大,如果确定不在局域网中联机玩游戏,那么这个协议可有可无。
[编辑本段]以用途划分的网络协议
网络层协议:包括:IP协议、ICMP协议、ARP协议、RARP协议。
传输层协议:TCP协议、UDP协议。
应用层协议:FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS。

⑨ 网络协议的理解

网络上的计算机之间又是如何交换信息的呢?就像我们说话用某种语言一样,在网络上的各台计算机之间也有一种语言,这就是网络协议,不同的计算机之间必须使用相同的网络协议才能进行通信。
网络上的计算机之间又是如何交换信息的呢?就象我们说话用某种语言一样,在网络上的各台计算机之间也有一种语言,这就是网络协议,不同的计算机之间必须使用相同的网络协议才能进行通信。当然了,网络协议也有很多种,具体选择哪一种协议则要看情况而定。Internet上的计算机使用的是TCP/IP协议。
ARPANET网成功的主要原因是因为它使用了TCP/IP标准网络协议,TCP/IP(Transmission Control Protocol/Internet Protocol)----传输控制协议/互连网协议是Internet采用的一种标准网络协议。它是由ARPA于1977年到1979年推出的一种网络体系结构和协议规范。随着Internet网的发展,TCP/IP也得到进一步的研究开发和推广应用,成为Internet网上的"通用语言"。

⑩ 面试android的时候面试官提问"对网络通信协议熟悉吗对socket和http了解吗能解释下吗",跪求帮助

我学网络专业,对网络通信协议还是比较熟悉的,“先讲下7层协议,然后从7层协议中引出socket和http”
套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。

应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个
TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(Socket)接口。应用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket 。
套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。

服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。

客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。

连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
HTTP协议即超文本传送协议(Hypertext Transfer Protocol
),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用。

HTTP连接最显着的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

1)在HTTP 1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请求后,就自动释放连接。

2)在HTTP
1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。

由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常的做法是即时不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。
由于通常情况下Socket连接就是TCP连接,因此Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。但在实际网络应用中,客户端到服务器之间的通信往往需要穿越多个中间节点,例如路由器、网关、防火墙等,大部分防火墙默认会关闭长时间处于非活跃状态的连接而导致
Socket 连接断连,因此需要通过轮询告诉网络,该连接处于活跃状态。

而HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。

很多情况下,需要服务器端主动向客户端推送数据,保持客户端与服务器数据的实时与同步。此时若双方建立的是Socket连接,服务器就可以直接将数据传送给客户端;若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。

阅读全文

与如何考察测试对网络协议的理解相关的资料

热点内容
鹰角网络注册只能用手机吗 浏览:686
苹果手机网络存在风险 浏览:349
中央台网络春晚哪个台播出 浏览:295
网络写手写小说都有哪些技巧 浏览:699
哪个网络兼职可信任 浏览:639
电信网络为什么在广西老是断网 浏览:408
注册网络打电话怎么办 浏览:706
科沃斯为什么总提示连入家庭网络 浏览:581
自己制作网络视频的软件 浏览:228
电视开启了有线网络如何弄分屏 浏览:921
药品网络营销思政 浏览:947
网络视频违法怎么投诉 浏览:817
智能化校区无线网络 浏览:43
路由器是怎么接两个网络的 浏览:78
天翼云网络异常稍后重试 浏览:170
连接网络输入用户名后被清空 浏览:578
邮储通联支付云音箱怎么连接网络 浏览:640
东坑网络营销外包 浏览:434
诺基亚的网络怎么设置 浏览:69
电脑出不来网络列表 浏览:864

友情链接