unknown 22 ساعت پیش
والد
کامیت
783ac76e99
5فایلهای تغییر یافته به همراه59 افزوده شده و 43 حذف شده
  1. 11 40
      .obsidian/workspace.json
  2. 22 1
      Greenstar/ethernet stm32.md
  3. 0 1
      Untitled.canvas
  4. 1 1
      c/c common.md
  5. 25 0
      c/printf scanf.md

+ 11 - 40
.obsidian/workspace.json

@@ -8,21 +8,7 @@
         "type": "tabs",
         "children": [
           {
-            "id": "3e9f239e738f776c",
-            "type": "leaf",
-            "state": {
-              "type": "markdown",
-              "state": {
-                "file": "c/c common.md",
-                "mode": "source",
-                "source": false
-              },
-              "icon": "lucide-file",
-              "title": "c common"
-            }
-          },
-          {
-            "id": "ab6baf98ffde01a4",
+            "id": "8e66644a45b88361",
             "type": "leaf",
             "state": {
               "type": "markdown",
@@ -34,23 +20,8 @@
               "icon": "lucide-file",
               "title": "allwinner 069 070"
             }
-          },
-          {
-            "id": "8e66644a45b88361",
-            "type": "leaf",
-            "state": {
-              "type": "markdown",
-              "state": {
-                "file": "ROTEK/universal IO/universal IO.md",
-                "mode": "source",
-                "source": false
-              },
-              "icon": "lucide-file",
-              "title": "universal IO"
-            }
           }
-        ],
-        "currentTab": 1
+        ]
       }
     ],
     "direction": "vertical"
@@ -180,10 +151,18 @@
       "markdown-importer:Open format converter": false
     }
   },
-  "active": "ab6baf98ffde01a4",
+  "active": "c7584343712d3d31",
   "lastOpenFiles": [
     "c/c common.md",
+    "c/printf scanf.md",
+    "Greenstar/ethernet stm32.md",
     "ROTEK/allwinner 069 070.md",
+    "linux/server.md",
+    "Greenstar/FPGA Blaster.md",
+    "Greenstar/modbus in ethernet stm32.md",
+    "Greenstar/stm32l476VG-usb спектрометр.md",
+    "Greenstar/usb stm32.md",
+    "Untitled.canvas",
     "ROTEK/Arbiter.md",
     "ROTEK/universal IO/universal IO.md",
     "ROTEK/universal IO/tasks.md",
@@ -202,7 +181,6 @@
     "English/img/34-2.jpg",
     "English/img/34-1.jpg",
     "proGit.md",
-    "printf.md",
     "hardcore web development/11. SQL/Создание таблиц.md",
     "hardcore web development/11. SQL/Дата и время.md",
     "hardcore web development/11. SQL/Типы данных.md",
@@ -212,18 +190,11 @@
     "c/GDB.md",
     "ASM/asm_x64.md",
     "ROTEK/BT_6714.md",
-    "Greenstar/ethernet stm32.md",
-    "todo/Счета.md",
-    "ASM/Компоновщик.md",
-    "ASM/gdb.md",
-    "hardcore web development/4. Linux.md",
-    "English/Homework/Homework 8.md",
     "docs/Galleon.pdf",
     "docs/~$alleon.doc",
     "docs/Galleon.doc",
     "docs/megatec 单相协议 new.pdf",
     "docs/!Galleon(1).doc",
-    "Untitled.canvas",
     "hardcore web development/11. SQL/quiz_1.sql",
     "hardcore web development/11. SQL/room_1.sql",
     "hardcore web development/11. SQL/bird_1.sql",

+ 22 - 1
Greenstar/ethernet stm32.md

@@ -50,4 +50,25 @@ Sector 7 0x080C 0000 - 0x080F FFFF - 256 KB
 Ссылки:
 - https://totozhang.github.io/2016-01-31-tcp-timewait-status/
 - https://networkguru.ru/protokol-transportnogo-urovnia-tcp-chto-nuzhno-znat/
-- http://www.xserver.ru/computer/protokol/tcpip/3/18.shtml - хорошее описание TCP на русском
+- http://www.xserver.ru/computer/protokol/tcpip/3/18.shtml - хорошее описание TCP на русском
+
+~={green}Разное о TCP=~
+
+Когда каждая сторона отправила свой SYN чтобы установить соединение, она выбирает исходный номер последовательности (ISN) для этого соединения. ISN должен меняться каждый раз, поэтому каждое соединение имеет свой, отличный от других ISN. ISN - это 32-битный счетчик, который увеличивается на единицу каждые 4 микросекунды. Благодаря номерам последовательностей, пакеты, задержавшиеся в сети и доставленные позже, не воспринимаются как часть существующего соединения.
+
+~={yellow}Установка соединения=~
+Для установки соединения достаточно 3 сегмента. 
+
+Если сервер не отвечает на SYN клиента, клиент отправит второй SYN через 5.8 секунды, а третий пошлет через 24 секунды после второго. Большинство систем Berkley прекращают попытки соединения через 75 секунд.
+
+~={yellow}Разрыв соединения=~
+Для разрыва соединения достаточно 4-ех сегментов. Это связано с тем, что TCP-соединение может быть в полузакрытом состоянии. Каждое направление должно быть закрыто независимо от другого.
+Когда сервер получает FIN, он отправляет назад ACK с принятым номером последовательности плюс один (сегмент 5). На FIN тратится один номер последовательности, так же как на SYN.
+
+~={yellow}MSS максимальный размер сегмента=~
+MSS - это самая большая порция данных, которую TCP пошлет на удаленный конец. Когда соединение устанавливается, каждая сторона может объявить свой MSS. 1024 - было в примерах. IP датаграмма, которая получится в результате, обычно на 40 байт больше: 20 байт отводится под TCP заголовок и 20 байт под IP заголовок. Если одна сторона не принимает опцию MSS от другой стороны, используется размер по умолчанию в 536 байт (в этом случае IP датаграмма будет составлять 576 байт). 
+```c
+// TCP_MSS = (Ethernet MTU - IP header size - TCP header size)
+
+#define TCP_MSS (1500 - 40) 
+```

+ 0 - 1
Untitled.canvas

@@ -1 +0,0 @@
-{}

+ 1 - 1
c/c common.md

@@ -79,4 +79,4 @@ $ cat maps # выведет адреса сегментов процесса
 ```
 
 
-~={red}Остановился на 9ой главе=~
+~={red}Остановился на 10ой главе=~

+ 25 - 0
printf.md → c/printf scanf.md

@@ -1,3 +1,5 @@
+~={green}printf=~
+
 ~={yellow}Общий вид позиции для форматной вставки:=~
 
 %Флаги Ширина полня "." Точность Модификатор Спецификатор
@@ -23,3 +25,26 @@
 - h - short - вывод 2 байтового значения
 - l - long - вывод 4 байтового значения
 - ll - long long - вывод 8 байтового значения
+
+~={green}scanf=~
+
+~={yellow}Общий вид форматной спецификации ожидаемых вводных данных:=~
+
+%* Ширина поля Модификатор Спецификатор
+
+В начале - символ %
+Обязательным является только спецификатор
+
+Ширина поля - сколько байтов будет считано
+
+\* - данные считываем, но не сохраняем
+
+~={magenta}Спецификаторы=~
+- \[символы] - считывание символов, пока встречаются символы из списка
+- \[^символы] - считывание символов, пока не встретиться символ из списка
+- c - один символ
+- d - число со знаком в десятичной системе счисления
+- u - число без знака в десятичной системе счисления
+- x - шестнадцатеричное число
+- o - восьмеричное число
+- f - вещественное число