SSH 및 XON / XOFF 소프트웨어 흐름 제어


1

USB-RS232 직렬 널 모뎀 케이블을 통해 Linux 박스에 연결된 빈티지 직렬 터미널을 사용하고 있습니다. 터미널은 버퍼 오버 플로우를 피하기 위해 XON / XOFF 흐름 제어를 사용합니다. 터미널은 리눅스 박스에서 실행되는 활동에 아주 효과적입니다. 그러나 서버, VM 또는 로컬 호스트에 SSH를 연결하면 버퍼 오버플로가 발생하기 시작합니다. SSH가 XON / XOFF 흐름 제어를 방해하는 것 같습니다. 내가 잘못 갈 수있는 아이디어가 있습니까?

추가 정보 :
1) StarTech FTDI USB를 통해 컴퓨터에 연결된 터미널 RS232 직렬 널 모뎀 어댑터 케이블
2) ttyUSB0, 19200 보드, vt100의 getty를 통한 직렬 인터페이스
3) VT100은 19200으로 설정되어 송수신


글쎄, 시리얼을 통한 연결과 관련하여 다른 장치의 설정은 무엇입니까? 직렬 터미널과 인터페이스하기 위해 어떤 응용 프로그램을 사용하고 있습니까? 시리얼을 통해 Linux 박스에 연결 한 후 ssh를 통해 다른 리소스에 연결하고 있습니까? 어떤 모델 / 직렬 어댑터를 사용하고 있습니까?
Richie086

1
@ Richie086, 감사합니다. 추가 정보로 업데이트했습니다. 연결된 컴퓨터의 프로그램으로 작업 할 때 연결에 문제가 없습니다. 연결된 컴퓨터에서 다른 컴퓨터로 ssh하면 버퍼 오버플로가 나타나고 "dumb"터미널에서 불완전한 출력이 나타납니다.
SpaceNut

전송 속도를 19200k보다 낮게 설정해 보셨습니까?
Richie086

나는 9600 보드에서 시도하고 같은 행동을 보았다.
SpaceNut

통신 업계에서 많은 "멍청한"터미널을 다뤘습니다. 이러한 "버퍼 오버플로"의 일반적인 원인은 실제로 화면이 현재 "Scrolling"방법을 따라갈 수 없기 때문입니다. 터미널 설정에서 스크롤 방법 또는 스크롤 제어를 선택하고 점프 (또는 부드러운 -8)로 설정되어 있는지 확인하십시오. 또한 터미널이 지원하는 경우 USB 어댑터의 흐름 제어를 하드웨어 또는 RTS / CTS로 변경할 수 있는지 확인하십시오. 터미널이 XON / XOFF보다 훨씬 매끄럽고 반응이 좋습니다
acejavelin

답변:


1

ssh일반 대화식 세션 모드에서는를 포함하여 모든 문자 (일반적으로 이스케이프 제외 ~)를 원격 호스트 로 전달합니다 ^S ^Q. (SSH / TCP / IP 연결의 맨 끝에있는 것은 로컬 호스트 / 루프백 또는 가상 LAN을 포함하여 이러한 목적으로 '원격'입니다.) '긴'(전파 지연) 및 / 또는 '지방'( 대역폭) 파이프-루프백은 확실히 뚱뚱합니다-원격 호스트가 수신하고 작동하기 전에 기내에서 사용할 수있는 데이터의 양은 ^SVT100이 버퍼링 할 수있는 것 이상일 것입니다. 연결은 RS-232의 경우 실제 50 '미만의 전선 또는 103 또는 212A와 같은 직접 변조 1 비트 모뎀입니다.

대화식 세션이 아닌 원격 호스트 ssh에서 명령 을 실행하기 위해 인수와 함께 사용 하는 경우 터미널 처리 (및 ^S ^Q)는 로컬 OS에 남아 있으므로 충분히 빠르게 응답해야합니다. 분명히 이것은 원격 호스트와의 상호 작용을 제한합니다. 또한 기본적으로 각 명령에 대해 SSH 오버 헤드 (키 교환 및 인증)를 수행하므로 비용이 많이 들고 속도가 느릴 수 있지만 비 고급 버전에서는 -M여러 작업자에서 전송 (및 전송 설정 비용)을 공유 하는 마스터 프로세스를 설정할 수 있습니다. 프로세스.

내가 보는 유일한 다른 솔루션은 너무 많은 출력을 너무 빨리 생성하는 원격 작업을 실행하지 않는 것입니다. 예를 들어,에 파이프 일 more이나 less또는 유사한, 선 이하 24으로 설정 또는 임시 파일에 큰 출력을 작성하고 그것을 찾아 어쩌면로 vi또는 유사한.


dave_thompson_085 여기서 바로 설정해 주셔서 감사합니다. 로컬 연결에 비해 네트워크 대기 시간을 실제로 과소 평가했습니다. 낮은 전송 속도와 응답에 대한 @ Richie086 질문 후 4800으로 낮추고 ssh에 비해 매우 기능적인 결과를 얻습니다. VT100 매뉴얼을 조금 더 파고 입력 버퍼가 128 문자이고 XOFF가 오버플로가 발생하기 전에 73 문자가 트리거되는 것을 알았습니다. 19200에서 오버플로 전에 응답하는 데 38ms 만 제공됩니다. 4800으로 낮추면 152ms가됩니다. 레트로 컴퓨팅의 즐거움! 우리가 얼마나 멀리 왔는지 감사합니다. 고마워요!
SpaceNut
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.