计算机网络零碎概念
因特网的概述
网络,互联网,因特网
网络是由若干节点和连接这些节点了链路组成
多个网络可以通过互联网连接起来构成一个覆盖范围更大的网络,即互联网
因特网是世界上最大的互联网络
因特网发展的三个阶段
-
从单个网络arpanet向互联网发展
-
逐步形成三级结构的因特网
-
逐步形成多层次ISP结构的因特网
因特网的组成
边缘部分
由所有连接在因特网上的主机构成,这部分由用户直接使用,用来进行同行和资源共享
核心部分
由大量网络和连接这些网络的路由器构成,这部分是为边缘部分提供服务的
三种交换方式
从通信资源的分配角度来看,交换就是按照某种方式动态的交换传输线路的资源
电路交换
电话交换机接通电话线的方式称为电路交换
电路交换的三个步骤: 建立连接 通话 释放连接
分组交换
发送方:构造分组,发送分组
路由器:存储分组,转发分组
接收方:接受分组,还原报文
报文交换
原应用发送信息整体,比如一个文件
报文交换最典型的是发电报
优缺点
电路交换:缺点
分组交换 :优点
无需使用连接
线路利用率高
简化了存储管理
加速传输
减少出错概率和重发数据量
计算机网络的定义和分类
计算机网络的定义
计算机网络最简单的定义:一些相互连接的,自治的计算机的集合
互连 : 是值计算机之间可以通过有线或无线的方式进行数据通信
自治 : 是指独立的计算机有自己的软件和硬件,可以单独运行使用
集合 : 至少要有两台计算机
计算机网络较好的建议 : 计算机网络由一些通用的,可编程的硬件互联而成,而这些硬件并非专门用来实现某一特定目的.哪些可编程的硬件,能够传输不同类型的数据,并且能支撑广泛的和日益增长的应用
计算机网络的分类
按照技术分类 : 电路交换网络 ,报文交换网络,分组交换网络
按使用者分:公用网,专用网
按传输介质分:有线网络,无线网络
按覆盖范围分:广域网WAN,城域网MAN,局域网LAN,个域网PAN
按拓扑结构分:总线型网络,星型网络,环形网络,网状型结构
计算机网络的性能指标
比特 : 计算机中的数据单位,也是信息论中的信息单位,一个比特就是二进制中的一个1或0
8 bit = 1 Byte
速率 : 连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率
带宽在模拟信号系统中的意义 : 信号所包含的各种不同频率成分所占据的频率范围
带宽在计算机网络中的意义 : 用来表示网络的通信线路所能传送数据的能力,因此带宽表示在单位时间从网络中一点要另一点所能通过的最高数据率.
一条通信线路的频带宽度越宽其传输数据的最高数据率也越高
吞吐量 : 吞吐量表示在单位时间内通过某个网络(或信道,接口)的数据量
吞吐量被经常用于对现实世界中网络的一种测量,以便知道实际上到底有多少数据量能通过网络
吞吐量受网络的带宽或额定速率影响
网络时延 : 发送时延 (分组长度/发送速率) + 传播时延(信道长度/电磁波传播速率 ) + 处理时延
时延带宽积 : 传播时延 * 带宽
若发送端连续发送数据,则在所发送的第一个比特到达终点时,发送端就已经发送了时延带宽积个比特
链路上的时延带宽积又称以比特为单位的链路长度
往返时间 : 在许多情况下,因特网上的数据为双向交互:
我们有时很需要双向交互一次所需的时间
往返时间RTT也是一个重要的性能指标
利用率 : 包括信道利用率(用来表示某信道有百分之几的时间是被利用的 --> 有数据通过)和网络利用率(全网络的信道利用率加权平均)
根据排队论,某信道利用率增大时,该信道引起的时延也会迅速增大
当网络的利用率达到百分之五十的时候,时延加倍.当利用率超过百分之五十的时候,时延急剧增大;当利用率接近百分之百时,时延趋于无限大.
当信道利用率低会倒致通信资源被白白浪费
丢包率 : 即分组丢失率,指在一定时间范围内,传输过程中丢失的分组数量与总分组数量的比率
分组丢失的主要两种情况 : 1. 分组在传输过程中出现误码,被结点丢弃.2. 分组在到达一台队列已满的分组交换机时被丢弃,在通信量较大时就可能造成网络堵塞.
计算机网络分层结构
报文(message):报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。报文在传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头。 报文段(Segment):通常是指起始点和目的地都是传输层的信息单元。 数据报(Datagram):面向无连接的数据传输,其工作过程类似于报文交换。采用数据报方式传输时,被传输的分组称为数据报。 有的书为了把OSI中的传输层里的TCP和UDP区别开来,将上层传下来的数据(也叫数据流)进行分段。用TCP的就叫报文段,用UDP的就叫用户数据报,亦可称它们为数据段 数据包(Packet):又称分组,是在分组交换网络中传输的格式化数据单元。一个数据包分成两个部分,它包括控制信息,也就是表头数据,和数据本身,也就是负载。它的起始和目的地是网络层。 帧(Frame):帧是数据链路层的传输单元。它将上层传入的数据添加一个头部和尾部,组成了帧。它的起始点和目的点都是数据链路层。 bit流(bit):物理层的数据传输单元。 数据单元(data unit):指许多信息单元。常用的数据单元有服务数据单元(SDU)、协议数据单元(PDU)。SDU是在同一机器上的两层之间传送信息。PDU是发送机器上每层的信息发送到接收机器上的相应层(同等层间交流用的)。 ———————————————— 版权声明:本文为CSDN博主「Mountain Q」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qck15570179927/article/details/105171553/
常见的计算机网络体系结构
OSI体系结构 : 1.物理层 2.数据链路层 3. 网络层 4. 运输层 5. 会话层 6.表示层 7.应用层 (法律的国际标准)
TCP/IP体系结构 : 1.网络接口层 2.国际层 3. 运输层 4.应用层 (事实的国际标准)
计算机网络体系结构分层的必要性 :
采用怎样的传输介质,采用怎样的物理接口,使用怎样的信号表示比特0和1
原理体系结构 :
-
物理层 : 解决使用何种信号传输比特的问题
光信号,电信号,无线电
-
数据链路层 : 解决分组在一个网络(或一段链路)上传输的问题
为何说是解决在一个网络上传输问题?
主要设备是交换机:
连接多个以太网物理段,隔离冲突域
对以太网帧进行高速而透明的交换转发
自行学习和维护MAC地址信息
什么是MAC地址?
MAC 地址是制造商为网络硬件(如无线网卡或以太网网卡)分配的唯一代码。MAC 代表媒体访问控制,每个代码对应一个唯一的设备。
MAC 地址由六组两位字符组成,由冒号分隔。比如00:1B:44:11:3A:B7,就是一个 MAC 地址。
特点:
主要工作在OSI模型的物理层、数据链路层
提供以太网间的透明桥接和交换
依据链路层的MAC地址,将以太网数据帧在端口间进行转发
-
网络层 : 解决分组在多个网络上传输的问题
如何理解?
什么是路由器?
又称路径器,是工作在IP层上,可以连接不同的网络,能够选择数据传送路径并对数据进行转发的网络设备,属于第三层转接设备。被连接的两个IP子网在物理上既可能是局域网,也可能是广域网,他们具有不同的IP网络号,不能直接通信,需经过路由器进行转接。
由路由器实现数据最优路径的选取和传输
-
传输层 :解决进程基于网络的通信问题
如何理解?
提供应用进程之间的通信.多个应用程序却能精确和对应服务器通信,客户机和服务器连接时会分配一个端口号,是识别进程的唯一标志
复用和分用.复用是指不同应用进程可使用同一个传输层协议传输数据,分用则是指接收方的传输层在剥去报文首部以后可以将数据发送到对应的进程。
差错检测
提供TCP和UDP两种协议 面向连接和无连接服务
TCP 和 UDP 特点
UDP 的特点是无连接的特点:更快,不可靠,首部开销小,没有拥塞控制
TCP 的特点是有连接的特点:可靠,允许全双工,面向字节流
-
应用层 : 解决通过应用进程的交互来实现特定网络应用的问题
如何理解?
传输层报文段数据部分是应用层交付的
应用层有很多协议,每一种协议对应一种计算机中需要网络的服务
DNS是什么?
DNS将域名解析为IP.IP和域名为多对多的关系,一个 IP 可以被多个域名指向(购买的虚拟主机) 一个域名下也可以有多个 IP(负载均衡)
域名结构
域名是全球唯一的,每次申请域名,都会在域名服务器上查询是否存在
。所有域名都是以“ . ”开始的。
二级域名,个人可以在顶级域名下申请
三级域名无需征得顶级域名同意
域名服务器
● 根域名服务器:最高层次的域名服务器,根域名服务器知道所有顶级域名服务器的域名和IP地址。任何一个本地域名服务器要对互联网上的任何域名进行解析,只要自己无法解析,就会首先求助于根域名服务器。 ● 顶级域名服务器:管理在该顶级域名服务器下注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步需要去找的域名服务器的IP地址)。 ● 权限域名服务器(权威域名服务器):负责一个区的域名服务器。当一个权威域名服务器不能给出最终的查询结果时,就会告诉发出请求方,下一步应该去找哪一个权威域名服务器。 ● 本地域名服务器(递归服务器):主机发出 DNS 查询请求时,该请求首先会发给本地域名服务器。
虽然理论上说解析域名需要一层一层服务器进行解析指引,但服务商的缓存域名服务器上可能已经有了域名与 IP 映射的缓存
TLS/SSL的实现:
实现依赖于三个算法,散列函数Hash,非对称加密,对称加密。先利用非对称算法实现身份认证和密钥协商,再通过对称加密算法用协商好的密钥对数据加密,最后基于散列函数验证信息的完整性
非对称加密:
客户端共享公钥,服务器掌握私钥和公钥,客户端信息只能服务器解密,客户端向服务器发送唯一信息唯一信息是什么?
对称加密:
服务器和客户端共享相同密钥对信息进行加密解密,不同客户端密钥不同,服务器维护多个密钥,密钥协商是安全基础这样为什么就对称了?
大概是因为使用了相同的密钥吧
散列算法:
函数不可逆,对输入敏感,输出长度固定函数不可逆代表了什么?
web页面的请求功能:
专业术语
实体 : 任何可接收或发送信息的硬件或软件进程
对等实体 : 接受双方相同层次中的实体
协议 : 控制两个对等实体进行逻辑通信的规则的集合
应用层(HTTP,SMTP),运输层协议(TCP,UDP),网络层(IP),链路层(传统以太网CSMA/CD),物理层(传统以太网使用曼彻斯特编码)
协议的三要素 :
语法 : 定义所交换信息的格式
语义 : 定义收发双方所要完成的操作
同步 : 定义收发双方的时序关系
服务 : 在协议的控制下,两个对等实体的逻辑通信使得本层能够向上一层提供服务
要实现本层协议,还需要使用下一层所提供的服务
协议是水平的,服务是垂直的
实体看得见相邻下层的服务,但并不知道实现该层服务的具体协议.也就是说,下面的协议对上面的实体是透明的
服务访问点 : 在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型
数据链路层的服务访问点为帧的类型字段
网络层的服务访问点为IP数据报首部中的协议字段
运输网络层的服务访问节点为"端口号"
服务原语 : 上层使用下层服务必须通过与下层交换一些命令,这些命令称为服务原语
协议数据单元PDU : 对等层次之间传送的数据包称为该层的协议数据单元
服务数据单元SDU : 同一系统内,层与层之间交换的数据包称为服务数据单元
多个SDU可以合成一个PDU;一个SDU也可以划分为几个PDU
物理层
物理层的基本概念
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流
物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务而不用考虑网络具体传输媒体是什么
传输媒体
引导型传输媒体 : 双绞线,同轴电缆,光纤
非引导型传输媒体 : 微波通信
物理层协议的主要任务
机械特性 : 指明接口所用接线器的形状和尺寸,引脚数目和排列,固定和锁定装置
电气特性 : 指明在接口电缆上各条线上出现的电压范围
功能特性 : 指明某条线上出现某一电压表示何种意义
过程特性 : 指明对于不同功能的各种可能事件的出现顺序
物理层下面的传输媒体
引导型传输媒体 : 光纤,双绞线,同轴电缆,电力线
非引导型传输媒体 : 无线电波,微波,红外线,可见光
传输方式
并行传输 : 笔记本内部的传输(CPU到内存) --> 常见的数据总线宽度有8位,16位,32位,64位
串行传输 : 笔记本之间的远距离传输
同步传输 : 收发双方时钟同步的方法 外同步(在收发双方之间添加一条单独的时钟信号线) 内同步(发送端将时钟同步信号编码到发送数据中一起传输)
异步传输 : 字节之间的时间间隔不固定.字节中每个比特仍然要同步
单向通信(单工)
双向交替通信(半双工)
双向同时通信(全双工)
编码与调制
(传送消息的实体)
消息 -----> 数据 ----> 信号 -----> 基带信号
码元 : 在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形
信道极限容量
失真原因
码元传播速率
信号传输距离
噪声干扰
传输媒体质量
奈氏准则
在假想的理想条件下,为了避免码间串扰,码元传输速率是有上限的
码元传输速率 : 波特率,调制速率,波形速率或符号速率.
当一个码元只携带一比特的信息量时,波特率和比特率在数值上是相等的;
当一个码元携带n个比特的信息量时,则波特率转换成比特率时要乘以n
要提高信息传递速率,就必须设法使一个码元能携带更多比特的信息量,则需要采用多元制
实际上的信道所能传输的最高码元速率,要明显低于奈式准则给出这个上限数值
采用四个相位四种振幅的QAM调制技术,可以调制出 4 * 4 = 16个不同的基本波形(码元);
采用二进制对这六个不同的码元进行编码,需要使用四个比特,也就是说,每个码元可以携带的信息量为四比特
数据链路层
数据链路层的概述
链路(link) : 就是从一个节点到相邻节点的一段物理线路,而中间没有后任何其他的交换节点
数据链路(data link ) : 是指把通信协议的硬件和软件加到链路上,就构成了数据链路
数据链路是以帧为单位传输和处理数据的
数据链路层的三个重要问题 :
封装成帧 : 加帧头帧尾封装成帧
差错检测 : 根据帧尾的检测码检测帧中是否有误码
可靠传输 : 尽管误码是不能完全避免的,当若能实现发送方发送什么,接收方就能收到什么,就称为可靠传输
封装成帧 :
封装成帧是指数据链路层给上层交付的协议数据单元添加帧头帧尾使之成为帧
帧头和帧尾包含有重要的控制信息/
帧头和帧尾的作用之一就是帧定界
透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样
面向字节的物理链路使用字节填充(或字符填充)的方法实现透明传输
面向比特的物理链路使用比特填充的方法实现透明传输
为了提高帧的传输效率,应当使帧的数据部分的长度尽可能大些
考虑到控制差错等多种因素,每一种数据链路层协议都规定了帧数据部分的长度上限,即最大传送单元MTU
差错检测 :
在一段时间中,传输错误的比特占所传输比特总数的比率称为误码率BER
使用差错检测码来检测传输过程中是否产生了比特差错
奇偶校验 :
在待发送的数据后面添加一位奇偶校验位,使整个数据(包括所添加的校验位)中的"1"的个数为基数或偶数
如果有奇数个位发生误码,则奇偶性发生变化,可以检测出误码
如果有偶数个位发生误码,则奇偶性不发生变化,不能检测出误码
循环冗余校验
收发双方约定好一个生成多项式
发送方基于待发送的数据和生成多项式的计算结果计算出差错检测码(冗余码),将其添加到待传输的数据后一起传输;
接受方通过生成多项式来计算受到的数据是否发生了乱码
可靠传输:
一般来说,有线电路的误码率较低,一般不要求数据链路层向上提供可靠传输
无线电路易受干扰,要求数据链路层必须向上层提供可靠的传输服务
比特差错只是传输差错中的一种
从整个计算机网络体系来看,传输差错包括 : 分组丢失,分组失序,分组重复
组丢失,分组失序,分组重复一般不会出现在数据链路层而会出现在其上层
其他各层均可选择实现可靠传输
可靠传输的实现机制----停止-等待协议SW
接收端检测到数据分组有误时,将其丢弃并等待发送方的超时重传.但对于误码率比较高的点对点链路,为使对方尽早重传,也可以给对方发送NAK分组
为了让接收方能够判断接收到的数据分组是否重复,需要给数据分组编号,由于等待停止协议的特性,只需要一个比特就够了,即编号0和1.
为了让发送方能够判断受到的ACK分组是否重复,需要给ACK分组编号,所用比特数量与数据分组编号所用比特数量一样.数据链路层一般不会出现ACK分组迟到的现象,因此数据链路层实现停止等待协议可以不用给ACK进行分组
超时计时器设置的重传时间应 略大于从发送方到接收方的平均往返时间
在数据链路层点对点的往返时间比较确定,重传时间比较好设定
然而在运输层,由于端到端往返时间非常不确定,设置合适的重传时间并不容易
回退n帧协议GBN
发送方
发送方可在未接收到接收方确认分组的情况下,将序号落在发送窗口内的多个数据分组全部发送出去
发送方自由在接收到已发送数据分组的确认时,发送窗口才能向前相应滑动
发送方受到多个重复确认时,可在重传计时器超时前尽早重发
发送方发送窗口内某个已发送的数据分组产生超时重发时,其后续在发送窗口内且已发送的数据分组也必须全部重传,这就是回退n帧协议名称的由来
选择重传协议SR
发送方
发送方可在未接收到接收方确认分组的情况下,将序号落在发送窗口内的多个数据分组全部发送出去
若收到未按序到达的确认分组时,对其进行记录,以防止其相应数据分组的超时重发,但发送窗口不能向前滑动
接收方
为了使发送方仅重传出现差错的分组,接收方不能再采用累积确认,而需要对每个正确接收到的数据分组进行逐一确认
媒体接入控制技术
随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术
静态划分信道
信道复用 :
复用是通信技术中的一个重要概念。复用就是通过一条物理线路同时传输多路用户的信号。
当网络媒体的通信容量大于多条单一信道传输的总通信量时,可以利用复用技术在单一物理线路上建立多条通信信道来充分利用传输媒体的带宽
频分复用FDM, 时分复用TDM, 波分复用WDM, 码分复用CDM
动态接入控制
在无线局域网中,不能使用碰撞检测CD,原因如下:
由于无线信道的传输条件特殊,其信号的动态范围非常大,无线网卡接收到的信号,会远远小于发送信号的强度,如果在无线网卡上实现碰撞检测CD,对硬件的要求非常高
即使能在硬件上实现无线局域网的碰撞检测功能,由于无线电波的特殊性(存在隐蔽站问题),进行碰撞检测的意义也不大
CSMA是指载波监听多址接入,并不使用确认机制.属于争用型的媒体接入控制协议,连接在同一媒体上的多个站点使用该协议以竞争方式发送数据帧,可能出现冲突.
CSMA/CD是指载波监听多址接入/碰撞检测,是对CSMA的改进,是早期共享信道以以太网使用的信道访问控制协议,并不使用确认机制
CSMA/CA是指载波监听多址接入/碰撞避免,是802.11局域网采用的无线信道访问控制协议.802.11局域网在使用CSMA/CA的同时,还使用停止-等待协议.这是因为无线信道的通信质量远不如有线信道,因此无线站点每发送一个数据帧后,要等到对方收到确认帧后才能继续发送下一帧
CDMA是指码分多址,属于静态划分信道,是物理层的信道复用技术,而不属于MAC协议
MAC地址,IP地址,以及ARP协议
MAC地址
当多个主机连接在同一个广播信道上,要实现两个主机之间的通信,则每个主机必须要有唯一标识,即一个数据链路层地址;
在每个主机发送的帧中必须携带标识发送主机和接收主机的地址,由于这类地址是用于媒体接入控制MAC,因此这类地址称为MAC地址;
MAC地址一般被固化在网卡(网络适配器)的电可擦可编程只读储存器EEPROM中,因此MAC地址也称为硬件地址
MAC地址有时也被称为物理地址,这不意为着MAC为物理层
一般来说,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡),无线局域网适配器(无线网卡).每个网络适配器都有全球唯一一个MAC地址.而交换机和路由器往往有更多的网络接口,所以有更多的MAC地址
IP地址
IP地址是因特网上的主机和路由器使用的地址,用于标识两部分信息
网络编号 : 标识因特网上数以百万计的网络
主机编号 : 标识同一网络上不同主机
很显然,之前介绍的MAC地址不具有区分不同网络的能力
如果只是一个单独的网络,不接入因特网,可以只用MAC地址
如果主机所在网络要接入因特网,则IP地址和MAC地址都需要使用
数据包转发过程中,IP地址与MAC地址的变化情况
源IP地址和目的IP地址保持不变
源MAC地址和目的MAC地址逐个链路改变
地址解析协议ARP
地址解析协议,即ARP(Address Resolution Protocol),是根据
集线器和交换机
使用双绞线和集线器HUB的星型以太网
使用集线器的以太网逻辑上仍然是一个总线型,各站共享总线资源,使用的还是CSMA/CD协议
集线器只工作在物理层,它的每个接口仅简单的转发比特,并不进行碰撞检测
集线器一般都有少量的容错能力和网络管理功能,例如,若网络中某个网卡出了故障,不停的发送帧,集线器可以监测出这个问题,在内部断开与故障网卡的连线,使整个以太网仍然
以太网交换机
以太网交换机通常有多个接口,每个接口都可以直接与一台主机和一个以太网交换机相连,一般都工作在全双工方式
以太网交换机具有并行性,能同时连通多对接口,使多对主机同时通信,无碰撞
以太网一般具有多种速率的接口
以太网交换机工作在数据链路层(也包括物理层),它收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接号口,然后通过接口转发帧
以太网交换机是一种即插即用的设备,其内部的帧交换表是通过自学算法自动地逐渐建立起来的
帧的两种转发方式 : 1.存储转发 2. 直通交换:采用基于硬件的交换矩阵
集线器HUB
早期的以太网互联设备
工作在OSI体系结构的物理层
对接收到的信号进行放大,转发
使用集线器作为互联设备的以太网仍属于共享总线式以太网,集线器互连起来的所有主机共享主线宽带,属于同一个碰撞域和广播域
交换机SWITCH
目前以太网中使用最广泛的互联设备
工作在OSI数据链路层(也包括物理层)
根据MAC地址对帧进行转发
使用交换机作为互联设备的以太网,称为交换式以太网.交换机可以根据MAC地址过滤帧,即隔离碰撞域
交换机每一个接口是一个独立的碰撞域
交换机隔离碰撞域但是不隔离广播域
PDU协议数据单元,它是计算机网络体系中对等实体间逻辑通信的对象
以太网交换机的生成树协议STP
以太网交换机使用生成树协议STP,可以在增加冗余链路来提高网络的可靠性的同时又避免网络环路带来的各种问题
不论交换机采用怎样的物理连接,交换机都能自动计算出一个逻辑上没有环路的网络,其逻辑拓扑结构都必须是树形的
最终生成的树型逻辑拓扑要保证联通整个网络
当首次连接交换机或网络物理拓扑发生变化时,交换机都将进行生成树的重新计算
虚拟局域网VLAN
虚拟局域网是一种将局域网内的设备划分成物理位置无关的逻辑组技术,这些逻辑组具有某些共同的需求
802.1Q帧是由交换机来处理的,而不是用户主机来处理的
当交换机收到普通的以太网时,会将其插入四字节的VLAN标记转变为802.1Q帧,简称打标签
当交换机转发802.1Q帧时,可能会删除其四字节的VLAN标记转变成普通以太网帧,简称去标记.
交换机的端口类型
Acess
连接用户计算机
只能属于一个VLAN
PVID于端口所属的VLAN的ID相同,默认值为1
接受处理方式:一般只接受普通以太网帧,并给其打标签
发送处理方式 : 若帧中VLAN等于端口PVID,则去掉标签并转发,否则丢弃
Trunk
交换机之间或交换机与路由器之间的连接
可以属于多个VLAN
用户可以设置PVID,默认值为1
接受处理方式 : 1. 接受已打标签,2.接受未打标签,根据端口PVID值给帧打标签
发送处理方法 : 1.帧中VID等于端口PVID,去掉标签再转发 2.帧中VID不等于PVID,直接转发
Hybrid
交换机之间或交换机与路由器之间的连接,交换机与计算机之间的连接
可以属于多个VLAN
用户可以设置多个PVID,默认为1
接收处理方法 : 1. 接受已打标签,2.接受未打标签,根据端口PVID值给帧打标签
发送处理方法 : 查看数据帧中VID是否在端口的去标签列表中,如果 1.存在,则去掉标签再转发. 2.如果不存在直接转发
点对点协议PPP
点对点协议(Point to Point Protocol,PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议。在 TCP-IP 协议集中它是一种用来同步调制连接的[数据链路层协议]([OSI]模式中的第二层),替代了原来非标准的第二层协议,即 SLIP
网络层
网络层概述
网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输
实现网络层任务,需解决以下问题:
网络层向运输层提供怎样的服务
网络层寻址问题
路由器选择问题
因特网是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈
由于TCP/IP协议栈的网络层使用的网际协议IP,它是整个协议栈的核心协议,因此TCP/IP协议栈中网络层称为网际层
网络层提供的两种服务
无连接的数据报服务
可靠通信应当由用户主机来实现
不需要建立网络层连接
每个分组可走不同的路径
每个分组的首部必须携带目的主机的完整地址
这种通信方式所传送的分组可能出现误码,丢失,重复和失序
由于网络本身不提供端到端的可靠传输服务,这就使网络中的路由器可以做的比较简单,而且价格低廉
因特网采用这种思路,也就是将复杂的网络处理功能置于因特网的边缘,而将相对简单的尽最大努力的分组功能置于因特网核心
IPv4地址概述
IPv4地址就是给因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范畴内是唯一的32比特的标识符
分类编址[1981]--->划分子网[1985]--->五分类编址[1993]
分类编址的IPv4
地址0.0.0.0是一个特殊的IPv4地址,只能作为源地址,表示在本网络的本主机
以127开口,且后面三个字节非"全0"或"全1"的IP地址是一类特殊的IPv4地址,既可以作为源地址使用,也可以作为目的地址使用,用于本地软件环回测试
地址255.255.255.255是一类特殊的IPv4地址,只能作为目的地址使用,表示只在本网络上进行广播
划分子网的IPv4地址
32比特子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号
子网掩码使用连续的比特1来对应网络号和子网号
子网掩码使用连续的比特0来对应主机号
将划分子网的IPv4地址和其对应的子网掩码进行逻辑运算就可得到IPv4地址所在子网的网络地址
给定一个分类的IP地址和其对应的子网掩码,就可以知道子网划分细节
划分子网数量
每个子网可分配的IP地址数量
每个子网的网络地址和广播地址
每个子网可分配的最小最大地址
默认的子网掩码是在未划分子网的情况下使用的子网掩码
A类 : 255.0.0.0 B类 : 255.255.0.0 C类 : 255.255.255.0
无分类编址的IPv4地址CIDR
CIDR使用斜线记法,或称CIDR记法,在IPv4地址后面加上斜线"/",在斜线后面写上网络前缀所占的比特数量
CIDR实际上是将网络前缀都相同的连续IP地址组成一个CIDR地址块
我们只需知道CIDR地址块中和任意一个地址,就可以知道该地址的全部细节
路由聚合的方法是找共同前缀
网络前缀越长,地址块越小,路由越具体
路由器查表转发分组时发现有多条路由可选,则选择网络前缀较长的那条,则称为最长前缀匹配,因为这样的路由更具体
IPv4地址的应用规划
定长的子网掩码FLSM
使用同一个子网掩码来划分子网
子网划分方式不灵活 : 只能划分出2^n个子网(n是从主机号部分借用的用来作为子网号的比特数量)
每个子网所分配的IP地址数量相同,容易造成IP地址的浪费
变长的子网掩码VLSM
使用不同的子网掩码来划分子网
子网划分方式灵活,可以按需分配
每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费
静态路由配置和其可能出现的路由环路问题
静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表
这种人工配置方式简单,开销小,当不能及时适应网路状态(流量,拓扑等)的变化
一般只在小规模网络采用
使用静态路由配置可能出现以下情况倒致路由环路
配置错误
聚合了不存在的网络
网络故障
路由条目的类型
直连网络
静态路由
动态路由
特殊的静态路由
默认路由(目的网络为0.0.0.0,地址掩码为0.0.0.0)
特定主机路由(目的网络为特定主机IP地址,地址掩码为255.255.255.255)
黑洞路由(一下跳为null0)
路由选择协议
路由选择协议的概述
静态路由配置
:如上
动态路由配置
路由通过路由协议自动获取路由值
比较复杂,开销比较大,能较好的适应网络状态的变化
适用于大型网络
路由信息协议RIP的基本工作原理
是内部网关协议IGP中最先得到广泛使用的协议之一
RIP要求自治系统AS内每一个路由器都要维护从自己到AS内其他每一个网络的距离记录,这是一组距离,称为距离向量
RIP使用跳数作为度量来衡量到达目的网络的距离
RIP认为的好路由就是距离短的路由,也就是所通过路由器数量少的路由
当达到同一个目的的网络有多条"距离相等"的路由,可以进行等价负载均衡
RIP包含以下三个要点
和谁交换 : 仅和相邻路由交换
交换什么 : 自己的路由表
何时交换信息 : 周期性交换
RIP的基本工作原理
路由器刚开始工作的时候只知道自己的直连网络为1
每个路由器仅和相邻路由器周期性交换并更新自己的路由信息
若干次交换和更新后,每个路由器都知道到达各网络的最短距离和下一跳地址,称为收敛
RIP存在坏消息传得慢的问题
坏消息传得慢又称路由环路或距离无穷计数问题,这是距离向量算法的一个固有问题
处理方法 :
限制最大路径为15(16代表不可达)
当路由表发生变化时就立刻发送更新报文
让路由器记录收到某特定路由信息的接口,而不让同一信息再通过此接口反方向传送(水平分割)
最短开放路径优先OSPF的基本工作原理
OSPF是基于链路状态的,而不是像RIP那样基于向量
OSPF采用SPF算法计算路由,从算法上保证了不会产生路由环路
OSPF不限制网络规模,更新效率高,收敛效率快
链路状态是指本路由器和哪些路由器相邻,以及相应链路"代价"
代价是指表示费用,距离,时延,带宽,等等,都由网络管理人员来决定
使用OSPF的每个路由器都会产生链路状态通告LSA
LSA
直连网络的链路状态信息
邻居路由器的链路状态信息
LSA被封装在链路状态更新分组LSU中,采用洪泛法发送
使用OSPF和每个路由器都有一个链路状态数据库LSDB,用于储存LSA
通过各路各路由器洪泛发送封装有LSA的LSU分组,各路由器的LSDB最终达到以一致
使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建出各自达到其他路由器的最短路径,即构建各自的路由表
OSPF的五种分组类型 :
问候分组
数据库描述分组
链路状态请求分组
链路状态更新分组
OSPF多点接入网络中路由器邻居关系的建立
选举指定路由器DR和备用路由器BDR
所有的非DR/BDR只与DR/BDR建立邻居关系
非DR/BDR通告DR/BDR交换信息
为了使OSPF能够用于规模更大的网络,OSPF把一个自治系统再划分为若干个更小的范围,叫做区域
划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个自治系统,这就减少了整个网络的通信量
边界网关协议BGP的基本工作原理
外部网关协议EGP
在不同的自治系统内,度量路由的代价(距离,宽度,费用等)可能不同,因此对于自治系统之间的路由选择使用代价作为度量寻找最佳路由是不行的
自治系统之间的路由必须考虑相关的策略(政治,经济,安全)
BGP只能是力求寻找一条能够到达目的网络比较好的路由,而不是最佳路由
在配置BGP时,每个自治系统的管理员要至少选择一个路由器作为该自治系统的BGP代理人
不同自治系统的BGP发言人要交换路由信息,首先必须建立TCP连接,端口号为179
在此TCP连接上交换BGP报文以建立BGP会话
利用BGP会话,交房路由信息(增加新的路由,撤销过时的路由,以及报告出错的情况)
使用TCP连接交换路由信息的两个BGP发言人,彼此称对方为临站
BGP发言人除了运行BGP外,还必须运行自己所在自治系统所使用的内部网关协议IGP,例如OSPF或RIP
BGP发言人交换网络可达性的信息
当BGP发言人交换了网络可达信息,个BGP发言人就根据所采用的策略从收到的路由信息中找到到达各自自治系统的较好路由,也就是构造出树形结构,不存在回路的自治系统连通图
BGP适用于多级结构的因特网
BGP有以下四种报文
OPEN(打开)报文 : 用来与相邻的另一个BGP发言人建立关系,使通信初始化
UPDATE(更新) : 用来通告某一路由的信息,以及列出要撤销的多条信息
KEEPALIVE(保活)报文 : 用来周期性地证实临站的连通性
NOTIFICATION(通知)报文 : 用来发送检测到的错误
IP数据报首部格式
版本 占4比特,表示IP协议的版本,通信双方使用的版本必须一致,目前广泛的协议号版本为4
首部长度 : 占4比特,表示IP数据报首部的长度,该字段的取值以4字节为单位.//最小十进制取值为5,表示IP数据报首部只有20字节固定部分;最大十进制取值为15,表示IP数据报首部为包含20字节固定部分和40字节可变部分
可选字段 : 长度从1个字节到40个字节不等,用来支持排错,测量及安全等措施//可选字段增强了IP数据报的功能,但这同时也使得IP数据报的首部长度变成可变的.这就增加了每一个路由器处理IP数据报的开销,实际上可选字段很少使用
填充字段 : 确保首部长度为4字节的整数倍,使用全0来进行补充
填充服务 : 占8比特,用来获得更好的服务
总长度 : 占16比特,表示IP数据报的总长度,最大十进制的65535,以字节为单位
标识,占16比特,表示同一个数据报的各分片数据报应该具有相同的标识,IP软件维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识符
标志 : 占3比特,各比特含义如下 : DF位---->1表示不允许分片,0表示允许分片 ;MF位------->1表示后面还有分片,0表示这是最后一个分片;保留位 : 必须为0
片偏移 : 占13比特,指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少个单位,片偏移以8个字节为单位
生存时间 TTL 占8比特,表示IP数据报的生存时间.//最初以秒为单位,最大生存周期为255秒;路由器转发IP数据报时,将IP数据报首部的该字段的值减去IP数据报在本路由器上耗费的时间,如果不为0就转发,否则就丢弃;现在以跳数为单位,路由器转发IP数据报时,将IP数据报首部中的该字段减1,若不为0就转发
IP数据报每经过一个路由器,路由器就要重新计算首部检验和,因为某些字段的取值可能会发生变化
协议 : 占8比特,指明IP数据报的数据部分是何种协议的数据单元,常用的一些协议和相应的协议字段 ICMP --> 1 IGMP---->2
首部检验和 : 占16比特,用来检验首部在传输过程中是否出现差错,比CRC检验码要简单,称为 : 因特网检验和;由于IP层本身并不提供可靠传输服务,并且计算首部和是一项比较耗时的操作,因此在IPv6中,路由器不再计算首部校验和
源IP地址和目的地址各占32比特,用来填发该IP数据报的源主机IP地址和接收该IP数据报的目的主机IP地址
国际控制报文协议ICMP
为了更有效的转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP
主机或路由器使用ICMP来发送差错报告报文和询问报文
ICMP报文被封装在IP数据报中发送
ICMP差错报告报文包括以下五种
终点不可达
源点抑制
时间超过
参数问题
改变路由
以下情况不应该发送ICMP差错报文
对ICMP差错报告报文不应该再发送ICMP差错报文
对第一个分片的数据报片的所有后续数据报文都不发送ICMP差错数据报文
对具有多播地址的数据报片的数据报都不发送ICMP差错报文
对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报都不发送ICMP差错数据报文
常用的ICMP询问报文有以下两种
回送请求和回答
时间戳请求和回答
ICMP应用:
分组间探测PING
跟踪路由traceroute
虚拟专用网络VPN与网络地址转换NAT
虚拟专用网络VPN
利用公用的因特网作为本机构各专用网之间的信息载体,这样的专用网又称为虚拟专用网
同一个机构内不同的部门的内部网络所构成的虚拟专用网VPN又称为内联网VPN
VPN要保证数据传输的安全性,会将原始的内部数据进行加密,然后将其封装成在互联网上传输的外部数据报
有时一个机构的VPN需要某些外部机构参与进来,这样的VPN称为外联网VPN
在外地工作的员工需要访问公司内部的专用网络时,只要在任何地方接入互联网,运行驻留在员工PC中的VPN软件,在员工的PC和公司的主机之间建立VPN隧道,即可访问专用网络中的资源,这种VPN称为远程接入VPN
网络地址转换NAR
由于IP地址的紧缺,一个机构能够申请到的IP数量远远小于本机构所拥有的主机数量,因此,虚拟专用网中的各主机所分配到的地址,应该是本机构可自由分配的专用地址
NAT能使大量使用内部专用地址的专用网络用户共享少量外部全球地址,来访问因特网上的主机和资源
由于绝大多数的网络应用都是使用运输层协议TCP或UDP来传输数据的,因此可以利用运输层的端口号和IP地址一起进行转换,这样用一个全球IP地址就可以使多个拥有本地地址的主机和因特网上的主机进行通信,这种将端口号和IP地址一起进行转换的技术叫网络地址与端口号转换NAPT
对于一些P2P网络应用,需要外网主机主动与内网主机进行通信,在通过NAR时会遇到问题
由于NAT对外网屏蔽了内网主机的网络地址,能为内网主机提供一定的安全防护
运输层
运输层概述
物理层,链路层,网络层,共同解决了将主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信
但实际上计算机网络中进行通信的真正实体是位于通信两端主机中的进程
如何为运行在不同主机上的应用进程提供直接的通信服务是运输层的任务,运输层协议又称为端到端服务
运输层向高层屏蔽了网络核心细节(如网络拓扑,所采用的路由选择协议等),它使应用进程看见的就好像是在两个网络层实体之间有一条端到端的逻辑通信信道
根据需求不同,运输层提供两种不同的运输协议,及面向连接的TCP和无连接的UDP
运输层端口号,复用与分用的概念
UDP和TCP对比
用户数据协议UDP
无连接
支持一对一,一对多,多对一和多对多交互通信
对应用层交付的报文直接打包
尽最大努力交付,也就是不可靠;不使用流量控制和拥塞控制
首部开销小,仅8字节
传输控制协议TCP
面向连接
每一条TCP连接只能对应有两个断点EP,只能是一对一通信
面向字节流
可靠传输,使用流量控制和拥塞控制
首部最小20字节,最大60字节r
TCP流量控制
一般来说,我们希望数据传输的更快一些,但是如果发送方把数据发送的过快,接收方就可能来不及接收,就会造成数据的丢失
所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收
利用滑动窗口机制,可以很方便地在TCP连接上实现对发送方的流量控制
TCP接收方利用自己的接收窗口的大小来限制发送方发送窗口的大小
TCP发送方收到接收方的零窗口通知后,应启动持续计时器,持续计时器超时后,向接收方发送零窗口探测报文
TCP的拥塞控制
TCP超时重传时间的选择
TCP可靠传输的实现
TCP的可靠传输基于以字节为单位的滑动窗口来实现可靠传输
发送方在未收到接收方的确认时,可将发送窗口内还未发送的数据全部发送出去
接收方只接受序号落到发送窗口内的数据
虽然发送方的发送窗口是根据接收窗口设置,当在同一时刻,发送方的发送窗口并不是和接收方的接收窗口一样大
网络传送窗口值需要经历一定时间的滞后,并且这个时间还是不确定的
发送方还可以根据网络当时的拥塞情况适当减小自己的发送窗口
对于不按序到达的数据应如何处理,TCP无明确规定
如果接收方把未按序到达的数据一律丢弃,那么接收方的管理比较简单,但对网络的利用不利,因为发送方会重复传输较多数据
TCP通常对不按序到达的数据临时存放在接收窗口,等到字节流中所缺的字节收到后,再按序交付上层的应用进程
TCP要求接收方必须有累计确认和携带确认机质,这样可以减少传输开销
接收方不应过分推迟发送确认,否则会导致发送方不必要的超时重传,反而浪费
//TCP标准规定,确认推迟的时间不应该超过0.5秒,若收到一连串具有最大长度的报文端,就必须每隔一个报文段发送一个确认
捎带确认并不经常发生,因为很少有应用程序同时在两个放向上发送数据
TCP的通信是全双工通信.通信的每一方都在发送和接收报文段,因此,每一方都有自己的发送窗口和接收窗口.注意分清是哪一方的窗口
TCP的运输连接管理
TCP的连接建立
TCP的连接释放
TCP报文段的首部格式
应用层
应用层概述
应用层是计算机网络中的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分
早期基于文本的应用(电子邮件,远程登陆,文件传输,新闻组)
20世纪90年代将因特网带入千家万户的万维网
当今流行的即时通信,P2P文件共享及多种音频应用
计算机设备小型化
客户/服务器方式 对等方式
客户/服务器方式
客户和服务器是指通信中所涉及到了两个应用进程
客户/服务器方式描述的是进程之间服务和被服务的关系
客户是服务请求方,服务器是服务提供方
服务器总是处于运行状态,并等待客户的服务请求,服务器具有固定端口号,而运行服务器的主机也有固定IP地址
C/S方式是最成熟的方式,包括万维网,电子邮件,文件传输FTP
基于C/S和应用服务,是服务集中型,即应用服务集中在网络中比客户计算机少的多的服务器计算机中
由于一台服务器为多个主机提供服务,在C/S中,常会出现2服务器跟不上客户请求
因此,常用计算机群构建一个强大的虚拟服务器
对等方式
在P2P方式中,没有固定的服务请求者和服务提供者,分布在网络边缘各端的应用进程是对等的,被称为对等方.
目前P2P文件共享,即时通信,P2P流媒体,分布式存储
基于P2P的应用是服务分散型的,因为服务不是集中于少数计算机,而是分散在大量对等计算机,哪些计算机为个人控制
P2P方式的最突出特性之一就是它的可扩展性,因为系统每增加一个对等方,不仅增加的服务请求者,同时也增加了服务的提供者,系统性能不会因为规模的增大而降低
P2P方式具有成本上的优势,因为它通常不需要庞大的服务器设施和服务器宽带,为了降低成本,服务器提供商越来越对P2P感到兴趣
动态主机配置协议DHCP
域名系统DNS
文件传输协议FTP
电子邮件
电子邮件采用客户/服务器方式,三个主要组成构件 : 用户代理,邮件服务器,以及电子邮件所需的协议
用户代理是用户与电子邮件系统的接口,又称为电子邮件客户端软件
邮件服务器是电子邮件系统的基础设施,因特网上所有的ISP都有邮件服务器,其功能是发送和接收邮件,同时还要负责维护用户的邮箱
协议包括邮件发送协议(SMTP)和邮件读取协议(POP3)
常用的邮件发送协议是简单邮件传送协议SMTP
基于TCP连接,端口号为25
只能传送ASCll码文件
用于用户代理向邮件服务器发送邮件以及邮件服务器之间的邮件发送
为解决SMTP传送非ASCll码文件的问题,提出了多用途因特网邮件扩展MIME
常用的邮件读取协议:
邮局协议POP3 : 非常简单,功能有限的邮件读取协议,用户只能以下载并删除或下载并保存的方式从邮件服务器下载邮件到用户方计算机,不允许用户在邮件服务器上管理自己的邮箱
因特网邮件访问协议IMAP : 功能比POP3强大的邮件读取协议,用户在自己计算机上就可以操控邮件服务器中的邮箱,就像本地操控一样,因此IMAP是一个联机协议
POP3和IMAP都采用基于TCP连接的客户/服务器方式,POP3使用端口号110,IMAP4使用端口号143
基于万维网的电子邮件
通过浏览器登陆,邮件服务器万维网网站就可以撰写,收发,阅读和管理电子邮件,这种工作模式与IMAP很类似,不同的是用户计算机无需安装专门的用户代理程序,只需要使用通用的万维网浏览器
这种工作模式在用户浏览器与邮件服务器之间使用HTTP协议,而在邮件服务器之间使用SMTP协议
万维网
万维网是一个大规模的,联机式的信息储藏所,是运行在互联网上的一个分布式应用
浏览器最重要的部分是渲染引擎,也就是浏览器内核,负责对网页内容进行解析和显示
万维网使用同一资源定位符url来指明因特网上任何种类资源的位置,其一般形式为 : <协议>://<主机>:<端口>/<路径>
万维网文档
超文本标记语言HTML,使用多种标签来描述网页的结构和内容
层叠样式表CSS,从审美角度描述网页样式
脚本语言 : 控制网页行为
超文本传输协议 : HTTP 定义了浏览器怎样向万维网服务器请求万维网文档,,以及万维网文档如何将文档传给浏览器
HTTP/1.0采用非持续连接方式,每次浏览器请求一个文件都要与浏览器建立TCP连接,当收到相应时就立即关闭连接
HTTP/1.1采用持续连接方式,万维网服务器在发送响应后仍然保持这条连接,时同一个用户和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文.为了进一步提高效率,可采用流水线方式,即浏览器在收到HTTP响应报文之间就能连续发送多个请求报文
HTTP有两类报文,请求报文和响应报文.报文中的每一个字段都是一些ASCLL码串,并且每个字段的长度都是不确定的
Cookie提供了一种机质使得万维网服务器能够记住用户,而不需用户主动提供用户标识信息,也就是说,Cookie是一种对无状态的HTTP进行状态化的技术
在万维网中还可以使用缓存机质来提高万维网的效率,万维网缓存又称为Web缓存,可位于中间系统上,位于中间系统上的Web缓存又称为代理服务器
Socket
什么是套接字?
目的地址,传输协议,端口号,与socket进行绑定.
socket是什么?
可以看成是在两个网络应用程序进行通信连接时的一个端点.
相关数据由网络驱动程序通过传输层向上提交给应用层Socket
socket存在的意义是什么?
不同主机上的应用进程之间进行双向通信的端点的抽象,网络进程通信的一端,提供了应用层进程利用网络协议交换数据的机制.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性