网络通信要素

网络介绍

定义:将具有独立功能的多台计算机通过通信线路和通信设备连接起来,在网络管理软件及网络通信协议下,实现资源共享和信息传递的虚拟平台

在这里插入图片描述

学习网络的目的:

能够编写基于网络通信的软件或程序,通常来说就是网络编程。

在这里插入图片描述

IP地址的介绍

IP地址是分配给网络设备上网使用数字标签,它能够标识网络中唯一的一台设备,好比现实中每个人都有一个手机号。

在这里插入图片描述

注意:

  1. ip地址分为两类:IPv4 IPv6
  2. IPv4是目前使用的ip地址
  3. IPv6是未来使用的ip地址

IP地址的作用

通过IP地址找到网络中唯一一台设备,然后可以跟这个设备进行数据通信。

ifconfig和ping命令

命令名说明
ifconfig查看网卡信息
ping检查网络是否正常

在这里插入图片描述

  1. 172.16.47.199是在网络中的地址,使用ifconfig主要是查看网卡对应网络中的IP地址。

  2. 127.0.0.1表示本机地址,提示:如果和自己的电脑通信就可以使用该地址。

  3. 127.0.0.1该地址对应的域名是localhost,域名是ip地址的别名,通过域名能解析出一个对应的ip地址。

检查网络是否正常

  1. ping www.baidu.com 检查是否能上公网

  2. ping 当前局域网的ip地址 检查是否在同一个局域网内

  3. ping 127.0.0.1 检查本地网卡是否正常

端口和端口号

如果在一台电脑上使用飞秋给另外一台电脑上的飞秋发送数据并且另外的这台电脑还运行着多个软件,它是如何区分这多个软件把数据给飞秋的呢?

在这里插入图片描述

其实,每运行一个程序都会有一个端口,想要给对应的程序发送数据,找到对应的端口即可

在这里插入图片描述

端口和端口号定义

端口:

传输数据的通道,好比教室的门,是数据传输必经之路。

其实,每一个端口都会有一个对应的端口号,想要找到端口通过端口号即可

端口号:

操作系统为了统一管理这么多端口,就对端口进行了编号,这就是端口号,端口号其实就是一个数字,好比我们现实生活中的门牌号。

端口号有65536个。

最终通信流程,通过ip地址找到对应的设备,通过端口号找到对应的端口,然后通过端口把数据给应用程序

端口号的分类

按照一定的规定可以分为:知名端口号和动态端口号

知名端口号

是指众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务,比如21端口分配给FTP(文件传输协议)服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务。

动态端口号:

一般程序员开发应用程序使用端口号称为动态端口号。

动态端口号的范围是从1024到65535,如果程序员开发的程序没有设置端口号,操作系统会在动态端口号这个范围内随机生成一个给开发的应用程序使用。

当运行一个程序默认会有一个端口号,当这个程序退出时,所占用的这个端口号就会被释放。

socket介绍

到目前为止我们学习了IP地址和端口号,使用这些我们就可以在茫茫的网络海洋中进行畅游了么?No!

只知道 IP地址,端口号,但是没有工具是无法到达诗和远方的。此时就需要使用socket来完成

socket定义

socket(简称 套接字) 是程序之间通信一个工具,好比现实中的电话,当知道了对方的电话号码后需要使用电话才能进行通讯,程序之间想要进行网络通信需要基于这个socket,socket就是程序间进行网络通讯的工具。

不夸张的说,只要跟网络相关的应用程序或者软件都使用到了socket。

在这里插入图片描述

TCP介绍

之前我们学习了IP地址和端口号,通过IP地址能够找到对应的设备,然后再通过端口号找到对应的端口,再通过端口把数据传输给应用程序,这里要注意,数据不能随便发送,在发送之前要选择网络传输方式(传输协议),保证程序之间按照指定的传输规则进行数据的通信。

TCP概念

TCP的英文全拼(Transmission Control Protocol)简称传输控制协议,它是一种面向连接的可靠的基于字节流的传输层通信协议

常用于对数据进行准确无误的传输,比如: 文件下载,浏览器上网

TCP通信步骤

  1. 创建连接
  2. 传输数据
  3. 关闭连接

