【清晰明了】A局域网主机向B局域网主机传输数据的过程
来源:互联网 发布:java将xml转换成json 编辑:程序博客网 时间:2024/06/06 08:30
这是个纠结了半年的问题!
局域网A:
1、主机A的应用程序先生成应用层数据;
2、传输层根据应用层协议类型,对应用层数据进行TCP或UDP封装;
3、网络层对数据进行封装时,IP头中的源IP地址填写主机A的IP地址,目的IP填写主机B的外网IP地址(因为只有全球IP地址才能接入互联网,外网地址有限,局域网内的主机需要共享外网地址,B的外网地址就是映射后的外网地址。根据NAT地址转换的规则,局域网地址转换为外网地址有三种方式:静态转换、动态转换、端口多路复用)。
4、一般来讲,局域网采用以太网的组网方式,因此数据链路层是根据MAC地址对帧数据进行转发的。主机A在数据传送开始是不知道主机B的MAC地址的,因此,①主机A会先发送ARP广播数据包至网络,请求主机B的MAC地址。②交换机A接收到ARP广播数据包后,先进行解封装,学习主机A的IP地址和MAC地址,接着对ARP包进行重新封装并继续广播至除接收端口外的所有端口。③路由器接收到该ARP广播数据包后,解封装ARP数据包,发现其中的目的IP地址为外网IP,此时,路由器A将ARP响应包的源MAC设置为自己的MAC地址,目的MAC设置为主机A的MAC地址并发送到交换机A。④交换机A接收到该ARP响应数据包后,发现目的MAC为主机A,因此直接将该ARP响应包转发至主机A。到此,主机A知道了发送数据到主机B需要封装的目的MAC地址。⑤主机A将数据包封装好后发送至交换机A。
5、交换机根据MAC地址将数据都发送至路由器A。
6、路由器A作为局域网A与外网的连接,它同时也要承担网络地址转换的工作,将接收的数据用映射好的外网IP作为源IP进行重新封装,之后将数据转发至外网。
广域网:
数据通过广域网从路由器A传到路由器B
局域网B:
按照局域网A相反的顺序,剥离头部。
- 【清晰明了】A局域网主机向B局域网主机传输数据的过程
- 局域网主机搜索
- 局域网主机对外开放
- 扫描局域网中的主机
- 获取局域网主机
- 查看局域网主机ip
- shell查找局域网主机
- 检查局域网存活主机
- 发现局域网所有主机
- 局域网活跃主机扫描
- 局域网扫描获取主机的有关信息
- 局域网主机IP获取的解决办法
- 局域网主机查看外网的IP
- 局域网内ping不通别人的主机
- 远程管理局域网里的Linux主机
- 搜索局域网内的主机mac
- 快速扫描局域网主机的方式
- 局域网下访问主机内的虚拟机
- this 用法简介
- spring data jpa 出现Not a managed type
- Java连接mysql数据库
- LeetCode 71 Simplify Path(Python详解及实现)
- chrome vimium shortcut
- 【清晰明了】A局域网主机向B局域网主机传输数据的过程
- FFMPEG学习【ffplay工具】
- 图论专项菜鸡入门(一):图的储存结构
- activiti学习笔记(一) 获取流程配置实例
- Android Studio 签名文件Gradle安全配置
- Linux常用搜索命令
- vm下安装无eth0
- HDU 6076 Security Check(分情况DP)
- Prime Ring Problem UVA