网络基础三 ARP 地址分类 NAT技术

第1章 OSI回顾

1.1 TCP/IP协议族组成

应用层 主机到主机层 互联网层 网络接入层

1.2 总结应用层掌握的协议与端口号对应关系

    http(80) telnet(23) ftp(21/20) smtp(25) dns(53) pop3(110) tftp(69)

1.2.1 总结传输层掌握的协议(tcp与udp对比关系)

cat /proc/sys/net/ipv4/ip_local_port_range    ---随机端口号查看文件

    socket条目信息(五元组概念)

1.3 TCP 三次握手与四次挥手过程

1.3.1 TCP 十一种状态转换关系

第2章 ARP 协议

ARP协议也就是地址解析协议,RARP协议是逆地址解析协议

2.1 ARP协议作用

能实现任意网络地址到任意物理地址的转换。也就是说将IP地址对应当相应的物理地址中,因为数据链路层要通过物理地址来寻找你要传输数据的机器,这样才能通过数据链路层往外传输数据。

2.2 ARP协议的工作原理

主机向自己所在的网络广播一个ARP请求(该请求包含目标机器的网络地址),同时网络上其他机器都将收到这个请求,但只有被请求的目标机器会回应一个ARP应答(其中包含了自己的物理地址)。

图2-1 arp 解析过程

2.3 ARP请求的报文格式

2.4 Linux中ARP高速缓存的查看和修改方法

2.4.1 查看ARP缓存

[root@znix ~]# arp -a

? (10.0.0.8) at 00:0c:29:e6:84:c9 [ether] on eth0

? (10.0.0.202) at 00:0c:29:04:aa:b0 [ether] on eth0

? (10.0.0.2) at 00:50:56:fe:e2:da [ether] on eth0

? (10.0.0.1) at 00:50:56:c0:00:08 [ether] on eth0

2.4.2 删除IP为10.0.0.8 对应的ARP缓存

[root@znix ~]# arp -d 10.0.0.8

2.4.3 添加IP为10.0.0.8 和 对应的ARP缓存

[root@znix ~]# arp -s 10.0.0.8 00:0c:29:e6:84:c9

第3章 IP地址

3.1 ip地址定义(常见的地址版本位ipv4和ipv6)

IP是英文Internet Protocol的缩写形式。IP协议要求所有参加Internet的网络节点要有一个统一规定格式的地址,简称IP地址。

在Internet上通信必须采用这种32位的通用地址格式,才能保证Internet网成为向全球的开放互联数据通信统。

点分十进制:

IP地址可表达为二进制格式和十进制格式。

采用点将32位数字进行分割位4段,每8位一段的二进制数,但二进制数并不便于记忆,因此转换位10进制数显示,即点分十进制。

3.2 十进制与二进制转换

3.2.1 基准数值

十进制

128

64

32

16

8

4

2

1

二进制

10000000

01000000

00100000

00010000

00001000

00000100

00000010

00000001

3.2.1.1 示例 十进制转二进制

192.168.19.200

11000000.10101000.00010011.11001000

3.2.1.2 示例 二进制转十进制

11000100.10100100.10000111.11011100

196.164.135.220

3.3 ip地址的分类

3.3.1 按照范围

IP地址分为5类,常见的地址是A、B、C类。

地址分类

可用范围

保留地址范围

A

1.0.0.0   到 126.0.0.0

0.0.0.0 和127.0.0.0

B

128.0.0.0到191.254.0.0

128.0.0.0和191.255.0.0

C

192.0.1.0到223.255.254.0

192.0.0.0 和 223.255.225.0

D

224.0.0.0 到 239.255.255.255

用于多点广播

E

240.0.0.0 到 255.255.255.254

255.255.255.255 用于广播

3.3.2 ip地址分类详解

3.3.3 特殊ip地址说明:

127.0.0.1

表示环回地址,进行测试使用,验证本地tcp协议簇安装是否正确。

0.0.0.0

主机位全为0的成为网络地址。

255.255.255.0

主机位全为1的成为广播地址,即向所有人发出消息。

3.3.4 按网络通信方式划分

三种常见的网络通讯类型

单播(点到点)

就是点到点的通讯,例如A-B的通信方式

组播

也是一对多的方式,但是可以根据需要进行接收,如果不想接收可以进行过滤

广播(广播域)

在一定的范围内,所有成员都会收到信息,称为广播信息,并且每个成员都要收取,都要进行处理。

3.3.5 根据通讯类型划分

网络地址

表示在网络的ipv4主机地址范围内,最小地址保留位网络地址,此地址的主机部分的每个主机位均为0.

广播地址

用于向局域网络中的所有主机发送数据的特殊地址。广播地址使用该网络范围内的最大地址,即主机位全部为1的地址。

主机地址

分配给网络中终端设备的地址。

3.3.6 总结

0和255 作为主机的地址,是不能进行分配使用的,只有0-255之间的地址可以进行分配为主机地址使用。

根据主机地址范围取值,可以引入一个公式:

可以分配的主机地址个数=2的N次方-2

192.168.12.  ==  2的8次方 =256 -2 = 254

可用端口号2的 16 次方= 65536 -2 ==  65534

3.3.7 特殊说明

划分私网ip地址的作用主要是避免地址的枯竭,对于一般不同局域网环境中,地址实际是可以重复使用的不必要仍保持唯一性;就类似于人的身份证和护照的关系一样,默认私网地址只在本局

域网中有效识别,但一旦出局域网到达公网,就没有任何意思了,因此为解决这种问题,就出现了一种技术称为NAT,即地址的映射技术。

3.4 NAT技术

3.4.1 基本网络地址转换(Basic NAT)

