计算机网络-传输层

传输层的作用

传输服务:为应用进程提供端到端的服务,增强网络层提供的服务质量QoS。

传输实体:在收/发两端的传输层实现对等实体通信的硬件或软件。利用网络层提供的点到点的分组传输服务,向高层提供端到端的TPDU(传输协议数据单元)传输服务。

点到点的传输(Point-to-Point)


面向连接的TCP协议

基本概念:为应用进程提供可靠的、端到端的、面向连接的字节流通信协议。利用网络层IP协议提供的不可靠的分组传输服务,解决分组的重传和排序问题。

性质:面向连接,全双工(支持同时的双向传输),Unicast(只支持两端点之间的通信,不支持Multicast和Broadcast),面向字节流。

传输实体:软件实现(用户进程,操作系统核心的一部分:管理TCP字节流、实现与IP层的接口)。

TCP的端口

TCP协议的端口定义:用16bit区分2^16个端口。众所周知端口(全局分配,用于标准服务器,取值小于1024),临时端口(本地分配,主机建立连接时为用户进程动态分配的端口,取值大于等于1024)

用套接字创建通信端点:套接口socket(4BSD UNIX首先提出的进程通信机制),用套接口标识用户进程通信的端点(TCP的端点标识,访问端口,主机IP地址)

TCP协议

TCP报文=TCP头部+应用数据

TCP头部:固定部分20字节,可选部分

应用数据:适应IP的载荷能力(小于65535Byte),适应网络的MTU。

计算机网络-传输层_第1张图片
TCP首部

TCP首部的标志字段:URG紧急指针域有效;ACK确认域有效;PSH不必缓冲区满即可上传;RST复位,用于崩溃或错误连接;SYN用于建立连接的同步序号;FIN表示发送方到达数据结尾。

TCP的流量控制——滑动窗口

使用选择重传ARQ:接收有可能乱序,接收方ACK接收窗口中的第一个编号。

窗口尺寸:接收端向发送端发送的,用于控制发送方发送的数据尺寸,防止接收方缓冲区溢出。

TCP运行原理

超时计时器的设定:

TCP拥塞控制

一般情况,拥塞窗口cwnd=发送窗口swnd;在RTT时间内最多发送cwnd长的报文;cwnd<=ssthresh;cwnd是变化的,由小变大,初值为1;

cwnd变化规则:cwndssthresh,每经过RTT,cwnd加1;cwnd=ssthresh,上述两种方法皆可)。

拥塞避免算法(慢开始):只要没有按时接收到ACK,ssthresh立刻减半,但不小于2,cwnd重新置1,执行上一段算法。

TCP连接建立与释放

三次握手建立TCP连接:发送方连接请求(SEQ=x),接收方接受连接回送确认(SEQ=y,ACK=x+1),发送方发送数据回送确认(SEQ=x,ACK=y+1),连接成功。

释放连接:非对称释放(发送释放请求后单方终止连接,有可能丢失对方发送的数据),对称释放(各自独立发出释放连接请求,收到对方的释放确认之后才可释放连接,Two-army问题)


无连接的UDP协议

UDP协议概述:为应用进程提供无连接的数据传输服务,适用场景(实时数据传输,节省建立、释放连接和重传的开销),由应用层解决纠错问题,由RFC768定义标准。

UDP的端点标识(Port):用2^16端口区分不同的应用进程,发送端(分配源端口,指定宿端口,构造UDP数据报,交IP;节省建立/释放连接和重传的开销),接收端(匹配UDP头部宿端口的应用进程;匹配成功,数据报排入相应的队列,若端口队列满,则丢弃数据报;匹配不成功,丢弃数据报,回送“宿端口不可达”的ICMP报文)。

UDP数据报的封装

UDP数据报=UDP头部+应用数据

计算机网络-传输层_第2张图片
UDP首部
计算机网络-传输层_第3张图片
UDP伪首部

用UDP传输RIP报文

RIP:请求路由信息

UDP:分配端口

IP:赋予IP地址

Ethernet:赋予以太网地址

你可能感兴趣的:(计算机网络-传输层)