CCNA 之 三 TCP/IP 及 子网划分

TCP/IP

TCP/IP 协议集或协议簇

概念:

  • 传输控制协议/IRI特网协议(TCP/IP)组是由美国国防比(DoD)所创建的,主要用来确保数据的完整性及毁灭性战争中维持通信
  • 是有一组不同功能的协议组合在一起构成的协议簇
  • 利用一组协议完成OSI所实现的功能

该协议簇对应的模型是DOD模型,和OSI七层模型很类似。

下图为OSIDoD的对比
OSI-and-DoD

更详细的了解DoD模型中的涉及到的协议,下图:
DoD-More

应用层的协议:
DoD-application

主机到主机层
Host to Host

主机到主机层:主要用于端到端的链接

TCP的报文结构
TCP-报文

UDP的报文结构
UDP-报文

TCP 与 UDP 对比:
传输控制协议(TCP)

面向连接
可靠传输
留空
使用TCP的应用:web浏览器;电子邮件;文件传输程序;

用户数据保温协议(UDP)

无连接
不可靠传输
尽力传递
使用UDP的应用:域名系统(DNS);视频流;IP语音(VoIP)

当有两台主机之间需要通信,那么:

  • 源端口随机分配,目标端口使用知名端口;
  • 应用客户端使用的源端口号一般为系统中未使用的且大于1023
  • 目的端口号为服务器端应用的进程,如telnet23

因特网层
UDP-报文

OSI七层中的网络层很类似
定义了网际互联协议IP协议
这一层主要特点:

负责将分组报文从源端发送到目的端
网络层作用:

  • 为网络中的设备提供逻辑地址
  • 负责数据包的寻经和转发
    在这一层有:ICMP、IGMP、IP、RARP、ARP 协议在此层工作

IP报文格式
IP-头部信息

IP头部大小为20字节Bytes

ARP地址解析协议

主要用于将IPv4解析为物理MAC地址。
MAC地址是一个二层的地址,在所有的网络端口如:电脑网口、路由器网口和交换机的网络都会有一个MAC地址。

TCP三次握手

三次握手(three times handshake;three-way handshake)所谓的三次握手即对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时撤消联系,并建立虚连接。
为了提供可靠的传送,TCP在发送新的数据之前,以特定的顺序将数据包的序号,并需要这些包传送给目标机之后的确认消息。TCP总是用来发送大批量的数据。当应用程序在收到数据后要做出确认时也要用到TCP。

过程

第一次

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

第二次

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

三次握手理解图:
TCP三次握手流程图

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念.

TCP三次握手流程图

模拟两台主机之间的通信:
TCP三次握手流程图

VLSM 可变长子网掩码

什么是IP地址:

  • 32位,8位一组,一公四组。
  • 点分十进制

如IP地址:192.168.10.1 换算成二进制如下:
192: 11000000
168: 10101000
10: 00001010
1: 00000001

具体的十进制转换二进制这里不多进行介绍,详情请移步百度;

由此可知,全球可用的IP地址个数为:2的32次方;

而为了更好的区分,把这所有的IP分为5类:A、B、C、D、E 类,如下图:
IP地址分类

分类

E类地址是保留用于科学使用,D类用户组播使用
而A、B、C三类,就是公网的合法使用的IP。

由次分类,又衍生出一个概念:网络部分、主机部分
如何区分一个IP地址哪一部分是网络部分和主机部分呢?

根据类别来区分网络位和主机位
A类地址:前八位 是网络号,剩下的二十四位是主机号
B类地址:前十六位 是网络号,剩下的十六位是主机号
C类地址:前二十四位 是网络号,剩下的八位是主机号

会发现IP地址分类中,有一些地址没有体现,如:

0.0.0.0、127段
127段: 是用于本地的回环测试使用的

通信类型:

  • 单播
  • 组播
  • 广播

IP类型

  • 网络地址:代指网络的地址。在网络的IPv4地址范围内,最小地址保留为网络地址。次地址的主机部分的每个主机位均为0.
  • 广播地址:用于向网络中的所有主机发送数据的特殊地址。广播地址使用该网络范围内的最大地址。即主机部分的个比特位全部为1的地址。
  • 主机地址:分配给网络中终端设备的地址。

为什么要进行划分子网?

打个比喻,我们现在得到一个地址段:10.0.0.0/8,那个这个段内一共有2的24次方减2的主机可用,如此庞大数量,一旦同时发送ARP广播,整个网络就会瘫痪
并且会非常的浪费,而且如大的网络,只有一个网络,如果进行子网划分,那么就可以根据需求进行网络的划分,进行ARP广播隔离。
就相当于把一个大的网络,切分成很多个网络。

到底如何划分子网呢?
这里就需要提到一个概念:掩码
掩码和IP地址一般都是成对出现的,共同作用。

