计算机网络知识点整理

计算机网络(Computer Network)

在计算机网络之前的网络被称为球鞋网络(Sneaker Network)即使用移动物理介质的方式传输电子信息形式如磁带软盘等

计算机网络即利用通信设备和线路将地理位置分散功能独立的多个计算机系统相互连接起来在网络协议和软件的支持下实现网络联通和资源共享的计算机系统的集合

计算机网络由若干结点(主机集线器交换机路由器等)和连接这些结点的链路组成其中主机(Host)又称端系统(End System)指与网络相连的计算机

计算机网络的发展有如下四个阶段面向终端多台计算机互连面向标准化全球互连

计算机网络的两个重要特点如下

  • 连通性(Connectivity)
  • 共享性(Sharing)共享硬件软件信息

计算机网络最基本的功能是数据通信首先要连通才能进行资源共享

21世纪的重要特征是数字化网络化和信息化以网络为核心三网融合(Triple Play)指电信网络有线电视网络和计算机网络互联互通三网融合难点在于其涉及各方经济利益和行政管辖权等问题

网络的主要类别

网络的主要类别如下

  • PAN(Personal Area Network): Used on a personal level, using wireless technologies such as: Bluetooth, Infrared(红外), NFC(Near Field Communication);
  • LAN(Local Area Network): A group of devices(computers, servers, switches, and printers) that are located in the same building, and the most common type of LAN is an Ethernet LAN;
  • WLAN(Wireless LAN): LAN but without using cables;
  • CAN(Campus Area Network): A network that joins two or more LANs together within a limited area;
  • MAN(Metropolitan Area Network): Spans over several buildings in a city;
  • SAN(Storage Area Network): Disk arrays, Servers, Switches;
  • WAN(Wide Area Network): Largest type of network that spanning over a large geographical area, and the Internet is an example of a WAN.

公用数据网(PDN; Public Data Network)是提供各种数据传输业务的通信网络提供者为电信主管部门认可的机构X.25是一种网络通信协议它定义了在计算机网络中如何进行数据传输和信息交换主要应用于公共数据网

数字数据网(DDN; Digital Data Network)采用数字信道提供永久或半永久性电路来传输数据通信业务提供者为邮电部门

互联网(Internet)

互联网又译作因特网是当前全球最大的计算机网络互联网与互连网(internet)不同互连网指在局部范围内互相连接的计算机网络即网络的网络

互联网基础结构发展的三个阶段如下

  1. 从单个网络阿帕网(ARPANET)向互连网发展的过程阿帕网是由美国高级研究计划署(ARPA; Advanced Research Projects Agency)创建的世界上首个分组交换网络是互联网的鼻祖可知互联网最初创建的目的是用于军事
  2. 建成三级结构的互联网三级结构即主干网地区网和校园网
  3. 逐渐形成多层次ISP结构的互联网互联网服务提供商(ISP; Internet Service Provider)提供互联网接入等服务而随互联网数据流量的急剧增长允许两个网络直接相连并交换分组的互联网交换点(IXP; Internet Exchange Point)应运而生

按照工作方式互联网的组成可分为边缘部分和核心部分或称资源子网和通信子网边缘部分由所有连接在互联网上的主机组成用户直接使用且在网络边缘主机间的通信方式可分为如下两类

  • 客户-服务器方式(C/S; Client/Server)客户是服务的请求方服务器是服务的提供方
  • 对等方式(P2P; Peer to Peer)本质上还是C/S方式每个主机既是客户又同时是服务器

核心部分由大量网络和连接这些网络的路由器组成为边缘部分提供服务在网络核心需要向网络边缘的大量主机提供连通性其中路由器起特殊作用实现分组交换

主机和主机间的通信实际上是主机的进程间的通信

网络性能(Network Performance)

网络性能指客户方的网络服务质量可使用许多不同的标准衡量

比特率(Bit Rate)

数据的传送速率简称速率或称数据率(Data Rate)单位为bps当提到网络的速率时往往指额定速率而非实际上运行的速率比特率与波特率的转换如下式

其中表示码元状态数

比特率 波特率

码元比特率和波特率的概念见计算机科学常识整理的数据通信

带宽(Bandwidth)

网络中某信道所能通过的最高数据率称为带宽此处的带宽是时域称谓单位为bps而频域上带宽原指某个信号所具有的频带宽度这种意义的带宽以Hz为单位

吞吐量(Throughput)

单位时间内通过某信道的实际数据量单位为bps

时延(Delay)

分组交换时分组在沿途的各个结点会经受四种时延

发送时延(Transmission Delay)又称传输时延是主机或路由器发送数据帧所需要的时间其定义如下式

发送时延 数据帧长度(b) 发送速率(bps)

传播时延(Propagation Delay)即电磁波在信道中传播所需要的时间其定义如下式

传播时延 信道长度(m) 传播速率(m/s)

除发送时延和传播时延外还有两种时延处理时延(Processing Delay)即主机或路由器收到分组的处理时间排队时延(Queuing Delay)即分组在路由器输入输出队列的等待时延

上述的时延累加起来称为结点总时延(Total Delay)

时延带宽积(Bandwidth-Delay Product)

时延带宽积即传播时延和带宽的乘积即以比特为单位的链路长度

往返时间(RTT; Round-Trip Time)

往返时间即从发送方发送到接收方确认的时间往返时间的计算式如下

有效数据率(bps) 数据长度 (发送时间 )

许多情况下互联网的信息传输是双向交互的因此往返时间也是重要的性能指标

开放系统互连(OSI; Open System Interconnection)

系统网络架构(SNA; System Network Architecture)IBM制定

OSI模型以SNA为原始模型架构而设计包含如下七层应用层表示层(Presentation Layer)会话层(Session Layer)传输层网络层数据链路层物理层网络分层可简化网络设计的复杂程度上层可复用底层的功能使功能抽象使协议便于管理和维护上层应用程序掌握更多关于数据和服务语义的信息底层有更多数据传输的信息这种折衷是分层的结果

OSI模型的目的是解决多厂商设备和异构系统的相互连结问题构造标准的公共系统模型将网络的功能尽量标准化但基于TCP/IP的互联网并未使用OSI标准仅有如下四层应用层(对应OSI模型的应用层表示层和会话层)运输层网际层网络接口层(对应OSI模型的数据链路层和物理层)

OSI模型市场化失败是法律上的(de jure)国际标准TCP/IP却获得了最广泛的应用常被称为是事实上的(de facto)国际标准

协议(Protocol)

又称网络协议即不同结点对等实体(即可发送或接收信息的硬件或软件进程)之间进行通信的规则或约定协议的三要素内容如下

  • 语法(Syntax)确定通信时采用的数据格式编码电平等
  • 语义(Semantics)协议元素含义的解释即需要发出何种信息完成何种动作做作出何种响应
  • 同步(Synchronization)规定何种流程速度事件实现顺序的说明

相邻两层的实体进行交互的地方通常称为服务访问点(SAP; Service Access Point)在网络体系结构中对等层实体间虚拟通信实际通信在最底层完成下层为上层提供服务下层的协议对上层的服务用户是透明的

协议的实现保证了服务的提供协议是水平的而服务是垂直的

协议号(Protocol Number)

IPv4头部和IPv6头部中使用的协议号是封装协议的标识

常见协议的协议号

常见协议的协议号如下

ICMP IGMP IPv4 TCP EGP IGP UDP IPv6 OSPF
1 2 4 6 8 9 17 41 89

