Este artigo encontrei explicando como se faz a conexão do z/OS com o seu micro, porque há certos comportamentos estranhos dentro do driver no Windows CTCI-W32, eu tenho experimentado outros módulos de comunicação.
Um dos mais raros driver comportamentos CTCI-W32 foi quando você queria fazer o ping do z/OS de sua Hércules de uma sub-rede diferente. O ping é adiada em 3 segundos, exatamente 3, sem entender o porquê. Portanto, era literalmente impossível para abrir uma sessão TSO pela lentidão das comunicações. O engraçado é que, enquanto você estava na mesma sub-rede de Hércules, as comunicações eram muito boas, como se você estivesse acessando um verdadeiro Mainframe.
Outro ponto curioso foi que todas as equipes poderiam dar ping no seu Hércules z/OS, mas em sua mesma máquina rodando Hercules não podia fazer ping do seu z/OS, dependendo do tipo de placa de rede que você teve ou o driver rede do Windows. Curioso, não posso acessar a minha própria máquina, uma vez que é o que eu estou rodando o Hercules z/OS. Eles abrem uma pergunta na lista de Hércules, que é alcançado a partir de Hercules-390 dot com yahoogroups em grupos de usuários Yahoogroups, solventaron me a pergunta, como eles mudaram os drivers do Windows NDIS; CTCI-W32 falar com eles por protocolo NDIS 5.x Windows 7 e Windows 2008 mudaram o protocolo NDIS para 6.x, por isso há problemas com o "descarregamento de checksum" ou a forma como o sistema calcula a soma de verificação de pacotes de rede enviados aa. Portanto, a fim de executar ping o Hercules se você está neste caso, você deve instalar a versão mais recente dos drivers para sua placa de rede, e se isso não funcionar, insira as propriedades avançadas da sua placa (Via o Windows Device Manager) e desabilitar as seguintes linhas:
-Downloading IPv4 verificação checksum,
-Downloading da soma de verificação TCP (IPv4) e
-Downloading UDP soma de verificação (IPv4)
Nova placa de rede emulada Hercules: LCS ou do canal da estação LAN
Portanto, da mesma lista, vendo o conjunto de comportamento estranho que estava no sistema, eles sugeriram mudar o tipo de CTCI emulado um LCS ou link do canal da estação LAN, ou seja, um dispositivo IBM 3088 ou IBM 3172 Controlador de interconexão, que são os primeiros modelos de placas de rede que atingiu o mercado de mainframes antes de o dispositivo Adaptador Sistema aberto ou OSA criado.
LCS é um melhor sistema de comunicações CTCI como CTCI só funciona com o tráfego TCP / IP. No entanto, LCS suporta tráfego nativo SNA TCP / IP e, se quiséssemos, e, portanto, sua configuração é também mais complexo em termos de as características que queremos ter. De fato, como acontece com o OSA / SF, devemos gerar um arquivo de TAO e definir direções, LUs e caminhos que queremos manipular. Para mais informações, leia o arquivo de configuração web de Hércules no no LCS.
No nosso caso, como nós só será configurado para o tráfego IP, ele não precisa entrar em rolos e outros aveia, mudando assim a nossa Hercules e configurações TCPIP z/OS é mais simples do que parece.
Alterações HERCULES.CNF
O Hercules para emular nosso LCS, devemos editar a configuração e mudar a nossa hercules.cnf. Se antes tínhamos CTCI, gostaríamos de alterar esta linha:
(*) É 192.168.1.100 IP do nosso z/OS e 192.168.1.3 é o IP da nossa máquina física, por:
Sendo 192.168.1.3 IP do nosso hardware e 192.168.1.100 IP z/OS (da ordem de alterações de definição, e atenta para o parâmetro -n).
Arrumando a Profile do TCPIP do z/OS
No nosso z/OS vamos configurar este CTCI, vamos editar a proc do TCPIP, vamos repetir a linha ADCD.Z110.TCPPARMS(PROF1) e colocar PROF99 e comentar a linha do PROF1; Como vamos ter que mexer no membro PROF99, se alguma coisa der errado temos um original
Na biblioteca ADCD.Z110.TCPPARMS vamos copiar o membro PROF1 para um novo membro;
Vamos chamar esta copia de PROF99;
Editando;
Dando o comando res para tirar este Warning;
Dando um FIND link para procurar esta palavra;
1. Vamos procurar as linhas abaixo (observação ponto e virgula é comentário):
2. Adicione as duas linhas de nosso novo driver:
3. Altere os dados restantes Home Gateway, etc, de CTC1 -antiguo- para ETH1 -NEW-.
4. E, finalmente, mudar o driver antigo de início para o novo, comentando:
e acrescentando:
Com isso, eu ficaria. Pilha TCPIP iria parar o z/OS com TCPIP P do console master e iria lançar um TCPIP S, e voila, o novo driver assumir, período.
NOTA: driver LCS não requer alterações IODF. O driver CTC que criamos para CTCI, serve perfeitamente para LCS.
Um dos mais raros driver comportamentos CTCI-W32 foi quando você queria fazer o ping do z/OS de sua Hércules de uma sub-rede diferente. O ping é adiada em 3 segundos, exatamente 3, sem entender o porquê. Portanto, era literalmente impossível para abrir uma sessão TSO pela lentidão das comunicações. O engraçado é que, enquanto você estava na mesma sub-rede de Hércules, as comunicações eram muito boas, como se você estivesse acessando um verdadeiro Mainframe.
Outro ponto curioso foi que todas as equipes poderiam dar ping no seu Hércules z/OS, mas em sua mesma máquina rodando Hercules não podia fazer ping do seu z/OS, dependendo do tipo de placa de rede que você teve ou o driver rede do Windows. Curioso, não posso acessar a minha própria máquina, uma vez que é o que eu estou rodando o Hercules z/OS. Eles abrem uma pergunta na lista de Hércules, que é alcançado a partir de Hercules-390 dot com yahoogroups em grupos de usuários Yahoogroups, solventaron me a pergunta, como eles mudaram os drivers do Windows NDIS; CTCI-W32 falar com eles por protocolo NDIS 5.x Windows 7 e Windows 2008 mudaram o protocolo NDIS para 6.x, por isso há problemas com o "descarregamento de checksum" ou a forma como o sistema calcula a soma de verificação de pacotes de rede enviados aa. Portanto, a fim de executar ping o Hercules se você está neste caso, você deve instalar a versão mais recente dos drivers para sua placa de rede, e se isso não funcionar, insira as propriedades avançadas da sua placa (Via o Windows Device Manager) e desabilitar as seguintes linhas:
-Downloading IPv4 verificação checksum,
-Downloading da soma de verificação TCP (IPv4) e
-Downloading UDP soma de verificação (IPv4)
Nova placa de rede emulada Hercules: LCS ou do canal da estação LAN
Portanto, da mesma lista, vendo o conjunto de comportamento estranho que estava no sistema, eles sugeriram mudar o tipo de CTCI emulado um LCS ou link do canal da estação LAN, ou seja, um dispositivo IBM 3088 ou IBM 3172 Controlador de interconexão, que são os primeiros modelos de placas de rede que atingiu o mercado de mainframes antes de o dispositivo Adaptador Sistema aberto ou OSA criado.
LCS é um melhor sistema de comunicações CTCI como CTCI só funciona com o tráfego TCP / IP. No entanto, LCS suporta tráfego nativo SNA TCP / IP e, se quiséssemos, e, portanto, sua configuração é também mais complexo em termos de as características que queremos ter. De fato, como acontece com o OSA / SF, devemos gerar um arquivo de TAO e definir direções, LUs e caminhos que queremos manipular. Para mais informações, leia o arquivo de configuração web de Hércules no no LCS.
No nosso caso, como nós só será configurado para o tráfego IP, ele não precisa entrar em rolos e outros aveia, mudando assim a nossa Hercules e configurações TCPIP z/OS é mais simples do que parece.
Alterações HERCULES.CNF
O Hercules para emular nosso LCS, devemos editar a configuração e mudar a nossa hercules.cnf. Se antes tínhamos CTCI, gostaríamos de alterar esta linha:
0E20.2 CTCI 192.168.1.100 192.168.1.3
(*) É 192.168.1.100 IP do nosso z/OS e 192.168.1.3 é o IP da nossa máquina física, por:
0E20.2 LCS -n 192.168.1.3 192.168.1.100
Sendo 192.168.1.3 IP do nosso hardware e 192.168.1.100 IP z/OS (da ordem de alterações de definição, e atenta para o parâmetro -n).
Arrumando a Profile do TCPIP do z/OS
No nosso z/OS vamos configurar este CTCI, vamos editar a proc do TCPIP, vamos repetir a linha ADCD.Z110.TCPPARMS(PROF1) e colocar PROF99 e comentar a linha do PROF1; Como vamos ter que mexer no membro PROF99, se alguma coisa der errado temos um original
File Edit Edit_Settings Menu Utilities Compilers Test Help
EDIT ADCD.Z110.PROCLIB(TCPIP) - 01.03 Columns 00001 00072
Command ===> Scroll ===> CSR
000016 //ALGPRINT DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)
000017 //CFGPRINT DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)
000018 //SYSOUT DD SYSOUT=H,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)
000019 //CEEDUMP DD SYSOUT=*,DCB=(RECFM=VB,LRECL=132,BLKSIZE=136)
000020 //SYSERROR DD SYSOUT=*
000021 //* PROFILE DD DISP=SHR,DSN=ADCD.Z110.TCPPARMS(PROF1)
000022 //PROFILE DD DISP=SHR,DSN=ADCD.Z110.TCPPARMS(PROF99)
000023 //* PROFILE DD DISP=SHR,DSN=TCPIP.PROFILE.TCPIP
000024 //SYSTCPD DD DSN=ADCD.Z110.TCPPARMS(TCPDATA),DISP=SHR
****** **************************** Bottom of Data ****************************
Na biblioteca ADCD.Z110.TCPPARMS vamos copiar o membro PROF1 para um novo membro;
Menu Functions Confirm Utilities Help
BROWSE ADCD.Z110.TCPPARMS Row 00001 of 00006
Command ===> Scroll ===> PAGE
Name Prompt Size Created Changed ID
_________ PROFILE 396 2008/11/06 2008/11/06 15:51:30 IBMUSER
c________ PROF1 392 2008/11/06 2008/11/06 15:51:30 IBMUSER
_________ PROF2 385 2008/11/06 2008/11/06 15:51:30 IBMUSER
_________ TCPDATA 280 2008/11/06 2008/11/06 15:51:30 IBMUSER
_________ TN3270 266 2008/11/06 2008/11/06 15:51:30 IBMUSER
**End**
Vamos chamar esta copia de PROF99;
RefList Help
COPY Entry Panel
Command ===>
More: +
CURRENT from data set: 'ADCD.Z110.TCPPARMS(PROF1)'
To Library Options:
Project . . . Enter "/" to select option
Group . . . . Replace like-named members
Type . . . . / Process member aliases
To Other Data Set Name
Name . . . . . . . 'ADCD.Z110.TCPPARMS'
Volume Serial . . . (If not cataloged)
NEW member name . . . prof99 (Blank unless member to be renamed)
Options
Sequential Disposition Pack Option SCLM Setting
2 1. Mod 1 1. Default 3 1. SCLM
2. Old 2. Pack 2. Non-SCLM
3. As is
Editando;
Menu Functions Confirm Utilities Help
BROWSE ADCD.Z110.TCPPARMS Row 00001 of 00007
Command ===> Scroll ===> PAGE
Name Prompt Size Created Changed ID
_________ PROFILE 396 2008/11/06 2008/11/06 15:51:30 IBMUSER
_________ PROF1 392 2008/11/06 2008/11/06 15:51:30 IBMUSER
_________ PROF2 385 2008/11/06 2008/11/06 15:51:30 IBMUSER
e________ PROF99 392 2008/11/06 2008/11/06 15:51:30 IBMUSER
_________ TCPDATA 280 2008/11/06 2008/11/06 15:51:30 IBMUSER
_________ TN3270 266 2008/11/06 2008/11/06 15:51:30 IBMUSER
**End**
Dando o comando res para tirar este Warning;
File Edit Edit_Settings Menu Utilities Compilers Test Help
EDIT ADCD.Z110.TCPPARMS(PROF99) - 01.01 Columns 00001 00072
Command ===> res Scroll ===> CSR
****** ***************************** Top of Data ******************************
==MSG> -Warning- The UNDO command is not available until you change
==MSG> your edit profile using the command RECOVERY ON.
000001 ;
000002 ; TCPIP.PROFILE.TCPIP
000003 ; ===================
000004 ;
000005 ; COPYRIGHT = NONE.
000006 ;
000007 ; NOTES:
000008 ;
000009 ; The device configuration statements MUST be changed to match your
000010 ; hardware and software configuration.
000011 ;
000012 ; The BEGINVTAM section must be changed to match your VTAM
000013 ; configuration.
000014 ;
000015 ;
000016 ; For more information about this file, see "Configuring the TCPIP
000017 ; Address Space" and "Configuring the Telnet Server" in the
Dando um FIND link para procurar esta palavra;
File Edit Edit_Settings Menu Utilities Compilers Test Help
EDIT ADCD.Z110.TCPPARMS(PROF99) - 01.01 CHARS 'link' found
Command ===> find link Scroll ===> CSR
000166 ;
000167 ; NOTE: To use these device and link statements, update the statements
000168 ; to reflect your installation configuration and remove the semicolon
000169 ;
000170
000171 ;
000172 ; LCS1 is a 3172 Model 1 with a Token-Ring and Ethernet adapter.
000173 ;
000174
000175 ;
000176 ;DEVICE CTCA1 CTC E22
000177 ;LINK CTC1 CTC 1 CTCA1
000178
000179
000180 ; To use these device and link statements, update the statements to
000181 ; reflect your installation configuration and remove the semicolon
000182
000183 ;DEVICE LCS1 LCS E20
000184 ;LINK TR1 IBMTR 1 LCS1
000185 ;LINK ETH1 ETHERNET 0 LCS1
1. Vamos procurar as linhas abaixo (observação ponto e virgula é comentário):
;DEVICE CTCA1 CTC E20
;LINK CTC1 CTC 0 CTCA1
2. Adicione as duas linhas de nosso novo driver:
DEVICE LCS1 LCS E20 AUTORESTART
LINK ETH1 ETHERNET 0 LCS1
3. Altere os dados restantes Home Gateway, etc, de CTC1 -antiguo- para ETH1 -NEW-.
HOME
192.168.1.100 ETH1
GATEWAY
192.168.1.1 = ETH1 1492 HOST
defaultnet 192.168.1.1 ETH1 1492 0
BEGINROUTES
ROUTE 192.168.1.0 255.255.255.0 = ETH1 MTU 1492
ROUTE DEFAULT 192.168.1.1 ETH1 MTU 1492
ENDROUTES
4. E, finalmente, mudar o driver antigo de início para o novo, comentando:
;START CTCA1
e acrescentando:
START LCS1
Com isso, eu ficaria. Pilha TCPIP iria parar o z/OS com TCPIP P do console master e iria lançar um TCPIP S, e voila, o novo driver assumir, período.
NOTA: driver LCS não requer alterações IODF. O driver CTC que criamos para CTCI, serve perfeitamente para LCS.

