1 |
1
송신측 프로세서의 송신 처리 구동기에서 송신한 패킷을 고속 셀프-루팅망을 통해 외부 선입선출 버퍼가 내장된 수신측 프로세서의 수신 처리 구동기에서 수신하는 패킷 송수신 시스템에 있어서, 상기 송신 처리 구동기가 패킷 송신 요구 대기 상태에서 응용 프로그램의 패킷 전송 요구 호출문을 수신하여 송신 윈도우의 송신 변수와 마지막 수신 변수의 차를 시스템 파라미터와 비교하는 단계와, 상기 비교 결과에 따라 송신 변수와 마지막 수신 변수의 차가 시스템 파라미터보다 작을 경우 패킷 헤더를 생성하고 송신 변수를 증가시키는 단계와, 상기 패킷 헤더 생성이 끝난 후 첵섬 생성 절차를 호출하는 단계와, 상기 첵섬 생성 절차에 의해 책섬 생성이 끝난 패킷에서 송신 윈도우의 재전송 큐에 송신할 패킷을 저장한 후 해당 패킷을 직접 메모리 접근 제어기와 직렬 입출력 제어기를 통해 송신하고 패킷 송신 대기 상태를 유지하는 단계와, 상기 비교 결과에 따라 송신 변수와 마지막 수신 변수의 차가 시스템 파라미터보다 크거나 같은 경우 송신 처리 구동기의 상태를 패킷 송신 대기 상태로 천이하는 단계로 이루어진 것을 특징으로 하는 선입선출 버퍼를 가지는 내장형 통신 보드에서의 패킷의 파손 검출 및 복구 방법
|
2 |
2
제1항에 이어서, 상기 첵섬 생성을 호출하는 단계는 송신 처리 구동기에서 첵섬값을 초기화시킨 후 패킷 헤더에 대한 첵섬을 헤더 첵섬 영역에 저장하고 서비스 품질 영역의 값이 0인가를 검사하는 단계와, 상기 서비스 품질 영역 값의 검사 결과에 따라 서비스 품질 영역 값이 0일 경우 데이터 영역에 대한 첵섬은 구하지 않고 송신 처리 구동기로 복귀하는 단계와, 상기 서비스 품질 영역 값의 검사 결과에 따라 서비스 품질 영역의 값이 0이 아닐 경우 패킷 길이를 2의 배수로 조정하고 첵섬 절차가 수행될 데이터 영역으로 포인터를 이동시킨 후 패킷 길이가 0보다 큰가를 검사하는 단계와, 상기 패킷 길이의 검사 결과에 따라 패킷 길이가 0보다 클 경우 현재 첵섬 값에 현재 데이터 영역의 내용을 더한 후 패킷 길이를 감소시키고 데이터 영역 포인터를 증가시킨 후 패킷 길이가 0보다 큰가를 검사하는 단계로 천이하는 단계와, 상기 패킷 길이의 검사 결과에 따라 패킷 길이가 0보다 작을 경우 현재 데이터 영역에 계산된 첵섬 값을 저장한 후 첵섬이 계산된 패킷 포인터를 송신 처리 구동기로 복귀시키는 단계로 이루어진 것을 특징으로 하는 선입선출 버퍼를 가지는 내장형 통신 보드에서의 수신 패킷의 파손 검출 및 복구 방법
|
3 |
3
송신측 프로세서의 송신 처리 구동기에서 송신한 패킷을 고속 셀프-루팅 망을 통해 외부 선입선출 버퍼가 내장된 수신측 프로세서의 수신 처리 구동기에서 수신하는 패킷 송수신 시스템에 있어서, 상기 수신 처리 구동기는 수신 대기 상태에서 외부 망으로부터 패킷 수신에 대한 이벤트를 수신하여 수신부 버퍼의 처리 시작 포인터를 결정하고 이로부터 패킷의 수신 상태 플래그가 0인가를 검사하는 단계와, 상기 수신 상태 플래그의 값이 0이 아닌 값일 경우 직접 메모리 접근 제어기나 직렬 입출력 제어기의 에러 발생을 검사하는 단계와, 상기 에러 발생의 검사 결과에 따라 직렬 입출력 제어기의 상태 레지스터 또는 직접 메모리 접근 제어기가 에러 값을 가질 경우 상기 수신된 패킷을 파기한 후 수신 버퍼 포인터를 증가시키고 패킷의 수신 상태 플래그가 0인가를 검사하는 단계로 천이하는 단계와, 상기 에러 발생의 검사 결과에 따라 에러가 없을 경우 첵섬 비교 절차를 호출하고, 이로 인해 생성된 복귀 값을 가지고 검증된 결과가 0인가를 검사하는 단계와, 상기 검증된 결과가 0이 아닐 경우 에러 카운터를 증가시키고 상기 수신된 패킷을 파기한 후 수신 버퍼 포인터를 증가시키고 패킷의 수신 상태 플래그가 0인가를 검사하는 단계로 천이하는 단계와, 상기 검증된 결과가 0일 경우 현재 패킷의 유형 식별자를 검사하는 단계와, 상기 패킷 유형 식별자의 검사 결과에 따라 데이터 패킷일 경우 송신측 프로세서 제어 블럭의 수신 변수 값과 패킷 송신 번호가 동일한지를 검사하는 단계와, 상기 수신 변수 값과 패킷 송신 번호의 검사 결과에 따라 상기 수신 변수 값과 패킷 송신 번호가 동일할 경우 수신된 패킷을 접수하고 수신 버퍼 포인터를 증가시킨 후 패킷의 수신 상태 플래그가 0인가를 검사하는 단계로 천이하는 단계와, 상기 수신 변수 값과 패킷 송신 번호의 검사 결과에 따라 수신 변수 값과 패킷 송신 번호가 동일하지 않을 경우 수신측에서 프로세서 제어 블록으로 재전송을 요구한 후 수신 버퍼 포인터를 증가시키고 패킷의 수신 상태 플래그가 0인가를 검사하는 단계로 천이하는 단계와, 상기 패킷 유형 식별자의 검사 결과에 재전송 패킷일 경우 재전송 패킷에 대한 수신측 프로세서의 수신 처리 구동기에서 마지막 수신 변수 값부터 (수신 변수-1)까지의 송신 윈도우상에 등록된 모든 패킷을 재전송하고 수신 버퍼 포인터를 증가시킨 후 패킷의 수신 상태 플래그가 0인가를 검사하는 단계로 천이하는 단계와, 상기 패킷 유형 식별자의 검사 결과에 따라 패킷 유형이 데이터나 재전송 패킷이 아닐 경우 패킷 유형에 해당하는 처리 절차를 수행하는 단계와, 상기 수신 상태 플래그의 검사 결과에 따라 수신 상태 플래그 값이 0일 경우 수신부 버퍼 포인터를 저장한 후 수신 대기 상태로 복귀하는 단계로 이루어진 것을 특징으로 하는 선입선출 버퍼를 가지는 내장형 통신 보드에서의 수신 패킷의 파손 검출 및 복구 방법
|
4 |
4
제3항에 있어서, 상기 첵섬 비교 절차를 수행하는 단계는 첵섬 값을 초기화하고 현재 패킷의 헤더부에 대한 첵섬 값을 계산하는 단계와, 상기 패킷의 헤더부에 대한 첵섬 값과 헤더부의 헤더 첵섬 값을 비교하여 에러가 발생했는지를 검사하는 단계와, 상기 비교 결과에 따라 헤더부에서 첵섬 에러가 발생할 경우 에러 값 1을 복귀하는 단계와, 상기 비교 결과에 따라 헤더부에 첵섬 에러가 발생하지 않을 경우 서비스 품질 영역 값이 0인가를 검사하는 단계와, 상기 서비스 품질 영역 값의 검사 결과에 따라 서비스 품질 영역 값이 0일 경우 0 값을 복귀하는 단계와, 상기 서비스 품질 영역 값의 검사 결과에 따라 서비스 품질 영역 값이 0이 아닐 경우 이전의 헤더에 대해 계산된 첵섬 값을 초기화시킨 후 패킷 길이를 2의 배수로 정렬시키고 포인터를 데이터 포인터로 이동시키는 단계와, 상기 2의 배수로 정렬시킨 패킷 길이가 0보다 큰가를 검사하는 단계와, 상기 패킷 길이의 검사 결과에 따라 패킷 길이가 0보다 클 경우 패킷 길이에 대해서 2의 배수 단위로 첵섬을 계산하고 포인터를 증가시킨 후 패킷 길이를 1만큼 감소시키는 단계와, 상기 패킷 길이를 1만큼 감소시킨 후 패킷 길이가 0보다 큰가를 검사하는 단계로 천이하는 단계와, 상기 패킷길이의 검사 결과 패킷 길이가 0일 경우 계산된 첵섬 값과 삽입된 데이터 첵섬 값을 비교하는 단계와, 상기 비교 결과 첵섬 값과 삽입된 데이터 첵섬 값이 같을 경우 0 값을 복귀하는 단계와, 상기 비교 결과 첵섬 값과 삽입된 데이터 첵섬 값이 같지 않을 경우 1 값을 복귀하는 단계로 이루어진 것을 특징으로 하는 선입선출 버퍼를 가지는 내장형 통신 보드에서의 수신 패킷의 파손 검출 및 복구 방법
|