目录

一、计算机网络体系

二、物理层

通信基础

传输介质

物理层设备

三、数据链路层

组帧

差错控制

流量控制

可靠传输机制

介质访问控制

信道划分介质访问控制:

随机访问介质访问控制(争用型协议)

以太网

以太网的传输介质与网卡:

以太网的MAC地址:

无线局域网

组成

802.11MAC帧

VLAN(虚拟局域网)(802.1Q帧)(802.3ac标准定义)

广域网

PPP协议

数据链路层设备

四、网络层

功能

IPV4

IPV6

路由算法

IP多播

移动IP

网络层设备

五、传输层

功能

UDP协议

TCP协议

六、应用层

 网络应用模型:

DNS(域名系统)

FTP(文件传输协议)

电子邮件(SMTP,POP3)

万维网


计算机网络的知识点太过分散和零碎,因此现在的文章分类不完善,请关注博主持续更新

一、计算机网络体系

计算机网络的功能:

1)数据通信

2)资源共享

3)分布式处理

4)提高可靠性

5)负载均衡

涉及到速率的K,M为10^3,10^6

涉及到存储的K,M为2^10,2^20

计算时可能把存储的单位也粗略看为10为底数,便于计算

时延计算强烈推荐这位大佬网络——彻底搞懂数据时延的相关计算_时延带宽积计算公式-CSDN博客

PDU(协议数据单元),SDU(服务数据单元),PCI(协议控制信息)

n-SDU+n-PCI=n-PDU=(n-1)-SDU

SAP(服务访问点)同一结点内相邻两层的实体交换信息的逻辑接口

协议由语法,语义,时序(同步)组成

OSI参考模型四类原语:请求,指示,响应,证实

OSI参考模型:物链网输会示用  

上三层为资源子网,下三层为通信子网,网桥,交换机,路由器属于通信子网

OSI参考模型各层简单了解:

1)物理层(四个特性:机械特性,电气特性,功能特性,规程特性)

在物理介质上为数据端设备透明的传输原始比特流(传输介质不属于物理层,有时传输介质又被称为第0层)。

【1】通信链路与通信结点的连接需要一些电路接口,物理层规定了接口的一些参数,如机械形状和尺寸

【2】物理层规定了通信链路上所传输的信号的意义和电气特性

2)数据链路层(点到点)

加强物理层传输原始比特流的功能(封装成帧),差错控制,流量控制

数据链路层协议:SDLC,HDLC,PPP,STP,帧中断

3)网络层(主机到主机)

对分组进行路由选择,实现流量控制,拥塞控制,差错控制,网际互连

4)传输层(运输层)(端到端)

为端到端提供流量控制,差错控制,服务质量,数据传输管理等

5)会话层

建立同步,管理主机间的会话进程

6)表示层

处理两个通信系统中交换信息的表示方式,采用抽象的标准方法定义数据结构,采用标准的编码形式,数据加密,数据压缩

7)应用层

为特定类型的网络应用提供访问OSI参考模型环境的手段

OSI与TCP的主要区别:

OSI参考模型在网际层支持无连接和面向连接(虚电路)的通信,但在传输层仅有面向连接的通信,而TCP在网际层仅有无连接的通信模式,在传输层支持无连接(UDP)和面向连接(TCP)两种模式

在OSI体系中,数据链路层具有流量控制的功能,在TCP体系中流量控制功能被移动到传输层

