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

云南省建设厅网站网站空间送数据库

云南省建设厅网站,网站空间送数据库,深圳网页设计兴田德润实惠,做网站还有钱赚吗TCP/IP 协议栈是一系列网络协议的总和#xff0c;是构成网络通信的核心骨架#xff0c;它定义了电子设备如何连入因特网#xff0c;以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构#xff0c;分别是应用层、传输层、网络层和链路层#xff0c;每一层都呼叫它的下…TCP/IP 协议栈是一系列网络协议的总和是构成网络通信的核心骨架它定义了电子设备如何连入因特网以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构分别是应用层、传输层、网络层和链路层每一层都呼叫它的下一层所提供的协议来完成自己的需求。由于我们大部分时间都工作在应用层下层的事情不用我们操心其次网络协议体系本身就很复杂庞大入门门槛高因此很难搞清楚TCP/IP的工作原理通俗一点讲就是一个主机的数据要经过哪些过程才能发送到对方的主机上。 接下来我们就来探索一下这个过程。 0、物理介质 物理介质就是把电脑连接起来的物理手段常见的有光纤、双绞线以及无线电波它决定了电信号(0和1)的传输方式物理介质的不同决定了电信号的传输带宽、速率、传输距离以及抗干扰性等等。 TCP/IP协议栈分为四层每一层都由特定的协议与对方进行通信而协议之间的通信最终都要转化为 0 和 1 的电信号通过物理介质进行传输才能到达对方的电脑因此物理介质是网络通信的基石。 下面我们通过一张图先来大概了解一下TCP/IP协议的基本框架 当通过http发起一个请求时应用层、传输层、网络层和链路层的相关协议依次对该请求进行包装并携带对应的首部最终在链路层生成以太网数据包以太网数据包通过物理介质传输给对方主机对方接收到数据包以后然后再一层一层采用对应的协议进行拆包最后把应用层数据交给应用程序处理。 网络通信就好比送快递商品外面的一层层包裹就是各种协议协议包含了商品信息、收货地址、收件人、联系方式等然后还需要配送车、配送站、快递员商品才能最终到达用户手中。 一般情况下快递是不能直达的需要先转发到对应的配送站然后由配送站再进行派件。 配送车就是物理介质配送站就是网关 快递员就是路由器收货地址就是IP地址联系方式就是MAC地址。  快递员负责把包裹转发到各个配送站配送站根据收获地址里的省市区确认是否需要继续转发到其他配送站当包裹到达了目标配送站以后配送站再根据联系方式找到收件人进行派件。   有了整体概念以后下面我们详细了解一下各层的分工。 1、链路层 网络通信就是把有特定意义的数据通过物理介质传送给对方单纯的发送 0 和 1 是没有意义的要传输有意义的数据就需要以字节为单位对 0 和 1 进行分组并且要标识好每一组电信号的信息特征然后按照分组的顺序依次发送。以太网规定一组电信号就是一个数据包一个数据包被称为一帧 制定这个规则的协议就是以太网协议。一个完整的以太网数据包如下图所示 整个数据帧由首部、数据和尾部三部分组成首部固定为14个字节包含了目标MAC地址、源MAC地址和类型数据最短为46个字节最长为1500个字节如果需要传输的数据很长就必须分割成多个帧进行发送尾部固定为4个字节表示数据帧校验序列用于确定数据包在传输过程中是否损坏。因此以太网协议通过对电信号进行分组并形成数据帧然后通过物理介质把数据帧发送给接收方。那么以太网如何来识接收方的身份呢 以太网规协议定接入网络的设备都必须安装网络适配器即网卡 数据包必须是从一块网卡传送到另一块网卡。而网卡地址就是数据包的发送地址和接收地址也就是帧首部所包含的MAC地址MAC地址是每块网卡的身份标识就如同我们身份证上的身份证号码具有全球唯一性。MAC地址采用十六进制标识共6个字节 前三个字节是厂商编号后三个字节是网卡流水号例如 4C-0F-6E-12-D2-19 有了MAC地址以后以太网采用广播形式把数据包发给该子网内所有主机子网内每台主机在接收到这个包以后都会读取首部里的目标MAC地址然后和自己的MAC地址进行对比如果相同就做下一步处理如果不同就丢弃这个包。 所以链路层的主要工作就是对电信号进行分组并形成具有特定意义的数据帧然后以广播的形式通过物理介质发送给接收方。 2、网络层 对于上面的过程有几个细节问题值得我们思考 发送者如何知道接收者的MAC地址 发送者如何知道接收者和自己同属一个子网 如果接收者和自己不在同一个子网数据包如何发给对方 为了解决这些问题网络层引入了三个协议分别是IP协议、ARP协议、路由协议。 【1】IP协议 通过前面的介绍我们知道MAC地址只与厂商有关与所处的网络无关所以无法通过MAC地址来判断两台主机是否属于同一个子网。 因此网络层引入了IP协议制定了一套新地址使得我们能够区分两台主机是否同属一个网络这套地址就是网络地址也就是所谓的IP地址。 IP地址目前有两个版本分别是IPv4和IPv6IPv4是一个32位的地址常采用4个十进制数字表示。IP协议将这个32位的地址分为两部分前面部分代表网络地址后面部分表示该主机在局域网中的地址。由于各类地址的分法不尽相同以C类地址192.168.24.1为例其中前24位就是网络地址后8位就是主机地址。因此 如果两个IP地址在同一个子网内则网络地址一定相同。为了判断IP地址中的网络地址IP协议还引入了子网掩码 IP地址和子网掩码通过按位与运算后就可以得到网络地址。 由于发送者和接收者的IP地址是已知的(应用层的协议会传入) 因此我们只要通过子网掩码对两个IP地址进行AND运算后就能够判断双方是否在同一个子网了。 【2】ARP协议 即地址解析协议是根据IP地址获取MAC地址的一个网络层协议。其工作原理如下 ARP首先会发起一个请求数据包数据包的首部包含了目标主机的IP地址然后这个数据包会在链路层进行再次包装生成以太网数据包最终由以太网广播给子网内的所有主机每一台主机都会接收到这个数据包并取出标头里的IP地址然后和自己的IP地址进行比较如果相同就返回自己的MAC地址如果不同就丢弃该数据包。ARP接收返回消息以此确定目标机的MAC地址与此同时ARP还会将返回的MAC地址与对应的IP地址存入本机ARP缓存中并保留一定时间下次请求时直接查询ARP缓存以节约资源。cmd输入 arp -a 就可以查询本机缓存的ARP数据。 【3】路由协议 通过ARP协议的工作原理可以发现ARP的MAC寻址还是局限在同一个子网中因此网络层引入了路由协议首先通过IP协议来判断两台主机是否在同一个子网中如果在同一个子网就通过ARP协议查询对应的MAC地址然后以广播的形式向该子网内的主机发送数据包如果不在同一个子网以太网会将该数据包转发给本子网的网关进行路由。网关是互联网上子网与子网之间的桥梁所以网关会进行多次转发最终将该数据包转发到目标IP所在的子网中然后再通过ARP获取目标机MAC最终也是通过广播形式将数据包发送给接收方。 而完成这个路由协议的物理设备就是路由器在错综复杂的网络世界里路由器扮演者交通枢纽的角色它会根据信道情况选择并设定路由以最佳路径来转发数据包。 【4】IP数据包 在网络层被包装的数据包就叫IP数据包IPv4数据包的结构如下图所示 IP数据包由首部和数据两部分组成首部长度为20个字节主要包含了目标IP地址和源IP地址目标IP地址是网关路由的线索和依据数据部分的最大长度为65515字节理论上一个IP数据包的总长度可以达到65535个字节而以太网数据包的最大长度是1500个字符如果超过这个大小就需要对IP数据包进行分割分成多帧发送。 所以网络层的主要工作是定义网络地址区分网段子网内MAC寻址对于不同子网的数据包进行路由。 3、传输层 链路层定义了主机的身份即MAC地址 而网络层定义了IP地址明确了主机所在的网段有了这两个地址数据包就从可以从一个主机发送到另一台主机。但实际上数据包是从一个主机的某个应用程序发出然后由对方主机的应用程序接收。而每台电脑都有可能同时运行着很多个应用程序所以当数据包被发送到主机上以后是无法确定哪个应用程序要接收这个包。 因此传输层引入了UDP协议来解决这个问题为了给每个应用程序标识身份UDP协议定义了端口同一个主机上的每个应用程序都需要指定唯一的端口号并且规定网络中传输的数据包必须加上端口信息。 这样当数据包到达主机以后就可以根据端口号找到对应的应用程序了。UDP定义的数据包就叫做UDP数据包结构如下所示 UDP数据包由首部和数据两部分组成首部长度为8个字节主要包括源端口和目标端口数据最大为65527个字节整个数据包的长度最大可达到65535个字节。 UDP协议比较简单实现容易但它没有确认机制 数据包一旦发出无法知道对方是否收到因此可靠性较差为了解决这个问题提高网络可靠性TCP协议就诞生了TCP即传输控制协议是一种面向连接的、可靠的、基于字节流的通信协议。简单来说TCP就是有确认机制的UDP协议每发出一个数据包都要求确认如果有一个数据包丢失就收不到确认发送方就必须重发这个数据包。 为了保证传输的可靠性TCP 协议在 UDP 基础之上建立了三次对话的确认机制也就是说在正式收发数据前必须和对方建立可靠的连接。由于建立过程较为复杂我们在这里做一个形象的描述 主机A我想发数据给你可以么 主机B可以你什么时候发 主机A我马上发你接着 经过三次对话之后主机A才会向主机B发送正式数据而UDP是面向非连接的协议它不与对方建立连接而是直接就把数据包发过去了。所以 TCP 能够保证数据包在传输过程中不被丢失但美好的事物必然是要付出代价的相比 UDPTCP 实现过程复杂消耗连接资源多传输速度慢。 TCP 数据包和 UDP 一样都是由首部和数据两部分组成唯一不同的是TCP 数据包没有长度限制理论上可以无限长但是为了保证网络的效率通常 TCP 数据包的长度不会超过IP数据包的长度以确保单个 TCP 数据包不必再分割。 总结一下传输层的主要工作是定义端口标识应用程序身份实现端口到端口的通信TCP协议可以保证数据传输的可靠性。 4、应用层 理论上讲有了以上三层协议的支持数据已经可以从一个主机上的应用程序传输到另一台主机的应用程序了但此时传过来的数据是字节流不能很好的被程序识别操作性差。因此应用层定义了各种各样的协议来规范数据格式常见的有 HTTP、FTP、SMTP 等HTTP 是一种比较常用的应用层协议主要用于B/S架构之间的数据通信其报文格式如下 在 Resquest Headers 中Accept 表示客户端期望接收的数据格式而 ContentType 则表示客户端发送的数据格式在 Response Headers 中ContentType 表示服务端响应的数据格式这里定义的格式一般是和  Resquest Headers 中 Accept 定义的格式是一致的。 有了这个规范以后服务端收到请求以后就能正确的解析客户端发来的数据当请求处理完以后再按照客户端要求的格式返回客户端收到结果后按照服务端返回的格式进行解析。 所以应用层的主要工作就是定义数据格式并按照对应的格式解读数据。 5、全流程 首先我们梳理一下每层模型的职责 链路层对0和1进行分组定义数据帧确认主机的物理地址传输数据网络层定义IP地址确认主机所在的网络位置并通过IP进行MAC寻址对外网数据包进行路由转发传输层定义端口确认主机上应用程序的身份并将数据包交给对应的应用程序应用层定义数据格式并按照对应的格式解读数据。 然后再把每层模型的职责串联起来用一句通俗易懂的话讲就是 当你输入一个网址并按下回车键的时候首先应用层协议对该请求包做了格式定义紧接着传输层协议加上了双方的端口号确认了双方通信的应用程序然后网络协议加上了双方的IP地址确认了双方的网络位置最后链路层协议加上了双方的MAC地址确认了双方的物理位置同时将数据进行分组形成数据帧采用广播方式通过传输介质发送给对方主机。而对于不同网段该数据包首先会转发给网关路由器经过多次转发后最终被发送到目标主机。目标机接收到数据包后采用对应的协议对帧数据进行组装然后再通过一层一层的协议进行解析最终被应用层的协议解析并交给服务器处理。 6、总结 以上内容是对TCP/IP四层模型做了简单的介绍而实际上每一层模型都有很多协议每个协议要做的事情也很多但我们首先得有一个清晰的脉络结构掌握每一层模型最基本的作用然后再去丰富细枝末节的东西也许会更容易理解
http://www.pierceye.com/news/967067/