协议数据单元(PDU; Protocol Data Unit)

协议数据单元是对等层次之间传递的数据单位

计算机网络架构模型各层对应的协议数据单元

各层对应的PDU如下

对等实体间交换信息时的控制信息称为协议控制信息(PCI; Protocol Control Information)

相邻两层实体间交换的数据单位是接口数据单元(IDU; Interface Data Unit)交换信息时的控制信息称为(ICI; Interface Control Information)

物理层(Physical Layer)

物理层的作用是屏蔽传输媒体和通信手段的差异即透明地传输比特流

物理层的主要任务

物理层的主要任务为描述传输媒体的接口相关特性具体如下

  • 机械规格(Mechanical Specifications)指明接口所用接线器的形状尺寸引脚数目等
  • 电气规格(Electrical Specifications)指明接口电缆各条线上出现的电压的范围
  • 功能规格(Functional Specifications)指明某条线上出现某一电平的电压的意义
  • 过程规格(Procedural Specifications)指明对于不同功能的各种可能事件的出现顺序

数据通信(Data Communication)

见计算机科学常识整理的数据通信

中继器(Repeater)

中继器是物理层设备的一种对衰减的数字信号进行再生和还原

集线器(Hub)

集线器是多端口的中继器不具备定向发送信号能力是共享式设备集线器的每个接口只是简单地发送比特进行碰撞检测

传输媒体(Transmission Medium)

传输媒体又称传输介质或传输媒介即数据通信的载体可分为导引型传输媒体和非引导型传输媒体两种类型

常见的导引型传输媒体有双绞线同轴电缆光纤等

双绞线(Twisted Pair)最原始但最常用的传输媒体绞合的目的是减少对相邻导线的电磁干扰双绞线主要分为以下两类非屏蔽双绞线(UTP; Unshielded Twisted Pair)重量轻且价格低屏蔽双绞线(STP; Shielded Twisted Pair)抗干扰性强但价格昂贵双绞线的线缆末端是由塑料制成的RJ(Registered Jack)-45接头有时又称8P8C(8 Position 8 Contact)

常见的绞合线

常见绞合线类别及其应用如下

绞合线类别 带宽 具体应用 备注
CAT-3 16MHz 模拟电话曾用于传统以太网 -
CAT-4 20MHz 曾用于令牌局域网 -
CAT-5 100MHz 传输速率不超过100Mb/s的应用 非屏蔽双绞线
CAT-5e 125MHz 传输速率不超过1Gb/s的应用 非屏蔽双绞线
CAT-6 250MHz 传输速率高于1Gb/s的应用 非屏蔽双绞线
CAT-7 600MHz 传输速率高于100Mb/s的应用 -

同轴电缆(Coaxial Cable)的外导体屏蔽层使其具有很好的抗干扰特性被广泛用于传输较高速率的数据同轴电缆的组成如下内导体铜质芯线(单股实心线或多股绞合线)绝缘层网状编织的外导体屏蔽层绝缘保护塑料外层

光纤(Optical Fiber)利用光导纤维传递光脉冲来进行通信光纤可以分为以下两类

  • 单模光纤(Single-Mode Optical Fiber)光线直线向前传播不会产生多次反射传输距离更远损耗小成本高
  • 多模光纤(Multi-Mode Optical Fiber)光线的传输方式是不断地全反射只适合近距离传输性能低成本低

光纤通信的优点如下通信容量大传输损耗小中继距离长对远距离传输很经济抗雷电和电磁干扰性能好体积小重量轻

常见的非导引型传输媒体有无线电波(Radio Wave)微波卫星通信等

微波(Microwave)在空间中是直线传播的而地球表面是个曲面为实现远距离通信必须在微波通信信道的两个终端间建立若干中继站以实现接力即把前一站送来的信号放大后再发送至下一站微波通信具有如下特点频段范围很宽因此信道容量大频段高很高高于工业干扰和天电干扰的频谱成分因此传输质量高建设投资少见效快卫星通信

卫星(Satellite)通信则具有较大的传播时延

复用(Multiplexing)

复用即使用同一共享信道进行通信以提高信道利用率而分用(Demultiplexing)是复用的相反概念

频分复用(FDM; Frequency Division Multiplexing)

频分复用指所有用户在相同时间占用不用的带宽资源波分复用(WDM; Wavelength Division Multiplexing)就是光的频分复用

时分复用(TDM; Time Division Multiplexing)

时分复用指所有用户在不同时间占用同样的频带宽度时分复用又称同步时分复用时隙周期性出现即使用户无数据发送也要分配时隙统计时分复用(STDM; Statistic TDM)是时分复用的改进按需动态分配时隙以提高信道利用率

同步光纤网络(SONET; Synchronous Optical Networking)和更先进的同步数字体系(SDH; Synchronous Digital Hierarchy)基于时分复用的技术

码分复用(CDM; Code Division Multiplexing)

码分多址(CDMA; Code Division Multiple Access)使用伪随机序列码片区分信道的信道复用技术

CDMA为每一个站点分配一个码片序列(Chip Sequence)由+1和-1的序列组成

码片序列的规格化内积如下式

下式的解读如下任何一个码片序列和自己本身的规格化内积为+1和自己反码的码片序列的规格化内积为-1若规格化内积为0则称这两个码片序列正交

当多个终端发送多个信号时信号就会在空中叠加接收方如果希望接收某个站点的信息则只需要计算该站点对应的码片串行和空中信号的规格化内积

接收方必须知道发送站点的码片序列发送其码片序列本身表示发送1接收方计算的结果为+1发送其码片序列反码表示发送0接收方计算的结果为-1未发送数据则接收方计算的结果为0

互联网接入(Internet Access)

即上网将个人电脑移动设备等通过各种技术连接至互联网让用户能使用互联网服务

拨号(Dial-Up)

拨号上网是指通过本地电话线经有调制解调器连接至互联网速度慢且不能持续在线逐渐被ADSL取代

非对称数字用户线(ADSL; Asymmetric Digital Subscriber Line)

用数字技术对现有的模拟电话用户线进行改造使其承载宽带数字技术要点如下上行宽带(用户到ISP)与下行宽带(ISP到用户)不对称因为用户向互联网发送的信息量不大ADSL不能保证固定的数据率对质量很差的用户线甚至无法开通ADSL

ADSL接入网的三大组成部分如下用户线两端各一个ADSL调制解调器又称接入端接单元(ATU; Access Termination Unit)数字用户线接入复用器电话分离器

光纤到户(FTTH; Fiber to the Home)

直接将光纤接到用户家中

光纤同轴混合网(HFC; Hybrid Fiber Coax)

在有线电视(CATV; Cable Television)网的基础上开发的一种居民宽带接入网将原CATV网的同轴电缆主干部分改为光纤并使用模拟光纤技术模拟光纤从头端连接到光纤结点光信号在光纤结点被转换为电信号光纤结点以下就是同轴电缆

数据链路层使用的信道主要有以下两种类型

  • 点对点(Point to Point)一对一的通信方式
  • 广播(Broadcast)一对多的通信方式较为复杂

(Frame)是数据链路层传输和处理的单位是由数据的前后添加首部和尾部所构成的

数据链路层的基本问题

