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

北京网站建设公司价格最近中文字幕2018免费版2019

北京网站建设公司价格,最近中文字幕2018免费版2019,中国建筑网官网平台,wordpress怎么用一、七层#xff1f;四层#xff1f; 1.为什么需要协议#xff1f;2.OSI七层模型是干什么的#xff1f;3.TCP/IP四层#xff08;参考#xff09;模型4.TCP/IP#xff08;参考#xff09;模型与OSI七层模型有什么异同#xff1f; 二、自底向上的网络分层 1. 物理层2…一、七层四层 1.为什么需要协议2.OSI七层模型是干什么的3.TCP/IP四层参考模型4.TCP/IP参考模型与OSI七层模型有什么异同 二、自底向上的网络分层 1. 物理层2. 数据链路层 ①定义②以太网协议③MAC地址④广播 3. 网络层 ①IP协议②子网掩码③路由/路由器/网关/交换机 路由 routing路由器Router网关Gateway网络交换机Network switch举个栗子 ④ARP协议 4. 传输层 ①端口号②Socket 那么Socket是什么 ③UDP/TCP协议 5. 应用层 ①用户的上网设置②DNS解析 三、自顶向下的数据包结构 1.应用层数据包2.传输层数据包TCP/UDP数据包3.网络层数据包IP数据包4.数据链路层数据包以大网数据包 服务端响应 一、七层四层 OSI模型Open System Interconnection Reference Model缩写为OSI,全名“开放式系统互联通信参考模型”是一个试图使各种计算机在全世界范围内互联为网络的标准框架。1983年国际标准组织ISO发布了著名的ISO/IEC 7498标准它定义了网络互联的7层框架也就是开放式系统互联参考模型。链接需自搭梯子 1.为什么需要协议 什么是协议protocol通俗的来讲协议是一种双方都明白或者必须遵守的事先约定比如说长城上放狼烟是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号。这样一个“狼烟敌人入侵”就是一个简单的协议。协议可以更复杂比如摩尔斯码(Morse Code)使用短信号和长信号的组合来代表不同的英文字母。   同样计算机之间的通信也要遵循不同层次的协议来实现计算机的通信。早期的计算机网络都是由各厂商自己规定一套协议IBMApple和MicroSoft都有自己的网络协议比如MicroSoft的两台电脑用网线连起来互相说话能听懂。但是MicroSoft和Apple的电脑连接起来说话就听不懂了想想你和我微信聊天我是MicroSoft电脑你是Apple电脑你发送的消息到我这里显示不了或者解析成另一个意思这样通讯就不能进行了通过上面的图我们可以看到表示层就是消除不同设备之间固有数据格式差异的。   为了把全世界的所有不同类型的计算机都连接起来就必须规定一套全球通用的协议为了实现这个目标互联网协议簇Internet Protocol Suite就成为了通用协议标准。互联网协议包含了上百种协议但是最重要的两个协议是TCP和IP协议而我们通常把基于TCP和IP协议的所有协议统称为”TCP/IP协议蔟”。 2.OSI七层模型是干什么的 互联网的实现分成好几层每一层都有自己的功能就像建筑物一样每一层都靠下一层支持。我们在上图中已经大致标出了每一层的功能。OSI模型就是这样的一个分层它是一个由国际标准化组织提出的概念模型,试图提供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架。它将计算机网络体系结构划分为七层每层都可以提供抽象良好的接口。 3.TCP/IP四层参考模型 TCP/IP和OSI模型组并不能精确的匹配但是我们可以尽可能的参考OSI模型并在其中找到TCP/IP的对应位置。如上图所示我们已经标出了TCP/IP对应的四层位置所在。通常人们认为OSI模型最上面三层应用层、表示层、会话层在TCP/IP中是一个应用层。由于TCP/IP有一个相对比较弱的会话层由TCP和RTP下的打开和关闭连接组成并在TCP/UDP下的各种应用提供不同的端口号这些功能被单个的应用程序添加。 4.TCP/IP参考模型与OSI七层模型有什么异同 前面我们说过TCP/IP协议是互联网协议簇的统称他是互联网标准通信的基础它提供点对点的链接机制将数据应该如何封装、定址、传输、路由以及在目的地如何接收都加以标准化。而OSI模型是开放式系统互联通信参考模型——笔者的理解是   OSI是一个完整的、完善的宏观模型他包括了硬件层物理层当然也包含了很多上面途中没有列出的协议(比如DNS解析协议等)而TCP/IP参考模型更加侧重的是互联网通信核心也是就是围绕TCP/IP协议展开的一系列通信协议的分层因此它不包括物理层以及其他一些不想干的协议其次之所以说他是参考模型是因为他本身也是OSI模型中的一部分因此参考OSI模型对其分层。 二、自底向上的网络分层 1. 物理层 电脑要组网第一件事要干什么当然是先把电脑连起来可以用光缆、电缆、双绞线、无线电波WiFi等方式。物理层的作用就是通过物理手段把电脑连接起来它主要规定了网络的一些电气特性作用是负责传送0和1的电信号。   这里说一下通过物理手段将设备连接起来组网物理手段就是光缆、电缆、双绞线、无线电波WiFi等比如中美之间的网络通信是通过海底光缆两个不同的局域网电信的网络和移动的网络通讯嗯稍微麻烦点我的电信手机先连上电信的服务器你的移动手机连移动服务器他们两个ISPInternet Service Provider 互联网服务提供商之间是通过物理手段链接的这样我们就能够间接的实现通讯了。下图是2015年全球互联网跨国通信光缆的连接情况 可以看到图中各个密密麻麻的线就是各个国家的链接情况所以互联网可以说就是用物理设备将各个“局域网”相连组成的更大的“局域网“更大局域网层层相连最终就组成了”互联网“比如小的互联网就是你家和我家的WiFi,一个省的每户家庭的WiFi组成这个省的局域网各个省的局域网组成中国的局域网各个国家之间的局域网通过物理手段互联就组成了横跨世界的”互联网“当然天朝还有一堵墙。 2. 数据链路层 ①定义 物理层就是传输电路的0和1信号的但是单纯的0和1没有意义必须规定解读方式多少个0和1算一组每个信号有什么意义 ——这就是链路层的意义它在物理层的上方确定了0和1的分组方式。 ②以太网协议 早些时候各个公司都有自己的电信号分组方式后来出现了“以太网”这种协议逐渐占据了主导的地位。“以太网”规定一组电信号构成一个数据包叫做“帧Frame”每一帧分成两个个部分标头Head和数据Data。   因此数据链路层链路层的数据包就叫“以太网数据包”他由“标头”和“数据”两部分组成——其中“标头”包含数据包的一些说明项比如发送者、接受者、数据类型等等。 ③MAC地址 上面我们提到以太网数据包的“标头”包含了发送者和接受者的信息那么发送者和接受者是如何标识的呢 以太网规定连入网络的所有设备都必须具有“网卡”接口。数据包必须是从一块网卡传送到另一块网卡网卡的地址就是数据包的发送地址和接受地址也叫MAC地址。每块网卡出厂的时候都有全世界独一无二的MAC地址长度是48位的二进制通常用12个十六进制数表示。前6个十六进制是厂商编号后6个是该厂商的网卡流水号有了MAC地址就可以定位网卡和数据包的路径了。 ④广播 定义地址只是第一步后面还有更多步骤——首先一块网卡怎么只带另一块网卡的MAC地址回答是有一种ARP协议可以解决这个问题。这个留到后面介绍这里只需要知道以太网数据包必须知道接收方的MAC地址然后才能发送。   其次就算有了MAC地址系统怎样才能把数据包准确送到接收方回答是以太网采用了一种很原始的广播式的方式它不是把数据包准确送到接收方而是向本网络局域网内所有计算机发送让每台计算机自己判断是否为接收方。   一台计算机向本局域网内的所有电脑均发送相同的数据包其他计算机收到这个数据包之后会读取这个数据包的“标头”找到其中接收方目标方的MAC地址然后与自身的MAC地址进行比对如果两者相同说明就是要发给自己的然后接受这个包并做出进一步的处理否则丢弃这个包。这种发送方式就叫“广播”主要通过分组交换机或者网络交换机进行。 3. 网络层 根据上面的讲解理论上依靠MAC地址和广播技术上海的网卡发出的数据包就可以找到洛杉矶网卡了——但是如果全世界的计算机都这么干那么每一台计算机发出的数据包都同步广播到全世界其他电脑再一一比对判断这样显然是低效、不现实的。   因此上面我们强调广播是在发送者所在的局域网内广播的不同也就是说如果两台计算机没有在同一个子网局域网内是无法通过广播直接传过去的。前面我们说过互联网是由一个个子网组成的更大的子网一级一级组网最终构成的互联网。   因此我们必须找到一种方法区分哪些MAC地址属于同一个子网。如果是同一个子网就采用广播的形式如果不是则采用“路由”的方式后面会讲发送——这就导致了网络层的出现他的作用是引入一套新的地址使我们能够区分哪些计算机属于同一个子网这个套机制就叫做“网络地址”也就是“IP地址”。 ①IP协议 规定网络地址的协议叫IP协议。他定义的地址就叫做“IP地址”。IP地址目前有IPV4(Internet Protocol version 4IPv4)和IPV6(Internet Protocol version 4IPv6)两版又称“互联网通信协议第四/六版”。2011年IANA IPv4 pool地址完全用尽时IPv6仍处在部署的初期因此IPV4地址也是目前最为广泛的IP地址——这个版本规定网络地址由32个二进制位组成,习惯上我们分成四段十进制数表示IPV4地址从0.0.0.0到255.255.255.255。 **互联网上的每一台计算机都会被分配到一个IP地址这个地址由两部分组成前一部分代表网络后一部分代表主机又称终端系统end system。**比如IP地址172.16.254.1这是一个32位的地址假定它的网络部分是前24位172.16.254那么主机部分就是后8位最后的那个1。处于同一个子网络的电脑它们IP地址的网络部分必定是相同的也就是说172.16.254.2应该与172.16.254.1处在同一个子网络而后面的“2”与“1”则是同一子网内两台不同电脑主机的编号。 ②子网掩码 问题在于单单从IP地址我们无法判断网络部分。还是以172.16.254.1为例它的网络部分到底是前24位还是前16位甚至前28位从IP地址上是看不出来的。那么怎样才能从IP地址判断两台计算机是否属于同一个子网络呢这就要用到另一个参数**“子网掩码”subnet mask。   所谓子网掩码就是表示子网络特征的一个参数。它在形式上等同于IP地址也是一个32位二进制数字它的网络部分全部为1主机部分全部为0。比如IP地址172.16.254.1如果已知网络部分是前24位主机部分是后8位那么子网络掩码就是11111111.11111111.11111111.00000000写成十进制就是255.255.255.0。   知道子网掩码我们就能判断任意两个IP地址是否处在同一个子网络。方法是将两个IP地址与子网掩码分别进行AND运算两个数位都为1运算结果为1否则为0然后比较结果是否相同如果是的话就表明它们在同一个子网络中否则就不是。** ③路由/路由器/网关/交换机 上面我们已经确定了两台计算机是否遭同一个子网中如果在则采用广播MAC寻址的的方式发送数据包如果不是则要采用“路由”的方式了那么什么是“路由”呢 路由 routing 就是通过互联的网络把信息从源地址传输到目的地址的活动。路由引导分组转送经过一些中间的节点后到它们最后的目的地。 从“路由”的定义中可以看到“路由”是一种活动一种动作一种行为作用是是将信息从原地址传输到目的地址比较特殊的是原地址和目标地址是在两个不同的子网中的。那么如何传输呢路由定义一条路径经过因特网发送包到另一网络上的地址但路由不定义完全路径只定义从主机到可以将包转发到目的地的网关子网间的路径段或从一个子网到另一个子网。 路由器Router 简单理解就是实现路由功能的机器。路由器连接两个或多个网络并提供路由功能。 前面我们说过网卡是计算机的一个硬件它在接收到网路信息之后将信息交给计算机。当计算机需要发送信息的时候也要通过网卡发送。**一台计算机可以有不只一个网卡比如笔记本就有一个以太网卡和一个WiFi网卡。**计算机在接收或者发送信息的时候要先决定想要通过哪个网卡。路由器(router)可以通俗理解为一台配备有多个网卡的专用电脑它让网卡接入到不同的网络中。 网关Gateway 是路由器的一种通常我们把网络层使用的路由器称为网关路由器可以在网络接口级或物理级路由网关是在网络层上路由个人感觉应该是一种概念即在网络层连节两个子网的概念并不存在实体真正实现路由功能还是得靠路由器。   说的再通俗一点路由器上面有MAC地址和MAC地址对应的IP而网关由于是网络层的概念因此只有IP地址。在今天很多局域网采用都是路由来接入网络因此现在通常指的网关就是路由器的IP。   另外需要强调一点虽然路由器上面有MAC地址和IP地址但它并不能通过MAC地址工作必须通过IP寻址。因此它是工作在网络层的设备。 网络交换机Network switch 是一个扩大网络的器材能为子网中提供更多的连接端口以便连接更多的电脑。交换机与路由器的区别 工作层次不同 交换机主要工作在数据链路层第二层 路由器工作在网络层第三层。转发依据不同 交换机转发所依据的对象是MAC地址。物理地址 路由转发所依据的对象是IP地址。网络地址主要功能不同 交换机主要用于组建局域网连接同属于一个(广播域)子网的所有设备负责子网内部通信广播。 路由主要功能是将由交换机组好的局域网相互连接起来或者将他们接入Internet。 交换机能做的路由都能做。 交换机不能分割广播域子网路由可以。 路由还可以提供防火墙的功能。 路由配置比交换机复杂。 这里我们还是需要说明一点 交换机虽然主要依靠MAC地址查找工作在数据链路层但是他也可以有IP地址这样就可以进行远程登录等操作了。LAN全称Local Area Network中文名叫做局域网WAN全称Wide Area Network中文名叫做广域网。WAN是一种跨越大的、地域性的计算机网络的集合。通常跨越省、市甚至一个国家。广域网包括大大小小不同的子网子网可以是局域网也可以是小型的广域网WLAN全称Wireless LAN, 无线局域网通俗点讲就是WiFi。家用的路由器一般包括了交换机和路由器因此他有两个接口——WAN端口用于连接至InternetLAN端口用于连接至局域网设备。 举个栗子 上面说了这么多了我们来举个例子——比如下图中位于中间位置的路由器有两个接口IP地址分别为199.165.145.15和199.165.146.3。它们分别接入到两个网络199.165.145和199.165.146。 显然199.165.145和199.165.146是两个不同的子网他们通过中间的路由器连接节这个路由器有两个网卡——199.165.145.17和199.165.146.3。   现在考虑一种情况我们从主机145.17生成发送到146.21的IP包: 第一步   先写好数据包的标头即写清楚发送者的IP地址199.165.145.15和接受者的IP地址199.165.146.21145.15会参照自己的路由表routing table里面有两行记录当然实际的路由表肯定远远超过两条记录 第一行表示如果IP目的地是199.165.145.0这个网络中的主机那么说明是在同一个子网中只需要用自己在eth0上的网卡MAC地址通过交换机直接传送不需要前往router(Gateway 0.0.0.0 “本地送信”)。   第二行表示所有不符合第一行的IP目的地则应该送往送往Gateway 199.165.145.17这个主机也就是中间router接入在eth0的网卡IP地址。   我们的IP包目的地为199.165.146.21不符合第一行所以按照第二行发送到中间的router。主机145.15会在数据包的头部写上199.165.145.17对应的MAC地址这样就在199.165.145这个局域网中通过交换机通过广播MAC地址广播到199.165.145.17对应的主机路由器。 第二步   中间的router在收到IP包之后(提取目的地IP地址然后对照自己的routing table 从前两行我们看到由于router横跨eth0和eth1两个网络它可以直接通过eth0和eth1上的网卡直接传送IP包。第三行表示如果是前面两行之外的IP地址则需要通过eth1送往199.165.146.8(右边的router接口IP)。我们的目的地符合第二行所以将IP放入一个新的帧中在帧的头部写上199.165.146.21的MAC地址通过199.165.146网中的交换机广播发往主机146.21。 IP包可以进一步接力到达更远的主机。IP包从主机出发根据沿途路由器的routing table指导在router间接力。**IP包最终到达某个router这个router与目标主机位于一个局域网中可以直接建立数据链路层的广播通信。**最后IP包被送到目标主机。这样一个过程叫做routing(我们就叫IP包接力好了路由这个词实在是混合了太多的意思)。   整个过程中IP包不断被主机和路由封装入帧(信封)并拆开然后借助连接层在局域网的各个网卡之间传送帧。整个过程中我们的IP包的内容保持完整没有发生变化。最终的效果是一个IP包从一个主机传送到另一个主机。利用IP包我们不需要去操心底层(比如数据链路层)发生了什么。 ④ARP协议 在上面的过程中我们实际上假设了每一台主机和路由都能了解局域网内的IP地址和MAC地址的对应关系这是实现IP包封装(encapsulation)到帧的基本条件。IP地址与MAC地址的对应是通过ARP协议传播到局域网的每个主机和路由。每一台主机或路由中都有一个ARP cache用以存储局域网内IP地址和MAC地址如何对应。 ARP协议(ARP介于数据链路层和网络层之间ARP包需要包裹在一个帧中)的工作方式如下主机发出一个ARP包该ARP包中包含有自己的IP地址和MAC地址。通过ARP包主机以广播的形式询问局域网上所有的主机和路由我是IP地址xxxx我的MAC地址是xxxx有人知道199.165.146.4的MAC地址吗拥有该IP地址的主机会回复发出请求的主机哦我知道这个IP地址属于我的一个NIC网卡它的MAC地址是xxxxxx。由于发送ARP请求的主机采取的是广播形式并附带有自己的IP地址和MAC地址其他的主机和路由会同时检查自己的ARP cache如果不符合则更新自己的ARP cache。 这样经过几次ARP请求之后ARP cache会达到稳定。如果局域网上设备发生变动ARP重复上面过程。ARP协议只用于IPv4。IPv6使用Neighbor Discovery Protocol来替代ARP的功能。 4. 传输层 ①端口号 有了MAC地址和IP地址我们已经可以在互联网上的任意两台电脑之间建立通信了。接下来的问题是同一台主机上许多程序进程都需要用到网络比如你一遍浏览网页一遍聊天。**当一个数据包从网上发送过来的时候我们需要一个参数来区分他到底是提供哪个进程使用的——这个参数就叫做“端口号”他其实就是每一个使用网卡的程序的编号。**每个数据包发送到主机特定的端口所以不同的程序就能取到自己想要的数据包。 端口是0到65535之间的一个整数正好16个二进制。0~1023的端口被系统占用用户只能使用大于1023的端口。不管是浏览网页还是聊天应用程序都会随机选用一个端口然后与服务器简历相应的端口关系。这里需要补充一点HTTP协议默认使用80端口8080是用来访问代理服务的。 **“传输层”的功能就是建立“端口到端口”之间的通信。相比之下“网络层”的功能是建立“主机到主机的通信。**只要确定主机和端口号我们就能实现程序之间的交流。 ②Socket 上面我们已经说了传输层是建立“端口到端口”之间的通信更具体一点也就是程序和程序之间的通信或者“进程间通信”。嗯挺唬人的一个概念。   进程间通信分为两种——一种是主机内部或终端内部进程间通信这个由终端或主机上的操作系统决定比如在Android系统上面进程间通信就是AIDL另一种是跨主机进程间通信或者网络进程间通信也叫“socket通信”。我们可以先笼统的理解——Unix系统把主机端口叫做套接字socket当然这样说是有失偏颇的。 那么Socket是什么 **从编程语言的角度socket是一个无符号整型变量用来标识一个通信进程。**两个进程通信总要知道这几个信息双方的ip地址和端口号通信所采用的协议栈。socket就是和这些东西绑定的实现socket可以使用unix提供的接口也可以使用wIndows提供的winSock。**socket本质是编程接口(API)对TCP/IP的封装。TCP/IP只是一个协议栈必须要具体实现同时还要提供对外的操作接口API这就是Socket接口。**通过Socket,我们才能使用TCP/IP协议因此有了一系列我们知道的函数接口——connect、accept、send、read、write等。   JDK的java.net包下有两个类Socket和ServerSocket在Client和Server建立连接成功后两端都会产生一个Socket实例操作这个实例完成所需的会话而程序员就通过这些API进行网络编程。 Socket连接过程分为三个步骤服务器监听客户端请求连接确认。 ③UDP/TCP协议 UDP和TCP协议都是传输层的协议他们的主要作用就是在应用层的数据包标头加上端口号或者在IP协议的数据包中插入端口号。 UDP协议的优点是比较简单容易实现但是缺点是可靠性较差一旦数据包发出无法知道对方是否收到。TCP协议可以近似认为是有确认机制的UDP协议。每发出一个数据包都要求确认。如果有一个数据包遗失就收不到确认发出方就知道有必要重发这个数据包了。   TCP协议主要的确认机制是三次握手四次挥手,由于这个协议非常复杂我会另起一篇文章详细讲解。 5. 应用层 应用程序收到传输层的数据接下来就要进行解读。由于互联网是开放架构数据来源五花八门必须事先规定好格式否则根本无法解读。**“应用层的作用就是规定应用程序的数据格式。**举例来说TCP协议可以为各种各样的程序传递数据比如Email、WWW、FTP等等。那么必须有不同协议规定电子邮件、网页、FTP数据的格式这些应用程序协议就构成了应用层”。这是最高的一层直接面对用户。 这里的引用层是文章开头的OSI七层模型的最上面三层的综合因为是直接面向用户因此它的主要作用是**“消除设备固有数据格式和网络标准数据格式直接的差异”**因为在网络流中数据的格式是标准化的但是具体到不同得设备不同的操作系统上他的要求数据呈现格式是不同的因此需要转化成统一的、用户能够感知的声音、图片、文字等信息这就是应用层做的事情。 具体的例子也就是我们熟知的Android编程也就是应用层编程嗯笔者是做Android的。在Android系统中应用层网络编程类是HttpURLConnection和HttpClient后者已经被google弃用。具体可参照笔者的另一篇文章HTTP协议详解与Android相关基础网络编程。 ①用户的上网设置 你买了一台新电脑插上网线开机这时电脑能够上网吗通常你必须做一些设置。有时管理员或者ISP会告诉你下面四个参数你把它们填入操作系统计算机就能连上网了 本机的IP地址子网掩码网关的IP地址DNS的IP地址 下图是Windows系统的设置窗口 根据上面的讲解我们应该知道这四个参数的必要性只有设置了这些我们才能上网。 ②DNS解析 网域名称系统英文Domain Name System缩写DNS端口53是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库能够使人更方便地访问互联网。   什么意思我们上面已经说了网络中的数据包是通过“端口号IP地址MAC地址”来识别目的地址的也就是说定位一个主机的时候我们是定位的是他的IP地址然后我们通过浏览器访问的时候呢比如我们要访问谷歌就在浏览器中输入他的域名www.google.com却不是谷歌服务器的IP地址——这个时候DNS协议就起作用了   我们输入www.google.com并按下回车的时候本机服务器先是请求DNS服务器DNS服务器根据我们发送的域名根据DNS协议解析成该域名对应的IP地址并返回给本机这样我们就可以进行下面几层的地址封装了。 三、自顶向下的数据包结构 现在我们从一个用户的角度来自顶向下的过一遍一个网络数据包的过程。首先我们设置了本机参数 本机的IP地址192.168.1.100子网掩码255.255.255.0网关的IP地址192.168.1.1DNS的IP地址8.8.8.8 然后打开浏览器访问谷歌的网址www.google.com按下回车。这意味着浏览器要向Google发送一个网页请求的数据包。 第一步   主机会像DNS服务器发送请求已知DNS服务器为8.8.8.8于是我们向这个地址发送一个DNS数据包53端口然后DNS服务器做出响应告诉我们Google的IP地址是172.194.72.105。于是我们知道了对方的IP地址。 第二步   接下来我们要判断这个IP地址是不是在同一个子网络这就要用到子网掩码。已知子网掩码是255.255.255.0本机用它对自己的IP地址192.168.1.100做一个二进制的AND运算两个数位都为1结果为1否则为0计算结果为192.168.1.0然后对Google的IP地址172.194.72.105也做一个AND运算计算结果为172.194.72.0。这两个结果不相等所以结论是Google与本机不在同一个子网络。 第三步   因此我们要向Google发送数据包必须通过网关192.168.1.1转发也就是说接收方的MAC地址将是网关的MAC地址。至此发送的各种必要参数已经基本确定了数据包也可以发送了。 1.应用层数据包 首先根据笔者HTTP协议详解与Android相关基础网络编程这篇文章中的讲解我们可以知道应用层HTTP协议的报文结构   这里是请求简书的一个GET请求报文请求谷歌的报文结构也是相同的只是域名等内容不同罢了。我们假定这个部分的长度为4960字节此时的数据包结构如下 就是一个单纯的数据包没有头部数据部分就是上面的报文。 2.传输层数据包TCP/UDP数据包 TCP/UDP数据包需要设置端口接收方Google的HTTP端口默认是80发送方本机的端口是一个随机生成的1024-65535之间的整数假定为51775。   TCP数据包的标头长度为20字节加上嵌入HTTP的数据包总长度变为4980字节。 可以看到TCP/UDP数据包就是在应用层数据包前面加上端口号的等必要的寻址信息作为头部。 3.网络层数据包IP数据包 下面就到了网络层TCP数据包再嵌入IP数据包。IP数据包需要设置双方的IP地址这是已知的发送方是192.168.1.100本机接收方是172.194.72.105Google。   IP数据包的标头长度为20字节加上嵌入的TCP数据包总长度变为5000字节。 4.数据链路层数据包以大网数据包 最后IP数据包嵌入以太网数据包。以太网数据包需要设置双方的MAC地址发送方为本机的网卡MAC地址接收方为网关192.168.1.1的MAC地址通过ARP协议得到。 以太网数据包的数据部分最大长度为1500字节而现在的IP数据包长度为5000字节。因此IP数据包必须分割成四个包。因为每个包都有自己的IP标头20字节所以四个包的IP数据包的长度分别为1500、1500、1500、560。 分割成四个数据包分割只能分割数据部分每个数据包都要具有相同的标头不然找不到目的地址 服务端响应 经过多个网关的转发Google的服务器172.194.72.105收到了这四个以太网数据包。   根据IP标头的序号Google将四个包拼起来取出完整的TCP数据包然后读出里面的HTTP请求接着做出HTTP响应再用TCP协议发回来。   本机收到HTTP响应以后就可以将网页显示出来完成一次网络通信。   这个例子就到此为止虽然经过了简化但它大致上反映了互联网协议的整个通信过程。 我们再总结一下整个过程中数据包的结构包装变化图片来源于网络
http://www.pierceye.com/news/746321/

