ChinaUnix.net's Archiver

jeucal 发表于 2009-03-26 19:21

Chapter 2: Link Layer(链路层)


                                                                                                                                                                                                                                TCP/IP的链路层主要工作是send and receive:
[*]IP datagrams for the IP moudle[*]ARP requests and replies for the ARP module[*]RARP request and replies for the RARP moduleTCP/IP协议支持多种不同的链路层协议,这取决于所使用的硬件:Ethernet, token ring(令牌环网), FDDI(光线分布式数据接口), RS-232串行等。
下面是主要内容:
[list][*]Ethernet and IEEE 802 Encapsulation(以太网和IEEE 802封装)[/list]
Ethernet通常指的是几个大公司在1982年发布的一个标准。它是当今TCP/IP最常用的局域网技术。几年后IEEE 802委员会发布了一个稍有不同的标准,从802.2到802.5。
关键的内容是,the encapsulation of IP datagrams is defined in:
[list][*]RFC 894  for Ethernet
[*]RFC 1042 for IEEE 802 network[/list]RFC 894最常用。而且书上列了三条主机需求RFC的规定,大意是说主机首先必须支持842,其次能处理842和1042混合的packets,最后如果主机同时支持两种,那么可以设置,并且默认必须是842。
两个协议规定的封装格式的主要内容都相同,1042规定的更复杂一些。
[list][*]SLIP and PPP(串行线路IP和点对点协议)[/list]SLIP是指Serial Line IP,也就是链路层是串口的IP封装协议,内容包括开始结束标志等等,还有为了提高效率而对packets进行Compressed,CSLIP。
PPP是指Point-to-Point Protocol,corrects all the deficiencies in SLIP,也就是SLIP的升级改进版。
[list][*]Loopback Interface(回环接口)[/list]就是常用的127.0.0.1,其实整个A类地址127都是为Loopback预留的。大多数Loopback的实现方式是正常走传输层和网络层,只不过当网络层判断到目的地址和本机地址相同时,不会再往下传递给链路层了,而是传递给Loopback interface。这样看起来效率不高,因为当传输层检测到目的地址和本机地址一样时,实际上就可以简化部分传输层操作和全部的网络层操作,但是这样做可以使设计简单化,可以把Loopback interface看作是另一个链路层,网络层把datagrams传递给Loopback interface就像传递给链路层一样,然后Loopback interface puts the datagrams back onto IP's input queue。
[list][*]MTU(最大传输单元)[/list]Maximum transmission unit。Ethernet和802.3对frame的长度有限制,Ethernet是1500,802.3是1492。当IP的datagrams比Link layer的MTU大时,就需要IP fragmentation(分片)了。Section 11.5讨论IP分片。不同的physical characteristic of the network media有不同的MTU。需要注意的是Serial Line(如SLIP,PPP)等的MTU不是网络介质的物理特性,而是一个逻辑上的值,为的是提供合理的响应时间。本章最后一节讲解如何计算该值。
[list][*]Path MTU(路径MTU)               
               
               
               
               
                [/list]当两个主机进行通信时通过多个网络,MTU就不重要了,重要的是传输路径上最小的那个MTU,该MTU成为Path MTU。两台主机之间的Path MTU并不固定,取决于实际走的路径,比如两次路由走的路径不一样,那么Path MTU就可能不同。同样的道理,A主机到B主机的Path MTU也不一定等于B主机到A主机的Path MTU。RFC 1191指出了如何确定Path MTU。
               
               
               
               
               
               
               
               
               
               

[b]本文来自ChinaUnix博客,如果查看原文请点:[/b][url]http://blog.chinaunix.net/u3/94003/showart_1880808.html[/url]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.