【网络通信】探索UDP与TCP协议、IP地址和端口号的奥妙

🌺个人主页:Dawn黎明开始

🎀系列专栏:网络奇幻之旅
每日一句:往前走,朝着光

📢欢迎大家:关注🔍+点赞👍+评论📝+收藏⭐️


文章目录

📋前言

一.网络通信

1.1网络通信协议

1.2TCP/IP协议中的四个层次

二.UDP协议

2.1定义

2.2UDP连接的交互过程

三.TCP协议

3.1定义

3.2.TCP连接的交互过程

四. IP地址和端口号

4.1. IP地址(Intenet Protocol)

4.1.1定义

4.1.2查看本机的IP地址

4.1.3IP地址的组成

4.1.4IP地址分类及其范围

4.2端口号(port)

4.2.1定义

4.2.2IP地址和端口号的作用

📝全文总结


📋前言

        如今,计算机网络已经成为人们日常生活的必需品,无论是工作时发送邮件,还是在休闲时和朋友网上聊天都离不开计算机网络。本文将重点介绍网络通信的相关知识。

一.网络通信

1.1网络通信协议

       为了提供通信支持,位于同一个网络中的计算机在进行连接通信时必须要遵守一定的规则,这些规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交互。网络通信协议有很多种,本章所学的网络编程知识,主要就是基于TCP/IP协议中的内容。

1.2TCP/IP协议中的四个层次

        TCP/IP协议中的四个层次从最下层到最上层依次是链路层、网络层、传输层和应用层,每层分别负责不同的通信功能。

链路层:

         链路层也称为数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆或其他传输媒介有关的物理接口细节。

网络层:

         也称网络互联层,是整个TCP/IP协议的核心,它主要用于将传输的数据进行分组,将分组数据发送到目标计算机或者网络。网络层对TCP/IP网络中的硬件资源进行标识。

传输层:

          在TCP/IP网络中,不同的机器之间进行通信,数据的传输是由传输层控制的,这包括数据要发往的目的主机及应用程序、数据的质量控制等。TCP/IP网络中最常用的传输协议TCP和UDP就应用于这一层。传输层通常以TCP或UDP来控制端点到端点的通信。用于通信的端点由Socket定义,而Socket由IP地址和端口号组成

应用层:

          主要负责应用程序的协议。大多数基于Internet的应用程序都被看作TCP/IP的应用层协议,如HTTP协议、FTP协议、SMTP协议、Telnet协议等。

二.UDP协议

2.1定义

      UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。简单来说,当一台计算机向另外一台计算机发送数据时,发送端不会确认接收端是否存在就会发出数据。同样接收端在收到数据时,也不会向发送端反馈是否收到数据。

2.2UDP连接的交互过程

三.TCP协议

3.1定义

        TCP协议是面向连接的通信协议,即在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。在TCP连接中必须要明确客户端与服务器端,由客户端向服务器端发出连接请求,每次连接的创建都需要经过“三次握手”。因为TCP协议拥有面向连接特性,所以它可以保证传输数据的安全性,是一个被广泛采用的协议。例如文件传输。

3.2.TCP连接的交互过程

四. IP地址和端口号

4.1. IP地址(Intenet Protocol)

4.1.1定义

       互联网上的每一台终端设备都有一个唯一标识,网络中的请求可以根据这个标识找到具体的计算机,这个唯一标识就是IP地址。目前,IP地址广泛使用的版本是IPv4,它用4个字节大小的二进制数表示,如00001010000000000000000000000001。因为二进制形式不便于记忆,所以通常会将IP地址写成十进制形式,每个字节用一个十进制数字(0~255)表示,数字间用点符号(.)分开,如127.0.0.1。

4.1.2查看本机的IP地址

      在Windows操作系统中,用户可以在命令行通过ipconfig命令查看本机的IP地址。

4.1.3IP地址的组成

      IP地址={<网络地址>,<主机地址>},其中网络部分表示IP地址属于互联网的哪一个网络,是网络的地址编码,主机部分表示其属于该网络中的哪一台主机,是网络中一个主机的地址编码,二者是主从关系。

4.1.4IP地址分类及其范围

         IP地址根据网络地址和主机地址的范围,分为5类,各地址可使用的IP数量不同,IP地址分类及其范围如表所示。

   注意:

         在表中可以发现没有127.X.X.X的地址,因为其是保留地址,用作循环测试,在开发中经常使用127.0.0.1表示本机的IP地址。

4.2端口号(port)

