Super Kawaii Cute Cat Kaoani
본문 바로가기

과제3

컴퓨터 네트워크 과제 echo software router 구현 echo software router 구현 클라이언트는 0~4의 범위를 가지는 난수가 들어가는 응용 계층 헤더 필드 key를 패킷에 담아 라우터에게 보낸다. 이 때, 터미널에 해당 key 값을 출력해준다. 라우터는 해당 헤더 필드 값을 읽고, 자신의 포워딩 테이블을 참고하여, 해당하는 output port 번호를 port 필드에 넣은 뒤, 클라이언트에 되돌려준다. - 서버에 구현해야하는 포워딩 테이블은 아래의 형태를 가지고 있다. keyport0413223140 클라이언트는 패킷을 수신하면 port 필드 값을 출력해준다. 클라이언트는 총 5개의 패킷을 연달아서 보낸다. 즉, 답장도 5개가 돌아오고, 출력되는 port 값도 5개가 된다. key값을 난수로 생성하므로 그 때마다 key와 port 값은 .. 2024. 6. 5.
컴퓨터 네트워크 과제 rdt2.2 over UDP 구현 과제 rdt2.2 over UDP 구현 전송계층 프로토콜은 UDP를 사용하되 응용 프로그램 상에서 rdt2.2 프로토콜을 구현 client.c는 총 3개의 패킷을 보내며 각각 다음의 상황을 재현 1. 정상적인 패킷2. [Our-of-Order] 순서가 뒤바뀐 패킷 (임의로 순서를 바꿔서 패킷을 보낸다.)3. [Bit error] 비트에러가 발생한 패킷 (임의로 데이터를 변조하여 비트에러를 발생시켜서 패킷을 보낸다.) rdt2.2를 기반으로 작동하는 서버 프로그램은 이 세가지 상황 모두에 대해 잘 대처할 수 있어야 합니다. Out of-order와 bit error의 경우는 ack을 통해 재전송을 요청하고, client를 이를 통해 패킷을 재전송 ⚫ 이 때 반드시 탐지한 오류가 무엇인지, seq 번호는 .. 2024. 6. 5.
컴퓨터 네트워크 과제 UDP Echo server 구현 클라이언트가 보낸 메시지를 그대로 수신해주는 에코 프로그램을 구현 클라이언트가 Hello world!, This is me! 등의 문자열을 입력하면, 이를 서버가 수신하여 화면에 출력한 후, 다시 이를 그대로 클라이언트로 회신하여 클라이언트가 이를 다시 화면에 출력해주는 프로그램을 구현한다 구현코드 client.c #include #include #include #include #include #include int readline ( int fd, char *ptr, int maxlen ){ int n, rc; char c; for(n=1; n 0 ){ /* Put sendto() here */ sendto(sock, &SendBuffer, sizeof(SendBuf.. 2024. 6. 5.