相关文章:

  • 公司邮箱怎么注册流程如何优化关键词提升相关度
  • 网站建议方案app代运营
  • 北京建机官网查询台州seo全网营销
  • 网站建设书店用户分几类网站建设项目采购公告
  • 如何做企业网站宣传wordpress站内搜索次数
  • 加盟招商推广网站如何做品牌运营与推广
  • 网站做分布式部署湖南平台网站建设设计
  • 沈阳市建设工程项目管理中心网站网络项目网
  • 沈阳网站建设成创输入网址跳到别的网站
  • 课程网站开发建设商务网站的费用
  • 资讯网站优化排名wordpress 删除所有文章
  • 旅游海外推广网站建设方案wordpress外观无法编辑
  • 品牌手表网站网站推广律师关键词有哪些
  • 卖视频会员个人网站怎么做推广网站的图片怎么做
  • 服务器关闭 网站被k微信公众号推广的好处
  • 工业设计招聘信息网站做网站首页轮播图代码
  • 央企网站开发手机网站 input
  • 千里马招标网站东莞网站推广行者seo08
  • 网络工程专业主要学什么百度seo课程
  • 网站定制开发收费标准是多少网站导航功能
  • 东莞网站(建设信科网络)公众号小程序开发公司
  • dw网站结构图怎么做4399电脑版网页链接
  • 网站服务器网址招聘seo专员
  • 个人网站模板psd主机服务器网站 怎么做
  • 网站开发公司的义务深圳 电子商务网站开发
  • 北京外贸网站设计备案宁波网站推广专业的建站优化公司
  • 政协系统网站建设织梦手机网站
  • 网站建设上海网站制作如何修改上线网站
  • 漫画网站建设教程网站描述怎么设置
  • 网站左侧树形导航怎么做农村网站做移动