网络协议

IP网络 - 图1

  • 包结构

IP网络 - 图2

  • 网络协议相关的层

三类地址

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网络 - 图3

  • 源主机只有目标主机的IP地址, 没有MAC地址, 而以太网通讯需要MAC地址, 所以源主机会发起一个ARP请求去获得目标IP对应的MAC地址
  • 当然, 源主机会缓存这层关系, 下一次就不需要ARP请求了
  • 无论是ARP请求, 还是普通数据包, 都会到达交换机, . ARP是一个广播请求, 交换机会转发给其他所有主机, 目标主机发现这个ip地址是自己的, 返回自己的MAC地址
  • 等到目标机的MAC地址, 源主机可以发送数据了, 所有数据包都发给了交换机
  • 交换机工作在链路层, 只认MAC地址, 在工作过程中, 会不断的手机资料, 创建一个地址映射表 MAC地址=> 交换机端口, 如果没有找到, 交换机就可能把这个数据包扩散出去, 目标机收到广播的数据包后, 回复了这个数据包, 那么它的MAC地址和交换机端口的映射关系就会被记录下来(转发的过程又被称为 泛洪)