Uploaded by Abdullah_20220276

Part CN 0

advertisement
IT 222
Computer Networks – 1
Dr. Rowayda A. Sadek
Information Technology Department
rowayda_sadek@yahoo.com
1
Course Resources
•
•
•
•
•
Lecture Slides
Text Books
Research Papers
Assignments
Lab
2
IT 221 Data Communication
•
Data transmission concepts, Terminology and
techniques, Types and sources of data,
communication
models,
Standards.
Data
Transmission techniques, Transmission media and
characteristics. Information theory, Information
sources, Information measure, entropy, Source
codes: return-to-zero and non-return-to-zero
signaling, Analog and digital transmission, Optical
fiber systems, Modems, modulation; Transmission
impairments,
Data
encoding
techniques,
Multiplexing techniques.
3
IT 222 Computer Networks – 1
• Definition and objectives, Classifications,
topologies,
Architecture,
standards,
Applications, ISO-OSI model, Switching
techniques, Error detection and Correction,
Network protocols, Routing strategies and
techniques, Flow control, Congestion
control , Public switched data network.
Internetworking ; Introduction to ISDN and
B-ISDN.
4
Text Books
• We may use selective chapters from the following text books as well
as some research papers
– Main Text Book:
• James F. Kurose, Keith Ross. Computer Networking: A Top-Down
Approach Featuring the Internet (2nd Edition) Publisher: Pearson Addison
Wesley; 3rd edition
• William Stallings, Data and Computer Communications. 7th (or 8th)
edition. Prentice Hall Publishing Company, Upper Saddle River, NJ, 2004,
ISBN 0-13-100681-9.
– Additional Text Books:
• William J. Beyda, Data Communications: From Basics To Broadband, 3rd
edition, Prentice Hall Publishing Company
• Cole, Introduction to Telecommunication,
• Behrouz A. Forouzan, Data Communications and Networking, 3rd
Edition.
• Andrew S. Tanenbaum, Computer Networks, 4th Edition, Publisher:
Prentice Hall
5
Tentative Course Outline
• Network classification, topologies, Architecture,
standards, Applications.
• ISO-OSI and TCP/IP model
• TCP/IP Layers.
–
–
–
–
–
Error detection and Correction.
Flow control, Congestion control
Internetworking;
Routing strategies
Etc.
• Wireless Networking
6
ILOs
• Explain the fundamental concepts of computer
networks, including network
architectures, protocols, topologies, and transmission media.
• Describe the key functions and principles of the different
layers of the OSI model.
• Analyze various network devices and their roles in
internetworking (e.g., routers, switches, etc.).
• Describe network technologies (e.g., wireless
networks, cloud computing, SDN)
• Analyze network traffic, and performance using tools and
programming.
• Design and implement simple networks for specific
purposes (e.g., home network, small business network).
7
Network/System Administrator!!!!,…
• Advantages
–
–
–
–
Good salary
Control other peoples
Faster than others
Relax
• Disadvantages
– ERROR, then people
want to kill YOU !!
Course Work
• You can work in groups (number of
students TBD)
• Any requested assignment
• May develop a simple network application
in Client-Server architecture showing the
capabilities of your socket programming.
• Simulation Projects
• May Critic for your colleagues’ papers
smartly
9
Study…
 Basic network theory
 OSI Layer
 Network devices
 Routing
 Network security
 Programming
