作为一个程序猿避免不了要和网络通信打交道。了解计算机网络知识对每一个程序猿都是异常重要的。本文将简要介绍下基础的网络知识;

 

OSI參考模型

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联參考模型 ,是一个逻辑上的定义,一个规范。它把网络从逻辑上分为了7层。每一层都有相关、相相应的物理设备,比方路由器。交换机。OSI 七层模型是一种框架性的设计方法 。建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题。其最基本的功能使就是帮助不同类型的主机实现数据传输。它的最大长处是将服务、接口和协议这三个概念明白地区分开来。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

 

互联网协议入门深入_传输层

一.物理层(Physical Layer)

物理层定义了全部电子及物理设备的规范。当中特别定义了设备与物理媒介之间的关系,这包含了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器(在SAN中使用的主机适配器)以及其它的设备的设计定义。因为物理层传送的是原始的比特数据流。即设计的目的是为了保证当发送时的信号为二进制“1”时,对方接收到的也是二进制“1”而不是二进制“0”。因而就须要定义哪个设备有几个针脚。当中哪个针脚发送的多少电压代表二进制“1”或二进制“0”,还有比如一个bit须要持续几微秒,传输信号是否在双向上同一时候进行,最初的连接怎样创建和终于怎样终止等问题。

 

为了更好理解物理层与数据链路层之间的差别,能够把物理层觉得是基本的。是与某个单一设备与传输媒介之间的交互有关,而数据链路层则很多其它地关注使用同一个通讯媒介的多个设备(比如,至少两个设备)之间的互动。物理层的作用是告诉某个设备怎样传送信号至一个通讯媒介。以及另外一个设备怎样接收这个信号(大多数情况下它并不会告诉设备怎样与通讯媒介相连接)。

有些过时的物理层标准如RS-232倒是的确使用物理线缆来控制通讯媒介的接入。

物理层的主要功能和提供的服务例如以下:

在设备与传输媒介之间创建及终止连接。


參与通讯过程使得资源能够在共享的多用户中有效分配。比如,冲突解决机制和流量控制。


对信号进行调制或转换使得用户设备中的数字信号定义能与信道上实际传送的数字信号相匹配。这些信号能够经由物理线缆(比如铜缆和光缆)或是无线信道传送。

二.数据链路层(Datalink Layer)

数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。该层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠数据传输帧的数据链路。


在计算机网络中因为各种干扰的存在,物理链路是不可靠的。因此。这一层的主要功能是在物理层提供的比特流的基础上。通过差错控制、流量控制方法。使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质数据传输的方法。
该层通常又被分为介质訪问控制(MAC)和逻辑链路控制(LLC)两个子层。


MAC子层的主要任务是解决共享型网络中多用户对信道竞争的问题。完毕网络介质的訪问控制;
LLC子层的主要任务是建立和维护网络连接。执行差错校验、流量控制和链路控制。
数据链路层的详细工作是接收来自物理层的位流形式的数据。并封装成帧。传送到上一层;同样。也将来自上层的数据帧,拆装为位流形式的数据转发到物理层;并且。还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。

 

三.网络层(Network Layer)

网络层(Network Layer)是OSI模型的第三层。它是OSI參考模型中最复杂的一层。也是通信子网的最高一层。它在下两层的基础上向资源子网提供服务。其主要任务是:通过路由选择算法。为报文或分组通过通信子网选择最适当的路径。

该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。详细地说,数据链路层的数据在这一层被转换为数据包。然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到还有一个网络设备。
一般地,数据链路层是解决同一网络内节点之间的通信。而网络层主要解决不同子网间的通信.比如在广域网之间通信时。必定会遇到路由(即两节点间可能有多条路径)选择问题。


在实现网络层功能时,须要解决的主要问题例如以下:
寻址:数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备。每一子网中的设备都会被分配一个唯一的地址。因为各子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址)。
交换:规定不同的信息交换方式。常见的交换技术有:线路交换技术和存储转发技术,后者又包含报文交换技术和分组交换技术。
路由算法:当源节点和目的节点之间存在多条路径时,本层能够依据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传送到接收端。


连接服务:与数据链路层流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。

其目的在于防止堵塞。并进行差错检測。

四.传输层(Transport Layer)

O S I 模型中最重要的一层。传输协议同一时候进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。

除此之外,传输层依照网络能处理的最大尺寸将较长的数据包进行强制切割。比如。以太网无法接收大于1 5 0 0 字节的数据包。发送方节点的传输层将数据切割成较小的数据片,同一时候对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组。

该过程即被称为排序。

