You get a bonus - 1 coin for daily activity. Now you have 1 coin

2 Structure of the Internet. Basic definitions. Internet services. Protocols. TCP / IP protocol.

Lecture



Internet history

The Internet is a technology for connecting computer networks. Its development began the American military in the 60s of the twentieth century. By that time, computer networks and information network technologies already existed, and the main task that was posed to the Internet was to provide computer network communications for geographically distributed nodes — computer networks — when the enemy strikes territory, including nuclear ones, at which colossal destruction of infrastructures.

On the basis of special data transfer rules, called network protocols - TCP / IP (Transmission ControlProtocol and Internet Protocol), in 1969, the US Department of Defense completed a project for sharing resources of the Ministry of Defense, universities and other government agencies. The system being created was first called ARPANET - Advanced Research Projects Agency Net, then, after a huge expansion all over the world, was named the Internet. The Internet is designed and essentially a gateway system, a system uniting computer networks (according to other sources, the first network protocol was NCP).

In 1971, the first program to send e-mail appeared.

In 1973, the first foreign countries — Norway and the United Kingdom — connected to the network through the transatlantic cable.

In the 1970s, the network was mainly used for sending e-mail, bulletin boards and newsgroups were also used.

In 1984, the Domain Name System (DNS) was developed, and the FIDO network appeared. From this year begins the active development of the network NSFNet (National Science Foundation Network) - the network of the United States National Science Foundation.

In 1988, the IRC protocol was invented - the first chats appeared.

In 1989, the idea of ​​the World Wide Web was born within the walls of CERN (Switzerland). She was suggested by Briton Tim Berners-Lee, who for two years developed the HTTP protocol, HTML language and URL identifiers.

In 1990, ARPANET ceased to exist, losing the competition to NSFNet.

In 1991, the WWW became publicly available on the Internet.

In 1995, network providers, rather than supercomputers of the National Science Foundation of the United States, began to route the network. In the same year, HTTP overtook FTP traffic, becoming the main provider of information on the Internet.

In the 1990s, the Internet united most networks, with the possible exception of FIDOnet, as well as closed specialized networks.

In the USSR, the Internet began to emerge in 1952 thanks to the work of the ITMIT of the USSR Academy of Sciences in the framework of the creation of an automated missile defense system. The network was used to calculate the flight paths of the rockets (this can also be called one of the first GRID networks). Since 1972, the unified data transmission network has been operating as part of the cash operations of the ACS Express in the Ministry of Railways and Communications. Exit to the world environment was realized 08.28.1990 thanks to the Institute of Atomic Energy. Kurchatov and IPK "Minavtoproma." Domain “ru” was registered in 1994 (before this was su - SovietUnion, which still exists).

Key operating principles and structure

The Internet consists of many thousands of corporate, scientific, government and home computer networks. The unification of networks of different architecture and topology has become possible thanks to the IP protocol ( Internet Protocol ) and the principle of data packet routing. At the moment (2010) there are 234 million sites in the network.

The user's computer is connected to the provider's computer via a communication line, which, in turn, is connected to another computer on the network, etc. Information in the network is stored both on the ISP’s computers and on special computers, which are called information servers. Computers to which many other computers connect are called servers. The provider is the organization through which ordinary computers connect to the global network.

Figure 1. The structure of the Internet

A distinctive feature of the Internet is high reliability : when part of computers and communication lines fail, the network will continue to function and will transmit messages via other communication lines. Such reliability is ensured by the fact that there is no single control center on the Internet. Organizations connected to each other by high-speed communication lines form the basic part of a network or ridge. If the provider is connected directly to the ridge, then the speed of information transfer to users will be maximum. Providers can be small and large. In reality, the difference between users and providers is quite conditional. Any user can provide network connection services to other users.

Basic definitions

 

Address types: physical (MAC address), network (IP address) and symbolic (DNS name)

