无标题
4.1 网络层的功能(16)
4.2 IPv4(300)
4.3 IPv6(36)
4.4 路由算法与路由协议(240)
4.5 IP多播(18)
4.6 移动IP(26)
4.7 网络层设备(20)

前言


4.1 网络层的功能
- 异构互连网络
- 路由与转发
- 拥塞控制

4.2 IPv4
①IPv4分组
IP:网络协议
v4,v6:版本号
IP协议(网际层协议)

IP数据报(IP分组)的格式
==首部(固定部分20B+可变部分0-40B) + 数据部分==
首部固定部分第一行
【版本+首部长度+区分服务+总长度(指的是整个IP数据报的总长度)】


首部固定部分第二行
(发送方)分片
实际传输过程中,“数据部分”的长度会受到下一段链路的最短/最长帧长限制,46-1500。
- MTU:一个链路层数据帧承载的最大数据量称为最大传送单元MTU。eg以太网的MTU=1500
- 所以:如果一个IP数据报的总长度超出了下一段链路的MTU,就需要分片。(之后接收方再“重组”。
- 分片可能在:源主机,或者任何一个路由器中发生。


(接收方)分片整理
目的主机接收到的分片可能是乱序的,需要整理排序(**==通过“标识”,“标志”,“片偏移”字段==**)
- 只有目的主机才能对分片重组(路由器不行)
- 因为首部的 “片偏移” 字段是以 8B 为单位,因此,*除了最后一个分片外,其他每个分片的数据部分必须是8B的整数倍。


首部固定部分的第三行
生存时间TTL:IP数据报的生存时间TTL。每经过一个路由器,TTL-1。如果TTL=0,就丢弃分组,并向源主机发送ICMP报文。
协议
首部检验和:每个路由器仅校验首部,不校验数据部分。

首部固定部分的第四五行
源地址,目的地址

回顾

②IP地址
==32位(bit) 【=网络号+主机号】==
(为方便阅读)==用十进制表示为4个部分,每个部分表示8bit。==

最初的IP地址分类方案
==网络号不定长,但【前面的数字+网络号】定长为8位==
A类(1-126)
- (前八位可表示的:网络号数量是2^7-1=127,减了全0的0情况)
- 【前面8bit,主机号32-8bit】
B类(128-191)
- (前八位可表示的:网络号数量是2^6=64)(从128开始而不是127,全1的127是另外的情况)
- 【前面16bit,主机号32-16bit】
C类(192-223)
- (前八位可表示的:网络号数量是2^5=32)
- 【前面24bit,后面32-24bit】
D类(224-239)
- (前八位可表示的:网络号数量是2^4=16)
E类(240-255)
- (前八位可表示的:网络号数量是2^3=8)(
- (0到7一共八位是编码范围,8是主机号的编码开始,所以网络号一共有2^8-2种编码)
IP地址资源由ICANN进行有偿分配,32位的地址最多可以分配2^32个。
多播地址和单播地址:单播地址分配给一个主机,多播地址分配给一组。(就像是qq号和qq群号的关系)
重点内容:
- ① 在那个年代,要求每台主机,每个路由器接口被分配的IP地址都是全球唯一的。
- ② 路由器和路由器连接的接口可以不分配IP地址,但路由器和其他节点连接的接口 必须分配IP地址。
- ③ 从属于==同一个网络的所有主机,路由器接口的IP地址 “网络号” 都相同。==
- ④ 当一台新主机接入网络时,需要给分配一个IP地址,并配置 ==“默认网关”== 。

IP地址传输过程
通过根据默认网关的地址 + ARP协议可以查询到数据链路层的MAC地址,
在数据链路层,有了MAC地址就可以把数据传输到下一个路由器/交换机/。



一些特殊用途的IP地址
(全0 IP地址是,一台主机刚接入网络还没IP地址的时候向DHCP请求地址的时候使用的。)

③子网划分,子网验码

画图训练

子网划分
==主机号分成:子网号+主机号==
(like一个学校多个校区,一个校区一个子网)
子网掩码
前提:网络号和子网号完全相同的IP地址才属于同一个网络
子网掩码 和 IP地址(自己的/对面的) 相与(11=1,别的都是0),
得到:网络号+子网号(call:网络前缀)