OSI 七层模型核心功能(考研重点)TCP/IP 四层模型核心功能(考研重点)对应关系与关键差异
应用层(7 层)为应用程序提供网络服务(如文件传输、邮件、远程登录);定义应用程序与网络的接口协议(如 HTTP、FTP、SMTP)。应用层(4 层)整合 OSI 应用层、表示层、会话层的功能:1. 应用程序协议定义(HTTP、FTP、DNS 等);2. 数据格式转换、加密解密(原表示层);3. 会话建立与管理(原会话层)。TCP/IP 无单独表示层、会话层,将其功能合并到应用层,更简洁实用(考研常考 “TCP/IP 为何没有表示层 / 会话层”)。
表示层(6 层)数据格式转换(如 ASCII 与 Unicode)、加密解密(如 SSL 基础)、压缩解压;确保接收方能识别发送方的数据格式。-(合并至应用层)-OSI 单独分层强调 “数据表示独立性”,TCP/IP 认为该功能属于应用程序范畴,无需单独分层。
会话层(5 层)建立、管理和终止应用程序之间的会话(如 TCP 连接的建立 / 释放);提供会话同步、断点续传功能。-(合并至应用层)-TCP/IP 中会话管理由应用层协议(如 TCP)间接实现,无需单独分层,更符合实际应用场景。
传输层(4 层)端到端(进程间)通信;提供可靠传输(TCP)或不可靠传输(UDP);流量控制、拥塞控制;数据分段与重组。传输层(3 层)与 OSI 传输层功能一致:1. 端到端进程通信;2. TCP(可靠、面向连接)、UDP(不可靠、无连接);3. 流量控制、拥塞控制。两者核心功能完全一致,是考研重点层(如 TCP 三次握手、UDP 特点、流量控制算法)。
网络层(3 层)路由选择(选择数据包传输路径);分组转发;异构网络互联;IP 地址分配;拥塞控制(网络层级)。网络层(2 层)与 OSI 网络层核心功能一致:1. 路由选择(如路由协议 RIP、OSPF);2. IP 地址编址与转发;3. 异构网络互联(核心功能)。两者功能一致,核心协议为 IP(IPv4/IPv6),考研常考路由算法、IP 地址计算、ARP 协议。
数据链路层(2 层)相邻节点间的可靠传输;帧的封装与解封装;差错检测与纠正(如 CRC、FEC);MAC 地址寻址;流量控制(链路级)。网络接口层(1 层)整合 OSI 数据链路层和物理层功能:1. 帧封装、MAC 寻址(原数据链路层);2. 物理介质访问(如以太网、WiFi);3. 差错检测(如 CRC)。TCP/IP 将数据链路层和物理层合并为网络接口层,因为两者均依赖具体硬件(如网卡、网线),无需严格区分。
物理层(1 层)传输原始比特流;定义物理介质(如网线、光纤)、接口标准(如 RJ45、USB);电气特性(电压、速率)、机械特性(接口形状)。-(合并至网络接口层)

二、物理层

通信基础

奈氏准测(无噪声):数据传输速率=2Wlog2(V)

W为信道频率带宽,V为码元状态数

奈氏准则给出了码元传输速率的限制,却未限制码元携带信息的限制(可以增加码元位数,即码元状态数)进而提升信息传输速率

香农定理(有噪声):数据传输速率=Wlog2(1+S/N) 

S为信道内所传输信号的平均功率,N为噪声功率

对一定的传输带宽和一定的信噪比,信息传输速率的上限是确定的,这从侧面表示,一个码元对应的二进制位数是有限的

将数据转为模拟信号的过程称为调制,将数据转为数字信号的过程称为编码

数字数据:通过数字发送器转为数字信号

                通过调制器转为模拟信号

模拟数据:通过PCM编码器转为数字信号

                通过放大器转为模拟信号

模拟数据编码为数字信号三个过程:采样,量化,编码

采样定理(奈奎斯特定理):采样率必须大于等于最大频率的两倍

数字数据调制为模拟信号:调幅(AM),调频(FM),调相(PM),正交幅度调制(QAM)

传输介质

局域网基本采用双绞线作为传输介质

50欧同轴电缆主要用于传送基带数字信号

75欧同轴电缆主要用于传送宽带信号

多模光纤适合短距离运输,光源为发光二极管

单模光纤适合远距离传输,光源是半导体激光器

无线电波具有较强的穿透能力,可以传输很长距离

微波,红外线,激光有很强的方向性

微波通信的信号沿直线传播,在地面传播距离有限,超过一定距离需要中继器接力

卫星通信的容量大,距离远,覆盖广,缺点为保密性差,端到端传播时延长,误码率高,受气候影响大

物理层设备

中继器(直通式设备):用于数字信号,原理是信号再生,不能连接两个不同速率的局域网

放大器:用于模拟信号,原理是放大衰弱的信号

集线器:多端口的中继器,起信号放大和转发作用,扩大网络传输范围,不具备信号的定向传送功能,只能在半双工状态工作

转发器:放大信号

5-4-3规则:在采用粗同轴电缆的10BASE5以太网规范中,互相串联的中继器的个数不能超过4个,串联的5段通信介质中,只有三段可以挂接计算机,其余2段只能用作扩展通信范围的链路段

三、数据链路层

三个基本问题:封装成帧,透明传输,差错检测

数据链路层可为网络层提供:

1)无确认的无连接服务

2)有确认的无连接服务

3)有确认的面向连接的服务

有连接就一定要确认

数据链路层由逻辑链路控制子层(LLC)和介质访问控制子层(MAC)组成:

与接入传输介质有关的内容都放在MAC子层,它向上层屏蔽对物理层访问的各种差异。

LLC子层与传输介质无关,他向网络层提供无确认无连接、面向连接、带确认无连接、高速传送四种不同的连接服务类型

LLC功能:建立和释放数据链路层的逻辑链接、提供与上层协议的接口、流量控制和差错控制(给帧进行编号,帧排序和确认)

MAC功能:包括组帧、拆卸帧、比特传输差错检测、透明传输。

组帧

在网络中信息是以帧为最小单位进行传输的

