局域网和广域网通过什么连接
局域网与广域网通过通过三层交换机(路由器)相连接,包括:1.网络互连(集线器);2.局域网交换机连接和路由器连接;3.广域网连接。以上这三种。
1、网络互连(集线器)
作用:只是做数据的转发
场景:主机A发送FTP"下载某个文件数据----->主机C
(1)通过主机1的ARP缓存表,查询目的IP对应的MAC地址。
(2)如果找不到,广播发送ARP请求数据报(源MAC,目的MAC填F:广播地址,目的IP) ,其他主机接收并处理
数据报: if(自己的IP=目的IP) return我的IP: else 丢弃数据报
(3)更新本机ARP缓存表
(4)发送http请求数据: (目的MAC: 主机3MAC)
集线器转发数据报到其他的所有主机
if(目的MAC=自己)处理; else 丢弃
冲突域:连接在同一导线上的所有工作站的集合,或者说是同一物理网段上所有节点的集合或以太网上竞争同一带宽的节点集合。(房间中所有人同时说话, 会让大家互相都听不清)
集线器网络互联存在冲突域,交换机可以解决冲突域
2、局域网
(1)交换机连接
(交换机没用进行数据的分用或封装)
1.本机封装数据
2.发送数据到交换机
3.交换机处理数据:首先查看MAC地址转换表中是否存在目的IP的MAC地址,存在就直接发送数据
4.如果不存在:交换机就会发送一个请求MAC地址的广播,所有的主机接收到广播,核对自己的IP地址。
5.核对之后,交换机会更新MAC地址转换表。
6.此时,将数据发送数据到目的MAC所在的主机
(2)交换机和路由器
场景:主机1发送FTP“某文件下载"数据包到主机4
●发送的数据报:源IP +源MAC+目的IP+目的MAC +协议号
发送的过程:
(1)通过目的IP的网络号与子网掩码按位与操作,得到一-个网络号,这个网络号和自己的网络号对比,就知道目的主机是否在同一个网段
(2)不在同一一个网段,自2处理不了数据传输,交给上级可以处理的设备(路由)
(3)发送数据报: .
目的IP:主机4的IP
目的MAC:本机ARP缓存表,通过网关IP查网关MAC
(4)路由器处理数据报:
源MAC:由主机1MAC修改为路由器自己的MAC
目的MAC:由路由器MAC修改为主机4MAC (如果没有主机4的mac,就广播来找)
3、广域网
场景:主机1请求https/www. baidu.com/
NAT协议:将私网IP转换为公网IP。
NAPT协议:将私网IP和源端口转换成公网IP和新的源端口(路由器的源端口号)
传输流程:
(1)通过域名查询对应的IP地址: DNS协议(本地DNS缓存— 路由器—上级DNS服务---- … —全球顶级DNS服务器)
(2)有了五元组的信息
(3)目的IP网络号+子网掩码得到一个网络号,和本机网络号对比,判断出不在一个网段
(4)发送数据报到路由器:
源MAC:主机1的MAC, 目的MAC:路由器的MAC, 源IP:主机1的局域网IP, 目的IP: 百度服务器IP, 协议号http
(5)路由器处理数据报:
路由器可能没有百度服务器MAC,下一跳的目的MAC怎么办?
路由器根据它的路由表决定下一跳地址:
路由:我(路由器)也不知道百度在哪(目的IP) , 但是通过路由功能,知道方向,可以知道最优的下一一站设备的MAC
NAT+NAPT:局域网主机源IP+源port,修改为路由器公网IP +公网的映射端口(程序端口)
修改:源MAC修改为自己的MAC,目的MAC修改为下一-跳设备的MAC
(6)下一跳设备处理数据:只修改源MAC为自己的MAC,目的MAC为再下一跳设备的MAC (目的IP!= 自己)
(7)百度服务器接收数据:目的mac是自己的,需要处理,目的IP==自己, 接收数据报(分用)
(8)返回数据报:源IP:百度服务器IP,源端口号:百度http程序端口, 目的IP: 路由器的公网IP, 目的端口:路由器程序端口
(9)路由器接收响应数据报:目的IP: 局域网主机1的IP, 目的端口: 主机1的浏览器程序端口, 目的MAC:主机1的MAC
(10)主机1接收处理响应数据报: if(目的mac=我自己的)处理— if(目的ip= =我自己的) ----分用交给程序