ENGN8637. Advanced Topics in Communications. Your Title

Size: px
Start display at page:

Download "ENGN8637. Advanced Topics in Communications. Your Title"

Transcription

1 ENGN8637 Advanced Topics in Communications Your Title Your name Research School of Engineering, ANU submitted on 18/March/2018 Contents 1 Introduction 1 2 A New Section 3 3 Yet another Section 4 4 Conclusion 4 1 Introduction Let us introduce some latex. Here are some itemisations 1. Transmitter, which consists of: Interleaver: it transforms a bit sequence into a bit matrix; 1

2 Modulator: it transforms a set of bits into a complex symbol which it then rotates and Q-delays; 2. Channel simulator: it corrupts the complex symbols by changing their phase/amplitude and adding noise; 3. Receiver, which consists of: Demodulator: it reverses the Q-delay and then demaps the complex symbols back to bits either by using maximum likelihood or soft-demapping; De-interleaver: it transforms the bit matrix back to bit sequence. Or simply Interleaver: it transforms a bit sequence into a bit matrix; Modulator: it transforms a set of bits into a complex symbol which it then rotates and Q-delays; 2

3 2 A New Section Fig. 1 shows the overall block diagram. Figure 1: Overall block diagram of DVB-T2 showing the BICM sub-modules to be implemented in the project. Some equation examples T DM (N) = NM M 2 (1 + Q) + N (1) where T DM is the distributed MIMO aggregate throughput and Q is a letter of the alphabet. ρ(r) = N πr 2 o exp ( r2 r 2 o ) (2) L = N πr 2 o Ro 0 2πrdr exp ( r2 r 2 o ) (3) 3

4 3 Yet another Section Here is a table Table 1: Comparitive performance of the cellular and the distributed wireless networks Cellular Distributed N Bases M LM User BW B B Total Occupied BW LB B Total Base P rad > LMP o LMP o P rad per Base > LP o P o Uplink BW per remote B B Range (99%) 2.15r o Lro and here Yet another table... 4 Conclusion The conclusion... References [1] DVB Document A122, Frame Structure, channel coding and modulation for a second generation digital terrestrial television broadcasting system (DVB-T2), June [2] M. Yu, A study of DVB-T2 standard with physical layer transceiver design and implementation, MPhil Thesis, Australian National University,

5 Notation Description c N ldpc R c L pr c p c b C X X θ X d H W Y V v b v the binary LDPC codeword to be interleaved the length of c the code rate of c the a priori log-likelihood ratio (LLR) information of c the codeword after parity interleaving the codeword after bit interleaving the bit matrix after de-multiplexing a rotated constellation symbol, which is a complex number the set of symbols generated from C the rotation angle (anti-clockwise) the set of Q-delayed symbols from X a fading channel coefficient, which is a complex number an AWGN noise instance, which is a complex number the received symbol of X d after channel the bit matrix after de-mapping the codeword after multiplexing the demapped LDPC codeword Group ID N ldpc R c Modulation Group ID N ldpc R c Modulation A QAM E QAM B QAM F QAM C QAM G QAM D QAM H QAM I QAM J QAM K QAM 5

6 APPENDIX A: LINUX When you connect to the LINUX O.S. using PUTTY (secure shell), you are presented with a terminal interface. This is an old-fashioned but very effective way to interact with a computer. In this section we describe the structure of LINUX file system and how you can use LINUX. First off type ls /. You should see the following. debian@beaglebone:~$ ls / bin dev home lost+found mnt proc run selinux sys usr boot etc lib media opt root sbin srv tmp var / refers to the root file system. This is the top folder or directory. There are a number of subfolders as follows: bin Contains many of the binary files that constitute the commands in the O.S. boot Contains kernel images and configutation files. The kernel refers to the LINUX operating system itself. dev Contains system interfaces (files) to the LINUX character and block devices (but not the network devices). Take a look at them by typing ls /dev. These devices can be opened as files by programs and allow the program to access LINUX device drivers. Can you think of what any of the devices refer to? etc Is where most of the system configuration scripts are located. home Is the home folder where the files are located of users who can access the system. There is only one user on my BBB system with uid debian. When you log in you arrive directly at your home folder. Here this is /home/debian. lib These are where the binary libraries are located. On WINDOWS think dlls. media This is where external storage devices can be mounted. Such devices include CD-ROMS, flash and external hard drives. Note tha term mount. The mount command is used to connect a folder (usually but not necessarily located in /media) to a block device in /dev. This allows the block device to be accessed as a folder. This may seem strange for MAC and WINDOWS users where mounting is performed transparently by the O.S. mnt serves a similar purpose to media proc Is actually a file system that is not located on the hard drive - or any block device. proc is located in RAM and is a volatile folder containing all of the system information. For example try cat /proc/cpuinfo to see what is contained in this file. 6

7 sbin is the superuser binary director. This is where the administrator-only commands are stored. usr is the usual place where new commands and other system files get stored when a user installs new software on LINUX. The following is a short list of basic unix commands that can be executed in the xterm. These commands are big programs usually with many options and can be very powerful. If you wish to learn more about a command type, man COMMAND NAME >. The man refers to the manual or man page for the command. man produces a scrollable interface inside the xterm. To navigate, simply use the arrow keys. To quit type < quit >. ls l list the files in the current directory in detailed format. cat FILE NAME.txt dumps the contents of a text file to the terminal. grep STRING FILE NAME.txt. List all occurrences of STRING in file FILE NAME. Note that wildcards are possible: grep STRING.txt. cp FILE NAME TARGET. Copy file FILE NAME to TARGET where TARGET could be another file or a directory. In this case the file FILE NAME is left in tact. mv FILE NAME TARGET. Move the file FILE NAME to TARGET where TARGET could be another file or a directory. In this case the file FILE NAME is removed. rm FILE NAME. Delete the file FILE NAME. Be careful of this command. The rm command does not transport files to a safe haven such as the trash can. Instead it wipes them completely from the disk. mkdir DIR NAME. Create a directory DIR NAME. rmdir DIR NAME. Delete the directory DIR NAME. Only works if DIR NAME is empty. cd DIR NAME change to folder DIR NAME. format. The command cd takes you to your home folder. df. List total disk usage. Superfast way of finding out how much of your hard drive space is left. mount is used to mount file systems e.g. mount /dev/sdb1 /media/disk ssh allows you to make a connection to another LINUX computer. Example 1: connect to user debian on a machine at IP address : ssh debian@ Example 2: Do the same but also allow an x-session: ssh X debian@ Example 3: Copy a file FILE NAME located in folder DIR1 NAME on the local machine to folder DIR2 NAME on debian@