4.2.1定义

      在计算机中,端口号就是一个服务所占用的端口的唯一标识。如果把计算机看做一座大楼,IP地址相当于大楼的地址,端口号是不同房间的门牌号。IP地址需要和端口号结合起来使用,网络中的请求需要通过IP地址找到主机,一台主机上可能同时运行很多个服务,不同的服务会占用不同的端口,主机根据端口号把不同的请求分配给不同的服务。端口号是用16位的二进制数来表示的,将其转换为十进制数的取值范围是0~65535,其中,0~1023之间的端口号由操作系统的网络服务占用。

4.2.2IP地址和端口号的作用

📝全文总结

         本文主要介绍了网络通信的相关知识,包括网络基础UDP协议、TCP协议IP地址和端口号等内容。网络通信协议规定了数据传输的格式和步骤,TCP/IP协议包括链路层、网络层、传输层和应用层。UDP是无连接通信协议,而TCP是面向连接的通信协议,它们分别有不同的特点和适用场景。IP地址是计算机在网络中的唯一标识,而端口号则标识了不同服务所占用的端口,通过结合IP地址和端口号来实现网络通信和数据交换。

🌺如果大家有不明白的地方,或者文章部分内容有问题,欢迎大家在评论区讨论,指正🌺

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式 Linux 移植与系统启动方法

1、Linux系统启动与U-Boot 所谓移植就是把程序代码从一种运行环境转移到另一种运行环境。对于内核移植来说&#xff0c;主要是从一种硬件平台转移到另一种硬件平台上运行。 体系结构级别的移植是指在不同体系结构平台上Linux内核的移植&#xff0c;例如&#xff0c;在ARM、MI…

【2023春李宏毅机器学习】生成式学习的两种策略

文章目录 1 各个击破2 一步到位3 两种策略的对比 生成式学习的两种策略&#xff1a;各个击破、一步到位 对于文本生成&#xff1a;把每一个生成的元素称为token&#xff0c;中文当中token指的是字&#xff0c;英文中的token指的是word piece。比如对于unbreakable&#xff0c;他…

【docker】iptables实现NAT

iptables是一个Linux内核中的防火墙工具&#xff0c;可以被用来执行各种网络相关的任务&#xff0c;如过滤、NAT和端口转发等&#xff0c;可以监控、过滤和重定向网络流量。 iptables可以用于以下应用场景&#xff1a; 网络安全&#xff1a;iptables可以过滤网络流量&#xf…

潇洒郎: 小白一次性成功——小米红米手机解BL锁+ ROOT-刷面具

一、账号与设备绑定 手机登录账号,绑定账号,使用手机卡流量,等待7天后解BL锁。 二、解BL锁 下载工具 申请解锁小米手机 (miui.com) https://www.miui.com/unlock/index.html 1、登录账号-与绑定的账号一样 2、驱动检测安装 驱动安装进入Fastboot模式后,会自动识别已连接…

【数据结构】树与二叉树(二十):树获取大儿子、大兄弟结点的算法(GFC、GNB)

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语 5.2 二叉树5.3 树5.3.1 树的存储结构1. 理论基础2. 典型实例3. Father链接结构4. 儿子链表链接结构5. 左儿子右兄弟链接结构 5.3.2 获取结点的算法1. 获取大儿子结点的算法&#xff08;GFC&#xff09;…

Linux-top命令解释

Linux-top命令解释 常用参数查看所有逻辑核的运行情况&#xff1a;1查看指定进程的情况&#xff1a;-p pid显示进程的完整命令&#xff1a;-c 面板指标解释第一行top第二行tasks第三行%Cpu第四行Mem第五行Swap第六行各进程监控PID&#xff1a;进程IDUSER&#xff1a;进程所有者…

“流量为王”的时代一去不返!如何押注互联网下一个黄金十年

目录 1“流量为王”的时代一去不返&#xff01;如何押注互联网下一个黄金十年 2AI夺走的第一份工作竟是OpenAI CEO&#xff1f;阿尔特曼被“扫地出门”&#xff0c;网友热评&#xff1a;是被GPT-5取代了吗&#xff1f;马斯克更“毒”&#xff0c;挂出求职申请链接 3GPT-4V新玩…

cocos 构建发布没有对话框

控制台log输出为何频频失踪?   wxss代码为何频频失效?   wxml布局为何乱作一团?   究竟是道德的沦丧?还是人性的缺失?   让我们一起来 走 跑进科学 前言 游戏审核了六个月终于通过了 我说改点东西再构建发布一版 点半天没反应 正文 1.打开项目目录 2.关闭cocosC…

Linux网络ssh服务

