目录
1、IP编址
1.1简介
IPv4地址有32bit。通常采用“点分十进制”表示,具有两个部分:网络部分和主机部分
例如:11000000.10101000.00000001.00000001十进制为192.168.10.1
表4-1:8个bit的10十进制转换
进制 | 第8位 | 第7位 | 第6位 | 第5位 | 第4位 | 第3位 | 第2位 | 第1位 |
二进制8bit | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
10进制 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
科学计数 | 2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
同子网互访:直接将数据转发给目的主
按照上表,例如 二进制数101100,总共六位,自右向左分别表示如图1:分别表示1,2,4,8,16,32,其中自右向左的第三位,第四位,第6位取值1,因此该数等于十进制数4+8+32=44
那么二进制数的111111111等于多少呢?请将所有bit位代表的十进制数加起来,结果是255。
因此最小的IP地址是0.0.0.0,最大的IP地址是255.255.255.255
图1 二进制位与10十进制之间的对应关系
1.2掩码
IP地址由两部分组成,一部分是网络部分,一部分是主机部分,当两个IP地址的网络部分相同的时候,则这两个IP地址所在同一个网段,此时主机部分不同用于区分不同的主机IP地址。
由子网掩码来区分IP地址的网络位和主机位,子网掩码是由连续的1和0组成,1在前,0在后,子网掩码为1的部分对应IP地址的网络部分,子网掩码为0的部分对应的IP地址的主机部分。表达方式有两种,点分十进制:255.255.255.0或者十进制表示掩码长度24(表示24个1,即IP地址的前24位为网络部分)。如图2所示,IP地址192.168.10.1的网络部分为24bit长度。
进而IP地址也有两种表示方式:192.168.10.1/255.255.255.0掩码表示法,或者192.168.10.1/24前缀长度表示法。
1.3总结
当两个IP地址的32bit中的网络部分相同,则该IP地址为相同网段的IP地址,IP地址每8bit位一段用10进制表示。掩码中右多少个1连续的1,表示IP地址的网络部分由多长。如果经过比较之后两个IP地址的32bit中的网络部分不同,则表示该两个地址是不同网段的IP地址。
相同网段的IP地址,直接发送ARP获取对端的IP地址进行通信;
不通网段的IP地址,必须通过网关地址才能通信;因此网关地址必须和自身在同一个网段。
2、二层通信:
2.1实验拓扑图
图3 相同网段之间的通信拓扑
2.2通信过程:
数据帧:就是数据包,此处涉及到数据包的完整封装,名字到OSI七层模型的各层之后不同。篇幅有限不详细解释,暂且理解数据帧就是数据包
2.2.1PC1的工作流程
1、PC1访问PC2,通过自己的掩码24,判断网络位与PC2的IP地址的网络位相同,属于同一个网段,通俗点将,这两个IP地址在同一个网络中
2、PC1判断PC2与自己在同一个网段中,直接封装数据包发送,查看本机缓存表,是否存在对端的PC2的IP地址对应的MAC地址,如果存在则直接封装数据包发送。
3、发现本机不存在PC2的MAC地址,则发送ARP广播请求PC2的IP地址对应的MAC地址。如图4所示
图4 PC1的ARP表项为空
4、PC2回应收到ARP报文后,将自己的MAC地址发送给PC1,同时将ARP请求报文中携带的PC1的MAC地址存放到自己的缓存表中
5、PC1收到后ARP应答报文,将其中的PC2的MAC地址放入缓存表中,并封装数据帧发送。交换机收到数据帧后根据MAC地址表转发给PC2。PC2回应报文时,由于已有PC1的MAC地址,不需要再发送ARP请求,直接封装数据帧发送即可。
图5 PC1的ARP表项
2.2.2 交换机的工作流程
此通信过程中交换机是按照MAC地址表进行转发数据,而MAC地址表是根据数据帧中的源MAC地址和接受数据帧的接口
1、在该实验拓扑中,PC1访问PC2发送的第一个数据包是ARP报文(由于PC1不知道PC2的MAC地址),交换机收到该ARP报文,根据该报文的源MAC地址以及收包接口G0/0/1形成一个对应的动态的MAC地址表项,如图6所示。同时将该ARP请求报文广播从所有接口发出(由于ARP请求报文目的MAC地址是全1的广播MAC地址)
图6 交换机中的MAC地址表
2、PC2收到ARP请求后,回应ARP报文(此报文携带的目的MAC地址为PC1的单播MAC地址),因此交换机收到PC2回应的报文之后,根据报文的源MAC地址和收包接口G0/0/2形成了一条MAC地址表,如图7所示。同时查看该报文的目的MAC地址,发现是去往5489-9874-1111,查找MAC地址表,从G0/0/1接口发出给到PC1
图7 交换机中的MAC地址表
后续通信中交换机每收到一个数据帧,ARP帧或者非ARP数据帧,都会根据数据帧的源MAC地址和收包接口更新该MAC地址表中对应的MAC地址的老化时间。
如果PC中的ARP表项老化之后,PC也会重新发送ARP请求报文进行ARP请求,刷新老化时间。
思考题:如果PC1的IP地址是192.168.1.1/24,而PC2的IP地址是192.168.1.129/25,请问在本次的拓扑图中两者能否正常通信。请在评论区回复。
下一贴,本章讨论了二层通信,下一章继续讨论三层通信。