Each computer on a TCP / IP network has three levels of addresses:

  • The local node address, determined by the technology with which the separate network is built, to which this node belongs. For nodes entering local networks, this is the MAC address of the network adapter or router port, for example, 11-A0-17-3D-BC-01. These addresses are assigned by equipment manufacturers and are unique addresses, as they are managed centrally. For all existing technologies of local area networks, the MAC address has a format of 6 bytes: the upper 3 bytes is the manufacturer’s company identifier, and the lower 3 bytes are assigned uniquely by the manufacturer. For nodes that are members of global networks, such as X.25 or frame relay, the local address is assigned by the global network administrator;
  • An IP address consisting of 4 bytes, for example, 109.26.17.100. This address is used at the network level. He is appointed by the administrator during the configuration of computers and routers. An IP address consists of two parts: a network number and a node number. The network number can be chosen arbitrarily by the administrator or assigned according to the recommendation of the special division of the Internet (Network Information Center, NIC), if the network is to operate as part of the Internet. Typically, Internet service providers receive address ranges from NIC units, and then distribute them among their subscribers;
  • The DNS address (Domain Name Service) is the host name, for example (www.rambler.ru in the global network or \\ Zeus in the local network). The basis of DNS is the idea of ​​the hierarchical structure of a domain name and zones . Each server responsible for the name can delegate responsibility for the further part of the domain to another server (from an administrative point of view - to another organization or person), which makes it possible to assign responsibility for the information to the servers of various organizations (people) responsible only for "their" part domain name. DNS is important for the operation of the Internet, since the connection to the site requires information about its IP address, and it is easier for people to memorize alphabetic (usually meaningful) addresses than the sequence of digits of the IP address. In some cases, this allows you to use virtual servers, such as HTTP servers, distinguishing them by request name. Initially, the conversion between domain and IP addresses was performed using a special text file HOSTS, which was compiled centrally and updated manually on each of the network machines. With the growth of the Network, the need arose for an efficient, automated mechanism, which DNS has become. DNS was developed by P. Mokapetris in 1983; the original description of the operation mechanisms is described in RFC 882 and RFC 883. In 1987, the publication RFC 1034 and RFC 1035 changed the DNS specification and canceled RFC 882 and RFC 883 as obsolete. Some new RFCs have added and expanded the capabilities of the basic protocols.

Example : for the address ru.wikipedia.org, the first level domain is org, the second domain is wikipedia, the third domain is ru.

The following are some examples of domains:

com US commercial organization

edu educational institutions

gov usa government agencies

mil military organizations and US institutions

org private organizations USA

net network

Domains also often include a country code (if the server is located outside the United States). Below are a few examples.

ca Canada

br Brazil

jp japan

au Australia

gr Germany

ru Russia

su CIS countries, including Russia

Internet services

Teleconferencing (USENET)

This service works much like e-mail, but received emails are available for general viewing. For the convenience of discussions formed groups. Group discussions are held on a specific topic. To become a member of such a group, the user must subscribe to this conference with his provider. You can often find answers to your questions by connecting to the right group and asking for advice from its members.

FTP (File Transfer Protocol)

Using this network service, you can “transfer” files from another computer to your computer. These computers are called FTP servers. They contain huge archives of files. This service is one of the main ways to distribute free software, as well as various additions and corrections to commercial versions of programs.

FTP file transfer protocol allows computers to transfer a copy of the desired file to their computers or to their local systems.

Gopher (gopher)

This system of nested menus, branched like gopher holes, was a prototype of the World Wide Web. Gopher is a menu of Internet resources where you can find the information you need. But since walking on the web is much more convenient than crawling along the gopher holes, now this system is gradually dying off.

Internet Relay Chat (IRC)

Conversations over the Internet in real time. The service is similar to newsgroups. The difference is that you talk with a group of users without delay, like talking to people gathered in the same room.

Telnet

This service allows you to manage from your computer the work of another computer. Your computer is the remote terminal of this other computer. A remote terminal is different in that it does not perform its own calculations. Everything that is entered on your keyboard is transmitted to the remote computer, and the results are transferred back and displayed on your monitor. Remote computers, as a rule, have the UNIX operating system. Therefore, knowledge of the basic commands of this operating system is mandatory for the user. With the advent of graphical operating systems, such as Windows, the command mode has become less popular, and most of the users don’t use Telnet.

A special HTTP protocol (Hyper Text Transfer Protocol), Hypertext Transfer Protocol, is used to work with the WWW. WWW service is called the World Wide Web .

Hypertext documents are created using a special language HTML (Hyper Text Markup Language) - hypertext markup language.

Internet protocols

In the OSI model, also called the Open Systems Interconnection (OSI) model and developed by the International Organization for Standardization (ISO), the network interaction tools are divided into seven levels, for which standard names and functions are defined.

The network layer occupies an intermediate position in the OSI model: application, session, and presentation protocols access its services. To perform its functions, the network layer calls the functions of the data link layer, which in turn refers to the means of the physical layer.

