网间进程的标识

每台主机都有一个唯一的IP地址,利用IP地址可以唯一的确定internet中的一台计算机,实现计算机的通信。但是最终进行网络通信的不是整个计算机,而是计算机的某个应用程序。一台主机中也可能有很多的进程,仅有IP地址是无法区别一台主机中的多个应用进程。还比粗暴汉可以描述应用进程的眸中标示符。

TCP/IP提出了传输层协议端口的概念可以解决通信进程的标识问题:应用进程通过系统调用于某个端口进行绑定,然后就可以通过该端口接受或发送数据,因为应用进程在通信时,必须用到一个端口,他们之间有着一一对应的关系,所系可以用端口来标识通信的网络应用进程。

      端口号的分配机制:

在通信前,客户机端是知道服务器端的IP地址,但是端口号是由每台主机自己分配的,只有本地意义,无法保证全网唯一,所以在通信之前是无法知道对方的端口号?

在internet应用程序中大多采用C/S模式,这个模式下客户机与服务器的通信总是有客户及首先发起,因此只需要让客户机进程事先知道服务器进程的端口号就知道了。TCP/IP采用了全局分配和静态分配相结合的方法,即分为保留端口号和自由端口号两部分。

保留端口号的范围在0~1023,这个部分是有机构已经规定好的用于某些应用程序。其余的端口号1024~65535为自由端口号,采用本地分配(动态分配),由每台计算机在网络进程通信时,动态的自由的分配给要进行网络通信的应用层进程。具体地说应用进程当需要访问传输层服务时,向本地操作系统提出申请,操作系统返回一个本地唯一的端口号,进程在通过合适的系统调用将自己与该端口号联系起来。

服务器为多个客户机服务,而保留端口号只有一位?在TCP/IP的端口号分配机制中,服务器的保留端口号是专门用来监听客户端的连接请求的,当服务器从保留端口收到一个客户机的连接请求后,就立即创建一个线程,并为这个线程分配一个服务器端的自由端口号,然后用这个线程继续与那个客户进行通信;而服务器的保留端口号就又可以接受另一个客户机的连接请求了。

总结:一个完整地网间通信需要一个五元组在全局中来标识:传输层协议,本地IP地址、传输层端口号、对方IP地址和对方的传输层端口号

网间进程的标识和端口分配机制相关推荐

  1. 进程、线程、端口、服务间关系

    进程是指在系统中正在运行的一个应用程序:线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元.对于操 作系统而言,其调度单元是线程.一个进程至少包括一个线程,通常将该线程称为主线程 ...

  2. TCP/IP协议端口分配规则与分类

    简述 TCP/IP 协议中的端口在报头中占2个字节即16位,范围是从0-65535.端口号用来表示和区别网络中的不同应用程序 端口分类 0-1023之间的端口号,也叫Well Known ports. ...

  3. linux 进程内存分布及 堆分配和栈分配的特点

    文章目录 进程内存空间分布 size命令查看内存分布 堆方式内存分配和栈方式内存分配比较 使用stap 深入追踪malloc逻辑 进程内存空间分布 一个程序的内存空间主要如下: 代码段(text se ...

  4. 刚刚,国家新型互联网交换中心(以及新公司)正式成立!不止于降低网间结算费用...

    经过前期的充分调研和去年开始的积极试点,我国在新型互联网交换中心领域取得了阶段性成果--6月30日,国家(杭州)新型互联网交换中心宣布正式启用. 与此同时,由三大运营商.阿里.网易等参股的浙江省新型互 ...

  5. 内网穿透 无需公网ip_无需端口映射、无需公网IP,60秒实现FTP服务远程访问

    互联网的一大特点是实现信息共享,其中文件传输是信息共享十分重要的内容之一.科技公司更是离不开它.销售.库存.客户资料等等数据需要随时共享同步.当需要考虑到文件传输安全.传输质量.传输稳定性.访问控制等 ...

  6. 小度总显示服务器连接失败,小度本地端口分配失败是什么意思

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 小度本地端口分配失败是因为网络连接不稳定,而导致服务器端口分配失败,无法访问服务器,可以去重新连接一下网络,或者是重启一下路由器. ...

  7. 如何多个进程监听同一个端口

    1. 问题描述 一个进程监听端口,经验告诉我们,如果多次启动一个进程会报错:"Address already in use!".这是由于bind函数导致的,由于该端口号已经被第一个 ...

  8. 使用VS2022发布后端接口,创建本地IIS服务器,并且能通过外网能访问到你的端口

    使用VS2022发布后端接口,创建本地IIS服务器,并且能通过外网能访问到你的端口 1.使用VS2022发布后端接口 1.右击你的接口项目点击发布按钮即可. 2.新建一个发布. 3.使用文件夹即可. ...

  9. serv-u 15 设置非21端口外网FTP访问以及更改被动模式端口、防火墙映射

    安装serv-u 15 后局域网可以使用ftp软件连接,但是外网使用的话直接映射非21端口后无法访问,原因不多说,更改被动端口和设置映射端口方法如下: 1.安装时(安装后更改)设置ftp的端口为 20 ...

最新文章

  1. 8个方法解决90%的NLP问题
  2. sqlite fts5 编译 xcode other c flags
  3. 【微信小程序企业级开发教程】界面跳转方法总结
  4. java实体 和 xml相互转换
  5. 兴林村脱贫谋定向往宜居村庄-农业大健康·万祥军:美丽蝶变
  6. python画图颜色表示大小变化_python画图(线条颜色、大小、类型:点、虚线等)(图文详细入门教程四)...
  7. Python技巧-教你用Python告白小姐姐(附代码)
  8. An example of using Pandas for regression
  9. SET QUERY_GOVERNOR_COST_LIMIT
  10. 第一章 docker 镜像,容器,仓库基本命令(二)
  11. linux网络编程--数据结构与函数原型
  12. html页面获取时间格式,js实现动态获取系统时间,显示到页面上
  13. 在html中播放链接视频,如何在我的python脚本中使用HTML5在网站链接中播放视频?...
  14. WebService的应用之winform身份验证
  15. YOLOv2检测过程的Tensorflow实现
  16. Java基础SQL优化---面试题【一】
  17. cdr轮廓字怎么把轮廓拆出来_教您用CDR将图片转为手绘素描效果!
  18. php smarty 模板注释,smarty中的注释
  19. Cboard框架搭建及使用
  20. Android10支持ntfs格式u盘

热门文章

  1. 白话Elasticsearch11-深度探秘搜索技术之基于tie_breaker参数优化dis_max搜索效果
  2. Missing Tag Identification in COTS RFID Systems: Bridging the Gap between Theory and Practice 理解+笔记
  3. PUK ACM题目分类
  4. TTO热转印打码机色带的故障与维护技巧
  5. c#设计简单飞机行李托运计费系统
  6. 初中数学结合计算机教学设计,依托信息技术进行初中数学教学设计
  7. Anaconda创建新环境失败解决方案
  8. Xilinx Srio详解IP核使用
  9. aop实现拦截保存操作日志
  10. qt编译太阳神三国杀