实现组帧的方法:

1)字符计数法

2)字节填充法(SOH开始,ESC转义,EOT结束)

3)零比特填充法(HDLC协议采用该方法,HDCL协议为能实现可靠传输的高级数据链路控制,是ISO提出的一个面向比特流的数据链路层协议,不属于TCP/IP协议族)

4)违规编码法

差错控制

检错编码:奇偶校验码,CRC冗余校验码(其实具有纠错功能,但考研仅考察检错)

纠错编码:海明码

流量控制

数据链路层:接收方收不下就不返回确认

传输层:接受方通过确认报文段中的窗口值来调整发送方的发送窗口

可靠传输机制

停止-等待协议,后退N帧协议,选择重传协议

后退N帧协议:发送窗口<2^n-1

选择重传协议:发送窗口+接收窗口<2^n

在选择重传协议中,若接收窗口大于发送窗口,则接收窗口永远不可能填满

信道平均数据传输速率=信道利用率*信道带宽=发送周期内发送的数据量/发送周期

介质访问控制

功能:为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号 

信道划分介质访问控制:

帧分复用(FDM),时分复用(TDM),波分复用(WDM),码分复用(CDM,CDMA)

随机访问介质访问控制(争用型协议)

纯ALOHA协议,时隙ALOHA协议

CSMA协议:

1)1-坚持协议

2)非坚持协议

3)p-坚持协议

CSMA/CD协议(有线,802.3):先听后发,边听边发,冲突停发,随机重发

仅用于半双工,因为全双工采用两条信道,分别用来发送和接收,不可能产生冲突

最短帧长=总线传播时延*2*数据传输速率

发送帧的时间>=争用期的时间

截断二进制指数退避算法(决定何时重传):最多重传16次,最大范围2^10

检测方式:通过电缆中的电压变化来检测

CSMA/CA协议(无线,802.11)

采用停止-等待协议

检测方式:能量检测、载波检测、能量载波混合检测

SIFS:最短的帧间隔,ACK,CTS,分片后的数据帧,回答AP探询的帧

PIFS:中等长度的IFS,在PCF中使用

DIFS:最长的IFS,用于异步帧竞争访问的时延

CTS,RTS用于信道预约,解决隐蔽站的问题,信道预约不是CA协议的强制要求,也不是独有的

源站点在RTS中写的占用时间为:SIFS+CTS+SIFS+数据帧+SIFS+ACK

AP在CTS中写的占用时间为:SIFS+数据帧+SIFS+ACK

轮询访问:令牌传递协议(802.5)

适用于负载很高的广播信道

以太网

目前最为流行的有线局域网技术

遵循802.3标准(适用CSMA/CD方式对总线进行访问控制),定义了物理层和数据链路层的规范

采用无连接的工作方式,不需确认

多数以太网采用基带传输

以太网采用两项措施简化通信:

【1】采用无连接无确认的工作方式

【2】发送的数据都使用曼彻斯特编码

以太网的传输介质与网卡:

网络适配器:实现计算机与外界局域网连接,工作在数据链路层,主要功能在物理层和数据链路层,适配器与局域网的通信通过电缆或双绞线以串行方式进行,与计算机的通信通过计算机的I/O总线以并行方式进行,重要功能就是进行数据的串并转换

以太网的MAC地址:

长6字节,前24位由IEEE给出,固化在ROM中

路由器若同时连接到两个网络上,则需要两个适配器和两个MAC地址

以太网V2标准的帧:

首部尾部共18字节,以太网的最大传输单元为1500字节,最短帧长为64字节,所以数据部分字长至少46字节

FCS为32为CRC冗余校验码

802.3以太网帧:

类型字节为长度和类型混用,1501-65535为类型标识符

无线局域网

组成

1)有固定基础设施的无线局域网

最小构件为基本服务集(BSS),一个BSS包括一个接入点和若干移动站,通信依靠AP(基站)

安装AP时需要分配一个不超过32位的服务集标识符(SSID)和一个信道,BSS覆盖范围称为基本服务区(BSA)

2)无固定基础设施的移动自组织网络

无AP,由一些平等状态的移动站组成临时网络,中间结点为转发结点,因此都具有路由器的功能

802.11MAC帧

VLAN(虚拟局域网)(802.1Q帧)(802.3ac标准定义)

建立在交换技术的基础上,可用以太网交换机实现,VLAN可以隔离冲突域和广播域(但交换机只能隔离冲突域)

(通过软件方式实现逻辑分组与管理)三种划分方式:基于接口,基于MAC地址,基于IP地址

在v2帧中插入4字节标识符(VLAN标签),首部增加4字节,数据部分最大长度减少4字节

VLAN标签前两个字节恒置为0x8100,表示这是一个802.1Q帧,剩余两个字节的前4位无意义,后12位是标识符VID

