字:
关灯 护眼
小说巴士 / 宇宙漂 / 第十七章 关于网址的链路

第十七章 关于网址的链路

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

  我们来当我们在浏览器输入
  首先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传输层协议
  计算网络谢希仁
热门推荐