Понятия ip фрагментация, mtu, mss, pmtud и их связь

A few tips

Fortigate offloads traffic to ASIC processors after a session is established, to achieve higher performance. With this default setting, not all packets might be captured . Disable ASIC offload while troubleshooting under the matching security policy. Don’t forget to re-enable this!

Use the following options for a complete packet capture from Fortigate, so that they can be viewed on Wireshark correctly .

For example:


Ping can be used to quickly determine the optimal MTU for a network path. Consider the following example on a Windows machine.

This ping command does not include 28 bytes of IP and ICMP headers. Therefore the packet size is 1528 bytes, which is greater than the supported MTU along the path. Here, we receive a response stating that the packet needs to be fragmented, but the infrastructure in the traffic path does not allow fragmentation (DF = Do Not Fragment).

With the payload size reduced to 1472 bytes, we receive ICMP replies without any error. The MTU along this path is therefore 1500 bytes (1472 bytes of payload + 28 bytes of IP and ICMP headers).

From MAC, use:

Размер ставок

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

  • Если за Вами первое слово, Вы делаете рейз в размере 3-х больших блайндов и добавляете 1 большой блайнд за каждого игрока, вошедшего до Вас в игру лимпом (т.е. просто коллировавшего большой блайнд).
  • Если до Вас уже кто-то сделал рейз, Вы делаете ререйз (3-bet) в 3 раза больше первоначального рейза, плюс один размер рейза на каждого игрока, который заколлировал рейз перед Вами.
  • Если Вы решаете ещё раз повысить ставки после одного рейза и одного ререйза (4-bet), то просто идёте олл-ин на все свои фишки.
  • Как нам реагировать на 3-бет за коротким столом? Есть 2 варианта: олл-ин или фолд. Колл 3-бета не рассматривается.


MSS was born and raised in the United States to parents who immigrated from Bangladesh. When it came to gaming, his parents were very strict and often he and his brother would have to do gaming in secrecy, only playing when their father wasn’t home. Originally like many professional players, Arif did not believe he would play Dota professionally until he started standing in for a variety of North American teams such as Team Liquid, Evil Geniuses, and Team Dignitas, and made impressive performances during his times as a stand-in.

Since his stand-in performances and rise to fame, MSS has become known as one of the top offlaners in the North American Dota scene.

Настройка PPOE соединения

Если у Вас используется подключение через протокол PPPoE, то вам следует выбрать

после чего в появившемся окне для настройки выбрать закладку PPPOE/VPN и в данном окне нажать кнопку Добавить соединение

После этого появиться новое окнов котором необходимо произвести настройку подключения использующего протокол PPPOE.

Включить: Данный пункт должен быть выбран (активирует данный вид подключения).

Использовать для выхода в Интернет: Данный пункт должен быть выбран. В случае если выделение снято, то маршрутизатор не будет использовать выделенный порт для связи с провайдером, а будет использовать данный порт как локальный (для взаимодействия внутри локальной сети).

Описание: В данном поле можно задатть название подключения, то как оно будет отображаться в поле настроек маршрутизатора. Рекомендуется указать PPPOE connection.

Тип (протокол): В данном пункте необходимо выбрать тип тунеллированного соединения PPPOE. (доступны так же варианты PPPTP, L2TP – не используемые в вашей сети)

Подключаться через: В данном пункте необходимо выбрать сетевое подключение которое будет использовано для установления подключения. Необходимо выбрать Broadband connection (ISP)

Имя сервиса: Данное поле должно оставаться незаполненным. (не используется) Имя концентратора: Данное поле должно оставаться незаполненным. (не используется) Адрес сервиса: Данное поле недоступно при таком виде подключения.

Имя пользователя: В данном пункте необходимо указать Логин подключения предосталенный Вам провайдером. Пароль: В данном пункте необходимо указать Пароль подключения предоставленный Вам провайдером.

Метод проверки подлинности: В данном пункте должно стоять значение Авто.

Шифрование данных: Данный пунт при таком подключении недоступен. Использовать CCP: Данный пунт при таком подключении недоступен.

