【传输层】

2024-04-19 18:12
文章标签 传输层

本文主要是介绍【传输层】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 传输层
    • 传输服务和协议
    • 传输层 vs. 网络层
    • Internet传输层协议
    • 多路复用/解复用
      • 在发送方主机多路复用
      • 在接收方主机多路解复用
    • 多路解复用工作原理
    • 无连接(UDP)多路解复用
    • 无连接传输:UDP
    • UDP:用户数据报协议
    • UDP校验和

传输层

  • 目标:理解传输层的工作原理
    • 多路复用/解复用
    • 可靠数据传输
    • 流量控制
    • 拥塞控制
  • 学习Internet的传输层协
    • UDP:无连接传输
    • TCP:面向连接的可靠传输
    • TCP的拥塞控制

传输服务和协议

  • 为运行在不同主机上的应用进程提供逻辑通信
  • 传输协议运行在端系统
    • 发送方:将应用层的报文分成报文段,然后传递给网络层
    • 接收方:将报文段重组成报文,然后传递给应用层
  • 有多个传输层协议可供应用选择
    • Internet: TCP和UDP

传输层 vs. 网络层

  • 网络层服务:主机之间的逻辑通信
  • 传输层服务:进程间的逻辑通信
    • 依赖于网络层的服务
    • 并对网络层的服务进行增强
      有些服务是可以加强的:不可靠 -> 可靠;安全
      但有些服务是不可以被加强的:带宽,延迟
      在这里插入图片描述

Internet传输层协议

  • 可靠的、保序的传输: TCP
    • 多路复用、解复用
    • 拥塞控制
    • 流量控制
    • 建立连接
  • 不可靠、不保序的传输:UDP
    • 多路复用、解复用
    • 没有为尽力而为的IP服务添加更多的其它额外服务
  • 都不提供的服务:
    • 延时保证
    • 带宽保证

多路复用/解复用

在发送方主机多路复用

从多个套接字接收来自多个进程的报文,根据套接字对应的IP地址和端口号等信息对报文段用头部加以封装(该头部信息用于以后的解复用)

在接收方主机多路解复用

根据报文段的头部信息中的IP地址和端口号将接收到的报文段发给正确的套接字(和对应的应用进程)
在这里插入图片描述

多路解复用工作原理

  • 解复用作用:TCP或者UDP实体采用哪些信息,将报文段的数据部分交给正确的socket,从而交给正确的进程。
  • 主机收到IP数据报
    • 每个数据报有源IP地址和目标地址
    • 每个数据报承载一个传输层报文段
    • 每个报文段有一个源端口和目标端口
  • 主机联合使用IP地址和端口号将报文段发送给合适的套接字

无连接(UDP)多路解复用

  • 在接收端,UDP套接字用二元组标识(目标IP地址,目标端口号)
  • 当主机收到UDP报文段:
    • 检查报文段的目标端口号
    • 用该端口号将报文段定位给套接字
  • 如果两个不同源IP地址/源端口号的数据报,但是有相同的目标IP地址和端口号,则被定位到相同的套接字

无连接传输:UDP

UDP: User Datagram Protocol [RFC ]

  • 尽力而为的服务,报文段可能
    • 丢失
    • 送到应用进程的报文乱序
  • 无连接
    • UDP发送端和接收端之间没有握手
    • 每个UDP报文段都被独立的处理
  • UDP被用于:
    • 流媒体(丢失不敏感,速率敏感,应用可控制传输速率)
    • DNS
    • SNMP
  • UDP上可行可靠传输:
    • 在应用层增加可靠性
    • 应用特定的差错恢复

UDP:用户数据报协议

在这里插入图片描述

为什么要有UDP?

  • 不建立连接(会建立延时)
  • 简单:在发送端和接收端没有连接状态
  • 报文段的头部很小(开销小)
  • 无拥塞控制和流量控制:
    • UDP可以尽可能快的发送报文段

UDP校验和

目标;检测在被传输报文段中的差错 (如比特反转)

发送方:

  • 将报文段的内容视为16比特的整数
  • 校验和:报文段的加法和 (1的补运算)
  • 发送方将校验和放在UDP的校验和字段

接收方:

  • 计算接收到的报文段的校验和
  • 检查计算出的校验和与校验和字段的内容是否相等:
  • 不相等––检测到差错
  • 相等––没有检测到差错,但也许还是有差错

这篇关于【传输层】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/918232

相关文章

传输层协议UDP

