赞
踩
为了准备期末考试,同时也是为了之后复习方便,特对计算机网络的知识进行了整理。本篇内容大部分是来源于我们老师上课的ppt。而我根据自己的理解,将老师的PPT整理成博文的形式以便大家复习查阅,同时对于一些不是很清楚的地方,我去查阅了相关资料进行补充,当然也会有少部分个人看法夹带其中来帮助大家理解。
应评论要求这里放上本文的思维导图以供大家更好的查看
网络边缘:位于互联网边缘与互联网相连的计算机和其他设备,如桌面计算机、移动计算机、服务器、其他智能终端设备
网络核心:由互联端系统的分组交换设备和通信链路构成的网状网络
如:分组交换路由器、链路层交换机、通信链路(光纤、铜缆、无线电、激光链路)
个域网PAN( Personal Area Network )
局域网LAN(Local Area Network)
城域网MAN(Metropolitan Area Network )
广域网WAN(Wide Area Network)
接入网的用途
各种异构网络通过边缘路由器接入
接入网分类:
确定数据分组从源到目标所使用的路径(全局操作)
路由器或交换机将接收到的数据分组转发出去(即移动到该设备的某个输出接口)(本地操作)
数据链路层 (Data Link Layer)
网络层 (Network Layer)
传输层 (Transport Layer)
会话层 (Session Layer)
表示层(Presentation Layer)
应用层(Application Layer)
注:我们教材的是以下分层来讲述的
信号在固体介质中传播,例如铜、光纤、同轴电缆
光纤
双绞线
同轴电缆
信号自由传播,例如无线电(陆地无线电、卫星无线电信道)
无线电
无线链路类型
分组交换采用把一个个小的数据包存储转发传输来实现数据交换。
主要的一些缺点:
1、不具有实时性。
2、存在延时。
3、会造成通信阻塞。
4、存在无用的重复数据。
5、会出现丢包的情况。
优点:
1、设计简单。
2、资源利用率很高。
电路连接的三个阶段:
1、建立连接。
2、数据传输。
3、释放连接。
优点:
1、传输速度快、高效。
2、实时。
缺点:
1、资源利用率低。
2、新建连接需要占据一定的时间,甚至比通话的时间还长。
电路交换的多路复用
频分多路复用FDM
时分多路复用TDM
复用 (multiplexing) 是通信技术中的基本概念。
它允许用户使用一个共享信道进行通信,降低成本,提高利用率。
时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。
波分复用就是光的频分复用。使用一根光纤来同时传输多个光载波信号。
各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。
成帧 (Framing)
将比特流划分成“帧”的主要目的是为了检测和纠正物理层在比特传输中可能出现的错误,数据链路层功能需借助“帧”的各个域来实现
差错控制 (Error Control)
处理传输中出现的差错,如位错误、丢失等
流量控制 (Flow Control)
确保发送方的发送速率,不大于接收方的处理速率,避免接收缓冲区溢出
1.无确认 无连接 服务( Unacknowledged connectionless )
2.有确认 无连接 服务( Acknowledged connectionless )
3.有确认 有连接 服务( Acknowledged connection-oriented )
定界符:两个0比特之间,连续6个1比特,即01111110,0x7E
发送方检查有效载荷:若在有效载荷中出现连续5个1比特,则直接插入1个0比特
接收方的处理:
若出现连续5个1比特,
若下一比特为0,则为有效载荷,直接丢弃0比特;
若下一比特为1,则连同后一比特的0,构成定界符,一帧结束
链路层存在的一个问题:信道的噪声导致数据传输问题
解决方案:差错检测与纠正、确认重传
目标
保证一定差错检测和纠错能力的前提下,如何减少冗余信息量?
考虑的问题
两种主要策略
在被发送的数据块中,包含一些冗余信息,但这些信息只能使接收方推断是否发生错误但不能推断哪位发生错误,接收方可以请求发送方重传数据主要用在高可靠、误码率较低的信道上,例如光纤链路偶尔发生的差错,可以通过重传解决差错问题
发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,并能纠正错误(定位出错的位置)主要用于错误发生比较频繁的信道上,如无线链路也经常用于物理层,以及更高层(例如,实时流媒体应用和内容分发)使用纠错码的技术通常称为前向纠错(FEC,Forward Error Correction)
常用的检错码包括:
1位奇偶校验是最简单、最基础的检错码。
1位奇偶校验:增加1位校验位,可以检查奇数位错误。
主要用于TCP/IP体系中的网络层和传输层
数据链路层广泛使用的校验方法
CRC校验码计算方法
CRC校验码计算示例
目标:以奇偶校验为基础,找到出错位置,提供1位纠错能力
注: 汉明码是采用奇偶校验的码。它采用了一种非常巧妙的方式,把这串数字分了组,通过分组校验来确定哪一位出现了错误。
实际的海明码编码的过程也并不复杂,我们通过用不同过的校验位,去匹配多个不同的数据组,确保任何一个数据位出错,都会产生一个多个校验码位出错的唯一组合。这样,在出错的时候,我们就可以反过来找到出错的数据位,并纠正过来。当只有一个校验码位出错的时候,我们就知道实际出错的是校验码位了。
链路层存在的另一个问题:接收方的处理速率
解决方案
数据链路层分为两个子层:
MAC子层:介质访问
LLC子层:承上启下(弱层)
TDMA: time division multiple access
例子: 6-user LAN, 1,3,4时隙有数据发送, 2,5,6时隙被闲置
FDMA: frequency division multiple access
例子: 6-user LAN, 1,3,4频带有数据发送, 2,5,6频带被闲置
特点:冲突不可避免
纯ALOHA协议
原理:想发就发!
特点:
分隙ALOHA
特点:“先听后发”
改进ALOHA的侦听/发送策略分类
非持续式CSMA
1.特点
①经侦听,如果介质空闲,开始发送
②如果介质忙,则等待一个随机分布的时间,然后重复步骤①
2.好处
等待一个随机时间可以减少再次碰撞冲突的可能性
3.缺点
等待时间内介质上如果没有数据传送,这段时间是浪费的
持续式CSMA
p-持续式CSMA
1.特点
①经侦听,如介质空闲,那么以 p的概率 发送,以(1–p)的概率延迟一个时间单元发送
②如介质忙,持续侦听,一旦空闲重复①
③如果发送已推迟一个时间单元,再重复步骤①
1-持续式CSMA
1.特点
①经侦听,如介质空闲,则发送
②如介质忙,持续侦听,一旦空闲立即发送
③如果发生冲突,等待一个随机分布的时间再重复步骤①
2.好处:持续式的延迟时间要少于非持续式
3.主要问题:如果两个以上的站等待发送,一旦介质空闲就一定会发生冲突
4.注意
1-持续式是p-持续式的特例
特点:克服了冲突
竞争期:在自己的时槽内发送竞争比特
传输期:按序发送
令牌:发送权限
令牌的运行:发送工作站去抓取,获得发送权
缺点:令牌的维护代价
站点:编序号,序号长度相同
竞争期:有数据发送的站点从高序号到低序号排队,高者得到发送权
特点:高序号站点优先
利用上述二者的优势
广播域(Broadcasting Domain)
VLAN是一个在物理网络上根据用途,工作组、应用等来逻辑划分的局域网络,与用户的物理位置没有关系。
通过路由器或三层交换机进行VLAN间路由,实现VLAN间通信。
VLAN类型
基于端口的VLAN
基于MAC地址的VLAN
基于协议的VLAN
基于子网的VLAN
无线局域网(Wireless Local Area Network,WLAN):指以无线信道作为传输介质的计算机局域网
基础架构模式(Infrastructure)
自组织模式(Ad hoc)
无线局域网需要解决的问题
1.有限的无线频谱带宽资源
2.共享的无线信道
3.组网模式管理
网络层在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
IPv4协议,网际协议版本4,一种无连接的协议,是互联网的核心,也是使用最广泛的网际协议版本,其后继版本为IPv6
internet协议执行两个基本功能
分片原因
数据报长度大于传输链路的MTU
MTU(Maximum Transmission Unit), 最大传输单元
- 链路MTU
- 路径MTU (Path MTU)
分片策略
重组策略
IPv4分片策略
注:分组 (packet) 与 帧(frame)的关系
网络层基本功能
其它相关问题
IP地址,网络上的每一台主机(或路由器)的每一个接口都会分配一个全球唯一的32位的标识符
将IP地址划分为固定的类,每一类都由两个字段组成
网络号相同的这块连续IP地址空间称为地址的前缀,或网络前缀
IP地址共分为A、B、C、D、E五类,A类、B类、C类为单播地址
IP地址的书写采用点分十进制记法,其中每一段取值范围为0到255
IP特殊地址
注:当路由器收到一个IP数据包时,它会将数据包的目的IP地址与自己本地路由表中的所有路由表进行逐位(Bit-By-Bit)对比,直到找到匹配度最长的条目,这就是最长前缀匹配机制。(路由比对之前会用相应路由的目的网络掩码进行逻辑与运算,再拿结果与路由路径比对)
DHCP :动态主机配置协议
工作模式:客户/服务器模式( C/S )
基于 UDP 工作,服务器运行在 67 号端口, 客户端运行在 68 号端口
背景
网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址二获取的MAC地址的过程是由ARP(Address Resolution Protocol)协议来实现的。
注:因为下层协议是通过MAC地址来确定各自身份的,所以下层发送必须要MAC地址
IP 与 MAC地址
ARP协议工作过程
路由到另一个局域网
定义
网络地址转换(NAT)用于解决IPv4地址不足的问题,是一种将私有(保留)地址转化为公有IP地址的转换技术
私有IP地址:
A类地址:10.0.0.0–10.255.255.255
B类地址:172.16.0.0–172.31.255.555
C类地址:192.168.0.0–192.168.255.255
NAT工作机制
出数据报:外出数据报用 NAT IP地址(全局), 新port # 替代 源IP地址(私有), port #
NAT转换表:每个 (源IP地址, port #)到(NAT IP地址, 新port #) 映射项
入数据报:对每个入数据报的地址字段用存储在NAT表中的(源IP地址, port #)替代对应的 (NAT IP地址, 新port #)
NAT根据不同的IP上层协议进行NAT表项管理
TCP,UDP,ICMP
传输层TCP/UDP拥有16-bit 端口号字段
所以一个WAN侧地址可支持60,000个并行连接
NAT的优势
ICMP: 互联网控制报文协议
ICMP报文类型
ICMP 报文格式
ICMP报文类型及功能
路由算法须满足的特性:
根据路由算法是否随网络的通信量或拓扑自适应划分
算法基本思想
每个节点周期性地向邻居发送它自己到某些节点的距离向量;
当节点x接收到来自邻居的新DV估计,它使用B-F方程更新其自己的DV :
Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N
上述过程迭代执行,Dx(y)收敛为实际最小费用 dx(y)
距离向量算法特点:迭代的、分布式的
注:路由器只掌握物理相连的邻居以及链路费用
路由器启动时初始化自己的路由表
路由器周期性地向其相邻路由器广播自己知道的路由信息
相邻路由器可以根据收到的路由信息修改和刷新自己的路由表
路由器经过若干次更新后,最终都会知道到达所有网络的最短距离
所有的路由器都得到正确的路由选择信息时网络进入“收敛”(convergence)状态
计数到无穷问题(The Count-to-Infinity Problem)
好消息传播快,坏消息传播慢,是距离向量路由的一个主要缺点
注:所有路由器掌握完整的网络拓扑和链路费用信息
链路状态(Link State)路由可分为五个部分:
发现邻居,了解他们的网络地址;
设置到每个邻居的成本度量;
- 开销/度量/代价:
- 自动发现设置或人工配置
- 度量:带宽、跳数、延迟、负载、可靠性等
- 常用度量:链路带宽(反比)
- 例如:1-Gbps以太网的代价为1,100-Mbps以太网的代价为10
- 可选度量:延迟
- 发送一个echo包,另一端立即回送一个应答
- 通过测量往返时间RTT,可以获得一个合理的延迟估计值
构造链路状态分组(link state packet,LSP)
- 发送方标识
- 序列号
- 年龄
- 邻居列表
- 每个LSP分组包含一个序列号,且递增
- 路由器记录所收到的所有(源路由器、序列号)对
- 当一个新分组到达时,路由器根据记录判断:
- 如果是新分组,洪泛广播
- 如果是重复分组,丢弃
- 如果是过时分组,拒绝
Dijkstra算法示例
D(k):从计算节点到目的节点k当前路径代价
p(k):从计算节点到目的节点k的路径中k节点的前继节点
网络状态信息交换的范围
网络状态信息的可靠性
产生原因
现实情况:
层次路由可以解决:
基本思路
互联网由大量不同的网络互连,每个管理机构控制的网络是自治的
自治系统(AS,Autonomous System)
自治系统内的还可以进一步划分层次:私有自治系统或区域
效果
广播(Broadcasting):源主机同时给全部目标地址发送同一个数据包
①给每个主机单独发送一个数据包
②多目标路由(multi-destination routing)
注:以上方法难以实现
③泛洪(flooding)
用途
无控制的泛洪
解决方法:受控制的泛洪(每个路由器进行有选择的泛洪)
④生成树(spanning tree)
概述
工作过程
小结
RIP协议的特点
RIP协议的适用场合
RIP协议的防环路机制
路由协议
边界网关协议BGP (Border Gateway Protocol)
BGP功能
BGP会话: 两个BGP路由器通过TCP连接交换BGP报文
BGP路径通告
路由器可能会学到多条到达目的网络的路径:
路由器是互联网最主要的网络设备,包含2个核心功能
路由器中IP报文转发核心功能
注:普通IP报文转发过程中,路由器不查看传输层及以上层协议的内容
IP报文在路由器转发前后的变化
数据报在不同硬件单元的处理
3种典型的交换结构
拥塞
网络中存在太多的数据包导致数据包传输延迟或丢失,从而导致网络吞吐量下降
拥塞控制(congestion control)
需要确保通信子网能够承载用户提交的通信量,是一个全局性问题,涉及主机、路由器等多种因素
产生拥塞的原因
拥塞控制的基本策略
丢弃概率 p 与 THmin 和 Thmax 的关系
问题的提出
什么是网络服务质量?(QoS, Quality of Service)
QoS是网络在传输数据流时要满足一系列服务请求,具体可以量化为带宽、时延、抖动、丢包率等性能指标
流量整形(traffic shaping):其作用是限制流出某一网络的某一连接的流量与突发,使这类报文以比较均匀的速度向外发送
注:漏桶算法和令牌桶算法的区别在于漏桶算法输出的流量永远不可能超过一定限制,而令牌桶算法可以容忍短时间内的高流量输出,对于一些突发流量的需求比较友好
在同一个流的数据包之间以及在竞争流之间分配路由器资源的算法称为包调度算法,它负责分配带宽和其他路由器资源,负责确定把缓冲区中的哪些数据包发送到输出链路上
用VPN连接合作伙伴
用VPN实现专用网络的远程访问
初始动机:应付“32-bit地址空间耗尽”问题(CIDR和NAT都无法从根本上解决地址短缺问题),增加地址空间
IPv6 地址
传输层基本服务:将主机间交付扩展到进程间交付,通过复用和分用实现
UDP套接字
校验和字段的作用: 对传输的报文段进行检错
以下是报文段的字段
key | human | hex |
---|---|---|
Source | 192.168.1.106 | c0a8 016a |
Destination | 11.111.111.111 | 0b6f 6f6f |
Protocol | UDP(17) | 11 |
Length | 17 | 11 |
Source Port | 63549 | f83d |
Destination Port | 12345 | 3039 |
Length | 17 | 11 |
Checksum | 0xb12d | b12d |
Data | hello UDP | 6865 6c6c 6f20 5544 5000 |
将上表中所有的 16 进制数加起来,之后取反码。有一点需要注意的是,如果遇到最高位进位,那么需要对结果进行回卷,意思是
求出来的即是校验和。
为什么需要UDP?
UDP适合哪些应用?
数据包有序、无差错到达接收端
如何实现可靠传输,基本原则是什么?
可靠传输实现举例-Stop and Wait
注:该实现俗称tcp的三次握手和四次挥手。三次挥手我们也常称为“请求 -> 应答 -> 应答之应答”的三个回合,主要就是为了建立连接
建立一条TCP连接需要确定两件事:
四次挥手:目的就是确保断开连接时双方都是确认结束的状态
由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率。
发送窗口
发送方维持的发送窗口,它的意义是:位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。这样,信道利用率就提高了。
发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。
累积确认
如果发送方发送了前 5 个分组,而中间的第 3 个分组丢失了。这时接收方只能对前两个分组发出确认。发送方无法知道后面三个分组的下落,而只好把后面的三个分组都再重传一次。
这就叫做 Go-back-N(回退 N),表示需要再退回来重传已发送过的 N 个分组。
可见当通信线路质量不好时,连续 ARQ 协议会带来负面的影响。
SR 协议在 GBN 协议的基础上进行了改进,它通过让发送方仅重传那些它怀疑在接收方出错(即丢失或受损)的分组而避免了不必要的重传。选择重传协议只重传真正丢失的分组。
注:SR协议ack确认和GBN的累计确认不同,是一个一个确认
计时器
理论上选择重传协议要为每个分组使用一个计时器。当某个计时器超时后,只有相应的分组被重传。换而言之,返回N协议将所有的分组当做一个整体对待,而选择重传协议则分别对待每一个分组。但是大多数SR的运输层仅使用了一个计时器.。注意只使用一个计时器而做到跟踪所有发出去的分组的情况的做法是:标记发出分组,当ACK=Sf 时,将窗口滑过所有连续的已确认的分组,如果还有未确认的分组,则重发所有检测到的未被确认的分组并重启计时器,如果所有分组都被确认了则停止计时器。
快速重传
仅靠超时重发丢失的报文段,恢复太慢!
发送方可利用重复ACK检测报文段丢失:
- 发送方通常连续发送许多报文段
- 若仅有个别报文段丢失,发送方将收到多个重复序号的ACK
- 多数情况下IP按序交付分组,重复ACK极有可能因丢包产生
TCP协议规定: 当发送方收到对同一序号的3次重复确认时,立即重发包含该序号的报文段
所谓快速重传,就是在定时器到期前重发丢失的报文段
Go-Back-N协议
接收方:
发送方:
SR
接收方:
发送方:
TCP协议
接收方:
发送方:
TCP接收端
TCP发送端
Nagle算法的解决方法:
- 在新建连接上,当应用数据到来时,组成一个TCP段发送(那怕只有一个字节)
- 在收到确认之前,后续到来的数据放在发送缓存中
- 当数据量达到一个MSS或上一次传输的确认到来(取两者的较小时间),用一个TCP段将缓存的字节全部发走
Nagle算法的优点:
- 适应网络延时、MSS长度及应用速度的各种组合 常规情况下不会降低网络的吞吐量
发送方根据自己感知的网络拥塞程度,限制其发送速率
发送方如何感知网络拥塞?
发送方采用什么机制限制发送速率?
发送方使用拥塞窗口cwnd限制已发送未确认的数据量:
LastByteSent-LastByteAcked <= cwnd
cwnd随发送方感知的网络拥塞程度而变化
发送方感知到网络拥塞后,采取什么策略调节发送速率?
①AIMD
注:MSS是发送速率TCP建立连接时双方确定的每一个报文段所能承载的最大数据长度
②TCP慢启动
区分不同的丢包事件
超时:说明网络交付能力很差
收到3个重复的ACK:说明网络仍有一定的交付能力
TCP发送端的事件与动作
客户进程的特点
服务器进程的特点
循环方式(iterative mode)
并发方式(concurrent mode)
无连接循环方式服务
面向连接的并发方式服务
简单邮件传输协议SMTP(Simple Mail Transfer Protocol)——邮件服务器之间传递邮件使用的协议
Webmail——基于Web的电子邮件
服务器
客户端
统一资源定位器URLs
www协议
HTTP 无状态协议,服务器 用cookies保持用户状态
DASH中普遍使用的自适应码率ABR(Adaptive bitrate)
怎样将内容(如从百万的视频中选定的内容)分发给同时发起访问的数百万用户?
DNS重定向实现CDN
DNS辅助实现CDN
P2P文件分发协议:BitTorrent
Telnet的工作过程
文件传输协议FTP(File Transfer Protocol) 是Internet上使用最广泛的应用层协议之一
FTP的两个端口与两个连接
这篇知识汇总我写了好久,因为ppt的缘故,知识整理需要自己消化一遍然后挑选重要的部分整理摘录下来,同时对于某些知识点的组织结构做了相应调整,对于不太清楚的地方,我也去查阅了相关资料做了补充。但需要注意的是有些知识点并不完整,该知识点整理也只是根据我们当时考试的考点来整理的,所以不足之处请见谅。
愿我们以梦为马,不负人生韶华!
与君共勉
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。