lector: aliyev h.u. lecture №1 introduction to telecommunication network software design tashkent...

26
Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT OF DATA COMMUNICATION NETWORKS AND SYSTEMS

Upload: shon-nichols

Post on 30-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Lector: Aliyev H.U.

Lecture №1 Introduction to Telecommunication network

software design

TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES

THE DEPARTMENT OFDATA COMMUNICATION NETWORKS AND SYSTEMS

Page 2: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Telecommunication network software design

• Aims and objectives• To introduce master students to programming fundamentals and TCP/IP

based telecommunication network programming. This is a course of study which provides a suitable basis for later networking units that require .NET-based skills.

• Learning Outcomes • After successfully completing this course, students should be able to:• - understand fundamental program structures;• - understand the concepts of system and protocol analysis; • - explain fundamental object-oriented concepts;• - write small programs in C# that use TCP/IP sockets;• - design, write and debug small programs in C# with text input/output, data

sending, file and multimedia exchanges;• - write small programs in C# that use simple GUI for network monitoring,

packet analysis and network security applications.

Page 3: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Driving Forces for Evolution to all-IP

Page 4: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Convergence of communication networks

Page 5: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Fixed–mobile convergencewith IMS

Page 6: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

IMS enables convergence of services

Page 7: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT
Page 8: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Next Generation of Networks

• NGN IMS SDN

• SDN-SOFTWARE DEFINED NETWORKS

Page 9: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Network programming-?• Communication network programming is one of the core tasks of

enterprise-level development - the need for disparate computers and network devices to communicate efficiently and securely, whether within the same building, or across the world, remains fundamental to the success of many systems.

• Network software design course covers everything you need to know about network programming, from basic get-started information, to a huge selection of advanced networking technologies that may have seemed like science fiction—until now.

• On the lectures we will learn Windows OS based network programming. Nowadays network programming with Windows is popular. With the .NET Framework comes a new set of classes for tackling networking tasks on the Windows network programming.

• The current set of protocols supported by .NET classes is limited to the transport-level protocols TCP and UDP, and the application-level protocols HTTP, FTP, SNMP and SMTP.

Page 10: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Network programming-• learn network programming for communication

(with focus on implementation of networking • concepts)

Page 11: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Network programming model for communication

Application

Transport Socket programming level for TCP/IP networking

Internet

Network access Device driver programs for different network access technologies

TCP/IP model Network programming model

Page 12: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Integrated development environment(IDE) for programming

• An integrated development environment (IDE) or interactive development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger. Most modern IDEs offer Intelligent code completion features.

• Some IDEs contain a compiler, interpreter, or both, such as Net Beans and Eclipse; others do not, such as SharpDevelop and Lazarus. The boundary between an integrated development environment and other parts of the broader software development environment is not well-defined. Sometimes a version control system and various tools are integrated to simplify the construction of a GUI. Many modern IDEs also have a class browser, an object browser, and a class hierarchy diagram, for use in object-oriented software development.

Page 13: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Integrated development environment(IDE) for programming

• Unix programmers can combine command-line POSIX tools into a complete development environment, capable of developing large programs such as the Linux kernel and its environment.

• The free software GNU tools (GNU Compiler Collection (GCC), GNU Debugger (gdb), GNU make) are available on many platforms, including Windows.[4] Developers who favor command-line oriented tools can use editors with support for many of the standard Unix and GNU build 1 tools, building an IDE with programs like Emacs or Vim. Data Display Debugger is intended to be an advanced graphical front-end for many text-based debugger standard tools. Some programmers prefer managing makefiles and their derivatives to the similar code building tools included in a full IDE. For example, most contributors to the PostgreSQL database use make and gdb directly to develop new features.[8] Even when building PostgreSQL for Microsoft Windows using Visual C++, Perl scripts are used as a replacement for make rather than relying on any IDE features.[9] Some Linux IDEs such as Geany attempt to provide a graphical front end to traditional build operations.

• On the various Microsoft Windows platforms, command-line tools for development are seldom used. Accordingly, there are many commercial and non-commercial products. However, each has a different design commonly creating incompatibilities. Most major compiler vendors for Windows still provide free copies of their command-line tools, including Microsoft (Visual C++, Platform SDK, .NET Framework SDK, nmake utility), Embarcadero Technologies (bcc32 compiler, make utility).

• IDEs have always been popular on the Apple Macintosh's Mac OS, dating back to Macintosh Programmer's Workshop, Turbo Pascal, THINK Pascal and THINK C environments of the mid-1980s. Currently Mac OS X programmers can choose between native IDEs like Xcode and open-source tools such as Eclipse and Netbeans. ActiveState Komodo is a proprietary multilanguage IDE supported on the Mac OS.

• With the advent of cloud computing, some IDEs are available online and run within web browsers; examples of this are Online Javascript IDE, Codenvy, Cloud9 IDE, Firebug and Koding.

Page 14: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Integrated development environments

• Universal

• C/C++

• Basic • Java

• Paskal

Anjuta • Visual Studio • NetBeans • Eclipse • KDevelop • Xcode• Geany • MonoDevelop • Aptana Studio • Open Watcom • Komodo • Kylix