本篇将主要介绍 UDP 协议,介绍了有关 UDP 协议的报头、协议特点、UDP 协议在操作系统中的缓冲区、UDP 协议使用的注意事项,以及有关 UDP 的 Socket 编程程序,同时重点介绍了操作系统对于 UDP 协议报文的管理。         接着介绍了有关端口号的映射。 目录 UDP协议 1. UDP协议报头 2. UDP协议特点 3. UDP的缓冲区 4.

第十六篇:走入计算机网络的传输层--传输层概述

1. 传输层的功能 ① 分割与重组数据 一次数据传输有大小限制,传输层需要做数据分割,所以在数据送达后必然也需要做数据重组。 ② 按端口号寻址 IP只能定位数据哪台主机,无法判断数据报文应该交给哪个应用,传输层给每个应用都设置了一个编号,这个编号就是端口,目的端口可以定位报文应该发给哪个应用处理。 ③ 连接管理 面向连接的传输,需要对连接进行管理。 ④ 差错控制和流量控制

传输层协议---TCP协议

以下都是自己的学习总结,有不足也有错误的地方,谨供参考。 TCP协议特点                        ---面向字节流,有连接,可靠,全双工 面向字节流 面向字节流指的是服务器和客户端之间的数据传输,使用的字节流传输,获取socket对象内置的InputStream和OutputStream,调用read和write方法读取对端放来的数据和写入要发送给对端的数据; 有连

LIN诊断(3)—— 传输层诊断协议(LINTP)

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe,博客目录大全,点击跳转👉 目录 ISO-17987-2协议数据单元类型(Protocol data unit types)PDU报文格式Address information (N_AI)Protoco

【传输层协议】TCP协议(上) {TCP协议段格式;确认应答机制;超时重传机制;连接管理机制:三次握手、四次挥手}

TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层协议,用于在网络上可靠地传输数据。TCP是互联网协议套件(TCP/IP)中的一个主要协议,它在IP(Internet Protocol)的基础之上提供了可靠的数据传输服务。 TCP协议具有以下特点和功能: 面向连接:在通信双方进行数据传输之前,需要建立TCP连接,包括三次握手和四次

传输层协议-UDP数据报

UDP协议的特点             面向数据报,无连接,不可靠,全双工 面向数据报:是指该协议在传输数据的时候使用的是数据报; 无连接:指的是发送数据不需要两个进程连接在一起,类似生活中我们发送短信,只要直到对方的电话号码就看也发送短信;TCP就是有连接的,只有连接,双方才能交换数据,就像我们打电话,需要对方接通才能说话; 不可靠:指的是我们只管把数据发送出去,不管对方是否一定能接收

【网络】传输层协议——TCP协议(进阶)

目录 1.TCP连接的11种状态 2.再次理解三次挥手   2.1.再次理解三次握手 2.2.Socket编程和三次握手的关系 2.2.1.listen的参数 2.2.2.accept函数  2.3.TCP三次握手的优点 2.3.1.阻止重复历史连接的初始化 2.3.2.为什么两次握手不能防止旧的重复连接初始化造成混乱呢? 2.3.3.同步双方初始序列号 2.3.4.避免资源

【网络】传输层协议——TCP协议(初阶)

目录 1.TCP协议 1.1.什么是TCP协议 1.2.为什么TCP叫传输控制协议 1.2.TCP是面向字节流的  2.TCP协议段格式 2.1.流量控制——窗口大小(16位) 2.2.确认应答机制 2.2.1.什么是确认应答机制 5.2.2.推导确认应答机制  5.3.2.确认号和序列号 2.3.六位标志位  3.TCP的可靠策略 3.1.确认应答机制 3.2.超时重

【传输层协议】UDP协议 {端口号的范围划分;UDP数据报格式;UDP协议的特点;UDP的缓冲区;基于UDP的应用层协议}

一、再谈端口号 1.1 使用“五元组”标识一个通信 端口号(Port)标识了一个主机上进行通信的不同的应用程序 在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看); netstat 查看网络状态的重要工具 1.2 端口号的范围划分 0 - 1023:这个范围

板凳---------unix网络编程卷1:第二章传输层:TCP、UDP 和 SCTP

2.1 概述 焦点是传输层,包括TCP、UDP和SCTP(Stream Control Transmission Protocol,流控制传输协议)。绝大多数客户/服务器网络应用使用TCP或UDP。SCTP是一个较新的协议,最初设计用于跨因特网传输电话信令。这些传输协议都转而使用网络层协议IP:或是IPv4,或是IPv6。绕过传输层直接使用IPv4或IPv6,称为原始套接字。 UDP是一个简单的