数据链路层的三个基本问题如下

  • 封装成帧(Framing)又称帧定界涉及到的控制字符有置于帧首表示帧开始的SOH(Start of Header)和置于帧尾表示帧结束的EOT(End of Transmission)
  • 透明传输(Transparent Transmission)若数据中的某个字节的二进制代码恰好和SOHEOT一样则出现错误而字节填充(Byte Stuffing)或称字符填充(Character Stuffing)即通过在数据中可能被误认为是SOHEOT的字节前插入一个转义字符ESC(Escape Character)如果转义字符也出现在数据中则在转义字符前插入一个转义字符
  • 差错检测(Error Detection)帧检验序列(FCS; Frame Check Sequence)作为添加于数据后的冗余码用于差错检测而常用的检测方法有循环冗余校验

点对点协议(PPP; Point-to-Point Protocol)

PPP是目前使用得最广泛的数据链路层协议PPP应满足的需求如下简单即无需纠错序号和流量控制是首要的需求封装成帧透明传输差错检测支持多种网络层协议支持多种类型链路

点对点协议的帧格式

PPP协议的帧格式如下

  • 标志字段1字节帧定界符取值为0x7E位于最首和最尾
  • 地址字段1字节预留至今未使用取值为0xFF
  • 控制字段1字节预留至今未使用取值为0x03
  • 协议字段2字节指明帧的数据部分送至何种协议处理
  • 帧检验序列字段2字节位于尾部

点对点协议的透明传输

面向比特同步传输使用零比特填充即只要有5个连续1则在后方填入一个0面向字节异步传输使用字节填充定义转义符为0x7D填充方法如下

  1. 将出现的每一个0x7E字节转变为2字节序列(0x7D, 0x5E)
  2. 将出现的每一个0x7D字节转变为2字节序列(0x7D, 0x5D)
  3. ASCII码的控制字符(数值小于0x20)前插入0x7D同时将该控制字符的编码加上0x20

PPPoE(PPP over Ethernet)PPP协议能够适应多种类型链路的一个典型例子

广播信道(Broadcast Channel)

局域网为一个单位所有地理范围和站点数目均有限其优点如下具有广播功能从一个站点可以很方便地访问全网便于系统的扩展和演变各设备可灵活调整改变提高了系统的可靠性可用性和生存性

局域网可按网络拓扑进行分类即星形网环形网和总线网等集线器和双绞线大量运用于局域网星形以太网以及多级星形结构的以太网获得了非常广泛的应用使用集线器的以太网在物理上是星形网在逻辑上仍是总线网使用CSMA/CD协议

局域网所使用的就是广播信道

网络接口卡(NIC; Network Interface Card)

网络接口卡又称网卡或通信适配器使计算机与外界局域网连接

NIC实现的功能包含数据链路层和物理层两个层次内容如下进行串行数据和并行数据的转换数据在计算机中采用并行传输方式在通信线路即传输媒体上采用串行传输的方式需要进行转换对数据进行缓存安装驱动程序以指导存储器访问实现以太网协议

现在的主板基本已嵌入通信适配器不需要单独的NIC

以太网(Ethernet)

以太网是为实现局域网通信而设计的一种技术为使通信简便以太网采用如下两种措施使用较为灵活的无连接的工作方式以太网发送的数据都使用曼彻斯特编码的信号以太网的两个标准如下

  • DIX Ethernet V2雏形为施乐以太网(Xerox Ethernet)世界上第一个局域网产品的规约
  • IEEE 802.3DIX Ethernet V2标准只有很小的差别

以太网的类型

以太网的类型如下

  • 传统以太网(Classic Ethernet)传输速度为10Mbps使用曼彻斯特编码
  • 快速以太网(Fast Ethernet)传输速度为100Mbps使用4B/5B编码
  • 千兆以太网(Gigabit Ethernet)传输速度为1Gbps使用8B/10B编码帧结构增加扩展字段支持全双工和半双工通信在半双工通信中采用帧突发(Frame Bursting)技术且使用暂停帧(Pause Frame)控制流量
  • 万兆以太网(10 Gigabit Ethernet)传输速度为10Gbps使用64B/66B编码帧结构增加了长度字段和头部差错校验(HEC; Header Error Correction)字段不支持CSMA/CD协议

传统以太网在发送长报文时线路利用率高

传统以太网的物理层结构如下

  • 介质访问单元(MAU; Medium Attachment Unit)提网络介质之间的功能电气和机械接口负责将主机接入网络
  • 连接单元接口(AUI; Attachment Unit Interface)提供物理信号层与介质访问单元之间的信号通道
  • 物理信号层(PLS; Physics Layer of Signal)负责发送和接收数据载波侦听和错误检测物理信号层通过曼彻斯特编码信号来判断网络的活动情况

高速以太网的物理层结构如下

  • 介质相关接口(MDI; Medium Dependent Interface)对应硬件负责将物理介质相关子层与介质进行连接
  • 自动协商(Auto Negotiation)使得处于不同工作模式的设备能够共处同一个网络
  • 物理介质相关(PMD; Physics Medium Dependent)子层实际进行比特流发送和接收的实体
  • 物理介质连接(PMA; Physics Medium Attachment)子层物理介质相关子层和物理编码子层间的连接
  • 物理编码子层(Physical Coding Sublayer)负责数据的编码和解码
  • 介质无关接口(MII; Medium Independent Interface)使上层与网络介质类型无关
  • 协调子层(RS; Reconciliation Sublayer)在媒体访问控制子层与介质无关接口之间进行数据的串并转换

令牌(Token)即发信号的许可任何一个结点只有在拿到令牌后才能在信道上发送数据若结点不需发送数据则将令牌交给下一个结点使用令牌避免网络冲突的标准如下

  • IEEE 802.4即令牌总线(Token Bus)
  • IEEE 802.5即令牌环(Token Ring)

令牌环在重负载时线路利用率高

反射内存(Reflective Memory)是构建共享存储器技术的实时网络的技术具有严格的传输确定性和可预测性计算机具备反射内存板通过光纤等传输介质连结形成反射内存网络反射内存网络的传输是纯硬件操作不需要考虑网络的通信协议因此反射内存网络的上层协议自主开发

若以太网收到如下帧则视为发往本站的帧并收下

  • 单播(Unicast)一对一即物理地址与本站硬件地址相同
  • 多播(Multicast)一对多即发送给本局域网上一部分站点的帧
  • 广播(Broadcast)一对全体

数据以电信号形式传入共享的电缆连在同一网络的其他计算机也能捕获数据为使数据有明确的目的流向以太网需要每台计算机有唯一的媒体访问控制(MAC; Media Access Control)地址又称物理地址或以太网地址用以确认网络设备位置

物理地址共48以十六进制表示规定第一字节的的最低位为I/G其为0表示单播1表示多播最低第二位位G/L其为0表示全球管理1表示本地管理24位的剩余位由IEEE决定如何分配给每一家制造商而后24位则由厂商自行指派

同一个局域网上的两个设备具有相同的静态MAC地址则这两个设备都不能通信

MAC帧的格式

MAC帧的格式如下

  • 目的地址6字节
  • 源地址6字节
  • 协议类型字段2字节
  • 数据字段至少46字节不足的以0填充
  • 帧检验序列字段4字节

为了达到比特同步在传输媒体上实际传送的要比MAC帧多如下8个字节7个字节的前同步码用于迅速实现MAC帧的比特同步1个字节的帧开始定界符表示后面的信息就是MAC

逻辑链路控制(LLC; Logical Link Control)与传输媒体无关负责与上层的交互建立和释放逻辑连接差错控制帧序号处理等