TCP通信模型相当于生活中的“打电话”,在通信开始之前,一定要先建立好连接,才能发送数据,通信结束要关闭连接。

在这里插入图片描述

TCP的特点

  1. 面向连接
    通信双方必须先建立好连接才能进行数据的传输,并且双方都会为此连接分配必要资源用来记录连接的状态和信息。当数据传输完成后,双方必须断开此连接,以释放系统资源。

  2. 可靠传输
    TCP采用发送应答机制
    通过TCP这种方式发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传送成功
    超时重传
    发送端发送一个报文之后就会启动定时器,如果指定时间内没有得到应答就会重新发送这个报文段
    错误校验
    TCP用一个校验和函数来校验数据是否有错误,在发送和接收时都要计算校验和
    流量控制和阻塞管理
    流量控制用来避免发送端发送过快而使得接收方来不及接收

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/405714.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣面试经典算法150题:删除有序数组中的重复项 II

删除有序数组中的重复项 II 今天的题目是力扣面试经典150题中的数组的中等难度题: 删除有序数组中的重复项 II 题目链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/description/?envTypestudy-plan-v2&envIdtop-interview-150 题…

时间序列分析2|ARIMA模型|SARIMA模型

ARMA模型的定阶 自相关和偏自相关系数法 通过观察样本的自相关系数(ACF)和偏自相关系数(PACF),进行大体的判断 模型定阶的经验方法 截尾: 最初的d阶样本(偏)自相关系数明显在2倍标准差范围外95%的(偏)自相关系数都落在2倍标准差的范围以内非零自相…

【论文阅读】通用的语义-几何表征的机器人操作

文章目录 1. 【2023CoRL】A Universal Semantic-Geometric Representation for Robotic Manipulation针对痛点和贡献引言模型框架思考不足之处 2. Leveraging Locality to Boost Sample Efficiency in Robotic Manipulation摘要和结论引言模型框架实验思考不足之处 1. 【2023Co…

ES6-ES13学习笔记

目录 初识ES6 变量声明 解构赋值 对象解构 ​编辑 数组解构 ​编辑模版字符串 字符串扩展 includes() repeat() startsWith() endsWith() 数值扩展 二进制和八进制表示法 (Number.)isFinite()与isNaN() Number.isInteger() Math.trunc …

Leetcode JAVA刷刷站(69)x的平方根

一、题目概述 二、思路方向 在Java中,计算一个非负整数x的算术平方根,并返回其整数部分,你可以使用二分查找法。这是因为平方根函数是单调递增的,所以我们可以利用二分查找在合理的时间复杂度内找到结果。 三、代码实现 public…

Matplotlib入门与进阶:数据可视化的强大工具

Matplotlib入门与进阶:数据可视化的强大工具 在当今数据驱动的世界中,数据可视化成为了数据分析的重要一环。数据可视化不仅能够帮助开发者理解和分析数据,还能使数据展示更具说服力。本文将详细介绍Python中的2D绘图库——Matplotlib。通过…

Python自准直仪双筒望远镜光学ABCD矩阵行为算法

🎯要点 🎯平面;曲面;圆柱面;非球面光,双凸透镜;90 度棱镜;分束立方体,双透镜棱;镜分光镜光线;横置隔膜;全内反射;多个分束…

作业08.21

服务器&#xff1a; #include <myhead.h>#define SER_PORT 6666 #define SER_IP "127.0.0.1"int find_client(int *client_arr, int len, int client) {for(int i0; i<len; i){if(client_arr[i] client){return i;}}return -1; }void remove_client(int *…

python爬虫--pyquery解析库整理

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理python的爬虫解析库pyquery的语法 简洁快速的整理&#xff0c;建议有前端基础的人看 pyquery解析原理 pyquery的原理就是拿到网站的前端源码后&#xff0c;我们根据我们需求信息所在的标签进行筛选。 选…

漏洞挖掘 | 记一次edusrc--轻松拿下中危信息泄露

