Middle
Дар бораи қабати нақлиёт (transport layer) модели TCP/IP нақл кун.
sobes.tech AI
Ҷавоб аз AI
Қабати интиқолии TCP/IP пайвастиро байни равандҳое, ки дар ҳостҳои гуногун оғоз шудаанд, таъмин мекунад. вазифаҳои асосӣ:
- Шенасоии барномаҳо/равандҳо дар ҳост (аз тариқи портҳо).
- Таҳия кардани хидматҳои интиқоли маълумот:
- интиқоли боэътимод, ба тартиб даровардашуда (TCP).
- интиқоли номуайян, бе кафолат (UDP).
Ду протоколи асосӣ:
- Transmission Control Protocol (TCP):
- Ба пайвастагиҳо нигаронида шудааст.
- Дастгирии расонидани пакетҳо, нигоҳ доштани тартиб, назорати ҷараён ва идоракунии боришро кафолат медиҳад.
- Барои барномаҳое, ки интиқоли боэътимодро талаб мекунанд (HTTP, FTP, SMTP), истифода мешавад.
- User Datagram Protocol (UDP):
- Бе пайваст.
- Расонидани кафолат дода намешавад, тартиб ё назорати ҷараён.
- Камтар дер, барои барномаҳои вақтсанҷ, ки дар он каме гумшавии маълумот иҷозат дода мешавад (DNS, VoIP, видеои ҷараёнӣ).
Сегментҳои TCP дорои майдонҳо барои: портҳои манбаъ/мақсад, рақамҳои тартиб, рақамҳои тасдиқ, рамзҳо (SYN, ACK, FIN), ҳисобкунии назоратӣ мебошанд.
Датаграмҳои UDP дорои майдонҳо барои: портҳои манбаъ/мақсад, дарозӣ ва ҳисобкунии назоратӣ мебошанд.
Портҳо (ports): рақамҳои 16-бит, ки барои мултиплекс ва демултиплекс кардани маълумот байни равандҳо истифода мешаванд.
- Well-known ports (0-1023): барои хидматҳои стандартӣ (80 барои HTTP, 443 барои HTTPS, 22 барои SSH) захира шудаанд.
- Registered ports (1024-49151): барои барномаҳои хусусӣ, ки дар IANA сабт шудаанд.
- Dynamic/Private ports (49152-65535): барои пайвастагиҳои содиротӣ аз ҷониби мизоҷон истифода мешаванд.
Масалан, барқарор кардани пайвасти TCP (Three-way Handshake):
- Мизоҷ сегментро бо рамзи SYN ва рақами оғозии тартибӣ мефиристад.
- Сервер SYN-ро мегирад, бо сегменте бо рамзҳои SYN ва ACK, рақами оғозии худро ва рақами тасдиқро, ки баробар ба client_seq + 1, ҷавоб медиҳад.
- Мизоҷ SYN+ACK-ро мегирад, бо сегменте бо рамзи ACK ва рақами тасдиқ, ки баробар ба server_seq + 1, ҷавоб медиҳад. Пайвастаги барқарор мешавад.
// Намунаи сохтори сарлавҳаи TCP (одамсозишуда)
struct tcp_header {
unsigned short src_port; // Порт манбаъ
unsigned short dest_port; // Порт мақсад
unsigned int seq_num; // Рақами тартиб
unsigned int ack_num; // Рақами тасдиқ
unsigned short flags; // Рамзҳо (SYN, ACK, FIN ва ғайра)
// майдонҳои дигар...
};
// Намунаи сохтори сарлавҳаи UDP (одамсозишуда)
struct udp_header {
unsigned short src_port; // Порт манбаъ
unsigned short dest_port; // Порт мақсад
unsigned short length; // Дарозии UDP datagram
unsigned short checksum; // Ҳисобкунии назоратӣ
};