工作在传输层的一种服务是 T C P / I P 协议套中的T C P (传输控制协议)。还有一项传输层服务是I P X / S P X 协议集的S P X (序列包交换)。

五.会话层(Session Layer)

负责在网络中的两节点之间建立、维持和终止通信。 会话层的功能包含:建立通信链接,保持会话过程通信链接的畅通。同步两个节点之间的对话,决定通信是否被中断以及通信中断时决定从何处又一次发送。   你可能常常听到有人把会话层称作网络通信的“交通警察”。

当通过拨号向你的 ISP (因特网服务提供商)请求连接到因特网时。ISP server上的会话层向你与你的 PC 客户机上的会话层进行协商连接。

若你的电话线偶然从墙上插孔脱落时,你终端机上的会话层将检測到连接中断并又一次发起连接。

会话层通过决定节点通信的优先级和通信时间的长短来设置通信期限

六.表示层(Presentation Layer)

应用程序和网络之间的翻译官,在表示层,数据将依照网络能理解的方案进行格式化。这样的格式化也因所使用网络的类型不同而不同。表示层管理数据的解密与加密。如系统口令的处理。比如:在 Internet上查询你银行账户,使用的即是一种安全连接。

你的账户数据在发送前被加密,在网络的还有一端。表示层将对接收到的数据解密。除此之外,表示层协议还对图片和文件格式信息进行解码和编码。

七.应用层(Application Layer)

应用层(Application Layer)是OSI參考模型的最高层。它是计算机用户,以及各种应用程序和网络之间的接口。其功能是直接向用户提供服务,完毕用户希望在网络上完毕的各种工作。

它在其它6层工作的基础上,负责完毕网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完毕网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。
应用层为用户提供的服务和协议有:文件服务、文件夹服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等。上述的各种网络服务由该层的不同应用协议和程序完毕,不同的网络操作系统之间在功能、界面、实现技术、对硬件的支持、安全可靠性以及具有的各种应用程序接口等各个方面的差异是非常大的。

应用层的主要功能例如以下:
用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。
实现各种服务:该层具有的各种应用程序能够完毕和实现用户请求的各种服务。

TCP/IP的5层模型(各层介绍见)

互联网协议入门
相比于OSI的七层模型,更常常使用的是TCP/IP的5层模型。

TCP/IP的5层模型是将ISO的七层模型的应用层、表示层、会话层合并为应用层。得到例如以下图所看到的的五层模型:
互联网协议入门深入_传输层_02

TCP/IP通信的三次握手、四次挥手

三次握手:

第一次握手:client发送syn包(syn=x)到server。并进入SYN_SEND状态,等待server确认。

第二次握手:server收到syn包。必须确认客户的SYN(ack=x+1),同一时候自己也发送一个SYN包(syn=y),即SYN+ACK包。此时server进入SYN_RECV状态;

第三次握手:client收到server的SYN+ACK包,向server发送确认包ACK(ack=y+1)。此包发送完毕,client和server进入ESTABLISHED状态,完毕三次握手。

 

握手过程中传送的包里不包含数据,三次握手完毕后,client与server才正式開始传送数据。

理想状态下,TCP连接一旦建立。在通信两方中的不论什么一方主动关闭连接之前,TCP 连接都将被一直保持下去。

 

四次挥手

第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不会再给你发数据了(当然,在fin包之前发送出去的数据,假设没有收到相应的ack确认报文,主动关闭方依旧会重发这些数据),可是。此时主动关闭方还能够接受数据。

第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方。确认序号为收到序号+1(与SYN同样,一个FIN占用一个序号)。

第三次挥手:被动关闭方发送一个FIN。用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了。不会再给你发数据了。

第四次挥手:主动关闭方收到FIN后。发送一个ACK给被动关闭方,确认序号为收到序号+1。至此,完毕四次挥手。

 

戏说TCP/IP状态转化图

TCP/IP协议是计算机网络中的一个协议族,也是网络编程中的重头戏。理解TCP/IP状态转化图,对理解TCP/IP协议的工作过程异常重要。

例如以下图所看到的,描写叙述了一个状态机到还有一个状态机的转变,已经触发这样的状态转变的条件。

互联网协议入门深入_网络层_03

状态图详细说明例如以下:

1.CLOSED:起始点,在超时或者连接关闭时候进入此状态。

2.LISTEN:svr端在等待连接过来时候的状态,svr端为此要调用socket,bind,listen函数,就能进入此状态。此称为应用程序被动打开(等待client来连接)。

 

3.SYN_SENT:client发起连接,发送SYN给server端。假设server端不能连接,则直接进入CLOSED状态。

