首页 > 其他分享 >计算机网络--传输层正文

计算机网络--传输层正文

时间:2022-10-06 22:55:16浏览次数:44  
标签:计算机网络 -- 报文 TCP 发送 拥塞 传输层 连接

传输层

  1. 功能

    • 传输层提供进程和进程之间的逻辑通信
    • 复用和分用
    • 传输层对收到的报文进行差错检测
    • 传输层两种协议
  2. 传输层的两种协议

    • 面向连接的传输控制协议
    • 传送数据之前必须建立连接,数据传送结束后要释放连接。不提供广播或者多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免的增加了开销:确认,流量控制,计时器以及连接管理等。
    • 可靠,面向连接,时延大,适用于大文件
    • 无连接的用户数据报协议UDP
    • 传输数据之前不需要建立连接,收到UDP报文之后不需要给出任何确认
    • 不可靠,无连接,时延小,适用于小文件
  3. 传输层的寻址和端口

    • 复用:应用层所有的应用程序都可以通过传输层再传输到网络层
    • 分用:传输层从网络层收到数据后交付指明的应用进程
  4. 端口:

    • 传输层的SAP,标识主机中的应用进程
    • 端口号长度16bit,能标识65535个不同的端口号

    端口号常识

  5. 常用端口号

    应用程序 FTP TELNET SMTP DNS TFTP HTTP SNMP
    端口号 21 23 25 53 69 80 161

    套接字Socket=(主机IP地址,端口号)


UDP协议

  1. UDP只在IP数据报服务上增加很少的功能,即复用分用和差错检测功能
  2. 主要特点
    • UDP是无连接的,减少开销和发送数据之前的时延
    • UDP使用最大努力交付,即不保证可靠交付
    • UDP是面向报文的,适合一次性传输少量数据的网路应用
    • UDP无拥塞控制,适合很多实时应用
    • 首部开销比较小,8B,TCP20B

TCP协议

  1. TCP协议特点

    1. TCP是面向连接(虚连接)的传输层协议。

    2. 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。

    3. TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。可靠有序,不丢不重

    4. TCP提供全双工通信。

      • 发送缓存准备发送的数据&已发送但尚未收到确认的数据
      • 接收缓存按序到达但尚未被接受应用程序读取的数据&不按序到达的数据
    5. TCP面向字节流--TCP把应用程序交下来的数据看成仅仅一连串的无结构的字节流

  2. TCP报文首部格式

    TCP协议报文

  3. 参数

    • 紧急位URG:URG=1时,标明此报文段中有紧急数据,是高优先级的数据,应尽快传送,不用在缓存里排队,配合紧急指针字段使用。
    • 确认位ACK:ACK=1时确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1。
    • 推送位PSH:PSH=1时,接收方尽快交作接收应用进程,不再等到缓存填满再向上交付。
    • 复位RST:RST=1时,表明TCP连接中出严重差错,必须释放连接,然后再重新建立传输链接。
    • 同步位SYN:SYN=1时,表明是一个连接请求/连接接受报文。
    • 终止位FIN:FIN=1时,表明此报文段,发送方数据已发完,要求释放连接。
    • 窗口:指的是允许对方发送的数据量
    • 检验和:检验首部+数据,检验时要加上12B伪首部,第四个字段为6
    • 紧急指针:URG=1时,指针的数字为紧急数据在TCP数据中的位置

TCP连接管理

  1. 三个阶段:
    • 连接建立
    • 数据传送
    • 连接释放

三次握手

  1. SYN洪泛攻击

    SYN洪泛攻击发生在OSI第四层,这种方式利用TCP协议的特性,就是三次握手。攻击者发送TCP SYN,SYN是TCP三次握手中的第一个数据包,而当服务器返回ACK后,该攻击者就不对其进行再确认,那这个TCP连接就处于挂起状态,也就是所谓的半连接状态,服务器收不到再确认的话,还会重复发送ACK给攻击者。这样更加会浪费服务器的资源。攻击者就对服务器发送非常大量的这种TCP连接,由于每一个都没法完成三次握手,所以在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机,就无法为正常用户提供服务了。

  2. TCP连接的释放

四次挥手


