Shanraq.org Shanraq.org
TCP және UDP: жеткізудің әртүрлі уәдесі
Қоғам

Информатика: өз цифрлық көмекшімізді жасаймыз 42-сабақ (барлығы 46)

TCP және UDP: жеткізудің әртүрлі уәдесі

Жеткізудің екі тәсілін салыстырып, жылдамдықтың өзі міндетті шеше алмайтынын көреміз.

Картадағы орнымыз

Бұл 72 сабақтың 42-сі, «Интернет, веб және бұлт» блогы (39–46). Бір жобаны жалғастырамыз: 1.0 нұсқасындағы ойдан алынған үш жазба мен еске салудың бес нәтижесі сақталуы тиіс. Тірек сызба тексеруге болатын өтуді ғана көрсетеді; жебе барлық аралық құрылғы салынғанын білдірмейді.

TCP және UDP: жеткізудің әртүрлі уәдесі

Жағдай және сұрақ

Мектеп үйірмесі телефонмен үш нұсқауды айтады: «аш», «жаз», «тексер». Екінші қадам жоғалса, үшіншісі нұсқауды түземейді. Ал бейнеқоңырауда жоғалған бір кадрды қайта күтпей өткізіп жіберу ыңғайлы болуы мүмкін. Екі міндетке қандай жеткізу уәдесі қажет?

Жаңа сөздерді анық түсінейік

TCP қосылған екі шет арасында қолданбаға реттелген, сенімді байттар ағынын береді; растау мен қайта жіберу жоғалтуды өтеуге көмектеседі. UDP жеке датаграммаларды ішкі жеткізу және рет кепілдігінсіз береді. Датаграмма — көліктік деңгейдегі дербес хабар. Ағын — байттар тізбегі; TCP жіберілген хабарлардың шекарасын өзі сақтамайды. Еш көлік хаттамасы тапсырманың мазмұнындағы қатені түзетпейді.

Сабақтың тірек сигналы

Сызбаны солдан оңға қарай оқыңыз. Әр жебенің кірісін, әрекетін және тексерілетін нәтижесін атаңыз. Келесі карточканың жазуын жауып, оны өз сөзіңізбен болжаңыз. Нақты мысалға оралыңыз: оқу ұқсастығын, localhost жұмысын және болашақ қашық сайтты ажыратыңыз. Сурет түсіндірмеден артық уәде етсе, мәтінді не суретті түзетіңіз.

Қадамдап талдаймыз

1, 2, 3 карточкаларын елестетіңіз. Оқу TCP моделінде қабылдаушы 2 келмейінше толық мәтінді көрсетпейді; жіберуші жоғалтуды байқап, бөлікті қайта береді. Қарапайым UDP моделінде 1 және 3 келіп, 2 жоғалуы мүмкін; күту, қайталап сұрау не өткізіп жіберу шешімін қолданба қабылдайды. Нақты TCP карточка емес, байт нөмірлерімен жұмыс істейді. Қазіргі HTTP/3 UDP үстіндегі QUIC-ті қолдана алады; бұл оның дерегі қалпына келтірілмейді деген сөз емес — қажет кепілдікті QUIC өзі жасайды.

Болжаңыз және тексеріңіз

Кодты бірден іске қоспаңыз. Жол реті мен таңбаларын сақтап, нақты нәтиже жазыңыз. Бұл шағын мысал нені дәлелдейді, нені дәлелдемейді, түсіндіріңіз: ол бір ережені көрсетеді, бірақ шынайы интернет, TLS сертификаты немесе ашық сервер жасамайды. Содан соң үзіндіні step-04 бумасында орындап, нәтижені таңба бойынша салыстырыңыз. Бір кірісті өзгертіп, алдымен болжап, кейін тексеріңіз.

received = {3: "done", 1: "task", 2: ":"}
print("".join(received[n] for n in sorted(received)))

Күтілетін нәтиже

task:done

Қатені табыңыз

«UDP әрқашан TCP-ден жылдам» деу дұрыс емес. Нәтиже желіге, жоғарғы хаттамаға және мақсатқа тәуелді. TCP-де бір жіберу бір оқуға дәл сәйкес келеді деу де қате: ағын бірнеше бөлікпен не біріктіріліп келуі мүмкін. Хабар шекарасын қолданба өзі анықтайды.

Жобаға енгізілетін өзгеріс

Веб-көмекші төлқұжатына шешім жазыңыз: HTML беті мен JSON файлының бір бөлігі жоғалса, оларды толық дұрыс нәтиже ретінде көрсетуге болмайды. Оқу сызбасында тексерілетін жеткізуді қолданамыз. Жергілікті Python серверіміз 127.0.0.1 адресінде TCP үстіндегі кәдімгі HTTP қолданады; оны HTTPS не QUIC деп атамаңыз.

Тапсырма және дәлел

1 және 3 келді, 2 жоғалды. Оқу TCP және қарапайым UDP нұсқаларындағы мінезді көрсетіңіз. Сосын толық JSON үшін қолданба ережесін айтыңыз: тапсырмаларды қашан көрсету, қашан жауап толық емес деу керек?

Жаңа жағдайға көшіру

Тікелей бейнеқоңырау мен ақша аударымында дерек жоғалса, қандай әрекет қолайлы? Таңдауыңызды жылдамдық ұранымен емес, қатенің салдарымен түсіндіріңіз.

1, 7 және 30 күннен кейін қайталау

1 күннен кейін негізгі өтуді жатқа сызып, тым қарапайым ұқсастыққа қарсы мысал келтіріңіз. 7 күннен кейін мәтінге қарамай жаңа жағдайды досыңызға түсіндіріп, 10 сұрақтың кемінде 7-еуін тексеріңіз. 30 күннен кейін жергілікті веб-нұсқаны қайта ашып, үш бастапқы тапсырма мен бес ереженің сақталғанын көріңіз. Түсініксіз терминді жазып, оның алғашқы анықтамасына оралыңыз.

Тексеруге арналған бастапқы құжат

Ресми құжаттама

Келесі сабақ

TLS: шифрлау және байланысушыны тексеру

Мәтінде қате не теру қатесі кездессе, бізге айтыңыз

Жоба дәлелін тексеру

Бақылауды, түсіндіруді, қатені түзетуді және жобаңыздағы өзгерісті жазыңыз. Модель алғашқы шатасқан немесе дәлелденбеген байланысты көрсетеді, бірақ дайын жауапты бермейді.

Тексеру үшін кіру керек. Кіру

Пікірлер (0)

Әзірге пікір жоқ. Бірінші болыңыз.