前面说一个IP地址分为:网络号和主机号
默认情况下,根据类别来进行区分网络号和主机号
那么还可以根据掩码来进行区分网络号和主机号,并且掩码是可变长的,当掩码变长后,就可以进行对一个大的网络进行子网划分;

IP案例
一般我们的IP地址如下:

172.16.0.0 255.255.0.0
这里前面是ip地址,后面是掩码
同时也可以写成: 172.16.0.0/16,斜杠后面的16,表示掩码长度,因为把掩码中的前三段255换算成二进制,就有16个1,在这里和写十进制的效益是相同的

如下图:区分网络位和主机位
VLSM

如下图,网络位向主机位借一位:
VLSM

借了一位后,掩码向右移了一位,掩码就变成255.255.128.0
分割线的左端是网络位,右边是主机位,这样这个网络就分为了两个子网;
划分之后,两个子网的每个可用IP都是:2的15次方;

如下图是划分子网的思路:
VLSM

network-3

  • 现根据IP区分类别,找到默认的掩码;
  • 变更掩码,找子网
  • 得出子网号
  • 得出主机段
  • 得出广播号

我们知道IP地址是一个4字节(共32bit)的数字,被分为4段,每段8位,段与段之间用句点分隔。为了便于表达和识别,IP地址是以十进制形式表示的如210.52.207.2,每段所能表示的十进制数最大不超过255。IP地址由两部分组成,即网络号(Network ID)和主机号(Host ID)。网络号标识的是Internet上的一个子网,而主机号标识的是子网中的某台主机。网际地址分解成两个域后,带来了一个重要的优点:IP数据包从网际上的一个网络到达另一个网络时,选择路径可以基于网络而不是主机。在大型的网际中,这一点优势特别明显,因为路由表中只存储网络信息而不是主机信息,这样可以大大简化路由表

子网划分基础 :

子网划分(subnetting)的优点:

  • 减少网络流量
  • 提高网络性能
  • 简化管理
  • 易于扩大地理范围

怎么样创建一个子网:

如何划分子网?首先要熟记2 的幂:20 次方到9 次方的值分别为:1,2,4,8,16,32,64,128,256512
还有要明白的是:子网划分是借助于取走主机位,把这个取走的部分作为子网位。因此这个意味划分越多的子网,主机将越少。

子网掩码(Subnet Masks) :

子网掩码用于辨别IP 地址中哪部分为网络地址,哪部分为主机地址,有1 和0 组成,长32 位,全为1 的位代表网络号.不是所有的网络都需要子网,因此就引入1 个概念:默认子网掩码(default subnet mask).A 类IP 地址的默认子网掩码为255.0.0.0;B 类的为255.255.0.0;C 类的为255.255.255.0。

Classless Inter-Domain Routing(CIDR):

CIDR 叫做无类域间路由,ISP 常用这样的方法给客户分配地址,ISP 提供给客户1 个块(block size),类似这样:192.168.10.32/28,这排数字告诉你你的子网掩码是多少,/28 代表多少位为1,最大/32.但是你必须知道的一点是:不管是A类还是B类还是其他类地址,最大可用的只能为/30,即保留2 位给主机位。

CIDR 值:

  • 掩码255.0.0.0:/8(A 类地址默认掩码)
  • 掩码255.255.0.0:/16(B 类地址默认掩码)
  • 掩码255.255.255.0:/24(C 类地址默认掩码)

划分A类B类C类地址子网:

划分子网的几个捷径:

  • 你所选择的子网掩码将会产生多少个子网?:2 的x 次方-2(x 代表子网位,即2 进制为1 的部分) PS:这里的x是指除去默认掩码后的子网位,例如网络地址192.168.1.1,掩码255.255.255.192,因为是C类地址,掩码为 255.255.255.0。那么255.255.255.192(x.x.x.11000000)使用了两个1来作为子网位。
  • 每个子网能有多少主机?: 2 的y 次方-2(y 代表主机位,即2 进制为0 的部分)
  • 有效子网是?:有效子网号=256-10 进制的子网掩码(结果叫做block size 或base number)
  • 每个子网的广播地址是?:广播地址=下个子网号-1
  • 每个子网的有效主机分别是?:忽略子网内全为0 和全为1 的地址剩下的就是有效主机地址.

最后有效1 个主机地址=下个子网号-2(即广播地址-1)

根据上述捷径划分子网的具体实例:

C 类地址例子1:网络地址192.168.10.0;子网掩码255.255.255.192(/26)

  • 子网数=2*2-2=2
  • 主机数=2 的6 次方-2=62
  • 有效子网?:block size=256-192=64; 所以第一个子网为192.168.10.64, 第二个为192.168.10.128
  • 广播地址:下个子网-1.所以2 个子网的广播地址分别是192.168.10.127 和192.168.10.191
  • 有效主机范围是:第一个子网的主机地址是192.168.10.65 到192.168.10.126;第二个是192.168.10.129 到192.168.10.190

C 类地址例子2:网络地址192.168.10.0;子网掩码255.255.255.128(/26)

