网络层(上篇):https://blog.youkuaiyun.com/pcwl1206/article/details/83999363
网络层(下篇):https://blog.youkuaiyun.com/pcwl1206/article/details/84098381
第5章:运输层
本章重点:
1、运输层为相互通信的应用进程提供逻辑通信;
2、端口和套接字的意义;
3、无连接的UDP的特点;
4、面向连接的TCP的特点;
5、在不可靠的网络上实现可靠传输的工作原理,停止等待协议和ARQ协议;
6、TCP的滑动窗口、流量控制、拥塞控制和连接管理。
写在前面:
1、运输层两个协议的应用场景:
TCP:分段、编号、流量控制、建立会话。比如:QQ传文件(需要分段传输)、访问网站、FTP、HTTP
UDP:一个数据报就能完成数据通信、不建立会话、多播。比如:QQ聊天、电视台节目(多播)
2、传输层和应用层之间的关系:一个运输层协议 + 端口 = 一个应用
http = TCP + 80 https = TCP + 443 ftp = TCP + 21
SMTP = TCP + 25 POP3 = TCP + 110 RDP = TCP + 3389
共享文件夹 = TCP + 445 SQL = TCP + 1433 DNS = UDP + 53 or TCP + 53(很少的时候)
3、应用层协议和服务之间的关系:
服务(对外提供的服务:Web、FTP、SMTP等)运行后,在TCP或UDP的某个端口来监听客户端的请求。
查看自己计算机监听的端口:netstat -an
4、Windows防火墙的作用:只开必要的端口。
运输层是整个网络体系中的关键层次之一。一定要弄清楚以下一些重要的概念:
1、运输层为相互通信的应用进程提供逻辑通信;
2、端口和套接字的意义;
3、无连接的UDP的特点;
4、面向连接的TCP的特点;
5、在不可靠的网络上实现可靠传输的工作原理,停止等待协议和ARQ协议;
6、TCP的滑动窗口、流量控制、拥塞控制和连接管理。
5.1 运输层协议概述
5.1.1 进程之间的通信
从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。当网络的边缘部分中的两台主机使用网络的核心部分的功能进行端到端的通信时,只有主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。
为什么需要运输层?
首先明确一个问题,两台主机通信时,真正进行通信的是两台主机中的进程。网络层指定明确这两台主机的IP地址,但是分组还停留在网络层而没有交付到主机中的应用进程,所以需要运输层支持进程与进程之间的数据交换。
如上图所示,主机A的应用进程AP1和主机B的应用进程AP3通信,同时,主机A的应用进程AP2和主机B的应用进程AP4进行通信。这表明运输层有一个很重要的功能:复用和分用。这里的“复用”是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据,而“分用”是指接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程。
图中的逻辑通信:指的是从应用层来看,只要把应用层报文交给下面的运输层,运输层就可以把这报文传送到对方的运输层,这种通信就像是水平方向直接传送数据。
网络层和运输层的区别:网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。
5.1.2 运输层的两个主要协议
1、用户数据报协议UDP(User Datagram Protocol)
2、传输控制协议TCP(Transmission Control Protocol)
运输层中的这两种协议在TCP/IP协议栈中的位置如下图所示:
按照OSI术语,两个对等运输实体在通信时传送的数据单元叫做运输协议单元TPDU(Transport Protocol Data Unit)。但在TCP/IP体系中,则根据所使用的协议是TCP还是UDP,分别称之为TCP报文段和UDP用户数据报。
UDP的特点:UDP在传送数据之前不需要建立连接,远地主机的运输层在收到UDP报文后,也不需要给出任何确认。虽然UDP是不可靠交付,但在某些情况下UDP确是一种最有效的工作方式。
TCP的特点:提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播或多播服务。由于TCP要提供可靠的、面向连接的运输服务,而不可避免地增加了许多开销,如:确认、流量控制、计时器以及连接管理等。这不仅使协议单元的首部增大了很多,还要占用许多处理机资源。
下表中列出了一些应用层协议使用的运输层协议(UDP/TCP):
应用 | 应用层协议 | 运输层协议 |
---|---|---|
名字转换 | DNS(域名系统) | UDP |
文件传输 | TFTP(简单文件传送协议) | UDP |
路由选择协议 | RIP(路由信息协议) | UDP |
IP地址配置 | DHCP(动态主机配置协议) | UDP |
网络管理 | SNMP(简单网络管理协议) | UDP |
远程文件服务器 | NFS(网络文件系统) | UDP |
IP电话 | 专用协议 | UDP |
流式多媒体通信 | 专用协议 | UDP |
多播 | IGMP(网际组管理协议) | UDP |
电子邮件 | SMTP(简单邮件传输协议) | TCP |
远程终端接入 | TELNET(远程终端协议) | TCP |
万维网 | HTTP(超文本传输协议) | TCP |
文件传送 | FTP(文件传送协议) | TCP |