相关文章:

  • iis 手机网站同域名网站改版需要把之前网站里的文章都拷贝过来吗?
  • 网站是专门对生活中的一些所谓常识做辟谣的商标设计网站排行
  • seo网站设计营销工具抽奖网站插件
  • 家装设计网站大全网站建设用哪个好
  • 青海企业网站建设企业建设网
  • 电子商务网站环境建设怎么劝客户做网站
  • 山西教育学会的网站建设网站投放广告教程
  • 游戏网站的设计方案做装修业务呢有多少网站
  • 口碑好网站建设公司电话百度联盟网站备案信息
  • 网站建设排行公司建筑网页设计详情
  • 德国的网站后缀技术支持 东莞网站建设母婴护理
  • 彩票娱乐网站建设wordpress 邮件推送
  • 如何申请网站备案如何选择邯郸做网站
  • 专注做一家男生最爱的网站北京旅游设计网站建设
  • c 做网站凡科网站免费版怎么做
  • 门户网站开发多少钱wordpress主题文章页面不显示
  • 网站建设丶金手指下拉13个人网站有什么用
  • 企业网站建设解决方案wordpress搜索不了中文linux
  • 怎样在网站上做有效的广告投放手机网站公司哪家好
  • 四川德行天下建设工程有限公司网站ie兼容所有网站
  • 网站seo诊断免费php源码网
  • 微信公众号商城网站开发湖南省新闻最新消息十条
  • 如何做网站家具导购做哈尔滨本地门户网站赚钱吗
  • 建立网站的步骤有哪些wordpress 主题
  • 网站功能建设中页面个体户做网站有用吗
  • 网站建设具体要求wordpress启用注册
  • 重庆好的网站建设公司车辆管理网站开发
  • 十大SEO网站外链建设误区城乡住房建设部网站保证金
  • 自己做一元夺宝网站dede 管理多个网站
  • 做app还是做微网站好聚美网站开发开题报告