Java教程

计算机网络知识学习(核心:网络协议)-- 运输层

本文主要是介绍计算机网络知识学习(核心:网络协议)-- 运输层,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • 概述
  • 运输层端口号、复用与分用
  • TCP ,UDP对比
  • TCP流量控制
  • 拥塞控制
  • TCP超时重传时间的选择(计算)
  • TCP可靠传输实现
  • 三次握手
  • 四次挥手
  • 报文段首部
  • 传送门

概述

计算机网络中的物理层、数据链路层以及网络层他们共同解决了将主机通过异构网络互连起来所面临的问题,实际了主机到主机的通信

在计算机网络中进行通信的真正实体是位于通信两端主机中的进程
运输层任务是为运行在不同主机上的应用进程提供直接的通信服务

运输层协议又称为端到端协议

在运输层中不同的端口(统一应用进程标识符)对应不同的应用进程

运输层为应用层提供两种不同的运输协议:面向连接的TCP协议、无连接的UDP协议

运输层端口号、复用与分用

计算机中的进程使用 进程标识符PID标识,由于不同操作系统使用不同的进程标识符,因此使用端口号统一对TCP/IP体系的应用进程进行标识

端口号只具有本地意义,即端口号只是为了标识本计算机应用层中的各进程,在因特网中,不同计算机中的相同端口号没有联系
在这里插入图片描述

应用层发送的应用报文在运输层采用UDP协议进行封装 称为 UDP 复用,使用TCP协议进行封装 称为TCP复用,之后再网络层使用IP协议封装成 IP数据报 称为 IP复用
IP数据报首部中协议字段值表明IP数据报中的数据载荷部分封装的是何种协议数据单元,值为6表示封装的是TCP报文段, 值为17 表示封装的是UDP用户数据报
在这里插入图片描述

属UDP协议及熟知端口号:
RIP/520,DNS/53,TFTP/69,SNMP/161,DHCP/67/68
属TCP协议及熟知端口号:
SMIP/25,FTP/21/20,BGP/179,HTTP/80,HTTPS/443
在这里插入图片描述

TCP ,UDP对比

用户数据报协议UDP (User Datagram Protocol):

  1. 无连接的
    2、单播,多播,广播(支持一对一,一对多,一对全的通信)
    3、应用报文处理:发送方进程将应用报文交给运输层UDP,UDP直接给应用层报文添加一个UDP首部,构建UDP用户数据报,并发送;(UDP是面向应用报文的,即不合并,不拆分
    4、向上层提供无连接不可靠的传输服务(适用 实时应用)
    首部格式:UDP用户数据报首部仅8个字节

传输控制协议TCP(Transmission Control Protocol):
1.三报文握手建立连接,四报文挥手释放连接 (逻辑连接关系)
2、一对一通信(单播)(全双工通信)
3、发送方TCP将应用进程交付的数据块当成一连串、无结构的字节流(TCP是面向字节流的,是TCP实现可靠传输,流量控制,拥塞控制的基础
4、向上层提供有连接可靠的传输服务(适用可靠传输)
5、首部格式:TCP报文段首部最小20字节,最大60字节

在这里插入图片描述

TCP流量控制

流量控制是让发送方的发送速率不要太快,要让接收方来得及接收
利用 滑动窗口机制 在TCP连接上实现对发送方的流量控制
在这里插入图片描述

拥塞控制

拥塞现象:对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要破坏
若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降
在这里插入图片描述

在这里插入图片描述

四种拥塞控制算法:慢开始,拥塞避免,快重传,快恢复
在这里插入图片描述

慢开始算法拥塞窗口按指数型增长(依传输轮次)
当拥塞窗口大于等于慢开始门限时,改用拥塞避免算法拥塞窗口只能线性加1
当拥塞窗口达到某个值时,发送方重传计时器超时,则判断网络很可能出现拥塞,则进行一下工作:
在这里插入图片描述

慢开始 是指一开始向网络注入的报文段少,并不是指拥塞窗口cwnd增长慢
拥塞避免 并非指完全能够避免拥塞,而是指在拥塞避免阶段将拥塞窗口控制为按线性增长,使网络比较不容易出现拥塞;

在这里插入图片描述

采用快重传算法可以让发送方尽早知道发生了个别报文段的丢失,提早进行重传而不是等重传计时器超时后再重传
此方法要求:
1、接收方不要等待发送数据时才进行捎带确认,而要立即发送确认
2、即使收到了失序的报文段也要立即发出对已收到的报文段的重复确认
3、发送方一旦收到三个连续的重复确认,就将相应的报文段立即重传,而不是等该报文段的超时计时器超时再重传
在这里插入图片描述
发送方一旦收到3个连续重复确认,就知道现在丢失了个别的报文段。于是不启动慢开始算法,而执行 快恢复算法
在这里插入图片描述

TCP超时重传时间的选择(计算)

根据TCP协议的规定,当接收方收到乱序片段时,需要重复发送ACK

在这里插入图片描述
在这里插入图片描述

TCP可靠传输实现

TCP是基于 以字节为单位的滑动窗口 来实现可靠传输
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三次握手

四次挥手

报文段首部

在这里插入图片描述

序号:
在这里插入图片描述

数据偏移:占4 bit
用于指出TCP报文段数据荷载部分的起始位置 距离 TCP报文段的起始位置有多远
即指出TCP报文段的首部长度
由于数据偏移以4字节为单位,4bit最大表示数为15,则可表示的最大首部长度为4*15 为60字节
由于TCP报文段首部固定长度为20字节,则数据偏移字段最小值为5即(0101)

在这里插入图片描述
在这里插入图片描述

传送门

计算机网络微课堂
两张动图-彻底明白TCP的三次握手与四次挥手
TCP-IP详解:超时重传机制
抓包分析序列号、确认号、三次握手、四次挥手

这篇关于计算机网络知识学习(核心:网络协议)-- 运输层的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!