4.SYN_RCVD:跟3相应,server端接受client的SYN请求,server端由LISTEN状态进入SYN_RCVD状态。同一时候server端要回应一个ACK,同一时候发送一个SYN给client;第二种情况,client在发起SYN的同一时候接收到server端得SYN请求。client就会由SYN_SENT到SYN_RCVD状态。

 

5.ESTABLISHED:server端和client在完毕3次握手进入状态,说明已经能够開始数据传输了。

以上是建立连接时server端和client产生的状态转移说明。相对来说比較简单明了,假设你对三次握手比較熟悉,建立连接时的状态转移还是非常easy理解。

以下,我们来看看连接关闭时候的状态转移说明,关闭须要进行4次两方的交互,还包含要处理一些善后工作(TIME_WAIT状态),注意。这里主动关闭的一方或被动关闭的一方不是指特指server端或者client。是相对于谁先发起关闭请求来说的:

6.FIN_WAIT_1:主动关闭的一方,由状态5进入此状态。

详细的动作是发送FIN给对方。

 

7.FIN_WAIT_2:主动关闭的一方。接收到对方的FIN -ACK,进入此状态。

由此不能再接收对方的数据。

可是能够向对方发送数据。

 

8.CLOSE_WAIT:接收到FIN以后。被动关闭的一方进入此状态。详细动作是接收到FIN。同一时候发送ACK。

9.LAST_ACK:被动关闭的一方,发起关闭请求。由状态8进入此状态。详细动作是发送FIN给对方,同一时候在接收到ACK时进入CLOSED状态。

10.CLOSING:两边同一时候发起关闭请求时,会由FIN_WAIT_1进入此状态。详细动作是接收到FIN请求。同一时候响应一个ACK。

 

11.TIME_WAIT:最纠结的状态来了。从状态图上能够看出,有3个状态能够转化成它,我们一一来分析:

a.由FIN_WAIT_2进入此状态:在两方不同一时候发起FIN的情况下,主动关闭的一方在完毕自身发起的关闭请求后,接收到被动关闭一方的FIN后进入的状态。

b.由CLOSING状态进入:两方同一时候发起关闭。都做了发起FIN的请求。同一时候接收到了FIN并做了ACK的情况下,由CLOSING状态进入。

c.由FIN_WAIT_1状态进入:同一时候接受到FIN(对方发起),ACK(本身发起的FIN回应),与b的差别在于本身发起的FIN回应的ACK先于对方的FIN请求到达。而b是FIN先到达。

这样的情况概率最小。

 

关闭的4次连接最难理解的状态是TIME_WAIT,存在TIME_WAIT的2个理由:

1.可靠地实现TCP全双工连接的终止。

 

2.同意老的反复分节在网络中消逝。

 

MAC地址的概念及其作用

MAC地址(Media Access Control Address)。媒体訪问控制地址,或称为物理地址。是用来定义网络设备的位置的。

在OSI模型中,第三层网络层负责IP地址。第二层数据链结层则负责MAC地址。一个主机会有一个IP地址。而每一个网络位置会有一个专属于它的MAC地址。

 

ARP协议的用途及其工作原理

地址解析协议(Address Resolution Protocol),其基本功能为通过目标设备的IP地址。查询目标设备的MAC地址。以保证通信的顺利进行。

它是IPv4中网络层不可缺少的协议。只是在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。

在每台安装有TCP/IP协议的电脑或路由器里都有一个ARP缓存表。表里的IP地址与MAC地址是一相应的,例如以下图所看到的。

互联网协议入门深入_传输层_04

以主机A(192.168.38.10)向主机B(192.168.38.11)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。假设找到了,也就知道了目标MAC地址为(00-BB-00-62-C2-02)。直接把目标MAC地址写入帧里面发送就能够了;假设在ARP缓存表中没有找到相相应的IP地址。主机A就会在网络上发送一个广播(ARP request),目标MAC地址是“FF.FF.FF.FF.FF.FF”。这表示向同一网段内的全部主机发出这样的询 问:“192.168.38.11的MAC地址是什么?”网络上其它主机并不响应ARP询问,仅仅有主机B接收到这个帧时。才向主机A做出这样的回应(ARP response):“192.168.38.11的MAC地址是(00-BB-00-62-C2-02)”。 这样,主机A就知道了主机B的MAC地址。它就能够向主机B发送信息了。

同一时候它还更新了自己的ARP缓存表。下次再向主机B发送信息时,直接从ARP缓存表里查找就能够了。ARP缓存表採用了老化机制。在一段时间内假设表中的某一行没有使用。就会被删除,这样能够大大降低ARP缓存表的长度,加快查询速度。

了解交换机、路由器、网关的概念,并知道各自的用途