我知道我举的这个例子只有一个子网位,这通常是不合法的(由RFC文档所规定)。但是!世事无绝对,不是吗?这个子网掩码能在你需要两个子网每个子网 126 台主机时给你帮助,不过这是在特殊情况下实现的。在思科路由器的全局配置模式下输入ip subnet -zero命令来告诉你的路由器打破规则并使用一个1位的子网掩码(这个命令通常在运行CISCO IOS 12.x的所有路由器上默认存在)

  • 子网数=2
  • 主机数=2 的7 次方-2=126
  • 有效子网?:block size=256-128=128; 所以第一个子网为192.168.10.0, 第二个为192.168.10.128
  • 广播地址:下个子网-1.所以2 个子网的广播地址分别是192.168.10.127 和192.168.10.255
  • 有效主机范围是:第一个子网的主机地址是192.168.10.1 到192.168.10.126;第二个是192.168.10.129 到192.168.10.254

B 类地址例子1:网络地址:172.16.0.0;子网掩码255.255.255.128(/25)

注意!这个不是C类地址的子网掩码,然而这个子网划分是有一定难度的,但是!这个掩码却是十分有用的因为它创建了510个子网每个子网有126个主机,一个很好的组合。

  • 子网数=2的9次方-2=510
  • 主机数=2的7次方-2=126
  • 有效子网?:block size=256-255=1,2,3,......这是第三个八位元组的数值,但是你不能忘记还有一位子网位在第四个八位元组。所以第四个八位元组分为两个子网。例如第三个八位元组表示子网3,那第四个八位元组的两个子网为172.16.3.0和172.16.3.128
  • 广播地址:下个子网-1.所以第一个子网和最后1 个子网的广播地址分别是
    172.16.0.255 和 172.16.255.127
  • 有效主机范围是:第一个子网的主机地址是172.16.0.129 到172.16.0.254;最后1 个是172.16.255.0 到172.16.255.126

(补充一下:可能有人问第一个子网为什么不是172.16.0.0---172.16.0.128呢?不要忘记!子网位和主机位不能为全0或者全1, 172.16.0.0代表了整个172.16.x.x网络,同理,最后一个子网也就不可能是172.16.255.128--- 172.16.255.255了。)

B 类地址例子2:网络地址:172.16.0.0;子网掩码255.255.192.0(/18)

  • 子网数=2*2-2=2
  • 主机数=2 的14 次方-2=16382
  • 有效子网?:block size=256-192=64;所以第一个子网为172.16.64.0,最后1 个为172.16.128.0
  • 广播地址:下个子网-1.所以2 个子网的广播地址分别是172.16.127.255 和172.16.191.255
  • 有效主机范围是:第一个子网的主机地址是172.16.64.1 到172.16.127.254;第二个是172.16.128.1 到172.16.191.254

B 类地址例子3:网络地址:172.16.0.0;子网掩码255.255.255.224(/27)

  • 子网数=2 的11 次方-2=2046(因为B 类地址默认掩码是255.255.0.0,所以网络位为8+3=11)
  • 主机数=2 的5 次方-2=30
  • 有效子网?:block size=256-224=32; 所以第一个子网为172.16.0.32, 最后1 个为172.16.255.192
  • 广播地址:下个子网-1.所以第一个子网和最后1 个子网的广播地址分别是172.16.0.63 和172.16.255.223
  • 有效主机范围是:第一个子网的主机地址是172.16.0.33 到172.16.0.62;最后1 个是172.16.255.193 到172.16.255.223

A类地址子网划分跟B类和C类并没有什么区别,只是掩码位由16位和8位变成了24位而已。

简单地举个例子吧:

网络地址:10.0.0.0;子网掩码255.255.0.0(/16)

  • 子网数=2 的8次方-2=254
  • 主机数=2 的16次方-2=65534
  • 有效子网?:block size=256-255=1,2,3,......; 所以第一个子网为10.1.0.0, 最后1 个为10.254.0.0
  • 广播地址:下个子网-1.所以第一个子网和最后1 个子网的广播地址分别是10.1.255.255 和 10.254.255.255
  • 有效主机范围是:第一个子网的主机地址是10.1.0.1 到10.1.255.254;最后1 个是10.254.0.1 到10.254.255.254

私网地址

IP地址分为:

  • 公有地址
  • 私有地址

前面说的都是公有地址

而私有地址有三个段,在A、B、c三类中,分别都有一个段

  • 10.0.0.0 255.0.0.0 (10.0.0.0/8)
  • 172.16.0.0 255.255.0.0 (172.16.0.0/16)
  • 192.168.0.0 255.255.255.0 (192.168.0.0/24)

私有地址,主要用于内网,私有地址在公网是不被转发和认可的。
这样就可以节省大量的公有地址,这样可以通过路由的转发功能,去公网。

posted @ 2018-06-11 22:20  司家勇  阅读(634)  评论(0编辑  收藏  举报