计算机网络:运输层
0 本节主要内容
问题描述
解决思路
1 问题描述
1.1 知识回顾
利用如下拓扑对前面的知识进行回顾。
问题:源主机
H
1
\textrm{H}_1
H1?要和目的主机
H
2
\textrm{H}_2
H2?进行通信,源主机
H
1
\textrm{H}_1
H1?要构建数据包来封装来自应用层的数据。根据MAC层和IP层首部字段信息,同学们可以去思考如何填充以下四个字段的:(MAC目的地址,MAC源地址,IP源地址,IP目的地址)?
步骤:
- 源主机 H 1 \textrm{H}_1 H1?知道自己的IP地址,以及要送达的目的主机 H 2 \textrm{H}_2 H2?的IP地址,也知道自己的MAC地址,唯一不知道的信息是目的MAC地址,那么首先要解决的是目的MAC地址填哪个的?
- 根据前面的知识,我们知道 H 1 \textrm{H}_1 H1?要填的目的MAC地址是路由器 R 1 \textrm{R}_1 R1?接口0的MAC地址,那怎么才能知道接口0的MAC地址呢?
- 由于 H 1 \textrm{H}_1 H1?主机在配置网络的时候配置了缺省网关,缺省网关就是接口0的IP地址,知道了接口0的IP地址,利用ARP协议,就可以知道接口0的MAC地址,这样就可以把数据包完整的构建出来了;
- 根据交换机的原理,数据包利用交换机转发机制转发到路由器 R 1 \textrm{R}_1 R1?;
- 路由器 R 1 \textrm{R}_1 R1?的任务是如何把数据交给目的主机 H 2 \textrm{H}_2 H2?,利用数据包中目的IP地址查路由表,发现路由表的第二项匹配,也就是数据包要转发给接口1;
- 接下来就是接口1如何把数据包交给目的主机 H 2 \textrm{H}_2 H2?的问题了?因为目的主机 H 2 \textrm{H}_2 H2?和路由器 R 1 \textrm{R}_1 R1?接口1处于同一个子网,又需要重新构建数据包,四个字段(MAC目的地址,MAC源地址,IP源地址,IP目的地址)的“MAC源地址,IP源地址,IP目的地址”都是已知的,只有MAC目的地址未知,同样利用ARP协议,就可以知道目的主机 H 2 \textrm{H}_2 H2?的MAC地址,这样就可以把数据包完整的构建出来了;
- 再利用交换机转发机制,将数据包转发给目的主机 H 2 \textrm{H}_2 H2?。
1.2 问题描述
通过上面的描述,我们知道源主机 H 1 \textrm{H}_1 H1?是如何把数据传输给目的主机 H 2 \textrm{H}_2 H2?的,但是网络通信实际上是源主机 H 1 \textrm{H}_1 H1?的一个进程和目的主机 H 2 \textrm{H}_2 H2?的一个进程进行通信,又如何来表示这种进程间通信呢?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!