文章目录
计算机之间的通信基础
- 需要得知对方的IP地址
- 最终是根据MAC地址(网卡地址), 输送数据到网卡, 被网卡接收
- 如果网卡发现数据的目标MAC地址是自己, 就会将数据传递给上一层进行处理
- 如果网卡发现数据的目标MAC地址不是自己, 就会将数据丢弃, 不会传递给上一层进行处理
计算机之间的连接方式 - 网线直连
- 需要用交叉线(不是直通线)
计算机之间的连接方式 - 同轴电缆(Coaxial)
- 半双工通信(同一时间只允许一方发数据)
- 容易冲突
- 不安全
- 中间断了, 整个都瘫了(比如有终结电阻的一端断了, 信号就不会终结)
计算机之间的连接方式 - 集线器(Hub)
- 半双工通信
- 容易冲突
- 不安全
- 跟同轴电缆一样: 没有智商
- 跟同轴电缆相比的好处: 如果有一处断了, 不影响其他
计算机之间的连接方式 - 网桥(Bridge)
-
只有2个接口
-
能够通过自学习得知每个接口那侧的MAC地址
-
从而起到隔绝冲突域的作用
计算机之间的连接方式 - 交换机(Switch)
- 相当于接口更多的网桥
- 全双工通信
- 比集线器安全
- 思考: 全球所有的设备都用交换机连接会是什么情况?
- 首先, 交换机连接的是同一个网段, 所以有可能IP地址不够用
- 由于全球的计算机都在同一个网段, 所以ARP广播会发给全球的计算机, 会占用过多网络资源
- 所以交换机是局域网的最终方案, 但跨网段要用路由器
计算机之间的连接方式 - 路由器(Router)
- 网线直连、同轴电缆、集线器、网桥、交换机
- 连接的设备必须在同一网段
- 连接的设备处在同一广播域
- 路由器
- 可以在不同网段之间转发数据
- 隔绝广播域
主机在发数据之前, 首先会判断目标主机的IP地址跟它是否在同一个网段
-
1> 在同一个网段: ARP, 通过交换机\集线器传递数据
-
2> 不在同一个网段: 通过路由器转发数据 (网关Gateway)
MAC地址_IP地址
MAC地址
-
每一个网卡都有一个6字节(48bit)的MAC地址(Media Access Control Address)
-
全球唯一, 固化在了网卡的ROM中, 由IEEE802标准规定
-
前3字节: OUI(Organizationally Unique Identifier), 组织唯一标识符
- 由IEEE的注册管理机构分配给厂商
-
后3字节: 网络接口标识符
- 由厂商自行分配
MAC地址的表示格式
- Windows
- 40-55-82-0A-8C-6D
- Linux、Android、Mac、iOS
- 40:55:82:0A:8C:6D
- Packet Tracer
- 4055.820A.8C6D
- 当48位全为1时,代表广播地址
- FF-FF-FF-FF-FF-FF
MAC地址的获取
- 当不知道对方主机的MAC地址时, 可以通过发送ARP广播获取对方的MAC地址
- 获取成功后, 会缓存IP地址, MAC地址的映射信息, 俗称: ARP缓存
- 通过ARP广播获取的MAC地址, 属于动态(dynamic)缓存
- 存储时间比较短(默认是2分钟), 过期了就自动删除
- 相关命令
- arp -a : 查询ARP缓存
- arp -d [主机地址] : 删除ARP缓存
- arp -s 主机地址 MAC地址 : 增加一条缓存信息(这是静态缓存, 存储时间较久, 不同系统的存储时间不同)
ARP
- ARP(Address Resolution Protocol), 译为: 地址解析协议
- 通过IP地址获取MAC地址
- RARP(Reverse Address Resolution Protocol), 译为: 逆地址解析协议
- 使用与ARP相同的报头结构
- 作用与ARP相反, 用于将MAC地址转换为IP地址
- 后来被BOOTP, DHCP所取代
ICMP
- ICMP(Internet Control Message Protocol), 译为: 互联网控制消息协议
- IPv4中的ICMP被称作ICMPv4, IPv6中的ICMP则被称作ICMPv6
- 通常用于返回错误信息
- 比如TTL值过期, 目的不可达
- ICMP的错误消息总是包括了源数据并返回给发送者
IP地址
- IP地址(Internet Protocol ADdress): 互联网上的每一个主机都有一个IP地址
- 最初是IPv4版本, 32bit(4字节), 2019年11月25日, 全球的IP地址已经用完
- 后面推出了IPv6版本, 128bit(16字节)
IP地址的组成
- IP地址由2部分组成: 网络标识(网络ID), 主机标识(主机ID)
- 通过子网掩码(subnet mask)可以得知网络ID, 主机ID
- 主机所在的网段 = 子网掩码 & IP地址
-
子网掩码为1的位对应的是网络ID, 子网掩码为0的位对应的是主机ID
-
主机ID不能全为0, 因为这代表网段, 例如192.168.1.0
-
主机ID不能全为255, 因为这代表一个广播IP地址, 例如192.168.1.255 代表给192.168.1这个网段的所有主机发
-
计算机和其他计算机通信前,会先判断目标主机和自己是否在同一网段
- 同一网段:不需要由路由器进行转发
- 不同网段:交由路由器进行转发
IP地址的分类
A类地址
-
网络ID
- 0不能用, 127作为保留网段. 其中127.0.0.1是本地环回地址(Loopback), 代表本机地址
- 可以分配给主机的第1部分的取值范围是: 1~126
-
主机ID
-
第2、3、4部分的取值范围是 : 0~255
-
每个A类网络能容纳的最大主机数是 : 256 * 256 * 256 – 2 = 2的24次方 – 2 = 16777214
B类地址
C类地址
D类地址, E类地址
子网掩码的CIDR表示方法
-
CIDR(Classless Inter-Domain Routing) : 无类别域间路由
-
子网掩码的CIDR表示方法
-
192.168.1.100/24,代表子网掩码有24个1,也就是255.255.255.0
-
123.210.100.200/16,代表子网掩码有16个1,也就是255.255.0.0
-
计算工具:https://www.sojson.com/convert/subnetmask.html