(…) jak masz dziś wykitować, to dziś wykitujesz, i nie pomoże ci żadna ochrona.

Po dob nie jak plik se rvi ces, bi blio te ka sie cio wa po trze bu je spo so bu na przet³uma cze nie
nazw pro to ko³ów – na przyk³ad u¿y wa nych w pli ku se rvi ces – na nu me ry pro to -
Zdal ne wywo³anie pro ce dur
219
ko³ów ro zu mia ne przez war stwê IP na in nych ho stach. Dla te go po szu ku je na zwy
w pli ku /etc/pro to cols. Plik ten za wie ra po jed nym wpi sie w wier szu, a ka ¿dy wpis
po da je na zwê pro to ko³u i od po wia daj¹cy jej nu mer. Praw do po do bie ñstwo ro bie nia
cze go kol wiek z tym pli kiem jest jesz cze mniej sze ni¿ w przy pad ku /etc/se rvi ces.
Przyk³ad o wy plik po ka zu je my po ni¿ ej.
Przyk³ad 12-3. Przyk³ad o wy plik /etc/pro to cols
#
# Pro to ko³y in ter netowe (IP)
#
ip 0 IP # pro to kó³ in ter netowy, pseu do nu mer pro to ko³u
icmp 1 ICMP # in ter ne to wy protokó³ ko munikatów kontrolnych
igmp 2 IGMP # pro to kó³ gru po wy In ter net
tcp 6 TCP # pro to kó³ ste ruj¹cy trans mi sj¹
udp 17 UDP # pro to kó³ da ta gra mów u¿yt kow ni ka
raw 255 RAW # in ter fejs RAW IP
Zdal ne wywo³anie pro ce dur
Ogólny me cha nizm apli ka cji klient-ser wer jest udo stêp nia ny przez RPC – pa kiet
zdal ne go wy wo³ania pro ce dur. RPC po wsta³ w fir mie Sun Micro sys tems. Jest to zbiór
na rzê dzi i funk cji bi blio tecz nych. Wa ¿ne apli ka cje zbu do wa ne w opar ciu o RPC to
NIS – sys tem in for ma cji sie cio wej i NFS – sie cio wy sys tem pli ków. Oba zo stan¹ opi -
sa ne w tej ksi¹¿ce, od po wied nio w roz dzia³ach 13, Sys tem in for ma cji sie cio wej i 14, Sie -
cio wy sys tem pli ków.
Ser wer RPC za wiera zb iór pro ced ur, któ re klient mo¿e wy wo³ywaæ, wy sy³aj¹c ¿¹da -
nia RPC do ser wera wraz z pa ram etr ami pro ced ury. Ser wer wy wo³a wska zan¹ pro -
ced urê w imien iu klien ta i prze ka¿e mu zwrócon¹ war toœæ, je ¿eli ta ka bê dzie. Aby
uniez ale ¿niæ siê od ma szyny, wszyst kie da ne wy mien iane po miêd zy klien tem i ser -
wer em s¹ kon wert owa ne przez wy sy³aj¹ce go do for matu ze wn êtrznej re prez enta cji da -
nych ( Exter nal Da ta Re pres enta tion – XDR) i kon wert owa ne z po wrot em do lo kaln ej
re prez enta cji przez od biorcê. RPC opiera siê na stan dard owy ch gniaz dach UDP
i TCP przy prze nos zeniu da nych w for mac ie XDR do zdal nego ho sta. Fir ma Sun
udos têpni³a RPC na za sad ach oprog ramo wan ia do pu bliczn ego roz pow szechni ania.
Opis ano je w wielu RFC.
Cza sem po praw ki w apli ka cji RPC s¹ nie kom pa ty bil ne z in ter fej sem wy wo³ania pro ce -
dur. Oczy wiœ cie zwyk³a zmia na ser we ra spo wo du je awa riê apli ka cji, któ re wci¹¿
ocze kuj¹ pier wot ne go dzia³ania. Dla te go pro gra my RPC maj¹ przy pi sa ne nu me ry
wer sji, zwy kle roz po czy naj¹ce siê od 1, a po tem, wraz z ka ¿d¹ now¹ wer sj¹ in ter fej su
RPC, licz nik ten jest zwiê k sza ny. Czê sto ser wer mo¿e obs³ugi waæ kil ka wer sji jed no -
czeœnie, a klien ty w ¿¹da niu wska zuj¹ nu mer wer sji im ple men ta cji, któ rej chc¹ u¿y waæ.
Ko mu ni ka cja po miê dzy ser we ra mi i klien ta mi RPC jest w pew nym sen sie szc zególna.
Ser wer RPC udo stêp nia je den lub kil ka zbi orów pro ce dur. Ka ¿dy ze staw na zy wa siê
pro gra mem i jest uni kal nie iden ty fi ko wa ny przez nu mer pro gra mu. Li sta od wzo ro -
wuj¹ca na zwy us³ug na nu me ry pr og ramów zwy kle znaj du je siê w pli ku /etc/rpc,
którego frag ment po ka za no w przyk³adzie 12-4.
220
Roz dzia³ 12: Wa ¿ne funk cje sie cio we
Przyk³ad 12-4. Przyk³ad o wy plik /etc/rpc
#
# /etc/rpc - ró¿ ne us³ugi opar te na RPC
#
port mapper 100000 port map sunrpc
rstatd 100001 rstat rstat_svc rup per fme ter
ru sersd 100002 ru sers
nfs 100003 nfsprog
ypse rv 100004 ypprog
mo untd 100005 mo unt show mo unt
ypbind 100007
walld 100008 rwall shut down
yp pas swdd 100009 yp pas swd
bo ot pa ram 100026
ypupda ted 100028 ypupda te
W sie ciach TCP/IP au tor zy RPC sta nêli wo bec pro blemu od wzor owa nia nu merów
pr ogra mów na ty powe us³ugi sie ciowe. Za proj ekto wali ka ¿dy ser wer tak, by udos -