• Network Skill
– Operating system
– Server – Client
– Router, Switch,
Cabling, etc (network
devices)
– Certificates
• Experience
– Time can answer ???
– Ready to self learning
Protocol “Layers”
Networks are complex!
• many “pieces”:
– hosts
– routers
– links of various
media
– applications
– protocols
– hardware, software
Question:
Is there any hope of
organizing structure of
network?
Or at least our discussion of
networks?
Introduction
1-11
Open System Interconnection (OSI)
• A model defines the
stages or tasks of a
protocol as it prepares
to send data
• Model is divided into
seven distinct layers
• Each layer perform a
well-defined function
• Layer boundaries are
designed to minimize
the information flow
across the interfaces
OSI Model Layers
• Application Layer
– Provides a user interface (examples: HTTP,
SMTP)
– Includes file, print, database, app. Services
• Presentation Layer
– Presents the data (example: JPEG)
– Includes encryption, compression and
translation services
• Session Layer
– Keeps different applications data separate
OSI Model Layers
• Transport Layer
– Provides reliable delivery
– Performs error detection
– Includes end to end connection
• Network Layer
– Provides logical addressing
– Routing layer
OSI Model Layers
• Data Link Layer
– Combines packets into bytes then into frames
– Performs error detection
– Provides Media access addressing (point-topoint)
– Media Access Control and Data Link Control
• Physical Layer
– Moves bits between devices
Reference Models (2)
• The TCP/IP reference model.
OSI Model and Protocols
Keys Layers of the OSI Model
Network Devices
• Wire
• Wireless
Router, Switch, Hub, Modem, …
Network Software
• Protocol Hierarchies
• Design Issues for the Layers
• Connection-Oriented and Connectionless
Services
• Service Primitives
• The Relationship of Services to Protocols
TCP/IP
}
if (setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&yes,sizeof(int)) ==
-1) {
perror("setsockopt");
exit(1);
}
Programming
my_addr.sin_family = AF_INET;
// host byte order
my_addr.sin_port = htons(MYPORT); // short, network byte order
my_addr.sin_addr.s_addr = INADDR_ANY; // automatically fill with my IP
memset(&(my_addr.sin_zero), '\0', 8); // zero the rest of the struct
if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))
== -1) {
perror("bind");
exit(1);
}
if (listen(sockfd, BACKLOG) == -1) {
perror("listen");
exit(1);
}
sa.sa_handler = sigchld_handler; // reap all dead processes
sigemptyset(&sa.sa_mask);
sa.sa_flags = SA_RESTART;
if (sigaction(SIGCHLD, &sa, NULL) == -1) {
perror("sigaction");
exit(1);
}
while(1) { // main accept() loop
sin_size = sizeof(struct sockaddr_in);
if ((new_fd = accept(sockfd, (struct sockaddr *)&their_addr,
&sin_size)) == -1) {
perror("accept");
continue;
}
printf("server: got connection from %s\n",
inet_ntoa(their_addr.sin_addr));
if (!fork()) { // this is the child process
close(sockfd); // child doesn't need the listener
if (send(new_fd, "Hello, world!\n", 14, 0) == -1)
perror("send");
close(new_fd);
exit(0);
}
close(new_fd); // parent doesn't need this
}
return 0;
/*
** server.c -- a stream socket 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 <sys/wait.h>
#include <signal.h>
#define MYPORT 3490 // the port users will be connecting to
#define BACKLOG 10 // how many pending connections queue will hold
void sigchld_handler(int s)
{
while(wait(NULL) > 0);
}
int main(void)
{
int sockfd, new_fd; // listen on sock_fd, new connection on new_fd
struct sockaddr_in my_addr; // my address information
struct sockaddr_in their_addr; // connector's address information
int sin_size;
struct sigaction sa;
int yes=1;
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("socket");
exit(1);
}
Example Networks
• The Internet
– RFC Documents: http://www.ietf.org/rfc.html
• Connection-Oriented Networks:
X.25, Frame Relay, and ATM
• Ethernet
• Wireless LANs: 802:11
Network Standardization
• Who’s Who in the Telecommunications World
– International Telecommunication Union (ITU)
• Who’s Who in the International Standards
World
– International Standards Organization (ISO)
• Who’s Who in the Internet Standards World
– Internet Engineering Task Force (IETF)
RFC (Request for Comments) documents
IEEE 802 Standards
The 802
working groups.
The important
ones are marked
with *. The
ones marked
with  are
hibernating.
Download