将分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。(其传输的传输单位是数据报)
ps.数据报是比较长的数据,而分组就是将其切割划分出的片段。
功能1:路由的选择和分组的转发(寻找最佳路由路径) 功能2:异构网络的互联(依靠路由器相互连接) 功能3:拥塞控制若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施缓解拥塞。
WAY1 to solve 开环控制(静,预先) WAY2 to solve 闭环控制(动,运行)
4.1——数据交换方式(电路交换、报文交换、分组交换) 为什么要数据交换:
为了避免链路的过多链接,设计出交换设备进行中转(避免两两链接产生的复杂网络)=>设计出交换网络,通过多台交换设备进行链接组成交换网络。
电路交换:eg.电话网络(1.拨号(预备链接)2.正式建立链接 3.进行数据传输 4.链接释放 )
电路交换阶段:
- 建立链接(固定路径)——多路复用【独占资源】
- 通信
- 释放链接(拆除电路)
- 通信时延小 1:建立链接时间长
- 有序传输 2:线路独占(使用效率低)
- 没有冲突 3:灵活性差
- 实时性强 4:无差错控制能力(不会对数据检错纠错)
报文:源应用发送的信息整体。
在报文交换中交换设备的作用是:存储转发(比电路交换中的交换设备多一个存储的功能)
优点: 缺点:- 无需建立链接 1.有存储转发时延(【本质串行】)
- 存储转发、动态分配线路 2.报文大小不定,需要网络结点有较大的缓存空间
- 可靠性高
- 利用率高
- 多目标服务(一个报文可同时发向多个目的地址)
分组:把大的数据块分割成小的数据块。(切割后分成小单元后进行传输ps.类似于并行的概念)
优点: 缺点:- 无需建立链接 1.有存储转发时延(但是比分组交换时延小很多【本质并行】)
- 存储转发、动态分配线路 2.需要传输额外的信息量
- 可靠性搞 3.乱序到目的主机时,要对分组排序重组
- 利用率搞
- 相对于报文交换,存储管理更容易(没有太多的缓存需求)
ps.计算题中注意事项:1:考虑单位换算(b/B,Mbps,kbps...)2:是否要加上传播延迟 3:时间至少是多少(选择最少跳数)4:起始时间(从发送开始到接收完毕为止)5:是否有分组头部大小的开销 6:报文交换时延更长分组交换时延很可能不是整数。
三种数据交换方式比较图解:
1:报文交换和分组交换都采用存储转发
2:传送数据量大,且传送时间远大于呼叫时,选择电路交换(电路交换传输时延最小)
3:从信道利用率来看,报文交换和分组交换优于电路交换,其中分组交换时延更小。
4.2——数据报方式&虚电路方式 概念简述:
数据报方式:为网络层提供无连接服务。(无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同)eg.手机一个字一个字发信息(可能失序)
虚电路方式:为网络层提供连接服务。(链接服务:首先为分组的传输确定传输路径(建立链接),然后沿着路径传输系列分组,系列分组传输路径相同,传输结束后拆除该链接)eg.打电话
传输单元名词辨析:报文->报文段->分组(IP数据报)[进行了IP地址封装(分组就是数据报的切割)]->帧(加头加尾)->比特流
(应用层)->(传输层) -> (网络层) -> (数据链路层)->(物理层)
数据报: 特性:
- 无连接
- 每个分组携带源和目的地址
- 路由器根据分组的目的地址转发分组(基于路由器协议/算法构建转发表;检索转发表;每个分组独立选择路径)
虚电路将数据报方式和电路交换方式结合,以发挥两者优点
虚电路:一条源主机到目的主机类似于电路的路径(逻辑链接),路径上所有结点都要维持这条虚电路的建立(维持一张虚电路表,每一项都记录了一个打开虚电路的信息)
通信过程:- 建立链接(虚电路建立)【每个分组携带虚电路号,而非目的地址。源主机发送”呼叫请求“分组并受到”呼叫应答“分组后才算建立链接】
- 数据传输(全双工通信)
- 释放链接(虚电路释放)【源主机发送”释放请求“分组以拆除虚电路】
4.3 IP数据报格式 TCP/IP协议栈
IP数据报格式
(基本可以认为数据报与分组相同)
(区分服务:期望获得哪种类型的服务【基本不使用】)
(总长度:首部+数据)
(生存时间(TTL):IP分组的保质期,每经过一个路由器就-1,防止无法交付的数据报无限兜圈子)
(协议:表示运输层传过来的报文段是什么协议【如 TCP为:6,UDP为:17......】)【记忆方法,TCP面向链接很6,UDP不面向链接容易被17】(谐音梗扣钱)
(首部检验和:只检验首部,不检验数据部分)
源IP地址和目的IP地址:32位
可选字段:用来排错、测量...
(首部部分可以分为固定部分【20字节(20*8bit),必要的】+可变部分【长度不固定,非必要】)
IP数据报分片 最大传送单元(MTU):
链路层数据帧可封装数据的上限。(例如以太网的MTU是1500字节)
如果数据长度超过了某条链路的MTU,那么就只有两个结果:
- 分片(同意分片)
- 返回差错报文(不同意分片)
标识:同一个数据报的分片使用同一个标识(3位,最高位保留,中间位DF检测是否可以分片(DF=0可以分、DF=1不能分),最低位MF(MF=1后面还有分片,MF=0最后一片/没有分片)【DF=0时MF才有意义】)
片偏移:指出较长分组分片后,某片在原分组中的相对位置。(以8字节为单位=>得出除了最后一个分片每个分片的长度一定是8B的整数倍的结论)
计算 片偏移 的时候第一个被切割的偏移量为0,第二个被切割的偏移量=(第一个的数据部分/8B)......
数据部分切割后要加上首部
IPV4地址(*)分类的IP地址 特殊IP地址
主机数: 最大可用网络数:
A类网络:最大主机个数:2^24-2 最大可用网络数:2^7-2
B类网络:最大主机个数:2^16-2 最大可用网络数:2^14-1
C类网络:最大主机个数:2^8-2 最大可用网络数:2^21-1
(各类网络中主机的全0、全1都不能用)
网络地址转换(NAT)(用于私有IP地址于外网建立通信):
概念:在专用网链接到因特网的路由器上安装NAT软件,安装NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。
子网划分: 子网划分:
2级IP地址:网络号+主机号 => 3级IP地址:网络号+子网号+主机号 (ps.自己划分了子网后,对外仍然表现为一个网络,单位外的网络看不见你的内部划分。ps.主机号不可以全0全1,子网号是否可以全0全1看题目给的)
子网掩码:2级IP地址:网络号:全1,主机号:全0 => 3级IP地址:网络号:全1,子网号:全1,主机号:全0。
子网掩码子网号和IP地址逐位相与,得到子网网络地址
广播分组的目的地址主机号是全1,即255
eg1.IP地址为141.14.72.24,子网掩码为255.255.192.0求网络地址。
解:72:01001000,192:11000000
子网掩码的子网号为:11,主机号为:000000 00000000
=> 01 && 11为 01
=> 即此位为 01000000(64,前两位子网与的结果,后面为主机号);
解得网络地址为141.14.64.0
eg2.IP地址为180.80.77.55,子网掩码为255.255.252.0。若主机向其所在子网发送广播分组,目的地址为?
解:由于发送为广播分组得主机号为全1;
77:01001101
252:11111100 =>子网掩码子网号为111111 主机号为00 00000000
=>111111 && 010011
=>此位为:01001111(79,前6位为子网与的结果,后面为主机号)
=>目的地址为:180.80.79.255
ARP协议 发送数据的过程:
应用层:文件发送
传输层:划分为报文段(传输单元)
网络层:为报文段加上IP地址,加上源主机地址和目的主机的地址(形成了分组)
同网段:
数据链路层:封装加头加尾(*加头*加上源mac地址和目的主机的mac地址(ARP高速缓存协议——内存了IP地址和MAC地址的映射))
ps.ARP请求分组:已经携带了IP1和IP3的信息,也存入了MAC1的信息向其他地方广播请求返回IP3对应的MAC3(只有主机3会相应,其他的不鸟它,且返回“单播”的响应分组)
物理层:形成数字信号传播(比特流)
不同网段(通过路由器相连):
数据链路层:封装加头加尾(*加头*加上源mac地址和下一个路由器的mac地址(ARP高速缓存协议——内存了IP地址和MAC地址的映射))
物理层:形成数字信号传播(比特流)
数据链路层:解封装,源MAC地址变为路由器输出端口的MAC地址和下一个路由器/目的地址(如果能一步跳到目的地址)的MAC地址[ex.IP地址自始至终都不变]
物理层:形成数字信号传播(比特流)
......
DHCP协议 基础知识
IP地址的的分配分为两种:静态分配,动态分配。
其中动态分配IP地址的协议叫DHCP协议
DHCP是应用层的协议,使用客户/服务器的方式,客户端和服务端通过广播方式进行交互基于UDP。
(提供即插即用联网的机制,主机可以从服务器东药获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用(并不是同时有多个地址被使用,只是一个地址被赋予一个主机后在主机离开后可以给新的主机使用),支持移动用户加入网络,支持在用地址续租)
工作流程
- 主机广播DHCP发现报文 “问询有没有DHCP服务器可以提供IP地址”
- DHCP服务器广播DHCP提供报文 “返回第一个提供的IP地址”
- 主机广播DHCP请求报文 “反复确认是不是要使用”
- DHCP服务器广播DHCP确认报文 “允许你用了”
(用广播的好处是可以告诉其他DHCP服务器是否收回自己发出的IP地址)
ICMP协议 作用:
支持主机/路由器实现:1.差错(异常)报告;2.网络探询 =》发送特定的ICMP报文
两个类型: 1:差错报告报文(4(5)种)
有以下几种情况不发送差错报文:
- 对ICMP差错报告报文不再发送ICMP差错报告报文(禁止套娃)
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
- 对具有组播地址的数据报都不发送ICMP差错报告报文
- 对具有特殊地址的数据报(127.0.0.0/0.0.0.0)不发送ICMP差错报告报文
ICMP的应用:
PING应用:测试两个主机之间的连通性,使用了ICMP回送请求和回答报文
Traceroute应用:跟踪一个分组从远点到终点的路径,使用ICMP时间超过差错报告报文。
4.4 IPV6(不常考) IPV6数据报格式:
IPV6与IPV4的区别
IPV6地址表示形式
一般形式:冒号十六进制记法
压缩形式:连续0只需要写一个(甚至可以全删去)
IPV6的基本地址类型单播:一对一通信(可源地址、可目的地址)
多播:一对多通信(可目的地址)
任播:一对多的一个通信(可作目的地址)
IPV6向IPV4过渡策略双栈协议:一台设备上同时启用IPV4协议栈和IPV6协议栈(这样就可以让它拥有同时处理IPV4和IPV6的功能)
隧道技术:将其他协议的数据帧或包进行重新封装然后通过隧道发送。