当前位置: 首页 > article >正文

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

1. 传输层的功能

① 分割与重组数据

一次数据传输有大小限制,传输层需要做数据分割,所以在数据送达后必然也需要做数据重组。

② 按端口号寻址

IP只能定位数据哪台主机,无法判断数据报文应该交给哪个应用,传输层给每个应用都设置了一个编号,这个编号就是端口,目的端口可以定位报文应该发给哪个应用处理。

③ 连接管理

面向连接的传输,需要对连接进行管理。

④ 差错控制和流量控制,纠错的功能

传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。

2. 面向连接和无连接

① 面向连接代表协议TCP

面向连接就是通信双方在通信时,要事先建立一条通信线路,然后进行通信。

其过程分为三个阶段:

第一阶段是建立连接;

第二阶段是连接成功建立之后,进行数据传输;

第三阶段是在数据传输完毕后,释放连接。

② 无连接代表协议UDP

无连接是指通信双方不需要事先建立通信线路,而是把每个带有目的地址的包(报文分组)发送到线路上,由系统选定路线进行传输,不需要目标方进行回复。

3. 如何理解面向连接里面的“连接”?

面向连接就是通信双方在通信时,要事先建立一条通信线路,然后进行通信。这条通信线路并不是一条实际的路而是我们抽象出来的一条路,简单来说就是:⽤于保证可靠性和流量控制维护的某些状态信息称为连接也可以理解成“通信线路”这些状态信息包括Socket、序列号和窗⼝⼤⼩

  1. 套接字:由 IP 地址、端⼝号以及传输层协议(TCP或UDP)组成
  2. 序列号:⽤来解决乱序问题等
  3. 窗⼝⼤⼩:⽤来做流量控制

两个套接字可以唯一确定一个“连接”即四元组源IP源端口目的IP目的端口


http://www.kler.cn/a/294700.html

相关文章:

  • 基于matlab的CNN食物识别分类系统,matlab深度学习分类,训练+数据集+界面
  • Android OpenGL ES详解——纹理:纹理过滤GL_NEAREST和GL_LINEAR的区别
  • Chromium 中sqlite数据库操作演示c++
  • pgsql和mysql的自增主键差异
  • python识别ocr 图片和pdf文件
  • Android 开发指南:初学者入门
  • 【Qt线程】—— Qt线程详解
  • 2024年水利水电安全员考试题库及答案
  • Linux C 内核编程 /proc 编程例子
  • 【代码随想录训练营第42期 续Day52打卡 - 图论Part3 - 卡码网 103. 水流问题 104. 建造最大岛屿
  • 手游后端架构中,用命令模式解决什么问题
  • How can I load the openai api configuration through js in html?
  • 云计算实训41——部署project_exam_system项目(续)
  • 关于Qt在子线程中使用通讯时发生无法接收数据的情况
  • Docker配置Redis持久化
  • 如何保护服务器免受恶意软件攻击?
  • C++学习笔记(11)
  • 【网络安全】如何预防xss
  • 基于EPS32C3电脑远程开机模块设计
  • 飞思相机存储卡格式化数据如何恢复?提供全面指南
  • 风格控制水平创新高!南理工InstantX小红书发布CSGO:简单高效的端到端风格迁移框架
  • 【Nacos】负载均衡
  • 应用层简单实现udp / tcp网络通信
  • 「大数据分析」图形可视化,如何选择大数据可视化图形?
  • Qt: 详细理解delete与deleteLater (避免访问悬空指针导致程序异常终止)
  • JAVA并发编程JUC包之CAS原理