数据链路层可分为媒体访问控制子层和逻辑链路控制子层局域网标准包含物理层媒体访问控制子层和逻辑链与控制子层的协议不同局域网的差异主要体现在物理层和媒体访问控制子层

载波监听多点接入(CSMA; Carrier Sense Multiple Access)

多台计算机共享一个传输媒介发送数据前检测是否有其他正在发送的数据载波(Carrier)指运输数据的共享媒介

定义帧间隔(IFP; Interframe Gap)或称帧最小间隙为96比特时间即对于传统以太网(10Mbps)而言发送96b的时间为9.6μs

载波监听多点接入的要点如下准备发送阶段NIC从网络层获得一个分组并封装成帧放入NIC的缓存中在发送前检查信道若检测到信道忙则继续检测直到信道空闲若信道空闲且在以太网规定的帧最小间隔内保持空闲(等待的目的是使接收站缓存能及时清理以接收下一帧)则发送这个帧在发送过程中不断检测信道

碰撞检测(CD; Collision Detection)

碰撞检测又称冲突检测边发送数据边检测信道上的信号电压变化情况显然使用CSMS/CD协议时一个站不可能同时进行发送和接收因此只能进行半双工通信

争用期(Contention Period)又称碰撞窗口(Collision Window)即端到端的往返时延是规定的基本退避时间即站点在发送数据帧后至多的争用期时间就能知道是否碰撞对于传统以太网发送512b的时间为51.2μs即传统以太网争用期的长度

同时以太网规定了最短帧长(Minimum Frame Length)或称最短有效帧凡长度小于64字节的帧都是由于冲突而异常中止的无效帧若发送的数据非常少则必须加入一些填充字节使帧长度不小于64字节

截断二进制指数退避(Truncated Binary Exponential Back Off)算法指数级增长等待时间即下式

其中为集合随机取出的数重传次数

当重传16次仍不能成功则丢弃该帧并向高层报告

强化碰撞的情况下当发送数据的站一旦发现发生了碰撞立即停止发送数据并发送32比特或48比特的人为干扰信号(Jamming Signal)以便让所有用户都知道发生了碰撞

碰撞避免(CA; Collision Avoid)

碰撞避免通常用于无限局域网

冲突域(Collision Domain)

又称碰撞域两台主机在同时通信时会发生冲突则处于同一冲突域划分冲突域可过滤通信量增大吞吐量网络故障时仅影响个别网段因而提高了可靠性

网桥(Network Bridge)

网桥实现以太网的扩展为接入结点提供独享的通路可划分冲突域常见的网桥有如下两种

  • 透明网桥(Transparent Bridge)由网桥决定路由即插即用具备自学习功能网桥和路由对各结点透明
  • 源路由网桥(Source Routing Bridge)由发送源决定路由使用探测帧选择最佳路由路由信息位于帧首

自学习功能的要点是查找转发表中与收到该帧的目的地址有无相匹配的项目内容如下若没有匹配项目则追加转发表并通过其他接口转发若有匹配项目则按转发表给出的接口转发若转发表给出的接口就是该帧进入网桥的接口则丢弃该帧

生成树协议(STP; Spanning Tree Protocol)用于切断某些链路使主机间通信经由交换机的路径是无环路的树状结构避免网络资源的消耗

交换机(Switch)

交换机即多端口的网桥每个端口连接一台计算机可将数据转发到需要接收的设备交换机是即插即用设备具有自学习功能维护记录如下内容的转发表物理地址接口编号有效时间

通过引入路由功能一些交换机也可以在第三层网络层转发数据称为三层交换机

虚拟局域网(VLAN; Virtual LAN)

虚拟局域网由一些具有某些共同需求的局域网网段构成的与物理位置无关的逻辑组虚拟局域网只是局域网给用户提供的服务并不是新型局域网利用交换机可以很方便地实现虚拟局域网虚拟局域网的两个标准如下

  • 交换链路内协议(ISL; Inter-Switch Link Protocol)Cisco交换机独有的协议兼容IEEE 802.1Q
  • IEEE 802.1Q被几乎所有的网络设备生产商所共同支持

IEEE 802.1Q在以太网标准帧上插入了如下4个字节的内容

  • 协议标识符(TPID; Tag Protocol Identifier)2字节0x8100的固定值表明该帧带有IEEE 802.1Q的标记信息
  • 标记控制信息(TCI; Tag Control Information)2字节其中包含12位的VLAN标识

虚拟局域网标识(VID; VLAN Identifier)用于划分端口虚拟局域网可以对应标记端口(Tagged Port)或非标记端口(Untagged Port)两种状态

基于端口的虚拟局域网标识(PVID; Port-Based VLAN Identifier)对应一个物理端口可以属于多个虚拟局域网当一个物理端口拥有一个PVID必定会拥有和PVID相同的VID且此VID对应非标记端口状态PVID的作用是在交换机从外部接收到非标记帧时插入标记让该帧在虚拟局域网内流通

IEEE 802.1Q交换机的三类端口如下

  • Access计算机等设备的端口发送帧时剥离VLAN标记接收帧时若包含VLAN标记则丢弃若不包含VLAN标记则插入PVID
  • Trunk交换机端口发送帧时比较PVIDVLAN标记若相同则剥离VLAN标记接收帧时若不包含VLAN标记则插入PVID
  • Hybrid交换机端口发送帧时判断VLAN对应本端口的属性VLAN对应非标记端口则剥离VLAN标记接收帧时若不包含VLAN标记则插入PVID

通用属性注册协议(GARP; Generic Attribute Registration Protocol)通过声明来实现属性注册和注销当端口接收属性声明时该端口注册属性当端口接收注销属性声明时该端口注销属性GARP虚拟局域网注册协议(GVRP; GARP VLAN Registration Protocol)GARP的高级应用实现虚拟局域网的动态注册和注销减少手动配置的工作量GVRP使用如下方式管理VLAN信息

  • 注册(Registration)表明交换机已加入某个VLAN
  • 声明(Declaration)表明交换机支持某个VLAN

单臂路由(Router on a Stick)通过汇聚链路(Trunk Link)连接至交换机并于路由器配置连接VLAN的子接口单臂路由和三层交换机可以实现虚拟局域网间的互通

时间敏感网络(TSN; Time-Sensitive Networking)

时间敏感网络是为以太网协议建立的通用的时间敏感机制派生于IEEE 802.1Q标准的虚拟局域网以确保网络数据传输的时间确定性在准确的时间内以最小的时间抖动传输时间敏感网络通常用于工业控制和自动化领域

时间敏感网络的前身是音视频桥接器(AVB; Audio Video Bridging)解决数据在以太网传输中的时序性低延时和流量整形问题音视频桥接器自动通过带宽预留协议将总带宽的一部分用于传输双向的高质量无压缩的音频剩余带宽用于传输非实时性要求的普通数据

时间敏感网络可提供更高级的时钟同步更低的端对端延迟及确定性高容错性及高系统鲁棒性

多协议标签交换(MPLS; Multi-Protocol Label Switching)

多协议标签交换是利用标签引导数据高速高效传输的路由技术多协议指支持多种网络层协议的同时还可以兼容多种数据链路层协议

多协议标签交换的工作原理是将数据流量分为若干个具有唯一标签的虚拟专用链路标签(Label)指较短而定长且通常只具有局部意义的标识路由器根据标签决定数据包的路由方式和下一跳

