文章目录
前言
上一篇我们简介了应用层,介绍了在应用层两个重要的协议DNS和HTTP,在这篇,我们来认识运输层,这给层有两个非常重要的协议UDP和TCP,其中TCP更是这层的大哥,是不是突然发现计算机网络非常有趣,一层一层的了解,每层都有大BOSS。话不多说,开始吧!
一、计算机网络
还是每篇都出现的这张图吧!这张图可谓是开启计算机网络的秘钥,也能让你有一个总体的框架,

二、运输层
- 概括
运输层是为了向他的上面一层的应用层提供通信服务的。两台主机通信其实就是两台主机中的应用进程互相通信,网络层的IP协议虽然能把分组送到目的主机,但是这个分组还是停留在主机的网络层,还没有进入到应用进程中。通信的真正端点并不是主机是主机中的应用进程。
网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端对端的逻辑通信。
1、复用和分用

复用
- 应用层的所有应用进程都是通过运输层再传达到网络层的。
分用 - 运输层从网络层拿到数据后,必需分别交付给对应的应用进程
在这里有一点,就是如何对应把数据交给对应的应用进程,所以在这里还有个关键的协议端口号
- 服务器端用
- 系统端口 :一些重要的应用程序说使用的(0-1023),https:443 , http:80 ,dns:53
- 登记端口:给没有熟知端口的应用程序使用的(1024-49151),必须登记防止重复
- 客户端用
- 短暂端口:客户程序在运行的过程动态选择,包含在请求中,告诉应该接收的端口,进程结束会释放端口。
2、UDP
定义
- UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务
- 相比IP报并没有多大的变化,只是在ip数据报的基础上添加了一个UDP首部,用来实现复分和分用功能的。
特点
-
无连接,每次发送数据前都是直接发送的,好处,减少连接的开支,和低时延
-
面向报文的,在UDP报文只是简单的加上UDP首部,进入到网络层,在到达目的主机的应用层后,只需要去掉UDP首部就能使用了
-
不可靠,UDP是一个不可靠的传递,不会保证数据的完整,会出现误包和丢包问题,接收方也是只管接收的。他没有过多的控制协议,但同时也因此,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序
-
支持一对一,一对多,多对一,多对多:多播,广播,单播
-
首部开销小,只要添加八个字节的就可以了。
所以因为这些特点,UDP常用在网络直播,视频会议等,而不是应用在对可靠性要求比较高的地方。
首部格式