“ 本文总结了计算机网络中网络层的相关知识,适合学习过计算机网络的人群快速复习,查找相关知识点并巩固。”
思维导图
编辑
基本概念
- 传输层:应用进程之间端到端的通信(路径设备透明)
- 网络层:host之间的逻辑连接(虚拟:例如.路由路径)(路径设备参与)
- 网络层:每个路由器和host都与运行此协议
- 网络层主要协议事件:路由协议、IP协议、ICMP协议
- 网络层核心:转发(in and out)路由+路径算法
网络层服务模型
- 数据报网络(无连接服务)+虚电路网络(连接服务)
虚电路网络
- 连接服务,一条路径:源主机-路由器-目的主机(逻辑连接)
- 分组携带虚电路标识VCID,而不是目的地址,由路由转发表确认路径(每个router都有自己的表)
- 每个分组利用链路全部带宽
- 应用:ATM、电话机等
数据报网络
- 无连接服务处
- 每个分组携带目的地址,由路由算法+转发表确认路径
- 最长前缀优先匹配原则
- 应用:计算机
IP协议
IP数据报
- 首部长度:4Bytes为单位,最小首部5,5×4=20B
- 总长度:占16位,max=65535,data_max=65535-20=65515B
- 协议字段:6-TCP;17-UDP
IP分片
- data上限取决于链路层MTU(不同链路MTU不同),多MTU取min
- 片偏移:8Bytes为单位
- 偏移量=偏移数据➗8,因为8字节为单位,例如:封装1480B数据,偏移量为185
- 设分组总长为L,MTU=M
- 一个分片最大可封装数据d——8的倍数:(M-20)对8向下取整
- 需要的总分片数:(L-20)除以d向上取整
IP编址
- 接口:主机/路由与物理链路之间的连接,例如:有线以太网、无线802.11接口
- IPv4地址:点分十进制,8×4=32bits,例如:192.168.2.255
- Ipv6地址:冒号分十六进制,16×8=128bites,
- IP地址和每个接口关联——同多接口路由器可能有多个IP地址
IPv4二分法有类编址
- A类地址:0.0.0.0-127.0.0.0 8位网络号+24位主机号
- B类地址:128.0.0.0-191.255.255.255 16位网络号+16位主机号
- C类地址:192.0.0.0-223.255.255.255 24位网络号+8位主机号
- D类地址:224.0.0.0-239.255.255.255 32位网络号
- E类地址:240.0.0.0-255.255.255.255 32位网络号
- 二分法划分(A类第一位0,B类第一位要1,因为第一位0的已经属于A,第二位设0,以此类推):
- A类,8位网络号,首位0,max:01111111.11111111.1111111.11111111=127.255.255.255
- B类,16位网络号,前两位10,max:10111111.11111111.1111111.11111111=191.255.255.255
- C类,前三位110
- D类,前四位1110
- E类,前四位1111
- 特殊IP:
- 私有IP
IP子网
- IP地址中:高比特位(左):网络号,低比特位(右):主机号
- IP子网:网络号相同,即为同一个子网内的主机
- 子网间设备不跨越router可通过物理接口直接通信,例如:192.168.2.3,192.168.2.4
IP子网掩码
- IP子网划分:区分同一个网络号下有多少子网
- 子网号:主机号的高比特位
编辑
- 子网掩码:确定网络是否划分了子网,利用多少为位划分子网
- 子网掩码取值:网络号+子网号全取1,主机号全取0
- 例如B类网络(16位网络号+16位数主机号),子网掩码:255.255.0.0
- 借助3比特划分子网的B类网络,11111111.11111111.11100000.00000000=255.255.224.0
- 子网掩码的应用:提取子网地址
- 掩码为255.255.254,表示主机号只有1+8=9位数
- 所以地址范围是:172.32.0.0-172.32.1.255
- 可分配地址:512-2个=510个,主机号全0(掩码)+主机号全1(广播地址)
CIDR
- CIDR无类域间路由,消除A、B、C类的等级划分
- 32bits划分=前缀+主机号
- 格式:a.b.c.d/x,x为前缀长度
- 192=128+64,2bits,所以前缀=8+8+8+2=26位
IPv6
- 首部固定40Bytes,不允许分片,删除校验和
- 没有掩码概念
- 冒号分16进制,::表示中间全是0,一个IP地址只能写一次::
- 首部+负载(data+扩展首部),基于TCP
- ICMP6
路由聚合
- 最长前缀优先匹配
- 简化路由表
- 示例:
- 目的子网:192.168.1.0 192.168.2.0
- 聚合的目的子网192.168.0.0,子网掩码255.255.252.0
- 目的子网分别为192.168.1.0和192.168.2.0,展开最后两位,写作8位2进制数,
- 1 = 0000 0001,2 = 0000 0010,则
- 192.168.0000 0001.0和192.168.0000 0010.0
- 取最大相同位数192.168.0000 00,22位
- 得到聚合的目的子网192.168.0.0
- 补满0得到192.168.0000 0000.0 = 192.168.0.0
- 子网掩码位数 = 8+8+6 = 22位,11111111.11111111.111111
- 补满0得到 1111 1111.1111 1111.1111 1100.0000 0000 = 255.255.252.0
- 得到聚合的目的子网掩码255.255.252.0
- 理论上无CIDR也可以聚合
DHCP协议
- 主机获取IP地址的方式:静态编码、动态分配(DHCP分配的IP会变)
- 从服务器动态租用,释放后可重复利用
- 过程:1.主机广播需要地址 2.DHCP服务器响应可提供 3.主机请求 4.服务器确认
- 应用层协议,基于UDP
NAT(网关)
NAT网络地址转换
- 路由器不同接口:连接不同子网
- 本质:公网IP和主机IP的问题,NAT=修改IP信息
- NAT:主机通过IP转换为公网IP在互联网上通信
- NAT运作过程:替换——记录(转换表)——再替换,端口数16bits——并行65535个设备通信
- 接收信息:NAT router为信息接收目的地址,通过转换表再替换
NAT穿透
- 静态配置NAT表
- IGD互联网网关设备协议
- host能学习NAT的IP地址
- host有增删端口权限(增减连接设备)
- 中继skype——通过NAT连接特定服务器(网络电话)
ICMP
- ICMP(Internet Control MessageProtocol)互联网控制报文协议
- 网络层协议,基于UDP,支持host+router
- 封装在IP数据报中,在data部分
- 功能:差错报告+网络探查
层次路由
- AS(autonomous systems):自治系统,路由器层级
- 热土豆路由:将分组发送给最近的网关路由器
RIP协议——AS内部路由协议
- RIP(Routing Information Protocol):路由信息协议
- 应用进程实现,基于UDP,完成网络层功能
- 距离向量路由算法
- IP形式通告
- 30s一次通告,最多25个目的子网
- 180s无接收通告则路径失效,洪范扩散开始
- 相同成本路径——支持1条
OSPF协议——AS内部路由协议
- OSPF (Open Shortest Path First)
- 网络层协议,封装在IP数据报中
- 链路状态路由算法
- LS分组通告
- 每个路由器都有AS完整拓朴图
- Dijkstra算法计算路由
- 相同成本路径——支持多条
- 可实现AS中再分多ASs
BGP协议——AS之间路由协议
- BGP (Border Gateway Protocol):边界网关协议
- eBGP——AS之间传达信息
- iBGP——AS内部传达信息
- BGP会话——BG-BG之间,边界网关之间的对话
- 前缀+路径向量(下一跳、先前路径)
- 半永久TCP
参考资料:bilibili
💗 “每个人都有追求新鲜感的权利,也总有人在不断追求新鲜感,但大多数人总是忽略了一点:所谓新鲜感,有且仅有两种形式——和旧的人去做新的事、和新的人取做新的事。”
——Created By 是羽十八ya