当前位置: 首页 > news >正文

网络间的通用语言TCP/IP-网络中的通用规则4

根据端口号分配数据到应用程序

要将数据分配给主机中运行的应用程序,就必须对每一个应用程序进行识别处理。我们可以使用端口号来实现这一处理。端口号是指用于识别TCP/IP的应用程序的识别号,需要在TCP或UDP首部中对其进行指定。由于端口号是16位的数值,因此可以取值的范围就是0~65535。

端口号的范围:

名称端口号的范围含义
已知端口号0~1023为服务器应用程序保留的端口号
已登记端口号1024~49151常用应用程序的服务器端的端口号
动态、私有端口号49152~65535客户端应用程序使用的端口号

使用端口号识别应用程序,并将数据分配给正确的应用程序。
端口号需要在TCP或UDP首部进行指定。

0~1023的已知端口号是一种主要用于识别服务器应用程序的,按照约定预先保留下来的端口号。

主要的已知端口号:

协议TCPUDP
HTTP80-
HTTPS443-
SMTP25-
POP3110-
IMAP4143-
FTP20/21-
DHCP-67/68

对应用程序的数据进行可靠传输

可以使用TCP在应用程序之间进行可靠的数据传输。

TCP是一种用于在应用程序之间可靠地传输数据的协议。使用TCP协议就可以无须在应用程序协议中建立相应的机制来确保可靠性。

基于TCP的数据传输步骤如下:
·建立TCP连接
·在应用程序之间发送和接收数据
·断开TCP连接

用TCP对数据进行分割处理

可以在需要传输的应用程序的数据中添加TCP首部并将其作为TCP段传输。

必要时可以使用TCP分割数据。

使用TCP分割的数据大小被称为MSS(Maximum Segment Size,最大段大小)。
超过MSS的数据将被分割为多个MSS再进行发送。MSS的标准大小为1460字节。

只对传输给应用程序的数据进行分发-UDP

UDP是一种只负责为应用程序分发数据的协议。

当传输IP电话的语音数据等为实时数据时,可以使用UDP。

与TCP相比,UDP不会进行多余的处理,因此具有数据传输效率高、可靠性不高的特点。

网络的电话簿-域名解析、主机名、DNS

在TCP/IP通信中,必须指定IP地址。

由于IP地址难以理解,因此通常使用主机名来指定需要进行通信的对象主机。

通过主机名获取IP地址的方式称为域名解析,大多数情况都是使用DNS进行解析的。

使用DNS自动获取IP地址-资源记录、DNS解析模块、递归查询

需要预先将主机名和对应的IP地址等资源等级在DNS服务器中。
我们将登记在DNS服务器中的信息称为资源记录。

主要资源记录:

含义
A主机名对应的IP地址
AAAA主机名对应的IPv6地址
CNAME主机名对应的其他名称
MX域名对应的电子邮件服务器
NS管理域名的DNS服务器
PTRIP地址对应的主机名

查询DNS服务器的功能被称为DNS解析模块。

向DNS服务器询问IP地址时,需要从根服务器开始反复进行查询。

对必需的设置进行自动设置-DHCP

在使用TCP/IP进行通信之前,必须在个人电脑、智能手机、服务器和各种网络设备中对TCP/IP进行正确的设置。

为了避免出现设置错误,可以选择进行自动设置。DHCP就是专门用于进行自动设置的协议。

TCP/IP的设置项目包括以下内容:
·IP地址/子网掩码
·默认网关的IP地址
·DNS服务器的IP地址

可以使用DHCP自动进行TCP/IP设置。

http://www.dtcms.com/a/339094.html

相关文章:

  • Java网络编程:TCP与UDP通信实现及网络编程基础
  • C语言—指针(针对小白版)
  • 算法学习day19----博弈论模型--取石子游戏(Python)
  • 懒加载机制实现子模块按需动态导入
  • 全平台轻量浏览器推荐|支持Win/macOS/Linux,极速加载+隐私保护+扩展插件,告别广告与数据追踪!
  • RT-Thread Nano移植到STM32心得(基于GCC、HAL库)
  • Mac下载AOSP源代码
  • UE小:交叉编译linux的坑
  • 【集合框架HashSet底层原理】
  • IDEA:设置彩色输出
  • DataAnalytics之Tool:Metabase的简介、安装和使用方法、案例应用之详细攻略
  • 项目一系列-第5章 前后端快速开发
  • 虚拟环境安装了fastapi但是使用时报错:ModuleNotFoundError: No module named ‘fastapi‘
  • C++利用CerateProcess创建WPF进程并通过命名管道通讯
  • Scikit-learn通关秘籍:从鸢尾花分类到房价预测
  • 项目部署与持续集成
  • Android RxJava数据库操作:响应式改造实践
  • AUTOSAR进阶图解==>AUTOSAR_SWS_FunctionInhibitionManager
  • Spring Ai Chat Memory
  • Python 与 VS Code 结合操作指南
  • 【Vue开发】在Vite+Vue3项目中实现离线Iconify图标方案
  • 【什么是非晶合金?非晶电机有什么优点?】
  • Redis面试题及详细答案100道(71-85) --- 综合篇
  • Vim笔记:缩进
  • KMM跨平台叛逃实录:SwiftUI与Compose Multiplatform共享ViewModel的混合开发框架(代码复用率85%)
  • Qt5 GUI 编程详解
  • 【AI大模型的发展历史】从Transformer到2025年的多模态、推理与开源革命
  • mlir 类型
  • docker 数据卷、自定义镜像操作演示分享(第二期)
  • 【数据结构】堆和二叉树详解(下)