1.前言 也是一次漏洞挖掘的思路分享 上次我们讲过了关于小程序方面的一些小思路&#xff0c;即关于抓包更改id号造成的一个信息泄露&#xff0c;但是在小程序上的信息泄露很难涉及到公民三要素这是一个痛点&#xff0c;今天就来分享一下一次edu挖掘时挖到的一个涉及公民三要素…

【云备份】项目总结

文章目录 项目总结项目总结项目扩展:常见问题: 项目总结 项目总结 搭建云备份服务器与客户端&#xff0c;客户端程序运行在客户机上自动将指定目录下的文件备份到服务器&#xff0c;并且能够支持浏览器查看与下载&#xff0c;其中下载支持断点续传功能&#xff0c;并且服务器端…

kubernetes的pod基础

kubernetes的pod基础 pod概念 pod&#xff08;豆荚&#xff09;&#xff0c;是k8s的最小管理单元。是一个或多个容器的组合&#xff0c;这些容器共享存储&#xff0c;网络和命名空间&#xff0c;以及运行规范&#xff0c;pod内的容器统一的进行安排和调度。pod是一组具有共享命…

【TCP/IP】自定义应用层协议,常见端口号

互联网中&#xff0c;主流的是 TCP/IP 五层协议 5G/4G 上网&#xff0c;是有自己的协议栈&#xff0c;要比 TCP/IP 更复杂&#xff08;能够把 TCP/IP 的一部分内容给包含进去了&#xff09; 应用层 可以代表我们所编写的应用程序&#xff0c;只要应用程序里面用到了网络通信…

进程间的通信3——IPC对象通信->共享内存、网络通信

一、共享内存 1、原理 直接对实际物理内存进行操作&#xff0c;不用先拷贝到用户空间再到内核空间&#xff08;物理内存&#xff09;。 2、特点 &#xff08;1&#xff09;共享内存是一块内核预留的空间&#xff1b; &#xff08;2&#xff09;最高效的通信方式。 3、操作 产…

springboot+Quartz通过数据库控制定时任务执行与时间

前言 在我们的springboot项目中&#xff0c;有很多种实现定时任务的方式 有用最简单的 Scheduled 实现定时任务,即&#xff1a; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component;Component EnableScheduling p…

【RTT-Studio】详细使用教程十三:UART的DMA 接收及轮询发送

文章目录 一、简介二、RTT配置三、使用信号量接收四、使用消息队列接收五、测试验证 一、简介 串口是指数据一位一位地顺序传送&#xff0c;其特点是通讯线路简单&#xff0c;只要一对传输线就可以实现双向通信&#xff08;可以直接利用电话线作为传输线&#xff09;&#xff0…

我的创作纪念日【2048】

机缘 2048&#xff0c;是计算机二进制世界里很奇妙的数字&#xff0c;在CSDN上创作的第六年&#xff0c;记录从事本行业的知识学习与总结&#xff0c;好记性不如烂笔头&#xff0c;或许写的东西不如大佬的文章&#xff0c;那么有深度&#xff0c;但自己也是在坚持&#xff0c;…

自动微分autograd实践要点

目录 定义Value手动定义每个 operator 的 _backward() 函数构建反向传播计算链 本文主要参考 反向传播和神经网络训练 大神Andrej Karpathy 的“神经网络从Zero到Hero 系列”之一&#xff0c;提炼一些精要&#xff0c;将反向传播的细节和要点展现出来 定义Value 第一步首先要…

传知代码-自动化细胞核分割与特征分析(论文复现)

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 引言 细胞核分割和分类在医学研究和临床诊断中具有重要意义。精准的细胞核分割能够帮助医生更好地识别和分析细胞核的形态学特征&#xff0c;从而辅助疾病诊断、癌症检测以及药物研发。HoverNet是一种基于深度学…

【GitLab】使用 Docker engine安装 GitLab 2: gitlab-ce:17.3.0-ce.0 拉取

ce版本必须配置代理。 极狐版本可以直接pull 社区版GitLab不支持Alibaba Cloud Linux 3,本操作以Ubuntu/Debian系统为例进行说明,其他操作系统安装说明,请参见安装社区版GitLab。 docker 环境重启 sudo systemctl daemon-reload sudo systemctl restart docker脚本安装 安裝…