网络基础
本篇是网络基础上篇,认识计算机网络,介绍物理层、数据链路层和网络层。
计算机网络概述
三网
- 电信网络:提供电话、传真服务
- 有线电视网:提供各种节目
- 计算机网络
起源:计算机技术和通信技术相结合的产物,始于20世纪50年代
定义:由通信线路互相连接的许多独立自主的计算机构成的资源共享集合体
功能
网络通信:计算机网络使上网用户之间都可以交换信息,通信方式有同步和异步两种,同步传送效率最高
资源共享:包括硬件,软件,数据,通信信道
三要素
多个具有独立功能的计算机系统
由各种通信设备和通信线路组成的通信子网
功能完善的网络软件(为用户共享网络资源和信息传递提供管理和服务)
组成:通信子网和资源子网,前者的设备包含通信控制处理机CCP和通信链路,后者的设备包含计算机主机和终端
术语
网络:由若干结点和连接这些结点的链路组成
互联网(internet):也叫互连网,网络之间通过路由器互连起来,被称为"网络的网络"
因特网(Internet):世界上最大的互联网,采用TCP/IP协议族作为通信的规则,其前身是美国ARPANET。网络把许多计算机连接在一起,而因特网把许多网络连接在一起
万维网(WWW,World Wide Web):一个建立在因特网上的全球性的,交互的,动态的,多平台的,分布式的,超文本超媒体的信息查询系统,提供网络服务。万维网联盟W3C的创建者是万维网的发明者蒂姆·伯纳斯-李。万维网包括浏览器和服务器
ISP(Internet Service Provider):因特网网络服务提供商。根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP分为不同的层次:主干ISP、地区ISP和本地ISP。IXP(因特网交换点)允许两个网络直接相连并交换分组,不需要通过第三个网络转发分组
上网:通过某个ISP获得的IP地址接入到因特网
因特网组成
边缘部分
定义:由通过低速链路连接到因特网上的所有主机(端系统)组成,为用户提供通信和资源共享服务
主机间的通信方式:有客户-服务器方式(C/S)和对等方式(P2P)。前者描述进程间服务和被服务的关系,客户是服务请求方,服务器是服务提供方。服务器程序不需要知道客户程序的地址,而客户程序需要知道服务器程序的地址。后者则是两个主机通信时不区分哪一个是服务请求还是服务提供方,本质上仍是使用客户-服务器方式,只是该方式的两台主机既是客户又是服务器
扩展
CS模式:客户端向服务器发送请求,服务器返回响应。常用于Web服务、远程过程调用(RPC)等即时反馈场景 1
P2P模式:每个节点既可以作为客户端,也可以作为服务器。节点之间直接通信,共享资源和服务,而不需要依赖集中式服务器。在文件共享、流媒体、分布式计算等应用广泛
发布订阅模式:消息发布者(Publisher)将消息发布到一个主题(Topic)上,而订阅者(Subscriber)订阅这些主题以接收消息。常用于实时通信、事件驱动系统等
消息队列模式:消息发送者将消息发送到一个消息队列中,而接收者从队列中获取消息。常用于异步通信、解耦系统组件等场景
广播模式:一个节点发送的消息会被网络中的所有其他节点接收。常用于网络发现、时间同步等场景
组播模式:广播模式的一种改进,允许将消息发送到一组特定的节点,而不是网络中的所有节点。常用于视频会议、在线游戏等高效分发数据的场景
核心部分
定义:由大量网络和通过高速链路连接这些网络的路由器组成,为边缘部分提供连通和交换服务。其中路由器是实现分组交换的关键构件,负责转发收到的分组
交换(数据传送)方式
电路交换:经过建立物理连接、通话、释放连接三个步骤而持续占用通信资源的交换方式
报文交换:报文不分组,直接存储、寻址、转发
分组交换:经过分组存储、寻址(检查出首部中的目的地址,通过转发表找到合适的接口)、转发分组给下个路由器三个过程的交换方式,是一种断续分配传输带宽的高效策略,但存在时延、带宽开销、丢失问题。一般报文会拆为几个分组,分组由头部和数据组成。因分组又叫包,其首部又叫包头。
网络层有两种连接方式,一种是虚电路,建立一条逻辑连接并沿着这条连接按照存储转发方式传送分组,该方式减少分组开销;另一种是数据报,简单灵活、无连接、尽最大努力交付,该方式网络造价低、运行方式灵活、适应多种应用
虚电路服务 数据报服务 思路 可靠通信由网络保证 可靠通信由主机保证 连接的建立 需要 不需要 终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址 分组的转发 同一路由转发 独立选择路由进行转发 当结点出故障时 所有通过故障点的虚电路均不能工作 故障点可能丢失分组,一些路由可能会发生变化 分组的顺序 按发送顺序到达终点 到达终点的时间不一定按发送顺序 端到端的差错处理和流量控制 由网络或主机负责 由主机负责 ATM交换
接入网(Access Network):从用户家中接入到因特网。既不属于核心部分,也不属于边缘部分。是从某个端系统到另一个端系统的路径中,由这个端系统到第一个路由器之间的一些物理链路组成
网络类别
按拓扑结构
星状网
环状网
总线网
树状网
网状网
按作用范围
广域网WAN:基于IP交换的高速路由交换机或者ATM交换机,使用光纤传输
城域网MAN:综合业务数字网ISDN、帧中继FR、异步转移模式ATM、交换式多兆位数据服务SMDS等技术带动,使用电话线路、光纤、卫星等媒介传输
局域网LAN:如以太网、令牌环、帧中继网,使用双绞线、同轴电缆、激波、射频信号、红外线等媒介传输
个人区域网PAN
网络性能指标
额定(标称)速率:连接在计算机网络上的主机在数字信道上传送数据的速率,又叫数据率、比特率,单位可以是b/s,kb/s,Mb/s,Gb/s,Tb/s
带宽:网络的通信线路传送数据的能力,即单位时间内从网络中的某一点到另一点所能通过的最高数据率,单位可以是b/s,kb/s,Mb/s,Gb/s,Tb/s
吞吐量:单位时间内通过某个网络(或信道,接口)的数据量
时延:数据从网络的一端传送到另一端所需的时间,又叫延迟、迟延
发送时延/传输时延:主机或路由器发送数据帧所需要的时间,公式:发送时延=数据帧长度/发送速率
传播时延:电磁波在信道中传播一定的距离需要花费的时间,公式:传播时延=信道长度/电磁波在信道上的传播速率
处理时延:主机或路由在收到分组时花费的处理时间
排队时延:分组进入路由器后在输入队列中排队等待处理的时间
总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
注:高速网络链路是指发送速率高,不是指传播速率。光纤信道传输速率高是指发送速率高,且实际光纤传播速率是低于铜线上的传播速率
时延带宽积:以比特为单位的链路长度,公式:时延带宽积 = 传播时延 * 带宽
往返时间RTT:从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间
利用率
信道利用率:信道有百分之几的时间是被利用的(有数据通过)
网络利用率:全网络的信道利用率的加权平均值。网络时延D = 网络空闲时延D0 / (1 – 网络利用率U)。网络利用率过高会产生非常大的时延
网络体系结构
不同网络体系结构的用户迫切要求能够互相交换信息,即使不同体系结构的计算机网络都能互连
提出分层。各层之间是独立的,灵活性好,结构上可分隔开,易于实现和维护,能促进标准化工作,解决通信双方在硬件体系和操作系统的差异问题
开放系统互连参考模型OSI国际标准与TCP/IP非国际标准
OSI七层协议的体系结构:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层

