• Почему хост и его GW(гейтвей сети) должны быть в одном L2 домене(в одном vlan)?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Представьте обратную ситуацию - хост и его шлюз НЕ находятся в пределах одной сети. Тогда, очевидно, чтобы отправить пакет шлюзу, требуется какой-то узел в сети, маршрутизирующий пакеты за её пределы. Хоп, вы получили новый шлюз.
    Ответ написан
    Комментировать
  • Как подключить физический привод гибких дисков к VirtualBox?

    @rPman
    Так, попробуй перед тем как открывать диалог VirtualBox, размонтировать диск, чтобы он не был смонтирован в каталог /mnt/floppy (лучше это делать не в файловом менеджере а командой sudo umount /dev/sdc в терминале)

    Затем, если диск так и не появится в списке дисков, запусти для простоты VirtualBox из под root (в консоли sudo VirtualBox) и проверь там

    Если и это не сработает, добавь вручную raw диск в списке floppy дисков, указав свое блочное устройство /dev/sdc

    Если не получится, создай на основе блочного устройства vmdk файл диска, с помощью команды:
    sudo VBoxManage internalcommands createrawvmdk -filename floppy_name.vmdk -rawdisk /dev/sdc
    и получившийся floppy_name.vmdk уже подсовывай виртуалке, если не скушает как floppy, давай ему его как жесткий диск

    p.s. следи чтобы система не монтировала этот диск автоматически во время работы виртуалки, а то повредится содержимое файловой системы на нем
    Ответ написан
    1 комментарий
  • Как защифровать внешний HDD диск, чтобы не потерять данные при появлении bad секторов?

    @Drno
    Если контейнер создает 1 файл большого размера, то без вариантов. 1-2 бэда не помешают прочитать, но большое количество уже не даст считать контейнер

    для того чтобы не возникло проблемы, просто надо делать бэкап постоянно
    Ответ написан
    1 комментарий
  • Каким должно быть регулярное выражение для email по заданным условиям?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Можешь выбросить все эти свои собственно выдуманные правил для email, потому что существует RFC 822,который определяет как в действительности должны выглядеть email-адреса.
    Нормальные программисты никогда не проверяют email по regexp
    https://en.wikipedia.org/wiki/Email_address
    Valid email addresses
    simple@example.com
    "user@name"@example.com
    very.common@example.com
    disposable.style.email.with+symbol@example.com
    other.email-with-hyphen@example.com
    fully-qualified-domain@example.com
    user.name+tag+sorting@example.com (may go to user.name@example.com inbox depending on mail server)
    x@example.com (one-letter local-part)
    example-indeed@strange-example.com
    test/test@test.com (slashes are a printable character, and allowed)
    admin@mailserver1 (local domain name with no TLD, although ICANN highly discourages dotless email addresses[10])
    example@s.example (see the List of Internet top-level domains)
    " "@example.org (space between the quotes)
    "john..doe"@example.org (quoted double dot)
    mailhost!username@example.org (bangified host route used for uucp mailers)
    user%example.com@example.org (% escaped mail route to user@example.com via example.org)
    user-@example.org (local part ending with non-alphanumeric character from the list of allowed printable characters)
    postmaster@[123.123.123.123] (IP addresses are allowed instead of domains when in square brackets, but strongly discouraged)
    postmaster@[IPv6:2001:0db8:85a3:0000:0000:8a2e:0370:7334] (IPv6 uses a different syntax)

    Invalid email addresses
    Abc.example.com (no @ character)
    A@b@c@example.com (only one @ is allowed outside quotation marks)
    a"b(c)d,e:f;gi[j\k]l@example.com (none of the special characters in this local-part are allowed outside quotation marks)
    just"not"right@example.com (quoted strings must be dot separated or the only element making up the local-part)
    this is"not\allowed@example.com (spaces, quotes, and backslashes may only exist when within quoted strings and preceded by a backslash)
    this\ still\"not\\allowed@example.com (even if escaped (preceded by a backslash), spaces, quotes, and backslashes must still be contained by quotes)
    1234567890123456789012345678901234567890123456789012345678901234+x@example.com (local-part is longer than 64 characters)
    i_like_underscore@but_its_not_allowed_in_this_part.example.com (Underscore is not allowed in domain part)
    QA[icon]CHOCOLATE[icon]@test.com (icon characters)

    Твои правила ломаются больше чем в половине приведённых примеров

    Если нужен реальных регэксп для имейла, то вот ответ:
    https://stackoverflow.com/questions/201323/how-can...
    // derivative of work with the following copyright and license:
    // Copyright (c) 2004 Casey West.  All rights reserved.
    // This module is free software; you can redistribute it and/or
    // modify it under the same terms as Perl itself.
    
    // see http://search.cpan.org/~cwest/Email-Address-1.80/
    
    private static string gibberish = @"
    (?-xism:(?:(?-xism:(?-xism:(?-xism:(?-xism:(?-xism:(?-xism:\
    s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^
    \x0A\x0D]))|(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))
    |(?-xism:\\(?-xism:[^\x0A\x0D]))|)+)*\s*\)\s*))+)*\s*\)\s*)+
    |\s+)*[^\x00-\x1F\x7F()<>\[\]:;@\,.<DQ>\s]+(?-xism:(?-xism:\
    s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^
    \x0A\x0D]))|(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))
    |(?-xism:\\(?-xism:[^\x0A\x0D]))|)+)*\s*\)\s*))+)*\s*\)\s*)+
    |\s+)*)|(?-xism:(?-xism:(?-xism:\s*\((?:\s*(?-xism:(?-xism:(
    ?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\((?
    :\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x
    0D]))|)+)*\s*\)\s*))+)*\s*\)\s*)+|\s+)*<DQ>(?-xism:(?-xism:[
    ^\\<DQ>])|(?-xism:\\(?-xism:[^\x0A\x0D])))+<DQ>(?-xism:(?-xi
    sm:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xis
    m:[^\x0A\x0D]))|(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\
    ]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|)+)*\s*\)\s*))+)*\s*\)\
    s*)+|\s+)*))+)?(?-xism:(?-xism:(?-xism:\s*\((?:\s*(?-xism:(?
    -xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:
    \s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[
    ^\x0A\x0D]))|)+)*\s*\)\s*))+)*\s*\)\s*)+|\s+)*<(?-xism:(?-xi
    sm:(?-xism:(?-xism:(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^(
    )\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\((?:\s*(
    ?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))
    |)+)*\s*\)\s*))+)*\s*\)\s*)+|\s+)*(?-xism:[^\x00-\x1F\x7F()<
    >\[\]:;@\,.<DQ>\s]+(?:\.[^\x00-\x1F\x7F()<>\[\]:;@\,.<DQ>\s]
    +)*)(?-xism:(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))
    |(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\((?:\s*(?-xism:
    (?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|)+)*\s
    *\)\s*))+)*\s*\)\s*)+|\s+)*)|(?-xism:(?-xism:(?-xism:\s*\((?
    :\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x
    0D]))|(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xi
    sm:\\(?-xism:[^\x0A\x0D]))|)+)*\s*\)\s*))+)*\s*\)\s*)+|\s+)*
    <DQ>(?-xism:(?-xism:[^\\<DQ>])|(?-xism:\\(?-xism:[^\x0A\x0D]
    )))+<DQ>(?-xism:(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\
    ]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\((?:\s*(?-x
    ism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|)+
    )*\s*\)\s*))+)*\s*\)\s*)+|\s+)*))\@(?-xism:(?-xism:(?-xism:(
    ?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?
    -xism:[^\x0A\x0D]))|(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^
    ()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|)+)*\s*\)\s*))+)*\s
    *\)\s*)+|\s+)*(?-xism:[^\x00-\x1F\x7F()<>\[\]:;@\,.<DQ>\s]+(
    ?:\.[^\x00-\x1F\x7F()<>\[\]:;@\,.<DQ>\s]+)*)(?-xism:(?-xism:
    \s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[
    ^\x0A\x0D]))|(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+)
    )|(?-xism:\\(?-xism:[^\x0A\x0D]))|)+)*\s*\)\s*))+)*\s*\)\s*)
    +|\s+)*)|(?-xism:(?-xism:(?-xism:\s*\((?:\s*(?-xism:(?-xism:
    (?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\((
    ?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\
    x0D]))|)+)*\s*\)\s*))+)*\s*\)\s*)+|\s+)*\[(?:\s*(?-xism:(?-x
    ism:[^\[\]\\])|(?-xism:\\(?-xism:[^\x0A\x0D])))+)*\s*\](?-xi
    sm:(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:
    \\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\((?:\s*(?-xism:(?-xism:(
    ?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|)+)*\s*\)\s*))+
    )*\s*\)\s*)+|\s+)*)))>(?-xism:(?-xism:\s*\((?:\s*(?-xism:(?-
    xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:\
    s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^
    \x0A\x0D]))|)+)*\s*\)\s*))+)*\s*\)\s*)+|\s+)*))|(?-xism:(?-x
    ism:(?-xism:(?-xism:(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^
    ()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\((?:\s*
    (?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D])
    )|)+)*\s*\)\s*))+)*\s*\)\s*)+|\s+)*(?-xism:[^\x00-\x1F\x7F()
    <>\[\]:;@\,.<DQ>\s]+(?:\.[^\x00-\x1F\x7F()<>\[\]:;@\,.<DQ>\s
    ]+)*)(?-xism:(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+)
    )|(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\((?:\s*(?-xism
    :(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|)+)*\
    s*\)\s*))+)*\s*\)\s*)+|\s+)*)|(?-xism:(?-xism:(?-xism:\s*\((
    ?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\
    x0D]))|(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-x
    ism:\\(?-xism:[^\x0A\x0D]))|)+)*\s*\)\s*))+)*\s*\)\s*)+|\s+)
    *<DQ>(?-xism:(?-xism:[^\\<DQ>])|(?-xism:\\(?-xism:[^\x0A\x0D
    ])))+<DQ>(?-xism:(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\
    \]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\((?:\s*(?-
    xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|)
    +)*\s*\)\s*))+)*\s*\)\s*)+|\s+)*))\@(?-xism:(?-xism:(?-xism:
    (?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(
    ?-xism:[^\x0A\x0D]))|(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[
    ^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|)+)*\s*\)\s*))+)*\
    s*\)\s*)+|\s+)*(?-xism:[^\x00-\x1F\x7F()<>\[\]:;@\,.<DQ>\s]+
    (?:\.[^\x00-\x1F\x7F()<>\[\]:;@\,.<DQ>\s]+)*)(?-xism:(?-xism
    :\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:
    [^\x0A\x0D]))|(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+
    ))|(?-xism:\\(?-xism:[^\x0A\x0D]))|)+)*\s*\)\s*))+)*\s*\)\s*
    )+|\s+)*)|(?-xism:(?-xism:(?-xism:\s*\((?:\s*(?-xism:(?-xism
    :(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\(
    (?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A
    \x0D]))|)+)*\s*\)\s*))+)*\s*\)\s*)+|\s+)*\[(?:\s*(?-xism:(?-
    xism:[^\[\]\\])|(?-xism:\\(?-xism:[^\x0A\x0D])))+)*\s*\](?-x
    ism:(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism
    :\\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\((?:\s*(?-xism:(?-xism:
    (?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|)+)*\s*\)\s*))
    +)*\s*\)\s*)+|\s+)*))))(?-xism:\s*\((?:\s*(?-xism:(?-xism:(?
    >[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0D]))|(?-xism:\s*\((?:
    \s*(?-xism:(?-xism:(?>[^()\\]+))|(?-xism:\\(?-xism:[^\x0A\x0
    D]))|)+)*\s*\)\s*))+)*\s*\)\s*)*)"
      .Replace("<DQ>", "\"")
      .Replace("\t", "")
      .Replace(" ", "")
      .Replace("\r", "")
      .Replace("\n", "");
    
    private static Regex mailbox =
      new Regex(gibberish, RegexOptions.ExplicitCapture);
    Ответ написан
    4 комментария
  • Стоит ли обновляться на Windows 11?

    Нет ни каких плюсов, похеренное мене пуск и отсутсвие разгруппиповки в панели задач испортили всё впечатление
    Ответ написан
    Комментировать
  • Win 7, папка Winsxs, как почистить?

    HemulGM
    @HemulGM Куратор тега Windows
    Delphi Developer, сис. админ
    Даже идиотский способ гуглить находит результаты. Где вы искали? В поисковике Windows?
    61f7b77a8f0b4595720785.png
    Ответ написан
    1 комментарий
  • Чем отличаются SHA512 и SHA512Digest?

    @GrayHorse
    Там же все ясно написано:

    SHA512
    An implementation of Secure Hashing Algorithm 2 (SHA-2) hashing with a 512-bit digest.


    SHA512Digest
    The output of a Secure Hashing Algorithm 2 (SHA-2) hash with a 512-bit digest.


    SHA512Digest — результат работы алгоритма SHA512 (который является реализацией (одной из) алгоритма SHA-2).
    Ответ написан
    Комментировать
  • Что может быть ниже физического уровня архитектуры компьютера?

    @pfg21
    ex-турист
    тут я думаю вопрос дается с упором на виртуальные машины и все подобное.
    в виртуалках "ниже" виртуальных физических устройств находятся слои виртуальной машины и хостового компуктера.

    предположу это затравка для следующей лекции. про виртуальные машины или чего другого.

    но все зависит от контекста вопроса.
    также можно сказать, что "ниже" "физического" уровня схемы находится плата и корпус который весь ентот винегрет элементов держит в строгом порядке, необходимым для работоспосбности устройства. и т.д. и т.п.
    а уж если вечерком, да под водочку, разлиться мыслью по древу, то и не такое можно нафилософствовать...
    Ответ написан
    1 комментарий
  • Может ли VPN ускорять интернет?

    @rPman
    Нет
    Andrey Barbolin предложил хороший пример с ограничениями провайдера

    я же добавлю, российские провайдеры, успешно ломая интернет последние годы, сделали его ощутимо медленнее в некоторых ситуациях (зависит от провайдера и его настроек фильтрации интернета), поэтому если я вижу что сайт открывается и работает медленно, я открываю его в соседнем браузере с профилем, настроенным на использование socks прокси в европе (vps-ка за пару баксов в месяц) и 'все летает'

    Не представляю, как можно в современных российских реалиях серфить по интернету без такого прокси-соседа. Есть правила автонастройки прокси на основе банлистов, но их использование достаточно сложное.

    Ну а пользоваться на весь трафик vpn-ом это однозначное замедление, как по пингам так и по трафику (vps-ки с хорошей скоростью интернета стоят дороже пары баксов) поэтому приходится вот так разделять по браузерам.
    Ответ написан
    Комментировать
  • Как теоретически возможна установка зашифрованного канала?

    @nApoBo3
    Это не совсем так работает. При симметричном шифровании да, вы должны обменяться ключами через доверенную среду. При не симметричном шифровании, есть открытый ключ и закрытый ключ, один из них шифрует данные, другой расшифровывает. Например, вы публикуете ключ шифрования, кто угодно может зашифровать данные, но расшифровать обратно можете только вы. Если я передам вам по открытым каналам шифрующий ключ, то вы можете быть уверены, что расшифровать ваше сообщение сможет только то, кто вам этот ключ передал( при сохранении тайны закрытого ключа ).
    Здесь может быть реализована mitm атака, когда вам передает ключ не конечный получатель, а промежуточный. Для таких случаев вводят доверенную третью сторону, доверие которой устанавливается "предварительно".
    Ответ написан
    2 комментария
  • Возможно ли выполнить проксирование траффика?

    vabka
    @vabka
    Токсичный шарпист
    Правильно мыслишь.
    Решается это при помощи поднятия vpn на сервере, и настройки iptables (или как там оно сейчас называется) для перенаправления трафика.

    Хотя тут уже возникает вопрос - почему бы тогда не поднять майнкрафт прямо там?
    Ответ написан
    Комментировать
  • Как изменить передаваемые данные браузера?

    qeaqa
    @qeaqa
    Да, возможности есть
    ищи антидетект браузеры их много разных и все нужное в них реализовано
    Ответ написан
    6 комментариев
  • Что делать ошибка Virtual Box?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Глаза протереть.

    Английским по белому написано - невозможно создать сайл образа диска, потому что прав на папку нет.
    Ответ написан
    Комментировать
  • Как синхронизировать базу данных между устройстами?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Мдаааа... Ну ты и жесть ты тут написал. Не хотел бы я этим говном пользоваться.
    Синхронизируй по timestamp и статусам и будет тебе счастье
    Ответ написан
    Комментировать
  • Паралельная работа в Windows, один человек через RDP, второй, как локальный комп?

    @Drno
    Легально только для Винсервер

    Фактически - можно с помощью rdpWrapper активировать мультилогин на обычной винде.
    Программы общие
    Ответ написан
    Комментировать
  • Какую ОС можно поставить на очень слабый нетбук?

    yakovlev_13
    @yakovlev_13
    Шаманство, экзорцизм и некромантия.
    XP-ха норм зайдёт)
    Ответ написан
    2 комментария
  • Каковы шансы сгенерировать одинаковые onion домены?

    Vamp
    @Vamp
    И по какому принципу они вообще генерируются(v3)?

    Генерируется ключевая пара размером 256 бит по алгоритму ed25519. Публичный ключ затем кодируется в base32 вместе с некоторыми служебными данными - номером версии (3) и контрольной суммой. Получившаяся строка и является доменом в зоне onion.

    Если делать полный перебор (а других вариантов я не вижу), то нужно сгенерировать до 2256 ключевых пар. Если взять миллиард компьютеров, которые будут одновременно и без пересечений друг с другом генерировать ключевую пару каждую наносекунду, то все пары можно перебрать примерно за 36*1041 млрд лет, что кажется мне достаточно малым шансом, учитывая, что возраст вселенной всего чуть менее 14 млрд лет.

    Надо отметить, что не все варианты из 256-битового пространства удовлетворяют ed25519. Но даже если отбросить 99% вариантов как невалидные и не тратить время на их генерацию, то перебор оставшихся 1% все равно будет невообразимо дольше возраста вселенной.
    Ответ написан
    Комментировать
  • Как сделать 2 активные учетные записи на винде?

    Stalker_RED
    @Stalker_RED
    Звамечали в некоторых менюшках пункт "запуск от имени администратора"?
    Так вот можно не только от имени администратора. а от имени любого пользователя запускать программы.
    runas /?
    
    RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
            /smartcard [/user:<имя пользователя>] <программа>
    Ответ написан
    Комментировать
  • Что из себя представляет интернет соединение?

    Vindicar
    @Vindicar
    RTFM!
    Поток (в смысле поток байт) - это не более чем удобная абстракция.
    На уровне IP протокола данные маршрутизируются (передаются от узла к узлу) отдельными пакетами, независимо друг от друга.
    Протокол UDP оставляет это как есть - каждая датаграмма будет отдельным пакетом. Как следствие, есть ненулевая вероятность, что какие-то датаграммы могут потеряться, или дойти не в том же порядке, в каком были отправлены.
    Протокол TCP реализует абстракцию "поток байт". Грубо говоря, помимо передаваемых данных, он вставляет в каждый пакет контрольную сумму и номер. Таким образом получатель может проверить целостность пакета, и собрать пакеты в правильном порядке. Если какого-то пакета нет или он повреждён, получатель может запросить повторную отправку этого пакета. Всё это происходит "под капотом" протокола TCP, так что приложение, которое с ним работает, не обязано об этом думать. С его точки зрения, отправленные другой стороной данные приходят к нему в том же порядке, в котором они были отправлены - либо оно получает явное оповещение об ошибке передачи.
    Установка соединения требуется только для того, чтобы "договориться" о нумерации пакетов и других деталях передачи, т.е. задать начальное состояние.
    Ответ написан
    Комментировать
  • Как сервер отправляет данные клиенту?

    hint000
    @hint000
    у админа три руки
    Подтвердите пожалуйста, если это работает так.
    Совсем не так. Постараюсь попроще. Для понимания работы через NAT вам нужно сложить три факта:
    1. В рамках клиентской сети провайдера нет проблем с тем, что адреса у клиентов серые. Потому что провайдер сам назначает эти серые адреса (автоматически) и понимает кто есть кто, и где находится каждый клиент.
    2. Провайдер помнит, что такой-то клиент установил соединение с таким-то сервером, с такого-то порта на такой-то порт. Грубо говоря, помнит до тех пор, пока соединение не будет разорвано.
    3. Ответ сервера идёт не на ваш серый адрес, а на белый адрес самого провайдера.
    Ответ написан
    Комментировать