Consider briefly the basic functions of the levels of the OSI model.

  • The physical layer transmits bits over physical channels, such as coax, twisted pair, or fiber optic cable. At this level, the characteristics of the physical media and electrical signal parameters are determined.
  • The link layer provides data frame transmission between any nodes in networks with a typical topology or between two neighboring nodes in networks with an arbitrary topology. The data link layer protocols contain a certain structure of communications between computers and ways of their addressing. The addresses used at the data link layer in local networks are often called MAC addresses.
  • The network layer provides data delivery between any two nodes in a network with an arbitrary topology, while it does not assume any obligations for the reliability of data transmission.
  • The transport layer provides data transfer between any network nodes with the required level of reliability. For this purpose, at the transport level there are facilities for establishing a connection, numbering, buffering, and ordering packets.
  • The session layer provides dialogue management tools that allow you to record which of the interacting parties is currently active, and also provides synchronization tools as part of the messaging procedure.
  • Presentation level Unlike the underlying layers, which deal with reliable and efficient transmission of bits from the sender to the receiver, the presentation layer deals with the external presentation of the data. At this level, various types of data transformation can be performed, such as compression and decompression, encryption and decryption of data.
  • The application layer is essentially a collection of a variety of network services provided to end users and applications. Examples of such services are, for example, e-mail, file transfer, connection of remote terminals to a computer over a network.

When constructing the transport subsystem, the functions of the physical, link and network layers, which are closely related to the equipment used in this network: network adapters, hubs, bridges, switches, routers, are of the greatest interest. The functions of the application and session layers as well as the presentation layer are implemented by the operating systems and system applications of the end nodes. The transport layer mediates between these two groups of protocols.

Note that the OSI model is theoretical, and contains quite a few flaws. There were attempts to build networks in strict accordance with the OSI model, but the networks thus created were expensive, unreliable and inconvenient to operate. Actual network protocols used in existing networks are forced to deviate from it, providing unforeseen opportunities, so binding some of them to OSI levels is somewhat conditional: some protocols occupy several layers of the OSI model, reliability functions are implemented at several levels of the OSI model.

The main flaw in OSI is the ill-considered transport layer. On it OSI allows data exchange between applications (introducing the concept of a port - application identifier), however, the possibility of exchanging simple datagrams (like UDP) in OSI is not provided - the transport layer must form connections, provide delivery, control the flow, etc. (by type TCP). Real protocols implement this feature.

TCP / IP protocol

Transmission Control Protocol / Internet Protocol (TCP / IP) is an industry standard protocol stack designed for wide area networks. TCP / IP standards are published in a series of documents called Request for Comment (RFC). RFCs describe the internal workings of the Internet. Some RFCs describe network services or protocols and their implementation, while others generalize application conditions. TCP / IP standards are always published as RFCs, but not all RFCs define standards.

The stack was developed at the initiative of the Department of Defense (DoD) more than 20 years ago to link the experimental ARPAnet network with other satellite networks as a set of common protocols for a heterogeneous computing environment. The ARPA network supported developers and researchers in the military fields. In the ARPA network, the connection between two computers was carried out using the Internet Protocol (IP), which is still one of the main TCP / IP stack names and appears in the stack name.

A major contribution to the development of the TCP / IP stack was made by the University of Berkeley, implementing the stack protocols in its version of UNIX OS. The widespread adoption of the UNIX operating system has also led to the widespread adoption of the IP protocol and other stack protocols. This is also the global Internet information network, whose division of the Internet Engineering Task Force (IETF) makes a major contribution to the improvement of stack standards published in the form of RFC specifications.

The leading role of the TCP / IP stack is explained by the following properties:

  • it is the most complete standard and at the same time popular stack of network protocols with a long history;
  • almost all large networks transmit most of their traffic using TCP / IP;
  • this is a method of gaining access to the Internet;
  • this stack serves as the basis for creating an Internet corporate network using Internet transport services and WWW hypertext technology developed on the Internet;
  • all modern operating systems support the TCP / IP stack;
  • it is a flexible technology for connecting heterogeneous systems both at the level of transport subsystems and at the level of applied services;
  • it is a robust, scalable, cross-platform client / server application environment.

TCP / IP stack structure. Brief description of the protocols

Since the TCP / IP stack was developed before the ISO / OSI open systems interconnection model appeared, although it also has a multi-level structure, the alignment of TCP / IP stack levels with the OSI model is rather arbitrary.

The structure of the TCP / IP protocols is shown in Figure 2.1. TCP / IP protocols are divided into 4 levels.

Fig. 2.1. TCP / IP stack

