传输控制协议网际协议指导翻译.docx
《传输控制协议网际协议指导翻译.docx》由会员分享,可在线阅读,更多相关《传输控制协议网际协议指导翻译.docx(17页珍藏版)》请在冰豆网上搜索。
![传输控制协议网际协议指导翻译.docx](https://file1.bdocx.com/fileroot1/2023-2/6/397c579e-f61e-4891-bd11-5ac6010bf4cd/397c579e-f61e-4891-bd11-5ac6010bf4cd1.gif)
传输控制协议网际协议指导翻译
传输控制协议/网际协议指导
本备忘录的状态
这本RFC是TCP/IP协议的指南,重点介绍通过一个路由器从来源主机提交一个IP数据包到目的地主机的步骤。
它不指定一个因特网标准。
1.绪论
这本教程仅仅包含TCP/IP技术的突出特点,因此它是TCP/IP技术的"梗概"。
它忽略了TCP/IP发展的历史以及导致它广泛使用的商业原因,并且忽略它在与ISO(国际标准化组织)的OSI(开放式系统互连参考模型)相比的发展前景。
实际上,很多技术的信息也被忽略。
它所讲述的是在TCP/IP环境工作的专业人员必须理解的最少信息。
这些专业人员包括系统管理员,系统程序员,和网络管理员。
这本教程使用的例子是在UNIX/TCP/IP环境下执行的,然而主要方面能在所有的TCP/IP环境下执行。
这本指南的目的是解释TCP/IP的基本问题而不是定义它。
如果有任何问题关于协议的详细说明,请参考定义RFC的实际的标准。
下一节是TCP/IP的概述,然后是各个组成部分的详细描述.
2.TCP/IP概述
术语"TCP/IP"通常意味着任何与TCP(传输控制协议)和IP(网际协议)有联系的东西,它包括其它的协议,应用软件,甚至网络媒介。
这些协议的一个示例是:
UDP(用户数据报协议),ARP(地址解析协议),和ICMP(控制报文协议)。
这些应用的一个示例是:
telnet(远程登录),ftp(文件传递协议),和rcp。
更精确的应该说是"因特网技术"。
使用因特网技术的一个网络被称为"INTERNET(因特网)"。
2.1基本结构
为了理解TCP/IP你必须理解下面的逻辑结构:
----------------------------
|networkapplications|
||
|...\|/..\|/...|
|----------|
||TCP||UDP||
|----------|
|\/|
|--------|
||IP||
|------*------|
||ARP|||
|-----||
|\||
|------|
||ENET||
|---@--|
----------|-----------------
|
----------------------o---------
EthernetCable(缆线)
图1.TCP/IP的基本结构
这是TCP/IP协议的分层结构在互连网计算机上的表示,用互连网技术互相通信的每台计算机有这样的分层结构。
这样的分层结构决定了计算机在internet上互相通信的方式。
数据通过这样的分层结构从上层传到底层,然后通过网线把数据传送出去。
底层的水平线代表以太网网线,"O"代表收发器,"*"代表IP地址,"@"代表网址,理解这样的分层结构式理解INTERNET技术的基础。
这种分层结构贯川于这本指南的始终。
2.2相关术语
通过一个internet传送的数据流的名字由它在协议堆栈的什么地方存在而决定。
总体上来说:
如果它在一个以太网上,它被称为以太网帧;如果它在以太网与网际协议模块之间,它就被称为一个IP包;如果它在网际协议模块与UDP模块之间,它被称为一个UDP包;如果它在网际协议模块和TCP模块之间,它被称为一TCP包(更通常说,传输消息包);并且如果它在网络应用程序间,它被称为应用消息包。
这些定义是不很确切的。
不同的版本有不同的定义,要看更精确的定义请参考(RFC1122,section1.3.3.)。
驱动程序是直接与网卡接口硬件通信的软件。
应用程序模块是与驱动程序或与网络应用软件或另一个应用程序模块通信的软件
术语:
驱动程序,应用程序模块,以太网帧,TCP包,UDP包,TCP消息,以及应用程序消息在此指南中经常被使用。
2.3.数据传送
让我们看看当它经过如图1所示的协议堆栈流动时的情况,当应用程序使用TCP(传输控制协议),数据在应用程序与TCP模块之间传递。
当应用程序使用UDP(用户数据报协议),数据在应用程序与UDP模块之间传递。
FTP(文件传输协议)是使用TCP包的典型应用。
在这个例子的协议堆栈是FTP/TCP/IP/ENET。
SNMP(简单网络管理协议)是使用UDP的应用。
在这个例子的协议堆栈是SNMP/UDP/IP/ENET。
TCP模块,UDP模块,和以太网驱动程序是n-to-1multiplexers(多路复用器)。
作为multiplexers它们复用许多输入到一个输出。
它们也是1-to-nde-multiplexers(分路器),作为分路器,它们通过协议头从一个输入产生许多输出。
123...n123...n
\||/|\||/^
\||/|\||/|
-------------flow----------------flow
|multiplexer|of|de-multiplexer|of
-------------data----------------data
||||
|v||
11
图2.n-to-1multiplexerand1-to-nde-multiplexer
如果以太网帧离开网卡进入以太网驱动程序,包能向上传递给ARP(地址解析协议)模块或到IP(网间协议)模块。
在以太网帧的字段属性决定了以太网帧是否被传递给ARP或IP模块。
如果IP报文进入IP包,它被向上传递到TCP或UDP,由在IP头的字段属性决定。
如果UDP报文进入UDP,应用消息向上传递给网络应用程序,这是由UDP头的端口值决的。
如果TCP消息进入TCP,应用消息向上传递给网络应用程序,这是由TCP头的端口值决的。
向下复用很容易实现因为从每一个开始点只有一条向下的路径;每个协议模块增加它的头信息从而使包能在目的计算机上被分开。
从应用程序出来的数据通过TCP或者UDP复合到IP模块,然后被送到更低层。
尽管因特网技术支持许多网络媒介,在我们这里使用的例子都是以太网来讨论的因为以太网是基于IP的最常见物理网络。
在图1中的计算机有唯一的以太网连接。
6字节的物理地址对每一个在以太网的接口是唯一的,它们被存储在以太网驱动程序的底层接口中。
计算机同样有4字节的IP地址,这个地址被存储在IP模块的底层,IP地址对在internet上的每台计算机必须是唯一的。
每台计算机知道属于自己的IP地址和物理地址。
2.4.两个网络接口
如果一台计算机和2个独立的以太网连接,它的样子如图3所示:
----------------------------
|networkapplications|
||
|...\|/..\|/...|
|----------|
||TCP||UDP||
|----------|
|\/|
|--------|
||IP||
|------*----*------|
||ARP||||ARP||
|-----||-----|
|\||/|
|------------|
||ENET||ENET||
|---@-----@--|
----------|-------|---------
||
|---o---------------------------
|EthernetCable2
---------------o----------
EthernetCable1
图3.TCP/IPNetworkNodeon2Ethernets
请注意这台计算机有两个物理地址和两个IP地址。
从图3的结构中我们发现计算机有多于一个的物理网络接口,那么IP模块就是ntom复用器和mton分路器的结合。
123...n123...n
\||/|\||/^
\||/|\||/|
-------------flow----------------flow
|multiplexer|of|de-multiplexer|of
-------------data----------------data
/||\|/||\|
/||\v/||\|
123...m123...m
图4.n-to-m复用器andm-to-n分路器
从上面我们可以看出这种多路技术可以从任意的方向接收和发送数据,有一个以上网络接口的IP模块比我们最初的把数据从一个网络送到另一个网络的例子要复杂的多,数据可以从各个网络接口传过来也可被送向网络。
TCPUDP
\/
\/
--------------
|IP|
||
|---|
|/\|
|/v|
--------------
/\
/\
datadata
comesingoesout
herehere
图5.IP包的发送和接收的例子
发送IP包到另一个网络的过程叫做传递IP包,一台专门用来传递IP包的计算机。
计算机叫做"路由器"。
就如你从图中看到的一样,在路由器上传递的IP包不涉及TCP和UDP模块,一些路由器执行时更本就不要TCP或UDP模块。
2.5.IP产生专一的逻辑网络
IP模块是interner技术成功的中心所在,当消息向下通过协议栈时每一个模块或驱动程序加上自己的头到消息中去。
每一个模块或驱动程序从消息中去掉相应的头当消息沿协议栈向上传时,IP头包含了用以从许多物理网络中区分唯一的逻辑网络的IP地址,互相连接的物理网络是internet的组成部分,这些互相联络的物理网络就构成了internet。
2.6.独立的物理网络
IP通过网络应用程序处于网络硬件之中,如果你发明新的物理网络,你可以投入使用只要你用新的驱动程序基于IP。
因此,尽管硬件技术在变化网络应用程序仍旧是完美无缺以及不易受攻击的。
2.7.互相通信
如果两台计算机能够互相通信,就称它们是"能互操作的"。
如果internet畅通,就称它们有"互用性"。
有多方面用途计算机的用户从互连网获益因为在市场上有的协同工作能力的计算机。
一般地,当你买了一台计算机,它就能互相通信。
如果计算机没有互操作性,且互操作性不能加上,则这样地计算机就没有市场竞争力。
3.以太网
这一节是以太网技术的简短复习。
一个以太网帧包含目的地地址,源地址,属性域,和数据。
物理地址是6字节。
每一个装置有它自己的物理地址和监听物理帧中的目的地址。
所有的装置用通配符"FF-FF-FF-FF-FF-FF"(十六进制)的方式监听目的地址,被称为"广播"地址。
以太网使用CSMA/CD(带有检测冲突的载波侦听多路存取)。
CSMA/CD意味着所有装置在同一个媒介中通信,在某一个时刻只能有一个在传送数据,它们能同时接收数据。
如果2个装置在同一个传送数据,那么传送冲突被发觉,在再次发送之前两个装置等随机(但是很短)的一段时间。
3.1一个类比
一个很好的说明以太网技术的类比:
一群人在很小道`很黑的屋里聊天。
在这个类比中:
物理的网络媒介是空气中的声波而不是在同一根同轴电缆中的电信号每一个人能听见其它人的说话(信号感觉),每一个人有相同的权利说话(多种可能),但是没有人会发表长篇大论因为他们懂礼貌。
如果有人不懂礼貌,他被要求离开房间(也就是,被抛离网络)。
没有人会说话当有人说话时,但是当两个人同时开始说话,他们会立即知道因为他们听到一些他们自己没有说过的话(冲突检出)。
当两个人意识到时,他们等一会,然后一人开始说话。
另一个在开始自己的说话之前听着别人说一直等着第一个人说完。
每一个人有唯一的名字(唯一的物理地址)以避免混乱。
某一个时间一人说话,他会先通知他将要交谈的人以及自己的名字(以太网目的地址,源地址,分别的),也就是:
"Hello,thisisjack,..blahblahblah..",如果他想和所有的人交谈,他会说"everyone"(广播地址),也就是说:
"hello,everyone,thisisjack,..blahblahblah.."。
ATCP/IPTutorial
StatusofthisMemo
ThisRFCisatutorialontheTCPIPprotocolsuite,focusingparticularlyonthestepsinforwardinganIPdatagramfromsourcehosttodestinationhostthrougharouter.ItdoesnotspecifyanInternetstandard.Distributionofthismemoisunlimited.
1.Introduction
ThistutorialcontainsonlyoneviewofthesalientpointsofTCP/IP,andthereforeitisthebarebonesofTCP/IPtechnology.Itomitsthehistoryofdevelopmentandfunding,thebusinesscaseforitsuse,anditsfutureascomparedtoISOOSI.Indeed,agreatdealoftechnicalinformationisalsoomitted.WhatremainsisaminimumofinformationthatmustbeunderstoodbytheprofessionalworkinginaTCP/IPenvironment.Theseprofessionalsincludethesystemsadministrator,thesystemsprogrammer,andthenetworkmanager.
ThistutorialusesexamplesfromtheUNIXTCP/IPenvironment,howeverthemainpointsapplyacrossallimplementationsofTCP/IP.
Notethatthepurposeofthismemoisexplanation,notdefinition.Ifanyquestionarisesaboutthecorrectspecificationofaprotocol,pleaserefertotheactualstandardsdefiningRFC.
ThenextsectionisanoverviewofTCP/IP,followedbydetaileddescriptionsofindividualcomponents.
2.TCP/IPOverview
ThegenerictermTCP/IPusuallymeansanythingandeverythingrelatedtothespecificprotocolsofTCPandIP.Itcanincludeotherprotocols,applications,andeventhenetworkmedium.AsampleoftheseprotocolsareUDP,ARP,andICMP.AsampleoftheseapplicationsareTELNET,FTP,andrcp.Amoreaccuratetermisinternettechnology.Anetworkthatusesinternettechnologyiscalledaninternet.
2.1BasicStructure
Tounderstandthistechnologyyoumustfirstunderstandthefollowinglogicalstructure
----------------------------
|networkapplications|
||
|...\|/..\|/...|
|----------|
||TCP||UDP||
|----------|
|\/|
|--------|
||IP||
|------*------|
||ARP|||
|-----||
|\||
|------|
||ENET||
|---@--|
----------|-----------------
|
----------------------o---------
EthernetCable
Figure1.BasicTCP/IPNetworkNode
Thisisthelogicalstructureofthelayeredprotocolsinsideacomputeronaninternet.Eachcomputerthatcancommunicateusinginternettechnologyhassuchalogicalstructure.Itisthislogicalstructurethatdeterminesthebehaviorofthecomputerontheinternet.Theboxesrepresentprocessingofthedataasitpassesthroughthecomputer,andthelinesconnectingboxesshowthepathofdata.ThehorizontallineatthebottomrepresentstheEthernetcable;theoisthetransceiver.TheistheIPaddressandthe@istheEthernetaddress.Understandingthislogicalstructureisessentialtounderstandinginternettechnology;itisreferredtothroughoutthistutorial.
2.2Terminology
Thenameofaunitofdatathatflowsthroughaninternetisdependentuponwhereitexistsintheprotocolstack.InsummaryifitisonanEthernetitiscalledanEthernetframe;ifitisbetweentheEthernetdriverandtheIPmoduleitiscalledaIPpacket;ifitisbetweentheIPmoduleandtheUDPmoduleitiscalledaUDPdatagram;ifitisbetweentheIPmoduleandtheTCPmoduleitiscalledaTCPsegment(moregenerally,atransportmessage);andifitisinanetworkapplicationitiscalledaapplicationmessage.
Thesedefinitionsareimperfect.Actualdefinitionsvaryfromonepublicationtothenext.MorespecificdefinitionscanbefoundinRFC1122,section1.3.3.
Adriverissoftwarethatcommunicatesdirectlywiththenetworkinterfacehardware.Amoduleissoftwarethatcommunicateswithadriver,withnetworkapplications,orwithanothermodule.
Thetermsdriver,module,Ethernetframe,IPpacket,UDPdatagram,TCPmessage,andapplicationmessageareusedwhereappropriatethroughoutthistutorial.
2.3FlowofData
Let'sfollowthedataasitflowsdownthroughtheprotocolstackshowninFigure1.ForanapplicationthatusesTCP(TransmissionControlProtocol),datapassesbetweentheapplicationandtheTCPmodule.ForapplicationsthatuseUDP(UserDatagramProtocol),datapassesbetweentheapplicationandtheUDPmodule.FTP(FileTransferProtocol)isatypicalapplicationthatusesTCP.ItsprotocolstackinthisexampleisFTP/TCP/IP/ENET.SNMP(SimpleNetworkManagementProtocol)isanapplicationthatuse