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

1. 传输层的功能

① 分割与重组数据

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

② 按端口号寻址

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

③ 连接管理

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

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

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

2. 面向连接和无连接

面向连接 代表协议 TCP

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

其过程分为三个阶段:

第一阶段是建立连接;

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

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

无连接 代表协议 UDP

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

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

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

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

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

相关推荐
蒋星熠12 分钟前
全栈开发实战指南:从架构设计到部署运维
运维·c++·python·系统架构·node.js·devops·c5全栈
HalvmånEver15 分钟前
Linux:基础开发工具(一)
linux·运维·服务器·开发语言·学习·进阶学习
real_haha36 分钟前
Fabric 学习资料总结 持续更新
运维·fabric
caijingshiye3 小时前
九科信息企业自动化智能体:打破知行割裂,让AI真正动手干活
运维·人工智能·自动化
HIT_Weston5 小时前
26、【Ubuntu】【远程开发】内网穿透:密钥算法介绍(二)
linux·运维·ubuntu
大地的一角7 小时前
(Linux)ELF格式与库的链接原理
linux·运维·服务器
z202305087 小时前
Linux之中断子系统-内核中断注册源码分析(4)
linux·运维·服务器
Bruce_Liuxiaowei8 小时前
权限维持:操作系统后门技术分析与防护
网络·安全·web安全
极小狐9 小时前
比 Cursor 更丝滑的 AI DevOps 编程智能体 - CodeRider-Kilo 正式发布!
运维·人工智能·devops
Sunlightʊə9 小时前
2.登录页测试用例
运维·服务器·前端·功能测试·单元测试