When compuLers Lermlnals and/or oLher daLa processlng devlces exchange daLa Lhe scope of concern ls much broader Lhan Lhe concerns we have dlscussed ln SecLlons 12 and 13 Conslder for example Lhe Lransfer of a flle beLween Lwo compuLers 1here musL be a daLa paLh beLween Lhe Lwo compuLers elLher dlrecLly or vla a communlcaLlon neLwork 8uL more ls needed 1yplcal Lasks Lo be performed are
1 1he source sysLem musL elLher acLlvaLe Lhe dlrecL daLa communlcaLlon paLh or lnform Lhe communlcaLlon neLwork of Lhe ldenLlLy of Lhe deslred desLlnaLlon sysLem
2 1he source sysLem musL ascerLaln LhaL Lhe desLlnaLlon sysLem ls prepared Lo recelve daLa
3 1he flle Lransfer appllcaLlon on Lhe source sysLem musL ascerLaln LhaL Lhe flle managemenL program on Lhe desLlnaLlon sysLem ls prepared Lo accepL and sLore Lhe flle for Lhls parLlcular user
4 lf Lhe flle formaLs used on Lhe Lwo sysLems are lncompaLlble one or Lhe oLher sysLem musL perform a formaL LranslaLlon funcLlon
lL ls clear LhaL Lhere musL be a hlgh degree of cooperaLlon beLween Lhe Lwo compuLer sysLems 1he exchange of lnformaLlon beLween compuLers for Lhe purpose of cooperaLlve acLlon ls generally referred Lo as compotet commoolcotloos Slmllarly when Lwo or more compuLers are lnLerconnecLed vla a communlcaLlon neLwork Lhe seL of compuLer sLaLlons ls referred Lo as a compotet oetwotk 8ecause a slmllar level of cooperaLlon ls requlred beLween a user aL a Lermlnal and one aL a compuLer Lhese Lerms are ofLen used when some of Lhe communlcaLlng enLlLles are Lermlnals
ln dlscusslng compuLer communlcaLlons and compuLer neLworks Lwo concepLs are paramounL roLocols CompuLercommunlcaLlons archlLecLure or proLocol archlLecLure
A proLocol ls used for communlcaLlon beLween enLlLles ln dlfferenL sysLems 1he Lerms enLlLy and sysLem are used ln a very general sense Lxamples of enLlLles are user appllcaLlon programs flle Lransfer packages daLabase managemenL sysLems elecLronlc mall faclllLles and Lermlnals Lxamples of sysLems are compuLers Lermlnals and remoLe sensors noLe LhaL ln some cases Lhe enLlLy and Lhe sysLem ln whlch lL resldes are coexLenslve (eg Lermlnals) ln general an enLlLy ls anyLhlng capable of sendlng or recelvlng lnformaLlon and a sysLem ls a physlcally dlsLlncL ob[ecL LhaL conLalns one or more enLlLles lor Lwo enLlLles Lo communlcaLe successfully Lhey musL speak Lhe same language WhaL ls communlcaLed how lL ls communlcaLed and when lL ls communlcaLed musL conform Lo some muLually accepLable convenLlons beLween Lhe enLlLles lnvolved 1he convenLlons are referred Lo as a proLocol whlch may be deflned as a seL of rules governlng Lhe exchange of daLa beLween Lwo enLlLles
1he key elemenLs of a proLocol are
Syntax lncludes such Lhlngs as daLa formaL and slgnal levels Semant|cs lncludes conLrol lnformaLlon for coordlnaLlon and error handllng 1|m|ng lncludes speed maLchlng and sequenclng
Pavlng lnLroduced Lhe concepL of a proLocol we can now lnLroduce Lhe concepL of a proLocol archlLecLure lL ls clear LhaL Lhere musL be a hlgh degree of cooperaLlon beLween Lhe Lwo compuLers lnsLead of lmplemenLlng Lhe loglc for Lhls as a slngle module Lhe Lask ls broken up lnLo subLasks each of whlch ls lmplemenLed separaLely As an example llgure 14 suggesLs Lhe way ln whlch a flle Lransfer faclllLy could be lmplemenLed 1hree modules are used 1asks 3 and 4 ln Lhe precedlng llsL could be performed by a flle Lransfer module 1he Lwo modules on Lhe Lwo sysLems exchange flles and commands Powever raLher Lhan requlrlng Lhe flle Lransfer module Lo handle Lhe deLalls of acLually Lransferrlng daLa and commands Lhe flle Lransfer modules each rely on a communlcaLlons servlce module 1hls module ls responslble for maklng sure LhaL Lhe flle Lransfer commands and daLa are rellably exchanged beLween sysLems Among oLher Lhlngs Lhls module would perform Lask
2 now Lhe naLure of Lhe exchange beLween sysLems ls lndependenL of Lhe naLure of Lhe neLwork LhaL lnLerconnecLs Lhem 1herefore raLher Lhan bulldlng deLalls of Lhe neLwork lnLerface lnLo Lhe communlcaLlons servlce module lL makes sense Lo have a Lhlrd module a neLwork access module LhaL performs Lask 1 by lnLeracLlng wlLh
A 1hreeLayer Mode|
ln very general Lerms communlcaLlons can be sald Lo lnvolve Lhree agenLs appllcaLlons compuLers and neLworks Cne example of an appllcaLlon ls a flle Lransfer operaLlon 1hese appllcaLlons execuLe on compuLers LhaL can ofLen supporL mulLlple slmulLaneous appllcaLlons CompuLers are connecLed Lo neLworks and Lhe daLa Lo be exchanged are Lransferred by Lhe neLwork from one compuLer Lo anoLher 1hus Lhe Lransfer of daLa from one appllcaLlon Lo anoLher lnvolves flrsL geLLlng Lhe daLa Lo Lhe compuLer ln whlch Lhe appllcaLlon resldes and Lhen geLLlng lL Lo Lhe lnLended appllcaLlon wlLhln Lhe compuLer WlLh Lhese concepLs ln mlnd lL appears naLural Lo organlze Lhe communlcaLlon Lask lnLo Lhree relaLlvely lndependenL layers
1he network access |ayer ls concerned wlLh Lhe exchange of daLa beLween a compuLer and Lhe neLwork Lo whlch lL ls aLLached 1he sendlng compuLer musL provlde Lhe neLwork wlLh Lhe address of Lhe desLlnaLlon compuLer so LhaL Lhe neLwork may rouLe Lhe daLa Lo Lhe approprlaLe desLlnaLlon 1he sendlng compuLer may wlsh Lo lnvoke cerLaln servlces such as prlorlLy LhaL mlghL be provlded by Lhe neLwork 1he speclflc sofLware used aL Lhls layer depends on Lhe Lype of neLwork Lo be used dlfferenL sLandards have been developed for clrculL swlLchlng packeL swlLchlng local area neLworks and oLhers 1hus lL makes sense Lo separaLe Lhose funcLlons havlng Lo do wlLh neLwork access lnLo a separaLe layer 8y dolng Lhls Lhe remalnder of Lhe communlcaLlons sofLware above Lhe neLwork access layer need noL be concerned wlLh Lhe speclflcs of Lhe neLwork Lo be used 1he same hlgherlayer sofLware should funcLlon properly regardless of Lhe parLlcular neLwork Lo whlch Lhe compuLer ls aLLached
8egardless of Lhe naLure of Lhe appllcaLlons LhaL are exchanglng daLa Lhere ls usually a requlremenL LhaL daLa be exchanged rellably 1haL ls we would llke Lo be assured LhaL all of Lhe daLa arrlve aL Lhe desLlnaLlon appllcaLlon and LhaL Lhe daLa arrlve ln Lhe same order ln whlch Lhey were senL As we shall see Lhe mechanlsms for provldlng rellablllLy are essenLlally lndependenL of Lhe naLure of Lhe appllcaLlons 1hus lL makes sense Lo collecL Lhose mechanlsms ln a common layer shared by all appllcaLlons Lhls ls referred Lo as Lhe transport |ayer
llnally Lhe app||cat|on |ayer conLalns Lhe loglc needed Lo supporL Lhe varlous user appllcaLlons lor each dlfferenL Lype of appllcaLlon such as flle Lransfer a separaLe module ls needed LhaL ls pecullar Lo LhaL appllcaLlon llgures 13 and 16 lllusLraLe Lhls slmple archlLecLure llgure 13 shows Lhree compuLers connecLed Lo a neLwork Lach compuLer conLalns sofLware aL Lhe neLwork access and LransporL layers and sofLware aL Lhe appllcaLlon layer for one or more appllcaLlons lor successful communlcaLlon every enLlLy ln Lhe overall sysLem musL have a unlque address AcLually Lwo levels of addresslng are needed Lach compuLer on Lhe neLwork musL have a unlque neLwork address Lhls allows Lhe neLwork Lo dellver daLa Lo Lhe proper compuLer Lach appllcaLlon on a compuLer musL have an address LhaL ls unlque wlLhln LhaL compuLer Lhls allows Lhe LransporL layer Lo supporL mulLlple appllcaLlons aL each compuLer 1hese laLLer addresses are
FIGURE Protocol architectures and networks.
1he 1C]I rotoco| Arch|tecture
1wo proLocol archlLecLures have served as Lhe basls for Lhe developmenL of lnLeroperable communlcaLlons sLandards Lhe 1Cl/ proLocol sulLe and Lhe CSl reference model 1Cll ls Lhe mosL wldely used lnLeroperable archlLecLure and CSl has become Lhe sLandard model for classlfylng communlcaLlons funcLlons ln Lhe remalnder of Lhls secLlon we provlde a brlef overvlew of Lhe Lwo archlLecLures
1C/l ls a resulL of proLocol research and developmenL conducLed on Lhe experlmenLal packeLswlLched neLwork A8AnL1 funded by Lhe uefense Advanced 8esearch ro[ecLs Agency (uA8A) and ls generally referred Lo as Lhe 1Cll proLocol sulLe 1hls proLocol sulLe conslsLs of a large collecLlon of proLocols LhaL have been lssued as lnLerneL sLandards by Lhe lnLerneL ArchlLecLure 8oard l (lA8) l
1here ls no offlclal 1Cll proLocol model as Lhere ls ln Lhe case of CSl Powever based on Lhe proLocol sLandards LhaL have been developed we can organlze Lhe communlcaLlon Lask for 1Cll lnLo flve relaLlvely lndependenL layers
AppllcaLlon layer PosLLohosL or LransporL layer lnLerneL layer neLwork access layer hyslcal layer 1he phys|ca| |ayer covers Lhe physlcal lnLerface beLween a daLa Lransmlsslon devlce (eg worksLaLlon compuLer) and a Lransmlsslon medlum or neLwork 1hls layer ls concerned wlLh speclfylng Lhe characLerlsLlcs of Lhe Lransmlsslon medlum Lhe naLure of Lhe slgnals Lhe daLa raLe and relaLed maLLers
1he network access |ayer ls concerned wlLh Lhe exchange of daLa beLween an end sysLem and Lhe neLwork Lo whlch lL ls aLLached 1he sendlng compuLer musL provlde Lhe neLwork wlLh Lhe address of Lhe desLlnaLlon compuLer so LhaL Lhe neLwork may rouLe Lhe daLa Lo Lhe approprlaLe desLlnaLlon 1he sendlng compuLer may wlsh Lo lnvoke cerLaln servlces such as prlorlLy LhaL mlghL be provlded by Lhe neLwork 1he speclflc sofLware used aL Lhls layer depends on Lhe Lype of neLwork Lo be used dlfferenL sLandards have been developed for clrculLswlLchlng packeLswlLchlng (eg x23) local area neLworks (eg LLherneL) and oLhers 1hus lL makes sense Lo separaLe Lhose funcLlons havlng Lo do wlLh neLwork access lnLo a separaLe layer 8y dolng Lhls Lhe remalnder of Lhe communlcaLlons sofLware above Lhe neLwork access layer need noL be concerned abouL Lhe speclflcs of Lhe neLwork Lo be used 1he same hlgherlayer sofLware should funcLlon properly regardless of Lhe parLlcular neLwork Lo whlch Lhe compuLer ls aLLached
1he neLwork access layer ls concerned wlLh access Lo and rouLlng daLa across a neLwork for Lwo end sysLems aLLached Lo Lhe same neLwork ln Lhose cases where Lwo devlces are aLLached Lo dlfferenL neLworks procedures are needed Lo allow daLa Lo Lraverse mulLlple lnLerconnecLed neLworks 1hls ls Lhe funcLlon of Lhe |nternet |ayer 1he lnLerneL proLocol (l) ls used aL Lhls layer Lo provlde Lhe rouLlng funcLlon across mulLlple neLworks 1hls proLocol ls lmplemenLed noL only ln Lhe end sysLems buL also ln rouLers A rouLer ls a processor LhaL connecLs Lwo neLworks and whose prlmary funcLlon ls Lo relay daLa from one neLwork Lo Lhe oLher on lLs rouLe from Lhe source Lo Lhe desLlnaLlon end sysLem 8egardless of Lhe naLure of Lhe appllcaLlons LhaL are exchanglng daLa Lhere ls usually a requlremenL LhaL daLa be exchanged rellably 1haL ls we would llke Lo be assured LhaL all of Lhe daLa arrlve aL Lhe desLlnaLlon appllcaLlon and LhaL Lhe daLa arrlve ln Lhe same order ln whlch Lhey were senL
1hus lL makes sense Lo collecL Lhose mechanlsms ln a common layer shared by all appllcaLlons Lhls ls referred Lo as Lhe hosttohost |ayer or transport |ayer 1he Lransmlsslon conLrol proLocol (1C) ls Lhe mosL commonlyused proLocol Lo provlde Lhls funcLlonallLy
llnally Lhe app||cat|on |ayer conLalns Lhe loglc needed Lo supporL Lhe varlous user appllcaLlons lor each dlfferenL Lype of appllcaLlon such as flle Lransfer a separaLe module ls needed LhaL ls pecullar Lo LhaL appllcaLlon
1C/l proLocols are lmplemenLed ln end sysLemsand relaLes Lhls descrlpLlon Lo Lhe communlcaLlons model of llgure lla noLe LhaLLhe physlcal and neLwork access layers provlde lnLeracLlon beLween Lhe end sysLemand Lhe neLwork whereas Lhe LransporL and appllcaLlon layers are whaL ls known asendLoend proLocols Lhey supporL lnLeracLlon beLween Lwo end sysLems 1he lnLerneLlayer has Lhe flavor of boLh