- 计算机网络体系结构
- 概念
一般认为,计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。简而言之,计算机网络就是一些互连的、自治的计算机系统的集合
- 广义观点:只要能实现远程信息处理的系统,或进一步能达到资源共享的系统,都是计算机网络
- 资源共享观点:以能够相互共享资源的方式互联起来的自治计算机系统的集合。
- 用户透明性观点
- 组成
(1)组成部分。一个完整的计算机网络主要有硬件、软件、协议三大组成部分。硬件主要由主机(也叫端系统)、通信链路(如双绞线、光纤)、交换设备(如路由器、交换机)和通信处理机(如网卡)等组成。
(2)工作方式。计算机网络可分为边缘部分和核心部分。边缘部分由主机组成,核心部分由大量网络和连接的路由器组成。
(3)功能组成。计算机网络由通信子网和资源子网组成。
- 功能
主要有以下五大功能
- 数据通信:是计算机网络最基本和最重要的功能
- 资源共享:使网络中的资源互通有无。
- 分布式处理:某个计算机系统负荷过重时,可将任务分配给网络中的其他计算机系统。
- 提高可靠性
- 负载均衡
- 分类
- 按分布范围分类:
广域网(Wide Area Network WAN)
城域网(Metropolitan Area Network MAN)
局域网(Local Area Network LAN)
个人局域网(Personal Area Network LAN)
- 按传输技术分类
广播式网络。所有联网计算机共享一个公共通信信道。
点对点网络
- 按拓扑结构分类:星形网络、总线型网络、环形网络、网状型网络
- 按使用者分类:公用网、专用网
(5)按交换技术分类:电路交换、报文交换、分组交换
- 标准
因特网的所有标准都以RFC(Request For Comments)形式在因特网上发布。
- 网络结构的参考模型
n层是服务提供者,n+1层是服务用户
服务数据单元(SDU):为完成用户所要求的功能而应传送的数据
协议控制信息(PCI):控制协议操作的信息
协议数据单元(PDU):对等层次之间传送的数据单位,如物理层的PDU叫 比 特,链路层的PDU叫帧,网络层的PDU叫分组,传输层的PDU叫报文。 SDU 与PCI共同组成PDU。
服务访问点(SAP):第n层的SAP是第n+1层可以访问第n层服务的地方
应用层:用户界面
传输层:端口号
网络层:ip地址
数据链路层:MAC地址
物理层:网卡接口
OSI参考模型:
物理层:为数据端设备透明的传输原始比特流。主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理和逻辑连接方法。
数据链路层:传输单位是帧,将网络层传下来的IP数据报组装成帧。功能可以概括为:成帧、差错控制、流量控制和传输管理。提供点到点的通信。
网络层:传输单位是数据报,主要任务是把网络层的协议从源端传到目的端,关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能。
传输层:传输单位是报文段(TCP)或用户数据报(UDP),任务是负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。
点到点可以理解为主机到主机之间的通信,一个点是指一个硬件地址或者IP地址;端到端通信是指运行在不同主机内两个进程之间通信,一个进程由一个端口号来标识。
会话层:建立同步(SYN)
表示层:数据压缩、加密和解密。
应用层:用户与网络的界面。
TCP/IP模型
网络接口层:类似OSI的物理层和数据链路层。
网际层:与OSI网络层功能相似。
传输层
应用层
网络层 | 传输层 | |
OSI模型 | 无连接和面向连接 | 面向连接 |
TCP/IP模型 | 无连接 | 无连接和面向连接 |
- 物理层
- 基本概念
数据:传送信息的实体
信号:数据的电气的或电磁的表现
码元:用一个固定市场的信号波形(数字脉冲),标识一位k进制数字。
信源:产生和发送数据的源头
信宿:接收数据的终点
信道:信号的传输媒介
数字信道:传送数字信号
模拟信道:传送模拟信号
基带传输:基带信号将数字信号1和0直接用两种不同的电压表示,然后送 到数字信道上去传输。
宽带传输:宽带信号是将基带信号进行调制后形成的频分复用模拟信号,然 后传送到模拟信道上去传输。
信道极限容量:信道的最高码元传输速率或信道的极限信息传输速率。
速率:也叫数据率,是指数据的传输速率,表示单位时间内传输的数据量。
码元传输速率:又可称为码元速率、波形速率,表示单位时间内所传输的码 元个数(也可称为脉冲个数或信号变化个数),单位是波特。1波特表示每秒 传输一个码元。码元可以是多进制或二进制,与进制无关。
信息传输速率:又称为信息速率、比特率,表示单位时间内数字通信系统传 输的二进制码元个数,即比特数,单位是比特/秒,(b/s)。
若一个码元携带n bit的信息量,则M baud码元传输速率所对应的信息传输 速率为M*n bit/s,即波特率=比特率/每符号含的比特数
带宽:信号具有的频带宽度,单位是赫兹。实际网络中与数据率数值上互换, 表示线路传输数据能力,此时单位是bit/s
- 通信双方的交互方式:
单工通信;只有一个方向的通信而没有反方向的交互。
半双工通信:通信双方都可以发送或接收信息
全双工通信:通信双方都可以发送和接收信息
- 奈奎斯特定理:理想低通信道下的极限数据传输率≈2Wlog2V
极限码元传输率为2W Baud,W是理想低通信道的带宽,单位是Hz
V表示每个码元离散电平的数目(指有多少种不同的码元,比如16种则需要 4位二级制位,数据传输率是码元传输率4倍)
- 香农定理:信道的极限数据传输速率≈Wlog2(1+S/N)
W为信道的带宽
S为信道所传输信号的平均功率
N为信道内部的高斯噪声功率
S/N为信噪比,即信号的平均功率和噪声的平均功率之比,10log10(S/n)
- 编码与调制
调制:把数据变换为模拟信号的过程
编码:把数据变换为数字信号的过程
(1)数字编码为数字
非归零码:用两个电压来代表两个二进制数字,如用低电平表示0,高电平表示1。
曼彻斯特编码:将一个码元分成两个相等的间隔,前一个间隔为高电平后一个间隔为低电平表示码元1;码元0则正好相反。
差分曼彻斯特编码:若码元为1,则前半个码元的电平与上一个码元的后半个码元的电平相同,若为0,则相反。
(2)数字调制为模拟
幅移键控(Amplitude-Shift Keying ASK):通过改变载波信号的振幅来表示数字信号1和0。
频移键控(Frequency-Shift Keying FSK):通过改变载波信号的频率来表示数字信号1和0。
相移键控(Phase-Shift Keying PSK):通过改变载波信号的相位来表示数字信号
正交振幅调制(Quadrature Amplitude Modulation QAM):频率相同的前提下,将ASK和PSK结合起来,形成叠加信号。
(3)模拟编码为数字
脉冲编码调制(Pulse Code Modulation PCM)主要包括三个步骤,即抽样,量化,编码。
采样定理:在通信领域,带宽是指信号最高频率与最低频率之差,单位为Hz。将模拟转成数字信号时,采样频率f必须大于或等于最大频率f的两倍。又称为奈奎斯特定理。
抽样是指对信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号。
量化是指把抽样取得的电平幅值按照一定的分级标度转化为对应的数字值。
编码则是把量化的结果转化为与之对应的二进制编码。
- 模拟调制为模拟:频分复用技术(FDM)
- 电路交换:进行数据传输前,两个结点之间必须先建立一条专用(双方独占)的物理通信路径。优点时延小,缺点效率低灵活性差。
报文交换:数据交换的单位是报文。
分组交换:限制了每次传送数据块大小的上限,把大的数据块划分为合理的小数据块,再加上一些必要的控制信息,构成分组。
- 分组交换进一步分为面向连接的虚电路方式和无连接的数据报方式。
数据报服务 | 虚电路服务 | |
连接的建立 | 不要 | 必须有 |
目的地址 | 每个分组都有完整的目的地址 | 尽在建立连接使用,之后每个分组使用长度较短的虚电路号 |
路由选择 | 每个分组独立进行路由选择和转发 | 属于同一条虚电路的分组按照同一路由转发 |
分组顺序 | 不保证分组的有序到达 | 保证分组的有序到达 |
可靠性 | 不保证可靠通信,由用户主机保证 | 可靠性由网络保证 |
对网络故障的适应性 | 出故障的结点丢失分组,其他分组路径选择发生变化,可正常传输 | 所有经过故障结点的虚电路均不能正常工作 |
差错处理和流量控制 | 由用户主机进行流量控制,不保证数据报可靠性 | 可由分组交换网负责,也可由用户主机负责。 |
- 双绞线、同轴电缆、光纤
多模光纤:可以存在许多条不同角度入射的光线在一条光纤中传输。
单模光纤:光纤就像一根波导那样,可使光纤一直向前传播,而不会产生多次反射。
- 物理层设备
中继器:又称为转发器,主要功能是将信号整形并放大再转发出去,以消除信号的失真和衰减,使信号波形和强度达到所需要的要求,来扩大网络传输的距离,其原理是信号再生,而不是简单的将衰减的信号放大。
中继器是局域网下扩大网络规模的最简单最廉价的互联设备,使用中继器连接起来的几个网段仍然是一个局域网。中继器工作在物理层,不能连接两个具有不同速率的局域网,中继器两端的网络部分是网段,而不是子网。
集线器(Hub)实质上是一个多端口的中继器,也工作在物理层,当一个接口接收到数据信号后,集线器便将该信号进行整形放大,紧接着转发到其他所有除输入端口以外的端口,如果同时又两个或多个端口输入,则输出时会发生冲突。
- 数据链路层
- 组帧:
字符计数法:在帧头部使用一个计数字段来标明帧内字符数。
字符填充的首尾定界符法:使用特定的字符来界定一帧的开始(DLE STX)与结束(DLE ETX)。
比特填充的首尾标志法:以01111110来标志一帧的开始和结束,在信息位中遇到5个连续的1时,自动在其后插入一个“0”
违规编码法
- 差错控制
自动重传请求(Automatic Repeat-reQuest ARQ):接收端检测出差错时,就设法通知发送端重发,直到接收到正确的码字为止。
前向纠错(FEC):接收端不但能发现差错,而且能确定二进制数码的错误位置,从而加以纠正。
检错编码
奇偶校验码:奇校验码附上校验位后1的个数为奇数
循环冗余码(Cyclic Redundancy Check CRC)
海明码
- 流量控制与可靠传输机制
单帧滑动窗口与停止等待协议(Stop-and-Wait)
发送窗口大小=1,接收窗口大小=1
多帧滑动窗口与后退N帧协议(Go-Back-N)
发送窗口大小>1,接收窗口大小=1
多帧滑动窗口与选择重传协议(SR)
发送窗口大小>1,接收窗口大小>1
数据链路层的可靠传输通常使用确认和超时重传两种机制来完成。确认是一种无数据的控制帧,有些情况为了提高效率,将确认捎带在一个回复帧中,称为捎带确认。超时重传是指发送方在发送某一个数据帧以后就开启一个计时器,如果一定时间内没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止。
信道效率是对发送方而言的,是指发送方在一个发送周期的时间内,有效地发送数据所需要的时间占整个发送周期的比率。
信道吞吐率=信道利用率*发送方的发送速率
- 介质访问控制(Media Access Control MAC)
为使用介质的每个节点隔离来自同一信道上其他结点所传送的信号。
信道划分介质访问控制:多路复用技术把多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,提高信道的利用率。信道划分的实质就是通过分时、分频、分码等方法把原来的一条广播信道,逻辑上分为几条用于两个结点之间通信的互不干扰的子信道,实际上就是把广播信道转变为点对点信道。
频分多路复用(Frequency Division Multiplexing FDM):将物理信道的总带宽分割成若干个与传输单个信号带宽相同或略宽的子信道。
时分多路复用(Time Division Multiplexing TDM):将一条物理信道按时间分成若干个时间片,轮流地分配给多个信号使用。异步时分多路复用(STDM)是TDM的一种改进
波分多路复用(Wave Division Multiplexing WDM):光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号。
码分多路复用(Code Division Multiplexing CDM):是靠不同的编码来区分各路原始信号的一种复用方式。它既共享信道的频率,又共享时间。
码分多址(Code Division Multiple Access CDMA)是码分复用的一种方式,频谱利用率高,抗干扰能力强,主要用于无线通信系统。
空分多路复用(Space Division Multiplexing SDM)
正交频分复用技术(Orthogonal Frequency Division Multiplexing)
随机访问介质访问控制:不采用集中控制方式解决发送信息的次序问题,可以随意发送信息,当产生帧的冲突,用户需按照一定的规则反复地重传它的帧,直到帧无碰撞的通过。核心思想都是胜利者通过争用获得信道,从而获得信息的发送权。
ALOHA协议
纯ALOHA:需要发送数据时,不进行任何检测就发送数据,一段时间内没有收到确认,该站点就认为传输过程中发生了冲突。发送站点需要等待随机一段时间后再发送数据,直至发送成功。
时隙ALOHA:把所有各站在时间上同步起来,并将时间划分为一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧。从而避免了用户发送数据的随意性,减少冲突的可能性,提高了信道的利用率。
载波侦听多路访问(Carrier Sense Multiple Access CSMA)协议:每个站点在发送前都先侦听一下公用的信道,发现信道空闲后再发送,那将会大大减少冲突的可能,从而提高信道的利用率,与ALOHA协议的主要区别就是多了个载波侦听装置。
根据侦听方式和听到信道忙后的处理方式不同:
(1)1-坚持CSMA:首先侦听信道,如果信道空闲就立即发送数据,如果信道忙则等待,同时继续侦听直到信道空闲;如果发生冲突后,随机等待一段时间后再重新开始侦听信道。传播延迟对该协议性能影响较大。
(2)非坚持CSMA:首先侦听信道,如果信道空闲就立即发送数据;如果信道忙就放弃侦听,等待一个随机的时间后再重复上述过程。减少了多个结点等待信道空闲后同时发送数据导致冲突的概率,但这也使得数据在网络中的平均延迟增加了,信道利用率的提高以增加数据在网络中的延迟时间为代价。
(3)p-坚持CSMA:检测到信道空闲后,以概率p发送数据,以概率1-p推迟到下一个时隙,目的是降低1-坚持CSMA协议检测到空闲立即发送数据的冲突概率,
信道状态 | 1-坚持型 | 非坚持型 | p-坚持型 |
空闲 | 立即发送数据 | 立即发送数据 | 概率p发送,概率1-p推迟到下个时隙 |
忙 | 继续坚持监听信道 | 放弃,等待随机时间 | 继续坚持监听信道 |
载波侦听多路访问/碰撞检测(CSMA/CD Collision Detection)协议:碰撞检测就是边发送边侦听,以便判断自己发送数据时其他站点是否也在发送数据。工作流程可简单概括为“先听后发,边听边发(区别于CSMA协议),冲突停发,随机重发”。CSMA/CD的以太网不可能进行全双工通信,而只能进行半双工通信。站A发送帧后至多经过时间2π就可知道发送的帧是否遭到了碰撞,因此把以太网端到端往返时间2π称为争用期(又称为冲突窗口或碰撞窗口),只有经过争用期这段时间还没有检测到冲突,才能确定这次发送不会发生冲突。为了确保发送数据同时能检测到可能存在的冲突,最小帧长=总线传播时延*数据传输速率*2。
载波侦听多路访问/碰撞避免(CSMA/CA Collision Avoidance)协议:CSMA/CD协议已成功地应用于使用有线连接的局域网,但在无线局域网下实现碰撞检测花费过大,802.11标准定义了广泛应用于无线局域网的CSMA/CA协议,把碰撞检测改为碰撞避免,尽量减少碰撞发生的概率,采用二进制数退避算法。还使用预约信道、ACK帧、RTS/CTS帧三种机制。
CSMA/CA协议的基本思想就是在发送数据时先广播告知其他结点,让其他结点在这段时间内不要发送数据,以免出现碰撞。CSMA/CD协议的基本思想就是发送前先侦听,边发送边侦听,一旦出现碰撞马上停止发送。
轮询访问介质访问控制
令牌传递协议:在轮询访问中,用户不能随机地发送信息,而是通过一个集中控制的监控站,以循环的方式轮询每个结点,再决定信道的分配。当某结点使用信道时,其他结点都不能使用信道。
- 局域网(Local Area Network LAN)是在一个较小的地理范围内将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互联网络。
三种特殊的局域网拓扑实现:以太网、令牌环、FDDI。
数据链路层拆分为两个子层
逻辑链路控制LLC子层:向网络层提供无确认无连接、面向连接、带确认无连接、高速传送4种不同的连接服务类型。
介质访问控制MAC子层:向上层屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口,主要功能包括:组帧和拆卸帧、比特传输差错控制、透明传输。
计算机与外界局域网的连接是通过主机箱内插入一块网络接口板,又称为网络适配器(Adapter)或网络接口卡(NIC),每一块网卡有一个地址,称为MAC地址,也称物理地址。
以太网帧格式有两种标准:DIX Ethernet V2标准和IEEE 802.3标准。
前导码:使接收端与发送端时钟同步,在帧的前面插入的8字节,可再分为两字段,第一个字段共7字节,是前同步码,用来迅速实现MAC帧的比特同步,第二个字段是帧开始定界符,表示后面的信息就是MAC帧。
地址:通常使用6字节(48bit)地址(MAC地址)。
类型:2字节,指出数据域中的数据应交给哪个协议实体处理。
数据:46~1500字节,包含高层的协议消息。由于CSMA/CD算法的限制,以太网帧必须满足最小长度64字节,当数据较小时必须加以填充(0~46字节)
填充:0~46字节。当帧长太短时填充帧,使之达到64字节最小长度。
校验码(FCS):4字节,校验范围从目的地址段到数据段末尾,采用32位循环冗余校验码(CRC)。
高速以太网:速率达到或超过100Mb/s的以太网称为高速以太网。
IEEE 802.11是无线局域网的一系列协议标准。MAC层采用的是CSMA/CA协议进行介质访问控制。检查是否发回帧的确认ACK。标准规定无线局域网最小构件是基本服务集(BSS),一个基本服务集包括一个基站和若干个移动站,所有的站在本BSS内都可以直接通信,但和本BSS以外的站通信时都要通过本BSS的基站。基本服务集的基站也称为接入点(Access Point AP)
- 广域网:通常是指覆盖范围很广的长距离网络。连接广域网各结点交换机的链路都是高速链路。广域网由一些结点交换机(结点交换机在单个网络中转发分组,而路由器在多个网络构成的互联网中转发分组)以及连接这些交换机的链路组成。局域网使用的协议主要在数据链路层,而广域网使用的协议主要在网络层。PPP协议和HDLC协议是目前最常用的两种广域网数据链路层控制协议。
点对点协议PPP(Point-to-Point Protocol)是使用串行线路通信的面向字节的协议,该协议应用在直接连接两个结点的链路上。设计目的通过拨号或专线方式建立点对点连接发送数据。、
有三个组成部分
- 链路控制协议(Link Control Protocol LCP):一种扩展链路控制协议,用于建立、配置、测试和管理数据链路。
- 网络控制协议(Network Control Protocol NCP):PPP允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。
- 一个将IP数据报封装到串行链路的方法。IP数据报在PPP帧中就是其信息部分,这个信息部分长度受最大传送单元MTU的限制。
高级数据链路控制协议(High-level Data Link Control HDLC)是ISO制定的面向比特的数据链路层协议。
- 数据链路层设备
网桥:两个或多个以太网通过网桥连接起来后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就可称为一个网段。网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域。各网段相对独立,一个网段的故障不会影响到另一个网段的运行。
网桥处理数据的对象是帧,它是工作在数据链路层的设备
中继器、放大器处理数据的对象是信号,它是工作在物理层的设备
透明网桥:按照自学习算法处理收到的帧,使用了一种生成树算法(无环),确保每个源到每个目的地只有唯一的路径,但生成树一般不是最佳路由。
源路由网桥:选择的是最佳路由。
局域网交换机:又称以太网交换机,本质上说就是个多端口的网桥,能经济地将网络分成小的冲突域。可以方便的实现虚拟局域网(Virtual LAN VLAN),不仅可以隔离冲突域,也可以隔离广播域。以太网交换机的每个端口直接与单个主机相连,一般工作在全双工方式,能同时连通许多对端口,使每一对相互通信的主机能独占通信媒体那样传输数据。
- 网络层
- 中继系统
物理层中继系统:中继器、集线器
数据链路层中继系统:网桥或交换机
网络层中继系统:路由器
网络层以上的中继系统:网关
- 路由器主要完成两个功能
路由选择:按照算法根据从相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由
分组转发:指路由器根据转发表将用户的IP数据报从合适的端口转发出去。
- 拥塞控制:确保通信子网能够传送待传送的数据,全局性的问题
流量控制:指在发送端和接收端之间的点对点通信量控制。
- 路由算法
静态路由算法:指由网络管理员手工配置的路由信息。
动态路由算法:指路由器上的路由表项通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来的。
距离-向量路由算法:所有结点定期地将它们的整个路由选择表传送给所有与之相邻的结点。RIP算法
链路状态路由算法:一个结点检查所有直接链路的状态,并将所得的状态信息发送给网上所有其他的结点。OSPF算法
Dijsktra最短路径算法:从单一源出发计算到达所有目的结点的最短路径。
层次路由:整个互联网划分为许多较小的自治系统(一个自治系统里面包含很多局域网)。
内部网关协议(IGP):自治系统内部所使用的路由选择协议,包括RIP、OSPF
外部网关协议(EGP):自治系统之间所使用的路由选择协议,包括BGP
- IPV4
一个IP分组由首部和数据两部分组成。首部前一部分固定长度为20字节,后一部分是可选字段,长度可变。
首部部分重要字段含义:
- 版本:版本号为4。
- 首部长度:占4位。首部最大值为60字节。
- 总长度:占16位。指首部和数据之和的长度。以太网帧最大传送单元MTU为1500字节。封装成帧时,总长度不能超过MTU值。
- 标识:占16位,是一个计数器,每产生一个数据报就加1。
- 标志:占3位
最低位位MF,MF=1表示后面还有分片,MF=0表示最后一个分片。
中间一位是DF,只有当DF=0时才允许分片。
- 片偏移:占13位,分组分片后再原分组中的相对位置。
- 首部校验和:占16位,只校验分组首部,不校验数据部分。
- 生存时间TTL:占8位,数据报在网络中可通过路由器数最大值。
- 协议:占8位,值为6表示TCP,值为17表示UDP。
- 源地址字段
- 目的地址字段
一个链路层数据报能承载最大数据量称为最大传送单元(Maximum Transmission Union MTU)。当IP数据报的总长度大于链路MTU时,就需要分片。
无论哪类IP地址,都由网络号和主机号两部分组成。
A类(1~126)
B类(128~191)
C类(192~223)
D类(224~239)
E类(240~255)
主机号全为0表示网络本身
主机号全为1表示本网络的广播地址
127.0.0.0为环路自检地址
0.0.0.0表示本网络上的主机
255.255.255.255 表示整个TCP/IP网络的广播地址,等效本网络的广播地址
- 网络地址转换(Network Address Translation NAT)
将专用网络地址转换为公用地址。NAT路由器让多个私有IP地址映射到同一个全球IP地址。允许私有IP地址被LAN重复使用,这有效地解决了IP地址不足的问题。
私有IP地址网段:
A类:1个A类网段,即10.0.0.0~10.255.255.255
B类:16个B类网段,即172.16.0.0~172.31.255.255
C类:256个C类网段,即192.168.0.0~192.168.255.255
- 子网划分与子网掩码
IP地址增加了一个“子网号字段”,使两级IP地址变成为三级IP地址。划分子网只是把IP地址的主机号这部分进行再划分,而不改变IP地址原来的网络号。因此,从一个IP地址本身或IP数据报首部无法判断是否进行了子网划分。
子网掩码是一个与IP地址相对应的32b二进制串,计算机只需将IP地址和其对应的子网掩码逐位相“与”,就可得出相应子网的网络地址。所有的网络都必须使用子网掩码,如果一个网络没有划分子网,那么就采用默认子网掩码。
- 无分类域间路由选择(Classless Inter-Domain Routing CIDR)
无分类域间路由选择是在变长子网掩码的基础上提出的一种消除传统A、B、C类网络划分。CIDR使用“网络前缀”的概念代替子网络的概念,这样IP地址的无分类两级编址为IP={网络前缀,主机号}
CIDR还使用斜线记法,即IP地址/网络前缀所占比特数
网络前缀相同的连续的IP地址组成“CIDR地址块”,这种地址的聚合称为路由聚合,或称为构成超网。
最长前缀匹配:使用CIDR时,查找路由表可能会得到不止一个匹配结果,应当从匹配结果中选择具有最长网络前缀的路由,因为网络前缀越长,其地址块越小,因而路由就越具体。
- 地址解析协议(Address Resolution Protocol ARP)
无论网络层使用什么协议,在实际网络链路上传送数据帧时,最终必须使用硬件地址。ARP解决同一个局域网上主机或路由器的IP地址和硬件地址的映射问题,存放本局域网上各主机和路由器的IP地址到MAC地址的映射表,称ARP表。ARP请求分组是广播发送的,但ARP相应分组是普通的单播,即从一个源地址发送到一个目的地址。
4种典型情况:
- 发送方是主机,要把IP数据报发送到本网络另一个主机,用ARP找到目的主机硬件地址。
- 发送方是主机,要把IP数据报发送到另一个网络上的一个主机,用ARP找到本网络上一个路由器的硬件地址,剩下由路由器完成。
- 发送方是路由器,要把IP数据报转发到本网络上的一个主机,用ARP找到目的主机的硬件地址。
- 发送方是路由器,要把IP数据报转发到另一个网络上的一个主机,用ARP找到另一个网络上路由器的地址,剩下由路由器完成。
- 动态主机配置协议(Dynamic Host Configuration Protocol DHCP)
给主机动态地分配IP地址。是应用层的协议,基于UDP。
使用客户/服务器方式,需要IP地址的主机向DHCP服务器广播发送发现报文,此时该主机成为DHCP客户,本地网络上所有主机都能收到此广播报文,但只有DHCP服务器才回答此广播报文,服务器先在数据库查找该计算机配置信息,找到则返回,找不到,则从服务器的IP地址池中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文。
- 网际控制报文协议(Internet Control Message Protocol ICMP)
为了提高IP数据报交付成功的机会,在网络层使用了网际控制报文协议来允许主机或路由器报告差错和异常情况。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去,ICMP协议是IP层协议。
ICMP差错报告报文,用于目标主机或到目标主机路径上的路由器向源主机报告差错和异常情况。
- 终点不可达。当路由器或主机不能交付数据报时。
- 源点抑制。当路由器或主机由于拥塞而丢弃数据报时。
- 时间超过。当路由器收到生存时间TTL为0的数据报时。
- 参数问题。当收到数据报首部有的字段值不正确时,就丢弃该数据报。
- 改变路由。让主机知道下次应发给另外更好的路由器。
ICMP询问报文
- 回送请求和回答报文
- 时间戳请求和回答报文
- 掩码地址请求和回答报文
- 路由器询问和通告报文
常见的应用是分组网间探测PING(用来测试两个主机之间的连通性)和traceroute(UNIX中的名字,可以用来跟踪分组经过的路由)。其中PING使用了ICMP回送请求和回答报文,traceroute使用了ICMP时间超过报文。
- IPV6
解决IP地址耗尽的问题的措施有以下三种
- 采用无类别编址CIDR,使IP地址分配更加合理。
- 采用网络地址转换NAT方法以节省全球IP地址。
- 采用具有更大地址空间的新版本IP协议IPV6.
前两种方法只是延长了IPV4地址分配结束的时间,只有第三种方法从根本上解决了IP地址的耗尽问题。
主要特点如下:
更大的地址空间,地址从IPV4的32位增大到了128位,字节数(16字节)是IPV4字节数的平方。
IPV6只有在包的源节点才能分片,是端到端的,从一般意义上来讲,IPV6不允许分片。
IPV6首部长度必须是8B的整数倍,而IPV4首部是4B的整数倍。
增加了安全性,身份验证和保密功能是IPV6的关键特征。
- 路由协议
自治系统(Autonomous System AS):在单一技术管理下的一组路由器。
自治系统内部的路由选择称域内路由选择,自治系统之间的路由选择称域间路由选择。
内部网关协议(Interior Gateway Protocol IGP):即在一个自治系统内部使用的路由选择协议,这类路由选择协议使用的最多,如RIP协议和OSPF协议。
外部网关协议(External Gateway Protocol EGP):若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统边界时,就需要一种协议传递到另一个自治系统中,这样的协议就是外部网关协议。使用最多的是BGP-4。
路由信息协议 (Routing Information Protocol RIP):内部网关协议中最先得到广泛应用的协议,是一种分布式的基于距离向量的路由选择协议,最大优点是简单。
- 每个路由器维护从它自己到其他每个目的网络的距离记录,称距离向量。
- 距离称为跳数,规定从一个路由器到直接连接的网络距离跳数为1。每经过一个路由器,距离加1.
- 好的路由通过路由器的数目少,优先选择跳数少的路径。
- 允许一条路径最多只能包含15个路由器,距离等于16时表示网络不可达。
- 任意两个使用RIP的路由器之间每30秒广播一次路由更新信息,以便自动建立并维护路由表。
最大优点实现简单,开销小,收敛过程较快。缺点是限制了网络的规模,路
由器之间交换的是完整的路由表,网络规模越大,开销也越大。
当网络出现故障时,会出现慢收敛现象,即需要较长时间才能将此消息传送到所有路由器。
RIP是应用层协议,使用UDP传送数据(端口520)
开放最短路径优先协议(Open Shortest Path First OSPF)
- OSPF向本自治系统中所有路由器发送信息,使用的方法是洪泛法。而RIP协议是仅仅向自己相邻的几个路由器发送信息。
- 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器知道的部分信息。“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的度量。
- 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送信息,并且更新过程收敛得快。
- OSPF是网络层协议,不使用UDP或TCP而是直接IP数据报传送(IP数据报首部的协议字段为89)
边界网关协议(Border Gateway Protocol BGP)是不同自治系统的路由器之间交换路由信息的协议。它是一种外部网关协议。BGP采用的是路径向量路由选择协议,是应用层协议,基于TCP的。
- IP组播
源计算机一次发送的单个分组可以抵达用一个组地址标识的若干台目标主机,并被他们正确接收。数据只需发送一次就可以发送到所有接收者,大大减轻了网络的负载和发送者的负担。
IP组播使用D类地址格式,D类地址前四位是1110,因此D类地址范围是224.0.0.0~239.255.255.255,每一个D类地址标志一个组播组。组播数据报和一般的IP数据报的区别在于它使用D类IP地址仅作为目的地址,并且首部中的协议字段值是2,表明使用IGMP协议。
为了使路由器知道组播组成员的信息,需要利用到因特网组管理协议(Internet Group Management Protocol IGMP)。IGMP并非是在因特网范围内对所有组播组成员进行管理的协议,IGMP不知道组播组包含的成员数,也不知道这些成员分布在哪些网络上。IGMP协议是让连接在本地局域网山组播路由器知道本局域网上是否有主机参加或退出了某个组播组。
实现因特网组播,主要有三种路由算法,第一种是基于链路状态的路由选择,第二种是基于距离-向量的路由选择,第三种则是可以建立在任何路由器协议之上,称作协议无关组播(Protocol Independence Multicast PIM)
- 移动IP
支持移动性的因特网体系结构与协议被共同称为移动IP。移动IP技术是移动结点以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程中不发生任何改变。
基于IPV4的移动IP定义三种功能实体:移动结点、归属代理(也叫本地代理)和外埠代理(也叫外部代理)。归属代理和外埠代理统称为移动代理。
- 移动结点:具有永久IP地址的移动结点。
- 本地代理:在一个网络环境中,一个移动结点的永久“居所”被称为归属网络,在归属网络中代表移动结点执行移动管理功能的实体叫归属代理。
- 外部代理:在外部网络中帮助移动结点完成移动管理功能的实体称为外部代理。
移动IP的通信过程,在本地网络链路上每一个本地结点还必须有一个本地代理来为它维护当前的位置信息,这就需要引入转交地址。
注:移动IP技术使漫游的主机可以用多种方式连接到因特网。
移动自组网络是将移动性扩展到无线领域中的自治系统,它具有自己独特的路由选择协议,并且可以不和因特网相连。
动态IP指的是局域网中的计算机可以通过网络中的DHCP服务器动态地获得一个IP地址,而不需要用户在计算机的网络设置中指定IP地址。
- 网络层设备
路由器是一种具有多个输入输出端口的专用计算机,其任务是连接不同的网络(连接异构网络)并完成路由转发。在多个逻辑网络(即多个广播域)互联时必须使用路由器。
当源主机要向目标主机发送数据报时,路由器先检查源主机与目标主机是否连接在同一个网络上。如果源主机和目标主机在同一个网络上,则直接交付而无需通过路由器。如果源主机和目标主机不在同一个网络上,则路由器按照转发表(路由表)指出的路由将数据报转发给下一个路由器,称为间接交付。
从结构上来看,路由器由路由选择和分组转发两部分构成。
- 传输层
- 传输层提供应用进程之间的逻辑通信(即端到端的通信)。与网络层的区别是,网络层提供的是主机之间的逻辑通信。
复用是指发送方不同的应用进程可以使用同一个传输层协议传送数据;分用是指接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。
传输层还要对收到的报文进行差错检测(首部和数据部分),而网络层只检查IP数据报的首部,不检验数据部分是否出错。
- 端口能够让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文中的数据向上通过端口交付给应用层相应的进程。
根据端口号的范围可将端口分为两类:
- 服务端使用的端口号,数值为0~1023,互联网地址指派机构(The Internet Assigned Numbers Authority IANA),把这些端口号指派给了最重要的一些应用程序。
应用程序 | FTP 数据链接 | FTP 控制链接 | TELNET | SMTP | DNS | TFTP | HTTP | POP3 | SNMP |
使用协议 | TCP | TCP | TCP | TCP | UDP | UDP | TCP | TCP | UDP |
端口号 | 20 | 21 | 23 | 25 | 53 | 69 | 80 | 110 | 161 |
(2)客户端使用的端口号,数值为49152~65535
- 套接字
在网络中通过IP地址来标识和区别不同的主机,通过端口号来标识和区分一台主机中的不同应用进程。在网络中采用发送方和接收方的套接字(Socket)组合来识别端点
套接字=(主机IP地址,端口号)
它唯一标识了网络中一个主机和其上的一个应用。
- TCP/IP协议族在IP层之上使用了两个传输协议
一个是面向连接的传输控制协议TCP,当采用TCP时,传输层向上提供的是一条全双工的可靠逻辑信道;
另一个是无连接的用户数据报协议UDP,当采用UDP时,传输层向上提供的是一条不可靠的逻辑信道。
TCP提供面向连接的服务,传送数据之前必须要先建立连接,数据传送结束后要释放连接。TCP不提供广播或组播服务。由于TCP提供面向连接的可靠的传输服务,因此不可避免地增加了许多开销,如确认、流量控制、计时器以及连接管理等。TCP主要适用于可靠性更重要的场合,如文件传输协议FTP、超文本传输协议HTTP、远程登录TELNET。
UDP是一个无连接非可靠的传输层协议。它在IP之上仅提供两个附加服务:多路复用和对数据的错误检查。UDP传送数据前不需要先建立连接,远程主机的传输层收到UDP报文后,不需要给出任何确认。UDP比较简单,执行速度比较快,实时性好。使用UDP的应用主要包括小文件传送协议(TFTP)、DNS、SNMP和实时协议(RTP)。
- 用户数据报协议(User Datagram Protocol UDP)只在IP的数据报服务之上增加了两个最基本的服务:复用和分用以及差错检测。UDP有以下优点:
- UDP无需建立连接
- 无连接状态
- 分组首部开销小
- 应用层能更好地控制要发送的数据和发送时间,UDP没有拥塞控制。
- UDP提供尽最大努力的交付,即不保证可靠交付,所有维护传输可靠性的工作需要用户在应用层完成。
- UDP是面向报文的。对应用层交下来的报文,在添加首部后就向下交付给IP层,既不合并,也不拆分,而是保留这些报文的边界;接收方UDP对IP层交上来UDP用户数据报,在去除首部后就原封不动地交付给上层应用进程。因此报文不可分割,是UDP数据报处理的最小单位。
UDP数据报包含两个部分:UDP首部和用户数据。整个UDP数据报作为IP数据报的数据部分封装在IP数据报中。UDP首部有8个字节,由4个字段组成,每个字段的长度都是两个字节。
- 源端口号
- 目的端口
- 长度。UDP数据报的长度(包括首部和数据),其最小值是8(仅有首部)。
- 校验和。检验UDP数据报在传输中是否有错,有错就丢弃。
- 传输控制协议(Transmission Control Protocol TCP)是在不可靠的IP层上实现的可靠的数据传输协议。主要特点有
- TCP是面向连接的传输层协议
- 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
- TCP提供可靠的交付服务,保证传送的数据无差错、不丢失、不重复且有序。
- TCP提供全双工通信,允许通信双方的应用进程在任何时候都能发送数据,为此TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。
- TCP是面向字节流的。
TCP传送的数据单元称为报文段。一个TCP报文段分为TCP首部和TCP数据两部分,整个TCP段作为IP数据报的数据部分封装在IP数据报中。首部的前20字节是固定的,首部最短为20字节。
- 源端口和目的端口字段。各占2字节。
- 序号字段。占4字节。TCP是面向字节流的,传送时是按照一个一个字节来传送的,所以TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值指的是本报文段发送的数据的第一个字节的序号。
- 确认号字段。占4字节,是期望收到对方下一个报文段的数据的第一个字节的序号。若确认号=N,则表明到序号N-1为止的所有数据都已正确收到。
- 数据偏移(即首部长度)。占4位,表示首部长度,指出TCP报文段的数据起始处距离报文段的起始处有多远。
单位是32位,以4字节为计算单位,因此当此字段的值为15时,达到TCP首部的最大长度60字节。
- 保留字段。占6位
- 紧急位URG。当URG=1时,表明紧急指针字段有效,告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级数据)
- 确认位ACK。只有当ACK=1时确认号字段才有效。当ACK=0时,确认号无效。TCP规定,在连接建立后所有传送的报文段都必须把ACK置1.
- 推送位PSH(PUSH)。接收TCP收到PSH=1的报文段,就就尽快地交付接收应用进程,而不再等到整个缓存都填满后再向上交付。
- 复位位RST(Reset)当RST=1时,表明TCP连接中出现严重差错(由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接
- 同步位SYN。同步SYN=1表示这是一个连接请求或连接接收报文。当SYN=1,ACK=0时,表明这是一个连接请求报文,对方若同意建立连接,则在响应报文中使用SYN=1,ACK=1。
- 终止位FIN(Finish)用来释放一个连接。FIN=1表明此报文段的发送方的数据已发送完毕,并要求释放传输连接。
- 窗口字段。占2字节,指出了现在允许对方发送的数据量,接收方的数据缓存空间是有限的,故用窗口值作为接收方让发送方设置其发送窗口的依据,单位为字节。
- 校验和。占2字节,校验和字段检验的范围包括首部和数据这两部分。
- 紧急指针字段。
- 选项字段。
- 填充字段
TCP是面向连接的协议。因此每一个TCP连接都有三个阶段:连接建立、数据传送和连接释放。TCP连接的端口叫做套接字。每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定。
TCP连接的建立采用用户/服务器模式,主动发起连接建立的应用进程叫做客户机(Client),而被动等待连接建立的应用进程叫做服务器(Server)
TCP连接的建立,“三次握手”
第一步:客户机的TCP想服务器的TCP发送一个连接请求的报文段,不含应用层数据,首部中的SYN标志位被置为1,客户机随机选择一个起始序号seq=x
第二步:服务器的TCP收到连接请求的报文段后,向客户机发回确认,并为该TCP连接分配TCP缓存和变量。确认报文段中,SYN和ACK位都被置为 1,确认号字段ack的值为x+1,并且服务器随机产生起始序号seq=y,确认报文段同样不包含应用层数据。
第三步:客户机收到确认报文段后,向服务器给出确认。ACK位被置为1,序号字段为seq=x+1,确认号字段ack=y+1,该报文段可以携带数据。
TCP连接的释放,“四次挥手”
第一步:客户机打算关闭连接,该报文段的FIN标志位被置为1,seq=u,它等于前面已传送过的数据的最后一个字节的序号加1。
第二步:服务器收到连接释放报文段后即发出确认,ACK=1,确认号是ack=u+1,这个报文段自己的序号seq=v。此时,从客户机到服务器这个方向的连接就释放了,TCP连接处于半关闭状态。
第三步:若服务器已没有要向客户机发送的数据,就通知TCP释放连接,此时发出FIN=1的连接释放报文段。ACK=1,seq=w,ack=u+1
第四步:客户机收到连接释放报文段后,必须发出确认,ACK=1,ack=w+1,seq=u+1
TCP可靠传输
TCP使用了校验、序号、确认和重传等机制,其中,TCP的校验机制和UDP校验一样。
(1)序号。TCP首部的序号字段用来保证数据能有序提交给应用层。序号字段的值则指的是本报文段所发送数据的第一个字节的序号。
(2)确认。TCP首部的确认号是期望对方的下一个报文段的数据的第一个字节的序号。TCP默认使用累计确认,即TCP只确认数据流中第一个丢失字节位置的字节。
(3)重传。有两种事件会导致TCP对报文段进行重传:超时和冗余ACK。
a、TCP每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传事件到期,但还没有收到确认,就要重传这一报文段。TCP采用一种自适应算法,记录一个报文段发出的时间以及相应确认的时间,两个时间之差叫做报文段的往返时间(Round-Trip Time RTT)
b、TCP规定每当比期望序号大的失序报文段到达时,发送一个冗余ACK,指明下一个期待字节的序号。TCP规定当发送方收到对同一个报文段的3个冗余ACK时,就可以认为跟在这个被确认报文段之后的报文段已经丢失。这时发送方立即执行重传,这种技术通常称为快重传。
TCP流量控制:流量控制是一个速度匹配服务
接收窗口rwnd、拥塞窗口cwnd
TCP拥塞控制
(1)慢开始算法
(2)拥塞避免算法
(3)快重传和快恢复算法
- 应用层
- 网络应用模型
客户/服务器(Client/Server C/S)模型:有一个总是打开的主机称为服务器,服务来自于其他称为客户机的主机请求
主要特点有:
- 网络中各计算机的地位不平等。
- 客户机相互之间不直接通信。
- 可扩展性不佳。
在C/S模型中,服务器性能的好坏决定了整个系统的性能,当大量用户请求服务时,服务器就必然成为系统的瓶颈。P2P的思想是整个网络中的传输内容不再被保存在中心服务器上,每个结点都同时具有下载、上传的功能,其权利和义务都是大体对等的。每个结点既作为客户访问其他结点的资源,也作为服务器提供资源给其他结点访问。
- 减轻了服务器的计算压力,大大提高了系统效率和资源利用率。
- 多个客户机之间可以直接共享文档
- 可扩展性好
- 网络健壮性强,单个结点失效不会影响其他部分结点。
各大互联网服务提供商(Internet Service Provider ISP),如电信、网通通常对P2P应用持反对态度。
- 域名系统(Domain Name System DNS)是因特网使用的命名系统,用来把便于人们记忆的含有特定含义的主机名转换为便于机器处理的IP地址。DNS系统采用客户/服务器模型,其协议运行在UDP上,使用53号端口。
com是顶级域名,标号cskaoyan是二级域名,标号www是三级域名
顶级域名(Top Level Domain TLD)有以下三大类:
- 国家顶级域名nTLD。
- 通用顶级域名gTLD。
- 基础结构域名
域名服务器:
- 根域名服务器:是最高层次的域名服务器,用来管辖顶级域。
- 顶级域名服务器:这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。
- 授权域名服务器:每个主机都必须在授权域名服务器处登记,授权域名服务器总是能够将其管辖的主机名转换为该主机的IP地址。
- 本地域名服务器
域名解析过程:递归查询和常用的递归与迭代相结合的方式
- 文件传输协议(File Transfer Protocol FTP)
FTP在工作时使用两个并行的TCP连接,一个是控制连接(端口号21),一个是数据连接(端口号20)
控制连接:控制连接用来传输扣回信息,如连接请求、传送请求等,但控制连接并不用来传送文件。在传输文件时还可以使用控制连接,因此控制连接在整个会话期间一直保持打开状态。
数据连接:服务器端的控制进程在接收到FTP客户发来的文件传输请求后就创建数据连接,数据传送进程实际完成文件的传送。网络文件系统(Network File System NFS)允许进程打开一个远程文件。
- 电子邮件
一个电子邮件系统应具有三个最重要的组成构件,这就是用户代理、邮件服务器和电子邮件使用的协议。
用户代理UA:用户与电子邮件系统的接口,用户代理使用户能够通过一个很友好的接口来发送和接收邮件。
邮件服务器:电子邮件系统的核心,功能是发送和接收邮件,同时还要向发信人报告邮件传送情况。
SMTP只能传送一定长度的ASCII码,许多其他非英语国家的文字就无法传送,因此提出了多用途网际邮件扩充(Multipurpose Internet Mail Extensions MIME),增加了邮件主体的结构,并定义了传送非ASCII码的编码规则。
简单邮件传输协议(Simple Mail Transfer Protocol SMTP)是一种提供可靠且有效的电子邮件传输的协议,使用客户/服务器方式,用的是TCP连接,端口号25
邮局协议版本3(Post Office Protocol 3 POP3)是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本POP3,POP3采用的是拉的通信方式,使用客户/服务器的工作方式,使用TCP协议,端口号110
网际报文存取协议(Internet Mail Access Protocol IMAP),另一个邮件接收协议,比POP复杂的多,目前还只是因特网的建议标准。
- 万维网
万维网(World Wide Web WWW)是一个资料空间,在这个空间中,一样有用的食物,称为一样资源,并且由一个URL标识,这些资源通过http传送给使用者,而后者通过点击链接来获取资源。
万维网的内核部分是由三个标准构成的:
(1)统一资源定位符(Uniform Resource Locator URL)负责标识万维网上的各种文档,并使每个文档在整个万维网的范围内具有唯一的标识符URL。
(2)超文本传输协议(Hyper Text Transfer Protocol HTTP)是一个应用层协议,使用TCP连接进行可靠的传输,HTTP是万维网客户程序和服务器程序之间交互所必须严格遵守的协议。
(3)超文本标记语言(Hyper Text Markup Language HTML)是一种文档结构的标记语言,使用一些约定的标记对页面上的各种信息、格式进行描述。
http操作过程,用户单机鼠标后所发生的时间按顺序如下:
- 浏览器分析链接指向页面的URL
- 浏览器向DNS请求解析网址的IP地址
- 域名系统DNS解析出清华大学服务器的IP地址
- 浏览器与该服务器建立TCP连接(默认端口号80)
- 浏览器发出HTTP请求
- 服务器通过HTTP响应把文件发送给浏览器
- TCP连接释放
- 浏览器将文件进行解释,并将Web页显示给用户
HTTP协议是无状态的,同一个客户第二次访问同一个服务器上的页面时,响应与第一次相同。简化了服务器的设计,更容易支持大量并发的HTTP请求,通常用Cookie和数据库跟踪用户的活动,Cookie是一个存储在用户主机中的文本文件。