广域网

由结点交换机和连接交换机的链路组成(结点交换机在单个网络中转发分组,路由器在多个网络构成的互联网转发分组)

传输方式:局域网:广播式;广域网:存储转发式

PPP协议(有连接的不可靠服务)

用户计算机与ISP(互联网服务提供商)通信时所用的数据链路层协议

组成:

1)链路控制协议(LCP):用来建立,配置,测试数据链路的连接,以及协商一些选项

2)网络控制协议(NCP):处理网络层协议的配置和多路复用,PPP允许采用多种网络层协议,每种协议对应一套NCP

3)将IP数据报封装到串行链路的方法

F标志字段,规定为0x7E,相当于帧定界

PPP采用异步传输时,采用字节填充法(转义字符为0x7D),采用同步传输时,采用零比特填充法

A地址字段,C控制字段,无意义

协议字段:0x0021则信息部分为IP数据报,0xC021则信息部分为LCP数据

信息部分:0-1500字节(PPP点对点,无需使用CSMA/CD,无最短帧长限制)

PPP面向字节,长度都是整数个字节

PPP不使用序号和确认机制,只保证无差错接收(CRC检验),因此是不可靠服务

PPP只支持全双工的点对点链路,不支持多点链路

PPP的两端可以运行不同的网络层协议
 

数据链路层设备

网桥(存储转发设备):

用于数字传输,可隔离冲突域,现已被以太网交换机取代

若网桥实现了物理层和数据链路层,则网桥可以互连两个物理层和数据链路层不同的网段,但中继器实现了物理层后,却不能互连两个物理层不同的网段

以太网交换机(二层交换机):

对于传统使用集线器的共享式10Mb/s以太网,若共有N个用户,则每个用户的平均带宽为总带宽(10Mb/s)的1/N。使用以太网交换机(全双工方式)连接这些主机时,虽然从每个接口到主机的带宽还是10Mb/s,但是因为一个用户通信时是独占带宽的(而不是和其他网络用户共享传输介质带宽的),所以拥有N个接口的交换机的总容量为N×10Mb/s。这正是交换机的最大优点。

交换机独占传输介质的带宽

以太网交换机接口与主机或其他交换机连接时,可使用全双工方式

与集线器连接时,只能使用半双工方式

两种交换方式
1)直通交换方式:只检查帧的目的MAC地址,不适用于需要速率匹配,协议转换或差错检测的线路

2)存储转发交换方式:先缓冲到高速缓存器中,并检查数据是否正确,可靠性高,且能支持不同速率接口间的转换,但时延较大

冲突域:连接到同一物理介质上的所有结点的集合,这些结点之间存在介质争用的现象

广播域:接收同样广播信息的结点集合

四、网络层

功能

广播式网络不需要网络层

分组转发,路由选择

TCP/IP体系提供无连接的数据报服务,在网络层采用标准化协议,但相互连接的网络可以是异构的(数据链路层和物理层均不同),数据报分组不一定是按序到达的

异构性指传输介质,数据编码方式,链路控制协议及不同的数据单元格式和转发机制

SDN(软件定义网络),一种创新网络架构,采用集中式的控制平面和分布式的数据平面

集中式的控制平面使路由器变得简单,不在需要路由选择软件,也不需要交换路由信息,控制平面上的远程控制器掌握整个网络状态,路由器只需要收到分组,查找转发表(远程控制器通过openflow协议将转发表下发给路由器),转发分组

在SDN中完成“匹配+动作”的设备通常称为Openflow交换机,取代传统路由器中转发表的是流表,SDN远程控制器不在Openflow交换机中

SDN接口:

北向接口:提供的编程接口

南向接口:SDN控制器和转发设备建立双向会话的接口

东西向接口:SDN控制器内部控制器之间的通信接口

优点:

【1】利于控制平面全局优化,利于高性能的网络转发

【2】灵活可编程与性能的平衡

【3】降低成本

缺点

【1】安全性问题(控制器受攻击整个网络都有影响)

【2】瓶颈问题(网络规模扩大,控制器可能成为瓶颈)

拥塞控制:

1)开环控制:静态方法,力求网络在工作时不产生拥塞,手段共性是在做决定时不考虑当前网络状态(何时可接受新流量,何时可丢弃分组及丢弃哪些分组,确定调度策略)

2)闭环控制:动态方法,采用监测网络去监视并调整

差错检测:

仅检验首部,详见IPV4

IPV4

418,首总偏(首部长度,总长度,片偏移的权值分别为4,1,8个字节)

标志:MF,DF(是否有更多分片,是否允许分片)

IPV4(公用)地址:

(图上标注位数为仍需自己决定的位数,真正的网络号位数为8,16,24)

