2防火墙:基础知识

看了一下相关视频,感觉要会防火墙,还是得补一下网络基础。看一下谢希仁的《计算机网络》,应该主要看网络层就可以。网络以前学的还可以,但现在也就能记得不到50%,正好重新学习一下,或许会有新的感受。

看完之后,感觉比较重要就几点:

  1. 机器怎么知道同网络机器的MAC地址
  2. 路由器怎么知道把分组转发到哪里
  3. 使用无分类编址CIDR,确定掩码,啥都确定了

名词解释

IP协议配套使用四个其它协议ARP、RARP、ICMP、IGMP

名称 说明
IP协议 用来使互连起来的许多计算机网络能够进行通信
地址解析协议ARP Address Resolution Protocol
逆地址解析协议RARP Reverse Address Resolution Protocol
网际控制报文协议ICMP Internet Control Message Protocol
网际组管理协议IGMP Internet Group Message Protocol
无分类域间路由选择CIDR Classless Inter-Domain Routing

网际协议IP

分类的IP地址

  1. IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位的标识符。

  2. IP地址::={<网络号>,<主机号>}

  • 一个网络是指具有相同网络号的主机的集合
  • 具有不同网络号的局域网必须使用路由器进行互连

IP地址与硬件地址

  1. 硬件地址又称为MAC地址、物理地址,因为硬件地址已固化在网卡上的ROM中。
  2. 硬件地址是数据链路层和物理层使用的地址,IP地址是网络层和以上各层使用的地址,是一种逻辑地址(因为IP地址是用软件实现的)
  3. IP数据报经过路由器转发的时候,首部的原地址和目的地址始终不变。IP数据报被封装在MAC帧中,MAC帧在不同网络上传送时,其MAC帧首部中的原地址和目的地址要发生变化。

ARP和RARP

  1. ARP:根据IP地址找出其硬件地址
  • 主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新
  • ARP进程在本局域网广播发送ARP请求分组(我IP是**,MAC地址是**,我想知道**IP的MAC地址),对应的机器收到请求后,进行响应
  1. RARP:知道自己硬件地址的主机能够通过RARP协议找出其IP地址

IP层转发分组的流程

  1. 路由表中,每一条路由最重要的是以下两个信息(目的网络地址,下一跳地址)

  2. 如果和路由器直连,则下一跳是接口,如果不直连,则下一跳是相邻路由器的IP地址

  1. 0.0.0.0表示路由表中的直接或者默认的概念

  2. 分组转发算法

划分子网和构造超网

划分子网

  1. 从两级IP地址到三级IP地址:IP地址::={<网络号>,<子网号>,<主机号>}
  • 子网号相同表示同一个空间
  • IP与子网掩码做与操作,就能计算出子网号
  • 子网号位数多,主机号就少;子网号位数少,主机号就多;具体怎么配置,看需求
  • 子网数=2^(子网位数)-2

使用子网时分组的转发

  1. 使用子网划分后,路由表必须包含以下三项内容:目的网络地址、子网掩码和下一跳地址

  2. 路由器转发算法

无分类编址CIDR(构造超网)

  1. 算是最终版,IP地址 ::={<网络前缀>,<主机号>},如128.14.35.7/20
  2. 计算范围也很简单,如192.199.170.82/27,范围是192.199.170.64~192.199.170.95
  • 找出掩码中1和0交界处是哪个字节,目前是第四个字节
  • 把字节用二进制表示,82的二进制是01010010
  • 取为1的掩码的位数(27-3*8=3),将对应位数的二进制进行保留(010),剩下的分别变成0(01000000)和1(01011111),即64和95
  1. 路由:网络前缀+下一跳地址
  • CIDR极大压缩了路由表中的项目数

网际控制报文协议ICMP

ICMP允许主机或者路由器报告差错情况和提供有关异常情况的报告。

ping、traceroute用的就是ICMP的能力。

因特网的路由选择协议

  1. 从自适应调整划分:静态路由选择策略和动态路由选择策略
  2. 路由选择协议的目的:不同的自治系统(autonomous system)能够方便、统一的联系
  3. 分类:
  • 内部网关协议IGP(Interior Gateway Protocal):即在一个自治系统内部使用的路由选择协议,如RIP和OSPF协议
  • 外部网关协议EGP(External Gateway Protocol):若源主机和目的主机在不同的自治系统重,需要使用该协议,如EGP

内部网关协议RIP(Routing Information Protocol)

  1. RIP协议要求网络中的每一个路由器都要维护从它自己到其它每一个目的网路的距离记录
  2. RIP协议的特点
  1. 使用距离向量算法更新路由器信息

内部网关协议OSPF(Open Shortest Path First)

  1. 最短路径优先算法,Dijkstra,熟不熟!!!
  2. 算法特点:

外部网关协议BGP

  1. BGP是不同AS的路由器之间交换路由信息的协议

  2. 在配置BGP时,每一个AS的管理员要选择至少一个路由器作为该AS的"BGP发言人",用于和其他发言人交换路由信息

路由器的构成

虚拟专用网VPN和网络地址转换NAT

虚拟专用网VPN

  1. 专用地址:在因特网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发
  1. VPN有很多类型
  • 内联网VPN
  • 外联网VPN
  • 远程接入VPN

网络地址转换NAT

  1. 需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。

最后

大家如果喜欢我的文章,可以关注我的公众号(程序员麻辣烫)

我的个人博客为:shidawuhen.github.io/

往期文章回顾:

  1. 设计模式
  2. 招聘
  3. 思考
  4. 存储
  5. 算法系列
  6. 读书笔记
  7. 小工具
  8. 架构
  9. 网络
  10. Go语言
相关推荐
一只小鱼儿吖1 小时前
进程代理单窗口单IP技术:原理、应用与实现
网络·网络协议·tcp/ip
稳联技术1 小时前
Ethernet IP与Profinet共舞:网关驱动绿色工业的智慧脉动
网络·网络协议·tcp/ip
程序员岳焱1 小时前
Java 与 MySQL 性能优化:Java 实现百万数据分批次插入的最佳实践
后端·mysql·性能优化
麦兜*1 小时前
Spring Boot启动优化7板斧(延迟初始化、组件扫描精准打击、JVM参数调优):砍掉70%启动时间的魔鬼实践
java·jvm·spring boot·后端·spring·spring cloud·系统架构
高兴达1 小时前
RPC框架--实现一个非常简单的RPC调用
网络协议·rpc·firefox
大只鹅2 小时前
解决 Spring Boot 对 Elasticsearch 字段没有小驼峰映射的问题
spring boot·后端·elasticsearch
ai小鬼头2 小时前
AIStarter如何快速部署Stable Diffusion?**新手也能轻松上手的AI绘图
前端·后端·github
IT_10242 小时前
Spring Boot项目开发实战销售管理系统——数据库设计!
java·开发语言·数据库·spring boot·后端·oracle
bobz9653 小时前
动态规划
后端
stark张宇3 小时前
VMware 虚拟机装 Linux Centos 7.9 保姆级教程(附资源包)
linux·后端