Linux网络协议之UDP协议(传输层)

本文详细探讨了Linux网络协议中的UDP协议,包括传输层的理解、端口号的作用和范围、常用知名端口号、UDP协议格式和特点,以及其在内核中的实现和应用。重点介绍了UDP的数据报特性、校验原理以及基于UDP的应用层协议。
摘要由CSDN通过智能技术生成

Linux网络协议之UDP协议(传输层)


1.深入理解传输层

1.1 对于端口号的理解

传输层是负责端对端之间的传输,端指的是端口(port);TCP协议和UDP协议都是传输层的协议

  • 端口(Port)标识一个主机上进行网络通信的不同的应用程序。当主机从网络中获取到数据后,需要自底向上进行数据的交付,而这个数据最终应该交给上层的哪个应用处理程序,就是由该数据当中的目的端口号来决定的
  • 从网络中获取的数据在进行向上交付时,在传输层就会提取出该数据对应的目的端口号,进而确定该数据应该交付给当前主机上的哪一个服务进程
  • 端口号如何找到进程?内核实现通过哈希算法,端口号对应进程PID

请添加图片描述

在TCP/IP协议中, 用 “源IP地址”, “目标IP地址”, “协议号”, “源端口号”,"目标端口号" 这样一个五元组来标识一个通信(可以通过netstat -n查看)

请添加图片描述

请添加图片描述

  • 源IP地址:发送数据的主机IP
  • 目标IP地址:最终接收数据主机IP
  • 源端口号:发送数据主机中发送数据的进程
  • 目标端口号:最终接收数据主机中要接收数据的进程

1.2 端口号范围

  • 0 - 1023: 知名端口号, HTTP, FTP, SSH等这些广为使用的应用层协议, 他们的端口号都是固定的
  • 1024 - 65535: 操作系统动态分配的端口号。客户端程序的端口号, 就是由操作系统从这个范围分配的

1.3 常用的知名端口号

有些服务器是非常常用的, 为了使用方便, 人们约定一些常用的服务器, 都是用以下这些固定的端口号

  • SSH服务器:使用22端口号
  • FTP服务器:使用21端口号
  • Telnet服务器:使用23端口号
  • HTTP服务器:使用80端口号
  • HTTPS服务器:使用443端口号

使用命令 cat /etc/services 可以查看指明端口号

请添加图片描述

说明一下: 文件中的每一行对应一种服务,它由4个字段组成,每个字段之间用TAB或空格分隔,分别表示“服务名称”、“使用端口”、“协议名称”以及“别名”

一点提醒:一个进程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值