特殊IP地址:

【1】主机号全0表示网络本身

【2】32位全0表示本网络的本主机

【3】主机号全1表示本网络的广播地址(直接广播地址)

【4】32为全1为整个TCP/IP网络的广播地址(受限广播地址)因为路由器对广播域的隔离,与直接广播地址等效

【5】127开头为环回自检地址,表示任意主机本身

A类地址减2:32位全0及127

主机数-2:主机号全0及主机号全1

网络地址转换(NAT):
将专用网络地址转换为公用地址

私有地址:

A类:10.0.0.0——10.255.255.255

B类:172.16.0.0——172.31.255.255

C类:192.168.0.0——192.168.255.255

普通路由器工作在网络层,NAT路由器转发数据报时需要查看和转换传输层的端口号

普通路由器在转发IP分组时,源IP地址和目的IP地址不会改变,而NAT路由器需要改变

划分子网

划分子网是一个单位内部的事情,单位对外仍然表现为没有划分子网的一个网络

划分子网增加了灵活性,但减少了能够连接在网络上的主机总数

网络层协议

CIDR(无分类编制),CIDR虽然不使用子网,但仍然使用“掩码”一词,其主要作用是将若干网络合并成一个更大的网络

路由聚合(构成超网):有利于减少路由器之间的信息交换,进而提高网络性能

链路聚合:解决以太网交换机之间的宽带瓶颈问题的技术

ARP(地址解析协议):【工作在网络层,完成IP地址到MAC地址的映射

IP地址是分层式的,MAC地址是平面式

ARP请求分组式广播发送的,ARP响应分组是普通的单播

每台主机都设有一个ARP高速缓存,称ARP表】

DHCP(动态主机配置协议):是应用层协议,基于UDP,有DHCP发现,DHCP提供,DHCP请求,DHCP确认,整个请求过程的源IP地址为0.0.0.0,目的IP地址为255.255.255.2555

BOOTP(自举协议):是DHCP协议的前身,用于无盘工作站的局域网中,可以让无盘工作站从中心服务器获得IP地址,通过该协议可以为局域网中的无盘工作站动态分配IP。

ICMP(网际控制报文):【是网络层的协议,作用是让主机和路由器报告差错和异常情况

ICMP报文作为数据字段封装在IP分组中,IP直接为ICMP提供服务

ICMP差错报告报文:

【1】终点不可达:当路由器或主机不能交付数据报时,就向源点发送终点不可达报文

【2】源点抑制:当路由器或主机因为拥塞而丢弃数据报时,发送源点抑制报文,使源点知道应当把数据报的发送速率放慢

【3】时间超过:路由器收到TTL为0的数据报,丢弃的同时发送报文,当终点在预定时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃

【4】参数问题:到路由器或目的主机收到的数据报的首部中有字段的值不正确时,丢弃该数据报并发送报文(UDP检验若首部出错则发送报文,属于参数问题,但若是数据部分出错,则直接丢弃而不发送报文,IP数据报仅检验首部,出错直接丢弃,不发送报文)

【5】改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器

以下情况不发送ICMP差错报文:
【1】对ICMP差错报文的报文,不发送ICMP差错报告报文

【2】对第一个分片的数据报片的所有后续数据报片,都不发送ICMP差错报文

【3】对具有多播地址的数据报,都不发送ICMP差错报文

【4】对具有特殊地址(127.xxx或0.0.0.0)不发送差错报文

ICMP询问报文:

回送请求和回答报文

时间戳请求和回答报文

地址掩码请求和回答报文

路由器询问和通告报文

ICMP应用:

ping(分组网间探测):工作在应用层,测试两台主机间的连通性,使用ICMP回送请求和回答报文

traceroute(UNIX),Tracert(Windows)  (路由追踪):工作在网络层,用来跟踪分组经过的路由,使用ICMP时间超过报文

IPV6

特点(有些简单的省略):

1)灵活的首部格式:IPV6定义了许多可选的扩展首部,可提供比IPV4更多的功能,而且能提高路由器的处理效率

2)改进的选项:IPV6首部长度固定(40B),其选项放在有效载荷中,选项是灵活可变的,而IPV4所规定的选项是固定不变的,其选项放在首部的可变部分,IPv4的首部长度可变

3)允许协议继续扩充:IPv6允许不断扩充功能,而IPv4的功能是固定不变的

4)不需要使用DHCP,支持即插即用

5)支持资源预分配

6)IPV6只有源主机才能分片,不允许类似IPV4在传输路径中进行路由分片

有效载荷:除基本首部外的字节数(包含扩展首部)

IPv6可以进行单播,多播,任播(终点是一组计算机,但数据报只交付其中的一台计算机)

64位的接口标识符足以应对各种接口的硬件地址直接进行编码,不需要使用ARP

