目录
IP地址
IP地址
IP地址的组成
子网掩码
mac地址
冲突域与广播域
数据传输流程
IP地址
IP地址
互联网协议地址。每一个联网的主机都会分配一个IP地址。为32位二进制数,用4个'.'均分为四部分,在命令提示符中输入:ipconfig命令,可以显示本机IP:
ip协议其实有两个版本,为IPV4和IPV6,IPV4可以分配的ip数量有2^32个( 大约有43亿个ip),而IPV6可以分配的IP数量有2^64个。早期计算机都使用的IPV4,实际上43亿个ip对于当前的世界来说并不太够用,因此IPV4协议做了一些优化:
- 只有上网才分配ip,不上网就不分配。
- IP分为内网和外网,内网是局域网的简称,覆盖的范围小,内网设备的ip就是内网ip,在同一个内网中的设备ip是唯一的,当内网设备访问外网时,这个内网ip才会被替换成该局域网分配的外网ip,也就是NAT机制。因此在两个不同内网中的设备ip可以相同。
在家用路由器中,有两个ip,一个WAN口ip,另有多个LAN口ip,WAN口就是连接的外网,LAN口连接的就是内网。当内网设备连接外网时,就会执行NAT机制。NAT的基本功能是用一个或多个ip地址来实现1个私有网中的所有主机和公网中主角及的ip通信,也就是内网与外网的转换。
通过这些措施,就可以暂时解决ip地址不够用的问题,但是这些都是治标不治本的。更好的做法是使用IPV6协议。
但是由于历史原因,IPV6没有普及,并且IPV4不能升级到IPV6,除非更换一批新的设备,这显然是一笔开销,而且当前IPV4协议还可以正常使用,因此很多企业仍在使用IPV4。
如没有特殊说明,IP协议均指IPV4协议。
IP地址的组成
IP地址分为两个部分,网络号和主机号
网络号的作用是识别设备所在的网络,也就是局域网;主机号的作用是定位到局域网中的主机地址。同一个网段中,网络号相同,但主机号不同。不同网段中,网络号不同,主机号可以相同。
网络号和主机号的划分:IP地址分为ABCDE五类:
分类 | 范围 | 适用网络 |
A类 | 1.0.0.0~126.255.255.255 | 大型网络 |
B类 | 128.0.0.0~191.255.255.255 | 中型网络 |
C类 | 192.0.0.0~223.255.255.255 | 小型网络 |
D类 | 224.0.0.0~239.255.255.255 | |
E类 | 240.0.0.0~247.255.255.255 |
0表示任何地址,127代表环回地址(用于本机测试)。
如果按照以上的方式分类,总会造成很多的ip浪费,往往会出现C类不够用,但是B类却用不完的情况。为了避免这种资源浪费,引入了子网掩码来表示。
子网掩码
子网掩码同样由32位二进制数组成,左边为网络位,由1组成,右边为主机位,由0组成。子网掩码的左边全为1,右边全为0,1的数目表示网络位长度,0的数目表示主机位长度。
mac地址
mac地址位于数据链路层,mac地址有6个字节,因此完全够用。每个网卡都有一个唯一的mac地址,主机有一个或多个网卡,路由器有多个网卡。网络通信就是通过网卡进行传输的。网卡属于硬件设备,因此mac地址用来识别网络物理地址。mac地址在网卡出厂时就写死了,不可修改。虚拟机中配置的虚拟mac地址不是真实的mac地址。
IP地址和mac地址的区别:
- IP地址指的是起点和终点的地址,用于网络层,是网络逻辑地址;mac地址指的是相邻两节点的地址,用于数据链路层,是真实的网络物理地址。
- IP地址为4个字节,mac地址为6个字节。
- IP地址往往可以根据需要更改,mac地址伴随网卡的出厂不可再更改。
冲突域与广播域
冲突域:主机之间通过网络设备进行连接时,如果在同一时间发送数据报,就可能发生冲突,这个冲突所在网络范围就为冲突域。
集线器的功能是把数据复制到每个接口,因此如果有两个数据报同时转发,就会造成冲突。集线器的所有端口为一个冲突域。
交换机在接收到数据后,会把数据转发到对应端口,如果两个数据报同时转发到同一个端口就会发生冲突。交换机可以分割冲突域,分割后,每个端口都是一个冲突域。
广播域:ip地址全为1表示广播地址(TCP不支持广播),往这个地址发送数据报,数据报就会传播到局域网内的所有地方。(投屏原理就是手机通过广播发出数据报,电视上(有相应的软件的话)就能接收到信息,从而可以投屏)
数据传输流程
源IP与目的IP表示整个传输过程的起点和终点,源mac与目的mac表示每一段传输的起点和终点。假如发送端和接收端处于同一局域网中,那么数据就可以直接传输到目的IP,假如二者位于不同的局域网中,下一次传输的mac地址就是网关,(路由器是一个网关设备,路由器中有WAN口(连接外网IP)和LAN口(连接内网IP),当内网访问外网时需要先转换为外网,因为内网无法被识别)传输到网关后,要获取下一个mac地址,需要用到ARP寻址。
在数据链路层,寻找下一跳设备mac地址的过程,称为ARP寻址。ARP是一个介于数据链路层和网络层之间的协议;ARP协议建立了IP地址与mac地址的映射关系。
通过IP地址,在本地ARP缓存表中查找目的mac地址,如果找到了,就直接返回mac地址进行传输,假如没有找到,则发送ARP广播数据报寻找目的mac,目的mac回应后返回mac地址。
网络传输路径由路由器进行规划,路由器进行路径规划的过程就称为路由。