成都网站建设开发价格中国网站设计

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

成都网站建设开发价格,中国网站设计,如何开发安卓app,p2p理财网站开发流程文章目录 1 网络层的两个层面2 网络协议IP2.1 虚拟互联网络2.2 IP地址2.2.1 固定分类编址方式2.2.2 无分类编制CIDR2.2.3 MAC地址和IP地址区别 2.3 地址解析协议ARP2.3.1 解析过程 2.4 IP数据报格式 3 IP层转发分组流程4 国际控制报文协议ICMP4.1 ICMP格式结构4.2 分类4.2.1 差… 文章目录 1 网络层的两个层面2 网络协议IP2.1 虚拟互联网络2.2 IP地址2.2.1 固定分类编址方式2.2.2 无分类编制CIDR2.2.3 MAC地址和IP地址区别 2.3 地址解析协议ARP2.3.1 解析过程 2.4 IP数据报格式 3 IP层转发分组流程4 国际控制报文协议ICMP4.1 ICMP格式结构4.2 分类4.2.1 差错报告报文4.2.2 询问报文 4.3 应用 以前人们想借鉴电信网电话网络成功的经验尝试采用虚电路服务让网络层负责可靠交付通信之前先建立虚电路。但是互联网的先驱者们提出让网络层尽可能简单即用网络层提供简单灵活的无连接的尽最大努力交付的数据报服务这是因为考虑到互联网的终端都是有智能的计算机而不是简单的电话所以终端有着很强的数据处理能力那么也就不需要网络层来进行这部分的可靠交付了。 后来多年的实践证明先驱者们的选择多么正确 1网络层简单使得网络中的路由器可以做得比较简单,价格低廉因而易于拓展便于大规模发展 2运行方式灵活能够适应多种应用 1 网络层的两个层面 两个主机通信的时候需要经过若干个路由器转发信息。 转发的信息实际就两大类一是传送的数据数据层面二是路由信息控制层面 数据层面的信息转发只需要查找本路由器的路由表把收到的分组从对应的接口发送出去数据部分直接硬件转发速度极快为纳秒数量级控制层面的信息转发路由器必须得经常和相邻的路由器交互路由信息更新自己的路由表所以更为复杂软件介入转发速度会慢了很多为秒数量级 2 网络协议IP IP是TCP/IP体系中最重要的两个协议之一 与IP协议配套使用的还有 地址解析协议ARP 网际控制报文协议ICMP 网际组管理协议 IGMP 如下图所示 我们会发现ICMPIGMP协议在IP的上方是因为这两个协议经常需要调用IP协议 而ARP协议在IP的下方是因为IP协议需要经常调用ARP协议 在讨论网际协议IP前必须先了解什么是虚拟互联网络 2.1 虚拟互联网络 我们知道网络是要将全世界五花八门的计算机互联在一起这就需要解决很多问题最首要的一个就是异构差异性 比如不同的寻址方案不同的组大分组长度比如不同的差错控制方案等等一大堆。 那么该怎么办呢 先驱者们提出在网络层通过IP协议来进行统一就是不管你其他层的协议是什么我的网络层大家都用IP协议这样仿佛在网络层看起来是一个统一的网络也就叫做我们的虚拟互联网络。 所以大家可以感受到IP协议的重要性了吧之前我们讲的一些协议可能通用性并没有那么强但IP是互联网每一个用户都得遵守的boss rules 一个在互联网上的设备必须有IP地址才能与其他设备进行通信接下来我们来了解IP地址 2.2 IP地址 整个因特网看成是一个单一的抽象的网络 IP地址就是给每一个连接在因特网上的主机分配一个在全世界范围是唯一的32位的标识符 2.2.1 固定分类编址方式 IP地址由网络号和主机号组成又叫做两级IP——网络号主机号 ​ 网络号表示着主机所连接到的网络主机号表示该主机对路由器的话是路由器 最开始的时候采用固定分类的IP地址即网络号的位数是固定的8位A类,16位B类和24位C类 如何区分不同类别的地址呢通过网络号的前缀如下图 对于A类地址是网络号为8位的 ​ 总地址空间 2 31 2^{31} 231个 接近43亿 ​ 网络号个数由于A类地址网络号有7位所以A类地址可以分配的网络号个数 2 7 − 2 126 个 2^7-2126个 27−2126个这里为什么要减去2呢因为0000 000的网络号有特殊含义代表“本网络”0111 1111的网络号代表环回测试 ​ 主机号个数 2 24 − 2 2^{24}-2 224−2 为什么这里还要减2呢因为全0是本网络全1是所有的广播 对于B类地址是网络号为16位的 ​ 总地址空间 2 30 2^{30} 230个 ​ 网络号个数 2 14 2^{14} 214 ​ 主机号个数 2 16 − 2 2^{16}-2 216−2 对于C类地址是网络号为24位的 ​ 总地址空间 2 29 2^{29} 229个 ​ 网络号个数 2 21 2^{21} 221 ​ 主机号个数 2 8 − 2 2^{8}-2 28−2 以上A,B,C类都是单播地址而D类地址是多播地址 这样的好处是简单看前缀就知道什么类型的地址了 缺点是使用不灵活的问题 2.2.2 无分类编制CIDR 于是采用更为灵活的CIDR 上一个网络号位数是由类别决定的每一个类别网络号位数是固定的而CIDR的网络号位数是由掩码决定的是可变的 之前的网络号在CIDR里更名为网络前缀 网络前缀可以通过斜线数字表示如/20 比如IP 128.14.32.720 我们可以知道 网络前缀20位那么主机号30-2012位 人为可以看斜线数字计算机怎么知道有多少位网络前缀呢 通过子网掩码 如上述IP 128.14.32.7/20有20个并列的1,12个并列的0组成掩码 其中1的个数代表网络号个数0的个数代表主机号个数 我们将IP地址和子网掩码按位与可以得到网络地址 有三个比较特殊的地址块 1 前缀n32用于主机路由 2 前缀n31用于点对点路由 3 前缀n0且所有主机号为0用于默认路由 这些用途后面讲到 路由聚合——用较大的CIDR块替代较小的CIDR块减少查找转发表的时间 2.2.3 MAC地址和IP地址区别 MAC地址是物理地址硬件实现在数据链路层MAC帧首部 IP地址是逻辑地址软件实现在网络层IP数据报首部 假设从A1到B1途径R1R2两个路由器 IP数据报都不变即IP首地址和源地址都是A1,B1 但MAC帧的首地址尾地址会发生变化一开始A1R1然后R1R2…… 特殊IP地址 点分十进制记法 IP编址可以解决世界各地网络硬件地址差异大转换工作复杂的问题 网络地址转换过程 ​ 离开专用网的时候替换源地址将内部地址替换为全球地址 ​ 进入专用网的时候替换目的地址将全球地址替换为内部地址 现在有一个问题就是我们已经知道IP了那么计算机怎么知道对应的MAC地址呢 这就涉及到地址解析协议ARP 2.3 地址解析协议ARP 已经知道了一个机器主机或路由器的IP地址如何找出其响应的硬件地址 地址解析协议ARP就是用来解决这个问题的 方法每一个主机都设有一个ARP高速缓存ARP cache作用存放最近获得的IP地址绑定的MAC地址减少ARP广播数量这里面存有所在局域网上的各个主机和路由器IP地址到硬件地址的映射表 IP address; MAC address; TTL TTL:地址映射有效时间 我们可以查看自己的电脑的ARP高速缓存命令 arp -a|more 2.3.1 解析过程 先在ARP高速缓存中查看有无主机B的IP地址 ​ 如果有就可查出对应的硬件地址再将此硬件地址写入MAC帧然后通过局域网将该硬件地址写入MAC帧然后通过局域网发往硬件地址 ​ 如果没有ARP进程在本局域网上广播发送一个ARP请求分组收到ARP响应分组后将得到的IP地址到硬件地址的映射写入ARP高速缓存 ​ 不在同一个局域网的话则交给一个路由器 ​ 解析是自动进行的 2.4 IP数据报格式 首部和数据部组成首部是固定长度共20字节是所有IP数据报必须拥有的 首部的固定部分的后面是一些可选字段其长度是可以变的 固定字段的常见内容如下 版本首部长度区分服务总长度标识标志 3 IP层转发分组流程 显示本机路由表 route print -4 IP层后转发分组都只找网络前缀了这样就可以找到目的网络因为直接如果找到主机号的地步会需要大量的内容主机数目实在太大了查找过程就会非常缓慢…… 所以就找前缀相同看看是不是本网络如果不是的话则通过端口转发。如果有多个匹配的前缀那么则选取最长的前缀 核心算法默认前缀按长到短排序 1 从数据报首部提取目的主机的IP地址D得出目的网络的地址N 2 若网络N与此路由器直接相连则把数据报直接交付目的主机D否则是间接交付。执行3 3 若路由表中有目的地址为D的特定主机路由则把数据报传送给路由表中下一跳的路由器否则执行4 4 若路由表中有目的网络地址N的路由则把数据报传送给路由表中下一跳的路由器否则执行4 5 若路由表中有一个默认路由则把数据报传送给路由表中指明的默认路由器否则执行6 6 报告转发分组出错 特殊的路由 ​ 主机路由和默认路由 而为了加快查找表的查找过程又可以使用二叉线索查找转发表 为了更有效地转发IP数据报并且提高交付机会使用ICMP协议 使用ICMP后就可以运行主机或者路由器报告差错情况和提供有关异常情况的报告 4 国际控制报文协议ICMP 提高IP数据报的交付成功机会允许主机或路由器报告差错情况和提供有关异常情况的报告但是不是高层协议ICMP报文是装到IP数据报的数据部分中的 是IP层协议 4.1 ICMP格式结构 ICMP报文的前四个字节是统一的格式共有3个字段即类型、代码、检验和 ICMP的应用举例 Ping traceroute 4.2 分类 4.2.1 差错报告报文 在如下情况发送ICMP报文 ​ 终点不可达 ​ 源点抑制 ​ 时间超过 ​ 参数问题 ​ 改变路由重定向 4.2.2 询问报文 ICMP报文的 4.3 应用 用ping命令测两个主机的连通性其中ping是应用层直接使用网络层ICMP的一个例子 另一个例子是LInux的traceroute Windows下是tracert可以知道到目的主机所经过路由器的IP地址