IPv4向IPv6过渡:

1)双协议栈:同时装有IPv4和IPv6,主机使用应用层的DNS(域名系统)获知目的主机采用哪种地址

2)隧道技术:把整个IPv6封装到IPv4中

路由算法

静态路由算法

动态路由算法:距离-向量路由算法,链路状态路由算法

距离-向量算法(RIP是该算法):

基于Bellman-ford算法,用于计算单源最短路径

向邻居发送自己的整个路由表

大型网络将导致很大的更新报文

链路状态算法(OSPF是该算法):

可使用dijkstra最短路径算法计算出到达其他结点的最短路径

要求每个结点都具有全网络拓扑结构图

1)主动测试所有相邻结点的状态

2)定期将链路状态传播给所有其他结点(只告诉结点与它相连的链路的费用)

使用于大型的或路由信息变化聚敛的互联网环境

内部网关协议(IGP):RIP(距离向量算法),OSPF(链路状态算法)

外部网关协议(EGP):BGP-4

RIP(路由信息协议)

IGP中最先得到广泛应用的协议

应用层协议,使用UDP传送数据

分布式基于距离向量的路由选择协议

使用跳数最少(一条路径最多只能包含15个路由器)

若180秒(RIP默认超时时间)还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达,即把距离设置成16

收敛:所有的路由器知道到达本自治系统内任何网络的最短距离和下一跳地址

好消息传的快,坏消息传的慢(收敛很快,而网络故障收敛很慢)

OSPF(开放最短路径优先)

网络层协议,直接用IP数据报传送

使用hello分组来保持与邻居的连接(发现和维持邻站的可达性)

使用洪泛法(flood)

只有路由状态发生变化时,路由器才向其他路由器发送信息

五种分组:
问候分组:用来发现和维持邻站的可达性

数据库描述分组:向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息

链路状态请求分组:向对方请求发送某些链路状态项目的详细信息

链路状态更新分组:用洪泛法对全网更新链路状态

链路状态确认分组:对链路更新分组的确认

网络中通常传送的OSPF分组大多是问候分组,两相邻路由器通常每隔10秒交换一次问候分组,若有40秒没有收集到某个相邻路由器发来的问候分组,则认为相邻路由器不可达

BGP(边界网关协议)

力求寻找一条到达目的网络且比较好的路由,而非一条最佳路由

采用路径向量路由选择协议

交换的可达性信息使是到达某个网络所经过的路径

应用层协议,基于TCP

BGP-4的4种报文:
打开报文(open):与相邻的另一个BGP发言人建立关系,使通信初始化

更新报文(update):通知某一路由,列出要撤销的多条路由

保活报文(keepalive):周期性的证实邻站的连通性

通知报文(notification):用来发送检测到的差错

两个BGP发言人需要周期性交换keepalive报文,keepalive只有19B,不会造成太大开销

RIP使用UDP,OSPF使用IP,BGP使用TCP,原因:
RIP处于UDP上层,RIP所接收的路由信息都封装在UDP数据报种

OSPF的位置位于网络层,要交换的信息量较大,应使报文长度尽量短,因此采用IP

BGP要在不同的自治系统之间交换路由信息,因为网络环境复杂,需要保证可靠的传输

IP多播

多播数据报中的协议字段值是2,表明使用IGMP协议

多播数据报不提供可靠交付

多播地址只能用于目的地址,而不能用于源地址

对多播数据报不产生ICMP差错报文

多播地址仅应用于UDP

硬件多播:把IP多播地址映射成多播MAC地址

IANA(互联网号码分配机构)拥有的以太网多播地址的范围是从01-00-5E-00-00-00到01-00-5E-7E-FF-FF,在这些地址中,只有23位可用作多播,只能和D类IP地址中的23位有一一对应关系,D类IP地址可供分配的有28位,可见这28位中的前5位无法映射到多播MAC地址

多播IP地址与以太网MAC地址的映射关系不是唯一的,所以收到多播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃

IGMP(网际组管理协议)

让连接到本地局域网上的多播路由器,知道本局域网上是否有主机参加或退出了某个多播组

IGMP不知道IP多播组包含的成员数,也不知道成员分布在哪些网络上

IGMP报文被封装在IP数据报中传送,但它也向IP提供服务,因此不把IGMP视为一个单独的协议,而视为整个网际协议IP的一个组成部分

工作过程:

1)当某台主机加入新的多播组时,该主机应向多播组的多播地址发送一个IGMP报文,声明自己要成为该组的成员。本地的多播路由器收到IGMP报文后,还要利用多播路由选择协议,把这种组成员关系转发给互联网上的其他多播路由器。 