交换机

在计算机网络系统中。交换机是针对共享工作模式的弱点而推出的。

交换机拥有一条高带宽的背部总线和内部交换矩阵。

交换机的全部的port都挂接在这条背部总线上。当控制电路收到数据包以后。处理port会查找内存中的地址对比表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个port上,通过内部交换矩阵迅速将数据包传送到目的port。目的MAC若不存在,交换机才广播到全部的port,接收port回应后交换机会“学习”新的地址,并把它添增加内部地址表中。

交换机工作于OSI參考模型的第二层。即数据链路层。交换机内部的CPU会在每一个port成功连接时。通过ARP协议学习它的MAC地址。保存成一张ARP表。在今后的通讯中。发往该MAC地址的数据包将仅送往其相应的port。而不是全部的port。因此。交换机可用于划分数据链路层广播。即冲突域。但它不能划分网络层广播,即广播域。

交换机被广泛应用于二层网络交换。俗称“二层交换机”。

交换机的种类有:二层交换机、三层交换机、四层交换机、七层交换机分别工作在OSI七层模型中的第二层、第三层、第四层盒第七层,并因此而得名。

 

路由器

路由器(Router)是一种计算机网络设备,提供了路由与转送两种重要机制。能够决定数据包从来源端到目的端所经过的路由路径(host到host之间的传输路径)。这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行)。这称为转送。路由工作在OSI模型的第三层——即网络层,比如网际协议。

 

路由器的一个作用是连通不同的网络,还有一个作用是选择信息传送的线路。

路由器与交换器的差别,路由器是属于OSI第三层的产品。交换器是OSI第二层的产品(这里特指二层交换机)。

网关

网关(Gateway)。网关顾名思义就是连接两个网络的设备。差别于路由器(因为历史的原因,很多有关TCP/IP的文献以前把网络层使用的路由器(Router)称为网关,在今天非常多局域网採用都是路由来接入网络。因此如今通常指的网关就是路由器的IP),常常在家庭中或者小型企业网络中使用,用于连接局域网和Internet。 网关也常常指把一种协议转成还有一种协议的设备,比方语音网关。

 

在传统TCP/IP术语中。网络设备仅仅分成两种,一种为网关(gateway)。还有一种为主机(host)。网关能在网络间转递数据包,但主机不能转送数据包。在主机(又称终端系统,end system)中,数据包需经过TCP/IP四层协议处理,可是在网关(又称中介系统,intermediate system)仅仅须要到达网际层(Internet layer)。决定路径之后就能够转送。在当时,网关(gateway)与路由器(router)还没有差别。

在现代网络术语中,网关(gateway)与路由器(router)的定义不同。

网关(gateway)能在不同协议间移动数据,而路由器(router)是在不同网络间移动数据,相当于传统所说的IP网关(IP gateway)。

网关是连接两个网络的设备。对于语音网关来说,他能够连接PSTN网络和以太网。这就相当于VOIP。把不同电话中的模拟信号通过网关而转换成数字信号,并且增加协议再去传输。

在到了接收端的时候再通过网关还原成模拟的电话信号,最后才干在电话机上听到。

 

对于以太网中的网关仅仅能转发三层以上数据包。这一点和路由是一样的。而不同的是网关中并没有路由表。他仅仅能依照预先设定的不同网段来进行转发。网关最重要的一点就是port映射,子网内用户在外网看来仅仅是外网的IP地址相应着不同的port,这样看来就会保护子网内的用户。

初识路由表

路由表(routing table)或称路由择域信息库(、 Routing Information Base)。是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。

路由表中含有网络周边的拓扑信息。

路由表建立的主要目标是为了实现路由协议和静态路由选择。

路由表使用了和利用地图投递包裹类似的思想。仅仅要网络上的一个节点须要发送数据给网络上的还有一个节点,它就必须要知道把数据发送到哪。设备不可能直接连接到目的节点。它须要找到还有一个方式去发送数据包。在局域网中。节点也不知道怎样发送IP包到网关。将数据包发到正确的地址是一个复杂的任务,网关须要记录发送数据包的路径信息。路由表就存储着这样的路径信息,就如地图一样。是一个记录路径信息,并为须要这些信息的节点提供服务的数据库。

例如以下图所看到的为一张路由表:

互联网协议入门深入_数据_05

路由表參数说明:

Destination:目的网段

mask:子网掩码

interface:到达该目的地的本路由器的出口ip

gateway:下一跳路由器入口的ip,路由器通过interface和gateway定义一调到下一个路由器的链路,通常情况下。interface和gateway是同一网段的

