全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

大端与小端字节序详解:网络传输中的高低字节存储顺序解析 上海seo推广价格优惠

首先明确大端、小端概念:

大端:高字节存放低地址,低字节存放高地址;

小端:低字节存放低地址,高字节存放高地址。

再明确一个概念,网络字节序

网络传输的数据为字节流。对于像占 4 个字节的 int 这样的多字节数值,在进行网络传输时,需明确先传递哪个字节。也就是说,接收端收到第一个字节后,要确定将其作为高位字节还是低位字节处理,这是一个有意义的问题。

UDP/TCP/IP 协议规定:需将收到的第一个字节视为高位字节。这意味着发送方发送的第一个字节必须是高位字节。然而,发送方在发送时,只能从存储该变量的起始地址开始,逐个字节地进行发送。只有大端字节序能够满足这一要求。网络要求先发出去的必须是变量的高地址,而实际机器中是要从低地址开始一字节一字节地发,这两句话结合起来就意味着只有机器是大端字节序才刚好能满足要求。所以网络字节序是大端字节序,并且网络协议会使用大端字节序来传输数据。

我们可以发现一个问题,若机器是大端,它就会按照大端的要求发出;若机器是小端,不做任何处理发出去的就是小端。是的,这就出现了以下现象:

我们的机器一般是小端字节序。在进行网络数据传输时,最初建立连接并进行初始化操作时,常常需要先将 IP 和端口转换为大端模式(通过使用 htons 函数)。

网络传输协议规定了传输使用大端字节序。那为什么只把 IP 地址、端口等转成大端格式呢?而数据部分却不进行大小端转换呢?

我纠结这个问题还纠结了很久,答案是没有必要。

首先明确 IP 地址和端口需要大端化的原因。网络传输协议规定要进行大端化,所以各级交换机和路由器在提取报文中的 MAC、IP 时也应该采用大端化方式。这样做的好处是统一规范,便于进行比对以查找路由表。

为什么数据部分不大端化呢?数据大小端的差异和机器的存储方式相关,与传输方式没有关系。也就是说,网络包是以大端的方式进行传输的,当传输到本地对包进行解析时,不管是按大端传来的还是按小端传来的,接收方把变量赋值给本地变量时,都只能将先拿到的字节存放在低地址。如果发送端和接收端都是大端,那么解析存储的变量就没有问题;如果发送端和接收端都是小端,那么存储的变量在解析时也没有问题。然而,如果一端是大端机器,另一端是小端机器呢?大端机器会按照先发出的是高字节来发出数据,小端机器也会在分配好的内存位置按照顺序一个一个地存储数据,但是当从地址处取值读取时就会出现问题。所以网络传输只是规定要以大端字节序进行传输,然而它自身并不负责转换的事宜,内核也不会负责。至于具体是否要进行转换、转换哪些以及如何转换等问题,都需要各位依据具体的情况亲自去处理,而不是将其交给网络传输让它在传输过程中为你转换好。

所以与之相对应的现象是,在接收到数据之后,若想要获取发送方的 IP 地址和端口,就需要将大端字节序进行本地化。数据部分,你那边的存储方式是什么,你发给我后我就按照你发的方式存储。只要不是一个大端一个小端,我接收完后就能正常解析。所以没必要在发送时转换一次,接收时又转换回来。交换机和路由器不需要关心你传输的数据是什么,你只需将它们所需的 IP 和端口按照大端转换好,这样它们才能正确找到路由。对于数据而言,无论你以何种方式发送,亦或是按照何种格式发送,网络都会将其认定为大端。然而,实际上是否为大端,你自己心中有数即可。

附加一点笔记有个知识点有点忘记了:

和是什么关系?

先放点代码在这

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre><code> intsockfd;   定义了一个名为 m_addr 的 sockaddr_in 结构体。 创建一个用于网络通信的套接字,将其赋值给 sockfd 。该套接字的地址族为 AF_INET ,类型为 SOCK_STREAM ,协议参数为 0 。

m_addr 的 sin_family 被设置为 AF_INET 。 m_addr 的 sin_port 被设置为 htons(MYPORT) 。 inet_addr("192.168.0.106") 被赋值给 m_addr 的 sin_addr 的 s_addr 。 将 my_addr.sin_zero 清零,清零的长度为 8 。 将 sockfd 与 (struct sockaddr *)&m_addr 进行绑定,绑定的长度为 sizeof(struct sockaddr)。</code></pre></p>

它只是一个用于通信的符号,所存储的是具体通信需要的信息。将其绑定在上,如此一来,这个管就能负责与里面地址的通信。