Настройка параметров IP: Данный пункт отвечает за тип получения IP адреса. Должно стоять значение Авто.

IP адрес: Данный пунт при таком подключении недоступен. Удален ный IP адрес: Данный пунт при таком подключении недоступен.

DNS 1,2,3: Данные пункты отвечают за указания конкретных DNS серверов. Но в связи с тем, что все настройки присваиваются автоматически, необходимости указывать в данных полях знечения нет.

Автоподстройка TCP-MSS: Данный пункт отвечает за автоподстройку размера фрагментов данных. Этот пункт должен быть включен.

После того как произведена настройка подключения через PPPOE, нужно нажать кнопку ПРИМЕНИТЬ, после чего можно переходить к настройкам Wi-Fi сети.


Add new profile

To add the profile ex that assigns the router itself the address, and the addresses from the ex pool to the clients, filtering traffic coming from clients through mypppclients chain:

 ppp profile> add name=ex local-address= remote-address=ex incoming-filter=mypppclients
 ppp profile> print
Flags: * - default
 0 * name="default" use-compression=no use-vj-compression=no use-encryption=no only-one=no
 1   name="ex" local-address= remote-address=ex use-compression=default
     use-vj-compression=default use-encryption=default only-one=default change-tcp-mss=default
 2 * name="default-encryption" use-compression=default use-vj-compression=default use-encryption=yes
     only-one=default change-tcp-mss=default
 ppp profile>

References and credits

  1. https://forums.clavister.com/viewtopic.php?t=11915
  2. https://tools.ietf.org/html/rfc879
  3. https://tools.ietf.org/html/rfc6691
  4. http://www.tcpipguide.com/free/t_TCPConnectionEstablishmentSequenceNumberSynchroniz.htm
  5. http://www.firewall.cx/networking-topics/protocols/tcp/134-tcp-seq-ack-numbers.html
  6. http://packetlife.net/blog/2010/jun/17/tcp-selective-acknowledgments-sack/
  7. https://tools.ietf.org/html/rfc2001
  8. https://hamwan.org/Standards/Network%20Engineering/IPsec.html
  9. https://fortinetweb.s3.amazonaws.com/docs.fortinet.com/v2/attachments/6db46127-1a1c-11e9-9685-f8bc1258b856/fortigate-hardware-acceleration-56.pdf and
  10. https://forum.fortinet.com/tm.aspx?m=156382
  11. https://forum.peplink.com/t/how-to-determine-the-optimal-mtu-and-mss-size/7895
  12. https://help.fortinet.com/fa/cli-olh/5-6-2/Document/1600_diagnose/sniffer.htm

Для чего необходимо ставить на постфлопе?

1. Максимизация прибыли

Когда у Вас слабая или средняя по силе рука, Вы боретесь за небольшой банк. Когда же у Вас сильная рука, Вы стремитесь сделать банк максимальным.

Максимизации прибыли – извлечения максимального вэлью в тех случаях, когда у Вас сильная рука (сет и выше, а карты стола не предполагают возможности еще более сильных рук у оппонентов).

По сути, главной Вашей целью становится — заставить соперников пойти в олл-ин. На решение о том, как этого достичь влияют следующие основные факторы: Необходимость защиты руки, количество соперников, тип и стиль игры соперника (в т.ч. его статистика), Ваш имидж за столом, величина стеков (Вашего и соперника), Ваша позиция по отношению к оппонентам, и инициатива (кто последним проявлял агрессию).В зависимости от всех этих факторов вы выбираете общую линию игры:

  • Активный розыгрыш, когда Вы сами делаете ставки и рейзы.
  • Пассивный розыгрыш (слоуплей), когда Вы даете возможность оппонентам делать ставки, получать бесплатные карты, за что-то зацепиться на столе, или просто блефовать.

2. Блеф

  • Не раздувайте блефами банк слишком сильно.
  • Подбирайте ситуации, в которых Ваша рука ещё может улучшиться.
  • Блефуйте только против игроков, которые умеют сбрасываться.
  • Не блефуйте против большого количества оппонентов.
  • Блефуйте только тогда, когда можете правдоподобно что-либо изобразить, а оппоненты вряд ли хорошо попали в борд.

