开始新对话

未解决

此帖子已超过 5 年

508013

2014年8月10日 18:00

网络基本功系列:细说网络那些事儿(3月26日更新)

网络基本功(一):细说网络传输

转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese image001.gif

介绍

常言道:欲练神功,必先练好基本功。之前做了一个关于IP路由,默认网关和掩码的问答贴,做完这个帖子觉得如果对网络知识点做一个系统的阐述,应该会很有帮助。


本系列文章着重于讲解网络管理实际应用中常常涉及的重要知识点,尽量以实用为主。准备写的几个章节暂时有(可能会有增减):



更多信息


首先来看一个例子:


示例:网络服务器向客户端传送数据的过程:

在详细阐述网络传输过程之前,先来看一个最常见的例子,下图显示了一个网络服务器向客户端传送数据的完整过程:

image002.jpg

     1.     需要传送的数据是网络服务器的HTML页面。

     2.     应用协议HTTP报文头添加到HTML数据之前。报文头信息包括:服务器所使用的HTTP版本,以及表明它包含发给网络客户端信息的状态编码。

     3.     HTTP应用层协议将HTML格式的网页数据发送给传输层。TCP传输层用于管理网络服务器和客户端之间的会话。

     4.     IP信息添加到TCP信息之前。IP指定适当的源和目的IP地址。这些信息就构成了IP报文。

     5.     以太网协议添加到IP报文的两端之后,就形成了数据链路帧。上述帧发送至通向网络客户端的路径上的最近一个路由器。路由器移除以太网信息,观察IP报文,判定最佳路径,将报文插入一个新的帧,并发送至目标路径上下一个相邻路由器。每一个路由器在转发之前都移除并添加新的数据链路层信息。

     6.     数据通过互联网络传输,互联网络包含媒介和中间设备。

     7.     客户端接收到包含数据的数据链路帧,处理各层协议头,之后以添加时相反的顺序移除协议头。首先处理并移除以太网信息,之后是IP协议信息,接下来TCP信息,最后是HTTP信息。

     8.     之后,将网页信息传递给客户端网页浏览器软件。

数据封装:

消息要在网络中传输,必须对它进行编码,以特定的格式进行封装,同时需要适当地封装以足够的控制地址信息,以使它能够从发送方移动到接收方。

消息大小

理论上,视频或邮件信息是能够以大块非中断型流从网络源地址传送到目的地址,但这也意味着同一时刻同一网络其他设备就无法收发消息。这种大型数据流会造成显著延时。并且,如果传输过程中连接断开,整个数据流都会丢失需要全部重传。因此更好的方法是将数据流分割segmentation)为较小的,便于管理的片段,能够带来两点好处:

·         发送较小片段,网络上同时可有多个会话交错进行。这种在网络上将不同会话片段交错进行的过程称为多路传输(multiplexing

·         分割可提高网络通讯的可靠性。各消息片段从源地址到目的地址无需经过相同路径,如果一条路径被堵塞或断开,其余消息可从替换路径到达目的地址。如果部分消息到不了目的地址,那只需重传丢失部分。

通过对片段打上标签的方式来保证顺序以及在接收时重组。

image003.jpg

协议数据单元(Protocol Data Unit, PDU

应用层数据在传输过程中沿着协议栈传递,每一层协议都会向其中添加信息。这就是封装的过程。

数据片段在各层网络结构中采用的形式就称为协议数据单元(PDU。封装过程中,下一层对从上一层收到的PDU进行封装。在处理的每一个阶段PDU都有不同的名字来反应它的功能。

image004.jpg

PDU按照TCP/IP协议的命名规范:

·         数据(Data:应用层PDU的常用术语

·         分段(Segment):传输层PDU

·         帧(Frame):网络层PDU

·         比特(Bits):在介质上物理传输数据所使用的PDU

封装

封装是指在传输之前为数据添加额外的协议头信息的过程。在绝大多数数据通信过程中,源数据在传输前都会封装以数层协议。在网络上发送消息时,主机上的协议栈从上至下进行操作。

以网络服务器为例,HTTP应用层协议发送HTML格式网页数据到传输层,应用层数据被分成TCP分段。各TCP分段被打上标签,称为头(header),表明接收方哪一个进程应当接收此消息。同时也包含使得接收方能够按照原有的格式来重组数据的信息。

传输层将网页HTML数据封装成分段并发送至网络层,执行IP层协议。整个TCP分段封装成IP报文,也就是再添上IP头标签。IP头包括源和目的IP地址,以及发送报文到目的地址所必须的信息。

之后,IP报文发送到接入层,封装以帧头和帧尾。每个帧头都包含源和目的物理地址。物理地址唯一指定了本地网络上的设备。帧尾包含差错校正信息。最后,由服务器网卡将比特编码传输给介质。   

解封装

接收主机以相反的方式进行操作称为解封装。解封装是接收设备移除一层或多层协议头的过程。数据在协议栈中向上移动直到终端应用层伴随着解封装。

访问本地资源:

访问本地网络资源需要两种类型的地址:网络层地址和数据链路层地址。网络层和数据链路层负责将数据从发送设备传输至接收设备。两层协议都有源和目的地址,但两种地址的目的不同

示例:客户端PC1FTP在同一IP网络的通信

image005.jpg

网络地址

网络层地址或IP地址包含两个部分:网络前缀和主机。路由器使用网络前缀部分将报文转发给适当的网络。最后一个路由器使用主机部分将报文发送给目标设备。同一本地网络中,网络前缀部分是相同的,只有主机设备地址部分不同。

IP地址:发送设备,即客户端PC1IP地址:192.168.1.110

目的IP地址:接收设备,即FTP服务器:192.168.1.9

数据链路地址

数据链路地址的目的是在同一网络中将数据链路帧从一个网络接口发送至另一个网络接口。以太网LAN和无线网LAN是两种不同物理介质的网络示例,分别有自己的数据链路协议。

IP报文的发送方和接收方位于同一网络,数据链路帧直接发送到接收设备。以太网上数据链路地址就是以太网MAC地址。MAC地址是物理植入网卡的48比特地址。

MAC地址:发送IP报文的PC1以太网卡MAC地址,AA-AA-AA-AA-AA-AA

目的MAC地址:当发送设备与接收设备位于同一网络,即为接收设备的数据链路地址。本例中,FTP MAC地址:CC-CC-CC-CC-CC-CC

源和目的MAC地址添加到以太网帧中。

image006.jpg

MACIP地址

发送方必须知道接收方的物理和逻辑地址。发送方主机能够以多种方式学习到接收方的IP地址:比如域名系统(Domain Name System, DNS),或通过应用手动输入,如用户指定FTP地址。

以太网MAC地址是怎么识别的呢?发送方主机使用地址解析协议(Address Resolution Protocol, ARP)以检测本地网络的所有MAC地址。如下图所示,发送主机在整个LAN发送ARP请求消息,这是一条广播消息。ARP请求包含目标设备的IP地址,LAN上的每一个设备都会检查该ARP请求,看看是否包含它自身的IP地址。只有符合该IP地址的设备才会发送ARP响应。ARP响应包含ARP请求中IP地址相对应的MAC地址。

image007.jpg

访问远程资源:

默认网关

当主机发送消息到远端网络,必须使用路由器,也称为默认网关。默认网关就是位于发送主机同一网络上的路由器的接口IP地址。有一点很重要:本地网络上的所有主机都能够配置自己的默认网关地址。如果该主机的TCP/IP设置中没有配置默认网关地址,或指定了错误的默认网关地址,则远端网络消息无法被送达

如下图所示,LAN上的主机PC 1使用IP地址为192.168.1.1R1作为默认网关,如果PDU的目的地址位于另一个网络,则主机将PDU发送至路由器上的默认网关。

image008.jpg

与远端网络设备通讯

下图显示了客户端主机PC 1与远端IP网络服务器进行通讯的网络层地址与数据链路层地址:

image009.jpg

网络地址

当报文的发送方与接收方位于不同网络,源和目的IP地址将会代表不同网络上的主机

IP地址:发送设备即客户端主机PC 1IP地址:192.168.1.110

目的IP地址:接收设备即网络服务器的IP地址:172.16.1.99

数据链路地址

当报文的发送方与接收方位于不同网络,以太网数据链路帧无法直接被发送到目的主机。以太网帧必须先发送给路由器或默认网关。本例中,默认网关是R1R1的接口IP地址与PC 1属于同一网络,因此PC 1能够直接达到路由器。

MAC地址:发送设备即PC 1MAC地址,PC1的以太网接口MAC地址为:AA-AA-AA-AA-AA-AA

目的MAC地址:当报文的发送方与接收方位于不同网络,这一值为路由器或默认网关的以太网MAC地址。本例中,即R1的以太网接口MAC地址,即:11-11-11-11-11-11

IP报文封装成的以太网帧先被传输至R1R1再转发给目的地址即网络服务器。R1可以转发给另一个路由器,如果目的服务器所在网路连接至R1,则直接发送给服务器。

发送设备如何确定路由器的MAC地址?每一个设备通过自己的TCP/IP设置中的默认网关地址得知路由器的IP地址。之后,它通过ARP来得知默认网关的MAC地址,该MAC地址随后添加到帧中。

             

2 Intern

 • 

1.2K 消息

2014年12月30日 00:00

没有没有。

2 Intern

 • 

1.2K 消息

2014年12月30日 23:00

网络爱好者们元旦快乐。

6 消息

2014年12月31日 23:00

关于TCP滑动窗口,我想问一下,如果服务端返回给客户端的确认信息丢失,即客户端无法收到之前发送的数据的确认信息,是否会超时重传?然而此时,服务端可能已经将该部分数据传给应用程序并清空缓存了,那么,这部分数据服务端怎么处理呢?如果不再次给客户端发送确认信息的话,客户端的窗口将不会再向右滑动,即会永久阻塞。谢楼主分享精华文章。

2 Intern

 • 

1.2K 消息

2015年1月3日 19:00

你好,新年好。

如果服务端返回给客户端的确认信息丢失,即客户端无法收到之前发送的数据的确认信息,是否会超时重传?

客户端发出报文之后没有收到服务器端的确认,为了防止由于网络延迟会等待一段时间,这段时间过去之后仍然没有收到确认就会重传,从发出原始报文到重传报文的这一段时间称为RTO。

然而此时,服务端可能已经将该部分数据传给应用程序并清空缓存了,那么,这部分数据服务端怎么处理呢?如果不再次给客户端发送确认信息的话,客户端的窗口将不会再向右滑动,即会永久阻塞。

服务器端会再次发送确认信息。这里涉及到关于客户端如何判断此ACK究竟是原始发送报文的ACK,还是重传报文的ACK的问题:确认报文可以使用RTT时间戳选项,确认报文回送发送报文段的时间戳,标明是对哪个报文段的确认。

就算服务器没有再次发送确认信息,也不会永久阻塞。因为tcp连接双方还会继续发送keep alive探测报文,服务器发送探测报文的时候ack号就已经包含了服务器接收到的最后一个报文。

我想你要问的是不是一种TCP死锁的情况?比如收方缓冲区满,发出一个0通告窗口,发送方将发送窗口调整为0,之后,收方从缓冲区拿走数据,发送非0通告窗口,但这一消息丢失了,发方和收方都等待对方操作,因而造成死锁。解决这一现象的方法是使用坚持定时器(persistence timer)。接到0通告窗口后,发方启动坚持定时器,当时间到,发方发送探测报文,收到探测报文的响应包含了通告窗口的通告值。如值不为0,则发方调整窗口大小继续发送,如为0,则重新设定坚持计时器继续上述过程。

6 消息

2015年1月4日 18:00

谢谢楼主耐心解答。

2 Intern

 • 

1.2K 消息

2015年1月4日 18:00

不客气,有问题欢迎继续讨论。

2 Intern

 • 

1.2K 消息

2015年1月7日 17:00

网络基本功(二十):细说ICMPARP

转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese

介绍

ICMP是网络控制消息协议,主要用于传递查询报文与差错报文。ARP是地址解析协议,它的作用是在以太网环境下,通过3层的IP地址来找寻2层的MAC地址,得到一张ARP缓存表。转发数据的时候根据ARP缓存表来进行传输。


更多信息

IMCP:

Internet操作是由路由器严密监控的。当路由器端处理报文时如有意外发生,事件通过ICMP报告给发送端。ICMP也用来测试InternetICMP信息封装在IP报文中,最重要的一部分如下表所列:

image002.png

DESTINATION UNREACHABLE消息用于当路由器无法找到目标地址或当设置了DF位的报文无法递送,因为路径上存在“小报文”网络。

TIME EXCEEDED消息是由于报文TTLTime to live)计数器到达0时。该事件是报文在回环,或计数器值设置过低的迹象。对于这一错误信息的聪明的应用是traceroute工具,traceroute发现从主机到目的IP地址路径上的路由器。它向目的地发送IP包,第一次的时候,将TTL设置为1,引发第一个路由器的Time Exceeded错误。这样,第一个路由器回复ICMP包,从而让出发主机知道途径的第一个路由器的信息。随后TTL被设置为234...,直到到达目的主机。这样,沿途的每个路由器都会向出发主机发送ICMP包来汇报错误。tracerouteICMP包的信息打印在屏幕上,就是接力路径的信息了。这并不是TIME EXCEEDED信息的本意,但却是非常有用的故障排查工具。

PARAMETER PROBLEM信息表示报文头字段发现了非法值。这一问题表明发送主机的IP软件或可能是途经的路由器发生了bug

SOURCE QUENCH信息以前用来节制发送太多报文的主机。当主机接收到该信息,它预计将放缓发送报文。现在很少使用,因为当拥塞发生时,这类报文会起到火上浇油的作用,而且也不清楚如何做出回应。Internet中的拥塞控制现在大部分在传输层完成,使用报文丢失作为拥塞信号。

REDIRECT信息用于路由器发现报文被错误路由的时候。路由器用该信息告知发送主机更新合适的路径。

主机发送ECHOECHO REPLY信息以查看目前的目的地址是否可到达或是否alive。接收到ECHO信息之后,目的地址预计会发回一条ECHO REPLY信息。这些信息用在ping工具中来查看主机是否up以及是否挂在网上。

TIMESTAMP REQUESTTIME REPLY信息是类似的,除了信息的到达时间以及回复的离开时间是记录在回复中的。这一工具可用于衡量网络性能。

ROUTER ADVERTISEMENTROUTER SOLICITATION信息用于主机发现附近的路由器。主机需要从至少一个路由器学习IP地址来发送报文。

ARP:

尽管Internet上的每台设备都有一个或多个IP地址,仅用这些地址仍然不能发送报文。数据链路层网卡如以太网卡不理解Internet地址。对于以太网,每一个以太网卡都有一个48bit的以太网地址。网卡基于这48bit以太网地址收发帧,网卡与32bit IP地址没有关系。

从而产生一个问题:IP地址是如何映射到数据链路层地址,如以太网地址的呢?解释这一问题,让我们以下图为例:一个小型校园安装了两个/24网络。其中一个(CS)是交换以太网,位于Computer Science部门。网络地址为192.32.65.0/24。另一个局域网(EE)也是一个交换以太网,位于Electrical Engineering部门网络地址为192.32.63.0/24。这两个局域网通过IP路由器互连。以太网上的各台设备以及路由器各接口都有唯一的以太网地址,标签从E1E6,以及CSEE网络上唯一的IP地址。

image003.jpg

我们首先看一下host 1的用户如何向CS上的host 2用户发送报文。首先假设发送方知道目标接收方的名字,如xx.cs.uni.edu。第一步是查找host 2IP地址。这一查找是通过DNS来完成的,DNS之后返回host 2IP地址(192.32.65.5)。

host 1的上层软件将目标地址192.32.65.5植入报文中并交给IP软件发送。IP软件查看该地址发现目标地址在CS网络上(即本地网络)。但是,还需要查找目的以太网地址来发送帧。一种解决方式是通过系统配置文件来将IP地址映射到以太网地址。当然这种方式是可能的,但对于有上千台设备的大型企业来说要保证这些文件都是更新状态是一项耗时的工作。

比较好的方式是host 1发送一个广播报文到以太网询问谁有IP地址192.32.65.5。广播报文到达每一个CS网上的设备,各台设备检查自己的IP地址。只有host 2会回复自己的以太网地址E2。通过这种方式host 1学习到IP地址192.32.65.5的以太网地址E2。这种提问和回复的协议就称为ARP(Address Resolution Protocol)。使用ARP的一个优势是它的简单性。系统管理员无需指定各台设备的IP地址以及子网掩码,ARP自动完成剩下的工作。

此时,host 1上面的IP软件构造以太网地址E2的报文,将IP报文(目的地址192.32.65.5)放在载荷部分。host 2的以太网卡检测到该帧,识别目标地址是自己,把它捞出来,产生一个中断。以太网驱动从载荷中将IP报文提取出来并传递给IP软件,软件查看到此报文地址正确并予以处理。

提高ARP效率有很多种优化方法。运行ARP的设备将其结果放入缓存之中,以备短期内需要再次连接同一台设备。下一次可在设备的缓存中找到映射结果,就无需第二次广播。很多情况下,host 2需要发送一个回复,迫使它运行ARP来确定发送方的以太网地址。在host 1ARP报文中包含IPEthernet映射可避免这一ARP广播。当ARP广播到达host 2,连接对(192.32.65.7, E1)进入host 2ARP缓存。实际上,以太网上的所有设备都可以将这一映射放入自己的ARP缓存中。

为了让映射能够更改,例如,当配置一台主机使用心得IP地址(但保留旧的以太网地址),几秒钟过后ARP缓存中的表项会过期。为了保持缓存信息更新并且优化性能,比较好的方法是每一台设备在配置时都广播它的映射信息。广播通常以ARP查找自己的IP地址的方式来完成。应当不会收到响应,但该广播的副作用是使每一台设备的ARP缓存都得到更新。这称为免费ARPgratuitous ARP)。如果收到回复(不期望地),则两台设备指定了同一IP地址。网络管理员需解决这一问题才能使两台设备共同使用网络。

再看上图,假设host 1想要向网络EE上的host 4(192.32.63.8)发送报文。host 1会发现目标IP地址不在CS网络上,它会将所有这类远端网络数据流发送给路由器,也称为默认网关(default gateway)。习惯上,默认网关是网络上的最低地址(198.31.65.1)。要发送帧给路由器,host 1还是必须知道路由器接口在CS网络上的以太网地址。路由器通过发送198.31.65.1ARP广播来学习到E3地址,然后发送帧。路由器在Internet路径上将报文从一个路由器发送到下一个使用相同的查找机制。

路由器的以太网卡收到此帧后将报文发给IP软件。从网络掩码中得知该报文应当发送到EE。如果路由器不知道host 4的以太网地址,就会再次使用ARP。上图列出了在CSEE子网上观察到的帧中出现的源和目的以太网及IP地址。发现到各子网中以太网地址改变而IP地址保持不变(因为IP地址指明跨越所有互连子网的终点)。

host 1发送报文到host 4,而host 1不知道host 4位于不同网络也是可能的。解决方法是让CS子网上的路由器回复查找host 4ARP并将自己的以太网地址E3作为回复内容。由于host 4无法看到ARP请求(路由器不会转发以太网广播)所以无法直接回复。路由器之后会接收发往192.32.63.8的帧并转发到EE子网。这一方式称为代理ARPproxy ARP)。用在一台主机想要出现在一个子网上但实际上位于另一子网的特定情形。

参考

Computer Networks

             

1 消息

2015年1月7日 21:00

写的非常棒,对底层的东西理解非常透彻,感谢。

2 Intern

 • 

1.2K 消息

2015年1月8日 02:00

谢谢。欢迎常来讨论。

2 Intern

 • 

1.2K 消息

2015年1月13日 18:00

网络基本功(二十一):细说HTTP(上)

转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese image001.gif

介绍

HTTP是一个由请求与响应组成的客户端与服务端交互协议。浏览器发送一个HTTP请求到指定的URL地址,持有此URL地址的WEB服务器将返回一个HTTP请求。请求的类型有GET, POST, HEAD, PUT, DELETE, OPTIONSTRACE等。


更多信息

HTTP操作模式与客户端/服务器通信:

HTTP只关心一个功能:从web服务器到web客户端的超文本文件以及其他文件的传输。从通信的角度来看,客户端主要负责发送请求给服务器,服务器对请求作出响应。相比FTPSMTP这样需要多个通信步骤和命令/响应序列的应用层协议,HTTP更像BOOTPARP

基本的HTTP客户端/服务器通信:

最简单的HTTP操作包括一个使用web浏览器的HTTP客户端,和一个HTTP服务器,通常称为web服务器。在TCP连接创建之后,以下两步通信过程如下:

客户端请求HTTP客户端根据HTTP协议标准发送HTTP请求信息,该信息指定客户端想要获取的资源或包括准备提供给服务器的信息。

服务器响应:服务器读取并解释该请求。对请求作出相应行为并创建HTTP响应信息,发回给客户端。响应信息包括该请求是否成功,也包括客户端请求的资源内容。

HTTP消息格式:

使用HTTP的设备通信都是通过HTTP消息来完成,其中只有两种类型:请求和响应。客户端通常发送请求和接收响应,服务器接收请求和发送响应。信息使用的是文本的形式。

常规HTTP消息格式如下所示:

<起始行>

<首部字段>

<空白行>

[<主体>]

[<尾部>]

起始行包含消息的类型。请求消息中,这一行以方式的形式表明消息为请求类型,并制定一个URI(Uniform Resource Identifier)指明请求的对象资源。响应通过起始行来表明请求响应的状态信息。

首部字段HTTP定义了多种类型的首部字段。通过功能分组,除了主机头以外,几乎所有首部字段都是可选的。格式如下: :

主体也是可选的,包含客户端和服务器通信所需的一系列信息,如响应的详细错误消息。更加常见的是承载文件或其他资源,HTTP标准中称为实体。由于大多数客户端请求服务器发送文件或其他资源,实体在响应信息中最为常见。

尾部,HTTP/1.1默认使用永久链接,消息在服务器与客户端之间以流的形式传输,需要标记消息的结束点和开始点。

HTTP请求消息:

客户端通过打开一个TCP连接发起与服务器的HTTP会话,之后发送HTTP请求信息

image002.jpg

起始行

主要有三个用途:

·         表明客户端想要进行的命令或行为

·         指定行为想要获取的资源

·         告知服务器客户端使用的HTTP版本

起始行的语法为:

Method

method就是客户端想要服务器做什么,三种比较常用:GETHEADPOST

         

GET

从服务器向客户端发送发送命名资源

PUT

将来自客户端的数据存储到一个命名的服务器资源中去

DELETE

从服务器中删除命名资源

POST

将客户端数据发送到一个服务器网关应用程序

HEAD

仅发送命名资源响应中的HTTP首部

Request URI

Request URI是请求所申请资源的URI。目前URI通常值符合Web URL语法的HTTP URL。有趣的是,HTTP起始行所使用的URL形式通常与HTML文件或用户输入的不同。这是因为一个完整URL中的部分信息是用来控制HTTP本身的。这是用户和HTTP客户端通信所需,而不包括在客户端对服务器的请求中。在请求中指定资源的标准方式是在起始行中加入路径和文件名(以及可选的查询信息),同时在主机头字段指定主机。

例如:假设用户输入URLhttp://www.myfavoritewebsite.com:8080/chatware/chatroom.php,我们不需要发送http:到服务器。客户端将余下的信息拆分成URI /chatware/chatroom.php主机行会包括www.myfavoritewebsite.com:8080。因此,请求的开始内容如下:

GET /chatware/chatroom.php HTTP/1.1

Host: www.myfavoritewebsite.com:8080

这一准则的例外是当请求对象是代理服务器时。这时请求就要使用完整URL的形式,以使代理可以作为初始客户端来处理该请求。请求如下所示:

GET http://www.myfavoritewebsite.com:8080/chatware/chatroom.php HTTP/1.1


请求首部

在请求首部,提供给服务器关于请求的详细信息。所有请求首部都使用相同的结构,但按照以下功能分类:

普通报头普通报头通常指消息本身,通常用于控制其处理过程或提供给接收方额外信息。这类报头不限于请求或响应信息,所以两者都可能出现。同样,也与所承载的实体没有特别关系。

请求报头 这类报头告知服务器关于客户端请求的更多信息,给予客户端更多关于请求处理的控制。例如,一些请求报头用于指定条件请求,只有在特定条件时才执行。其他告诉服务器响应信息中客户端能够徐立的格式或编码。如:

Accept 告诉服务器端,接受哪些类型的信息。

Accept-Encoding 可接受的内容编码。

Accept-Lanague 指定一种自然语言。

Connection 表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时显著地减少下载所需要的时间。

Cookie 最重要的请求头信息之一, 每次请求时都会携带上Cookie以方便服务器端识别是否是同一个客户端。

Host  host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来。

User-Agent用户代理,一般情况是浏览器。我们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了客户端操作系统的名称和版本,所使用的浏览器的名称和版本,实际上,服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息。User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器。

参考

TCP/IP Guide

             

5 Practitioner

 • 

274.2K 消息

2015年1月13日 21:00

写的不错呀,应该重点说说Fiber network吧,毕竟现在的san网络都是跟fc有关的,比如vplex每个director都是8fc out and 8 fc in。 虽然有ethernet port,但是性能并不理想。

在二层上面fc和ethernet的mac还是有很大区别的。

期待之后的fc部分。

2 Intern

 • 

1.2K 消息

2015年1月13日 21:00

谢谢。

之前写过一点FC的文章:

Fibre Channel光纤通道基础(一)到(三)

以后如果想到合适的内容再补充~

1 消息

2015年1月15日 23:00

谢谢您的教程,太棒了。不过我想问一下,自己学习没法搞到那么多的网络设备,有没有什么软件可以模拟教程中的网络环境啊?

2 Intern

 • 

4K 消息

2015年1月16日 00:00

公司有淘汰下来的老硬件最好。模拟器的话,路由器可以用Dynamips,基本上很完善了。交换机硬件比较特殊,没有特别好的模拟器,可以看看国外的GNS3项目,只是为了学习的话,功能应该够。

2 Intern

 • 

1.2K 消息

2015年1月16日 00:00

我只用过软件模拟发包的工具,但整个网络环境的软件没有用过。。。请参考楼上同学回答。

找不到事件!

Top