读书笔记 ---- 《计算机网络—谢希仁第7版》---- 第5章 运输层

网络层(上篇):https://blog.youkuaiyun.com/pcwl1206/article/details/83999363

网络层(下篇):https://blog.youkuaiyun.com/pcwl1206/article/details/84098381


第5章:运输层

5.1  运输层协议概述

5.1.1  进程之间的通信

5.1.2  运输层的两个主要协议

5.1.3  运输层的端口

5.2  用户数据报协议UDP

5.2.1  UDP概述   ---- 重要【UDP的特点】

5.2.2  UDP的首部格式

5.3  传输控制协议TCP概述   ----  重要

5.3.1  TCP最主要的特点   ----  十分重要

5.3.2  TCP的连接

5.4  可靠传输的工作原理

5.4.1  停止等待协议

5.4.2  连续ARQ协议

5.5  TCP报文段的首部格式

5.6  TCP可靠传输的实现    ----  重要

5.6.1  以字节为单位的滑动窗口

5.6.2  超时重传时间的选择

5.6.3  选择确认SACK

5.7  TCP的流量控制

5.7.1  利用滑动窗口实现流量控制

5.7.2  TCP的传输效率

5.8  TCP的拥塞控制  ---- 重要

5.8.1  拥塞控制的原理

5.8.2  TCP的拥塞控制方法

5.8.3  主动队列管理AQM

5.9  TCP的运输连接管理    ----  重要

5.9.1  TCP的连接建立  ----  三次握手

5.9.2  TCP的连接释放   -----  四次挥手


本章重点:

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值