8 scp DIR1 NAME/FILE NAME : /DIR2 NAME/FILE NAME note that DIR2 NAME has to be an absolute path. DIR1 NAME can be an absolute path but may be a relative path e.g../ is the current folder. nano is a simple screen text-editor with a built-in description of its ten only commands. The figure below shows how to use nano to create a simple c-program that prints Hello World! to the terminal. gcc o myfile myfile.c: compile C-program myfile.c into executable myfile. To run myfile, cd to the folder where it is located and type./myfile. If you are running X-windows the following are useful commands. /usr/bin/sof f icew orddoc.docx to open a WORD document /usr/bin/evincep DF F ile.pdf open a PDF /sbin/if conf ig: display the status of network devices. An example is shown below. Note that there are three network interfaces: eth0 the main ethernet interface, lo the loopback interface and usb0 the USB network interface (providing ethernet connectivity). debian@beaglebone:~$ /sbin/ifconfig eth0 Link encap:ethernet HWaddr 90:59:af:5b:cd:c3 inet addr: Bcast: Mask: UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:40 lo Link encap:local Loopback inet addr: Mask: inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:68 errors:0 dropped:0 overruns:0 frame:0 TX packets:68 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:6434 (6.2 KiB) TX bytes:6434 (6.2 KiB) usb0 Link encap:ethernet HWaddr c6:fe:62:d7:9a:82 inet addr: Bcast: Mask: inet6 addr: fe80::c4fe:62ff:fed7:9a82/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 8

9 RX packets:630 errors:0 dropped:0 overruns:0 frame:0 TX packets:448 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:51153 (49.9 KiB) TX bytes:96967 (94.6 KiB) Finally there is /usr/bin/sudo. This command can be used to execute superuser commands by a regular user - provider the uid is stored in /etc/sudoers. You even need /usr/bin/sudo just to look at the file /etc/sudoers. A useful command requiring /usr/bin/sudo is /usr/bin/sudo halt which shuts down LINUX. Notice that these comands have been invoked from the folders where they are located. It is unnecessary to do this if these folders are in the PATH. PATH is an environment variable that can be found using the command echo $PATH. UDP code /* ** talker.c -- a datagram "client" demo */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #define SERVERPORT "9999" // the port users will be connecting to int main(int argc, char *argv[]) int sockfd; struct addrinfo hints, *servinfo, *p; int rv; int numbytes; 9

10 Figure 2: Screenshot of nano in action 10

11 if (argc!= 3) fprintf(stderr,"usage: talker hostname message\n"); exit(1); memset(&hints, 0, sizeof hints); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_DGRAM; if ((rv = getaddrinfo(argv[1], SERVERPORT, &hints, &servinfo))!= 0) fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(rv)); return 1; // loop through all the results and make a socket for(p = servinfo; p!= NULL; p = p->ai_next) if ((sockfd = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == -1) perror("talker: socket"); continue; break; if (p == NULL) fprintf(stderr, "talker: failed to bind socket\n"); return 2; if ((numbytes = sendto(sockfd, argv[2], strlen(argv[2]), 0, p->ai_addr, p->ai_addrlen)) == -1) perror("talker: sendto"); exit(1); 11

12 freeaddrinfo(servinfo); printf("talker: sent %d bytes to %s\n", numbytes, argv[1]); close(sockfd); return 0; /* ** listener.c -- a datagram sockets "server" demo */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #define MYPORT "9999" // the port users will be connecting to #define MAXBUFLEN 100 // get sockaddr, IPv4 or IPv6: void *get_in_addr(struct sockaddr *sa) if (sa->sa_family == AF_INET) return &(((struct sockaddr_in*)sa)->sin_addr); return &(((struct sockaddr_in6*)sa)->sin6_addr); 12

13 int main(void) int sockfd; struct addrinfo hints, *servinfo, *p; int rv; int numbytes; struct sockaddr_storage their_addr; char buf[maxbuflen]; socklen_t addr_len; char s[inet6_addrstrlen]; memset(&hints, 0, sizeof hints); hints.ai_family = AF_UNSPEC; // set to AF_INET to force IPv4 hints.ai_socktype = SOCK_DGRAM; hints.ai_flags = AI_PASSIVE; // use my IP if ((rv = getaddrinfo(null, MYPORT, &hints, &servinfo))!= 0) fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(rv)); return 1; // loop through all the results and bind to the first we can for(p = servinfo; p!= NULL; p = p->ai_next) if ((sockfd = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == -1) perror("listener: socket"); continue; if (bind(sockfd, p->ai_addr, p->ai_addrlen) == -1) close(sockfd); perror("listener: bind"); continue; 13

14 break; if (p == NULL) fprintf(stderr, "listener: failed to bind socket\n"); return 2; freeaddrinfo(servinfo); printf("listener: waiting to recvfrom...\n"); addr_len = sizeof their_addr; if ((numbytes = recvfrom(sockfd, buf, MAXBUFLEN-1, 0, (struct sockaddr *)&their_addr, &addr_len)) == -1) perror("recvfrom"); exit(1); printf("listener: got packet from %s\n", inet_ntop(their_addr.ss_family, get_in_addr((struct sockaddr *)&their_addr), s, sizeof s)); printf("listener: packet is %d bytes long\n", numbytes); buf[numbytes] = \0 ; printf("listener: packet contains \"%s\"\n", buf); close(sockfd); return 0; /* ** rtl_decode.c -- decodes rtl-sdr binary IQ to HEX */ 14

15 #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h> main(int argc, char **argv) char infilename[200]; char outfilename[200]; char *name; FILE *infile; FILE *outfile; unsigned char Ichar, Qchar; int flag; int sample_counts; int Nbytes; printf("usage:./rtl_decode infile outfile Nbytes\n"); printf("default filename=file.in Nbytes = 200\n"); if( argc < 4 ) strcpy(infilename,"file.in"); strcpy(outfilename,"file.out"); Nbytes = 200; else strcpy(infilename,argv[1]); printf("infile = %s\n",infilename); strcpy(outfilename,argv[2]); printf("outfile = %s\n",outfilename); Nbytes=(int)atoi(argv[3]); printf("%d\n",nbytes); 15

16 infile = fopen(infilename,"r"); if( infile == NULL) printf("could not open file\n"); exit(exit_failure); outfile = fopen(outfilename,"w"); if( outfile == NULL) printf("could not open file\n"); exit(exit_failure); flag = fscanf( infile, "%c", &Ichar); flag = fscanf( infile, "%c", &Qchar); // while( EOF!= flag ) for(sample_counts=0;sample_counts<nbytes;sample_counts++) fprintf(outfile, "%d,%d\n", (int)ichar-128,(int)qchar-128); flag = fscanf( infile, "%c", &Ichar); flag = fscanf( infile, "%c", &Qchar); fclose(infile); fclose(outfile); 16

ENGN4521/6521. Embedded Wireless. An LIPD Band RF Front End for DATV

ENGN4521/6521. Embedded Wireless. An LIPD Band RF Front End for DATV ENGN4521/6521 Embedded Wireless An LIPD Band RF Front End for DATV V3.0 Copyright 2014-2015 G.G. Borg College of Engineering and Computer Science. Australian National University 1 Contents 1 Foreword 3

More information

Azblink API for Sending XMPP Messages via HTTP POST

Azblink API for Sending XMPP Messages via HTTP POST Azblink API for Sending XMPP Messages via HTTP POST Abstract: This document is to describe the API of Azblink SBC for sending XMPP messages via HTTP POST. This is intended for the systems or the devices

More information

The Berkeley Sockets API. Networked Systems Architecture 3 Lecture 4

The Berkeley Sockets API. Networked Systems Architecture 3 Lecture 4 The Berkeley Sockets API Networked Systems Architecture 3 Lecture 4 The Berkeley Sockets API Widely used low-level C networking API First introduced in 4.3BSD Unix Now available on most platforms: Linux,

More information

CSE 333 Section 8 - Client-Side Networking

