0 本节主要内容

问题描述
解决思路

1 问题描述

1.1 知识回顾

利用如下拓扑对前面的知识进行回顾。
计算机网络:运输层-LMLPHP
问题:源主机 H 1 \textrm{H}_1 H1要和目的主机 H 2 \textrm{H}_2 H2进行通信,源主机 H 1 \textrm{H}_1 H1要构建数据包封装来自应用层的数据。根据MAC层和IP层首部字段信息,同学们可以去思考如何填充以下四个字段:(MAC目的地址,MAC源地址,IP源地址,IP目的地址)?
计算机网络:运输层-LMLPHP
计算机网络:运输层-LMLPHP
步骤:

  • 源主机 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地址,利用,就可以知道接口0的MAC地址,这样就可以把数据包完整的构建出来了;
  • 根据交换机的原理,数据包利用转发到路由器 R 1 \textrm{R}_1 R1
  • 路由器 R 1 \textrm{R}_1 R1如何把数据交给目的主机 H 2 \textrm{H}_2 H2?利用数据包中目的IP地址查路由表,,发现路由器 R 1 \textrm{R}_1 R1的路由表中的第二项匹配,也就是数据包要转发给接口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

同学们也可以利用这个拓扑,复习一下如下知识:

  • 交换机工作原理:在一个局域网中,如何利用交换机进行转发的?交换机中的转发表又是如何学习到的?
  • 子网划分:给定一个网络号128.1.0.0/16,如何划分为拓扑所示的三个子网?
  • IP分片:源主机 H 1 \textrm{H}_1 H1向目的主机 H 2 \textrm{H}_2 H2发送的数据包长度超过了以太网的运输能力,如何进行分片?分片的数据包又如何进行转发?到达目的主机后又如何进行重组?
  • 路由选择协议:拓扑中路由器 R 1 \textrm{R}_1 R1 R 2 \textrm{R}_2 R2的路由表是如何学习得到的?
  • ARP协议:已知对方的IP地址,如何学习到对方的MAC地址?

1.2 问题描述

  • 问题1:通过上面的描述,我们知道源主机 H 1 \textrm{H}_1 H1是如何把数据传输给目的主机 H 2 \textrm{H}_2 H2的,但是网络通信实际上是源主机 H 1 \textrm{H}_1 H1的一个进程和目的主机 H 2 \textrm{H}_2 H2的一个进程进行通信,又如何来表示这种呢?
  • 问题2:网络层提供的是的服务,换句话说,提供的是不可靠服务;面对有些应用,需要提供可靠服务,怎么办?

2 解决思路

2.1 进程间通信的问题:端口

计算机网络:运输层-LMLPHP

  • 复用:应用进程都可以通过运输层再传送到 IP 层(网络层)。
  • 分用:运输层从 IP 层收到发送给应用进程的数据后,必须分别交付给指明的各应用进程。如何指明各应用进程?

实际网络存在如下的现象:

  • 发送方很难获得接收方的进程id号,因为进程的创建和撤销都是的;
  • 发送方实际上只需要接收方提供一个功能来识别,并是哪个进程来实现这个功能,也就是说,实现这个功能的进程是接收方本地的事,发送方并不关心;
  • 上面的意思可以换一种说法:接收方接收报文的进程,但不需要通知发送方。

解决方法:在运输层使用协议端口号 (protocol port number),简称为端口 (port)。把设为通信的。
计算机网络:运输层-LMLPHP
端口用一个 16 位端口号进行标志,允许有 65,535 个不同的端口号。
两大类、三种类型的端口:
计算机网络:运输层-LMLPHP
常用的熟知端口:
计算机网络:运输层-LMLPHP

2.2 可靠传输的问题:TCP协议

TCP协议包括三个重要的技术:

  • 可靠传输协议:停止等待协议、连续ARQ协议(滑动窗口);
  • 流量控制:滑动窗口协议;
  • 拥塞控制。
12-15 11:29