# 大端与小端字节序详解:网络传输中的高低字节存储顺序解析  # 大端与小端字节序详解  # 网络传输中的高低字节存储顺序解析  # 将其  # 的是  # 都是  # 网络传输  # 是一个  # 绑定  # 第一个  # 就能  # 设置为  # 多字  # 长度为  # 也就是说  # 传输协议  # 清零  # 我就  # 这一  # 就会  # 给我  # 放在  # 有个  # 网站建设架构布局  # 四川seo推广公司价格  # seo怎么变成框架  # 江油关键词seo  # 黄冈网站建设哪里好  # 黄石网站建设的工作室  # 周口seo优化教程  # 嘉兴网站优化技术  # 浙江seo网络优化推广公司  # 关键词排名好几个  # 福田全网营销整合推广  # 宁波化妆品营销推广公司  # 网站网络推广怎么做的呢  # 无影剑seo  # 营销推广成本费用分析  # 交易网站建设需要多久  # 点击精灵seo优化  # 亦庄网站关键词优化  # 公司网站建设风险  # 国内网站推广怎么做好呢 


相关文章: 南宁SEO优化,让你的品牌在数字海洋中脱颖而出,冠县网站建设多少钱  全文缩写-提高效率,释放更多可能,设计类网站建设  新手如何辨别一个广告联盟是不是骗子?  优化*:打造更加高效、创新的娱乐体验,论坛推广必用的网站  广州建设网站,打造数字化城市,广州,打造数字化城市,推动智慧城市建设的实践探索,广州,从建设网站到数字城市转型,推动智慧城市建设实践探索  通过广告联盟推广app日入2000+的经验分享!  SEO子-为你的网站注入流量的秘密武器,武汉网站推广很棒  SEO全套秘籍:提升网站流量与排名的终极指南,河南搜索关键词排名公司  SEO基础知识解析:如何提升网站排名,助力企业成长,府谷科美特网站建设收费  提高app产品转化的四个重要方法策略 ,建议收藏!  SEO元素-提升网站排名的核心要素,铜川抖音seo推荐  为什么网站的原创文章收录了但是无排名?主要是这几个原因!  云点SEO:为企业开启数字营销新篇章,滨州大型网站建设  全球优化:智能时代下的全球资源配置革命,象山网站推广费用  ZBlog:开启你的个人网站新时代,轻松搭建与管理,辽宁品质网站建设理念  资深站长总结的快速提升网站排名的5个小技巧分享  免费洗稿,提升创作效率的神奇工具,焦作建设网站哪家好  SEO师:如何在数字时代为企业赢得流量与销量,仁怀网站优化推广公司  SEO做法-提升网站流量与排名的关键秘诀,私房米线怎么营销推广的  引流技巧中的截流玩法具体如何操作?  网络广告联盟计费方式是怎样的?  联盟赚钱行业内经常遇见的三个大坑!别掉里面了!  信息流广告是什么意思?可以推广app产品广告吗?  互联网时代,这9大app网络推广方法必须得掌握!  SEO范例:如何通过优化提升网站流量,获取更多商机,起重机推广网站大全图片  中文润色:提升表达的艺术,打造无懈可击的语言魅力,赵县seo服务  单页网站怎么做排名,有什么优势吗?  SEO要不,来看看如何通过SEO优化提高网站流量和曝光度,前后端完全分离 seo问题  四个不耽误上班的网上兼职赚钱副业分享  app推广渠道有哪些?app快速引流获客你得这样做!  探索数字营销的奥秘,打造高效转化的自媒体平台,松阳租房网站建设工作  广告联盟平台全自动挂机赚钱到底能不能真正赚到钱?  SEO怎么做才能提升网站流量与排名?这篇文章给你全攻略,企业网站建设指标  引流之如何利用评论来进行引流?  SEO新手必看:从零开始SEO优化的终极指南,淄川英文网站建设价格  百青藤广告联盟的优势以及不足分析!  福建百度推广助手怎么安装及操作指南,c2c网店的营销推广策略——以淘宝网为例  社交app评测!年末脱单就靠这4款社交app了!  SEO策划:让你的网站迅速脱颖而出的秘诀,计算机网站推广怎么做的  目前非常火热的信息流广告的广告投放模式主要有哪几种?  免费采集,让你轻松收集所有资源,提升生活效率!,镇海租房网站建设  广告推广赚钱是什么意思?怎么做?  网站上线之初网站运营的四个基础步骤!  SEO部:开启数字化营销新纪元的幕后英雄,餐饮网站seo优化电话  分享11 种非常实用有效的app线下推广渠道!  七个零成本引流的app推广运营技巧,让目标用户主动来访!  SEO要点:提升网站排名的核心技巧与策略,十堰网络营销推广软件  网赚游戏未来将进入3.0时代,想要赚钱的抓紧了!  【分享】仿应用商店引流模板源码  WPJam:打破网站管理的壁垒,打造极致用户体验,seo优化金苹果下拉二 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。