CSE 333 Section 8 - Client-Side Networking CSE 333 Section 8 - Client-Side Networking Welcome back to section! We re glad that you re here :) Networking Quick Review What are the following protocols used for? (bonus: what layer of the networking

More information

Network Programming in C: The Berkeley Sockets API. Networked Systems 3 Laboratory Sessions

Network Programming in C: The Berkeley Sockets API. Networked Systems 3 Laboratory Sessions Network Programming in C: The Berkeley Sockets API Networked Systems 3 Laboratory Sessions The Berkeley Sockets API Widely used low-level C networking API First introduced in 4.3BSD Unix Now available

More information

CSE 333 SECTION 8. Sockets, Network Programming

CSE 333 SECTION 8. Sockets, Network Programming CSE 333 SECTION 8 Sockets, Network Programming Overview Domain Name Service (DNS) Client side network programming steps and calls Server side network programming steps and calls dig and ncat tools Network

More information

CSE 333 SECTION 7. C++ Virtual Functions and Client-Side Network Programming

CSE 333 SECTION 7. C++ Virtual Functions and Client-Side Network Programming CSE 333 SECTION 7 C++ Virtual Functions and Client-Side Network Programming Overview Virtual functions summary and worksheet Domain Name Service (DNS) Client side network programming steps and calls dig

More information

CSE 333 SECTION 7. Client-Side Network Programming

CSE 333 SECTION 7. Client-Side Network Programming CSE 333 SECTION 7 Client-Side Network Programming Overview Domain Name Service (DNS) Client side network programming steps and calls dig and ncat tools Network programming for the client side Recall the

More information

Network Programming in C. Networked Systems 3 Laboratory Sessions and Problem Sets

Network Programming in C. Networked Systems 3 Laboratory Sessions and Problem Sets Network Programming in C Networked Systems 3 Laboratory Sessions and Problem Sets Lab Timetable, Aims, and Objectives Teaching Week Activity 14 Introduction 15 Warm-up exercise 16 17 Web client 18 19 20

More information

Raising the Datagram API to Support Transport Protocol Evolution

Raising the Datagram API to Support Transport Protocol Evolution Raising the Datagram API to Support Transport Protocol Evolution Tom Jones, Gorry Fairhurst University of Aberdeen Colin Perkins University of Glasgow Presentation given at the IFIP Networking 2017 Workshop

More information

Let us ping! First we will learn the Hello World of a networked machine.

Let us ping! First we will learn the Hello World of a networked machine. AN INTRODUCTION TO LINUX NETWORKING In this article, we ll explore networking under GNU/Linux. You ll find it interesting to manage the entire network through certain valid keystrokes known as commands.

More information

Computer Network Programming

Computer Network Programming Practical Programming Computer Network Programming Marwan Burelle & David Bouchet david.bouchet.epita@gmail.com 1 Quick Overview 1.IP and Protocol Stack 2.TCP Concepts 3.Client / Server Concepts 4.Socket

More information

6 장과제샘플코드 - 다자간채팅 (udp 버전 1) 목포해양대해양컴퓨터공학과

6 장과제샘플코드 - 다자간채팅 (udp 버전 1) 목포해양대해양컴퓨터공학과 6 장과제샘플코드 - 다자간채팅 (udp 버전 1) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트들은알려준포트로접속 서버는클라이언트로부터받은메시지를다른클라이언트들에게전달 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o

More information

CSE 333 SECTION 7. Client-Side Network Programming

CSE 333 SECTION 7. Client-Side Network Programming CSE 333 SECTION 7 Client-Side Network Programming Overview Homework 3 due tonight Questions? Domain Name Service (DNS) Review Client side network programming steps and calls intro dig tool Network programming

More information

IP over IB Protocol. Introduction CHAPTER

IP over IB Protocol. Introduction CHAPTER CHAPTER 3 The following sections appear in this chapter: Introduction, page 3-1 Manually Configure IPoIB for Default IB Partition, page 3-2 Subinterfaces, page 3-2 Verify IPoIB Functionality, page 3-5

More information

CSE 333 SECTION 6. Networking and sockets

CSE 333 SECTION 6. Networking and sockets CSE 333 SECTION 6 Networking and sockets Overview Network Sockets IP addresses and IP address structures in C/C++ DNS Resolving DNS names Demos Section exercise Sockets Network sockets are network interfaces

More information

CSE 333 Section 3. Thursday 12 April Thursday, April 12, 12

CSE 333 Section 3. Thursday 12 April Thursday, April 12, 12 CSE 333 Section 3 Thursday 12 April 2012 Goals for Today 1. Overview IP addresses 2. Look at the IP address structures in C/C++ 3. Overview DNS 4. Talk about how to use DNS to translate IP addresses 5.

More information

Sockets. Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University Embedded Software Lab.

Sockets. Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University  Embedded Software Lab. 1 Sockets Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University http://nyx.skku.ac.kr Internet Connections (1) 2 Connection Clients and servers communicate by sending streams of bytes over

More information

UNIX System Programming Lecture 19: IP Sockets

UNIX System Programming Lecture 19: IP Sockets UNIX System Programming Lecture 19: Outline Reference BLP: Chapter 15 man pages: socket, bind, connect, listen, accept, ip(7), ipv6(7), getaddrinfo, getnameinfo 1 Review of UNIX Sockets On the server,

More information

목포해양대해양컴퓨터공학과. IPv6 적용

목포해양대해양컴퓨터공학과. IPv6 적용 IPv6 적용 1 IPV6 기본규격 2 IPv6 Basic header 3 IPv6 - Extension Headers (1) Hop-by-Hop Options (0) RSVP, PIM/MLD, etc. Routing (43) Source Routing, MIPv6 Fragment (44) Encapsulating Security Payload (50) IPsec

More information

ICT 6544 Distributed Systems Lecture 5

ICT 6544 Distributed Systems Lecture 5 ICT 6544 Distributed Systems Lecture 5 Hossen Asiful Mustafa Message Brokers Figure 4-21. The general organization of a message broker in a message-queuing system. IBM s WebSphere Message-Queuing System

More information

2007 Microsoft Corporation. All rights reserved.

2007 Microsoft Corporation. All rights reserved. Creating a Basic Winsock Application 2007 Microsoft Corporation. All rights reserved. To create a basic Winsock application 1. Create a new empty project. 2. Add an empty C++ source file to the project.

More information

Chapter Two. Lesson A. Objectives. Exploring the UNIX File System and File Security. Understanding Files and Directories

Chapter Two. Lesson A. Objectives. Exploring the UNIX File System and File Security. Understanding Files and Directories Chapter Two Exploring the UNIX File System and File Security Lesson A Understanding Files and Directories 2 Objectives Discuss and explain the UNIX file system Define a UNIX file system partition Use the

More information

Enabling CDC-ETHER Connection for Skywire CAT1

Enabling CDC-ETHER Connection for Skywire CAT1 Enabling CDC-ETHER Connection for Skywire CAT1 NimbeLink Corp Updated: May 2017 PN 30111 rev 5 NimbeLink Corp. 2017. All rights reserved. 1 Table of Contents Table of Contents 2 1. Introduction 2 1.1 Orderable

More information

PA #2 Reviews. set_name, get_name, del_name. Questions? Will be modified after PA #4 ~

PA #2 Reviews. set_name, get_name, del_name. Questions? Will be modified after PA #4 ~ Sockets Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Dong-Yun Lee(dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu PA #2 Reviews set_name, get_name, del_name Will

More information

Hyo-bong Son Computer Systems Laboratory Sungkyunkwan University

Hyo-bong Son Computer Systems Laboratory Sungkyunkwan University Sockets Hyo-bong Son (proshb@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Client-Server Model Most network application is based on the client-server model: A server

More information

Sockets. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Sockets. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Sockets Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Internet Connections (1) Connection Clients and servers communicate by sending streams of

More information

Programming with TCP/IP. Ram Dantu

Programming with TCP/IP. Ram Dantu 1 Programming with TCP/IP Ram Dantu 2 Client Server Computing Although the Internet provides a basic communication service, the protocol software cannot initiate contact with, or accept contact from, a

More information

Client-side Networking

Client-side Networking Client-side Networking CSE 333 Autumn 2018 Instructor: Hal Perkins Teaching Assistants: Tarkan Al-Kazily Renshu Gu Trais McGaha Harshita Neti Thai Pham Forrest Timour Soumya Vasisht Yifan Xu Administriia

More information

UNIX Sockets. Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E.

UNIX Sockets. Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E. UNIX Sockets Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E. Socket and Process Communication application layer User Process Socket transport layer (TCP/UDP) network layer (IP)

More information

Fountain Multimedia Broadcasting Final Report Spring Semester 2012

Fountain Multimedia Broadcasting Final Report Spring Semester 2012 Fountain Multimedia Broadcasting Final Report Spring Semester 2012 -Full Report- By Aqeel Alhashim Ben Kappel Jassim Alhashim Prepared to partially fulfill the requirements for ECE402 Department of Electrical

More information

Network Socket Programming - 2 BUPT/QMUL

Network Socket Programming - 2 BUPT/QMUL Network Socket Programming - 2 BUPT/QMUL 2017-3-20 Review Basic Concepts in NP Introduction to Network Programming Importance Classes Environments in this course Program Developing Phases Skills Useful

More information

CSE 333 Lecture 16 - network programming intro

CSE 333 Lecture 16 - network programming intro CSE 333 Lecture 16 - network programming intro Hal Perkins Department of Computer Science & Engineering University of Washington Today Network programming - dive into the Berkeley / POSIX sockets API -

More information

UNIVERSITY OF BOLTON CREATIVE TECHNOLOGIES. BSc (Hons) COMPUTER NETWORKS AND SECURITY SEMESTER ONE EXAMINATION 2014/2015 UNIX MODULE NO: CPU5003

UNIVERSITY OF BOLTON CREATIVE TECHNOLOGIES. BSc (Hons) COMPUTER NETWORKS AND SECURITY SEMESTER ONE EXAMINATION 2014/2015 UNIX MODULE NO: CPU5003 [CRT09] UNIVERSITY OF BOLTON CREATIVE TECHNOLOGIES BSc (Hons) COMPUTER NETWORKS AND SECURITY SEMESTER ONE EXAMINATION 2014/2015 MODULE NO: CPU5003 Date: Wednesday 21 st January 2015 Time: 10:00 13:00 INSTRUCTIONS

More information

Network Programming Worksheet 2. Simple TCP Clients and Servers on *nix with C.

Network Programming Worksheet 2. Simple TCP Clients and Servers on *nix with C. Simple TCP Clients and Servers on *nix with C. Aims. This worksheet introduces a simple client and a simple server to experiment with a daytime service. It shows how telnet can be used to test the server.

More information

RG-MACC_2.0 Installation Manual

RG-MACC_2.0 Installation Manual RG-MACC_2.0 Installation Manual Ruijie Networks Co., Ltd all rights reserved 1 Copyright Clarify Copyright ownership belongs to Ruijie, shall not be reproduced, copied, or used in other ways without permission.

More information

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018 GNU/Linux 101 Casey McLaughlin Research Computing Center Spring Workshop Series 2018 rccworkshop IC;3df4mu bash-2.1~# man workshop Linux101 RCC Workshop L101 OBJECTIVES - Operating system concepts - Linux

More information

NETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science

NETWORK PROGRAMMING. Instructor: Junaid Tariq, Lecturer, Department of Computer Science NETWORK PROGRAMMING CSC- 341 25 Instructor: Junaid Tariq, Lecturer, Department of Computer Science 26 9 Lecture Sockets as means for inter-process communication (IPC) application layer Client Process Socket

More information

GM8126 MAC DRIVER. User Guide Rev.: 1.0 Issue Date: December 2010

GM8126 MAC DRIVER. User Guide Rev.: 1.0 Issue Date: December 2010 GM8126 MAC DRIVER User Guide Rev.: 1.0 Issue Date: December 2010 REVISION HISTORY Date Rev. From To Dec. 2010 1.0 - Original Copyright 2010 Grain Media, Inc. All Rights Reserved. Printed in Taiwan 2010

More information

Clustered Data ONTAP 8.3 Update 2, IPspaces. Self-paced Lab NETAPP UNIVERSITY. NetApp University - Do Not Distribute

Clustered Data ONTAP 8.3 Update 2, IPspaces. Self-paced Lab NETAPP UNIVERSITY. NetApp University - Do Not Distribute NETAPP UNIVERSITY Clustered Data ONTAP 8.3 Update 2, IPspaces Self-paced Lab Course ID: STRSW-SPL-CDOT83UPD2 Content Version: 1.0 ATTENTION The information contained in this course is intended only for

More information

Linux Systems Administration Getting Started with Linux

Linux Systems Administration Getting Started with Linux Linux Systems Administration Getting Started with Linux Network Startup Resource Center www.nsrc.org These materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International

More information

Outline. Option Types. Socket Options SWE 545. Socket Options. Out-of-Band Data. Advanced Socket. Many socket options are Boolean flags

Outline. Option Types. Socket Options SWE 545. Socket Options. Out-of-Band Data. Advanced Socket. Many socket options are Boolean flags Outline SWE 545 Socket Options POSIX name/address conversion Out-of-Band Data Advanced Socket Programming 2 Socket Options Various attributes that are used to determine the behavior of sockets Setting

More information

Network Configuration for Cisco UCS Director Baremetal Agent

Network Configuration for Cisco UCS Director Baremetal Agent Network Configuration for Cisco UCS Director Baremetal Agent This chapter contains the following sections: About the Network Configuration Options, page 1 Single Network for Management and PXE, page 1

More information

Wi-Fi Guide: Edimax USB Adapter on BBG

Wi-Fi Guide: Edimax USB Adapter on BBG Wi-Fi Guide: Edimax USB Adapter on BBG August 3 rd 2017 Table of Contents: Page 1: Page 2: Page 3: Page 4: Page 5: Introduction & Hardware requirements Getting Started Connecting to a network using Network

More information

CIS Test 1- Practice - Fall 2011

CIS Test 1- Practice - Fall 2011 CIS 192 - Test 1- Practice - Fall 2011 Name Each question worth 2 points: Tip: When not logged in as root, you can still use many of the network commands but you must preface them with /sbin/ because you

More information

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions Welcome to getting started with Ubuntu 12.04 Server. This System Administrator Manual guide to be simple to follow, with step by step instructions with screenshots INDEX 1.Installation of Ubuntu 12.04

More information

Unix Network Programming

Unix Network Programming Introduction to Computer Networks Polly Huang EE NTU Unix Network Programming The socket struct and data handling System calls Based on Beej's Guide to Network Programming 1 The Unix Socket A file descriptor

More information

RG-MACC-BASE_v2.01. Installation Guide

RG-MACC-BASE_v2.01. Installation Guide RG-MACC-BASE_v2.01 Preface Thank you for using our products. Audience This manual is intended for: Network engineers Technical support and servicing engineers Network administrators Symbols Important information.

More information

IP Addresses, DNS. CSE 333 Spring Instructor: Justin Hsia

IP Addresses, DNS. CSE 333 Spring Instructor: Justin Hsia IP Addresses, DNS CSE 333 Spring 2018 Instructor: Justin Hsia Teaching Assistants: Danny Allen Dennis Shao Eddie Huang Kevin Bi Jack Xu Matthew Neldam Michael Poulain Renshu Gu Robby Marver Waylon Huang

More information

CSCI 4061: Sockets and Network Programming

CSCI 4061: Sockets and Network Programming 1 CSCI 4061: Sockets and Network Programming Chris Kauffman Last Updated: Tue Dec 5 13:30:56 CST 2017 Networks are Aging Source: www.ipv6now.hk Source: XKCD #865 2 3 Aging Networks Makes Network Programming

More information

Access Server: User's and Developer's Guide <<< Previous Next >>>

Access Server: User's and Developer's Guide <<< Previous Next >>> 1 of 14 12/9/2008 10:18 AM Access Server: User's and Developer's Guide > Chapter 2. Getting Started with Access Server Access Server can be controlled in three ways: by using the WWW

More information

How do we Communicate? Introduction to Unix Network Programming. What does Alice do? What does Bob do? Two simplest networking programs

How do we Communicate? Introduction to Unix Network Programming. What does Alice do? What does Bob do? Two simplest networking programs Introduction to Unix Network Programming Reference: Stevens Unix Network Programming How do we Communicate? Send a mail from Alice to Bob Bob Alice in Champaign, Bob in Hollywood Example: US Postal Service

More information

GNU/Linux: An Essential Guide for Students Undertaking BLOSSOM

GNU/Linux: An Essential Guide for Students Undertaking BLOSSOM Copyright: The development of this document is funded by Higher Education of Academy. Permission is granted to copy, distribute and /or modify this document under a license compliant with the Creative

More information

CS 3516: Computer Networks

CS 3516: Computer Networks Welcome to CS 3516: Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: AK219 Fall 2018 A-term 1 Some slides are originally from the course materials of the textbook Computer Networking: A Top

More information

Socket Programming. CSIS0234A Computer and Communication Networks. Socket Programming in C

Socket Programming. CSIS0234A Computer and Communication Networks. Socket Programming in C 1 CSIS0234A Computer and Communication Networks Socket Programming in C References Beej's Guide to Network Programming Official homepage: http://beej.us/guide/bgnet/ Local mirror http://www.cs.hku.hk/~c0234a/bgnet/

More information

Getting Started with PetaLinux SDK

Getting Started with PetaLinux SDK Getting Started with PetaLinux SDK November 26, 2009 Table of Contents Table of Contents...2 About This Guide...3 Related PetaLinux Documents...3 Getting Started...3 Prerequisites...3 Installation...4

More information

Introduction to Computer Networks

Introduction to Computer Networks Introduction to Computer Networks Tian Song ( 嵩天 ), Ph.D., Assoc. Prof. songtian@bit.edu.cn Introduction to Computer Networks Socket and Network Programming Tian Song ( 嵩天 ), Ph.D., Assoc. Prof. songtian@bit.edu.cn

More information

IP Addresses, DNS. CSE 333 Summer Teaching Assistants: Renshu Gu William Kim Soumya Vasisht

IP Addresses, DNS. CSE 333 Summer Teaching Assistants: Renshu Gu William Kim Soumya Vasisht IP Addresses, DNS CSE 333 Summer 2018 Instructor: Hal Perkins Teaching Assistants: Renshu Gu William Kim Soumya Vasisht Lecture Outline Network Programming Sockets API Network Addresses DNS Lookup 2 Files

More information

Introduction to Lab 2 and Socket Programming. -Vengatanathan Krishnamoorthi

Introduction to Lab 2 and Socket Programming. -Vengatanathan Krishnamoorthi Introduction to Lab 2 and Socket Programming -Vengatanathan Krishnamoorthi Before we start.. Soft deadline for lab 2- February 13 Finish assignment 1 as soon as possible if you have not yet. Hard deadline

More information

Quick guide for configuring a system with multiple IP-LINKs

Quick guide for configuring a system with multiple IP-LINKs Quick guide for configuring a system with multiple IP-LINKs October 4 th 2005, KK. This guide will show an example configurations for a system with multiple IP-LINKs. Example 1, three devices connected

More information

CS 640: Computer Networking

CS 640: Computer Networking CS 640: Computer Networking Yu-Chi Lai Lecture 3 Network Programming Topics Client-server model Sockets interface Socket primitives Example code for echoclient and echoserver Debugging With GDB Programming

More information

CSE 333 Lecture network programming intro

CSE 333 Lecture network programming intro CSE 333 Lecture 17 -- network programming intro Hal Perkins Paul G. Allen School of Computer Science & Engineering University of Washington Administrivia HW3 due Thursday night HW4 out Friday morning -

More information

Hostname and IP Address

Hostname and IP Address 1/19 IP Addressing Surasak Sanguanpong nguan@ku.ac.th http://www.cpe.ku.ac.th/~nguan Last updated: 27 June 2002 Hostname and IP Address 2/19 browser What is the IP address of www.isoc.org? www.isoc.org

More information

Accessing the Networking Stack

Accessing the Networking Stack The Cisco IOS XR Software serves as a networking stack for communication. This section explains how applications on IOS XR can communicate with internal processes, and with servers or outside devices.

More information

UNIX Sockets. COS 461 Precept 1

UNIX Sockets. COS 461 Precept 1 UNIX Sockets COS 461 Precept 1 Socket and Process Communica;on application layer User Process Socket transport layer (TCP/UDP) OS network stack network layer (IP) link layer (e.g. ethernet) Internet Internet

More information

Filesystem Hierarchy and Permissions

Filesystem Hierarchy and Permissions and Linux Prepared by Steven Gordon on 19 April 2017 Common/Reports/linux-file-permissions.tex, r1417 1/15 Multiuser and Server Operating System Linux systems are commonly used as a multi-user system E.g.

More information

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University Introduction to Linux Woo-Yeong Jeong (wooyeong@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating system of a computer What is an

More information

StampA5D3x/PortuxA5/PanelA5. Quickstart Guide

StampA5D3x/PortuxA5/PanelA5. Quickstart Guide StampA5D3x/PortuxA5/PanelA5 Quickstart Guide StampA5D3x/PortuxA5/PanelA5 StampA5D3x/PortuxA5/PanelA5: Quickstart Guide Copyright 2015 taskit GmbH All rights to this documentation and to the product(s)

More information

Enabling CDC_ETHER Connection for Skywire GSM CAT1

Enabling CDC_ETHER Connection for Skywire GSM CAT1 Enabling CDC_ETHER Connection for Skywire GSM CAT1 NimbeLink Corp Updated: February 2018 PN 30262 rev 4 NimbeLink Corp. 2018. All rights reserved. 1 Table of Contents Table of Contents 2 1. Introduction

More information

CSE 333 Lecture 8 - file and network I/O

CSE 333 Lecture 8 - file and network I/O CSE 333 Lecture 8 - file and network I/O Steve Gribble Department of Computer Science & Engineering University of Washington CSE333 lec 8 net // 04-13-12 // gribble Administrivia HW1 was due yesterday

More information

CS118 Discussion 1B, Week 1. Taqi Raza BUNCHE 1209B, Fridays 12:00pm to 1:50pm

CS118 Discussion 1B, Week 1. Taqi Raza BUNCHE 1209B, Fridays 12:00pm to 1:50pm CS118 Discussion 1B, Week 1 Taqi Raza BUNCHE 1209B, Fridays 12:00pm to 1:50pm 1 TA Taqi, PhD student in Computer Networking Discussion (1B): Bunche 1209, Fri 12:00 1:50 p.m. Office hours: Boelter Hall

More information

Socket Programming. #In the name of Allah. Computer Engineering Department Sharif University of Technology CE443- Computer Networks

Socket Programming. #In the name of Allah. Computer Engineering Department Sharif University of Technology CE443- Computer Networks #In the name of Allah Computer Engineering Department Sharif University of Technology CE443- Computer Networks Socket Programming Acknowledgments: Lecture slides are from Computer networks course thought

More information

NVIDIA Professional Application Center

NVIDIA Professional Application Center NVIDIA Professional Application Center Network Licensing Guide 5 May 2017 Document version 2.0 Copyright Information 2017 NVIDIA Corporation. All rights reserved. This document is protected under copyright

More information

Elementary TCP Sockets

Elementary TCP Sockets Elementary TCP Sockets Chapter 4 UNIX Network Programming Vol. 1, Second Ed. Stevens Distributed Computer Systems 1 socket interface Application 1 Application 2 socket interface user kernel user kernel

More information

System Programming. Introduction to Unix

System Programming. Introduction to Unix Content : by Dr. B. Boufama School of Computer Science University of Windsor Instructor: Dr. A. Habed adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Introduction 2 3 Introduction

More information

last time redo logging copy-on-write filesystems / snapshots distributed systems motivation, etc.

last time redo logging copy-on-write filesystems / snapshots distributed systems motivation, etc. Sockets / RPC 1 last time 2 redo logging write log + commit, then do operation on failure, check log redo anything marked committed in log copy-on-write filesystems / snapshots distributed systems motivation,

More information

A Client-Server Exchange

A Client-Server Exchange Socket programming A Client-Server Exchange A server process and one or more client processes Server manages some resource. Server provides service by manipulating resource for clients. 1. Client sends

More information

Chapter 5 Network Layer

Chapter 5 Network Layer Chapter 5 Network Layer Network Layer IPv4 2 IP Header Application Header + data 3 IP IP IP IP 4 Focus on Transport Layer IP IP 5 Network Layer The Network layer (Layer 3) provides services to exchange

More information

Filesystem Hierarchy and Permissions

Filesystem Hierarchy and Permissions 2 and Prepared by Steven Gordon on 19 April 2017 Common/Reports/linux-file-permissions.tex, r1417 1 Multiuser and Server Operating System systems are commonly used as a multi-user system E.g. multiple

More information

MSc Integrated Electronics Networks Assignment. Investigation of TCP/IP Sockets and Ports. Gavin Cameron

MSc Integrated Electronics Networks Assignment. Investigation of TCP/IP Sockets and Ports. Gavin Cameron MSc Integrated Electronics Networks Assignment Investigation of TCP/IP Sockets and Ports Gavin Cameron Introduction TCP and IP (Transmission Control Protocol / Internet Protocol) are two protocols from

More information

Piotr Mielecki Ph. D.

Piotr Mielecki Ph. D. Piotr Mielecki Ph. D. http://mielecki.ristel.pl/ piotr.mielecki@pwr.edu.pl pmielecki@gmail.com Building blocks of client-server applications: Client, Server, Middleware. Simple client-server application:

More information

CSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80

CSE 303 Lecture 2. Introduction to bash shell. read Linux Pocket Guide pp , 58-59, 60, 65-70, 71-72, 77-80 CSE 303 Lecture 2 Introduction to bash shell read Linux Pocket Guide pp. 37-46, 58-59, 60, 65-70, 71-72, 77-80 slides created by Marty Stepp http://www.cs.washington.edu/303/ 1 Unix file system structure

More information

Introduction to the Linux Command Line

Introduction to the Linux Command Line Introduction to the Linux Command Line May, 2015 How to Connect (securely) ssh sftp scp Basic Unix or Linux Commands Files & directories Environment variables Not necessarily in this order.? Getting Connected

More information

Configuring a Standalone VCL Environment using VMware Server 2.0

Configuring a Standalone VCL Environment using VMware Server 2.0 Configuring a Standalone VCL Environment using VMware Server 2.0 DISCLAIMER! This document provides instuctions for configuring a standalone VCL environment running on a single computer which is able to

More information

Introduction to Linux

Introduction to Linux Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA - Dong-Yun Lee (dylee@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is Linux? A Unix-like operating

More information

Quick Start Guide for BeagleBone Black. Table of Contents. by Brian Fraser Last update: Summer, 2015

Quick Start Guide for BeagleBone Black. Table of Contents. by Brian Fraser Last update: Summer, 2015 Quick Start Guide for BeagleBone Black by Brian Fraser Last update: Summer, 2015 This document guides the user through: 1. Installing Ubuntu in a virtual machine. 2. Connecting to the target using serial

More information

HP Services zl Module ngenius Integrated Agent Installation and Getting Started Guide

HP Services zl Module ngenius Integrated Agent Installation and Getting Started Guide HP Services zl Module ngenius Integrated Agent Installation and Getting Started Guide Part Number 733-0207 www.hp.com/networking Revision A www.netscout.com September 28, 2010 Copyright 2008 Hewlett-Packard

More information

Introduction to Supercomputing

Introduction to Supercomputing Introduction to Supercomputing TMA4280 Introduction to UNIX environment and tools 0.1 Getting started with the environment and the bash shell interpreter Desktop computers are usually operated from a graphical

More information

Redesde Computadores(RCOMP)

Redesde Computadores(RCOMP) Redesde Computadores(RCOMP) Theoretical-Practical (TP) Lesson 06 2016/2017 Berkeley sockets API, C and Java. Address families and address storing. Basic functions/methods for UDP applications. UDP client

More information

Create Test Environment

Create Test Environment Create Test Environment Describes how to set up the Trafodion test environment used by developers and testers Prerequisites Python Passwordless ssh If you already have an existing set of ssh keys If you

More information

Getting Started with The ThingWorx C SDK on the Raspberry PI

Getting Started with The ThingWorx C SDK on the Raspberry PI Getting Started with The ThingWorx C SDK on the Raspberry PI Setting up your.irst Raspberry PI can be a challenge. Combining it with setting up and using the ThingWorx C-SDK to expose some simple properties

More information

Filesystem Hierarchy Operating systems I800 Edmund Laugasson

Filesystem Hierarchy Operating systems I800 Edmund Laugasson Filesystem Hierarchy Operating systems I800 Edmund Laugasson edmund.laugasson@itcollege.ee There has been used materials from Margus Ernits, Katrin Loodus when creating current slides. Current document

More information

CHAPTER 7 DEMONSTRATE THE PAN IN LINUX

CHAPTER 7 DEMONSTRATE THE PAN IN LINUX CHAPTER 7 DEMONSTRATE THE PAN IN LINUX SYSTEM The new model - Network Access Point Group Network 7.1 DEMONSTRATION Software: All machines are installed with Linux Redhat 8.0 Hardware list:- There are two

More information

Sockets. Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University Embedded Software Lab.

Sockets. Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University  Embedded Software Lab. 1 Sockets Dong-kun Shin Embedded Software Laboratory Sungkyunkwan University http://nyx.skku.ac.kr Echo Client (1) 2 #include #include #include #include

More information

// print product names in alphabetical order with total // number sold of each product using format name: total void PrintTotals();

// print product names in alphabetical order with total // number sold of each product using format name: total void PrintTotals(); Question 1. (22 points) STL and C++ classes. Our friends who run the SnackOverflow concession are writing a small program to keep track of the number of items sold. A Sales object contains a

More information

*nix Crash Course. Presented by: Virginia Tech Linux / Unix Users Group VTLUUG

*nix Crash Course. Presented by: Virginia Tech Linux / Unix Users Group VTLUUG *nix Crash Course Presented by: Virginia Tech Linux / Unix Users Group VTLUUG Ubuntu LiveCD No information on your hard-drive will be modified. Gives you a working Linux system without having to install

More information

These documents and software are covered under the terms and conditions of the fp Technologies, Inc. Program License Agreement

These documents and software are covered under the terms and conditions of the fp Technologies, Inc. Program License Agreement Copyright 2017, fp Technologies, Inc. All Rights Reserved These documents and software are covered under the terms and conditions of the fp Technologies, Inc. Program License Agreement You will need to

More information

1 /* client.c - adapted from code for example client program that uses TCP */ 2 /*Modified by Vincent Chu, Winter

1 /* client.c - adapted from code for example client program that uses TCP */ 2 /*Modified by Vincent Chu, Winter 1 /* client.c - adapted from code for example client program that uses TCP */ 2 /*Modified by Vincent Chu, Winter 2004. 3 http://www.sfu.ca/~vwchu 4 chuvincent (at) gmail (dot) com 5 */ 6 7 #define closesocket

More information