<JavaEE> 网络编程 -- 网络通信基础(协议和协议分层、数据封装和分用)

目录

一、IP地址

1)IP地址的概念

2)IP地址的格式

二、端口号

1)端口号的概念

2)端口号的格式

3)什么是知名端口号?

三、协议

1)协议的概念

2)协议的作用

3)TCP/IP协议中的五元组概念

四、协议分层

1)什么是协议分层?

2)协议分层的作用

3)协议分层的两种模型

<1> OSI七层模型

<2> TCP/IP五层模型

4)协议分层应用的经典网络设备

五、封装和分用

1)封装和分用的概念


一、IP地址

1)IP地址的概念

IP地址描述了一个网络设备的网络地址,主要用于对设备的网络地址进行标识和定位。

2)IP地址的格式

IP地址是一个32位的二进制数,每8位二进制数(4个字节)后,用一个 ‘ . ’ 号分隔。这种表示方式被称为“点分十进制”。(如:192.168.1.1)

二、端口号

1)端口号的概念

端口号区分了一个主机上的不同应用程序,用于对主机中发送、接收数据的进程标识和定位。
不同的程序可以关联多个端口号,但是一个端口号只能被一个程序关联

2)端口号的格式

端口号是一个2字节的整数,表示范围在0~65535之间。

3)什么是知名端口号?

在0~65535范围中,0端口通常不使用,1~1023端口为系统预留端口,这些端口被分配给一些比较常见的服务器程序使用。一般在编程使用时,不应使用这些端口。

三、协议

1)协议的概念

网络通信有数据发送方和数据接收方,接收方如何识别发送方发送的数据,这就需要通信的双方有一个约定,这个约定就是协议。
协议即网络协议,是指网络通信过程的相关设备都必须共同遵守的一系列规则。这里的规则的具体体现,就是数据格式

2)协议的作用

计算机之间的传输媒介是光信号和电信号。通过“频率”和“强弱”来表示0和1。
协议是一个规则,规定了通信双方如何解读这些信号,只有遵守这个规则,不同设备之间才能正确解读对方的发送的数据。

3)TCP/IP协议中的五元组概念

TCP/IP协议是网络通信中最基本的协议。
在TCP/IP协议中,用五元组的概念来标识一个网络通信,五元组是一次通信过程中必不可少的信息
五元组包括了以下内容:
<1> 源IP标识源主机
<2> 源端口号标识源主机中该次通信发送数据的进程
<3> 目的IP标识目的主机
<4> 目的端口号标识目的主机中该次通信接收数据的进程
<5> 协议号标识发送进程和接收进程双方约定的数据格式

四、协议分层

1)什么是协议分层?

网络通信十分复杂,有许多问题需要通过协议进行解决。如果将这些协议全部杂糅在一起,则会十分混乱。因此,就将这些协议拆分分层,使得每个协议都在自己的领域,专注于处理自己的事务。

2)协议分层的作用

分层的好处是使用上层协议时,不必关心下层,使用下层协议时,不用关心上层,每一层协议专注于处理自己的事务即可,同时每一层协议都可以根据需要灵活替换
这类似于对上下层协议进行了封装,按照协议的定位和作用,进行分类,并且约定了不同层次之间的“调用关系”。

3)协议分层的两种模型

<1> OSI七层模型

OSI:即Open System Interconnection(开放系统互连)。是一种框架性的设计方法,最主要的功能是帮助不同类型的主机实现数据传输。
OSI七层模型复杂而不实用,没有实际的实现,只存在于教科书中。

图示演示模型分层:

<2> TCP/IP五层模型

TCP/IP是一组协议的代名词,它还包括了许多其他的协议,组成了TCP/IP协议簇。
TCP/IP通讯协议采用了五层层级结构,每一层都呼叫它的下一层协议提供的网络来完成自己的需求。
包括以下五层:
1> 应用层负责应用程序间的沟通。规范应用程序如何使用数据。
2> 传输层负责通信两端的数据传输。关注的是端与端。
3> 网络层负责地址管理和路由选择。关注的是端与端之间的路径。
4> 数据链路层负责设备之间数据帧的传送和识别。关注的是两个相邻节点之间的数据传输情况。
5> 物理层负责光电信号的传递方式。是用于网络通信的硬件设备。
实际上TCP/IP五层模型就是将OSI七层模型中的上三层结合在一起了

图示演示模型分层:

4)协议分层应用的经典网络设备

