Veri İletişimi Veri
İletişimi
Data Communications
Suat ÖZDEMİR
Suat
ÖZDEMİR
Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü
11‐A. HDLC‐PPP
HDLC
• High‐level Data Link Control (HDLC) point‐to‐
point ve multipoint linklerde
p
p
iletişim için ş ç
kullanılan bit‐oriented bir protokoldür. • ARQ mekanizmalarını kullanır.
ARQ mekanizmalarını kullanır
• İki yaygın iletim modu vardır
– normal response mode (NRM)
– asynchronous balanced mode (ABM)
asynchronous balanced mode (ABM)
HDLC
• Normal response mode (NRM) da düğüm ğ
g
dağılımı dengesizdir
• Bir primary düğüm ve birçok secondary düğüm vardır
düğüm vardır. • Primary düğüm komut gönderir
• Secondary düğüm sadece cevap verebilir
• NRM point‐to‐point ve multiple‐point NRM i t t
i t
lti l
i t
linklerde kullanılabilir
HDLC
• Normal response mode (NRM)
response mode (NRM)
HDLC
• Asynchronous balanced mode (ABM) de g
y
g
konfigürasyon dengelidir.
• Bağlantı point‐to‐point dir ve her düğüm primary yada secondary gibi çalışabilir. primary yada
secondary gibi çalışabilir
• Bu mod günümüzde yaygın kullanılmaktadır.
HDLC
• FFrameler
l
• HDLC üç çeşit frame tanımlar defines three types of frames: frames:
– information frames (I‐frames)
– supervisory frames (S‐frames)
– unnumbered frames (U‐frames)
• Her bir frame farklı bir mesaj türü için zarf görevi görür
– I‐frameler: kullanıcı verisi ve bu veriye ait kontrol bilgisi (piggybacking). – SS‐frameler:
frameler: Kontrol
Kontrol bilgisi. bilgisi.
– U‐frameler sistem yönetimi için kullanılır. Bağlantı hakkında bilgi taşırlar. HDLC
• Her
Her frame 6 tane alan bulundurabilir: Flag, adres, frame 6 tane alan bulundurabilir: Flag adres
kontrol,bilgi,FCS, flag bitiş • Çoklu frame gönderiminde flag bitiş diğerinin başlangıç flagi Ç
g
g
ş ğ
ş gç g
olabilir
HDLC
• Flag alanı: 8‐bitlik 01111110 bit dizisidir. Frame in başlangıç g
ş gç
ve bitişini belirler. Alıcı için senkronizasyon işareti görevi yapar
• Adres alanı: Secondary düğümün adresini tutar. Primary Adres alanı: Secondary düğümün adresini tutar Primary
düğüm frame’i oluşturduysa “to” adresi, secondary düğüm oluşurduysa “from” adresi içerir. Ağa göre 1‐byte yada daha uzun olabilir. l bili
• Eğer adres 1‐byte ise son bit mutlaka 1 dir. Daha çok sayıda byte dan oluşuyorsa son byte hariç diğerlerinin son bitleri
byte dan oluşuyorsa son byte hariç diğerlerinin son bitleri mutlaka 0 dır. Son byte’ın son biti ise 1 dir. Alıcı bu sayede adres bilgisinin bittiğini yada bitmediğini anlar.
• Kontrol alanı: Hata ve akış kontrolü için 1‐2 byte lık bir Kontrol alanı: Hata ve akış kontrolü için 1 2 byte lık bir
alandır.
• Bilgi alanı: Kullanıcı verisi. Uzunluğu ağa göre değişir. g
ğ ğ g
ğş
• FCS alanı: HDLC hata bulma alanıdır. 2‐ yada 4‐byte CRC kullanılır.
HDLC
• Kontrol alanı frame türünü ve işlevini belirler. HDLC
• II‐Frame için kontrol alanı
F
i i k t l l
• I‐frameler network katmanından gelen kullanıcı verisini taşırlar. taşırlar
• Ek olarak akış ve hata kontrol bilgisi de taşırlar. • İlk bit frame türünü belirler. İlk bit frame türünü belirler.
– Eğer ilk bit sıfırsa I‐frame anlamına gelir. • Sonra gelen 3 bit frame sıra numarasını N(S)
g
( )
• En son gelen 3 bitte piggybacking yapıldığında ACK sıra numarasını N(R) verir.
• Bir bitlik P/F alanı veri toplama ve bitiş (poll ve final) /
için kullanılır. bit = 1 olarak kullanılır. Primary düğümden gönderilirse poll secondary düğümden
düğümden gönderilirse poll, secondary düğümden gönderilirse final anlamına gelir. HDLC
• S‐Frame için kontrol alanı
• Supervisory frameler piggybacking yapılmadığı durumlarda akış ve hata kontrolü için kullanılırlar. Veri alanları yoktur.
• İlk iki bit 10 ise, frame bir S‐Framedir. Son 3 bit, N(R), ACK veya NAK ,
, ( ),
y
numarasıdır.
• 2‐bitlik kod ile, S‐Frame’in türü belirlenir. 4 çeşit S‐Frame vardır
– Receive
Receive Ready (RR): Kod alanı değeri 00. Bu frame gönderilen Ready (RR): Kod alanı değeri 00 Bu frame gönderilen
framelerin bozulmadan alındığını onaylar. N(R) alanı ACK numarasını içerir.
– Receive not ready (RNR). Kod alanı değeri 10. RR ye benzer. Bu frame y(
)
ğ
y
gönderilen frmaelerin bozulmadan alındığını onaylar ve alıcının meşgul olduğunu ve daha fazla frame alamayacağını belirtir. Tıkanıklık kontrolorü görevi yapar. N(R) alanı ACK numarasını içerir.
– Reject (REJ). Kod alanı değeri 10. Bu bir NAK frame’idir. Go‐Back‐N ARQ R j t (REJ) K d l d ğ i 10 B bi NAK f
’idi G B k N ARQ
da ki NAK görevini yapar. Timer dolmadan göndericiyi alınamayan frame hakkında uyarır. N(R) alanı NAK numarasını içerir.
– Selective reject (SREJ). Kod alanı değeri 11. Bu bir NAK frameidir. Selective reject (SREJ) Kod alanı değeri 11 Bu bir NAK frameidir
Selective Repeat ARQ da ki NAK görevini yapar. N(R) alanı NAK numarasını içerir.
HDLC
• U‐Frame için kontrol alanı
ç
• Unnumbered frameler kontrol ve oturum yönetimi için kullanılırlar. Kullanılan kodlar tabloda verilmiştir. HDLC
• Ö
Örnek : k
Connection/Disconnection
• U‐Frame kullanılır. • set asynchronous balanced mode (SABM) frame ile connection
frame ile connection istenir • UA ile olumlu cevap alınır. p
• İşlem bitince DISC (disconnect) frame ile disconnect olur
disconnect olur.
• UA ile olumlu cevap alınır. HDLC
• Pi
Piggybacking (hatasız)
b ki (h t
)
• Node A iki tane I‐Frame ile iletişime geçer
iletişime geçer • Node B her iki frame içinde ACK gönderir, 2 nolu frame i g
beklediğini belirtir.
• Node B iki I‐frame ile veri gönderir
• Node A nın piggybacking yapacak framei yok
yapacak framei yok
• S‐Frame ile iletişim sonladırılır
HDLC
Piggybacking (hatalı)
i
b ki (h l )
Node B 3 tane göndermiş
1 numara kayıp
Node A frame 2 yi siler REJ 1 Node A frame 2 yi
siler REJ 1
ile NAK gönderir
• Node B frame 1 ve 2 yi Node B frame 1 ve 2 yi
tekrar gönderir.
• Node A RR türü S‐Frame ile Node A RR türü S Frame ile
Frame 3 ü beklediğini bildirir.
•
•
•
•
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• HDCL multi point ve point to point konfigürasyonlarda k ll l genell bir
kullanılan
bi protokol
t k l olmasına
l
rağmen, PPP ğ
PPP
günümüzde en çok kullanılan protokoldür.
– Internet bağlanma işlemi
Internet bağlanma işlemi
• Data link layer da çalışır • Sağladığı servisler:
Sağ ad ğ se s e
– Frame formatını belirler
– Network katmanından gelen paketin data link katmanında nasıl paketleneceğin, belirler
l k tl
ği b li l
– Authentication
– Adressing
• Sağlamadığı servisler
– Akış kontrolu
ş
– Hata denetimi (çok basit sadece CRC kullanır)
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• PPP byte‐oriented bir protokoldür. Framing
y
p
g daha önce gördüğümüz byte‐oriented şekildeyapılır.
• Flag: 01111110 bir byte flag ile başlar ve biter
• Adres: 11111111 sabit değeri içerir broadcast yapılır
• Kontrol: 11000000 değerini içerir ve kullanılmaz
ğ
ç
• Protocol: Ne tür veri taşındığını belirtir.
• Payload: Değişken uzunlukta veri içerir. Genelde 1500 Payload: Değişken uzunlukta veri içerir. Genelde 1500
byte. Veri içinde flag deseni varsa byte stuffing yapılır
• FCS: 2 yada 4 byte CRC bulunur.
y
y
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• Byte Stuffing
• PPP ve HDLC
PPP ve HDLC arasındaki benzerlik frame arasındaki benzerlik frame
formatında biter. • PPP byte‐oriented protocoldür ve bit oriented PPP b
i
d
ldü
bi i
d
HDLC den farklıdır. • Veri içinde flag deseni varsa byte stuffing yapılır
– Kullanılan escape byte “01111101” dır. POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• Bir PPP bağlantısı aşağıda gösterilen transition g ç
lardan geçer
Veri transferi gerçekleşir
Network katmanı protokolleri çalışır
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• M
Multiplexing
lti l i
• PPP data link layer protokolü olmasına rağmen, bağlantı kurmak kimlik doğrulama ve network
bağlantı kurmak, kimlik doğrulama ve network katmanı verisini taşımak için başka protokollerde kullanır. kullanır
• PPP yi güçlendirmek için 3 çeşit protokol grubu vardır: vardır:
– Link Control Protocol (LCP), – İki Authentication Protokolü ((APs), ),
– Çeşitli Network Control Protokolleri (NCPs).
• PPP paketi data alanı içinde bu protokollerden p
ç
p
birini taşır
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• Link Control Protocol
– Linklerin kurulması, devam ettirilmesi, konfigüre Linklerin kurulması, devam ettirilmesi, konfigüre
edilmesi, ve sonlandırılmasından sorumludur. – Protokol alanı
Protokol alanı C021 hexadecimal
C021 hexadecimal değerindedir.
değerindedir
– Kod alanında 11 farklı paket türü olabilir
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• LCP paketleri POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
•
•
•
•
•
•
İlk 4 paket türü link configuration için
İlk
4 k t tü ü li k
fi
ti i i
5‐6 termination aşamasında Diğer 5 paket türüde debug ve monitor için kullanılır
Diğer 5 paket türüde debug ve monitor için kullanılır
ID alanı her pakete yazılır ve cavbına kopyalanır
Length LCP paketinin boyutunu belirler
Length LCP paketinin boyutunu belirler
Information alanı opsiyonları gösterir
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• Authentication Protocols
• Authentication plays a very important role in PPP p y
y p
because PPP is designed for use over dial‐up links where verification of user identity is necessary.
where verification of user identity is necessary. • Authentication means validating the identity of a user who needs to access a set of resources. h
d t
t f
• PPP has created two protocols for authentication:
– Password Authentication Protocol – Challenge Handshake
g
Authentication Protocol. POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• PAP The Password Authentication Protocol (
(PAP) is a simple authentication procedure
)
p
p
with a two‐step process:
– The user who wants to access a system sends an The user who wants to access a system sends an
authentication identification (usually the user name) and a password
name) and a password.
– The system checks the validity of the identification and password and either accepts
d
d d ith
t or denies d i
connection.
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
3 çeşit paket POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• CHAP
CHAP The Challenge Handshake Authentication Protocol Th Ch ll
H d h k A th ti ti P t l
(CHAP) is a three‐way hand‐shaking authentication protocol that provides greater security than PAP. • The password is kept secret; it is never sent online.
– The system sends the user a challenge packet containing a challenge value usually a few bytes.
challenge value, usually
a few bytes
– The user applies a predefined function that takes the challenge value and the user‘s own password and creates a result. The user sends the result in the response packet to the system.
user sends the result in the response packet
to the system
– The system does the same. It applies the same function to the password of the user (known to the system) and the challenge value to create a result If the result created is the same as the value to create a result. If the result created is
the same as the
result sent in the response packet, access is granted; otherwise, it is denied.
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• CHAP is more secure than PAP, especially if y
y
g the the system continuously changes
challenge value. • Even if the intruder learns the challenge value Even if the intruder learns the challenge value
and the result, the password is still secret.
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• Network Control Protocols
N t
kC t lP t l
– PPP is a multiple‐network layer protocol. – It can carry a network layer data packet from
It can carry a network layer data packet from protocols protocols
defined by the Internet, OSI, Xerox, DECnet
– To do this, PPP has defined a specific Network Control P t l for each network protocol.
Protocol
f
h t
k
t l
– For example, IPCP (Internet Protocol Control Protocol) configures the link for carrying IP data packets. g
y g
p
– Xerox CP does the same for the Xerox protocol data packets, and so on. – Note that none of the NCP packets carry network layer Note that none of the NCP packets carry network layer
data; they just configure the link at the network layer for the incoming data., AppleTalk, Novel, and so on.
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• IPCP
IPCP – One NCP protocol is the Internet Protocol Control Protocol (IPCP)
Protocol (IPCP). – This protocol configures the link used to carry IP packets in the Internet. – IPCP is especially of interest to us.
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• IPCP defines seven packets, distinguished by their code values
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• Multilink PPP
l ili k
– PPP was originally designed for a single‐channel point‐to‐point physical link. – The availability of multiple channels in a single point‐to‐point link motivated the development of
Multilink PPP. – In this case, a logical PPP frame is divided into several actual PPP frames. – A segment of the logical frame is carried in the payload of an actual PPP frame. POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• To show that the actual PPP frame is carrying g
logical PPP frame, the protocol g
p
a fragment of a
field is set to 0x003d
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• LLet us go through
h
h the
h phases
h
f ll
followed
d by
b a networkk
layer packet as it is transmitted through a PPP
connection.
connection
• We assume unidirectional movement of data from the
user site to the system site (such as sending an ee‐mail
mail
through an ISP).
• The first two frames show link establishment. We have
chosen two options: using PAP for authentication
suppressing the address control fields. Frames 3 and 4
are for authentication. Frames 5 and 6 establish the
network layer connection using IPCP.
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
• Th
The nextt severall frames
f
show
h
th t some IP packets
that
k t are
encapsulated in the PPP frame.
• The system
y
((receiver)) mayy have been runningg several
network layer protocols, but it knows that the incoming
data must be delivered to the IP protocol because the NCP
protocol used before the data transfer was IPCP.
IPCP
• After data transfer, the user then terminates the data link
connection, which is acknowledged by the system.
• Of course the user or the system could have chosen to
terminate the network layer IPCP and keep the data link
layer running if it wanted to run another NCP protocol.
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
POINT TO POINT PROTOCOL (PPP)
POINT‐TO‐POINT PROTOCOL (PPP)
Download

Bilgisayar Mühendisliği Bölümü