这一种也可称作NAT或“静态NAT”。它在技术上比较简单一点,仅支持地址转换,不支持端口映射。Basic NAT要求对每一个当前连接都要对应一个公网IP地址,因此要维护一个公网的地址池。宽带(broadband)路由器通常使用这种方式来允许一台指定的设备去管理所有的外部链接,甚至当路由器本身只有一个可用外部IP时也如此,这台路由器有时也被标记为DMZ主机。

基本NAT要维护一个无端口号NAT表,结构如下。

3.4.2 网络地址端口转换(NAPT)

这种方式支持端口的映射,并允许多台主机共享一个公网IP地址。

支持端口转换的NAT又可以分为两类:源地址转换和目的地址转换。前一种情形下发起连接的计算机的IP地址将会被重写,使得内网主机发出的数据包能够到达外网主机。后一种情况下被连接计算机的IP地址将被重写,使得外网主机发出的数据包能够到达内网主机。实际上,以上两种方式通常会一起被使用以支持双向通信。

NAPT维护一个带有IP以及端口号的NAT表,结构如下。

3.4.3 NAT图解

3.5 子网划分

3.5.1 定义

当我们对一个网络进行子网划分时,基本上就是将它分成小的网络。比如,当一组IP地址指定给一个公司时,公司可能将该网络“分割成”小的网络,每个部门一个。这样,技术部门和管理部门都可以有属于它们的小网络。通过划分子网,我们可以按照我们的需要将网络分割成小网络。这样也有助于降低流量和隐藏网络的复杂性。

提高ip地址的利用效率,减少浪费。

3.5.2 不对子网进行划分的问题

1、会出现大量的局域网地址,同时向一个网关发送请求,引起网关设备的负载过高。

2、会引起局域网内的大量广播数据传输,形成广播风暴

3、会非常的浪费地址。 B类地址可以容纳65536 个地址 ,没有能够承载怎么大的子网的路由设备。客户端承受不了这么多的广播。

3.5.3 子网掩码

利用掩码标识主类地址信息

点分十进制表示 ,每8位为一组,总共4组

只要是网络位二进制为1 主机位为0

类别

起始位

开始

结束

点分十进制掩码

A

0

0.0.0.0

127.0.0.0

255.0.0.0

B

10

128.0.0.0

191.255.0.0

255.255.0.0

C

110

192.0.0.0

223.255.255.0

255.255.255.0

3.5.4 子网划分示例 【172.16.0.0/18】

1. 可以划分几个子网,子网网络地址是什么

4

172.16.0.0     

 172.16.64.0

 172.16.128.0

 172.16.192.0

2. 子网掩码是什么

255.255.192.0

3. 每一个子网中,可以的主机地址范围是什么

172.16.00000000.00000000  172.16.0.1

172.16.00111111.11111111  172.16.63.254

172.16.01000000.00000000  172.16.64.1

172.16.01111111.11111111  172.16.127.254

172.16.10000000.00000000  172.16.128.1

172.16.10111111.11111111  172.16.191.254

172.16.11000000.00000000  172.16.192.1

172.16.11111111.11111111  172.16.255.254

3.5.5 192.168.1.0/28 地址对应掩码地址、主机地址、以及每段子网中的网络地址和广播地址。

128 64 32 16 8 4 2 1

掩码地址:

       255.255.255.240

主机地址

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏双十二技术哥

Android性能优化(十一)之正确的异步姿势

在前面的性能优化系列文章中,我曾多次说过:异步不是灵丹妙药,不正确的异步方式不仅不能较好的完成异步任务,反而会加剧卡顿。Android开发中我们使用异步来进行耗...

1002
来自专栏运维小白

1-1 CCNA

单工:BB机,只能收,不能发 半双工:对讲机,收的时候不能发,发的时候不能收 全双工:电话,手机,能同时收发 ---- 冲突域:当一个节点向另一个节点发送数据...

3397
来自专栏Golang语言社区

linux服务器开发三(网络编程) --二

半关闭 当TCP链接中A发送FIN请求关闭,B端回应ACK后(A端进入FIN_WAIT_2状态),B没有立即发送FIN给A时,A方处在半链接状态,此时A可以接收...

5217
来自专栏landv

烽火2640路由器命令行手册-13-VPDN(L2TP,PPTP,PPPOE)配置命令

Vpdn子模块是L2TP模块以及PPTP模块中和VPDN组打交道的一个子模块,主要用于创建和管理VPDN组信息, NAC(Network Access Conc...

1042
来自专栏技术小黑屋

每周一脚本:过滤单个Android程序日志

在Android软件开发中,增加日志的作用很重要,便于我们了解程序的执行情况和数据。Eclipse开发工具会提供了可视化的工具,但是还是感觉终端效率会高一些,于...

801
来自专栏重庆的技术分享区

五(七)层互联网协议(计算机网络)深入浅出,看完必懂【图文二】

1293
来自专栏北京马哥教育

linux性能调优(整理)

为什么要性能调优? 大部分的linux发行版是为了完全兼容市场中大部分计算机而设计的。这是一个相当混杂的硬件集合(硬盘,显卡,网卡,等等)。所以Red Hat,...

1.2K12
来自专栏互联网杂技

前端进阶-让你升级的网络知识

在正文之前,我想问大家一个问题: 问:亲,你有基础吗? 答: 有啊,你说前端吗? 不就是HTML,JS,CSS 吗? so easy~ 问: oh-my-zsh...

3738
来自专栏你不就像风一样

图解HTTP,TCP,IP,MAC的关系

762
来自专栏守候书阁

vue+webpack搭建单文件应用和多文件应用webpack.config.js的写法区别

这几天,都遇到过有人问过相似的问题,就是用vue和webpack搭建目录的时候,怎么把单页面应用的配置改成多文件应用,或者是怎么把多文件应用的配置改成单文件应用...

1013

扫码关注云+社区