网络协议
- 包结构
- 网络协议相关的层
三类地址
MAC
一台计算机有一个或多个网卡, 每个网卡会有自己的唯一标识即MAC地址, 这个标识跟随网卡设备存在, 和网络环境无关.
局域网采用的以太网协议就使用了MAC地址
IP地址
平时我们用的 192.168.1.1 这样的就是ip地址, 目前有 ipv4 ipv6 由于ipv4地址不足, 现在部分升级到ipv6
域名
ip地址并不好记, 所以出现了第三层网络地址, 域名
如 www.xxxx.com
各类协议
DNS协议
DNS协议主要是 域名 => ip地址
这一层
DHCP协议
全称 动态主机配置协议(Dynamic Host Configguration Protocol)
, 主要负责计算机接入网络的初始化, 计算机刚开始只有网卡的MAC地址, 通过DHCP可以给它分配IP地址, 并得到默认网关地址(不知道网关就上不了王) 和 DNS 服务器的地址, 有了这些东西, 这台计算机就可以和外界通讯了
ARP协议
全称地址解析协议(Address Resolution Protocol)
, 在以太网中, ARP协议负责解析远程主机IP地址对应的MAC地址, 我们给了域名或IP地址是无法发出去的, 因为需要MAC地址, 所以我们需要ARP协议来决定下一跳的MAC地址在哪
RARP协议
全称反向地址转换协议(Reverse Address Resolution Protocol)
, 负责MAC到IP的转换, 但是基本已经被DHCP协议代替了
ICMP协议
全称互联网控制报文协议(Internet Control Message Protocol)
能够检测网络连线情况, 以保证连线的有效性, 基于这个协议实现的常见程序有两个: ping 和 traceroute 可以用来判断和定位网络问题
IGMP协议
全称互联网组管理协议(Internet Group Management Protocol)
负责IP组播(Multicast)成员管理
数据传输过程
数据传输示意
- 源主机只有目标主机的IP地址, 没有MAC地址, 而以太网通讯需要MAC地址, 所以源主机会发起一个ARP请求去获得目标IP对应的MAC地址
- 当然, 源主机会缓存这层关系, 下一次就不需要ARP请求了
- 无论是ARP请求, 还是普通数据包, 都会到达交换机, . ARP是一个广播请求, 交换机会转发给其他所有主机, 目标主机发现这个ip地址是自己的, 返回自己的MAC地址
- 等到目标机的MAC地址, 源主机可以发送数据了, 所有数据包都发给了交换机
- 交换机工作在链路层, 只认MAC地址, 在工作过程中, 会不断的手机资料, 创建一个地址映射表 MAC地址=> 交换机端口, 如果没有找到, 交换机就可能把这个数据包扩散出去, 目标机收到广播的数据包后, 回复了这个数据包, 那么它的MAC地址和交换机端口的映射关系就会被记录下来(转发的过程又被称为
泛洪
)