TCP/IP四层协议的体系结构:应用层、运输层、网际层、网络接口层
概念
实体:任何可发送或接收信息的硬件或软件
协议:控制两个或多个对等实体进行通信(数据交换)的规则,标准或约定的集合。特点是协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。由三个要素组成:语法(数据与控制信息的结构或格式)、语义(需要发出何种控制信息,完成何种动作以及做出何种响应)、时序/同步(事件实现顺序的详细说明)
服务:可被上层实体"看得见"的功能,由下层向上层通过层间接口提供。上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语
协议与服务的联系:协议使本层能向上层提供服务,而要实现本层协议,需要使用下层提供的服务
协议与服务的区别:实体只能看见下层的服务而无法看见下层的协议;协议是水平的,而服务是垂直的
SAP:服务访问点,即在同一系统中相邻两层的实体进行交互(即交换信息)的地方
SDU:服务数据单元,即层与层之间交换的数据单位
PDU:协议数据单元,即对等层次之间传送的数据单位
各层简介
名称 PDU 作用 设备 应用层 报文 提供访问网络服务的接口 网关(又称网间连接器、协议转换器,如LAN与WAN的连接;也可用于处理不同的网络层协议转换和数据转发) 表示层 提供数据格式转换服务如加密解密,编码解码 会话层 建立端连接,提供访问验证和会话管理 运输层 TCP报文段/UDP用户数据报 对数据分段重组,提供进程间逻辑通信 网络层 分组 对数据进行IP地址的封装与解封装,为分组交换网上不同主机提供通信服务,并选择合适路由,使从源主机上层传下来的分组能够通过网络中的路由器找到目的主机 路由器 数据链路层 帧 对数据进行MAC地址的封装或解封装,在相邻结点间的链路上传送帧;检错纠错 网桥 物理层 比特 确定与传输媒介的接口有关的一些特性,如机械特性,电气特性,功能特性,过程特性 转发器、中继器(电压放大器)
物理层
传输媒介
定义:数据传输系统中在发送器和接收器之间的物理通路
分类
导引型传输媒体 双绞线 减少对相邻导线的电磁干扰;价格便宜;性能好;导线越粗,衰减越小,但价格和重量增加 同轴电缆 抗干扰性好,可用于传输较高速率的数据 光缆 通信容量大;传输损耗小,中继距离长,对远距离传输特别经济;抗雷电和电磁干扰性能好;无串音干扰,保密性好,也不易被窃听或截取数据;体积小,重量轻 架空明线(铜线或铁线) 安装简单;通信质量差;受气候环境影响较大 非导引型传输媒体 高频通信(短波通信) 多径效应使通信质量差;低速传输 地面微波接力通信(微波通信) 通信信道容量大;传输质量高,有时受到恶劣气候影响;建设投资少,见效快,易于跨越山区,江河;相邻站之间必须直视;隐蔽性和保密性较差;对大量中继站的使用和维护要耗费较多的人物力 卫星通信(微波通信) 通信距离远,且通信费用与通信距离无关;频带宽,通信容量大,抗干扰性好,通信比较稳定;较大的传播时延;保密性差 红外通信 激光通信
信道复用技术
频分复用FDM
复用器和分用器一定是成对使用
时分复用
同步时分复用TDM
异步时分复用/统计时分复用STDM:此时复用器又叫集中器、智能复用器
波分复用WDM
光复用器和光分用器(分波器)成对使用
码分复用CDM
宽带接入技术
有线宽带接入技术
xDSL技术
1、非对称数字用户线ADSL:利用频分复用技术把普通电话线分成电话、上行和下行三个相对独立的通道,实现同时接入Internet和电话通信,互不影响。非对称是指ADSL下行(从ISP到用户)带宽都远远大于上行(从用户到ISP)带宽。计算机通过公共电话网接入Internet,属于此类技术
2、对称数字用户线SDSL
3、高速数字用户线HDSL
4、甚高速数字用户线VDSL
光纤同轴混合网(HFC网)
机顶盒:使模拟电视机能够接收数字电视信号
电缆调制解调器:使用户利用HFC网接入到因特网,以及在上行信道中传送交互数字电视所需的一些信息。不需成对使用,只需安装在用户端
FFTx技术(Fiber To The x,光纤到...)
如光纤到家FFTH,光纤到路边FTTC,光纤到小区FTTZ。各种网络在物理层互连时要求数据传输速率和链路协议都相同
无线宽带接入技术
WPAN:ZigBee(802.15.4)、蓝牙(802.15.1)、超宽带(802.15.3)
WLAN:Wi-Fi(802.11系列,如802.11n、802.11g.a、802.11b)
分类:有固定基础设施(预先建立的覆盖一定地理范围的一批固定基站)和无固定基础设施(一些处于平等状态的移动站之间相互通信组成的临时网络,又叫自组网络或移动分组无线网络。无线传感器网络属于这种,用于组成各种物联网)
以下都是有固定基础设施WLAN的介绍
组成
- 接入点AP:基本服务集BSS(最小构件,由一个基站和若干个移动站组成)的基站,需为其分配一个服务集标识符SSID和一个信道
- 分配系统DS:使扩展的服务集ESS对上层的表现像一个基本服务集一样,可以接入以太网、其他无线网如非802.11无线局域网
漫游/重建关联(从一个BSS到另一个BSS,分离服务可终止关联):选择AP,建立关联,向AP发送DHCP发现报文来获取IP。分被动扫描与主动扫描,前者是移动站等待接收AP周期性发出的信标帧,后者是移动站主动发出探测请求帧,等待从AP发回的探测响应帧 WPA2,即WiFi受保护接入,是加密接入局域网的一种方案
CSMA/CA(载波监听多点接入/碰撞避免)协议与CSMA/CD协议的区别
- CSMA/CA用于无线局域网,没有碰撞检测;CSMA/CD用于有线局域网
- 退避算法不同,从
[0,1,...,2^(k+2) - 1]取值,乘以时隙时间,其中k = min[重传次数, 6],当重传次数不小于255次时则丢帧,向高层报告 - 要发送数据的站对信道预约,解决隐蔽站问题(未能检测出信道上其他站点信号)。另一个问题是暴露站问题(误干扰信号影响其他站点发送)
CSMA/CA流程:
载波监听,信道是否空闲 -> 等待DIFS -> 预约信道,发送RTS -> 等待SIFS -> 发送数据帧 -> 成功 | | | 重传次数+1,计算退避时间并等待,再继续监听信道 <---- 超时后收到CTS 超时后收到ACKMAC帧
帧类型:控制帧、数据帧、管理帧
数据帧的4个地址:由均占1位的去往AP和来自AP两个字段决定,有4种组合,只讨论常用的2种组合
去往AP 来自AP 地址1 地址2 地址3 地址4 0 1 目的地址 AP地址 源地址 -- 1 0 AP地址 源地址 目的地址 --
WMAN:WiMax(802.16)
WWAN:蜂窝移动通信网如2G、3G(美国提出的CDMA2000[电信]、欧洲提出的宽带码分多址WCDMA[联通]、中国提出的时分同步的码分多址TD-SCDMA[移动])、4G(TD-LTE、FDD-LTE)、...
如何保持移动时IP地址不变?通过移动IP使建立的TCP连接与移动用户的漫游无关,下面是该协议的两种路由选择。
- 移动站都有一个原始地址,即归属网络上的永久地址或归属地址,当移动站移动时,被访网络的外地代理为其创建转交地址,并及时把转交地址通知给归属代理。当向移动站发送数据时,归属代理截获数据;它会进行再封装,将目的地址指向转交地址,通过隧道技术给外地代理;外地代理再拆封,将原始数据转给移动站;移动站使用永久地址作为源地址,直接应答。
- 上述属于间接路由选择,存在"三角形路由选择问题"(数据转发低效)。于是有了直接路由选择,当向移动站发送数据时,通信者代理向归属代理找到锚外地代理;通信者代理对数据再封装,发给锚外地代理;锚外地代理再拆封,将原始数据转给移动站;移动站又移动到第二处,向第二外地代理登记,第二外地代理把新转交地址通知给锚外地代理;锚外地代理收到第二条数据后,使用新转交地址对数据再封装,发给第二外地代理,在拆封后发给移动站。继续移动到第三处,第三外地代理把新新转交地址通知给锚外地代理。从整体上看,一定程度减少了通信距离
在蜂窝通信网中对移动用户的路由选择问题?固定电话用户呼叫移动用户使用"间接路由选择"。分三步
- 找到移动用户的归属网络,传送呼叫到归属网络交换中心MSC
- 归属MSC向归属位置寄存器HLR查询当前被呼叫的移动用户位置,会返回移动站漫游号MSRN(类似转交地址)
- 归宿MSC按照MSRN进行呼叫的第二段,把通信者发起的呼叫从归属MSC传送到被访网络MSC,再传送到该移动用户所漫游的小区基站
移动时会经常更换连接点,网络连接会有短时间中断,对高层协议是有影响的(TCP减小拥塞窗口,网速变慢),如何解决?
- 本地恢复(使用自动请求重传ARQ协议)
- 让TCP发送方知道什么地方使用了无线链路
- 把含有移动用户的端到端TCP连接拆成两个互相串接的TCP连接(分为无线网段、有线网段两部分的TCP连接)
5G应用场景
- 增强移动宽带:3D、VR、AR、工业视觉监控、航空发动机监控[国外成熟]、港口、矿山、工地无人化管理
- 海量连接:应用一种网络切片技术,用软件动态调整,在工业互联网(工业4.0)体现明显
- 1毫秒时延:无人机消防、车联网如实现自动驾驶、远程手术
6G需解决的问题
- 云物边协同计算:算力,云计算>物计算>边缘计算
- 异构连接
6G应用场景
- 沉浸化:沉浸式云XR、全息通信、感官互联
- 智慧化:智慧交互、普惠智能、数字孪生
- 全域化:通信感知、全域覆盖
数据链路层
研究问题
在同一个局域网中,分组在不经过路由器下如何从一个主机传送到另一个主机(直连主机)
链路分类
- 物理链路:从一个结点到相邻结点的一段物理线路(有线或无线),中间无任何交换结点
- 数据链路:又叫逻辑链路。在物理链路基础上,需要一些实现控制数据传输的通信协议的软硬件。这一层我们讲的链路都是数据链路
信道类型
- 点对点信道
- 广播信道
三个基本问题
封装成帧
帧定界:增加首部控制符SOH(0x01)和尾部控制符EOT(0x04)
帧的数据部分的长度上限称为最大传送单元MTU
透明传输
字节(符)填充:为了解决在数据中可能出现的SOH或EOT,在其前添加转义字符ESC(0x1B)
透明:无论什么样的比特组合的数据都能够通过数据链路层
差错检测
为了解决比特差错(0变1,1变0)问题,采用循环冗余检验(CRC)的检错技术。通过以下公式计算帧检验序列FCS(即公式中的R):
M * 2^n = Q * P + R其中M表示要发送的二进制数据,n表示冗余码位数,除数P表示收发双方事先约定的(n+1)位的二进制数,余数R表示n位的冗余码
则最后的输出帧结果为
M * 2^n + R,当接收到的数据能被P整除即R为0,则比特无差错。使用CRC只能说做到对帧的无差错接受,不包括丢弃的帧传输差错分为两大类:比特差错和帧丢失、帧重复或帧失序。为了达到可靠传输,还需增加帧编号、确认和重传机制。通信质量好的传输链路一般不使用确认和重传机制(由运输层TCP纠正差错),反则通信质量差的要使用,这样做可以提高通信效率
误码率BER:一段时间内,传输错误的比特占所传输的比特总数的比率
点对点协议PPP
- 特点
- 封装成帧、透明性、差错检测
- 简单:不需要纠错,不需要序号,不需要流量控制,只做CRC检错
- 在同一条物理链路上同时支持多种网络层协议的运行
- 支持在多种类型的全双工链路上运行
- 检测连接状态
- 支持对每种类型的链路设置MTU
- 提供机制使网络层的实体能够协商知道或配置彼此的网络层地址
- 提供方法协商使用数据压缩算法
- 组成
- 一个将IP数据报封装到串行链路的方法。异步(无奇偶检验的8位比特)传输采用字节填充,同步(面向比特)传输采用零比特填充
- 一个用来建立,配置和测试数据链路连接的链路控制协议LCP
- 一套网络控制协议NCP
载波监听多点接入/碰撞检测协议CSMA/CD
- 除了三个基本问题,共享信道还需考虑如何使众多用户能够合理而方便地共享通信媒体资源?一般有静态划分信道、随机多点接入、受控多点接入3种处理方案
多点接入是动态媒体介入控制的别称
以太网采用随机多点接入的方式
CSMA/CD
原理:为了协调总线上各计算机的工作,遵循"先听后发、边听边发、冲突停止、延迟重发"。下面具体说明:多点接入说明是总线型网络,协议实质是载波监听和碰撞检测。载波监听,即检测信道(用电子技术检测总线上有无其他计算机也在发送),不管是在发送前还是在发送中。发送前检测是为了获得发送权,而发送中检测是为了及时发现有无其他计算机的发送和本计算机发送的碰撞,这就称为碰撞检测,也称冲突检测。若碰撞(发生冲突)则停止发送,等待一段随机时间后再次发送
特点:
封装成帧、透明性、差错检测
遵循"先听后发、边听边发、冲突停止、延迟重发"
只支持在半双工通信链路上运行
设置帧间最小间隔为9.6us:使刚收到数据帧的计算机的接收缓存及时清理,做好接收下一帧的准备
发送的不确定性,即载波监听受传播时延影响,发送数据后一小段时间内存在遭遇碰撞的可能性
强化碰撞:当发生碰撞后,除了停止发送数据,还要继续发送32或48bit的人为干扰信号,通知所有用户现在已发生了碰撞
经过争用期(又叫碰撞窗口,端到端的往返传播时延)未检测到碰撞,并在根据"截断二进制指数退避算法"返回的推迟时间后重发
从
[0,1,...,2^k - 1]取值,乘以争用期作为推迟时间,其中k = min[重传次数, 10],当重传次数不小于16次时则丢帧,向高层报告注意:帧长做最短处理(最短帧长 = 速率 * 往返传播时延),防止发送结束后发送站才检测到发生碰撞
以太网MAC层的硬件地址
- 以太网在局域网市场占据绝对优势,10Mb/s的以太网是总线局域网
- MAC译为媒体介入控制,以太网MAC层就是数据链路层
- 硬件地址,又称物理地址或MAC地址,IEEE802标准为局域网规定的一种48位全球地址,即局域网上的每一台计算机中固化在适配器的ROM中的地址。前三个字节称为公司标识符,后三个字节称为扩展标识符
网络设备的作用与应用
| 作用 | 使用场合 | 所在分层 | |
|---|---|---|---|
| 适配器 | 使计算机与外界局域网连接;标识唯一资源;检查MAC帧的目的地址是否为本站,支持过滤(丢弃) | 网卡;一些适配器支持设置混杂方式,设为该模式后,黑客会窃听其他计算机的通信,而网络维护和管理人员监视和分析流量 | 工作在物理层和数据链路层 |
| 转发器 | 转发 | -- | 以逐比特方式在物理层工作 |
| 集线器 | 提高可靠性,具备自适应串行回波抵消、容错、网络管理等功能;类似一个多接口转发器支持转发 | 两对无屏蔽双绞线UTP可以把两台计算机直接相连构成一个网络,也可以借助RJ-45插头与集线器连接,集线器再与其他计算机连接成网 | 以逐比特方式在物理层工作 |
| 网桥 | 扩展新的以太网,原来的以太网称为网段(LAN之间连接);支持过滤(丢弃)和转发,若是透明网桥则转发还会自学习(源地址不存在则写入;目的地址不存在则转发,存在则可能丢弃或转发);提高可靠性;可互连不同物理层、不同MAC子层和不同速率的以太网 | -- | 以存储转发方式在数据链路层工作 |
| 以太网交换机/第二层交换机 | 本质是多接口网桥,每个接口直接与主机或集线器连接(终端设备之间连接),且是全双工通信,无碰撞传输;同透明网桥支持自学习转发,也是即插即用设备 | 虚拟局域网VLAN(实现跨网跨空间) | 以存储转发方式在数据链路层工作 |
网络层
研究问题
多个网络如何通过路由器互连成为一个互联网(连接网络间的主机)
虚拟互联网络
逻辑互连网络,即通过IP协议将各种异构的物理网络互联起来,使得在网络层上看起来像一个统一的网络,又叫IP网
IP地址
分配给因特网上主机或路由器的唯一32位标识符,其中路由器必须至少有两个不同IP地址(它们的网络号必须不同),因为它至少连接到两个网络,又称多归属主机
IP地址与物理地址的区别
物理地址是数据链路层和物理层使用的地址;IP地址是网络层及以上层使用的逻辑地址
IP地址编址方法
1、分类的IP地址
由网络标识码和主机标识码组成,采用点分十进制记法。分为以下5类地址
网络号 主机号 主机地址范围 A类地址 8位,0开头 24位 [1.0.0.0, 126.255.255.255) B类地址 16位,10开头 16位 [128.1.0.0, 191.255.255.255) C类地址 24位,110开头 8位 [192.0.1.0, 223.255.255.255) D类地址 1110开头 多播地址 (224.0.0.0, 239.255.255.255) E类地址 1111开头 保留 (240.0.0.0, 247.255.255.255) 路由:(目的网络地址, 下一跳地址)
分组转发算法:从目的IP地址D获取目的网络地址N -> 有匹配N则直接交付 -> 有D的特定主机路由则间接交付 -> 有到达N的路由则间接交付 -> 交付默认路由 -> 报告转发分组出错
2、划分子网
解决IP地址空间利用率低、给每个物理网络分配一个网络号使路由表变大导致网络性能变坏、两级IP地址不够灵活3个问题
划分子网可解决上述问题,即增加子网号字段,使两级IP地址变为三级IP地址,又叫子网寻址、子网路由选择。由网络号、子网号、主机号组成。还是32位,只是主机号的位数分一些给子网号
子网掩码
解决路由器转发给子网的问题
子网掩码,即网络号 + 子网号的位数都是1,主机号的位数都是0。无划分子网,则称为默认子网掩码,此时网络号的位数都是1,其余都是0
子网掩码和目的网络地址进行"与"操作,得到子网的网络地址
路由:(目的网络地址, 子网掩码, 下一跳地址)
分组转发算法:目的IP地址D和其直连网络的子网掩码进行与操作,匹配目的网络地址N则直接交付 -> 有D的特定主机路由则间接交付 -> D和路由表的每个子网掩码进行与操作,结果S1与对应的网络地址S2匹配则交付 -> 交付默认路由 -> 报告转发分组出错
3、构成超网
依旧是解决可分配地址不足、主干网路由表项目数急剧增长的问题
无分类编址(正式名称为无分类域间路由选择CIDR)可彻底解决上述问题,消除传统A类、B类、C类地址和划分子网的概念。由网络前缀和主机号组成,还是32位,采用斜线记法,或称为CIDR记法,即在IP地址后加斜杆,带上网络前缀所占位数
CIDR地址块:由最小地址和网络前缀所占位数组成。只要知道当中的一个地址,即可确定一个地址块,如128.14.35.7/20的地址块为128.14.32.0/20
地址掩码:由一串1和一串0组成,而1的个数就是网络前缀的长度
构成超网:通过路由表中的CIDR地址块查找目的网络,称这种地址的聚合为路由聚合,也叫构成超网。超网可以理解为CIDR地址块包含了多个C类地址
路由:(网络前缀, 下一跳地址),网络前缀就是地址块,只是采用的"二进制表示的最小地址*"的写法
*路由表查找算法:通过二叉搜索树(路由表IP地址使用树结构进行存储,从树的根节点开始检查不大于32次)找到匹配的"唯一前缀"(在路由表的所有IP地址中该前缀是唯一的,不一定与网络前缀相同),再通过和叶节点的地址掩码进行与操作,是否与对应的网络前缀匹配。更多细节,如在二叉搜索树中找不到、与叶节点不匹配、匹配的不是最长前缀等,不再介绍
特殊地址
0.X.X.X,表示本网络的某个主机X.X.X,作源地址
0.0.0.0,表示本网络上的本主机,作源地址。可用于当一台主机未被分配IP地址时表示主机本身;或表示目标机器不可用;或用作路由表里的默认路由;或在绑定服务端时可以绑定到0.0.0.0,表示本机上的任意IPv4地址,访问者可以通过多个ip地址访问服务。比如有一台服务器,有外网和内网地址,服务绑定了0.0.0.0,通过内网或外网地址都可以访问,这也说明绑定0.0.0.0有安全隐患,对于只需要内网访问的服务,可以只绑定内网地址
[0-223].0.0.0,表示所属主机的单个网络地址。比如路由表里记录的目的地址是网络地址,而非具体IP地址
127.X.X.X(非全0),用于本地软件环回测试,本主机进程间的通信
127.0.0.1,可用于表示web测试时绑定的内部本机地址localhost;或本地回环测试,通过
ping 127.0.0.1测试机器上的网络设备、操作系统或TCP/IP实现是否工作正常;或DDoS攻击防御,网站受到攻击后,将域名A记录到127.0.0.1,即让攻击者自己攻击自己[0-223].255.255.255,表示对某个网络X上的所有主机进行广播,作目的地址
255.255.255.255,表示只在本网络上广播,作目的地址
路由选择协议
讨论路由表的路由如何得出的问题,核心是路由算法。一个理想的算法是正确完整的、计算简单、随通信量或网络拓扑变化的自适应性(稳健性)和稳定性、公平的、最佳的(相对于某一特定要求下得出的较为合理的选择)
概念
自治系统AS:一个AS对其他AS表现出的是一个单一的和一致的路由选择策略。分几种类型:
- Stub AS:对外只有一个连接,不会传输其他AS包。如个人或小公司网络
- Multihomed AS:可能有多个连接连到其他AS,但是大多拒绝帮其他AS传输包。如大公司网络
- Transit AS:有多个连接连到其他AS,并且可以帮助其他AS传输包。如主干网
路由选择协议分内部路由器协议IGP(自治系统内使用的路由协议,有OSPF、RIP),和外部路由器协议EGP(自治系统间使用的路由协议,有BGP)
路由选择分域内路由选择(自治系统内的路由选择),和域间路由选择(自治系统间的路由选择)
按路由算法是否具有自适应性分
静态路由选择(非自适应路由选择)策略:自己约定,手动配置,路由是不变的
s# 1、根据目的IP地址配置路由 # 访问10.176.48.0/20,从eth0端口出去,经过10.173.32.1 ip route add 10.176.48.0/20 via 10.173.32.1 dev eth0 # 2、根据多个参数配置路由 —— 策略路由 # 建test表 echo 200 test >> /etc/iproute2/rt_tables # 默认从eth3端口出去,经过60.190.27.189,加在路由表table test中 ip route add default via 60.190.27.189 dev eth3 table test # 表示从192.168.1.0/24这个网段来的,使用table test中的路由表 ip rule add from 192.168.1.0/24 table test # 查看当前所有规则 ip rule ls动态路由选择(自适应路由选择)策略:根据路由算法动态生成路由表。常见算法如下,
距离向量路由算法
三个要点:
- 和哪些路由器交换信息?仅和相邻路由器交换信息
- 交换什么信息?信息是自己的路由表,路由表的每一行包含目的信息、下一跳地址、到目的距离
- 在什么时候交换信息?按固定的时间间隔
算法描述:基于Bellman-Ford算法(局部最优/贪婪算法)
- 修改接收的路由信息:距离+1,下一跳地址改为发送的路由器地址
- 检查原路由是否不存在目的网络,若不存在则添加到路由表,否则下一步
- 检查原路由下一跳地址是否为发送的路由器地址,若是则更新距离,否则下一步
- 比较新距离是否比原距离小,若是则替换路由,否则什么都不做
- 3分钟后未收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,距离设置为16
- 返回
缺点:
- 好消息传得快,坏消息传得慢。当网络出现故障如某个路由器挂了时,要经过较长时间(达到距离阈值)才能将此信息传送给所有路由器
- 交换的信息是整个路由表,开销渐增
- 最大距离为15,限制了网络规模,适用于不大于15跳的小型网络
应用协议:属于IGP的路由信息协议RIP,底层使用的是UDP
链路状态路由算法
三个要点:
- 和哪些路由器交换信息?和所有路由器交换信息
- 交换什么信息?与本路由器相邻的所有路由器的链路状态
- 在什么时候交换信息?链路状态变化
算法描述:
- 每隔10秒向邻里路由器交换一次问候分组,确定可达性,若40秒内没收到问候分组则视为邻里不可达
- 交互数据库描述分组,达到数据库同步
- 将变化的链路状态广播到网络的每个路由器(进行链路状态请求、更新、确认分组的发送),修改链路状态数据库,重新计算路由表
- 根据链路信息,基于Dijkstra算法计算最短路径
应用协议:属于IGP的开放式最短路径优先OSPF(Open Shortest Path First),底层直接使用IP,不依赖传输层。为了能用于规模较大的网络,将AS按层次划分区域,适合用于数据中心;允许管理员给每条路由设置不同代价;有时会发现多条相同代价的最短路径(等价路由),将通信量分配给这几条路径,称多路径间的负载均衡
路径向量路由算法
距离向量路由算法的改进版。路由另外包含AS路径信息,避免第一个缺点;区分出eBGP和iBGP。AS间的边界路由器使用eBGP广播,而iBGP将从eBGP获取的路由导入到内部网络,使内部路由器能找到到达外网目的地最好的边界路由器,避免第二个缺点
应用协议:属于EGP的边界网关协议BGP,底层使用的是TCP。寻找一条能到达目的网络且比较好的路由,而非寻找一条最佳路由
路由器
构成 路由选择部分:又称控制部分,负责通过路由交换信息分组,根据路由选择协议构造路由表(只包含目的网络和下一跳地址,便于网络拓扑变化的计算最优化)
分组转发部分:由交换结构(交换组织,有存储器、总线、互连网络三种交换方式)、一组输入端口、一组输出端口三部分组成,负责根据转发表(包含目的网络、输出端口、下一跳MAC地址,便于查找过程最优化)对数据分组进行转发
路由器具备的其他功能
DHCP:为内部接入端动态分配IP地址
NAT:网络地址转换(内网地址与外网地址的互转),替换IP源地址和TCP源端口
与VPN比较:VPN只能在专用内网通信(使用的是只能用作本地地址的专用地址,因特网上的路由器对目的地址是专用地址的数据报一律不转发),而NAT不仅能在专用内网通信,还可与因特网通信
NAT反向应用:当内网的每台接入端安装了P2P软件电驴(不仅是一个发起请求下载数据的客户端,也是一个接受请求向外发送数据的服务器)时,外网想下载数据,使用其中一个的外网地址访问,可实现从多个安装电驴的设备分块下载,而不是仅从一台设备上下载,下载速度急速上升
接入路由器
- 硬件连接:WAN端口连接外部网,LAN端口连接计算机
- 连接路由器调试:本地连接→本地连接属性→Internet选项TCP/IP,对IP地址,子网掩码,默认网关,首选DNS进行设置
- 浏览器输入地址:192.168.1.1,输入账号密码访问路由器配置界面。选择WAN选项,设置宽带上网账号和密码。通过LAN配置选项,设置路由器地址(LAN口的IP地址)和DHCP服务器(动态主机配置协议,自动为接入该网络的主机分配IP,建议启用)
- 其他终端在Internet选项选中"自动获取IP地址"和"自动获取DNS地址",即能实现网内共享
IPv6
解决问题:IP地址耗尽的根本措施
数据报的组成
基本首部 + 有效载荷(选项,可选或N个扩展首部 + 数据部分),其中基本首部共40字节,由8字节的基础字段(版本、通信量类、流标号、有效载荷长度、下一个首部、跳数限制)、128位的源地址、128位的目的地址组成
地址类型:单播、多播、任播
地址表示法
冒分十六进制表示法(844b):68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
0位压缩表示法:FF05::B3
内嵌Ipv4地址表示法:::128.10.2.1
地址空间
采用128位的地址空间,是IPv4长度的4倍。其中一些特殊地址如下,
- 未指明地址::/128
- 环回地址::1/128
- 本地链路单播地址FE80::/10
- 唯一本地单播地址FC::/7
- 基于IPv4的地址::FFFF:0:0/96
- 全球单播地址:2::/3,占1/8份额空间
- 多播地址FF::/8
全球单播地址等级结构
第一级:001 + 45位全球路由选择前缀,分配给公司和机构
第二级:16位子网标识符,用于创建自己的子网
第三级:64位接口标识符,主机或路由器单个的网络接口。可以存储48位mac地址,转换如下,前24位放前24位,并把其中公司标识符第一字节的最低第二位(G/L位)取反,后24位放后24位,中间插入两个字节0xFFFE
从IPv4向IPv6过渡的策略
双协议栈:使主机或路由器有IPv4和IPv6两个协议栈,它们有一个IPv4地址和一个IPv6地址。传送时通过DNS确定目的地址使用哪种地址,途中进入不同地址网络时,数据报的首部需做转换,其中IPv4转IPv6可能某些首部字段无法恢复,如流标号
隧道技术:从IPv6转IPv4,IPv6数据报作为IPv4数据报的数据部分,之后从IPv4转IPv6再提取出来。至于IPv4转IPv6则是无必要的,IPv6向下兼容IPv4
