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

1. 传输层的功能

① 分割与重组数据

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

② 按端口号寻址

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

③ 连接管理

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

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

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

2. 面向连接和无连接

面向连接 代表协议 TCP

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

其过程分为三个阶段:

第一阶段是建立连接;

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

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

无连接 代表协议 UDP

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

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

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

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

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

相关推荐
007php00737 分钟前
Jenkins+docker 微服务实现自动化部署安装和部署过程
运维·数据库·git·docker·微服务·自动化·jenkins
路溪非溪1 小时前
嵌入式Linux驱动开发杂项总结
linux·运维·驱动开发
2501_920047031 小时前
nginx-限速-限制并发连接数-限制请求数
运维·nginx
RainbowJie12 小时前
Gemini CLI 与 MCP 服务器:释放本地工具的强大潜力
java·服务器·spring boot·后端·python·单元测试·maven
蓝黑20202 小时前
VSCode远程连接阿里云ECS服务器
服务器·vscode·阿里云
网硕互联的小客服2 小时前
服务器支持IPv6吗?如何让服务器支持IPv6
运维·服务器·ip
励志五个月成为嵌入式糕手3 小时前
0825 http梳理作业
网络·网络协议·http
三无少女指南3 小时前
动态线程池核心解密:从 Nacos 到 Pub/Sub 架构的实现与对比
运维·架构
poison_Program4 小时前
使用 Prometheus 监控服务器节点:Node Exporter 详解与配置
运维·服务器·prometheus
张童瑶4 小时前
Linux 离线安装lrzsz(rz、sz上传下载小插件)
linux·运维·centos