IP与进程

数据进入主机的内部是目的还是手段?

如上图所示,一个数据从主机A到主机B后,这个数据进入主机内部后,是如何让主机B进行运行和识别该数据,这个数据传输到主机B是手段还是目的?

举个例子,聊天是人在聊天,下载文件是人在使用计算机进行下载,浏览网页是人在浏览,那么人是如何知晓聊天记录以及送达,下载的文件是何时下载完毕,网页信息是如何让人查看到的。

同时,聊天包括聊天的过程,聊天软件的启动,下载文件的下载进度,网页信息的信息传达和网页的运行,都是一种进程的表现,所以换句话说,聊天是进程在维持聊天传输和接收聊天信息,下载的文件是进程在进行下载和保存,网页的打开和关闭是进程的开启和关闭。

所以数据的传输实质上是从主机A的某一个进程,将数据传输到主机B的某一个进程中,数据传输的本质就是进程和进程之间的数据传输。

所以,一个数据从主机A传输到主机B中,这个数据需要进入的是主机B的某一个接收该数据的进程中。

数据传输到主机并不是目的,而是一种手段,是让数据传输到 进程的手段。

如何标识主机的唯一性,和数据的唯一性?

如上所述,数据是进入到主机的某个进程中,那么在一个主机当中,进程有许多个,如何判断哪一个进程是该数据需要进入的呢?

其中,在之前的文章中已经说明过,IP地址是用来标识主机的唯一性

所以,也可以用一组数据来表示某个进程的唯一性!

端口号:

  • 端口号是一个 2 字节 16 位的整数。
  • 端口号用来标识一个进程,告诉操作系统,当前的这个数据要交给哪一个进程来处理。
  • IP 地址+端口号能够标识网络上的某一台主机的某一个进程。
  • 一个端口号只能被一个进程占用。

为了标识主机内部的进程,使用了端口号,端口号是传输层协议的内容;在传输层中,传输层的报头中会写上目的端口号,表示去哪一个端口,每一个进程都会绑定一个端口号,当数据报文抵达目标主机后,会把数据交给对应的端口 ,也就是对应的进程。

端口号范围划分:

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

为什么不用pid来表示进程的唯一性呢?

在之前的学习中,我们可以知晓,用来标识进程的不只是端口号,还有pid,那么为什么不适用pid来表示进程的唯一性,或者说,为什么不在网络传输中使用pid进行数据传输呢?

1、 如果使用pid表示唯一性是可以的,pid本身就有唯一性,但是pid在网络协议栈中充当进程唯一性也可以,但是pid是一个系统级别的概念,而端口号、传输等是网络级的概念,但是如果使用pid进行标识标识网络传输时,进程的唯一性,那么这就是系统级和网络级的强耦合。

强耦合也就是耦合度过高,就会给双方带来巨大的问题隐患,所以需要做到解耦!系统就是系统的,网络就是网络的,这样便于管理。

2、同时在系统当中,并不是每一个进程都想要进行网络通信,所以只有需要进行网络通信的进程才需要端口号,如果是使用pid作为进程进行网络通信的唯一性,那么就会导致根本分不清谁需要进行网络通信,而且pid是会发生变化的,一个进程在重启数次后,它每次的pid都不一样,虽然都具有唯一性,但端口号从始至终都是一个样子从不改变的。

相关推荐
网安情报局5 小时前
除了 CDN,DDoS 攻击还有哪些更有效的防护方式?
网络
Promise微笑5 小时前
2026年国产替代油介损测试仪:油介损全场景解决方案与技术演进
大数据·网络·人工智能
蜡台5 小时前
Python包管理工具pip完全指南-----2
linux·windows·python
Ujimatsu6 小时前
虚拟机安装Debian 13.x及其常用软件(2026.4)
linux·运维·ubuntu
千百元6 小时前
zookeeper启不来了
linux·zookeeper·debian
AnalogElectronic8 小时前
linux 测试网络和端口是否连通的命令详解
linux·网络·php
Edward111111118 小时前
4月28日防火墙问题
linux·运维·服务器
Rust研习社8 小时前
使用 Axum 构建高性能异步 Web 服务
开发语言·前端·网络·后端·http·rust
灰子学技术9 小时前
Envoy HTTP 流量层面的 Metric 指标分析
网络·网络协议·http
上海云盾-小余9 小时前
海外恶意 UDP 攻击溯源:分层封禁策略与业务兼容平衡方案
网络·网络协议·udp