|
Состояние GPRS |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 17)
|
Dec 21 2016, 20:57
|

Частый гость
 
Группа: Свой
Сообщений: 184
Регистрация: 7-10-15
Из: Санкт-Петербург
Пользователь №: 88 743

|
Цитата(ArtemKAD @ Dec 21 2016, 19:50)  Ту диаграмму я видел и даже надеялся что она полная. Вот только кольцо которое там "слегка" не так работает как в реальности. К примеру переходит из STATE: TCP CLOSED в STATE: TCP CONNECTING минуя половину графа. скорее не минуя, а очень быстро перебирая... есть аналогичный озвученному Baser'ом для 900й серии, документ для 800й серии, напишите мне - пришлю (wirelessДОГmt-system.ru).
|
|
|
|
|
Dec 22 2016, 02:05
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата(Hub @ Dec 21 2016, 22:57)  скорее не минуя, а очень быстро перебирая... По графу состояний для того, что-бы попасть из TCP CLOSED в TCP CONNECTING необходимо пройти всю цепочку начиная как минимум с IP INITIAL и как минимум в четырех точках для дальнейшего движения по графу ожидать моих данных или команд(AT+SIPSHUT, AT+CSTT, AT+CIICR, AT+CIFSR), но такого нет. Вот и хотелось-бы узнать более полный граф - т.е. куда и какими командами между состояниями можно попасть помимо того, что указано в SIM900_TCPIP_Application_Note. Потому как метод научного втыка конечно рулит, но хотелось-бы представлять и что создатели имели ввиду... ЗЫ. Я так понимаю по 800-ке ситуация примерно аналогична...
|
|
|
|
|
Dec 25 2016, 16:38
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(ArtemKAD @ Dec 21 2016, 18:50)  Вот только кольцо которое там "слегка" не так работает как в реальности. К примеру переходит из STATE: TCP CLOSED в STATE: TCP CONNECTING минуя половину графа. Первая половина графа относится к "bearer"-соединению с провайдером, в результате которого последний выделяет IP сим-карты. Вторая половина графа - TCP-соединения в обычном сетевом смысле. Поэтому для переоткрытия ТCP - соединения, процедуры относящиеся к "bearer", которым соответствует добрая половина графа в начале, необязательны.
|
|
|
|
|
Jan 13 2017, 08:42
|
Местный
  
Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207

|
Цитата(aiwa @ Dec 25 2016, 19:38)  Первая половина графа относится к "bearer"-соединению с провайдером, в результате которого последний выделяет IP сим-карты. Вторая половина графа - TCP-соединения в обычном сетевом смысле. Поэтому для переоткрытия ТCP - соединения, процедуры относящиеся к "bearer", которым соответствует добрая половина графа в начале, необязательны. Давно хотел узнать что это за bearer такой и почему есть два типа соединений - с bearer (HTTP) и без (TCP).
|
|
|
|
|
Jan 13 2017, 11:47
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(turnon @ Jan 13 2017, 10:42)  Давно хотел узнать что это за bearer такой и почему есть два типа соединений - с bearer (HTTP) и без (TCP). "bearer-соединение" - это Ваше соединение с провайдером. Все остальное - как HTTP так и ТСР - это соединение провайдера от Вашего лица с конечным адресом. Для лучшего понимания бытовая аналогия: есть домашний роутер подключенный проводами к провайдеру, который раздает WiFi на все планшеты и ноутбуки в квартире. В этом случае роутер выполняет роль провайдера, а 5-метровый WiFi - "bearer"-соединение. PS: я не специалист и если мое понимание ошибочно, надеюсь знатоки поправят.
Сообщение отредактировал aiwa - Jan 13 2017, 11:50
|
|
|
|
|
Jan 14 2017, 08:28
|
Местный
  
Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207

|
Цитата(aiwa @ Jan 13 2017, 14:47)  "bearer-соединение" - это Ваше соединение с провайдером. Все остальное - как HTTP так и ТСР - это соединение провайдера от Вашего лица с конечным адресом. Так а почему для HTTP надо "bearer-соединение", а для TCP надо "PDP-context".
|
|
|
|
|
Jan 14 2017, 19:27
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(turnon @ Jan 14 2017, 10:28)  Так а почему для HTTP надо "bearer-соединение", а для TCP надо "PDP-context". Во-первых, понятия HTTP и TCP не являются достоянием мобильной связи, это общая теория сетей с их уровнями. Во-вторых, HTTP и TCP не подлежат такому сравнению, потому что прикладной HTTP на транспортном уровне является TCP. Поэтому, для HTTP, так как это TCP, также нужно "bearer-соединение". В терминах "PDP-context" это выглядит так: при запросе клиента, как на стороне модема, так и на стороне провайдера создаются структуры данных, называемые "PDP-context", в которые заносится информация о идентификации клиента и приобретенных клиентом в пакете услуг благах: белый или динамический адрес, уровень качества предоставляемого сервиса и прочее. Вот такое взаимное выделение этого контекста можете считать установившемся "bearer-соединением". А далее - стандартная матрешка: PDP внутри содержат TCP, которые в свою очередь содержат HTTP.
|
|
|
|
|
Jan 15 2017, 07:41
|
Местный
  
Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207