3. Продолженная ставка (contbet)

Будучи пре-флоп — агрессором, вы можете атаковать продолженной ставкой многие флопы, но не каждый. При принятии решения о продолженной ставке нужно учитывать следующие основные факторы:

  • Карты стола
  • Число оппонентов
  • Типы оппонентов
  • Позиция

В неизвестного оппонента Вы всегда ставите контбет, если по спектру доска Вам подходит больше чем оппоненту. Например, в Туза или Короля. И наоборот, если Вы получили очень дровяной борд и не попали во флоп, лучше сыграть чек-фолд. Если же оппонент знакомый и у Вас есть на него достаточно информации, то, помимо текстуры борда следует смотреть на показатель Fold to Flop CBet(если играете со статистикой): чем больше этот показатель, тем чаще можно ставить в него контбеты. Средний показатель Ваших контбетов должен лежать между 60 и 85%.

Примеры хороших бордов для контбета: , , .Примеры плохих бордов для контбета: , .

В мультипоте продолженная ставка обычно имеет мало смысла, конечно, если Вы совсем не попали во флоп.

4. Защита руки

В большинстве случаев, получив готовую руку на флопе и находясь впереди оппонентов, Вы должны опасаться выхода на терне и ривере карт, которые помогут оппонентам выиграть руку. Ауты на лучшую руку будут у оппонентов почти всегда. Поэтому Вам необходима защита руки.

Защита руки – это ставка достаточно большого размера, при котором оппонентам становится невыгодным колл этой ставки в расчете на выход своих аутов.

Цель защиты руки — сделать невыгодным для оппонентов продолжение игры и забрать банк. При этом:

  • Имея сильную руку, дающую оппоненту большие предполагаемые оддсы, нужно делать большие ставки. Чтобы размер ставок не давал информации сопернику, можно балансировать их случаями блефа.
  • Нужно активно вытеснять из банка оппонентов, если их несколько.
  • Слоуплей и пассивный розыгрыш возможны только с руками-монстрами, когда Вы не боитесь, что соперник может собрать более сильную комбинацию. В этом случае Вы можете давать бесплатные карты.
  • Нужно учиться балансировать защиту руки и контроль банка, ориентируясь на карты стола, характер и игру в конкретной ситуации оппонентов.


See how fast you can record the screen.
You can easily view a HD movie with VLC and see it too in the OpenCV window.
And with __no__ lag please.

import time

import cv2
import mss
import numpy

with mss.mss() as sct
    # Part of the screen to capture
    monitor = {"top" 40, "left" , "width" 800, "height" 640}

    while "Screen capturing"
        last_time = time.time()

        # Get raw pixels from the screen, save it to a Numpy array
        img = numpy.array(sct.grab(monitor))

        # Display the picture
        cv2.imshow("OpenCV/Numpy normal", img)

        # Display the picture in grayscale
        # cv2.imshow('OpenCV/Numpy grayscale',
        #            cv2.cvtColor(img, cv2.COLOR_BGRA2GRAY))

        print("fps: {}".format(1  (time.time() - last_time)))

        # Press "q" to quit
        if cv2.waitKey(25) & 0xFF == ord("q"):

Оригинал тут http://www.cyberguru.ru/networks/protocols/ip-fragmentation-page3.html

Максимальный Размер TCP Сегмента (MSS) определяет максимальное количество данных, которые хост желает принимать в единственной TCP/IP датаграмме. Эта TCP/IP датаграмма может быть фрагментирована в уровне IP. Значение MSS посылают как опциию TCP заголовка только в сегменте TCP SYN. Каждая сторона на TCP соединении сообщает свое значение MSS другой стороне. Хост отправитель обязан ограничивать размер данных в единственном TCP сегменте в значение, меньшем или равном MSS, о котором сообщает хост получатель.