metric:跳数,该条路由记录的质量,普通情况下。假设有多条到达同样目的地的路由记录,路由器会採用metric值小的那条路由

MTU

最大传输单元(Maximum Transmission Unit。MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个參数通常与通信接口有关(网络接口卡、串口等)。

因特网协议同意IP分片。这样就能够将数据包分成足够小的片段以通过那些最大传输单元小于该数据包原始大小的链路了。

这一分片过程发生在网络层(OSI 模型的第三层),第四层为传输层。传输层是 OSI 模型中最重要的一层,这里是依据窗体控制传输,而非MTU。传输协议同一时候进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。除此之外。传输层依照网络能处理的最大尺寸将较长的数据包进行强制切割。比如。以太网无法接收大于1500字节的数据包。发送方节点的传输层将数据切割成较小的数据片。同一时候对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组,该过程即被称为排序。它使用的是将分组发送到链路上的网络接口的最大传输单元的值。

以太网MTU值为1500字节 。

RIP、OSPF、BGP认识

路由信息协议(Routing Information Protocol。RIP)

路由信息协议(Routing Information Protocol,RIP)是一种使用最广泛的内部网关协议(IGP)。

(IGP)是在内部网络上使用的路由协议(在少数情形下,也能够用于连接到因特网的网络),它能够通过不断的交换信息让路由器动态的适应网络连接的变化。这些信息包含每一个路由器能够到达哪些网络,这些网络有多远等, RIP 属于网络层。

开放式最短路径优先(Open Shortest Path First。OSPF)

开放式最短路径优先(Open Shortest Path First,OSPF)是对链路状态路由协议的一种实现,是大中型网络上使用最为广泛的IGP(Interior Gateway Protocol)协议,运作于自治系统内部。著名的迪克斯加算法被用来计算最短路径树。它使用“代价(Cost)”作为路由度量。链路状态数据库(LSDB)用来保存当前网络拓扑结构,它在同一区域中的全部路由器上是同样的。

 

BGP (边界网关协议。Border Gateway Protocol )

BGP (边界网关协议。Border Gateway Protocol )是自治系统之间的路由选择协议。是互联网上一个核心的去中心化自治路由协议。

BGP 是唯一一个用来处理像因特网大小的网络的协议。也是唯一能够妥善处理好不相关路由域间的多路连接的协议。

BGP 构建在 EGP 的经验之上。

BGP 系统的主要功能是和其它的 BGP 系统交换网络可达信息。

网络可达信息包含列出的自治系统(AS)的信息。

这些信息有效地构造了 AS 互联的拓朴图并由此清除了路由环路,同一时候在 AS 级别上可实施策略决策。

 

DNS

DNS(Domain Name System。域名系统)。因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的訪问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,终于得到该主机名相应的IP地址的过程叫做域名解析(或主机名解析)。

DNS协议执行在UDP协议之上。使用port号53。

TCP、UDP和HTTP差别于联系

TCP/IP协议是一个协议簇。这个协议簇中包含了非常多种协议,TCP、UDP和HTTP仅仅是TCP/IP协议簇的成员。之所以命名为TCP/IP协议,因为TCP,IP协议是两个非常重要的协议。就用他两命名了。

1)TCP/IP协议簇,大致可分为三个层次:网络层、传输层和应用层。


在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。


在传输层中有TCP协议与UDP协议。
在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。


HTTP也是一个协议。是从Webserver传输超文本到本地浏览器的传送协议。

2)HTTP协议是建立在请求/响应模型上的。首先由客户建立一条与server的TCP链接,并发送一个请求到server,请求中包含请求方法、URI、协议版本号以及相关的MIME样式的消息。server响应一个状态行,包含消息的协议版本号、一个成功和失败码以及相关的MIME式样的消息。


HTTP/1.0为每一次HTTP的请求/响应建立一条新的TCP链接。因此一个包含HTML内容和图片的页面将须要建立多次的短期的TCP链接。一次TCP链接的建立将须要3次握手。
另外,为了获得适当的传输速度,则须要TCP花费额外的回路链接时间(RTT)。

每一次链接的建立须要这样的常常性的开销,而其并不带有实际实用的数据。仅仅是保证链接的可靠性,因此HTTP/1.1提出了可持续链接的实现方法。

HTTP/1.1将仅仅建立一次TCP的链接而反复地使用它传输一系列的请求/响应消息。因此降低了链接建立的次数和常常性的链接开销。

3)尽管HTTP本身是一个协议,但其终于还是基于TCP的。眼下,有人正在研究基于TCP+UDP混合的HTTP协议。

以上讲述了一些计算机网络相关的术语,概念,当然,一切才刚刚開始。