|
Цитата(aiwa @ Jan 14 2017, 22:27)  Поэтому, для HTTP, так как это TCP, также нужно "bearer-соединение". Повторяюсь, для работы с HTTP нужно "bearer-соединение", для работы с TCP "bearer" не нужно, а только PDP-context. Почему так по разному? Ведь на транспортном уровне там все равно TCP в обоих случаях. Весь вопрос как раз в том почему для TCP не нужно "bearer-соединение".
|
|
|
|
|
Jan 15 2017, 13:59
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(turnon @ Jan 15 2017, 09:41)  Весь вопрос как раз в том почему для TCP не нужно "bearer-соединение". Потому что в той документации инструментария, которую Вы используете слишком вольно пользуются терминологией. Контекст - это всего лишь запись в базе данных на "APN-сервере" провайдера, что обладатель конткретной симки купил услугу GPRS определенного тарифа и что на его счету что-то еще есть. Это необходимое условие, но недостаточное: для TCP, как и для всего прочего по GPRS, нужна "активация PDP-контекста", что на сленге именуется "bearer-соединением". Из-за путаницы в терминологии получается приблизительно как "нужен hard disc, а не винчестер".
|
|
|
|
|
Jan 15 2017, 15:39
|
Местный
  
Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207

|
Цитата(aiwa @ Jan 15 2017, 16:59)  Потому что в той документации инструментария, которую Вы используете слишком вольно пользуются терминологией. Из-за путаницы в терминологии получается приблизительно как "нужен hard disc, а не винчестер". Так ведь и команды подъема соединения совершенно разные, для FTP/HTTP - AT+SAPBR, для TCP - AT+CSTT, AT+CIICR. Это что, внутри SIM800C одно и то же? Или внутри совершенно разный код для одного и того же? Или для FTP/HTTP код студетны делали с нуля не знаю о готовой реализации для TCP?
|
|
|
|
|
Jan 15 2017, 16:44
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(turnon @ Jan 15 2017, 17:39)  Так ведь и команды подъема соединения совершенно разные, для FTP/HTTP - AT+SAPBR, для TCP - AT+CSTT, AT+CIICR. Это что, внутри SIM800C одно и то же? Команды разные, в силу того, что в случае для FTP/HTTP вы сообщаете о намерении использовать соответствующий протокол прикладной протокол - SIM800C в этом случае все равно выполняет вначале действия аналогичные для TCP-команд. Грубо говоря, если Вы вручную реализуете ftp- или http- сервисы посредством команд для TCP, то это и будет тем, что делают команды для для FTP/HTTP.
|
|
|
|
|
Jan 16 2017, 08:31
|
Местный
  
Группа: Свой
Сообщений: 340
Регистрация: 17-10-14
Пользователь №: 83 207

|
Цитата(aiwa @ Jan 15 2017, 20:44)  Команды разные, в силу того, что в случае для FTP/HTTP вы сообщаете о намерении использовать соответствующий протокол прикладной протокол - SIM800C в этом случае все равно выполняет вначале действия аналогичные для TCP-команд. Это скорее HTTPINIT. Цитата(aiwa @ Jan 15 2017, 20:44)  Грубо говоря, если Вы вручную реализуете ftp- или http- сервисы посредством команд для TCP, то это и будет тем, что делают команды для для FTP/HTTP. Не похоже что одно и то же. Если там внтури это одно и то же по сути, то не понимаю почему при варианте реализации HTTP через TCP от SIM800C запрос выполняется почти в два раза быстрее чем при использовании HTTP от SIM800C. HTTP: Код +HTTPINIT +HTTPPARA="CID",1" +HTTPPARA="URL","..." +HTTPACTION=0 +HTTPACTION: 0,200,301" httpRead(expectedDataLen = 301) +HTTPTERM Около 2-х сек. TCP: Код +CIPSTART="TCP","...",80"... CONNECT_OK +CIPSEND=493 > Send 291+202 byte... +CIPCLOSE=0 Около 1-й сек.
|
|
|
|
|
Jan 17 2017, 02:33
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(turnon @ Jan 16 2017, 10:31)  Не похоже что одно и то же. Если там внтури это одно и то же по сути, то не понимаю почему при варианте реализации HTTP через TCP от SIM800C запрос выполняется почти в два раза быстрее чем при использовании HTTP от SIM800C. Чисто теоретически вариант реализации через TCP будет быстрее варианта HTTP, потому что TCP - это "stream"-сокет, который ретранслирует данные между Вами и конечным адресатом, а HTTP - это такой же "stream"-сокет, возле которого в качестве цензора сидит встроенный HTML-сервис SIM800C. Который забирает на свою работу часть времени и которую Вы в случае реализации через TCP должны выполнять самостоятельно, но уже после остановки секундомера. А в приведенном Вами коде я не увидел, что запросы идентичны: в случае HTML запись GET с последующим чтением результата, а в случае TCP - только запись.
Сообщение отредактировал aiwa - Jan 17 2017, 02:33
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|