当前位置: 首页 > news >正文

做地方门户网站的资质太平洋网站开发

做地方门户网站的资质,太平洋网站开发,网站建设与管理以后工作方向,广告投放平台都有哪些欢迎来到 破晓的历程的 博客 ⛺️不负时光#xff0c;不负己✈️ 引言 在上一篇博客中#xff0c;我们简单的介绍了一些Linux网络一些比较基本的概念。本篇博客我们将开始正式学习Linux网络套接字的内容#xff0c;那么我们开始吧#xff01; 1.网络中的地址管理 大家一… 欢迎来到 破晓的历程的 博客 ⛺️不负时光不负己✈️ 引言 在上一篇博客中我们简单的介绍了一些Linux网络一些比较基本的概念。本篇博客我们将开始正式学习Linux网络套接字的内容那么我们开始吧 1.网络中的地址管理 大家一定知道每一台主机都会存在一个ip地址其实并不是这么简单今天我们就来系统介绍一下。 1.1ip地址 IP协议有两个版本, IPv4和IPv6. 我们整个的课程, 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4。IPv6其实是针对IPv4地址不足提出的解决方案目前世界上IPV6做的比较好的国家就是我们。 IP地址是在IP协议中, 用来标识网络中不同主机的地址;具有唯一性。对于IPv4来说, IP地址是一个4字节, 32位的整数;对于IPv6来说IP地址是一个16个字节128位的整数。我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255; 1.1.1源IP和目的IP 在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址用来表示这个数据是从哪台主机发出来的要发给哪一台主机。 1.2MAC地址 每一台连入网路的设备都必须需要网卡每一张网卡在出厂时都有一个唯一性的编号这个标号就是MAC地址。MAC同样具有全网内唯一性通常用于处于局域网中主机之间相互通信。 MAC地址长度为6个字节48个比特位。一般用16进制加上冒号的形式来表示例如 080027:33fd45。 1.3两套地址体系的区别 在Linux下查看ip地址和MAC地址的命令为 [userVM-8-5-centos ~]$ ifconfig在这张图片中展示的是Linux系统下通过ifconfig命令查看的网络配置信息特别是关于以太网接口eth0的详细配置。接下来我们分析一下这些内容 以太网接口eth0: 状态标志flags: 4163UP,BROADCAST,RUNNING,MULTICAST 表示该接口已启用UP、支持广播BROADCAST、正在运行RUNNING以及支持多播MULTICAST。MTU最小传输单元: mtu 1500 表示该接口的最大传输单元为1500字节这是以太网的标准MTU值。IPv4地址和子网掩码: inet 10.0.8.5 netmask 255.255.252.0 表示该接口的IPv4地址是10.0.8.5子网掩码是255.255.252.0用于确定IP地址的网络部分和主机部分。广播地址: broadcast 10.0.11.25 是该网络中的广播地址用于向同一子网内的所有设备发送数据包。IPv6地址和前缀长度: inet6 fe80::5054:ff:fe35:3d28 prefixlen 64 scopeid 0x20 表示该接口还配置了一个IPv6的链路本地地址前缀长度为64位。注意这里文本被截断但基本意思是明确的。MAC地址: ether 52:54:00:35:3d:28 是该接口的物理地址也称为MAC地址用于在链路层唯一标识网络接口。 接收RX和发送TX统计: 显示了接口接收和发送的数据包数量、字节数以及相关的错误统计如错误、丢弃、溢出等这些信息对于诊断网络性能问题非常有用。 环回接口lo: lo 是环回接口用于本机内部通信。它也有自己的IPv4和IPv6地址127.0.0.1和::1以及相应的接收和发送统计。 错误消息: 图片中并未直接显示明显的错误消息但提到了“RX errors 0 dropped 0 overruns 0 frame 0”和“TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0”这些值都为0表示在接收和发送过程中没有遇到错误、丢弃、溢出、帧错误、传输错误、丢弃、溢出、载波丢失或冲突。 接下来张三又上场了。张三买了一辆自行车他想挑战一下自己所以他觉定骑车从北京到上海。如图 北京是起点上海是终点。从北京到上海沿途要经过很过地方例如天津。 假如张三途中经过了天津然后然后不知道该往哪个方向走了边找个一个当地人说“你好我从北京来要骑自行车去上海来到了咱们这里不知道该怎么走了你可以帮帮我吗?”。这个当当地人便热情的对张三说:“你应该继续往西走然后二十公里处你再找人问问”。就这样张三又继续向西走了二十公里。然后又找了一个人问路路人得知他要去上海从西边来就告诉他应该转弯向南走。 张三口中有几套地址呢从哪来到哪去。到哪去是终极目标就是目的IP。从哪来是源IP。为我们未来的每个阶段提供方向目标方便路径选择。IP地址提供的是方向选择。上一站从哪来下一站到哪去。张三每到一处这个地址就会发生变化。像这种从一个节点跳转到下一个相邻的节点的地址我们称之为MAC地址。 如图所示跨网络数据进行传输时需要路由器。所以路由器必须要同时连接两个甚至多个局域网。数据该往哪个方向传输由IP地址决定。但是数据在长距离传输的过程中会经过多个路由节点相邻路由节点的选择由MAC地址决定。 2.端口号 IP公网IP地址决定网络中主机的唯一性。但是仅仅需要IP地址就可以实现数据的传输吗 打开快手刷视频时为什么视频资源可以准确的显示在快手APP页面而不是出现在微信APP页面呢 我们把数据从主机A传输到主机B是目的吗真正通信的不是这两个机器而是这两个机器上的应用(人)。但是有可能主机A上不止一个应用进程可能同时还会有其他的进程例如快手打开的同时微信也开着。那么用什么来标识客户端或者服务器主机进程的唯一性呢端口号 为了更好的表示一台主机上服务器进程或者客户端进程的唯一性我们采用端口号来标识主机上的不同进程。端口号保证主机唯一性即可即一台主机上一个端口号只能绑定一个进程不同主机上的相同端口号绑定的进程可以不同。 公网IP地址(标识主机全网唯一性)主机上的端口号表示该进程在全网中的唯一性 所以网络通信的本质就是进程间通信嘛其中的临界资源就是网络。 通信是在做什么通信不就是IO的过程嘛。所以我们所有的网络行为只有两种①从网络中接收数据②发送数据到网络中。 IP保证全网唯一port保证本机唯一。一个进程可以绑定多个端口号。 进程已经有pid了为什么还要有端口号呢 ①系统是系统网络是网络。做到互相解耦。维护成本低 ②一般都是客户端主动向服务器发送请求。需要客户端快速的找到服务器进程。决定了服务器的IP和端口不能随便改变。所以决定了不能使用轻易会改变的值。pid不太满足这个条件。 所以客户端向服务器发送消息时要不要把客户端的ip和端口号发给服务器呢要因为服务器还有将消息发回给客户端。这就决定了在发送数据时一定会多发一部分数据——以协议的形式呈现。 3.网络字节序 我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分, 磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分, 网络数据流同样有大端小端之分. 那么如何定义网络数据流的地址呢? 发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出;接收主机把从网络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到高的顺序保存;因此,网络数据流的地址应这样规定:先发出的数据是低地址,后发出的数据是高地址.TCP/IP协议规定,网络数据流应采用大端字节序,即低地址高字节.不管这台主机是大端机还是小端机, 都会按照这个TCP/IP规定的网络字节序来发送/接收数据;如果当前发送主机是小端, 就需要先将数据转成大端; 否则就忽略, 直接发送即可。 那么如果需要转化的话转化的过程需要谁来完成呢需要程序员自己来完成转换工作。当然操作系统也给我们提供了相应的接口我们调用即可。 接下来我们简单介绍一下这些接口 #include arpa/inet.huint32_t htonl(uint32_t hostlong);uint16_t htons(uint16_t hostshort);uint32_t ntohl(uint32_t netlong);uint16_t ntohs(uint16_t netshort);这些函数名很好记,h表示host,n表示network,l表示32位长整数,s表示16位短整数。 例如htonl表示将32位的长整数从主机字节序转换为网络字节序,例如将IP地址转换后准备发送。 如果主机是小端字节序,这些函数将参数做相应的大小端转换然后返回; 如果主机是大端字节序,这些 函数不做转换,将参数原封不动地返回。 网络套接字 4.套接字 IPport就可以表示一台主机的进程在网络中的唯一性其中IPPort合起来被称为网络套接字。 接下里我们先见一下关于网络套接字创建绑定端口使用的相关函数。 // 创建 socket 文件描述符 (TCP/UDP, 客户端 服务器) int socket(int domain, int type, int protocol); // 绑定端口号 (TCP/UDP, 服务器) int bind(int socket, const struct sockaddr *address, socklen_t address_len); // 开始监听socket (TCP, 服务器) int listen(int socket, int backlog); // 接收请求 (TCP, 服务器) int accept(int socket, struct sockaddr* address, socklen_t* address_len); // 建立连接 (TCP, 客户端) int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);套接字的种类其实是比较多的。有 网络套接字主要用于网络跨主机之间通信同时支持本地通信。原始套接字我们一般的套接字访问的都是传输层的接口原始套接字可以绕过传输层访问底层的数据和接口。Unix域间套接字只能够支持本地通信。 由于有三套不同的套接字所以按理来说操作系统要设计三套不同的接口分别对应三套不同的套接字。但是这对使用者来说简直是灾难使用者要同时掌握三套接口。所以为了方便使用操作系统进行了如下的设计 我们发现:struct sockaddr_in和struct sockaddr_un的接口不同这使用起来就很麻烦。所以操作系统就设计了struct sockaddr结构。在使用时就必须进行强制类型转换。 写到这里本篇博客的内容就结束了我们下期博客再见
http://www.dnsts.com.cn/news/148674.html

