当前位置:网站首页>对于端口的粗浅理解
对于端口的粗浅理解
2022-08-08 17:11:00 【全情】
当目的主机接收到数据包后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。
端口其实就是队,操作系统为各个进程分配了不同的队,数据包按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的, 不过操作系统允许各进程指定和调整自己的队的大小。
不光接受数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口,这样,数据包中将会标识有源端口,以便接受方能顺利的回传数据包到这个端口。
当发起一个 TCP 连接时, 客户端首先自己先随机挑选一个没有被用的端口作为服务器响应的接收端口, 比如 38672.
在一个 TCP 的包里, 无论是握手包还是后续的数据包, 包头部分最重要的两个字段, 一个就是源端口(source port), 比如 38672; 另一个就是目标端口(destination port), 比如 80, 或者 443.
可以这样看, 服务器的响应也是先回到源端口, 比如 38672 上, 源端口再转给最终的进程, 比如浏览器.
IP 加端口再加上端口与进程间的关联, 分属两个不同主机间的进程就能通过 TCP(UDP)/IP 协议愉快地进行进程间的通讯。
按端口号可分为3大类
(1)公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。
例如:80端口实际上总是HTTP通讯。
(2)注册端口(RegisteredPorts)&#
边栏推荐
猜你喜欢
二、pytest+selenium+allure实现web ui自动化
KITTI数据集简介(一)—— 传感器介绍
字节一面:TCP 和 UDP 可以使用同一个端口吗?
【 8.7 】 source code - card to LCM with GCD 】 【 】
leetcode:294.翻转游戏
Cuda Anaconda tensorflow 版本对应
正则在js中的使用
【论文阅读】RAL 2022: Receding Moving Object Segmentation in 3D LiDAR Data Using Sparse 4D Convolutions
使用电脑通过VNC Viewer远程连接树莓派4B
Photoshop2021安装教程
随机推荐
leetcode:294.翻转游戏
C#异步和多线程
数字图像处理(六)—— 图像压缩
三年软件工程真题
一、根据系统架构定位系统性能瓶颈
WPF StepBar
c语言指针运算
产品经理常用的19类50+工具软件盘点
Qt——选择文件夹并获取路径以及文件夹下子文件
Chapter 20 Source Code File REST API Reference (2)
Acwing Week 63 [Unfinished]
智能指针学习笔记
Es的索引操作(代码中的基本操作)
暴力解决MySQL出现的莫名其妙的问题-重启服务!
Acwing第 63 场周赛【未完结】
【poi导出excel之XSSFWorkbook】
B+树与B-树的区别
4、S32K14X学习笔记:S32 Design Studio 新建和导入工程
爬百度图片
六、Jmeter定时器