IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计网-传输层(持续更新) -> 正文阅读

[网络协议]计网-传输层(持续更新)


在这里插入图片描述

概述和传输层服务

传输服务和协议

为运行在不同主机上的应用进程提供逻辑通信

传输协议运行在端系统:

  • 发送方:将应用层的报文分成报文段,然后传递给网络层
  • 接收方:将报文段重组成报文,然后传递给应用层

有多个传输层协议可供应用选择:

  • Internet: TCP和UDP

传输层vs网络层

网络层服务:主机之间的逻辑通信

传输层服务:进程间的逻辑通信

  • 依赖于网络层的服务。延时、带宽
  • 并对网络层的服务进行增强。数据丢失、顺序混乱、
    加密

有些服务是可以加强的:不可靠一>可靠、安全

但有些服务是不可以被加强的:带宽,延迟

传输层协议

  • 可靠的、保序的传输:TCP
    。多路复用、解复用
    。拥塞控制
    。流量控制
    。建立连接
    。字节流

  • 不可靠、不保序的传输:UDP
    。多路复用、解复用
    。没有为尽力而为的IP服务添加更多的其它额外服务
    。数据报

  • 都不提供的服务:
    。延时保证
    。带宽保证

多路复用和解复用

  • 在发送方主机多路复用
    从多个套接字接收来自多个进程的报文,根据套接字对应的IP地址和端口号等信息对报文段用头部加以封装(该头部信息用于以后的解复用)
  • 在接收方主机多路解复用
    根据报文段的头部信息中的IP地址和端口号将接收到的报文段发给正确的套接字(和对应的应用进程)

多路解复用工作原理

在这里插入图片描述

无连接(UDP)的多路解复用

UDP socket 由二元组确定:目的 IP 地址, 目的端口号

当主机接收 UDP 段:

  • 检测段中的目的端口号
  • 引导 UDP 段到具有该端口号的 socket

具有不同源IP及/或源端口号的IP 数据报被引导到同一个 socket
在这里插入图片描述

无连接的多路解复用

当主机接收到UDP段时:

  • 检查UDP段中的目标端口号
  • 将UDP段交给具备那个端口号的套接字

具备相同目标IP地址和目标端口号,即使是源IP地址或/且源端口号的IP数据报,将会被传到相同的目标UDP套接字上

UDP多路复用的例子

在这里插入图片描述

面向连接(TCP)的多路复用

TCP socket 由四元组确定:

  • 源 IP
  • 源端口
  • 目的 IP
  • 目的端口

解复用:接收主机使用这四个值,将报文段引导至适当的 socket

服务器主机可以支持多个并发的 TCP socket:

  • 每个 socket 由其自身的四元组确定

Web 服务器对每个连接的客户端,有不同的 socket

  • 非持续的 HTTP 对每个请求有不同的 socket

面向连接(TCP)的解复用例子

在这里插入图片描述

无连接传输:UDP

UDP:User Datagram Protocol

UDP 数据段可以

  • 丢失
  • 应用数据不按序到达

无连接

  • 在UDP收发双方之间, 无需握手信号
  • 每个 UDP 数据段的操作都互相独立

UDP 被用于

  • 流媒体(丢失不敏感,速率敏感、应用可控制传输速率)
  • DNS
  • SNMP

在UDP上可行可靠传输

  • 在应用层增加可靠性
  • 应用特定的差错恢复

为什么会有UDP

  • 不建立连接
  • 简单
  • 报文段的头部小
  • 无拥塞控制和流量控制

UDP:用户数据报协议

UDP数据报协议:
在这里插入图片描述

UDP校验和

目标:检测在被传输报文段中的差错

发送方:

  • 将报文段的内容看作一串16比特的整数
  • checksum(校验和):作段内容的加法和、反码
  • 发送方将校验和放入 UDP的 checksum 字段

接收方:

  • 对接收到的段内容进行和反码计算
  • 检查计算结果是否与收到的校验和相等:
    – NO – 查出错误
    – YES – 没查出错误. 但是仍有可能存在错误

UDP校验和例子

最高位的进位回加到结果中
在这里插入图片描述

1

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 19:06:09  更:2022-03-30 19:06:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:01:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码