计算机网络
文章目录
1. 计算机网络-传输层
1.1 传输层介绍
1.1.1 传输层 Transport Layer
- 传输层(Transport Layer)在计算机网络中是互联网协议套件与开放系统互连(OSI)网络堆栈中协议的分层结构中的方法的一个概念划分。该层的协议为应用进程提供端到端的通信服务。它提供面向连接的数据流支持、可靠性、流量控制、多路复用等服务。
1.1.2 提供服务
(1)面向连接的通讯
- 提供了传输层的连接管理,连接的建立、数据的传输,维持和终止连接。
(2)相同次序交付
- 网络层通常不保证数据包到达顺序与发送顺序相同,但这往往是一个可取的特点。这通常是通过给报文段编号来完成的,接收者按次序将它们传给应用进程。
(3)可靠性
- 由于网络拥塞和错误,数据包可能在传输过程中丢失。通过检错码(如校验和),传输协议可以检查数据是否损坏,并通过向发送者传ACK或NACK消息确认正确接收。自动重发请求方案可用于重新传输丢失或损坏的数据。
(4)流量控制
- 有时必须控制两个节点之间的数据传输速率以阻止快速的发送者传输超出接收緩衝器所能承受的数据,造成缓冲区溢出。这也可以通过减少缓冲区不足来提高效率。
(5)拥塞避免
- 拥塞控制可以控制进入到电信网络的流量。
(6)多路复用
- 端口可以在单个节点上提供多个端点。每个计算机应用进程会监听它们自己的端口,这使得在同一时间可以使用多个网络服务。它是在TCP/IP模型中是传输层的一部分,但在OSI模型中属于会话层。
1.1.3 端口号
(1)端口介绍
- 在计算机网络中,端口包括逻辑端口与物理端口两种类型
- 物理端口号是用于连接物理设备之间的接口,如交换机,路由器等接口
- 逻辑端口号是指逻辑上用于区分不同服务的端口,表示一台计算机的特定进程所提供的服务,后文说的端口不特别讲,全是代表逻辑端口
(2)端口号范围
- 在TCP/IP模型中,
TCP
与UDP
的端口号长度都为16位,即范围为 0 至 65536 0 至 65536 0至65536
(3)端口号分类
一般来说:
-
公认端口(WellKnown Ports)
- 0-1023:它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
-
注册端口(用户端口)(Registered Ports)
- 1024-49151:它们一般不固定分配给某个服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
-
动态/私有端口(Dynamicand/ Private Ports)
- 49152-65535:理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。
(4)常用的服务端口号
-
端口号 服务 使用协议 21 FTP 文件传输服务 TCP 22 SSH 远程连接服务 TCP 23 TELNET 终端仿真服务 TCP 25 SMTP 简单邮件传输服务 TCP 53 DNS 区域传输使用TCP,其他使用UDP 69 TFTP UDP 80 HTTP TCP 110 POP3 TCP 119 NNTP TCP 220 IMAP3 TCP 443 HTTPS TCP -
其他应用默认的端口号
3306端口:MYSQL数据库端口
5432端口:postgresql数据库端口
6379端口:Redis数据库端口
8080端口:TCP服务端默认端口
8888端口:Nginx服务器的端口
9200端口:Elasticsearch服务器端口
27017端口:mongoDB数据库默认端口
1.2 用户数据包协议 User Datagram Protocol,UDP
1.2.1 UDP介绍
(1)UDP介绍
- UDP是一个无连接且不可靠的面向数据报的一个传输层协议,在TCP/IP模型中,UDP为网络层与应用层提供了一个简单的接口,并对传输层单元首部加入了复用和数字校验字段
(2)UDP特点
- 不是面向连接的,开销相较于TCP会小
- 首部字段(8)少于TCP首部(20)。