Ola Claudemir, muito boas dicas! Parabens!. Eu estava fazendo um teste e tentar acessar o hercules externamente fora da minha rede, voce já fez isso ?
ResponderEliminarTem que configurar o TCP/IP - tentei fazer isso e não consegui, vou passar alguns sites que ensinam a fazer isso:
ResponderEliminarhttp://www.sigt.net/software/montando-un-equipo-hercules-y-zos-para-emulacion-de-un-entorno-real-y-iii.html
http://mainframecorner.com/?p=670
http://www.mainframechina.com/2011/09/hercules-zos-1-11-customize-step-by-step-s8-tcpip/
http://www.bsp-gmbh.com/hercules/os390/ctctun/os390_ctc.html
http://www.bsp-gmbh.com/hercules/wingui/ctci-w32-readme.html
http://www.bsp-gmbh.com/turnkey/cookbook/hercules/herctcp.html
Pelo que observei parece que o TCP/IP do mainframe não esta configurando o IP da maquina real, fiz várias alterações e não consegui colocar na rede, dai larguei mão.
ResponderEliminarNão consegui configurar, já fiz varias mudanças mais nada.
ResponderEliminarEncontrei um site que o cara ensina mais sobre isso:
ResponderEliminarhttp://emuframe.com/index.php/32-configurando-tcpip-en-zos
Olá,
EliminarEu acho que consegui deixar "redondo", ao menos para conectar o 3270 via rede (porta 23).
Fiz a configuração no CentOS 7
Em resumo eu segui os passos de http://emuframe.com/index.php/32-configurando-tcpip-en-zos.
Minha rede é 192.168.1.0/24
Configurei a inteface tun0 em 192.168.5.0/24
Então ficou assim:
hercules.cnf
0E20 3088 CTCI 192.168.5.1 192.168.5.2
0E21 3088 CTCI 192.168.5.1 192.168.5.2
Agora inicie o Hercules, mas não faça o IPL ainda
veja se a tabela rotas e as interfaces estão parecidas
com isso:
ifconfig tun0
tun0: flags=81 mtu 1500
inet 192.168.5.2 netmask 255.255.255.255 destination 192.168.5.1
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (Não Especificado)
RX packets 240 bytes 50890 (49.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 256 bytes 27324 (26.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
route -n
Tabela de Roteamento IP do Kernel
Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
default 192.168.1.XXX 0.0.0.0 UG 0 0 0 eth0
link-local 0.0.0.0 255.255.0.0 U 1004 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
192.168.5.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
Nota: caso não apareça a linha iniciada por 192.168.5.0 faça assim:
route add -net 192.168.5.0 netmask 255.255.255.0 dev tun0
z/os
ADCD.Z110.TCPPARMS(PROF1) -- no meu caso
DEVICE CTCA1 CTC E20
LINK CTC1L CTC 0 CTCA1
HOME
192.168.5.2 CTC1L
GATEWAY
192.168.5.1 = CTC1L 1500 HOST
DEFAULTNET 192.168.5.1 CTC1L 1500 0
No final do dataset, nao esquecer de comentar
todos os START que tiver e colocar este:
START CTC1
Na console então proceder com STOP/START do TCPIP
STOP TCPIP
START TCPIP
Bem para terminar, eu executei o x3270 com o seguinte endereço: 192.168.5.1:23
e o acesso funcionou.
Agora vou passar para o z/OS unix e tentar usá-lo como servidor.
Exemplo de conexão FTP
ftp 192.168.5.1
Connected to 192.168.5.1 (192.168.5.1).
220-FTPD1 IBM FTP CS V1R10 at ADCD.SVO.DFW.IBM.COM, 01:19:08 on 2017-06-10.
220 Connection will close if idle for more than 5 minutes.
Name (192.168.5.1:root): IBMUSER
331 Send password please.
Password:
230 IBMUSER is logged on. Working directory is "IBMUSER.".
Remote system type is MVS.
ftp> ls
227 Entering Passive Mode (192,168,5,1,4,5)
125 List started OK
Volume Unit Referred Ext Used Recfm Lrecl BlkSz Dsorg Dsname
ZASYS1 3390 2017/06/09 2 6 FB 80 3120 PO ISPF.ISPPROF
250 List completed successfully.
ftp>
Fantástico isso Volnei Puttini, vou tentar seguir esta sua dica pra ver se consigo fazer no meu Hercules.
EliminarTambém consegui obter exito com o windows, mas fui tentar fazer, fazer o mesmo, com o LINUX, não obtive exito. Claudemar, voce sabe como resolver isso mas com o LINUX.
ResponderEliminarNão sei como se resolve isso no Linux;
EliminarSegui os mesmos passos no windows e depois que faço o S TCPIP aparece as msgs abaixo:
ResponderEliminarEZZ4308I ERROR: CODE=8010302F DURING ACTIVATION OF DEVICE CTCMVS1. DIAGNOSTIC CODE: 02 EZZ4308I ERROR: CODE=8010302F DURING ACTIVATION OF DEVICE CTCMVS2. DIAGNOSTIC CODE: 02
Alguém sabe o que pode ser?
Esse esso aconteceu comigo e não consegui resolver, parece que você fez as alterações mais por algum motivo não aceitou.
Eliminar