2)组成员关系是动态的。本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否仍继续是组的成员。只要对某个组有一台主机响应,多播路由器就认为这个组是活跃的。但一个组在经过几次探询后仍然没有一台主机响应,多播路由器就认为本网络上的主机都已离开了这个组,因此就不再把这个组的成员关系转发给其他的多播路由器。

多播路由选择实际上就是要找出以源主机为根结点的多播转发树,其中每个分组在每条链路上只传送一次(即在多播转发树上的路由器不会收到重复的多播数据报)。不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。 

移动IP

移动结点:具有永久IP地址的移动主机

本地代理:通常就是连接在归属网络(原始连接到的网络)上的路由器

外地代理:通常就是连接在被访网络(移动到另一地点所接入的网络)上的路由器

移动结点获知转交地址的方式

1)被动获得:外地代理通过广播ICMP报文,移动结点收到后获知

2)主动获得:移动结点主动发送广播报文,获得转交地址

网络层设备

路由器:一种具有多个输入/输出端口的专用计算机,其任务是连接不同的网络并完成分组转发,实现了网络模型的下三层,物理层,数据链路层和网络层(指路由器有能力对着三层协议的控制信息进行识别、分析以及转换)

路由表:根据路由选择算法得出,主要用途是路由选择

转发表是从路由表得出的,其表项和路由器表项有直接的对应关系,但转发表的格式和路由表的格式不同,应使查找过程最优化,而路由表需要对网络拓扑变化的计算最优化

路由表是用软件实现的,转发表可以用软件实现,也可以用特殊的硬件实现

分组的实际转发是靠直接查找转发表,而不是查找路由表

当路由器收到一个待转发的数据报时,有路由表得出下一跳路由器的IP地址后,不是把这个地址填入数据报,而是送交数据链路层的网络接口软件,网络接口软件负责把下一跳路由器的IP地址转换成硬件地址(ARP协议),并将此硬件地址写入MAC帧的首部,然后根据此硬件地址找到下一跳路由器

五、传输层

功能

提供不同主机上不同进程之间的逻辑通信

端口号:

1)服务器端使用的端口号:熟知端口号:0-1023,登记端口号:1024-49151

2)客户端使用的端口号:49152-65535,又称短暂端口号

套接字(socket)=(IP地址:端口号)

唯一的标识网络中的一台主机的一个应用进程

TCP是一条全双工的可靠逻辑信道不提供广播或多播服务,UDP是一条不可靠的逻辑信道

UDP协议

检验首部和数据

特点:

1)无需建立连接

2)首部开销小,TCP有20B的首部开销,而UDP仅有8B的开销

3)无拥塞控制

4)支持一对一,一对多,多对一和多对多的交互通信

5)面向报文,接收方UDP对IP层交上的UDP数据报,在去除首部后就原封不动的交付给上层应用进程,一次交付一个完整的报文,因此报文不可分割,是UDP数据报处理的最小单位

若目的端口号不正确,就丢弃该报文,并由ICMP发送“端口不可达”差错报文给发送方

进行UDP校验时,若发现出错则直接丢弃,不发送ICMP报文

检验:添加12B的伪首部,若UDP数据部分不是偶数个字节,则需要在末尾填入一个全0字节,然后按二进制反码计算出这些16位字的和,将此和的二进制反码写入检验和字段

TCP协议

检验首部和数据

特点:

1)TCP是面向连接的传输层协议,TCP连接是一条逻辑连接

2)TCP连接是一对一的

3)提供可靠交付的服务,保证传送的数据无差错,不丢失,不重复且有序

4)TCP两端都设有发送缓冲和接收缓存

5)TCP是面向字节流的(虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据仅视为一连串的无结构的字节流)

UDP报文的长度由发送应用程序决定,TCP报文的长度则根据接收方给出的窗口值和当前网络拥塞状态决定

TCP首部前20B是固定的,后面有4N字节根据需要可增加选项

数据偏移(即首部长度)

TCP校验也需要加入12B的伪首部,只需将UDP伪首部的协议字段的17改为6

同一个IP地址可以有多个不同的TCP连接,而同一个端口号也可以出现在多个不同的TCP连接中

建立连接:

第一次不能携带数据且要消耗掉一个序号(SYN=1,ACK=0)

第二次不能携带数据且要消耗掉一个序号(SYN=1,ACK=1)

第三次若不携带数据则不消耗序号,若携带则消耗(SYN=0,ACK=1)

释放连接:

第一次即使不携带数据,也要消耗一个序列号(FIN=1)

第二步完成后,客户不向服务器发送数据,但服务器还可以向客户发送数据

MSL为最长报文段寿命

从客户机发出FIN报文开始,客户机释放连接的最短时间为1RTT+2MSL,服务器释放连接的最短时间为2RTT(2,3步同时)

