当前位置:文档之家› 第3章 传输层与传输层协议

第3章 传输层与传输层协议


网络环境中分布式进程通信需要解决以下问题:
10
进程和端口
小结:
网络环境中一个完整的进程通信标识需要一个五
元组来表示: 协议 源IP地址 目的IP地址 比如: TCP 102.31.7.221 202.192.1.100
源端口号 目的端口号 15432 21
11
传输层端口号
端口号由Internet赋号管理局定义。 端口号是一个16比特的数字,其数值范围从0~65535。

熟知端口(well-known port):为服务进程全局分配的端口 范围为0~1023; 用于服务器端; 注册端口:为没有熟知端口号的应用程序使用。 范围1024~49151; 使用前需注册,以防止重复; 自由端口是在进程需要进行通信时,由本地进行动态分配的 范围49152~65535; 用于客户端。
data link physical
application transport network data link physical

通信子网
网络层与传输层的比较
7
传输层
vs 网络层服务(后讲):
网络层: 在主机间进行通信;
传输层: 在进程间进行通信;
传输层依赖于网络层的服务,反过来又加强了

传输连接的可靠建立与释放;
三次握手建立连接,四次握手关闭连接
提供流量控制与拥塞控制
滑动窗口进行流量控制
29
3.3.2 TCP 段格式
TCP协议中的基本传输单元为段(Segment), 因此习
惯上将TCP报文称为TCP段。

一个TCP段由段头和数据流两部分组成, TCP数据 流是无结构的字节流, 流中数据是由一个个字节序 列构成的, 无任何可供解释的结构, 这一特征使得 TCP段的段长是可变的。因此, TCP协议中的序号 和确认号都是针对流中字节的, 而不针对段。

应用 UDP IP 数据链路
IP 头 帧头 UDP 头
应用数据
UDP 数据区 IP 数据区 帧数据区
18
3.2.2 UDP报文格式
UDP报文有固定8字节的报头。
0 8 源端口号 UDP报头 UDP总长度 校验和 UDP 报文 数 据 (数据不是16位的倍数时需要增加填充位) 16 24 目的端口号 31
数据报的接收
端口判断该报文的目的端口号是否与当前端口匹配
若匹配成功,将该数据报保存到相应端口的接收队列中;
(若队列已满,则丢弃该数据报)
若未匹配,则丢弃该数据报,同时向源端发送 “端口不
可达” 的 ICMP 包
25
3.2.4 UDP协议适用的范围
确定应用程序在传输层是否采用UDP协议的原则:
点-点链路
网络层协议通过由多段点-点链路组成的路径实现源主机与目的主机主机之间的分组传输
6
网络层的任务
application transport network data link physical
沿两端点间的最佳路由传输数据 (主机间的逻辑通信,logic communication between hosts)
比特 0
8 源 端 口
16
24 目 的 端 口
31
序 号 确 数据 偏移 认 号
TCP 首部
保 留
U A P R S F R C S S Y I G K H T N N
20 字节 固定 首部
窗 口 紧 急 指 针
检 验 和
选 项 (长 度 可 变)


源端口和目的端口字段——各占 2 字节。端口是传输层与应 用层的服务接口。传输层的复用和分用功能都要通过端口才
27
3.3.1 TCP协议的主要特点
TCP(Transmission Control Protocol)传输控制协议
面向连接服务;
实际数据流传输之前,源进程与目的进程之间建
立传输连接;
高可靠性;
主要方法:确认和超时重传
全双工通信及点到点的连接;
客户与服务器进程同时发送和接收数据流
点到点通信和端到端通信 进程和端口
5
传输层的作用
主机A 应用层 传输层协议实现主机之间的端-端通信 主机B 应用层
传输层
传输层
网络层 数据 链路层 物理层
网络层 数据 链路层 物理层 路由器
网络层 数据 链路层 物理层 路由器
网络层 数据 链路层 物理层
点-点链路
„„
点-点链路
„„
点-点链路
„„
能实现。
比特 0
8 源 端 口
16
24 目 的 端 口
31
序 号 TCP 首部 确 数据 偏移 认 号
保 留
U A P R S F R C S S Y I G K H T N N
20 字节 固定 首部
窗 口 紧 急 指 针
检 验 和
选 项 (长 度 可 变)