TCP可靠传输

  1. 特点
    • 传输层:使用TCP实现可靠传输
    • 网络层:提供最大努力交付,不可靠传输
    • 可靠:保证接收方进程从缓存区读出的字节流和发送方发出的字节流是一样的
  2. 机制
    • 确认
    • 重传
    • 冗余ACK:每当比期望序号大的失序报文段到达时,发送一个冗余ACK,指明下一个期望字节的序号

冗余ACK


TCP流量控制

  1. 流量控制:让发送方发慢点,让接收方来得及接受
  2. 滑动窗口机制实现流量控制
    • 在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,即接收窗口rwnd(接收方设置确认报文段的窗口字段来将rwnd通知给发送方),发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。

流量控制


拥塞控制

  1. 拥塞控制的条件:对资源的需求总和>可用资源
  2. 拥塞控制的算法:
    • 慢开始
    • 拥塞避免
    • 快开始
    • 快恢复
  3. 假定
    1. 条件:
      • 数据单方向发送,另一方向值传送确认
      • 接收方总有足够大的缓存空间,而发送窗口大小取决于拥塞程度
    2. 发送窗口=Min{接受窗口rwnd,拥塞窗口rwnd}
    3. 拥塞窗口:发送方根据网络拥塞设置的窗口值,反应网络当前容量
    4. 接受窗口:接收方根据缓存设置,告知对方,反应接收方容量

慢开始和拥塞避免

快开始和快回复

标签:计算机网络,--,报文,TCP,发送,拥塞,传输层,连接
From: https://www.cnblogs.com/zlwsxhn/p/16758762.html

相关文章

  • 支持IE浏览器下载文件--转成zip,excel,pdf
    1.应把请求头设置:responseType:'blob'constdata=awaitdefHttp.get({url:url,params:params,responseType:'blob'},{isTransformResponse:false})服务器响应......
  • qt文件操作
    二、文件操作2.1、QFileQFile类提供了一个用于读/写文件的接口,它可以用来读/写文本文件、二进制文件和Qt资源的I/0设备。一般在构建QFile对象时便指定文件名,当然......
  • LeetCode打卡
    目录927.三等分927.三等分https://leetcode.cn/problems/three-equal-parts/classSolution{public:vector<int>threeEqualParts(vector<int>&arr){......
  • 自制的MATLAB拼图游戏GUI界面版详解(中篇)
    摘要:这篇博文在早前本人写的介绍拼图游戏的基础上推出带有GUI用户界面的增强版,这里将通过上、中、下三篇博文详细介绍利用MATLABGUI设计的拼图游戏完整实现过程,每篇都会......
  • rabbitmq,rocketmq消息队列可提高系统可用性以及可扩展性
     rabbitmq,rocketmq消息队列可提高系统可用性以及可扩展性  一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实......
  • DDD(领域驱动设计)总结
    DDD(领域驱动设计)总结基本概念:领域驱动设计(简称ddd)概念来源于2004年著名建模专家ericevans发表的他最具影响力的书籍:《domain-drivendesign–tacklingcomplexit......
  • MySQL项目2 - 淘宝用户分析
    来源:淘宝用户分析目的:通过实战案例,掌握电商数据分析逻辑和对应的SQL语句实例应用。从数据到信息的这个过程,就是数据分析,目的是解决我们现实中的某个问题或者满足现实中......
  • CodeForces 1654E Arithmetic Operations
    洛谷传送门CF传送门不错的根号分治练习题。考虑枚举公差\(k\),题目就转化成了求\(a_i-i\timesk\)相等的数的最大值。考虑根号分治。当\(|k|\le\sqrt{10^5}......
  • 云原生是什么?细数云原生的5大特征
     云原生是什么?细数云原生的5大特征 导读:随着公有云和私有云的广泛部署,云计算基础设施成为企业部署新业务的首选。可以说,云计算已进入下半场,各大云计算服务商的......
  • 读写wav格式文件
    读写wav格式文件注意:本文代码仅在MinGW-w64gcc/g++环境下编译测试通过,其余环境不保证。MinGW环境可以在以下链接下载:https://github.com/niXman/mingw-builds-binaries......