地址族和数据序列

news2024/12/25 9:33:45

IP地址

为使计算机连接到网络并收发数据,必需向其分配IP地址。
IP地址分为两类。
IPv4 (Internet Protocol version 4)4字节地址族
IPv6 (Internet Protocol version 6)16字节地址族

IPv4与IPv6的差别主要是表示IP地址所用的字节数,目前通用的地址族为IPv4。 IPv6是为了应对2010年前后IP地址耗尽的问题而提出的标准,即便如此,现在还是主要使用IPv4, IPv6的普及将需要更长时间。
IPv4标准的4字节IP地址分为网络地址和主机(指计算机)地址,且分为A、B、C、D、E等类型。图3-1展示了IPv4地址族,一般不会使用已被预约了的E类地址,故省略。
在这里插入图片描述
网络地址分类与主机地址边界只需通过IP地址的第一个字节即可判断网络地址占用的字节数,因为我们根据IP地址的边界区分网络地址,如下所示。
A类地址的首字节范围:0~127
B类地址的首字节范围: 128-191
C类地址的首字节范围:192~223

还有如下这种表述方式。
A类地址的首位以0开始
B类地址的前2位以10开始
C类地址的前3位以110开始

某主机向203.211.172.103和203.211.217.202传输数据,其中203.211.172和203.211.217为该网络的网络地址。所以,“向相应网络传输数据”实际上是向构成网络的路由器(Router)或交换机(Switch)传递数据,由接收数据的路由器根据数据中的主机地址向目标主机传递数据。

端口号

端口号就是在同一操作系统内为区分不同套接字而设置的,因此无法将1个端口号分配给不同套接字。另外,端口号由16位构成,可分配的端口号范围是0-65535。但0-1023是知名端口(Well-known PORT),一般分配给特定应用程序,所以应当分配此范围之外的值。另外,虽然端口号不能重复,但TCP套接字和UDP套接字不会共用端口号,所以允许重复。例如:如果某TCP套接字使用9190号端口,则其他TCP套接字就无法使用该端口号,但UDP套接字可以使用。总之,数据传输目标地址同时包含IP地址和端口号,只有这样,数据才会被传输到最终的目的应用程序(应用程序套接字)。

平时工作和学习中,大家都知道一台计算机的端口号总共有65535个,但一台计算机真的只能建立65535个TCP的连接吗?TCP:(Transmission Control Protocol 传输控制协议) 提供面向连接的、可靠的数据传输。一个完整的TCP连接由四个部分组成:源IP 源端口 <–>目的IP 目的端口 这就是经典的socket四元组。建立一个TCP连接,需要将两端的套接字进行绑定:源IP地址:源端口号 <---->目标IP地址:目标端口号,只要确保绑定的套接字不重复,即可完成一个tcp的连接,由此可见如果端口号不够用了,就不断变换目标IP地址和目标端口号,保证四元组不重复,就能创建很多个TCP的连接,由此可见有人说最多只能创建65535个tcp连接是不正确的。
既然如此,那可以创建tcp的数量有没有限制呢?
1、系统设置对连接数的限制
2、文件描述符对连接数的限制
3、线程对连接数的限制

网络字节序

CPU向内存保存数据的方式有2种,这意味着CPU解析数据的方式也分为2种。
大端序(Big Endian):高位字节存放到低位地址。
小端序(Little Endian):高位字节存放到高位地址。

仅凭描述很难解释清楚,下面通过示例进行说明。
假设在0x20号开始的地址中保存4字节int类型数0x12345678。
大端序CPU保存方式如图3-4所示。
在这里插入图片描述
整数0x12345678中, 0x12是最高位字节, 0x78是最低位字节。因此,大端序中先保存最高位,字节0x12 (最高位字节0x12存放到低位地址)。
小端序保存方式如图3-5所示。
在这里插入图片描述
先保存的是最低位字节0x78。从以上分析可以看出,每种CPU的数据保存方式均不同。因此,代表CPU数据保存方式的主机字节序(Host Byte Order)在不同CPU中也各不相同。目前主流的Intel系列CPU以小端序方式保存数据。
接下来分析2台字节序不同的计算机之间数据传递过程中可能出现的问题,如图3-6所示。
在这里插入图片描述
0x12和0x34构成的大端序系统值与0x34和0x12构成的小端序系统值相同。换言之,只有改变数据保存顺序才能被识别为同一值。图3-6中,大端序系统传输数据0x1234时未考虑字节序问题,而直接以0x12、0x34的顺序发送。结果接收端以小端序方式保存数据,因此小端序接收的数据变成0x3412,而非0x1234。正因如此,在通过网络传输数据时约定统一方式,这种约定称为网络字节序(Network Byte Order),非常简单——统一为大端序。
即,先把数据数组转化成大端序格式再进行网络传输。因此,所有计算机接收数据时应识别
该数据是网络字节序格式,小端序系统传输数据时应转化为大端序排列方式。

