网站开发公司东莞,个人做的网站有什么危险,如何使用qq空间做推广网站,优秀个人网站模板计算机网络#xff1a;运输层 - 概述 运输层的任务端口号复用与分用UDP协议首部格式 TCP协议面向字节流 运输层的任务
物理层、数据链路层以及网络层#xff0c;他们共同解决了将主机通过网络互联起来所面临的问题#xff0c;实现了主机到主机的通信。
网络层的作用范围是… 计算机网络运输层 - 概述 运输层的任务端口号复用与分用UDP协议首部格式 TCP协议面向字节流 运输层的任务
物理层、数据链路层以及网络层他们共同解决了将主机通过网络互联起来所面临的问题实现了主机到主机的通信。
网络层的作用范围是主机到主机但实际上在计算机网络中进行通信的真正实体是位于通信两端主机中的进程。 AP1 和 AP2 是局域网LAN1上主机A中与网络通信相关的两个应用进程。
AP3 和 AP4 是局域网LAN2上主机B中的与网络通信相关的两个应用进程。
如何为运行在不同主机上的应用进程提供直接的通信服务是运输层的任务。运输层协议又称为端到端协议。运输层的作用范围是应用进程到应用进程也称为端到端。 运输层最重要的两个协议是TCP与UDP 用户数据报协议UDP
传输的协议数据单元是UDP报文或者UDP用户数据报。UDP在传输数据之前不需要先建立连接对方的运输层在收到UDP报文后不需要给出任何确认。
常见的使用UDP的应用层协议DNSDHCPTFTP。
传输控制协议TCP
传输的协议数据单元是TCP报文段。TCP提供面向连接的服务在传输数据前必须先建立连接数据传输结束后要释放连接接收方收到TCP报文后也要给出去确认。因此TCP也只能提供一对一的服务。
常见的使用TCP的应用层协议HTTPSMTPFTPTELNET。 端口号 如图假设AP1要和AP4通信那么当主机B接收到了主机A发来的报文后主机B怎么知道这个数据报要交给AP3还是AP4也就是说运输层面临的第一个问题就是如何标识一个进程。
计算机上的进程是使用进程标识符 PID 来标志的。然而因特网上的计算机并不是使用统一的操作系统不同操作系统使用不同格式的进程标识符。为了使运行不同操作系统的计算机的应用进程之间能够进行网络通信就必须使用统一的方法对 TCP/IP 体系的应用进程进行标识。 运输层使用端口号来区分应用层的不同应用进程 端口号长度为16bit取值范围是 0-65535分为熟知端口号登记端口号短暂端口号。
熟知端口号
取值范围是 0-1023。因特网数字分配机构 IANA 把这些端口号指派给了 TCP/IP 体系中最重要的一些应用协议。常见的端口号如下
协议端口号DHCP67 和 68DNS53TFTP69SNMP161SNMP(trap)162SMTP25FTP21 和 20TELNET23HTTP80HTTPS443
登记端口号
取值范围是 1024-49151为没有熟知端口号的服务器所使用。这类端口号必须在 IANA 按照规定的手续登记以防止重复。
例如微软远程桌面应用程序使用的端口号是3389。
短暂端口号
取值范围是 49152-65535留给客户进程选择暂时使用当服务器进程收到客户进程的报文时就知道了客户进程所使用的动态端口号。通信结束后这个端口号可供其他客户进程以后使用。 复用与分用
接下来我们介绍发送方的复用和接收方的分用如图所示
这是收发双方的应用进程发送方的某些应用进程所发送的不同应用报文在运输层使用 UDP 协议进行封装这称为 UDP 复用。而另一些应用进程所发送的不同应用报文在运输层使用 TCP 协议进行封装这称为 TCP 复用。
运输层使用端口号来区分不同的应用进程不管是使用运输层的 UDP 协议封装成的 UDP 用户数据报还是使用 TCP 协议封装成的 TCP 报文段。在网络层都需要使用 IP 协议封装成 IP 数据报这称为 IP 复用。
IP 数据报首部中协议字段的值用来表明 IP 数据报的数据载荷部分封装的是何种协议数据单元取值为6表示封装的是TCP报文段取值为17表示封装的是UDP用户数据报。
接收方的网络层收到 IP 数据报后进行 IP 分用。
若 IP 数据报首部中协议字段的值为17则把 IP 数据报的数据载荷部分所封装的 UDP 用户数据报上交运输层的 UDP。若协议字段的值为6则把 IP 数据报的数据载荷部分所封装的 TCP 报文段上交运输层的 TCP。
运输层对 UDP 用户数据报进行 UDP 分用对 TCP 报文段进行 TCP 分用也就是根据端口号将它们交付给上层相应的应用进程。 接下来我对TCP和UDP两个协议做一个简单讲解只是了解它们的基本特点不深入讲解后续会有其它博客讲解具体细节。
UDP协议
UDP协议具有一下特点
UDP 是无连接的即发送数据之前不需要建立连接UDP 使用尽最大努力交付即不保证可靠交付UDP 是面向报文的即一次发送和交付一个完整的报文UDP 没有拥塞控制很适合实时通信因为实时通信要求源主机以恒定的速率发送数据并允许丢失部分数据UDP 支持一对一、一对多、多对一和多对多的交互通信UDP 的首部开销小只有 8 个字节 首部格式
UDP数据报的首部只要8 byte由四个字段组成每个字段都是2 byte如图 源端口与目的端口用与标识两个不同主机上的进程。长度为整个UDP数据报的长度校验和用于检验数据报是否出错
在计算校验和时还会引入一个伪首部的概念 伪首部不是一个真实存在的首部只有计算校验和是会把这个伪首部也计算进来。 TCP协议
TCP协议有以下特点
TCP 是面向连接的运输层协议。TCP 在传送数据之前必须先建立连接在传送数据完毕后必须释放已经建立的连接。每一条 TCP 连接只能有两个端点(endpoint)每一条 TCP 连接只能是点对点的一对一。TCP 提供可靠交付的服务。通过 TCP 连接传送的数据无差错、不丢失、不重复并且按序到达TCP 提供全双工通信。TCP 连接的两端都设有发送缓存和接收缓存用来临时存放双向通信的数据。 面向字节流
面向字节流流指的是一连串的字节序列。
发送方的 TCP 把应用进程交付下来的数据块仅仅看作是一连串的无结构的字节流TCP 并不知道这些带传送的字节流的含义仅将他们编号并存储在自己的发送缓存。 TCP 不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系。
接收方要具有还原字节流的能力接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。