主机主机的操作系统内核实现了从传输层到物理层的内容,同时主机上的应用程序则是处于应用层,TCP/IP五层模型都在主机上有所实现。
路由器实现了从网络层到物理层,即TCP/IP模型的下三层。
交换机实现了从数据链接层到物理层,即TCP/IP模型的下二层。
集线器只实现了物理层。
随着网络设备技术的发展,现在的路由器和交换机的应用层级越来越高,出现了应用于三四层的交换机和四层的路由器等。

五、封装和分用

1)封装和分用的概念

不同层级的数据包称谓不同,在传输层的称为段(segment),在网络层称为数据报(datagram),在链路层称为帧(frame)。
应用层数据发送时,会从应用层到物理层,逐层处理数据。这里的处理指的是每层协议会在数据上增加数据首部(header),这称为封装(Encapsulation)。

首部信息包含首部长度,荷载(payload)长度,端口信息,上层协议等内容。

数据封装完成后发送,经过传输介质到达目的主机,再由每层协议逐层解析对应层级的首部,最后得到源主机应用层发送的数据,这称为分用。

图示演示封装和分用:


阅读指针 -> 《 网络编程 -- 服务器 》

链接生成中.........

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

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

相关文章

IBIS AMI Model 算法模式的选择

常规的信号完整性仿真&#xff0c;只会包含传统的基于IBIS的芯片行为级模型&#xff0c;但高速串行总线在使用过程中&#xff0c;经常会由于传输信道或链路过长以及信号频率较高而造成信号衰减过大&#xff0c;接收端无法正确判别信号&#xff0c;因此&#xff0c;这类SerDes芯…

Amazon SageMaker:让机器学习变得更简单、更强大

授权说明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 亚马逊云科技开发者社区, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道。 前言&#xff1a; 在大数据时代的浪潮中&#xff0c;数据不再只…

指令数据:训练大模型的“隐形助力”

作者&#xff1a;谭婧 &#xff08;一&#xff09;指令数据&#xff0c;了解一下 先聊一件圈内趣事&#xff1a; 2023年初&#xff0c;大约在1月到2月份前后&#xff0c; 百度公司如流工作卡上有一个任务&#xff0c; 让百度员工打开脑洞&#xff0c;写“问答对”。 一问一答都…

HashMap常见面试问题

简述HashMap原理&#xff1f; HashMap基于数组加链表的方式来实现&#xff0c;数组下标通过hash值来计算&#xff0c;当下表冲突时&#xff0c;就会进行遍历链表&#xff0c;当链表长度大于8的时候会转化为红黑树。 HashMap的put过程&#xff1f; put的第一步是计算hash值&a…

什么时候使用匿名类,匿名类解决了什么问题?为什么需要匿名类 ?

匿名类通常在以下场景下使用&#xff1a; 一次性使用&#xff1a; 当你需要创建一个类的实例&#xff0c;但该类只在一个地方使用&#xff0c;而不打算在其他地方重复使用时&#xff0c;可以考虑使用匿名类。 简化代码&#xff1a; 当创建一个小型的、一次性的类会让代码更简洁…

VUE中如果让全局组件在某一页面不显示

目录 前言 方法一 1.在全局组件中添加一个变量用于控制显示与隐藏。 2.在全局组件的模板中使用 v-if 条件来决定是否显示该组件 3.在不需要显示全局组件的页面中&#xff0c;修改 showGlobalComponent 变量的值为 false&#xff0c;以隐藏全局组件。 4.在需要隐藏全局组…

TrustZone之总线请求

接下来&#xff0c;我们将查看系统中的总线请求者&#xff0c;如下图所示&#xff1a; 系统中的A型处理器具有TrustZone感知&#xff0c;并在每个总线访问中发送正确的安全状态。然而&#xff0c;大多数现代SoC还包含非处理器总线请求者&#xff0c;例如GPU和DMA控制器。 与完成…

​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展

在数字化时代&#xff0c;云计算成为推动创新和业务发展的关键驱动力。Amazon Lightsail 作为亚马逊云科技家族中的一员轻量应用服务器&#xff0c;为小型企业和创业公司提供了简便、强大的云计算服务。无论您是刚刚起步的初创公司&#xff0c;还是需要灵活而高效的云解决方案&…

第5次实验:ICMP

目的&#xff1a; 要看ICMP&#xff08;互联网控制信息协议&#xff09;是如何使用的。ICMP是IP的一个配套协议&#xff0c;通过处理各种错误和测试情况&#xff0c;帮助IP执行其功能。通过处理各种错误和测试情况来帮助IP执行其功能。它在第5.6.4节中有介绍。文中有涉及。在做…

