计算机网络第五章 运输层

更新时间:2023-05-24 00:33:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第5章

运输层

本章主要内容5.1 ~5.3 运输层协议概述 5.4 可靠传输的工作原理 ——停止等待、连续ARQ协议 5.5 TCP 报文段的首部格式 5.6 TCP 可靠传输的实现——滑动窗口 5.7 TCP的流量控制 5.8 TCP 的拥塞控制 5.9 TCP 的运输连接管理

?问题

为什么需要运输层?到底谁在通信,―端到端”指的是谁 运输层应该做什么?面向连接、可靠传输

连接的建立与释放 可靠传输 流量控制 拥塞控制

怎么做的?封装、协议

三次握手 停止等待、ARQ、窗口 滑动窗口 拥塞控制算法

应用层 传输层 网络层 数据链路层 物理层

5.1 概述

物理层、链路层、网络层解决了主机到主 机间的通信问题; 实际上,通信的主体是应用进程。进程(Process)是程序在计算机上的一次执行活动。 是操作系统进行资源分配的单位。 例如

主机 A AP1 AP2 路由器 1 LAN1 路由器 2

主机 B

WAN网络层协议的作用范围 运输层协议的作用范围

LAN2

AP3 AP4

5.1.1进程之间的通信运输层为相互通信的应用进程提供了 逻辑通信 ——端到端通信AP1 AP 2 应用进程 端口 运输层 应用进程 端口

5 4 3 2 1

AP3

AP4 5 4

IP 层

3 2

1

(1)端到端的通信

应用进程之间的通信又称为端到端的通信。 运输层的一个很重要的功能就是复用和分用。复用主机 A AP1 AP2

分用主机 B AP3 AP4

如何找到各端?

(2)如何找到端 ?

为了使运行不同操作系统的计算机的应用进程 能够互相通信,必须用统一的方法对 TCP/IP 体系的应用进程进行标识。

操作系统中进程标识符(PID)不能用来标识端口;

解决方法:在运输层使用协议端口号(protocol port number),通常简称为端口(port)。

(3)运输层(TCP)的端口

TCP端口用一个 16 位端口号进行标识。 端口号只具有本地意义。 即端口号只是为了标识本计算机应用层中的各进程。在因特网中不同计算机的相 同端口号是没有联系的。

客户-服务器通信方式时, 必须先知道对方服务器的IP地址和端口号!

端口种类服务器端:

熟知端口,数值一般为 0~1023。 临时端口号,数值为1024~65535,留给 客户进程选择暂时使用。通信结束后,这个 端口号可供其他客户进程以后使用。

客户端:

常见的“熟知”端口号举例F T P T e l n e t23

应用层

S M T P

D N S

T F T P

H T T P

S N M P

21 20

25

53

69

80

161

传输层 网络层

TCP/UDP IP

5.2 运输层协议TCP/IP 的运输层有两个不同的 协议: 用户数据报协议 UDP (User Datagram Protocol) 传输控制协议 TCP (Transmission Control Protocol)应用层

UDPIP

TCP

与各种网络接口

TCP 传送的数据单位是 TCP 报文段

(segment) UDP传送的数据单位是 UDP 报文或用户数据报。

(1)TCP 与 UDP

主要区别

UDP 无连接服务。

不需要建立连接;接收方的运输层在收到 UDP 报文后,不需 要给出任何确认; 不可靠传输。

TCP 面向连接的服务。

需要建立连接;接收方对收到的TCP报文要给出确认;

可靠传输,开销大。

(2)UDP 的 主要特点 UDP 是无连接的。 UDP 使用尽最大努力交付,即不保证可靠交 付,同时也不使用拥塞控制。 UDP 是面向报文的。应用层交给 UDP 多长 的报文,UDP 就照样发送,即一次发送一个 报文。 UDP 支持一对一、一对多、多对一和多对多 的交互通信。 UDP 的首部开销小,只有 8 个字节。

(3)UDP 的格式

应用层报文

应用层

UDP 首部

UDP 用户数据报的数据部分

运输层

IP 首部

IP 数据报的数据部分

IP 层

首部格式字节 4 源 IP 地址 字节 12 伪首部 4 目的 IP 地址 2 源端口 2 目的端口 1 0 1 2

17 UDP长度 2 检验和

2 长 度

UDP 用户数据报 发送在前 首 部

首 部

数 IP 数据报

用户数据报 UDP 有两个字段:数据字段和首部 字段。首部字段有 8 个字节,由 4 个字段组成, 每个字段都是两个字节。字节 4 源 IP 地址 字节 12 伪首部 4 目的 IP 地址 2 源端口 2 目的端口 1 0 1 2 17 UDP长度 2 检验和

2 长 度

UDP 用户数据报 发送在前 首 部

首 部

数 IP 数据报

在计算检验和时,临时把“伪首部”和 UDP 用户数据 报连接在一起。伪首部仅仅是为了计算检验和。字节 4 源 IP 地址 字节 12 伪首部 4 目的 IP 地址 2 源端口 2 目的端口 1 0 1 2

17 UDP长度 2 检验和

2 长 度

UDP 用户数据报 发送在前

首 部

首 部

数IP 数据报

UDP 基于端口的分用

端口 1

端口 2

端口 3

UDP 分用 UDP 数据报到达

IP 层

5.3 传输控制协议 TCP 概述

TCP 是面向连接的运输层协议。

每一条 TCP 连接只能有两个端点(endpoint),每 一条 TCP 连接只能是点对点的(一对一)。 差错检测、流量控制、拥塞控制

TCP 提供可靠交付的服务。

TCP 提供全双工通信。 面向字节流。

TCP 面向字节流的概念发送方

接收方H 表示 TCP 报文段的首部 x 表示序号为 x 的数据字节 从接收缓存 读取字节 加上 TCP 首部 构成 TCP 报文段 发送 TCP 报文段 8 7 6H TCP

应用进程

5 4

应用进程

21 字节流 20 把字节写入 19 发送缓存

0 字节流 1 2 3

TCP1817161514 131211 H

10 9 H TCP 连接

TCP 的连接如何表示?

TCP 连接表示——套接字(socket)套接字 socket = (IP地址: 端口号) (5-1)

每一条 TCP 连接唯一地被通信两端的两个 端点(即两个套接字)所确

定。即: TCP 连接 ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)}

(5-2)

本文来源:https://www.bwwdw.com/article/5of4.html

Top