Borland C++ • C++ Builder • Code::Blocks • CodeLite • wxDev-C++ • Pelles C • Oracle Solaris Studio • QDevelop • Qt Creator • Ultimate++ • Microsoft QuickC

PowerBASIC • Turbo Basic • Visual Basic • QBasic • QuickBASIC • PureBasic

WebLogic • BlueJ • DrJava • Greenfoot • JCreator • JDeveloper • IntelliJ IDEA • JBuilder • JGRASP

Delphi • Lazarus • MSE • PascalABC.NET • MIDletPascal • PocketStudio • Morfik • Turbo Pascal • QuickPascal • Visible Pascal

Page 15: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Integrated development environments

• PHP

• Python

• Ruby

Aptana Studio with PHP plugin • Delphi for PHP (RadPHP) • Eclipse PDT • Zend Studio • NuSphere PhpED • PHP Expert Editor • phpStorm • Dreamweaver

Boa Constructor • Eclipse+PyDev • Eric • IDLE • Komodo • PyCharm • PyScripter • SPE • Wing IDE

RubyMine

Page 16: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Integrated development environments

• C /C++ and C# AnjutaCode::BlocksCodeLiteDev-C++EclipseGNAT Programming StudioKDevelopKuzyaMonoDevelopNetBeansQDevelopQt CreatorwxDev-C++Ultimate++Pelles CSun StudioXcodeC++BuilderCodeWarriorIBM VisualAgeVisual Studio Express

Page 17: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Integrated development environments

• Java CurrentAndroid StudioBlueJEclipseJetBrains IntelliJ IDEAGreenfootKDevelopJBuilderJCreatorJDeveloperjGRASPMyEclipseNetBeansIBM Rational Application Developer for WebSphereDiscontinuedMetrowerks CodeWarrior Pro for JavaKalimantanSun Java Studio Creator (superseded by NetBeans)Visual Age (superseded by Eclipse)Visual Café (aka Espresso, superseded by JBuilder)Visual J++Xelfi (became NetBeans)

Page 18: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

.NET based Integrated development environments

• .NET MonoDevelopSharpDevelopVisual StudioXamarin Studio

Page 19: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Visual Studio

Page 20: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Xamarin Studio

Page 21: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Xamarin.Mac

Xamarin Studio

Xamarin Test Cloud

Component Store

Xamarin.iOS

Xamarin.Android

Xamarin for Visual Studio

.NET Mobility Scanner

Xamarin Studio

Page 22: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

MonoDevelop for Linux

Page 23: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Network Programming in the .NET Framework

• The Microsoft .NET Framework provides a layered, extensible, and managed implementation of Internet services that can be quickly and easily integrated into your applications. Your network applications can build on pluggable protocols to automatically take advantage of new Internet protocols, or they can use a managed implementation of the Windows socket interface to work with the network on the socket level.

• Network programming samples that use classes in the System.Net, System.Net.Cache, System.Net.Configuration, System.Net.Mail, System.Net.Mime, System.Net .NetworkInformation, System.Net.PeerToPeer, System.Net. Security, System.Net.Sockets namespaces.

Page 24: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Communication network Programming in the .NET Framework

• System.Net Provides a simple programming interface for many of the protocols used on networks today. The System.Net.WebRequest and System.Net.WebResponse classes in this namespace are the basis for pluggable protocols.

• System.Net.Cache Defines the types and enumerations used to define cache policies for resources obtained using the System.Net.WebRequest and System.Net.HttpWebRequest classes.

• System.Net.Configuration Classes that applications use to programmatically access and update configuration settings for the System.Net namespaces.

• System.Net.Http Classes that provides a programming interface for modern HTTP applications.

• System.Net.Http.Headers Provides support for collections of HTTP headers used by the System.Net.Http namespace

• System.Net.Mail Classes to compose and send mail using the SMTP protocol.

• System.Net.Mime Defines types that are used to represent Multipurpose Internet Mail Exchange (MIME) headers used by classes in the System.Net.Mail namespace.

Page 25: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Communication network Programming in the .NET Framework

• System.Net.NetworkInformation Classes to programmatically gather information about network events, changes, statistics, and properties.

• System.Net.PeerToPeer Provides a managed implementation of the Peer Name Resolution Protocol (PNRP) for developers.

• System.Net.PeerToPeer.Collaboration Provides a managed implementation of the Peer-to-Peer Collaboration interface for developers.

• System.Net.Security Classes to provide network streams for secure communications between hosts.

• System.Net.Sockets Provides a managed implementation of the Windows Sockets (Winsock) interface for developers who need to help control access to the network.

• System.Net.WebSockets Provides a managed implementation of the WebSocket interface for developers.

• System.Uri Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.

• System.Security.Authentication.ExtendedProtection Provides support for authentication using extended protection for applications.

• System.Security.Authentication.ExtendedProtection.Configuration Provides support for configuration of authentication using extended protection for applications.

Page 26: Lector: Aliyev H.U. Lecture №1 Introduction to Telecommunication network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT

Q&A?