目录
位置
TCP/IP 体系传输层协议
端到端通信
进程逻辑通信
数据分段
进程标识符
端口
流量控制
拥塞控制
随机早期检测 RED
套接字
服务
位置
传输层协议属于面向通信部分的最高层,同时也是用户功能中的最低层
TCP/IP 体系传输层协议
端到端通信
两个主机进行通信实际上就是两个主机中的应用进程互相通信,应用进程之间的通信又称为端到端的通信,传输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)
进程逻辑通信
数据分段
进程标识符
定义:
运行在计算机中的进程是用进程标识符来标志的
要求:
- 运行在应用层的各种应用进程却不应当让计算机操作系统指派它的进程标识符.这是因为在因特网上使用的计算机的操作系统种类很多,而不同的操作系统又使用不同格式的进程标识符
- 为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法对 TCP/IP 体系的应用进程进行标志
端口
定义:
在传输层使用协议端口号(protocol port number),或通常简称为端口(port)
硬件端口:
路由器或交换机上的端口是硬件端口
软件端口:
在协议栈层间的抽象的协议端口是软件端口,是不同硬件设备进行交互的接口,是应用层的各种协议进程与运输实体进行层间交互的一种地址(端口用一个 16 位端口号进行标志)端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程.在因特网中不同计算机的相同端口号是没有联系的
三类端口:
- 熟知端口号: 数值一般为 0~1023( 这些知名端口号由Internet号分配机构(Internet Assigned Numbers Authority, IANA)来管理 )
- 登记端口号: 数值为 1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复
- 客户端口号 / 短暂端口号: 数值为 49152~65535,留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用
端口寻址:
注意:
- 虽然通信的终点是应用进程,但我们可以把端口想象是通信的终点,因为我们只要把要传送的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)就由 TCP 来完成
- 应用层不同进程的报文通过不同的端口向下交到传输层,再往下就共用网络层提供的服务
UDP端口
- DNS服务的UDP端口号是53
- SNMP(简单网络管理协议)服务的UDP端口号是161
- TFTP(简单文件传送协议)服务器的UDP端口号是69
TCP端口
流量控制
流量控制(flow control)往往指在给定的发送端和接收端之间的点对点通信量的控制.就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞
拥塞控制
条件:
对资源需求的总和 > 可用资源
涉及因素:
拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素
分类:
开环控制:
说明:
开环控制方法就是在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞
闭环控制:
说明:
闭环控制是基于反馈环路的概念.属于闭环控
三种措施:
-
-
- 监测网络系统以便检测到拥塞在何时、何处发生
- 将拥塞发生的信息传送到可采取行动的地方
- 调整网络系统的运行以解决出现的问题
-
图释:
随机早期检测 RED (Random Early Detection)
具体实现:
- 使路由器的队列维持两个参数,即队列长度最小门限 THmin 和最大门限 THmax
- RED 对每一个到达的数据报都先计算平均队列长度 LAV
- 若平均队列长度小于最小门限 THmin,则将新到达的数据报放入队列进行排队
- 若平均队列长度超过最大门限 THmax,则将新到达的数据报丢弃
- 若平均队列长度在最小门限 THmin 和最大门限THmax 之间,则按照某一概率 p 将新到达的数据报丢弃
图释:
丢弃概率:
丢弃概率 p 与 THmin 和 Thmax 的关系:
-
- 当 LAV<Thmin 时,丢弃概率 p = 0
- 当 LAV>Thmax 时,丢弃概率 p = 1
- 当 THmin<LAV<THmax时, 0<p<1
图释:
套接字
说明:
(socket) 套接字 socket = (IP地址: 端口号)
每一条 TCP 连接唯一地被通信两端的两个端点 (即两个套接字) 所确定.即:TCP 连接 ::= {socket1, socket2}= {(IP1: port1), (IP2: port2)}
socket 的多种不同意思
- 应用编程接口 API 称为 socket API, 简称为 socket
- socket API 中使用的一个函数名也叫作 socket
- 调用 socket 函数的端点称为 socket
- 调用 socket 函数时其返回值称为 socket 描述符,可简称为 socket
- 在操作系统内核中连网协议的 Berkeley 实现,称为 socket 实现
服务
DNS服务
目的:
人们很难记住IP数字地址.于是,人们创建了可以将数字地址转换为简单易记名称的域名系统.
作用:
存储不同类型的资源记录,用来解析域名.这些记录中包含域名,地址以及记录的类型.
Web 服务
作用:
-
- Web 服务器是可以向发出请求的浏览器提供文档的程序
- Web 服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序
HTTP 协议:
-
- HTTP 协议(HyperText Transfer Protocol 超文本传输协议)
电子邮件服务
SMTP 协议: 客户端使用 SMTP 将邮件发送到服务器并使用
POP 协议: POP接受电子邮件
FTP服务
作用: FTP 用于客户端和服务器之间的文件传输
FTP协议: FTP文件传输协议(File Transfer Protocol)
DHCP服务
作用:
-
- 网络中的设备可以从 DHCP 服务器中获取 IP 地址和其它信息.
- 负责维护 IP 地址池,并在客户端登录时将临时地址分配给客户端
DHCP协议:
自动将IP位址指派给登入TCP/IP网络的用户端的一种软件
Telnet服务
Telnet协议:
-
- 是Internet远程登陆服务的标准协议和主要方式
- 是一种客户端/服务器协议,规定了创建和终止VTY会话的规则.