可靠传输:
TCP把数据视为一个无结构但有序的字节流,序号建立在传送的字节流上,而不建立在报文段上

但TCP是在收到整个报文段后才发回一个确认,因此TCP采用对报文段确认的机制

TCP默认使用累计确认

流量控制:
TCP利用滑动窗口机制来实现流量控制

拥塞控制:

拥塞控制与流量控制的区别:拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。相反,流量控制往往是指点对点的通信量的控制,是个端到端的问题(接收端控制发送端),它所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收。当然,拥塞控制和流量控制也有相似的地方,即它们都通过控制发送方发送数据的速率来达到控制效果。

拥塞窗口是发送端根据网络拥塞情况确定的窗口值

TCP使用的是选择重传协议:TCP使用累计确认,但收到失序的报文不会丢弃,而是缓存起来,并且发送冗余ACK指明期望收到的下一个报文段

SCTP协议

        具有TCP和UDP协议的优点,目前很少涉及,可以用于一些新应用,如IP电话

六、应用层

 网络应用模型:

C/S模型:

1)网络中各计算机地位不平等

2)客户机相互之间不直接通信

3)可扩展性不佳

P2P模型(注意跟PPP协议区分,PPP协议是数据链路层的传输协议)

每台计算机即作为客户又作为服务器

优点:
1)减轻服务器的压力

2)多个客户机可以直接共享文档

3)可扩展性好

4)网络健壮性强

缺点:占用计算机较多内存,对硬盘造成较大损伤

DNS(域名系统)

采用C/S模型,运行在UDP上,53端口号

域名解析:递归查询(对根域名服务器造成负载过大),迭代查询(告诉继续去哪找其他域名服务器)

为提高DNS效率,广泛使用高速缓存

FTP(文件传输协议)

使用TCP的可靠传输服务

允许客户指明文件的类型与格式,并允许文件具有存取权限,适合于在异构网络中的任意计算机之间传送文件

功能:
1)提供不同种类主机系统间的文件传输能力

2)以用户权限管理的方式提供用户对远程FTP服务器的文件管理能力

3)以匿名FTP的方式提供公用文件的共享能力

主进程(接收请求)和从属进程(处理单个请求)是并发执行的

控制连接(服务器端口号21):整个会话期间一直保持打开状态,控制信息是带外传送的

数据连接(服务器端口号20):分为主动连接(PORT)和被动连接(PASV)

主动连接:客户端连接到服务器的21号端口,登录成功后要读取数据,客户端随机开放一个端口,并发送命令告知服务器,服务器收到命令和端口号后,通过20端口号和客户端开放的端口号连接

被动连接:客户端要读数据时,发送PASV命令到服务器,服务器在本地随机开放一个端口,并告知客户端,客户端再连接到服务器开发的端口号

(默认采用主动连接)

电子邮件(SMTP,POP3)

SMTP是邮件发送协议,POP3是邮件读取协议

MIME(多用途因特网邮件扩展):因为SMTP只能传送7位ASCII码文本邮件,许多其他国家的文字无法传送,MIME并未改动或取代SMTP,只是进行了数据的转换

SMTP采用C/S模式,是面向文本的,用的是TCP连接,端口号为25

SMTP不使用中间的邮件服务器,连接重视在发送方和接收方两个邮件服务器之间直接建立

连接建立:
发件人的邮件发送到发送方邮件服务器的邮件缓存中后,SMTP客户就每隔一定时间对邮件缓存扫描一次。如发现有邮件,就与接收方邮件服务器的SMTP服务器建立TCP连接,SMTP服务器使用的熟知端口号为25。连接建立后,接收方SMTP服务器发出220 Service ready(服务就绪)。然后SMTP客户向SMTP服务器发送HELO命令,附上发送方的主机名。

(OSPF使用hello分组来保持于邻居的连接)

连接释放:SMTP客户发送QUIT命令,SMTP服务器返回221(服务器关闭)

POP也采用C/S模式,在传输层使用TCP,端口号为110

另一个邮件读取协议是IMAP(因特网报文存取协议),允许只读取报文的首部或多部分MIME报文的一部分,这非常适合于低带宽的情况

用户浏览器于HOTmail或Gmail的邮件服务器间的邮件发送或接收使用的是HTTP,仅在不同邮件服务器之间传送邮件时才使用SMTP

万维网

以C/S模式工作

HTTP(超文本传输协议):

本质上是面向事务的,通信内容是面向文本的

使用TCP作为传输层协议,但是HTTP本身是无连接的,即虽然HTTP使用了TCP连接,但通信双方在交换HTTP报文前不需要建立HTTP连接

非持续连接(HTTP/1.0):每个网页元素的传输都需要单独建立一次TCP连接

持续连接(HTTP/1.1):顾名思义,连接保持,不需要多次建立

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