vue 中国省市区级联数据 三级联动

vue 中国省市区级联数据 三级联动 安装插件 npm install element-china-area-data5.0.2 -S 当前版本以测试&#xff0c;可用。组件中使用了 element-ui, https://element.eleme.cn/#/zh-CN/component/installation 库 请注意安装。插件文档 https://www.npmjs.com/package/ele…

【CANoe】CANoe中使用RS232

文章目录 1、CANoe中自带示例2、示例讲解2.1CANoe自带Port A和Port B通讯2.2CANoe自带Port A和串口助手通讯 1、CANoe中自带示例 我使用的事CANoe12&#xff0c;RS232路径如下&#xff1a; C:\Users\Public\Documents\Vector\CANoe\Sample Configurations 12.0.75\IO_HIL\RS23…

如何安全运行别人上传的Python代码?

写后端的同学&#xff0c;有时候需要在网站上实现一个功能&#xff0c;让用户上传或者编写自己的Python代码。后端再运行这些代码。 涉及到用户自己上传代码&#xff0c;我们第一个想到的问题&#xff0c;就是如何避免用户编写危险命令。如果用户的代码里面涉及到下面两行&…

人工智能联盟的首件神兵利器——“Purple Llama” 项目,旨为保护工智能模型安全性

Meta公司&#xff08;Meta Platform Inc&#xff09;&#xff0c;原名Facebook&#xff0c;创立于2004年2月4日&#xff0c;市值5321.71亿美元。总部位于美国加利福尼亚州门洛帕克。 Meta 公司推出了名为“Purple Llama”的项目&#xff0c;旨在保护和加固其开源人工智能模型。…

部署Nextcloud详细步骤及优化方法

一、安装PHP8.0以上 我这里使用PHP8.0.30 [rootlocalhost ~]# php -v PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 ) Copyright (c) The PHP Group Zend Engine v4.0.30, Copyright (c) Zend Technologies [rootlocalhost ~]# 安装方法参考 二、安装MY…

安卓版pytCharm怎么启动,安卓版手游免费下载

大家好&#xff0c;给大家分享一下安卓版python编辑器安装tkinter&#xff0c;很多人还不知道这一点。下面详细解释一下。现在让我们来看看&#xff01; 我的GitHub 是的&#xff0c;Python 代码可以在 Android 平台上运行&#xff0c;尽管这并不是 Python 传统上最常用的运行环…

正则表达式(6):分组与后向引用

正则表达式&#xff08;6&#xff09;&#xff1a;分组与后向引用 总结 本博文转载自 在本博客中&#xff0c;”正则表达式”为一系列文章&#xff0c;如果你想要从头学习怎样在Linux中使用正则&#xff0c;可以参考此系列文章&#xff0c;直达链接如下&#xff1a; 在Linux中…

【Stm32-F407】Keil uVision5 下新建工程

①双击鼠标左键打开Keil uVision5&#xff0c;选择 Project 下的 New uVision Project &#xff1b; ②在期望的文件夹下创建一个工程&#xff0c;并按如下要求操作&#xff1b; ③添加文件类型&#xff0c;按如下要求操作 ④如有需要可添加相关启动文件在工程文件夹下并添加到…

RNN介绍及Pytorch源码解析

介绍一下RNN模型的结构以及源码&#xff0c;用作自己复习的材料。 RNN模型所对应的源码在&#xff1a;\PyTorch\Lib\site-packages\torch\nn\modules\RNN.py文件中。 RNN的模型图如下&#xff1a; 源码注释中写道&#xff0c;RNN的数学公式&#xff1a; 表示在时刻的隐藏状态…

渗透测试框架——Cobalt Strike

渗透测试框架——Cobalt Strike Cobalt Strike是一款非常成熟的渗透测试框架。Cobalt Strike在3.0版本之前是基于Metasploit框架工作的&#xff0c;可以使用Metasploit的漏洞库。从3.0版本开始&#xff0c;Cobalt Strike不再使用Metasploit的漏洞库&#xff0c;成为一个独立的…

每日好题:原来你也玩三国杀(DP动态规划)

I - 原来你也玩三国杀 Description 小 Q 最近听说 “很多” acmer 都爱上了一款游戏《三国杀》。因为小 Q 是一个初学者&#xff0c;所以想自己先偷偷学习一下&#xff0c;然后惊艳所有人。但又因为小 Q 不屑于使用一般的武将&#xff0c;因为他觉得唯有操作型武将才能显得自…
最新文章