Это старая версия документа.
Содержание
TCP/IP
Протокол управления передачей и межсетевой протокол (TCP/IP) - это стандартный набор протоколов, разработанный в конце 1970-х Агентством передовых оборонных исследовательских проектов (DARPA) как средство взаимодействия между различными типами компьютеров и компьютерными сетями. TCP/IP является движущей силой интернета и поэтому является самым популярным стеком сетевых протоколов на Земле.
Введение в TCP/IP
Два компонента протокола TCP/IP представляют разные аспекты компьютерного взаимодействия. Межсетевой протокол («IP» в TCP/IP) - это протокол без установления соединения, который предоставляет только маршрутизацию пакетов, используя IP пакет (datagram) как основной блок сетевой информации. IP пакет содержит заголовок с последующим сообщением. Протокол управления передачей («TCP» в TCP/IP) позволяет сетевым хостам устанавливать соединения, которые могут использоваться для передачи потоков данных. TCP также гарантирует, что данные между подключениями будут доставлены и что они придут на сетевой хост в том же порядке, как они были посланы с другого.
Настройка TCP/IP
Настройка протокола TCP/IP состоит из нескольких элементов, которые должны быть установлены через редактирование конфигурационных файлов, или использования таких решений как сервер DHCP, который будучи включен может быть настроен на раздачу правильных TCP/IP настроек клиентам сети автоматически. Эти параметры настроек должны быть установлены корректно для облегчения правильного сетевого взаимодействия вашей системы Ubuntu.
Общие элементы настройки TCP/IP и их назначение следующие:
IP адрес IP адрес - это уникальная идентифицирующая строка, представленная в виде четырех десятичных чисел от 0 до 255, разделенных точками, каждое из которых представляет 8-битный адрес, составляющие полный 32-битный адрес Этот формат называют точечной четверичной записью (dotted quad notation).
Сетевая маска Маска подсети (или просто сетевая маска) - это локальная побитовая маска или набор флагов, которые разделяют IP адрес на часть, значимую для всей сети, и биты, значимые для данной подсети. Например, в сети класса C стандартная сетевая маска 255.255.255.0, которая маскирует первые 3 байта IP адреса и делает последний байт адреса доступным для хостов, определенных в подсети.
Адрес сети Адрес сети представляет собой байты, составляющие сетевую часть IP адреса. Например, хост 12.128.1.2 в сети класса A будет использовать 12.0.0.0 в качестве адреса сети, где 12 представляет первый байт IP адреса (сетевая часть) и нули в оставшихся трех байтах для предоставления возможных значений для хостов. Сетевой хост, использующий частный IP адрес 192.168.1.100 будет использовать для адреса сети 192.168.1.0, который определяет первые три байта сети 192.168.1 класса C и 0 для всех возможных хостов сети.
Адрес рассылки Адрес рассылки - это IP адрес, который позволяет посылать сетевые данные на все хосты заданной подсети вместо того чтобы задавать определенный хост. Стандартный общий адрес рассылки для IP сетей 255.255.255.255, но этот адрес рассылки не может быть использован для отправки сообщения каждому хосту в интернете, поскольку роутеры его блокируют. Более уместно устанавливать адрес рассылки, соответствующий вашей подсети. Например, в частной IP сети класса С 192.168.1.0 адрес рассылки будет 192.168.1.255. Широковещательные сообщения обычно создаются сетевыми протоколами, такими как протокол определения адреса (ARP) и информационный протокол маршрутизации (RIP).
Адрес шлюза Адрес шлюза - это IP адрес, через который можно соединится с определенной сетью или хостом в сети. Если один сетевой хост хочет соединиться с другим хостом в сети, и этот хост находится не в этой же сети, необходимо использовать шлюз. В большинстве случаев адрес шлюза является адресом роутера в этой сети, который включается для пропускания трафика к другим сетям или хостам, таким как интернет хостам. Значение адреса шлюза должно быть корректным или система не сможет получать доступ к хостам за пределами этой самой сети.
Адрес сервера имен Адрес сервера имен представляет IP адрес системы сервиса доменных имен (DNS), которые разрешают сетевые имена хостов в IP адреса. Существует три уровня адресов серверов имен, которые могут быть определены в порядке старшинства: Первичный сервер имен, Вторичный сервер имен и Третичный сервер имен. Чтобы у вашей системы была возможность разрешения сетевых имен хостов в соответствующие им IP адреса, вы должны определить правильные адреса серверов имен, которые вам разрешено использовать в настройках TCP/IP вашей системы. В большинстве случаев эти адреса могут и предоставляются вашим сетевым провайдером, но есть много свободных и публично доступных серверов имен, которые можно использовать, таких как Level3 (Verizon) сервера с адресами от 4.2.2.1 до 4.2.2.6.
Доступ к странице системного руководства по интерфейсам следующей командой:
man interfaces
Доступ к странице системного руководства по resolv.conf следующей командой:
man resolv.conf
IP маршрутизация
IP routing is a means of specifying and discovering paths in a TCP/IP network along which network data may be sent. Routing uses a set of routing tables to direct the forwarding of network data packets from their source to the destination, often via many intermediary network nodes known as routers. There are two primary forms of IP routing: Static Routing and Dynamic Routing.
Static routing involves manually adding IP routes to the system's routing table, and this is usually done by manipulating the routing table with the route command. Static routing enjoys many advantages over dynamic routing, such as simplicity of implementation on smaller networks, predictability (the routing table is always computed in advance, and thus the route is precisely the same each time it is used), and low overhead on other routers and network links due to the lack of a dynamic routing protocol. However, static routing does present some disadvantages as well. For example, static routing is limited to small networks and does not scale well. Static routing also fails completely to adapt to network outages and failures along the route due to the fixed nature of the route.
Dynamic routing depends on large networks with multiple possible IP routes from a source to a destination and makes use of special routing protocols, such as the Router Information Protocol (RIP), which handle the automatic adjustments in routing tables that make dynamic routing possible. Dynamic routing has several advantages over static routing, such as superior scalability and the ability to adapt to failures and outages along network routes. Additionally, there is less manual configuration of the routing tables, since routers learn from one another about their existence and available routes. This trait also eliminates the possibility of introducing mistakes in the routing tables via human error. Dynamic routing is not perfect, however, and presents disadvantages such as heightened complexity and additional network overhead from router communications, which does not immediately benefit the end users, but still consumes network bandwidth.
TCP and UDP
TCP is a connection-based protocol, offering error correction and guaranteed delivery of data via what is known as flow control. Flow control determines when the flow of a data stream needs to be stopped, and previously sent data packets should to be re-sent due to problems such as collisions, for example, thus ensuring complete and accurate delivery of the data. TCP is typically used in the exchange of important information such as database transactions.
The User Datagram Protocol (UDP), on the other hand, is a connectionless protocol which seldom deals with the transmission of important data because it lacks flow control or any other method to ensure reliable delivery of the data. UDP is commonly used in such applications as audio and video streaming, where it is considerably faster than TCP due to the lack of error correction and flow control, and where the loss of a few packets is not generally catastrophic.
ICMP
The Internet Control Messaging Protocol (ICMP) is an extension to the Internet Protocol (IP) as defined in the Request For Comments (RFC) #792 and supports network packets containing control, error, and informational messages. ICMP is used by such network applications as the ping utility, which can determine the availability of a network host or device. Examples of some error messages returned by ICMP which are useful to both network hosts and devices such as routers, include Destination Unreachable and Time Exceeded.
Daemons
Daemons are special system applications which typically execute continuously in the background and await requests for the functions they provide from other applications. Many daemons are network-centric; that is, a large number of daemons executing in the background on an Ubuntu system may provide network-related functionality. Some examples of such network daemons include the Hyper Text Transport Protocol Daemon (httpd), which provides web server functionality; the Secure SHell Daemon (sshd), which provides secure remote login shell and file transfer capabilities; and the Internet Message Access Protocol Daemon (imapd), which provides E-Mail services.