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

Socket编程预习

择日不如撞日,继续写一下Socket

IP地址

源IP和目的IP

IP在网络中是用来标识主机的唯一性;  但是啊这个IP是有分类的,后面会详细说明IP的特点

那么开说之前要明确啊,数据到达另外一个主机不是我们的真正目的,而是把数据传输给远方的一个进程,前面有说过,进程才是计算机执行任务的基本单位,因此我们把想要让计算机完成任务呢,就需要给进程足够的信息(同时也要有相应的进程能够执行我们的信息),这么说来,数据的传输其实是我们实现目的的手段,是为了让进程动起来的手段。
但是啊,在系统中的进程实在是太多了,数据到达指定的主机还不行,还要到达指定的进程。所以在网络的大背景下,系统中呢,需要有东西来标识主机的唯一性。

晓得端口号~

端口号(port)是传输层协议的内容
是由2字节16位的整数,是用来标识一个进程的,这个数据要交给哪个进程处理呢。
所以IP地址+端口号的组合,能够标识网络上的某一台主机的某一个进程;     并且为了保证数据不会满天飞,一个端口号只能被一个进程占用。

端口号的划分

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

理解端口号和“进程ID”

学了linux大部分知识点的小伙伴应该都知道,pid表示唯一一个进程;此处我们的端口号也 是唯一表示一个进程.那么这两者之间是怎样的关系?

进程ID属于系统概念,技术上也具有唯一性,确实可以用来标识唯一的一个进 程,但是这样做,会让系统进程管理和网络强耦合,实际设计的时候,并没有选择这样做。

理解源端口号和目的端口号

传输层协议(TCP和UDP)的数据段中有两个端口号,分别叫做源端口号和目的端口号. 就是在描述"数据是谁发的,要发给谁";

理解Socket

细说Socket的话,有以下这几点

  • IP地址用来标识互联网中唯一的一台主机,port(端口号)用来标识该主机上唯一的 一个网络进程。
  • IP+端口号可以就能表示在互联中的唯一一个进程
  • 通信的时候,本质是两个互联网进程来进行通信,{srcIp, srcPort,dstIp,dstPort}这样的 4元组就能标识互联网中唯二的两个进程(跟上面的理论不冲突)
  • 所以,网络通信的本质,也是进程间通信
  • IP+port叫做套接字Socket.

大致就是这样,看了看我学习时候的课件,还简单的说了一下TCP,UPD,我也说一下吧,后面是重点。

TCP   UDP 

感谢您的赏读

  • TCP
    传输层协议     有链接(伏笔)   可靠传输(不会轻易丢失数据)   面向字节流
  • UDP
    传输层协议        无链接                      不可靠传输                         面向数据报告 

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

相关文章:

  • js 实现洋葱模型、洋葱反向模型
  • 关于 Rust 异步(无栈协程)的相关疑问
  • Prometheus 监控平台部署与应用
  • 新版速递|ColchisFM突破传统建模局限,用地质统计学模拟构建更真实的地震正演模型
  • 1635. 预算够吗
  • linux运维命令查看cpu、内存、磁盘使用情况
  • FFmpeg 编译安装和静态安装
  • 12、GPIO介绍
  • Redis7集群搭建与原理分析
  • element plus table 表格操作列根据按钮数量自适应宽度
  • 从引导加载程序到sysfs:Linux设备树的完整解析与驱动绑定机制
  • 您与此网站之间建立的连接不安全
  • 智慧园区漏检率↓82%:陌讯多模态融合算法实战解析
  • 防御保护09
  • 【从0到1制作一块STM32开发板】6. PCB布线--信号部分
  • 手机拍照识别中模糊场景准确率↑37%:陌讯动态适配算法实战解析
  • 二、k8s 1.29 之 网络
  • OpenAI 的 GPT-5 来了
  • GO的启动流程(GMP模型/内存)
  • 要写新项目了,运行老Django项目找找记忆先
  • Redis(②-持久化)
  • 写一个redis客户端软件,参考 Another Redis Desktop Manager 的设计风格。
  • 【沉浸式解决问题】pycharm关闭科学模式
  • Docker Compose 实战指南:从配置到多容器联动的全流程解析
  • Linux系统编程Day9 -- 理解计算机的软硬件管理
  • Dijkstra?spfa?SPstra?
  • 01Vue3
  • 增长强势 成果丰硕 | Fortinet发布2025年第二季度财报
  • GPT-5正式发布:与Claude 4、Gemini 2.5等主流大模型谁更胜一筹?
  • Java中重写和重载有哪些区别