1.FF:FF:FF:FF:FF:FF是一个特殊的MAC地址 交换机在看到这个地址时会将这个数据向网内所有主机进行广播
2.192.168.1.102 收到ARP请求后 回复自己的MAC给 源MAC主机
3.发送方(192.168.1.101)收到回复后,会将对方的ip的MAC地址映射关系存储到缓存中,以便下次使用
ps:arp -a 可以查看ARP缓存列表
确定对方MAC地址后的数据帧内容:
案例2:主机192.168.1.101访问192.168.111.101
交换机发现目标IP不在当前子网中,
1.交换机发起ARP请求,将目标IP设置为对方的网关IP,默认情况下,网关的主机号都为1; 所以接收方(192.168.111.101)的网关为192.168.111.1
发送方交换机发起的ARP数据帧:
2.对方网关收到请求后发现ip是自己的ip则回复ARP请求,将其MAC地址告知发送方交换机,
3.发送方交换机将,对方的网关与的MAC地址与IP存储到自己的ARP缓存中,
4.告知发送方(192.168.1.101)对方网关的MAC地址,发送方同样将对方网关MAC与目标IP映射关系存储到,本机ARP缓存中
至此ARP请求结束可以开始传输数据
后续确定了MAC地址后发送的数据帧内容:
总结:ARP通过广播的方式来获取MAC地址, 不在同一子网时 ARP得到的时对方网关的MAC地址,数据到达对方网关后,由网关根据IP交给对应的主机,当然对方网关获取主机MAC也是通过ARP
ps:路由器 交换机都可以称之为网关!
4.传输层(重点)*****
传输层的由来:
通过物理层简历链接通道
通过数据链路层的MAC,可以定位到某个局域网中的某台主机,
通过网络层的IP地址,子网掩码,可以定位到全球范围某一局域网下的某台主机
那么问题来了:
一台计算机上是不可能只运行一个应用程序的,比如同时登陆qq和微信,那接收到的数据到底是交给微信还是qq呢?
答案就是:端口号,端口是需要联网的应用程序与网卡关联的编号
传输层功能:建立端口到端口的通信
补充:端口范围0-65535,0-1023为系统占用端口
TCP与UDP是工作在传输层的协议: TCP协议可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。
TCP之所以可靠,是因为在传输数据前需要三次握手确认建立链接
三次握手: