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

1. 传输层的功能

① 分割与重组数据

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

② 按端口号寻址

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

③ 连接管理

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

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

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

2. 面向连接和无连接

面向连接 代表协议 TCP

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

其过程分为三个阶段:

第一阶段是建立连接;

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

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

无连接 代表协议 UDP

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

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

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

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

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

相关推荐
lpfasd12328 分钟前
第2部分:Netty核心架构与原理解析
运维·服务器·架构
若尘拂风31 分钟前
centos 7.9 编译安装 freeswitch 1.10.12
服务器·udp·freeswitch·sip
小蜜蜂爱编程1 小时前
gerrit的部署与配置关联到不同服务器上的git仓库
运维·服务器·git·gerrit
心灵宝贝2 小时前
申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?
linux·运维·服务器
好记忆不如烂笔头abc2 小时前
linux系统记录登录用户的所有操作
java·linux·服务器
qq_409022952 小时前
计算机网络
网络协议·tcp/ip·信息与通信
tan180°2 小时前
Linux网络HTTP(中)(8)
linux·网络·http
野犬寒鸦2 小时前
从零起步学习MySQL || 第五章:select语句的执行过程是怎么样的?(结合源码深度解析)
java·服务器·数据库·后端·mysql·adb
半梦半醒*2 小时前
搭建Jenkins
linux·运维·centos·tomcat·jenkins·运维开发
Wang's Blog3 小时前
Linux小课堂: 系统监控与进程管理之深入解析 w、ps 与 top 命令
linux·运维·服务器