回送地址

回送地址(127.x.x.x)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全面接入!ChatGPT杀进15个商业应用,让AI替你打工

ChatGPT API开放60多天&#xff0c;世界已经不是两个月前的样子了。 微软联合创始人比尔盖茨称GPT是“40多年来最革命性的技术进步”&#xff0c;英伟达创始人黄仁勋高呼&#xff1a;“我们正处于AI的iPhone时刻”&#xff0c;阿里董事会主席兼CEO张勇也说&#xff1a;“所有行…

经验总结:(Git 版本控制工具快速入门)

Git学习笔记 版本控制(版本迭代) 什么是版本控制 版本迭代&#xff0c;开发过程中&#xff0c;对项目各个阶段的版本的控制。 在开发过程中用于管理我们对文件、目录或工程等内容的修改历史&#xff0c;方便查看更改历史记录&#xff0c;备份以便恢复以前的版本。 多人开发…

ADV7391BCPZ-ASEMI代理亚德诺ADV7391BCPZ原厂芯片

编辑-Z ADV7391BCPZ参数描述&#xff1a; 型号&#xff1a;ADV7391BCPZ VDD&#xff1a;1.8V VAA&#xff1a;3.3V 全驱动输出电流&#xff1a;34.6 mA 低驱动输出电流&#xff1a;4.3 mA 输出电容&#xff1a;10 pF 模拟输出延迟&#xff1a;6 ns DAC模拟输出倾斜&am…

x509证书-crl证书吊销

标准 CRL fields -- 版本、时间、证书序列号和扩展名 -- 都是在4.1节的ASN.1中定义的 -- AlgorithmIdentifier 在第 4.1.1.2 节中定义 以下各项描述了 X.509 v2 CRL 在 Internet PKI 中的使用。 关于签名值和验证 signatureValue 字段包含根据 ASN.1 DER 编码的 tbsCertList 计…

13-Vue技术栈之路由的使用

目录 1、路由相关理解1.1 vue-router 的理解1.2 对 SPA 应用的理解1.3 路由的理解1.4 路由分类 2、路由的基本使用2.1 实现效果&#xff1a;2.2 实现思路&#xff1a;2.3 实现步骤&#xff1a;2.4 具体代码2.5 几个注意点 3、多级路由&#xff08;嵌套路由&#xff09;4、路由的…

中科院学术专用版GPT Academic项目实现

【写在最前】要完成GPT 学术优化 (GPT Academic)这个项目需要一些值得注意的地方&#xff1a; chatGPT账户有余额且未过期&#xff01;&#xff01;&#xff01;有代理工具&#xff08;类似Clash&#xff09; 1、代码克隆 https://github.com/binary-husky/gpt_academic 根据…

Java后端调取微信小程序接口,创建微信小程序直播间

前提条件&#xff1a; 1.注册微信小程序 2.获取appId和secret秘钥 3.小程序具备直播权限 小程序直播开发文档网址 目录 1.创建和修改直播间 2.删除直播间 3.获取直播间分享二维码 1.创建和修改直播间 两个功能一起写&#xff0c;区别在于&#xff0c;修改的时候需要多一…

【数字化转型-05】数字化转型中战略驱动的利器——平衡计分卡

今年的4月19日&#xff0c; 华为第20届全球分析师大会上&#xff0c;华为孟晚舟在大会上发表了“初心如磐&#xff0c;奋楫笃行&#xff0c;共赢数字化未来”的主题演讲&#xff0c;其中分享了对数字化转型的三个核心洞见&#xff0c;首先&#xff0c;战略驱动是根本&#xff0…

