一、前语

本系列文章旨在温习核算机网络中心常识,进一步夯实根底,为今后 参与物联网、音视频、直播、即时通讯等范畴的项目做一定的常识储藏。

文章列表:

  • 01-核算机网络中心常识|核算机网络通识【核算机网络性能指标、网络协议分层的几种方法、OSI七层模型概念通识】
  • 02-核算机网络中心常识|【搭建调试环境、新建Java项目、核算机通讯根底、核算机衔接方法、集线器/网桥/交换机/路由器】
  • 03-核算机网络中心常识|【MAC地址、IP地址的组成、IP地址的分类、CIDR、子网掩码、超网】
  • 04-核算机网络中心常识|【 静态路由、动态路由、数据包的传输、ISP、服务器机房、网络分类、家用无线路由器、公网IP、
  • 05-核算机网络中心常识|物理层/数据链路层【模拟信号&&数字信号、数据链路层】
  • 06-核算机网络中心常识|网络层【IP数据包Packet、网络协议、Checksum、源IP地址和方针IP地址、ping】
  • 07-核算机网络协议中心常识|【传输层-UDP】
  • 08-核算机网络协议中心常识|【传输层-TCP之牢靠传输】
  • 09-核算机网络中心常识|传输层TCP2【流量操控原理、拥塞操控:slow start、congestion avoidance、快速重传、快速康复】
  • 10-核算机网络协议中心常识|【传输层-TCP衔接】
  • 11-核算机网络协议中心常识|【 应用层】
  • 12-核算机网络中心常识|【Cookie、Session(概念、生命周期、有效期、浏览器的要求等)、跨域(概念、 同源战略、跨域解决方
  • 13-核算机网络协议中心常识|【 代理/CDN/网络安全】
  • 14-核算机网络协议中心常识|【(非)对称加密/数字签名/证书】
  • 15-核算机网络协议中心常识|【HTTPS】
  • 16-核算机网络中心常识|HTTPS协议【HTTP2、HTTP3】

本文主要关注:
传输层有两个协议是每一个程序员必定知道的:UDPTCP

二、传输层(Transport

TCPUDP的区别:

07-计算机网络核心知识|传输层【TCP与UDP的比较、UDP数据长度、Checksum、端口】

1. 衔接性

  • TCP是面向衔接
    • 也便是说TCP传输有必要先要树立衔接才干通讯,树立衔接便是咱们熟知的“三次握手”。
    • TCP在数据传输结束后需求断开衔接,因为服务器会有端口不断的监听本次衔接的状况,如果不断开就会一向占用资源,断开衔接需求“四次挥手”。
  • UDP是无衔接,通讯时不需求树立衔接,发送方直接发送数据,不关心接纳方的接纳状况。

2. 牢靠性

  • TCP:牢靠传输,不丢包。只需发现丢包就会重新发送,会确保数据是精确的。
  • UDP:不牢靠传输,可能丢包。只管发送,不论接纳方的是否接纳到。

3. 首部占用空间

  • TCP:因为是树立衔接的牢靠传输,所以首部会比较复杂,占用空间也就会比较大。
  • UDP:几乎是无脑传输,所以只需求知道源和方针信息就可以了。相比TCP就会小许多。

4. 传输速率

UDP的特点使得其传输速率比TCP快。

5. 资源耗费

  • TCP因为需求树立衔接,所以会比较耗费资源。
  • UDP资源耗费就比较小。

6. 应用场景

  • 浏览器、文件传输、邮件发送等都需求确保数据的完整性,所以运用TCP比较适宜。
  • 音视频通话、直播等对时效性要求较高,所以运用UDP更佳。
    • 如果运用TCP就会产生数据紊乱,比如3s前的音/影因为丢包原因在2min后才成功发送到接纳方。

7. 应用层协议

  • 浏览器:HTTP、HTTPS
  • 文件传输:FTP
  • 邮件:SMTP
  • DNS

三、UDP

UDP(User Datagram Protocol):用户数据报协议。

UDP是无衔接的,减少了树立和开释衔接的开销。UDP尽最大才能交给,不确保牢靠交给,因此不需求保护一些复杂的参数,首部只要8个字节(TCP的首部至少20个字节)。

07-计算机网络核心知识|传输层【TCP与UDP的比较、UDP数据长度、Checksum、端口】

07-计算机网络核心知识|传输层【TCP与UDP的比较、UDP数据长度、Checksum、端口】

1. UDP长度(Length

占16位,首部的长度 + 数据的长度。

2. 查验和(Checksum

查验和的核算内容:伪首部 + 首部 + 数据。

07-计算机网络核心知识|传输层【TCP与UDP的比较、UDP数据长度、Checksum、端口】

伪首部是固定的12字节,由源IP地址(4个字节) + 意图IP地址(4个字节) + 保留位(1个字节,默许是0) + 协议代表值(1个字节,UDP固定值17) + UDP长度(2个字节)组成。仅在核算查验和时起作用,并不会传递给网络层,意图是为了增强查验功用。

查验和一般有两种,一种是首部 + 数据,另一种是只核算首部

3. 端口(Port

UDP首部中端口占用2字节。可以推测出端口号的取值规模是:0 ~ 65535

客户端的源端口是暂时开启的随机端口。

防火墙可以设置开启/封闭某些端口来提供安全性。

07-计算机网络核心知识|传输层【TCP与UDP的比较、UDP数据长度、Checksum、端口】

常用命令行

  • netstat -an:检查被占用的端口
  • netstat -anb:检查被占用的端口,占用端口的应用程序
  • telnet 主机 端口:检查是否可以拜访主机的某个端口。
    • Windows:安装telnet,操控面板 -> 程序 -> 发动或 封闭Windows功用 -> 勾选Telnet Client -> 确定。