Prezentacja programu PowerPoint

Transkrypt

Prezentacja programu PowerPoint
PROTOKOŁY OBSŁUGI POCZTY ELEKTRONICZNEJ
Poczta elektroniczna służy do przesyłania komunikatów tekstowych, jak również dołączonych do nich
informacji nietekstowych (obraz, dźwięk) pomiędzy użytkownikami różnych komputerów - zarówno
w obrębie sieci lokalnej, jak i w sieciach rozległych - a w szczególnym przypadku również pomiędzy
użytkownikami jednego komputera.
Omówimy protokoły pocztowe oparte na TCP/IP, to jest zbudowane na TCP i wykorzystujące system
adresowania IP. Poczta może być też wymieniana pomiędzy komputerami umieszczonymi w różnych
rodzajach sieci - w takim przypadku musi przechodzić przez odpowiednie bramy.
Komputery indywidualnych użytkowników rzadko włączone są przez całą dobę - gdyby przesyłki
były kierowane bezpośrednio do nich, często mogłyby wracać nie doręczone. System poczty
elektronicznej zakłada istnienie serwerów pocztowych, to jest komputerów, które są włączone przez
cały czas i są zawsze dostępne. Indywidualni użytkownicy mogą posiadać na nich konta pocztowe,
zwane też skrzynkami pocztowymi (mailbox), których zawartość mogą pobierać okresowo do
własnego komputera i oglądać (bądź oglądać bezpośrednio w skrzynce, jeśli mają prawo wykonywania
1
programów obsługi poczty bezpośrednio na serwerze).
Protokoły pocztowe można podzielić na protokoły dostarczające przesyłki do serwerów pocztowych
(„wrzucające do skrzynki”) i protokoły pobierające przesyłki z serwerów („wyjmujące ze skrzynki”).
Podobnie jak w tradycyjnej poczcie, każdy użytkownik sieci może nadać przesyłkę do dowolnego
innego użytkownika, ale pobrać wiadomości ze skrzynki może tylko jej właściciel (po podaniu hasła).
Uwaga
Teoretycznie może dochodzić (i w praktyce ostatnio coraz częściej dochodzi) do dowolnego
zaśmiecania cudzych skrzynek pocztowych reklamówkami i innymi nie zamówionymi materiałami.
Przed zjawiskiem tym można się bronić stosując filtry pocztowe uniemożliwiające dostarczanie
poczty na przykład spod wybranego adresu lub grupy adresów. Do wykonywania bardziej
zaawansowanych („programowalnych”) operacji w zakresie obsługi poczty elektronicznej może
służyć na przykład unixowy program procmail.
2
Typowym przykładem protokołu dostarczania poczty jest SMTP (Simple Mail Transfer Protocol).
Do odbioru poczty może służyć POP (Post Office Protocol) w wersji POP2 lub POP3, oraz IMAP
(Interactive Mail Access Protocol) - aktualnie w wersji IMAP4. Protokoły te zostały zaprojektowane
do przesyłania informacji tekstowych. Gdy pojawiła się potrzeba przesyłania załączników nietekstowych (multimedialnych lub programów wykonywalnych), opracowano standard MIME (Multipurpose
Internet Mail Extensions), który rozszerzył możliwości tradycyjnych protokołów tekstowych (MIME
nie jest samodzielnym protokołem), a jednocześnie okazał się pożyteczny i w innych zastosowaniach
(na przykład w protokole HTTP służącym do przesyłania stron domowych).
Procesy realizujące protokoły pocztowe porozumiewają się ze sobą za pomocą komend oraz ich
potwierdzeń (lub odpowiedzi), które (w przeciwieństwie do informacji binarnych wymienianych przez
protokoły niższych poziomów) mają postać czytelną dla człowieka, co ułatwia ewentualną diagnostykę
występujących problemów.
3
Protokół SMTP.
SMTP służy do dostarczania poczty do serwerów pocztowych. Wykorzystuje port TCP nr 25.
Lista komend:
HELO <host nadawcy>
umożliwia identyfikację hosta i nawiązanie połączenia
MAIL FROM:<adres nadawcy>
podaje adres nadawcy
RCPT TO:<adres odbiorcy>
podaje adres odbiorcy
DATA
oznacza początek wiadomości
RSET
unieważnienie nadawanej wiadomości
QUIT
zakończenie sesji i zerwanie połączenia
Znacznikiem końca wiadomości jest kropka . umieszczona jako jedyny znak w oddzielnej linii.
4
Komendy pomocnicze:
HELP
podaje listę dostępnych komend
HELP KOMENDA
podaje skrótowy opis danej komendy
VRFY <użytkownik>
podaje informacje związane z nazwą użytkownika (np. aliasy)
EXPN <lista>
podaje zawartość listy adresowej o podanej nazwie
Komendy VRFY i EXPN są rzadko udostępniane przez administratorów systemów pocztowych
(powiększają ryzyko włamania do systemu).
Jeżeli serwer pocztowy jest w danej chwili nieosiągalny (na przykład uszkodzony), nadawca
otrzymuje komunikat o błędzie. Systemy pocztowe często w takim przypadku buforują wiadomość
i usiłują przekazać ją ponownie po pewnym czasie.
5
Protokół POP
POP służy do odbierania poczty ze skrzynki pocztowej. Wersje POP2 i POP3 dość istotnie różnią się
od siebie zestawami komend (choć funkcjonalnie zapewniają prawie to samo). POP2 wykorzystuje
port TCP nr 109, a POP3 - port TCP nr 110.
Lista komend POP2:
HELO użytkownik hasło
nazwa konta i hasło użytkownika, nawiązanie połączenia
FOLD folder
wybór foldera pocztowego
READ
odczytanie wszystkich wiadomości
READ n
odczytanie wszystkich wiadomości od numeru n
RETR
pobranie wszystkich wiadomości
ACKS
potwierdzenie odbioru i polecenie dalszego zachowania
wiadomości
ACKD
potwierdzenie odbioru i polecenie usunięcia wiadomości
NACK
zawiadomienie o nie odebraniu wiadomości
QUIT
zakończenie sesji i zerwanie połączenia
6
Lista komend POP3:
USER użytkownik
nazwa konta użytkownika
PASS hasło
podanie hasła
STAT
zwraca liczbę nie odebranych wiadomości i ich łączną objętość w bajtach
RETR n
pobranie wiadomości o numerze n
DELE n
usunięcie wiadomości o numerze n
LAST
zwraca numer wiadomości, na której ostatnio wykonano jakieś polecenie
LIST
zwraca objętość (w bajtach) wszystkich przechowywanych wiadomości
LIST n
zwraca objętość (w bajtach) wiadomości o numerze n
RSET
usuwa zaznaczenia wszystkich wiadomości zaznaczonych do usunięcia
TOP n k
podaje nagłówek i k początkowych linii wiadomości o numerze n
NOOP
nic nie wykonuje
QUIT
zakończenie sesji i zerwanie połączenia
Uwaga: wyświetla się !
W stosunku do POP2, POP3 ułatwia operowanie na pojedynczych wiadomościach (umożliwia
wycinanie fragmentów pliku z pocztą po stronie serwera).
7
Protokół IMAP.
IMAP w jeszcze większym stopniu niż POP3 ułatwia operowanie na pojedynczych wiadomościach.
Umożliwia też synchronizację skrzynek pocztowych serwera i klienta - skasowanie pojedynczej
wiadomości po jednej stronie powoduje też skasowanie jej po drugiej stronie i na odwrót.
Rozszerzenie MIME.
MIME określa:
- typ przesyłanej informacji;
- sposób jej zakodowania.
Standard MIME podlega ciągłemu rozwojowi. Informacje na temat jego aktualnych możliwości są
dostępne w Internecie.
8
Typy zawartości (Content-Type) zdefiniowane w pierwotnym standardzie mają swoje podtypy
(subtype), ich liczba cały czas się zwiększa. Najczęściej używane:
text
(plain , richtext , html , ...)
application
(octet-stream , postscript , msword , ...)
image
(jpeg , gif , ...)
video
(mpeg , ...)
audio
(basic , ...)
multipart
(mixed , alternative , encrypted , ...)
message
(rfc822 , partial , external-body , news , ...)
Zazwyczaj stosowany jest zapis o postaci typ / podtyp , np. text / html .
9
Sposób kodowania (Content-Transfer-Encoding) informuje o sposobie przekształcenia informacji
do postaci możliwej do przesłania przy użyciu tradycyjnych systemów SMTP (kod 7-bitowy ASCII,
długość linii mniejsza, niż 100 bajtów). Dostępne sposoby:
7bit
(podstawowy ASCII, brak kodowania)
8bit
(rozszerzony ASCII)
binary
(dowolny ciąg bajtów)
quoted-printable
(znaki specjalne uwidocznione w tekście)
base64
(zamiana bajtów 8-bitowych na znaki 6-bitowe)
x-nazwa
(własne kodowanie użytkownika, które ma nadaną nazwę)
Różne rozszerzone realizacje SMTP mogą obsługiwać różne rodzaje danych. Za rozszerzone SMTP
(Extended SMTP, ESMTP) są uważane takie realizacje SMTP, które reagują na dodatkową komendę
EHLO (Extended HELO), podając w odpowiedzi listę rozszerzeń, które obsługują (każde rozszerzenie
ma swoją nazwę i jest związane z dodatkową listą obsługiwanych komend).
10