The lowest (level IV) corresponds to the physical and channel layers of the OSI model. This layer is not regulated in TCP / IP protocols, but it supports all popular standards of the physical and data link layer: Ethernet, Token Ring, FDDI, Fast Ethernet, 100VG-AnyLAN for local networks, point-to-point connection protocols for wide area networks (SLIP). and PPP, X.25 packet-switched territorial network protocols, frame relay. A special specification has also been developed, defining the use of ATM technology as a data link transport. Usually, when a new technology of local or global networks appears, it is quickly incorporated into the TCP / IP stack by developing an appropriate RFC that defines the method of encapsulating IP packets into its frames.

The next level (level III) is the level of interconnection, which deals with the transmission of packets using various transport technologies of local networks, territorial networks, special communication lines, etc.

The main protocol of the network layer (in terms of the OSI model) uses the IP protocol in the stack, which was originally designed as a packet transmission protocol in composite networks consisting of a large number of local networks connected by both local and global connections. Therefore, the IP protocol works well in networks with a complex topology, making rational use of the presence of subsystems in them and sparingly the throughput of low-speed communication lines. The IP protocol is a datagram protocol, that is, it does not guarantee delivery of packets to the destination node, but tries to do this.

The interworking layer also includes all protocols related to the creation and modification of routing tables, such as the RIP (Routing Internet Protocol) and Open Shortest Path First protocols for collecting routing information, as well as the Internet Control Message Protocol (ICMP) ). The latter protocol is designed to exchange error information between the routers of the network and the source node of the packet. With the help of special ICMP packets, it is reported that the package cannot be delivered, the lifetime or duration of the packet assembly from fragments is exceeded, anomalous parameter values, a change in the forwarding route and type of service, system status, etc. are reported.

The next level (level II) is called the main level. At this level, the Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) datagrams function. TCP provides reliable messaging between remote application processes by creating virtual connections. The UDP protocol provides the transmission of application packets in a datagram manner, like IP, and performs only the functions of a link between the network protocol and numerous application processes.

The upper level (level I) is called applied. For many years of use in the networks of various countries and organizations, the TCP / IP stack has accumulated a large number of application-level protocols and services. These include such widely used protocols as FTP file copy protocol, terminal telnet emulation protocol, SMTP mail protocol used in Internet e-mail, hypertext services for accessing remote information, such as WWW and many others. Let us dwell in some detail on some of them.

File Transfer Protocol FTP (File Transfer Protocol) implements remote file access. In order to ensure reliable transmission, FTP uses a connection protocol, TCP, as its transport. In addition to file transfer, the FTP protocol offers other services. So, the user is given the opportunity to work interactively with a remote machine, for example, he can print the contents of its directories. Finally, FTP authenticates users. Before accessing the file, in accordance with the protocol, users must provide their name and password. To access the public FTP directories of Internet archives, password authentication is not required, and it is bypassed by using the predefined username Anonymous for such access.

In the TCP / IP stack, the FTP protocol offers the most comprehensive set of services for working with files, but it is also the most difficult to program. Applications that do not require all the features of FTP can use a different, more economical protocol — the simplest protocol is the Trivial File Transfer Protocol (TFTP). This protocol implements only the transfer of files, and as a transport, a connectionless protocol, simpler than TCP, is used - UDP.

The telnet protocol provides a stream of bytes between processes, as well as between a process and a terminal. Most often, this protocol is used to emulate a remote computer terminal. When using the telnet service, the user actually controls the remote computer in the same way as the local user, so this type of access requires good protection. Therefore, telnet servers always use at least password authentication, and sometimes more powerful security features, such as Kerberos.

Simple Network Management Protocol (SNMP) is used for network management. Originally, SNMP was designed to remotely monitor and control Internet routers, which are traditionally also commonly referred to as gateways. With the growing popularity, the SNMP protocol was also used to control any communication equipment — hubs, bridges, network adapters, etc. etc. The management problem in the SNMP protocol is divided into two tasks.

The first task is related to the transfer of information. The control information transfer protocols define the procedure for interaction between the SNMP agent running in the managed equipment and the SNMP monitor running on the administrator's computer, which is often also called the management console. Transmission protocols define the message formats exchanged between agents and the monitor.

The second task is related to controlled variables characterizing the state of the controlled device. Standards regulate what data should be stored and accumulated in devices, the names of these data and the syntax of these names. The SNMP standard defines a network management information database specification. This specification, known as the Management Information Base (MIB) database, defines the data elements that the managed device must store, and the valid operations on them.