转发等价类(FEC; Forwarding Equivalence Class)是在转发过程中以等价的方式处理的一组数据分组可通过地址隧道等来标识创建转发等价类转发等价类的数据流在不同的结点被赋予确定的标签数据转发按照这些标签进行数据流所走的路径称为标签交换通道(LSP; Label Switched Path)各标签交换路由器使用专门的标签分配协议(LDP; Label Distribution Protocol)交换报文标签分配的模式如下

  • 下游按需(DoD; Downstream on Demand)标签分配
  • 下游自主(DU; Downstream Unsolicited)标签分配

提供标签交换和标签分发功能的网络核心交换机或者路由器称为标签交换路由器(LSR; Label Switching Router)其中位于网络边缘的称为标签交换边缘路由器(LER; Label Switching Edge Router)

入口(Ingress)LER为进入标签交换网络的数据流划分不同的转发等价类数据流下游分配标签给上游根据数据分组的标签结点于标签转发表查找入标签进行转发上游结点的出标签即下游结点的入标签标签弹出可于出口(Egress)LER或距离出口LER最近的LSR进行

网络层(Network Layer)

网络层向上只提供简单灵活的无连接的尽最大努力交付的数据服务

分组交换(Packet Switching)

分组(Packet)又称IP数据报或数据包分组交换传输的数据单位

分组的首部格式