Первоначально, значение MSS означало, сколько памяти нужно выделить (больше или равной 65496 КБ) на станции получателя, чтобы в состоянии хранить TCP данные, содержавшиеся в пределах единственной IP датаграммы. MSS был максимальным сегментом (кусочком) данных, которые желал принимать TCP получатель. Этот TCP сегмент мог быть огромным, примерно до 64 КБ (максимальный размер IP датаграммы), и его необходимо было фрагментировать на уровне IP, чтобы передать по сети к хосту получателю. Принимающий хост повторно должен был собрать IP датаграмму прежде, чем передать полный TCP сегмент на уровень TCP.

Рассмотрим ниже несколько показательных сценариев, от том как установливаются и используются значения MSS, чтобы ограничить размеры TCP сегмента, и соотвественно, размеры IP датаграммы.

Сценарий 1 иллюстрирует способ, которым реализовывлся MSS ранее. Хост A имеет буфер 16 КБ а Хост B — буфер 8 КБ. Они посылают и получают свои МSS значения и корректируют их чтобы послать данные друг другу. Заметьте, что Хост A и Хост B должны фрагментировать IP датаграммы, которые по размеру больше чем MTU интерфейса, но все еще меньше чем посылаемый MSS, потому что стек TCP может передать 16 КБ или 8 КБ данных в IP стек. В случае Хоста B, пакеты могут быть фрагментированы дважды, один раз, чтобы дойти до Token Ring LAN и еще раз, чтобы добраться до сети Ethernet.

  1. Хост А посылает свое MSS значениеХ в 16К Хосту B
  2. Хост B принимает значение MSS 16K от Хоста A
  3. Хост B устанавливает MSS посылки в значение 16K
  4. Хост B посылает свое значение MSS в 8K хосту A
  5. Хост A принимает значение MSS 8K от Хоста B
  6. Хост A устанавливает MSS посылки в значение 8K

Для того, чтобы уйти от IP-фрагментации, на конечных точках TCP соединения, выбранные значения MSS были изменены на минимальный размер буфера и MTU исходящего интерфейса (-40). Значение MSS на 40 байт меньше чем значение MTU, потому что MSS это только размер TCP данных, который не включает 20-байтовый заголовок IP и 20-байтовый заголовок TCP. MSS основан на значениях размера заголовков по умолчанию; стек отправителя должен вычесть соответствующие значения для IP заголовка и TCP заголовка в зависимости от того, какая используется TCP или IP опция.

Способ которым теперь работает MSS это то, что каждый хост сначала сравнивает свой MTU исходящего интерфейса с его собственным буфером и выберет самое низкое значение в качестве MSS, для посылки. Затем хосты сравнят полученный размер MSS, с их собственным MTU интерфейса и снова выберут меньшее из двух значений.

Сценарий 2 иллюстрирует этот дополнительный шаг, сделанный отправителем, чтобы избежать фрагментации на локальных и удаленных каналах

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

  1. Хост A сравнивает свой MSS буфер (16 КБ) и свой MTU (1500 — 40 = 1460) и использует наименьшее значение как MSS (1460), чтобы послать его Хосту B.
  2. Хост B получает MSS (1460) который послал хост A, и сравнивает его со значением MTU своего исходящего интерфейса — 40 (4422).
  3. Хост B устанавливает наименьшее значение (1460) как MSS для того, чтобы послать IP датаграммы Хосту A.
  4. Хост B сравнивает свой MSS буфер (8 КБ) и свой MTU (4462-40 = 4422) и использует 4422 как MSS, чтобы послать его Хосту A.
  5. Хост A получает MSS от хоста B (4422), и сравнивает его со значением MTU своего исходящего интерфейса -40 (1460).
  6. Хост А устанавливает наименьшее значение (1460) как MSS для того, чтобы посылать IP датаграммы Хосту B.

1460 это значение, выбранное обоими хостами как МSS посылка друг для друга. Часто посылаемое значение MSS будет тем же самым на каждой стороне TCP соединения.

В Сценарии 2, фрагментация не происходит, потому что хостами были приняты во внимание MTU обоих интерфейсов. Пакеты могут все еще фрагментироваться в сети между Router A и Router B, если они встретят линк с более низким MTU

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *