字:
关灯 护眼
快眼看书 / 宇宙漂 / 第十七章 关于网址的链路

第十七章 关于网址的链路

章节出错了,点此刷新,刷新后小编会在两分钟内校正章节内容,请稍后再试。

  我们来当我们在浏览输入
  首http是一个应用层的协议,在这个层的协议,是一种讯规范,也就是因为双方要进行讯,大家要事约定一个规范。
  1.连当我们输入这样一个请时,首要立一个socket连,因为socket是过ip和端口立的,所以之前还有一个DNS析过,把
  DNS的过是这样的:首我们我们本地的机上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务,如能够找到相应的url则返其ip,否则该DNS将继续将该析请发送给上级DNS,个DNS可以是一个树状结构,该请将一发送到到得到结。现在已经拥有了目标ip和端口号,这样我们就可以开socket连了。
  2.请连成功立后,开始web服务发送请,这个请一般是GETPOST令(POST用于FORM参数的传递)。GET令的格为:GET径/文HTTP/1.0
  文出所访问的文,HTTP/1.0出Web浏览使用的HTTP版本。现在可以发送GET令:
  GET/mytest/index.htmlHTTP/1.0,
  3.应答web服务到这个请,进行处理。从它的文档间中搜索子目录mytest的文index.html。如找到该文,Web服务把该文内容传送给相应的Web浏览。
  为了告浏览,,Web服务首传送一些HTTP头息,然后传送体内容(HTTP体息),HTTP头息和HTTP体息之间用一个行分开。
  用的HTTP头息有:
  ①HTTP1.0200OK这是Web服务应答的一行,列出服务在运行的HTTP版本号和应答码。码“200OK“示请成。
  ②MIME_Version:1.0它示MIME型的版本。
  ③content_type:型这个头息非要,它示HTTP体息的MIME型。如:content_type:text/html示传送的数是HTML文档。
  ④content_length:长度值它示HTTP体息的长度(字节)。
  4.关闭连:当应答结束后,Web浏览与Web服务必须断开,以其它Web浏览能够与Web服务立连。
  下面我们体分析其中的数包在网络中漫游的经历
  在网络分层结构中,层之间是严格单依赖的。“服务”是描述层之间关的抽概念,网络中层紧邻上层供的一组操作。下层是服务供,上层是请服务的用户。服务的现形是语(primitive),如统调用库函数。统调用是操作统内核网络应用序高层协议供的服务语。网络中的n层总要n+1层供比n-1层备的服务,否则n层就没有存在的价值。
  传输层实现的是“端到端”,引进网间进概念,同时也要决差错控制,量控制,数排序(报文排序),连理等问,为供不同的服务方。传输层的服务过统调用的方供,以socket的方。对于客户端,要立一个socket连,需要调用这样一些函数socket()bind()connect(),然后就可以过send()进行数发送。
  现在数包在网络中的穿行过:
  应用层
  首我们可以到在应用层,当前的需和动作,结合应用层的协议,有我们定发送的数内容,我们把这些数到一个缓冲区内,然后形成了应用层的报文data。
  传输层
  这些数过传输层发送,比如tcp协议。所以它们会送到传输层处理,在这里报文上了传输头的包头,主要包含端口号,以tcp的种制息,这些息是得到的,因为口中需要定端口。这样就组成了tcp的数传送单segment。tcp是一种端到端的协议,用这些息,比如tcp首部中的序号认序号,这些数字,发送的一方不断的进行发送等待认,发送一个数段后,会开启一个计数,有当到认后会发送下一个,如超过计数时间仍未到认则进行发,在端如到错误数,则将其丢弃,这将导致发送端超时发。过tcp协议,控制了数包的发送序列的产生,不断的调发送序列,实现控和数。
  网络层
  然后待发送的数段送到网络层,在网络层包,这样封装上了网络层的包头,包头内部含有源目的的ip地址,该层数发送单称为packet。网络层开始负责将这样的数包在网络上传输,如何穿过由,终到达目的地址。在这里,目的ip地址,就需要查找下一跳由的地址。首在本机,要查找本机的由,在windows上运行routeprint就可以到当前由内容,有如下几项:
  ActiveRoutesDefaultRoutePersistentRoute.
  个查找过是这样的:
  (1)目的地址,得到目的网络号,如处在同一个内网,则可以发送。
  (2)如不是,则查询由,找到一个由。
  (3)如找不到的由,时在由中还会有默认网关,也可称为缺省网关,IP用缺省的网关地址将一个数传送给下一个定的由,所以网关也可能是由,也可能是内网定由传输数的网关。
  (4)由到数后,它为远主机网络查询由,若还未找到由,该数包将发送到该由的缺省网关地址。而数包中包含一个大由跳数,如超过这个跳数,就会丢弃数包,这样可以防止无限传递。由到数包后,会查网络层的包裹数,目的ip。所以说它是工作在网络层,传输层的数对它来说则是透的。
  如上面这些步骤都没有成功,那该数报就不能传送。如不能传送的数报来自本机,那一般会生成数报的应用序返一个“主机不可达”“网络不可达”的错误。
  以windows下主机的由为,由的查找过
  ======================================================================
  ActiveRoutes:
  NetworkDestinationNetmaskGatewayInterfaceMetric
  0.0.0.00.0.0.0192.168.1.2192.168.1.10110
  127.0.0.0255.0.0.0127.0.0.1127.0.0.11
  192.168.1.0255.255.255.0192.168.1.101192.168.1.10110
  192.168.1.101255.255.255.255127.0.0.1127.0.0.110
  192.168.1.255255.255.255.255192.168.1.101192.168.1.10110
  224.0.0.0240.0.0.0192.168.1.101192.168.1.10110
  255.255.255.255255.255.255.255192.168.1.101192.168.1.1011
  DefaultGateway:192.168.1.2
  NetworkDestination目的网段
  Netmask子网掩码
  Gateway下一跳由入口的ip,由过interface和gateway定义一调到下一个由的链,况下,interface和gateway是同一网段的。
  Interface到达该目的地的本由的出口ip(对于我们的个人pc来说,由机算机A的网卡,用该网卡的IP地址标识,当然一个pc也可以有多个网卡)。
  网关这个概念,主要用于不同子网间的互,当两个子网内主机A,B要进行讯时,首A要将数发送到它的本地网关,然后网关将数发送给B所在的网关,然后网关发送给B。
  默认网关,当一个数包的目的网段不在的由记录中,那,的由该把那个数包发送到哪里!缺省由的网关是由的连上的defaultgateway决定的,也就是我们在网络连里配置的那个值。
  interface和gateway处在一个子网内,对于由来说,因为可能有不同的interface,当数包到达时,NetworkDestination寻找匹配的条目,如找到,interface则了应当从该由的那个口出去,gateway则了那个子网的网关地址。
  一条0.0.0.00.0.0.0192.168.1.2192.168.1.10110
  0.0.0.0了缺省由。该由记录的是:当我到一个数包的目的网段不在我的由记录中,我会将该数包过192.168.1.101这个口发送到192.168.1.2这个地址,这个地址是下一个由的一个口,这样这个数包就可以付给下一个由处理,与我无关。该由记录的线质量10。当有多个条目匹配时,会选择有较小Metric值的那个。
  三条192.168.1.0255.255.255.0192.168.1.101192.168.1.10110
  联网段的由记录:当由到发往联网段的数包时该如何处理,这种况,由记录的interface和gateway是同一个。当我到一个数包的目的网段是192.168.1.0时,我会将该数包过192.168.1.101这个口发送出去,因为这个端口连着192.168.1.0这个网段,该由记录的线质量10(因interface和gateway是同一个,示数包传送给目的地址,不需要转给由)。
  一般就分这两种况,目的地址与当前由口是否在同一子网。如是则发送,不需转给由,否则还需要转发给下一个由继续进行处理。
  查找到下一跳ip地址后,还需要它的mac地址,这个地址要作为链层数装进链层头部。这时需要arp协议,体过是这样的,查找arp缓冲,windows下运行arp-a可以查当前arp缓冲内容。如里面含有对应ip的mac地址,则返。否则需要发生arp请,该请包含源的ip和mac地址,还有目的地的ip地址,在网内进行广播,所有的主机会检查自己的ip与该请中的目的ip是否一样,如刚好对应则返自己的mac地址,同时将请的ipmac存。这样就得到了目标ip的mac地址。
  链层
  将mac地址链层控制息加到数包里,形成Frame,Frame在链层协议下,成了相邻的节点间的数传输,成连立,控制传输度,数。
  物理层
  物理线则负责该数以bit为单从主机传输到下一个目的地。
  下一个目的地到数后,从物理层得到数然后经过逐层的包到链层到网络层,然后开始上述的处理,在经网络层链层物理层将数封装好继续传往下一个地址。
  在上面的过中,可以到有一个由查询过,而这个由的立则依赖于由算法。也就是说由算法实际上是用来由之间维护由,的数传输过不执行这个算法,查由。这个概念也要,需要理用的由算法。而个tcp协议比较复杂,跟链层的协议有些相似,其中有要的一些机制概念需要认理,比如编号与认,量控制,发机制,发送窗口。
  tcp/ip本模型概念
  物理层
  设备,中继(repeater),集线(hub)。对于这一层来说,从一个端口到数,会转发到所有端口。
  链层
  协议:SDLC(SynchronousDataLinkControl)HDLC(High-levelDataLinkControl)ppp协议独立的链设备中见的当属网卡,网桥也是链产。集线MODEM的某些功能有人认为属于链层,对还有些争议认为属于物理层设备。除之外,所有的换机都需要工作在数链层,仅工作在数链层的仅是二层换机。其他像三层换机、四层换机和层换机虽然可对应工作在OSI的三层、四层和层,二层功能仍是它们本的功能。
  因为有了MAC地址,所以充分避免了冲突,因为换机过目的MAC地址应该把这个数转发到哪个端口。而不会像HUB一样,会转发到所有滴端口。所以,换机是可以划分冲突域滴。
  网络层
  四个主要的协议:
  网际协议IP:负责在主机和网络之间寻址和由数包。
  地址析协议ARP:获得同一物理网络中的硬主机地址。
  网际控制消息协议ICMP:发送消息,报告有关数包的传送错误。
  互联组理协议IGMP:IP主机拿来本地多广播由报告主机组成员。
  该层设备有三层换机,由。
  传输层
  两个要协议TCP和UDP。
  端口概念:TCP/UDP使用IP地址标识网上主机,使用端口号来标识应用进,TCP/UDP用主机IP地址和为应用进分配的端口号来标识应用进。端口号是16的无符号数,TCP的端口号和UDP的端口号是两个独立的序列。尽相互独立,如TCP和UDP同时供某种服务,两个协议选择相同的端口号。这纯粹是为了使用方便,而不是协议本身的要。用端口号,一台主机上多个进可以同时使用TCP/UDP供的传输服务,且这种是端到端的,它的数由IP传递,与IP数报的传递径无关。网络中用一个三元组可以在全局唯一标一个应用进:(协议,本地地址,本地端口号)。
  也就是说tcp和udp可以使用相同的端口。
  可以到过(协议,源端口,源ip,目的端口,目的ip)就可以用来全标识一组网络连。
  应用层
  于tcp:TelnetFTPSMTPDNSHTTP
  于udp:RIPNTP(网落时间协议)和DNS(DNS也使用TCP)SNMPTFTP
  参考文献:
  读懂本机由。
  Internet传输层协议
  计算机网络谢希仁
热门推荐