Mojo:比 Python 快 35000 倍的 AI 编程语言

Mojo&#xff1a;比 Python 快 35000 倍的 AI 编程语言 Mojo是一门刚刚发布的面向 AI 开发人员的编程语言。 Mojo 被设计为 Python 的超集&#xff0c;所以如果你已经掌握了 Python&#xff0c;学习 Mojo 会很容易。关键是 Mojo 将 Python 的易用性与 C 语言的性能相结合&am…

AIGC—— 内容生产力革命的起点

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.AIGC 1.什么是AIGC? 2.AIGC有哪些优势与挑战 &#xff08;1&#xff0…

51单片机(十)DS1302实时时钟

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

Solon 框架,单月下载量突破100万了!!!

Solon 框架&#xff0c;单月下载量突破100万了。感谢开源的力量和社区的支持&#xff0c;我们同喜同荣&#xff01;&#xff01;&#xff01;目前&#xff0c;作为新成员加入了“可信开源共同体”&#xff0c;也积极参与中科院的“开源之夏”计划&#xff0c;也备受某军工服务商…

【C++入门】你知道C++为什么会有内联函数吗?

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习C和算法 ✈️专栏&#xff1a;C航路 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1…

深度优先遍历和广度优先遍历

深度优先遍历和广度优先遍历 文章目录 深度优先遍历和广度优先遍历图图的实现遍历方式深度优先遍历基本思想广度优先遍历基本思想 完整代码 图 介绍&#xff1a;用于表示多对多的关系 图是一种数据结构&#xff0c;其中结点可以具有零个或多个相邻元素。两个结点之间的连接称…

FFmpeg AAC 解码 PCM

1. 概要与流程图 1.1 AAC 转 PCM,需要解码库来实现,目前了解有三种方式,当前使用的是 FFmpeg 库解码 1) faad 解码库网址:faadhttps://sourceforge.net/projects/faac/files/faad2-src/ 2) fdk-aac 编解码库网址: fdk-aac

接口测试入门:轻松掌握 ,让你的后端“心甘情愿”地配合你

目录 前言 简介 什么是API测试&#xff1f; API测试的必要性 API测试的类型 优势 API测试的挑战 【自动化测试工程师学习路线】 前言 在这篇文章中&#xff0c;我将带你轻松入门接口测试并掌握实用技巧&#xff0c;让你能够与后端开发人员更加顺畅地合作。相信我&…

【量化分析】用mplfinance显示交易图时,处理 Expect data.index as DatetimeIndex?

目录 一、说明 二、程序代码和出错描述 三、合理化建议 3.1 读入数据时指定索引 3.2 读入数据后&#xff0c;使用数据前指定日期&#xff08;时间戳&#xff09;索引 一、说明 我打算从比特币数据中获取烛台图。这是我在加载 csv 文件后选择我想要的数据框的代码。然而&…

【2】Kaggle:狗的种类识别,基于论文中的 VGG(11)/ResNet(18)/SENet 结构实现

1.数据集格式 在前面【1】中已经对数据集进行过了处理,在自己实现这一模块,训练数据集的统一格式为下图: 2.VGG11结构 根据论文Karen Simonyan, Andrew Zisserman. Very deep convolutional networks for large-scale image recognition. ICLR, 2015. (VGG) 中的结构,根…

如何在华为云服务器安装MindSpore框架

参考链接 一、获取安装命令 我是在华为云租了一个云服务器&#xff0c;然后系统是Ubuntu18.04,如果不知道自己的系统&#xff0c;可以通过以下方式&#xff1a; 第三方依赖安装方法 1.确认安装Ubuntu 18.04是64位操作系统 确认系统版本号&#xff0c;在终端输入lsb_release…

Linux -- 进阶 Web服务器 虚拟主机 --- 基于 IP 地址

虚拟主机 一个Web 服务器&#xff0c;如果只能运行一个网站的话&#xff0c;那么对于一些经费不是很足的小公司来说&#xff0c;那就 有些奢侈了&#xff0c;资源没有办法完全利用上 &#xff08; 无论是 内存&#xff0c;CPU&#xff0c;硬盘&#xff0c;带宽等等 &#xff0…