分组的首部格式如下

  • 版本4指明使用协议的版本通信双方使用的协议版本号必须一致

  • 首部长度4指明分组首部的长度取值以4字节为单位其最小值为0101(即5)表明分组固定首部长度20字节其最大值为1111(即15)表明分组首部长度最大值60字节

  • 区分服务8一般情况下不使用

  • 总长度16指明首部和数据之和的长度取值以1字节为单位受限于最大传输单元(MTU; Maximum Transfer Unit)如以太网规定的MTU1500字节

  • 标识(Identification)16当分组需要分片时该值就被复制到所有片的标识中

  • 标志(Flag)3目前只有MFDF两位有意义MF(More Fragment)0表示是最后一个分片1表示后面还有分片DF(Don't Fragment)0才允许分片

  • 片偏移13指出某片在原分组的相对位置取值以8字节为单位

  • 生存时间(TTL; Time to Live)8以跳数为单位指出分组的寿命即剩余跳数

  • 协议8指出分组携带的数据是何种协议

  • 首部校验和16只检验数据报的首部包括数据部分

  • 源地址32

  • 目的地址32

  • 可选字段

  • 零填充

电路交换(Circuit Switching)将电路连接到正确目的地不灵活且价格昂贵总有闲置的线路但能最大限度地随意使用电路交换无需共享通信时延小保证有序传输且没有冲突但其建立连接时间长灵活性差难以规格化且因为计算机数据的出现具有突发性而导致其线路传输效率往往很低

报文交换(Message Switching)采用存储转发原理现在已经不使用了报文交换无需建立连接动态分配线路但需要较大存储缓存空间引起较长转发时延

分组交换以分组为单位传送到相邻结点存储后查找转发表转发至下一结点分组交换以分组为单位高效迅速灵活是保证可靠的网络协议但引起转发时延且需要传输如分组首部的额外信息量实际中分组交换和电路交换往往是组合使用的

曾经有人认为计算机网络也应先建立连接即建立虚电路(Virtual Circuit)使所有分组都沿着这条逻辑连接按照存储转发方式传送减少分组额外信息开销且保证分组按序接收使可靠通信由网络来保证虚电路交换是电路交换与分组交换的混合而这种思路几乎不被采纳

广播域(Broadcast Domain)

若两台主机能收到同样的广播消息则处于同一广播域

路由器(Router)

路由(Routing)即通过网络将信息从源地址传输到目的地址的活动路由的一些概念如下

  • 默认路由(Default Route)目的地不在路由表中会被转发到默认路由通常用0.0.0.0/0匹配
  • 静态路由(Static route)被手工输入明确配置到路由表中的路由若对特定的目的主机指明一个路由(掩码设置为255.255.255.255)则称特定主机路由使网络管理人员能够更方便地控制网络和测试网络

路由器实现分组交换的关键构件作用是转发收到的分组可划分广播域路由器使用最长前缀匹配(Longest Prefix Match)以在路由表中进行选择消息沿着路由跳转的次数称跳数(Hop Count)

三层交换机(Layer-3 Switch)

三层交换机同时具有交换机和路由器的性质其最重要目的是加快大型局域网内部的数据交换

网际协议(IP; Internet Protocol)

又称IP协议或Kahn-Cerf协议使性能各异的网络在网络层上看似统一即如下的概念IP over EverythingIP协议在各式各样的网络上运行Everything over IPIP协议直接地为传输层提供服务间接地为应用层各个协议提供服务

网际协议版本4(IPv4; Internet Protocol version 4)是网际协议开发过程中的第四个修订版本也是此协议第一个被广泛部署和使用的版本直到IPv4地址分配尽时网际协议版本6(IPv6; Internet Protocol version 6)处于部署的初期IPv6是解决IPv4地址耗尽问题的治本措施

IPv4IPv6过渡的两种策略如下IPv6结点中加入IPv4协议栈称为双协议栈(Dual Stack)路由器将IPv6的分组封装入IPv4称为隧道技术(Tunneling)

IP地址(IP Address)

IP地址在整个互联网范围内唯一由因特网域名与数字地址分配机构(ICANN; Internet Corporation for Assigned Names and Numbers)进行分配

IPv4地址共32两级的IP地址由网络号和主机号组成

  • 网络号(Net ID)标志主机或路由器所连接到的网络
  • 主机号(Host ID)标志该主机或路由器

IPv4地址采用点分十进制(Dotted Decimal Notation)记法

IPv4地址的类型

IPv4地址的分类如下注意A类地址最大可指派的网络数为126

类型 二进制前缀 点分十进制的首个数范围 描述
A 0 0 ~ 127 8位网络号和24位主机号
B 10 128 ~ 191 16位网络号和16位主机号
C 110 192 ~ 223 24位网络号和8位主机号
D 1110 224 ~ 239 多播地址
E 1111 240 ~ 255 保留为今后使用

IPv4特殊地址

一般不作为主机地址使用的特殊地址如下

网络号 主机号 源地址使用 目的地址使用 描述
0 0 本网络的本主机
0 Host ID 本网络的某台主机Host ID
1 1 只在本网络上广播
Net ID 1 Net ID的所有主机广播
127 0或全1的数 用于本地软件环回测试

IPv6地址共128采用冒号十六进制记法(Colon Hex Notation)允许省略一串连续的0且只能使用一次省略IPv6的地址类型可以是如下三种之一单播多播任播(Anycast)即终点是一组计算机但分组通常只交付给最近的一个

子网(Subnet)

即三级的IP地址由网络号子网号和主机号组成对外仍表现为一个网络注意子网号借用主机位且允许为全0或全1子网掩码(Subnet Mask)IP地址一样是321的位覆盖网络号和子网号

无分类编址(CIDR; Classless Inter-Domain Routing)

即构造超网消除了传统地址分类以及划分子网的概念使用网络前缀(Network Prefix)来指明网络使用斜线记法(Slash Notation)或称CIDR记法指明网络前缀所占的位数记法也允许省略点分十进制中低位连续的0网络前缀相同的连续的IP地址组成CIDR地址块

路由聚合(Route Aggregation)指将网络前缀缩短网络前缀越短其地址块所包含的地址数就越多

地址解析协议(ARP; Address Resolution Protocol)

IP地址对数据链路层不可见而地址解析协议可由IP地址得到MAC地址

每个主机设有ARP高速缓存(ARP Cache)存放本局域网的各主机和路由器的IP地址到MAC地址的映射表即该主机目前已知的一些地址主机通过广播发送ARP请求分组若另一主机的IP地址与请求分组要查询的地址一致则另一主机单播发送ARP响应分组地址映射得以写入缓存

反向地址转换协议(RARP; Reverse Address Resolution Protocol)则以与ARP相反的方式工作允许发出要反向解析的物理地址并希望返回其对应的IP地址

网际控制报文协议(ICMP; Internet Control Message Protocol)

ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告

ICMP报文的前4个字节是统一的格式内容如下报文类型占8代码占8检验和占16ICMP报文的后4个字节的内容和后面的数据字段长度与ICMP的类型有关

常用的ICMP报文类型

常用的ICMP报文类型如下

报文类型
3 终点不可达(无法交付运输层)
11 时间超过(即收到生存时间为0的分组)
12 参数问题(分组首部中有的字段的值不正确)
5 改变路由(可能通过更好的路由)即重定向(Redirect)
80 回送(Echo)请求或回答
1314 时间戳(Timestamp)请求或回答

分组网间探测(PING; Packet Internet Groper)用于测试两台主机的连通性通常ping命令实现之ping命令和traceroute(Windows下使用tracert)命令是ICMP的典型应用内容如下

  • ping使用了ICMP回送请求或回答报文源主机发送请求报文目的主机必须给源主机或路由器发送回答报文应用层直接使用网络层协议的例子(它没有通过运输层的TCPUDP)
  • traceroute向目的主机发送一连串分组每个分组的生存时间即其发送顺序封装无法交付的UDP用户数据报(使用了非法端口号)每个生存时间为0的报文被丢弃后源主机收到ICMP时间超过报文当抵达终点(生存时间为1)时因UDP用户数据包无法交付源主机收到ICMP终点不可达报文通过这种手段源主机可获取到达目的主机所经过的路由器的IP地址

网际组管理协议(IGMP; Internet Group Management Protocol)

组播(Multicast)允许向一组目标发送数据有效地降低网络流量并实现多对多的通信以避免多播控制信息给网络增加大量开销网际组管理协议用于维护组播地址的分配和管理

IPv4中使用D类地址作为组播地址组播MAC地址由IP组播地址衍生IP地址最后23位拷贝至MAC地址最后23前一位置零且目的MAC地址地前24位必须为0x01005E

IPv6ARPIGMP的功能已合并至ICMPv6

自治系统(AS; Autonomous System)

路由选择策略可分为如下两种动态路由选择即随网络的通信量或拓扑变化而自适应地调整静态路由选择即手工去调整相关的路由信息

互联网被划分为许多较小的自治系统在目前的互联网中一个大的ISP就是一个自治系统自治系统相关的协议内容如下

  • 内部网关协议(IGP; Interior Gateway Protocol)自治系统内部使用IS-ISRIPOSPF
  • 外部网关协议(EGP; External Gateway Protocol)自治系统间使用BGP-4

热马铃薯路由(Hot-Potato Routing)是早期的路由选择协议将分组比喻为滚烫的马铃薯指当前自治系统接到分组时尽可能快地把它传递另一个自治系统即放入输出队列最短的方向上排队

因此热马铃薯路由不一定是最短路径自治系统仅根据自己搜集到的相关信息作出路由选择的决定与其他结点不交换路由选择信息是孤立动态路由选择算法

中间系统到中间系统(IS-IS; Intermediate System to Intermediate System)

IS-IS使用链路状态协议

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

RIP是内部网关协议中最先得到广泛使用的使用向量距离协议(Vector Distance Protocol)在相邻路由器路由信息的基础上计算路由的向量距离其最大的优点是实现简单且开销较小

RIP要求每一个路由器都要维护从它自己到其他每一个目的网络的最短距离目录其中距离即跳数路由器仅和相邻路由器按固定的时间间隔交换自己的路由表内容如下目的网络的网络地址最短距离下一跳路由器

RIP允许一条路径包含至多15个路由器适用于小型互联网这限制了网络的规模当网络出现故障时设置距离为16表示可达这会导致要经过较长的时间才能将信息传递到所有的路由器好消息传播得快坏消息传播得慢的现象

注意RIP协议是应用层协议因为其报文封装于UDP报文中

RIP防止路由环路的措施如下

  • 最大跳数计数(Maximum Hop Count)
  • 水平分割(Split Horizon)从一个接口学习到的路由不再广播回该接口
  • 毒性逆转(Poison Reverse)从一个接口学习到的路由发送回该接口时会被毒化即设置为最大跳数
  • 触发更新(Trigger Update)当路由器接收到其他路由器的路由信息时立即广播路由刷新报文并立即将更新后的路由信息发送给相邻的路由器
  • 抑制计时器(Hold-Down Timer)路由器在发送路由信息时会设置一个抑制计时器在计时器到期后才会再次发送路由信息防止路由表频繁更新而导致网络拥塞增加了网络的稳定性

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

OSPF为克服RIP的缺点而开发OSPF使用链路状态协议(Link State Protocol)广播链路状态信息根据网络拓扑结构寻找和计算最短路径而非像RIP一样使用距离向量协议

OSPF指定路由器(DR; Designated Router)负责维护网络中所有路由器之间的连接信息并协调它们之间的通信以减少广播信息当指定路由器不可用时备用指定路由器(BDR; Backup Designated Router)会继续它的工作

不同于RIPOSPF是网络层协议

虚拟专用网(VPN; Virtual Private Network)

利用公共互联网作为本机构各专用网之间的通信载体而专用网指采用专用地址的网络

专用地址(Private Address)又称可重用地址(Reusable Address)不可通过互联网传送数据且不可路由只用于机构内部通信

专用地址的范围

专用地址的范围如下

网络类型 地址范围 地址块位数
A 10.0.0.0/8(即10.0.0.010.255.255.255) 24
B 172.16.0.0/20(即172.16.0.0172.31.255.255) 20
C 192.168.0.0/16(即192.168.0.0192.168.255.255) 16

网络地址转换(NAT; Network Address Translation)是专用网内部主机与互联网主机通信所需要的地址转换技术NAT路由器至少要有一个全球IP地址才能和互联网相连

软件定义网络(SDN; Software Defined Network)

软件定义网络是一种新型网络架构利用OpenFlow协议将路由器的控制平面从数据平面中分离改以软件方式实现从而使得将分散在各个网络设备上的控制平面进行集中化管理成为可能

SDN的转发表称为流表(Flow Table)包括数据队列帧收发器以及具体动作SDN将转发扩充为广义的转发第一个步骤是匹配即查找转发表中的网络前缀进行最长前缀匹配第二个步骤是动作即把分组从指定的接口转发出去SDN的网络体系架构模型如下

  • 应用平面(Application Plane)负责路由选择接入控制和负载均衡等
  • 控制平面(Control Plane)在网络内部交换路径和生成边界业务路由处理网络状态变化事件北向(Northbound)接口连接应用平面与网络控制的应用程序通信南向(Southbound)接口连接数据平面通过OpenFlow协议下发流表
  • 数据平面(Data Plane)执行转发

多个控制器构成集群控制器实例之间可通过东西向接口实现控制信息的交互

一些代表性的开源控制器(Open Source Controller)RyuOpenDaylightONOS

网络功能虚拟化(NFV; Network Function Virtualization)将网络功能从专用硬件中解耦使得在同一个物理基础架构上建立多个逻辑网络拓扑成为可能NFV的架构模型如下

  • 运营支撑系统(OSS; Operation Support System)业务支撑系统(BSS; Business Support System)
  • 网元管理系统(EMS; Element Manager System)协助VNFM管理VNF
  • 虚拟网络功能(VNF; Virtualized Network Function)
  • 网络功能虚拟化基础设施(NFVI; NFV Infrastructure)将物理资源虚拟化为虚拟资源提供计算存储和网络资源构成系统的数据平面对用户流量进行检错处理转发操作
  • 网络功能虚拟化管理与协调(NFV-MANO; NFV Management and Orchestration)

NFV-MANO有如下内容

  • 编排器(Orchestrator)控制将新网络服务和VNF集成至虚拟框架中并且验证和授权NFVI资源请求
  • 虚拟网络功能管理器(VNFM; VNF Manager)负责VNF的创建和资源扩展
  • 虚拟基础设施管理器(VIM; Virtualized Infrastructure Manager)管理和监控NFVI支持应用或管理系统对虚拟资源的管理可与管理程序和SDN控制器交互

传输层(Transport Layer)

前述物理层数据链路层和网络层将主机通过异构网络互联实现主机间的逻辑通信而传输层提供进程间的逻辑通信屏蔽了网络拓扑采用的路由协议等细节

协议端口号(Protocol Port Number)简称端口(Port)或软件端口应用层各种协议进程与运输实体进行层间交互的一种地址端口号可分为如下三类

  • 熟知端口号(Well-Known Port Number)又称系统端口号数值为0~1023被指派给TCP/IP最重要的一些应用程序
  • 登记端口号数值为1024~49151需要按规定登记以避免重复
  • 短暂端口号数值为49152~65535客户进程运行时动态选择通信结束可供其他客户进程使用

单个计算机使用进程标识符来唯一标志进程网络环境下则使用端口原因是互联网上的计算机操作系统种类很多而不同的操作系统又使用不同格式的进程标识符端口号只具有本地意义不同计算机的相同端口没有关联

应用层的进程通过传输层的端口实现对网络层的复用

常见的熟知端口号

常见的熟知端口号如下

FTP TELNET SMTP DNS TFTP HTTP SNMP HTTPS RIP
20/21 23 25 53 69 80 161 443 520

TCP/IP运输层的端口号为16位即4字节

用户数据报协议(UDP; User Datagram Protocol)

UDP的主要特点如下连接的尽最大努力交付不保证可靠也不使用拥塞控制面向报文支持一对一一对多多对一和多对多的交互通信首部开销小8字节

UDP的首部格式

UDP的首部格式如下

  • 源端口2字节
  • 目的端口2字节
  • UDP长度2字节最小值为8(仅有首部)
  • 检验和2字节检验传输中是否出错有错就丢弃使用伪首部计算

UDP的伪首部组成

UDP的伪首部组成如下注意当且仅当计算检验和时需要使用伪首部

  • IP地址4字节
  • 目的IP地址4字节
  • 01字节
  • 17(UDP的协议号)1字节
  • UDP长度2字节

传输控制协议(TCP; Transmission Control Protocol)

TCP的主要特点如下面向连接(TCP通过握手的方式建立连接)提供可靠交付使用流量控制和拥塞控制面向字节流支持一对一的全双工通信首部开销大最小20字节最大60字节

理想的传输条件有如下的特点输送信道不产生差错无论发送方速度多快接收方总是来得及处理收到的数据必须使用一些可靠的传输协议(如下述的自动重传请求)在不可靠的信道上实现可靠传输

TCP的首部格式

TCP的首部格式如下

  • 源端口16
  • 目的端口16
  • 序号32本报文段所发送的数据的第一个字节的序号当序号增加到最后一个即下一个序号又回到
  • 确认号32期望收到对方下一个报文段的(首字节的)序号若确认号为表明序号为止的所有数据都已经正确收到
  • 数据偏移4取值以4字节为单位指出报文段的数据初始处距离报文段的起始处有多远
  • 保留字段6
  • 控制位6每个控制位占1
  • 窗口16指出现在允许对方发送的数据量(以1字节为单位)窗口值经常动态变化
  • 检验和16
  • 紧急指针16指出紧急数据的字节数(紧急数据后就是普通数据)即使窗口为0也可发送紧急数据
  • 选项长度可变最长40字节未使用选项的首部长度是20字节
  • 零填充

TCP首部的控制位

控制位的内容如下

  • 紧急URG1时表示紧急指针有效应尽快传送
  • 确认ACK1时确认号才有效TCP规定在连接建立后所有传送的报文段都必须将ACK1
  • 推送PSH接收方收到该值为1的报文段尽快交付给应用程序
  • 复位RST1时表明TCP连接出现严重差错必须释放连接后重新建立RST1还用来拒绝一个非法的报文或拒绝打开一个连接
  • 同步SYN1时表明用于建立连接时同步序号
  • 终止FIN1时表明发送方数据发送完毕要求释放连接

TCP首部的选项

常见选项如下

  • 最大报文段长度(MSS; Maximum Segment Size)只要缓存中存放的数据达到MSS字节就组装为一个TCP报文段发送出去显然选择较小的MSS网络利用率就降低因此MSS应尽可能大些
  • 窗口扩大选项
  • 时间戳选项
  • 选择确认选项

TCP的伪首部组成

TCP的伪首部组成如下注意当且仅当计算检验和时需要使用伪首部

  • IP地址4字节
  • 目的IP地址4字节
  • 01字节
  • 6(TCP的协议号)1字节
  • TCP长度2字节

套接字(Socket)

套接字即端口号拼接至IP地址以冒号隔开每一条TCP连接唯一地被通信两端的两个端点即两个套接字所确定

主动发起连接建立的应用进程称客户(Client)被动等待连接建立的应用进程称服务器(Server)

握手(Handshake)

三报文握手(Three-Way Handshake)TCP建立连接的过程内容如下

  1. 客户端向服务器端SYN=1序号为随机数
  2. 服务器端向客户端SYN=1ACK=1序号为确认号为随机数
  3. 客户端向服务器端ACK=1序号为确认号为

三报文握手防止已失效的连接请求报文段即超时重传且在释放连接后到达服务器使服务器进入连接建立状态而客户端不理睬造成资源浪费

TCP释放连接的过程可称作四报文握手(Four-Way Handshake)内容如下

  1. 客户端向服务器端FIN=1序号为(紧接其上个发送的最后一个字节的序号)
  2. 服务器端向客户端ACK=1序号为(同前述)确认号为此时的TCP连接处于半关闭(Half Close)状态即客户端已经没有数据发送但若服务器端发送数据客户端仍要接收
  3. 服务器端向客户端FIN=1ACK=1序号为(同前述)确认号为
  4. 客户端向服务器端ACK=1序号为确认号为

最长报文寿命(MSL; Maximum Segment Lifetime)保证最后的确认能到达客户端并防止前述已失效的连接请求报文段因此进入释放连接的最后阶段时TCP连接并非立即释放需要计时器经过两倍的MSL的时间后连接才关闭

自动重传请求(ARQ; Automatic Repeat Request/Query)

若发送方在发送后一段时间之内没有收到确认通常会重新发送这称为自动重传请求

ARQ包括停止等待ARQ协议和连续ARQ协议等在运输层并不使用停止等待ARQ协议TCP采用连续ARQ协议

停止等待(Stop-and-Wait)ARQ协议指每发送完一次就停止发送等待并收到对方确认后再发送停止等待ARQ协议的要点如下在发送完后需要暂时保留副本以备重发报文段和确认报文段必须进行编号超时计时器的重传时间应当比数据在分组传输的平均往返时间更长

为提升传输效率发送方可不使用低效率的停止等待协议而采用流水线传输即连续发送多个报文段不必每发完一个就停顿等待确认以提高信道利用率当使用流水线传输时就需要使用连续ARQ协议和滑动窗口协议

连续(Continuous)ARQ协议指发送方维护发送窗口其内的报文段都可连续发送接收方一般采用累计确认的方式即不必对收到的报文段逐个发送确认而是对按序到达的最后一个分组发送确认连续ARQ协议包括回退N重传ARQ和选择重传ARQ内容如下

  • 回退N(Go Back N)接收点丢弃从第一个没有收到的报文段开始的所有报文段
  • 选择(Selective)每个报文段设有计时器一定时间内未收到确认则重传

每收到一个确认后窗口后沿向前滑动一个位置前沿可能不动也可能向前滑动

发送端的发送窗口是根据接收端的接收窗口设置的但在同一时刻它们并不总是一样大因为网络传送窗口值需要一定时间滞后

停止等待ARQ协议相当于连续ARQ协议中发送窗口和接收窗口大小均为1

数据链路层也可使用上述的各种ARQ协议

流量控制(Flow Control)

流量控制使让发送方的发送速率不要过快以让接收方及时接收即保持发送方的发送窗口不能超过接收方的接收窗口

糊涂窗口综合征(Silly Window Syndrome)即发送端应用进程产生数据很慢或接收端应用进程处理接收缓冲区数据很慢使进程间传送的报文段很小导致TCP的性能变差接收方的延迟确认可以解决这一问题

应用层(Application Layer)

根据使用的传输层协议可对应用层协议做如下分类

  • 使用UDP协议DNSTFTPRIPDHCPSNMPNFSIGMP
  • 使用TCP协议SMTPTELNETHTTPFTP

域名系统(DNS; Domain Name System)

域名系统即互联网使用的命名系统

互联网采用层次树状结构的命名方法域名(Domain Name)即连接在互联网上的主机或路由器的唯一的层次结构的名字由标号(不超过过63个字符)序列组成各标号间用点隔开域名只是逻辑概念并不代表计算机所在的物理地点域名可根据级别进行如下分类

  • 顶级域名
    • 国家顶级域名.cn表示中国.us表示美国等
    • 通用顶级域名.com表示公司和企业.net表示网络服务机构等
    • 基础结构域名即.arpa又称反向域名解析
  • 二级域名国家顶级域名下的二级域名由国家决定我国把二级域名按类别和行政区划分
  • 三级域名等

DNS服务器实现由域名到IP地址的解析DNS服务器的类别如下

  • 根域名服务器最高层次最重要的域名服务器知道所有顶级域名服务器的域名和IP地址
  • 顶级域名服务器管理在改顶级域名服务器注册的所有二级域名
  • 权限域名服务器负责一个区域的域名服务器当不能给出DNS查询回答时告诉客户下一步应当查找哪个权限域名服务器
  • 本地域名服务器又称默认域名服务器当一台主机发出DNS查询请求这个查询请求报文就发送给本地域名服务器

域名解析的过程要点如下

  • 递归查询(Recursive Query)主机向本地域名服务器的查询
  • 迭代查询(Iterative Query)本地域名服务器向根域名服务器的查询

更改DNS记录可以更改电子邮件目的地浏览器链接的目的地和下载请求目的地未经授权的DNS更改称为DNS欺诈(DNS Spoofing)DNS缓存下毒(DNS Cache Poisoning)黑客利用DNS欺诈将对合法网站的查询指向非法网站

万维网(WWW; World Wide Web)

万维网又简写为Web是大规模的联机式的信息储藏所用链接的方法从一个站点访问另一站点超文本(Hypertext)用于描述可以存储文本文档的计算机系统该系统可根据逻辑关系将文档彼此链接并允许读者对所读材料进行注释万维网是分布式的超媒体(Hypermedia)系统它是超文本系统的扩充在一个客户程序上显示出的万维网文档称为页面(Page)

统一资源定位符(URL; Uniform Resource Locator)

URL用于表示从互联网上得到的资源位置和访问这些资源的方法URL的一般形式由如下四个部分组成可用于表示万维网上上网页的唯一地址

<协议>://<主机>:<端口>/<路径>

URL中不含有空格且有些Web服务器是区分大小写的

超文本传输协议(HTTP; Hypertext Transfer Protocol)

HTTP规定浏览器如何向万维网服务器请求文档以及服务器如何把文档传送给浏览器HTTP的主要特点如下面向事务的(Transaction-Oriented)客户-服务器协议HTTP虽然使用TCP连接但交换HTTP报文不需要连接即无连接的同一客户第二次访问同一服务器的页面服务器的响应与第一次被访问时相同即无状态的

安全套接层(SSL; Secure Socket Layer)及其后继者传输层安全(TLS; Transport Layer Security)都是可以对客户端计算机与HTTP服务器之间传输的数据进行加密的协议超文本传输安全协议(HTTPS; Hypertext Transfer Protocol Secure)则结合HTTPSSL/TLS

超文本标记语言(HTML; Hypertext Markup Language)

HTML是一种制作万维网网页的标准语言消除了不同计算机间信息交流的障碍

电子邮件(E-Mail)

电子邮件由信封(Envelope)内容(Content)两部分组成

电子邮件系统的三个主要组成如下用户代理即电子邮件客户端软件是用户与电子邮件系统的接口邮件服务器用于发送和接收邮件同时负责维护用户的邮箱邮件协议

简单邮件传送协议(SMTP; Simple Mail Transfer Protocol)

SMTP限于传送ASCII不能满足传送多媒体邮件的需要

电子邮件的读取通常使用邮局协议(POP; Post Office Protocol)的第三个版本和网际报文存取协议(IMAP; Internet Message Access Protocol)

通用互联网邮件扩充(MIME; Multipurpose Internet Mail Extension)

MIME并没有改动或取代SMTP继续使用原来的邮件格式但追加新的结构和规则

文件传送协议(FTP; File Transfer Protocol)

FTP的客户和服务器需要建立如下两个并行的TCP连接实际用于传输文件的数据连接对应熟知端口号20发送用户的传送请求等的控制连接对应熟知端口号21

动态主机配置协议(DHCP; Dynamic Host Configuration Protocol)

提供即插即用(Plug-and-Play)联网机制允许一台计算机加入新的网络和获取IP地址而不用手工参与

DHCP工作过程如下

  • 发现阶段需要IP地址的主机在启动时就广播发送发现报文以发现DHCP服务器
  • 提供阶段DHCP服务器从地址池中取出一个地址以广播形式向DHCP客户发送一个包含保留IP地址和其他设置的提供报文
  • 选择阶段客户选择第一个响应的DHCP服务器广播发送请求报文告知其他的服务器已不需要提供DHCP服务了
  • 确定阶段被选择的DHCP服务器将保留IP地址标记为租用并广播发送确认报文

DHCP分配给客户的IP地址是临时的因此客户只能在租用期(Lease Period)内使用