鸟哥的 Linux 私房菜笔记 TCP/IP 的网络层相关封包与数据



以二进制说明 Network 第一个数字的定义:
Class A : 0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx  ==> NetI_D 的开头是 0
          |--net--|---------host------------|
Class B : 10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx  ==> NetI_D 的开头是 10
          |------net-------|------host------|
Class C : 110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx  ==> NetI_D 的开头是 110
          |-----------net-----------|-host--|
Class D : 1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx  ==> NetI_D 的开头是 1110
Class E : 1111xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx  ==> NetI_D 的开头是 1111


五种分级在十进制的表示:
Class A :   0.xx.xx.xx ~ 127.xx.xx.xx
Class B : 128.xx.xx.xx ~ 191.xx.xx.xx
Class C : 192.xx.xx.xx ~ 223.xx.xx.xx
Class D : 224.xx.xx.xx ~ 239.xx.xx.xx
Class E : 240.xx.xx.xx ~ 255.xx.xx.xx


上表中你只要记忆三种等级,亦即是 Class A, B, C 即可,
因为 Class D 是用来作为群播 (multicast) 的特殊功能之用 (最常用在大批计算机的网络还原),
至于 Class E 则是保留没有使用的网段。
因此,能够用来设定在一般系统上面的,就只有 Class A, B, C 三种等级的 IP 啰!


在 IPv4 里面就只有两种 IP 的类别,分别是:
Public IP : 公共 IP ,经由 INTERNIC 所统一规划的 IP,有这种 IP 才可以连上 Internet ;
Private IP : 私有 IP 或保留 IP,不能直接连上 Internet 的 IP , 主要用于局域网络内的主机联机规划。
私有 IP 也分别在 A, B, C 三个 Class 当中各保留一段作为私有 IP 网段,那就是:
Class A:10.0.0.0    - 10.255.255.255
Class B:172.16.0.0  - 172.31.255.255
Class C:192.168.0.0 - 192.168.255.255
由于这三段 Class 的 IP 是预留使用的,所以并不能直接作为 Internet 上面的连接之用,他有底下的几个限制:
私有 IP 的路由信息不能对外散播 (只能存在内部网络);
使用私有 IP 作为来源或目的地址的封包,不能透过 Internet 来转送 (不然网络会混乱);
关于私有 IP 的参考纪录(如 DNS),只能限于内部网络使用 (一样的原理啦)


要将这些私有 IP 送上 Internet ,设定一个简单的防火墙加上 NAT (Network Address Transfer) 服务,
就可以透过 IP 伪装来使你的私有 IP 的计算机也可以连上 Internet!


使用Netmask (子网掩码)进行子网的切分
子网掩码决定使用多少位Host_ID当作 Net_ID;
例如:
192.168.0.0 ~ 192.168.0.255 这个 Class C 的网域中
Netmask:   255.255.255.0   <==子网掩码
Network:   192.168.0.0     <==第一个 IP
Broadcast: 192.168.0.255   <==最后一个 IP
可用以设定成为主机的 IP 数:
192.168.0.1 ~ 192.168.0.254
他的 Netmask是
11111111.11111111.11111111.00000000 ==> 255.255.255.0;
1代表网络号,0代表主机号;
如果想要将这个网段切割成更小的网段就要将主机号当作网络号,网络号越大主机号越少,则网段越小;
将子网掩码的网络号添加1位即25位,就分出两个子网
11111111.11111111.11111111.1 0000000 ==>  255.255.255.128
第一个子网
Network:   11000000.10101000.00000000.0 0000000   192.168.0.0
Broadcast: 11000000.10101000.00000000.0 1111111   192.168.0.127
           |----------Net_ID-----------|-host-|
Netmask:   11111111.11111111.11111111.1 0000000   255.255.255.128
第二个子网
Network:   11000000.10101000.00000000.1 0000000   192.168.0.128
Broadcast: 11000000.10101000.00000000.1 1111111   192.168.0.255
           |----------Net_ID-----------|-host-|
Netmask:   11111111.11111111.11111111.1 0000000   255.255.255.128
添加1位,2的1次方是2就变成2个子网,  原来一个网络号变成2个不同的网络号
添加2位,2的2次方是4就变成4个子网,原来一个网络号变成4个不同的网络号
....
常常会以 Network 以及 Netmask 来表示一个网域,例如这样的写法:
Network/Netmask
192.168.0.0/255.255.255.0
192.168.0.0/24    <==因为 Net_ID 共有 24 个 bits
Net_ID 共有 26 个 bits
192.168.0.0/26
192.168.0.64/26
192.168.0.128/26
192.168.0.192/26
要知道如何透过 Netmask 去计算出 Network, Broadcast 及可用的 IP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值