目录
基础知识
IP地址
子网掩码
MAC地址
网络传输遇到的设备
集线器
交换机
主机
路由器
冲突域
广播域
局域网数据传输流程
集线器相连
交换机相连
交换机与路由器相连
广域网数据传输流程(重点)
上一节内容已经介绍了IP地址用来定位网络中唯一的一台主机,它是一个32位的二进制数,通常用“点分十进制”来表示即a.b.c.d表示(a,b,c,d为0~255之间的数),那么它是怎样定位一台主机呢?
IP地址的组成
主机号和网络号的划分
通过合理的设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的IP地址都是唯一的,那么主机号和网络号是如何划分的呢?
有一种划分网络号和主机号的方案,把IP地址分为五类,但是常用的为以下三类:
各类地址的表示范围:
分类 | 范围 | 适用网络 | 网络数量 | 主机最大连接数 |
---|---|---|---|---|
A类 | 0.0.0.0~127.255.255.255 | 大型网络 | 126 | 2^24-2 |
B类 | 128.0.0.0~191.255.255.255 | 中等规模网络 | 16384 | 2^16-2=65534 |
C类 | 192.0.0.0~223.255.255.255 | 小型网络 | 约209万 | 2^8-2=254 |
说明:最大主机连接数减去2是因为减去了两个特殊的IP地址
特殊的IP地址
子网掩码的格式 :
子网掩码的格式和IP地址的格式类似,也是一个32位的二进制数,通常用“点十进制”表示,左边位网络位,用二进制数1表示,1的数目等于网络位的长度,右边为主机位,用二进制数0表示,0的个数为主机位的长度
子网掩码的作用
例:一个B类IP地址为191.110.0.0,使用子网掩码255.255.128.0来划分子网
划分子网后网络号和主机号的计算方式:
- IP地址与子网掩码按位与,得到的就是网络号
- 子网掩码按位取反,再与IP地址按位与,得到的就是主机号
例:
MAC地址的概念
MAC地址(Media Access Control Address),用于标识网络硬件设备的物理地址
MAC地址的格式:长度为48位,一般用16进制数字加冒号的形式表示,如:08:00:27:03:fb:19
特殊的MAC地址
发送一个广播数据报,表示对同网段所有主机发送数据报,广播数据报的MAC地址:FF:FF:FF:FF:FF:FF
一跳一跳的网络传输
以下为主机B传输数据到主机C经过的网络设备:
上述经过的网络设备:
注意:集线器和二层交换机不会对数据报封装和分用,不算在下一跳设备
IP地址与MAC地址的区别
比如:唐僧西天取经,IP地址为长安和西天,MAC地址为中途的五指山,女儿国等
集线器工作在物理层,发送到集线器的数据,集线器将数据复制并转发到其他所有端口
端口:分为物理端口和逻辑端口,物理端口指硬件设备如集线器,交换机,路由器等的物理端口,逻辑端口指进程绑定的端口,属于操作系统虚拟的一个0~65535的数字
交换机如何工作
交换机工作在数据链路层,交换机内部维护了一张MAC地址转换表:
MAC地址转换表主要记录MAC地址与端口之间的映射(端口指交换机后边的物理端口)
主机连接到交换机,主机发送数据的时候,交换机可以记录该主机的MAC地址与端口信息
发送到交换机的数据(此时数据中包含了目的MAC),根据MAC地址转换表,通过目的主机的MAC地址查找到对应端口,交换机只需要将数据转发到对应端口即可
根据MAC地址找不到端口怎么办?
但是通过目的主机MAC找对应端口可能存在找不到的情况,如果找不到,交换机设置数据报目的MAC为为广播地址FF:FF:FF:FF:FF:FF,发送到其他所有端口,(因为数据中有目的IP,目的IP的主机返回返回自己的MAC地址),待目的主机返回响应后,交换机再记录该主机MAC与端口的映射信息
这个发广播数据报的过程类似在群里喊话:
a:张三在吗?这里有你的快递
张三:在的呢,在x楼xxx房间
这样就能将快递正确的交给张三
在发送数据时,发送端主机都会先根据网络分层对数据进行封装
源主机与目的主机是否在同一个网段对应下一跳设备也有所不同:
关于网关设备,这里简单理解为不同网段的网络互联时,需要使用网关设备,通常网关设备为路由器
从上到下封装时,封装到数据链路层,下一跳设备的IP都能获取到,但是MAC地址可能不知道,此时就需要使用ARP寻址
ARP寻址
ARP协议介于数据链路层和网络层,ARP协议建立了IP地址与MAC地址的映射关系,在数据链路层,寻找下一跳MAC地址的过程称为ARP寻址
ARP寻址的过程 :
主机和路由器中都保存了一张ARP缓存表,通过IP地址可以找到MAC地址,如果找不到MAC地址,则发送ARP广播数据报,目的MAC为广播地址,询问下一跳设备的MAC地址,过程类似如下喊话:
路由器的介绍
路由器作为网关,可以划分公网和局域网,某些路由器还可以将局域网划分为多个子网(不同网段),公网端口为WAN口,为单独的网卡,具有公网IP地址和公网MAC地址,多个子网由局域网端口LAN口划分,每个端口都有单独的网卡,具有该网段IP地址和MAC地址
说明:企业级的路由器才能划分子网,家用的路由器不可以划分
路由器功能概述
局域网划分的多个子网,可直接通过ARP寻址找到局域网任意的一台主机
局域网内的主机发送数据到公网主机时,需要基于NAPT协议将局域网主机的IP地址和端口号转换为路由器公网的IP和端口号(指路由器中运行程序的端口)
路由器的路由功能能在复杂的网络结构中找出一条通往终点的路线,类似规划路线,找到更快到达目的的路线
路由器的功能总结
主机之间通过网络设备的物理端口,网线相连时,两个主机在同一时刻发送数据报,如果存在冲突,则该网络范围就为一个冲突域
集线器的冲突域
集线器的所有端口为一个冲突域,因为集线器是将数据转发到所有端口,如果有两个数据要同时转发,就会出现冲突
交换机的冲突域
交换机的一个端口为一个冲突域,因为交换机是将数据转发到对应的端口,两个数据转发到不同端口不存在冲突,但是转发到同一个端口就存在冲突
广播指某个网络中的主机向其他所有主机发送数据(IP,MAC地址设置为广播地址),这个数据所能传播到的范围称为广播域
集线器的广播域
集线器接收到广播数据报,转发到所有端口,集线器的所有端口为一个广播域
交换机的广播域
交换机接收到广播数据报,会转发到其他所有的端口
路由器的广播域
路由器可以隔离广播域,路由器某个LAN口网卡接收到广播域,如果发现是同网段,则丢弃,即广播数据不会扩散到路由器以外
集线器相连的网络数据传输流程:
交换机相连的网络数据传输流程:
交换机与路由器相连的网络数据传输流程:
广域网数据传输流程:这里以在浏览器地址栏输入www.baidu.com后数据的传输流程为例说明