【网络通信】探索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地址和端口号来实现网络通信和数据交换。

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

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

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

相关文章

【Web】Ctfshow SSTI刷题记录1

目录 ①web361 362-无过滤 ②web363-过滤单双引号 ③web364-过滤单双引号和args ④web365-过滤中括号[]、单双引号、args ⑤web366-过滤单双引号、args、中括号[]、下划线 ⑦web367-过滤单双引号、args、中括号[]、下划线、os ⑧web368-过滤单双引号、args、中括号[]、下…

如何在 Nginx Proxy Manager(NPM)上部署静态网站

前言 众所周知&#xff0c;我们在之前介绍过 Nginx Proxy Manager&#xff08;以下简称 NPM) 这个反向代理的神器&#xff0c;对于一些 Docker 搭建的 Web 项目&#xff0c;NPM 能够很轻松地给他们做反向代理。 然而对于一些静态网站&#xff0c;小伙伴们可能不知道怎么用 NP…

Ubuntu 安装VMware Tools选项显示灰色,如何安装VMware Tools

切换apt源为阿里云&#xff1a; https://qq742971636.blog.csdn.net/article/details/134291339 只要你的网络没问题&#xff0c;你直接执行这几个命令&#xff0c;重启ubuntu虚拟机即可、 sudo dpkg --configure -a sudo apt-get autoremove open-vm-tools sudo apt-get ins…

LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字

上一节实现了 LangChain 实现给动物取名字&#xff0c; 实际上每次给不同的动物取名字&#xff0c;还得修改源代码&#xff0c;这周就用模块化template来实现。 1. 添加promptTemplate from langchain.llms import OpenAI # 导入Langchain库中的OpenAI模块 from langchain.p…

Autox.js和Auto.js4.1.1手机编辑器不好用我自己写了一个编辑器

功能有 撤销 重做 格式化 跳转关键词 下面展示一些 内联代码片。 "ui"; ui.layout( <drawer id"drawer"><vertical><appbar><toolbar id"toolbar"title""h"20"/></appbar><horizontal b…

深度学习——(生成模型)DDPM

前置数学知识 1、先验概率和后验概率 先验概率&#xff1a;根据以往经验和分析得到的概率,它往往作为“由因求果”问题中的“因”出现&#xff0c;如 q ( x t ∣ x t − 1 ) q(x_t|x_{t-1}) q(xt​∣xt−1​) 后验概率&#xff1a;指在得到“结果”的信息后重新修正的概率,是…

MIKE水动力笔记19_统计平均潮差

本文目录 前言Step 1 ArcGIS中创建渔网点Step 2 将dfsu数据提取到渔网点Step 3 Python统计平均潮差 前言 日平均潮差&#xff08;average daily tidal range&#xff09;&#xff1a;日高潮潮高合计之和除以实有高潮个数为日平均高潮潮高&#xff0c;日低潮潮高合计之和除以实…

redis问题归纳

1.redis为什么这么快&#xff1f; &#xff08;1&#xff09;基于内存操作&#xff1a;redis的所有数据都存在内存中&#xff0c;因此所有的运算都是内存级别的&#xff0c;所以性能比较高 &#xff08;2&#xff09;数据结构简单&#xff1a;redis的数据结构是专门设计的&…

「Verilog学习笔记」根据状态转移图实现时序电路

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 这是一个典型的米利型状态机。三段式即可解决。 米利型状态机&#xff1a;即输出不仅和当前状态有关&#xff0c;也和输入有关。 其中ST0&#xff0c;ST1&#xff0c;ST3的…

分组交换技术

目录 一、新型计算机网络的基本特点 二、电路交换 1、回顾电路交换的原理 2、使用交换机连接许多部电话 3、电路交换举例 4、电路交换的三个阶段 5、电路交换的特点 三、分组交换 1、因特网有边缘部分与核心部分组成 2、分组交换的原理 3、分组交换的优点 4、存储转…

蓝桥杯每日一题2023.11.19

题目描述 “蓝桥杯”练习系统 (lanqiao.cn) 题目分析 首先想到的方法为dfs去寻找每一个数&#xff0c;但发现会有超时 #include<bits/stdc.h> using namespace std; const int N 2e5 10; int n, cnt, a[N]; void dfs(int dep, int sum, int start) {if(dep 4){if(s…

[AI]ChatGPT4 与 ChatGPT3.5 区别有多大

ChatGPT 3.5 注册已经不需要手机了&#xff0c;直接邮箱认证就可以&#xff0c;这可真算是好消息&#xff0c;坏消息是 ChatGPT 4 还是要收费。 那么 GPT-3.5 与 GPT-4 区别有多大呢&#xff0c;下面简单测试一下。 以从 TDengine 订阅数据为例&#xff0c;TDengine 算是不太小…

5.Java中的注释及Javadoc文档

本文讲解 Java 中的注释以及 Javadoc 文档 ~ 文章目录 1. 注释1.1 引言1.1.1 何为注释&#xff1f;1.1.2 注释有何用&#xff1f;1.1.2.1 方便阅读1.1.2.2 调试程序 1.1.3 单行注释和多行注释 1.2 方法注释1.2.1 什么是方法注释&#xff1f;1.2.2 如何写方法注释&#xff1f;1.…

SpirngBoot + Vue 前后端分离开发工具代码

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Java从入门到精通 ✨特色专栏&#xf…

OpenCV入门5——OpenCV的算术与位运算

文章目录 图像的加法运算图像的减法运算图像的乘除运算图像的融合OpenCV位运算-非操作OpenCV位操作-与运算OpenCV位操作-或与异或为图像添加水印 图像的加法运算 # -*- coding: utf-8 -*- import cv2 import numpy as npimg cv2.imread(E://pic//4.jpg)# 图的加法运算就是矩阵…

ubuntu20源码编译搭建SRS流媒体服务器

第一、下载源码 下载源码&#xff0c;推荐用Ubuntu20&#xff1a; git clone -b develop https://gitee.com/ossrs/srs.git第二、编译 2.1、切换到srs/trunk目录&#xff1a; cd srs/trunk2.2、执行configure脚本 ./configure2.3、执行make命令 make2.4、修改conf/rtmp.c…

SpringBoot 2.x 实战仿B站高性能后端项目

SpringBoot 2.x 实战仿B站高性能后端项目 下栽の地止&#xff1a;请看文章末尾 通常SpringBoot新建项目&#xff0c;默认是集成了Maven&#xff0c;然后所有内容都在一个主模块中。 如果项目架构稍微复杂一点&#xff0c;就需要用到Maven多模块。 本文简单概述一下&#xff0c…

Vue+ElementUI技巧分享:自定义表单项label的文字提示

文章目录 概要在表单项label后添加文字提示1. 使用 Slot 自定义 Label2. 添加问号图标与提示信息 slot的作用详解1. 基本用法2. 具名插槽 显示多行文字提示的方法1. 问题背景2. 实现多行内容显示3. 样式优化 结语 概要 在Vue和ElementUI的丰富组件库中&#xff0c;定制化表单是…

数据结构:红黑树的插入实现(C++)

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》 文章目录 一、红黑树二、红黑树的插入三、代码实现总结 一、红黑树 红黑树的概念&#xff1a; 红黑树是一颗二叉搜索树&#xff0c;但在每个节点上增加一个存储位表示节点的颜色&…

基于java web个人财务管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…