昨日突然讨论起TCP与UDP是否可以在同一端口进行绑定,通信。

在印象当中我记得是可以的,今日google了相关资料,

确定以及肯定的:

TCP、UDP可以绑定同一端口来进行通信:

网络中可以被命名和寻址的通信端口,是操作系统可分配的一种资源。

按照OSI七层协议的描述,传输层与网络层在功能上的最大区别是传输层提供进程通信能力。从这个意义上讲,网络通信的最终地址就不仅仅是主机地址了,还包括可以描述进程的某种标识符。为此,TCP/IP协议提出了协议端口(protocol   port,简称端口)的概念,用于标识通信的进程。

端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序(即进程)通过系统调用与某端口建立连接(binding)后,传输层传给该端口的数据都被相应进程所接收,相应进程发给传输层的数据都通过该端口输出。在TCP/IP协议的实现中,端口操作类似于一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写原语访问之。

类似于文件描述符,每个端口都拥有一个叫端口号(port   number)的整数型标识符,用于区别不同端口。由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,如TCP有一个255号端口,UDP也可以有一个255号端口,二者并不冲突。

端口号的分配是一个重要问题。有两种基本分配方式:第一种叫全局分配,这是一种集中控制方式,由一个公认的中央机构根据用户需要进行统一分配,并将结果公布于众。第二种是本地分配,又称动态连接,即进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回一个本地唯一的端口号,进程再通过合适的系统调用将自己与该端口号联系起来(绑扎)。TCP/IP端口号的分配中综合了上述两种方式。TCP/IP将端口号分为两部分,少量的作为保留端口,以全局方式分配给服务进程。因此,每一个标准服务器都拥有一个全局公认的端口(即周知口,well-known   port),即使在不同机器上,其端口号也相同。剩余的为自由端口,以本地方式进行分配。TCP和UDP均规定,小于256的端口号才能作保留端口。

· 再讨论一下,一个服务器监控一个端口,比如80端口,它为什么可以建立上成千上万的连接?

首先, 一个TCP连接需要由四元组来形成,即(src_ip,src_port,dst_ip,dst_port)。当一个连接请求过来的时候,服务端调用accept函数,新生成一个socket,这个socket所占用的本地端口依然是80端口。由四元组就很容易分析到了,同一个(src_ip,src_port),它所对应的(dst_ip,dst_port)可以无穷变化,这样就可以建立很多个客户端的请求了。

TCP、UDP绑定同一端口通信的解释相关推荐

  1. TCP 和 UDP 绑定同一端口通信的解释

    昨日突然讨论起TCP与UDP是否可以在同一端口进行绑定,通信. 在印象当中我记得是可以的,今日google了相关资料, 确定以及肯定的: TCP.UDP可以绑定同一端口来进行通信: 网络中可以被命名和 ...

  2. TCP、UDP绑定同一端口通信的解释-转

    昨日突然讨论起TCP与UDP是否可以在同一端口进行绑定,通信. 在印象当中我记得是可以的,今日google了相关资料, 确定以及肯定的: TCP.UDP可以绑定同一端口来进行通信: 网络中可以被命名和 ...

  3. pcb可以给用户进程读吗_「TCP/UDP」一个端口号可以同时被两个进程绑定吗? - 一口Linux...

    一.1个端口号可以同时被两个进程绑定吗? 根据端口号的绑定我们分以下几种情况来讨论: 2个进程分别建立TCP server,使用同一个端口号8888 2个进程分别建立UDP server,使用同一个端 ...

  4. TCP/UDP协议常用端口号服务

    端口号的范围是从1-65535.其中1-1024是被RFC 3232规定好了的,被称作"众所周知的端口"(Well Known Ports):从1025-65535的端口被称为动态 ...

  5. TCP 和 UDP 可以使用相同端口吗?

    之前有读者在面试的时候,被问到:TCP 和 UDP 可以同时监听相同的端口吗? 关于端口的知识点,还是挺多可以讲的,比如还可以牵扯到这几个问题: 多个 TCP 服务进程可以同时绑定同一个端口吗? 客户 ...

  6. TCP/UDP以及端口协议功能

    文章目录 前言:本章主要介绍TCP/UDP协议以及端口协议功能,TCP链接的三次握手和TCP链接的四次挥手 TCP(Transmission Control Protocol) TCP的报文字段 UD ...

  7. TCP和UDP是否可以绑定同一端口进行通信

    TCP.UDP可以绑定同一端口来进行通信: 网络中可以被命名和寻址的通信端口,是操作系统可分配的一种资源. 按照OSI七层协议的描述,传输层与网络层在功能上的最大区别是传输层提供进程通信能力.从这个意 ...

  8. HTTP,TCP,UDP常见端口对照表大全

    HTTP,TCP,UDP常见端口对照表,下面罗列了包括在Linux 中的服务.守护进程.和程序所使用的最常见的通信端口小贴士:Ctrl+F 快速查找 Http端口号(点标题可收缩或展开) No1.最常 ...

  9. java: java mina ——基于TCP/IP、UDP/IP协议栈的通信框架

    Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务.虚拟机管道通信服务等),M ...

最新文章

  1. 在CentOS 6.3 64bit上为Apache Traffic Server 4.2.3挂载SSD并压测
  2. knn闽南语是什么意思_小丑竟是我自己是什么意思梗 小丑竟是我自己bgm是什么...
  3. Native层HIDL服务的注册原理-Android10.0 HwBinder通信原理(六)
  4. LeetCode LFU Cache
  5. 计算机网络-后退N帧协议习题思考:数据帧长度范围128~512字节,求信道利用率达到最大,帧序列的比特数至少为多少
  6. 中国人工智能产业发展指数重磅发布,中国声谷首批AI达摩名单揭晓
  7. Java Web安全编码
  8. 思想已经高过行动好多了
  9. ubuntu常用的一些命令
  10. Unity+SenseAR教程 | 用手势发射爱心2:加入发射方向【源码】
  11. [转]用C#编写ActiveX控件
  12. 手把手教你强化学习 (九) 强化学习中策略梯度算法
  13. Rectangle Pro for Mac移动光标窗口捕捉工具
  14. 来给PPT添加一个进度条和页码吧
  15. 圆通电子面单接口对接
  16. 面试计算机有什么优势和不足,面试时如何介绍自己的优缺点
  17. 对集合对象进行排序:根据对象集合其中一属性进行排序
  18. 【吐血整理】一份完备的集成学习手册!(附Python代码)
  19. R语言入门——画密度曲线
  20. 音频输出设备是如何决定的

热门文章

  1. 【mybatis】mybatis中 的# 和 $的区别
  2. 《机器人与数字人:基于MATLAB的建模与控制》——2.2节李群和李代数
  3. 在DevExpress中使用CameraControl控件进行摄像头图像采集
  4. PHP 核心知识要点
  5. Mining of Massive Dataset----PageRank的两种问题spider traps和dead ends
  6. 设计模式学习(十六) 模板方法模式
  7. html5开发之viewport使用
  8. jSearch(聚搜) v0.5.0 发布,多项更新和体验优化
  9. 在ASP.NET Core应用程序中使用分布式缓存
  10. linux安装PHP环境