序号字段——占 4 字节。TCP 连接中传送的数据流中的每一 个字节都编上一个序号。序号字段的值则指的是本报文段所
传输层的作用--非常关键
提供从源主机到目的主机端到端的服务。 消除网络层的多样性和不可靠性,有必要增强网
络层提供服务的服务质量和可靠性。 向高层用户屏蔽下面通信子网的细节。 传输层以上各层面向应用,传输层以下各层面向 通信。
3
3.1 传输层的基本功能
为应用进程提供可靠或不可靠的端到端连接
network data link physical network data link physical network data link physical
application transport network data link physical
Ethernet, X.25, ATM, … 两端点间可靠的透明数据传输 传输层的任务(应用进程间的逻辑通信,logic communication application between application processes ) transport … network
23
153.18 8.105 171.2 14.10 0,17 15 1087 13 15 0(校验和) T,E S,T I,N G,0(填充) 和 校验和
3.2.3 UDP 的基本工作过程
UDP 的基本工作过程
数据报发送
UDP 软件将用户数据封装在 UDP 数据报中
转交给 IP 软件,进行 IP 封装和转发
网络层的服务。
8
进程和端口
进程的概念
单机环境中 是指一个程序对某个数据集的执行过程;
由操作系统统一控制、协调、调度进程的运行及相互
间的通信。
网络环境中 各台主机具有高度的自治特性; 没有统一的高层操作系统进行全局控制与管理。
9
进程和端口
进程命名与寻址(套接字) 采用IP地址+进程号ID (即端口号)进行命名 多重协议的识别 主机间通信,必须约定好传输层协议类型 进程间相互作用的模式 采用客户/服务器模式
发送的数据的第一个字节的序号。
比特 0
8 源 端 口
16
24 目 的 端 口
31
序 号 TCP 首部 确 数据 偏移 认 号
再通过服务进程所公布的熟知端口与服务器进程
建立联系,并进行相应协商; 上述过程成功后中,就可开始进程间的通信。
15
3.2 UDP协议
3.2.1 UDP协议特点 3.2.2 UDP报文格式 3.2.3 UDP 的基本工作过程 3.2.4 UDP协议适用的范围
16
3.2 UDP协议——User Datagram Protoclo 用 户数据报协议
系统对性能的要求高于对数据完整性的要
求; 需要“简短快捷”的数据交换; 需要多播和广播的应用; UDP协议是一种适用于实时语音与视频传 输的传输层协议。
26
3.3 TCP协议传输控制协议
3.3.1
TCP协议的主要特点 3.3.2 TCP 段格式 3.3.3 TCP传输连接建立与释放 3.3.4 TCP流量与拥塞控制 3.3.5 TCP差错控制
30
3.3.2 TCP 段格式
控制字段 控制字段定义了6种不同的控制位或标志位; 控制字段将在TCP的连接建立和终止、流量控 制,以及数据传送中发挥作用。
标志 SYN 说明 在连接时对序号进行同步
ACK
FIN RST URG PSH
32
确认字段的值有效
终止连接 连接必须复位 紧急指针字段的值有效 将数据推向前
服务。 具体工作包括端口管理、可靠性控制、流量 控制、错误处理等。
对数据报的首部和数据部分进行检验,而网络层
只对数据报的首部进行检验。 流量控制和拥塞控制控制的是端到端用户的流量, 防止网络拥塞造成数据报的丢失。而数据链路层 是中间两个相邻结点间的流量控制。
4
3.1 传输层的基本功能
两组重要概念:
3.2.1 UDP协议的主要特点: UDP是一种无连接的、不可靠的传输层协议; UDP是一种面向报文的传输层协议。
应用程序报文 应用层
UDP 头部
UDP 用户数据报数据部分
传输层
IP 头部
17
IP 分组的数据部分
网络层
UDP 协议封装
UDP 数据报由两部分构成:UDP 报头和数据区 UDP 报文是封装在 IP 分组中进行传送的
点到点指的是TCP连接只有两个端点,即TCP不
支持广播和组播
28
3.3.1 TCP协议的主要特点

支持流传输;
流(stream)相当于一个管道,从一端放入什么内容,
相关主题