目录 一.ssh服务基础 1.ssh服务简介 2.ssh服务原理 二.ssh服务应用 1.ssh配置文件 2.ssh连接验证 三.ssh服务端 1.修改默认端口号 2.免密连接登录 3.禁止root用户登录 4.ssh服务的最佳实践 一.ssh服务基础 1.ssh服务简介 SSH&#xff1a;是一种安全通道协议&#x…

qtpdfium的编译及读取pdf文件和一些简单操作

qtpdfium是谷歌的一款开源项目&#xff0c;它的内核是基于国内的福昕pdf&#xff0c;许可协议为 BSD 3-Clause&#xff0c;允许用于闭源商业行为 下载 我们可以从git上进行下载&#xff0c;github&#xff0c;如果嫌下载速度慢&#xff0c;可以从csdn进行下载csdn 下载完成之…

Ubuntu 22.04安装Rust编译环境并且测试

我参考的博客是《Rust使用国内Crates 源、 rustup源 |字节跳动新的 Rust 镜像源以及安装rust》 lsb_release -r看到操作系统版本是22.04,uname -r看到内核版本是uname -r。 sudo apt install -y gcc先安装gcc&#xff0c;要是结果给我的一样的话&#xff0c;那么就是安装好了…

[CISCN 2023 初赛]ezbyte

从字符串找到%100s&#xff0c;发现下面有个yes 跟踪yes 、 yes之前有个jmp 看上面的代码&#xff0c;要想跳转到含有yes这一块&#xff0c;需要r13等于r12 xor r13&#xff0c;r13说明r13是0&#xff0c;但是找不到r12的操作代码 实际着这个关键的操作r12的加密逻辑&…

java并发编程之基础与原理2

cpu缓存结构剖析 下面说一下概念与作用 CPU缓存即高速缓冲存储器&#xff0c;是位于CPU与主内存间的一种容量较小但速度很高的存储 器。由于CPU的速度远高于主内存&#xff0c;CPU直接从内存中存取数据要等待一定时间周期&#xff0c;Cache中 保存着CPU刚用过或循环使用的一部…

碳交易机制下考虑需求响应的综合能源系统优化运行程序代码!

本程序参考论文《碳交易机制下考虑需求响应的综合能源系统优化运行》&#xff0c;程序中算例丰富&#xff0c;注释清晰&#xff0c;下面对文章和程序简要介绍。 综合能源系统是实现“双碳”目标的有效途径&#xff0c;为进一步挖掘其需求侧可调节潜力对碳减排的作用&#xff0c…

二维码智慧门牌管理系统升级解决方案:高效运营,信息尽在掌握

文章目录 前言一、升级要点二、方案优势三、应用场景四、客户案例 前言 在这个日新月异的时代&#xff0c;二维码智慧门牌管理系统已经成为了各行各业的标配。为了更好地满足用户需求&#xff0c;提升运营效率&#xff0c;我们推出了全新的升级解决方案。这个方案将让你轻松掌…

可燃气体监测仪|燃气管网监测解决办法

可燃气体监测仪是城市生命线中&#xff0c;燃气监测运行系统的前端监测设备&#xff0c;其主要作用是对燃气管网的安全状况进行实时监测。燃气管道在使用过程中&#xff0c;由于老化、裂纹、锈蚀等问题&#xff0c;容易导致燃气出现泄漏问题&#xff0c;从而引发一系列的安全事…

【C++】类与对象 II 【深入浅出 万字详解】

类与对象 II 一、类的6个默认成员函数二、构造函数前言&#xff1a;构造函数产生的由来 及引入C语言中关于初始化会出现的问题总结&#xff1a;&#xff08;一&#xff09;构造函数的 概念&#xff08;二&#xff09;构造函数的 特性★ 构造函数 和 函数声明 的区分 三、析构函…

初识MongoDB及安装

文章目录 一、MongoDB核心概念1、库2、集合3、文档4、关系总结 二、MongoDB的安装总结 一、MongoDB核心概念 1、库 mongodb中的库就类似于传统关系型数据库中库的概念&#xff0c;用来通过不同库隔离不同应用数据。mongodb中可以建立多个数据库。每一个库都有自己的集合和权限…

基于Optuna的transformers模型自动调参

文章目录 一、导入相关包二、加载数据集三、划分数据集四、数据集预处理五、创建模型&#xff08;区别一&#xff09;六、创建评估函数七、创建 TrainingArguments(区别二)八、创建 Trainer(区别三)九、模型训练十、模型训练(自动搜索)(区别四)启动 tensorboard 以文本分类为例…

MyBatis逆向工程

新建Maven工程 <build><plugins><plugin><!--mybatis代码自动生成插件--><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.6</version><confi…