IPv6 protocol

IPv6 is a new version of IP, which is designed to solve the problem of lack of address space when using the previous version of IPv4, by increasing the length of the address from 32 to 128 bits. Currently (2009) is already used in more than 2000 networks around the world, but has not yet received universal distribution. It is planned to smoothly replace IPv4 with IPv6, due to parallel operation and gradual increase in traffic through the latter. The main problem is the replacement - a significant part of the equipment and software are developed only for IPv6.

IPv7 (developed by Ullman), TUBA (Gallon), CATNIP, ENCAPS (Hinden), SIPP (Deering) and PIP (Fracis) were considered as alternatives to IPv6. In 1994, SIPP and PIP merged to serve as the base for IPv6, another name of which is IPng (IP next generation). The IPv6 fix document is RFC 1752 "The recommendation for the IP Next Generation Protocol". This specification defines the following provisions:

  • scalability: identification and address determination of at least 10 12 end systems and 10 9 individual networks;
  • topological flexibility: routing architecture and protocol should work in networks of different topologies;
  • continuity: providing a clear transition plan from the current IPv4 version;
  • automatic configuration of hosts and routers;
  • and so on.

As a result of the work in the protocol, the following innovations appeared:

  • Standard IP packet header simplified;
  • expanded address space;
  • improved support for mobile stations;
  • improved support for hierarchical addressing and route aggregation;
  • authentication and encryption mechanisms are introduced at the level of IP packets;
  • changed the presentation of optional header fields, etc.

The introduction of the Flow Label field in the IPv6 protocol greatly simplifies the routing procedure for a uniform packet flow. A stream is a sequence of packets sent by the sender to a specific destination. In this case, it is assumed that all packets of this stream should be subjected to certain processing. The nature of this processing is given by additional headers.

Multiple streams are allowed between sender and receiver. The stream label is assigned by the sending node by generating a pseudo-random 20-bit number. All packets in the same stream must have the same headers processed by the router.

When receiving the first packet with a flow label, the router analyzes additional headers, performs the functions specified by these headers, and remembers the processing results (next node address, jump header options, moving addresses in the routing header, etc.) in the local cache. The key for such an entry is the combination of the source address and the stream label. Subsequent packets with the same combination of source address and flow label are processed using cache information without a detailed analysis of all header fields.

The cache write lifetime is no more than 6 seconds, even if packets from this stream continue to arrive. When the cache entry is zeroed out and the next packet is received, the packet is processed as usual and a new cache entry is generated for it. It should be noted that the specified lifetime of the stream can be explicitly determined by the node by the sender using the control protocol or options of the transition header, and can exceed 6 seconds.

Figure 2. IPv6 header structure

Figure 3. IPv4 header structure

Prioritization of packets is provided by routers based on the priority field. This 4-bit field contains the required priority code.

There are various types of IPv6 addresses: unicast (Unicast), multicast (Anycast) and multicast (Multicast). Unicast addresses are well known. A packet sent to such an address reaches exactly the interface that corresponds to this address.

Anycast addresses are syntactically indistinguishable from Unicast addresses, but they address a group of interfaces. A packet directed to such an address will fall into the nearest (according to the router's metric) interface. Anycast addresses can only be used by routers.

Multicast type addresses identify a group of interfaces. A packet sent to such an address will reach all interfaces associated with the multicast group.

IPv4 broadcast addresses (typically xxx.xxx.xxx.255) are expressed as IPv6 multicast addresses.

IPv6 addresses are displayed as 8 groups of hexadecimal digits separated by a colon. For example, 7628: 0d18: 11a3: 09d7: 1f34: 8a2e: 07a0: 765d.

If one or more groups in a row are equal to 0000, then they can be omitted and replaced with a double colon (: :). For example, 7628: 0000: 0000: 0000: 0000: 0000: ae21: ad12 can be shortened to 7628 :: ae21: ad12, or 0000: 0000: 0000: 0000: 0000: 0000: 0000: ae21: ad12 can be shortened to :: ae21: ad12. The reduction cannot be subjected to 2 divided zero groups due to the occurrence of ambiguity.

Literature:

Questions for self-test:

1. What is a protocol without confirmation of packet arrival?

2. Is it possible to implement video conferencing using TCP?

3. How is FTP different from SSL?

4. Is it possible to have two identical IP addresses? Two identical MAC addresses?

5. Where is Mozilla Firefox in the protocol stack?


Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Networked Economy (E-Commerce)

Terms: Networked Economy (E-Commerce)