相关文章:

  • 网站浮动窗口代码广州注册公司流程
  • 网站推广策划书怎么说上海红酒网站建设
  • 家装公司排行榜长春百度搜索优化
  • 做教育机构网站湖南网站优化推广
  • 找团队做网站长春电商网站建设公司排名
  • 买别人做的网站能盗回吗东莞新感染一例阳性
  • 照片做视频的软件 模板下载网站前端外包公司
  • 南通网站推广公司做网站服务器
  • ...无锡网站制作虚拟主机搭建网站源码
  • 网页设计 网站网站建设方案图
  • html家乡网站设计深圳做网站的公司排行
  • 苏州网站推广软件个人网站备案成功后怎么做
  • 深圳外贸网站开发建设策划网站做营销推广
  • 大连门户网站开发深圳app网站开发
  • 建设网站的企业有哪些wordpress 为什么要ftp
  • 苏州市吴中区建设局网站开网站挣不挣钱
  • 图片制作二维码六年级下册数学优化设计答案
  • 网站建设工作总结食品网站建设方案
  • 网站改版公司哪家好网易企业邮箱收件服务器主机名
  • 免费建站网页无需登陆国外 网站 源码
  • 手机网站制作软件开发商网站
  • 怎么看网站创建者是谁域名申请网站
  • 设计网站公司长沙网站主机要多少钱
  • 做娱乐网站创意设计的英文
  • 为什么要学电商网站建设淘宝运营招聘
  • 关于建设官方网站的申请织梦做仿站时 为何会发生本地地址跳转网站地址
  • 菲律宾做网站滁州做网站电话号码
  • 北京市建设规划网站有哪些html网页设计的比赛
  • 网站乱码谷歌网站统计
  • 怎样建个人网站互联网服务平台是什么