재전송프로토콜 - UDP를이용한 gobackn(GBN)구현
- 최초 등록일
- 2015.03.18
- 최종 저작일
- 2015.01
- 12페이지/ 한컴오피스
- 가격 2,000원
소개글
1. 설계 내용 : Go-back-N
2. 재전송 방식은 응용 프로그램 형태로 구현하고 하위 UDP 프로토콜을 사용
3. 수신 측에서는 패킷이 손실되는 상황을 인위적으로 만들어 재전송이 이루어
짐을 보여줌
4. 패킷이 송신되고 수신되고 재전송되는 상황을 송,수신 측 창에 표시하여 패킷
전송 상황을 파악할 수 있도록 설계 및 구현
5. 버퍼의 크기와 타이머 설정 값, 순서 번호
visual c++, .cpp파일
목차
1. 재전송프로토콜 동작방식
2. 실행 결과 캡쳐
3. 코드 및 주석설명
본문내용
UDP란?
사용자 데이터그램 프로토콜(UDP)은 주요 인터넷프로토콜로서 TCP와 함께 데이터그램으로 알려진 단문메세지를 교환하기 위해서 사용된다. UDP는 전송방식이 너무 단순해서 서비스의 신뢰성이 낮고, 데이터그램 도착 순서가 바뀌거나, 중복되거나, 심지어 통보 없이 누락시키기도 한다. UDP는 오류의 검사와 수정이 필요 없거나 애플리케이션에서 수행할 것으로 가정한다.
UDP를 사용하는 네트워크 애플리케이션
도메인 이름 서비스(운), IPTV, 음성 인터넷 프로토콜(VoIP) 등
<중 략>
#include<stdio.h>#include<stdlib.h>#include<Windows.h>#include<time.h>#include<math.h>
#define NUM 16 //전송할 프레임 갯수#define SIZE 6 //프레임의 비트 사이즈
int nansu(int n);void make(int p[NUM][SIZE]); //프레임을 만드는 함수void clientbuffer(int p[NUM][SIZE], int ack); //sender측 버퍼 출력void serverbuffer(int p[NUM][SIZE], int a); //receiver측 버퍼 출력void gotoxy(int x, int y); //커서의 위치제어 함수void frame_send_window();//프레임 전송 창void frame_send_ack_window(int ack);//에크 전송 창void send(int p[NUM][SIZE], int q[NUM][SIZE], int ack); //프레임 전송(crc나 timeout이 랜덤으로 발생)
int ack_send(int p[NUM][SIZE], int q[NUM][SIZE], int ack); //에크 전송
void blue();void red();void white();void green();
참고 자료
없음