Professional Documents
Culture Documents
Computer Networks DA3: Name - Soham Bandyopadhyay REG NO. - 21BCE2386
Computer Networks DA3: Name - Soham Bandyopadhyay REG NO. - 21BCE2386
Computer Networks DA3: Name - Soham Bandyopadhyay REG NO. - 21BCE2386
DA3
CODE
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
struct frame
{
char ack;
int data;
} frm[10];
int goback(int n)
{
int r;
for (int i = 1; i <= n; i++)
{
printf("\nEnter data for packets[%d]", i);
scanf("%d", &frm[i].data);
frm[i].ack = 'y';
}
rand();
r = rand() % n;
frm[r].ack = 'n';
for (int i = 1; i <= n; i++)
{
if (frm[i].ack == 'n')
printf("\nThe packet number %d is not received\n", r);
}
printf("\n resending from packet %d", r);
for (int i = r; i <= n; i++)
{
sleep(2);
frm[i].ack = 'y';
printf("\nReceived data of packet %d is %d", i, frm[i].data);
}
printf("\n all packets sent successfully\n");
return 0;
}
int main()
{
printf("\nNAME : SOHAM BANDYOPADHYAY");
printf("\nREGN NO. : 21BCE386");
int n;
printf("\nEnter the no. of packets to be sent:");
scanf("%d", &n);
goback(n);
return 0;
}
OUTPUT
Example 1
Example 2
CODE
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <time.h>
#define WINDOW_SIZE 4
typedef struct {
int sequence_number;
bool ack_received;
bool is_sent;
} Packet;
int main() {
printf("\nReg: 21BCE2386");
int NUM_PACKETS;
scanf("%d", &NUM_PACKETS);
Packet packets[NUM_PACKETS];
int window_start = 0;
packets[i].sequence_number = i;
packets[i].ack_received = false;
packets[i].is_sent = false;
srand(time(NULL));
if (!packets[i].is_sent) {
packets[i].is_sent = true;
if (!packets[i].ack_received) {
if (rand() % 10 < 3) {
continue;
packets[i].ack_received = true;
if (packets[window_start].ack_received) {
window_start++;
window_end++;
return 0;
}
OUTPUT
NAME: SOHAM BANDYOPDHYAY
REGN: 21BCE2386
CODE
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int i;
return 0;
copy = strdup(ip);
if (token == NULL)
return 0;
while (token) {
if (strlen(token) > 3)
return 0;
return 0;
num = atoi(token);
return 0;
dots++;
free(copy);
int i, colons = 0;
return 0;
if (ip[i] == ':') {
colons++;
digits = 0;
if (colons > 7)
return 0;
if (colons == 2)
return 0;
} else {
digits++;
if (digits > 4)
return 0;
} else {
return 0;
if (isValidIPv4(ip)) {
} else {
printf("Invalid IP address\n");
int main() {
char ipAddress[100];
printf("\nEnter IP Address");
scanf("%s", ipAddress);
printIPAddress(ipAddress);
return 0;
SCREENSHOT
IPV4
IPV6
Invalid