目录
一、五元组
五元组:源IP,源端口号,目的IP,目的端口号,协议号
- IP:标识主机,给人用的
源IP:发送数据的主机
目的IP:接收数据的主机
- 端口号:表示某个主机进程
源端口:标识发送数据的进程
目的端口:标识接收数据的进程
- 协议号:进程要封装、解析的数据报的数据格式
二、DNS协议和ARP协议
(一)NDS协议(应用层协议):域名转IP
查找方式:树形结构从下往上查找(查找缓存或者域名服务器)区域名服务器--》根域名服务器,若是跟域名服务器中未找到,则找不到
【注1】主机、路由器上都存在DNS缓存
【注2】特殊的IP和域名:本机IP为127.0.0.1,本地域名:localhost
(二)ARP协议:IP转MAC
ARP协议:IP转MACRARP协议:MAC转IP
三、网络传输流程
(一)网络互联方式
多台主机通过集线器连接在一起, 完成数据共享
集线器:网络数据传输时,直接转发(不进行封装和分用)到其他所有端口
1. ARP缓存表找到的情况
- 主机1查找本机ARP缓存表,根据ARP协议,找到MAC
- 数据报由主机1发送到集线器(数据报中源MAC---主机1,目的MAC---主机3,真实的数据报)
- 集线器转发数据到除主机1的其他所有相连主机(主机2、3)
- (1)主机2接收:数据报中,目的MAC不是我,直接丢弃;
(2)主机3接收:数据报中,目的MAC是我(代表我要接收数据,要不要进行处理,还要看目的IP),接收,目的IP是我,交给对应端口进程处理
2. ARP缓存表找不到的情况
- 主机1查找本机ARP缓存表,发现找不到
- 主机1发送广播数据报(非真实数据报,只是要求对应主机返回MAC地址)FF:FF:FF:FF:FF:FF 表示广播 此时源MAC:主机1 目的MAC:广播地址
- 集线器转发到主机2、3
- 主机2接收:要求IP不是我,丢弃;主机3接收,要求IP是我,返会MAC
- 主机1接收到主机3返回的数据(IP,MAC)后,更新自己的ARP缓存表
- 主机1发送真实的数据到主机3 源MAC/源IP:主机1的MAC/IP 目的MAC/IP:主机3的MAC/IP
使用集线器的缺陷:网络冲突,这样构成的网络区域叫做冲突与/碰撞域
例如:房间里面多个人说话,就听不清楚了
数据报有目的MAC,集线器还转发到其他所有端口
(二)局域网交换机组网方式
交换机作用:有一个MAC地址转换表--》保存连接的主机MAC和端口的映射关系
知道目的MAC是谁后,可以直接转发到对应端口
- 主机1查找本机ARP缓存表,如果找不到,发送广播数据报,让IP为主机3的主机告诉我其MAC
- 交换机转发到其他所有端口(广播)
- 主机2丢弃,主机3返回自己的MAC
- 交换机知道主机3的MAC,主机1知道主机3的MAC(交换机和主机1均更新ARP缓存表)
- 主机1发送真实的数据给交换机
- 交换机查找自己的MAC地址转换表,通过MAC找端口,发送到对应端口
- 主机3接收:目的MAC是我,目的IP也是我
例如:先问某个人的电话,再给他打电话,不影响其他人
(三)局域网交换机+路由器组网的方式
路由器的类型:
流程:
- 通过目的IP+子网掩码,计算出目的主机是否和本地主机在同一个网段
- 如果是,和之前交换机组局域网流程一致
- 如果不是,表示主机1处理不了,要发送给网关转发
- 数据报发送给网关设备
源IP:192.168.1.x
目的IP:192.168.1.y
源MAC:主机1的MACA
目的MAC: 设置为路由器网卡1的MAC
--》如何知道?
主机1在本机ARP缓存表中,通过网关IP找MAC
- 路由器接收到数据报,分用:物理层到网络层,所以可以获取到目的IP
- 路由器查找自己的ARP缓存表(IP找MAC)
- 找不到,路由器发广播,主机2,你在哪,告诉我你的MAC
- 主机2返回自己的MAC到路由器(路由器更新自己的ARP缓存表),路由器有了主机2的MAC,直接发送到主机2