Linux - статьи



              

Реализация сети в операционной - часть 3


Инициализация сети

главные настройки сети в дистрибутиве RedHat (Mandrake) лежат в /etc/sysconfig/network ,/etc/sysconfig/network-scripts/ifcfg-eth0 и тд...

содержимое моих файлов (не в virtual mashine редхате а на нормальной машине Mandrake-8.2 где соответственно нет никаких сетевых карт)

/etc/sysconfig/network

NETWORKING=yes

FORWARD_IPV4=false

HOSTNAME=freeland.linux

DOMAINNAME=linux

/etc/sysconfig/network-scripts/ifcfg-lo

DEVICE=lo

IPADDR=127.0.0.1

NETMASK=255.0.0.0

NETWORK=127.0.0.0

# If you're having problems with gated making 127.0.0.0/8 a martian,

# you can change this to something else (255.255.255.255, for example)

BROADCAST=127.255.255.255

ONBOOT=yes

NAME=loopback

Очень полезной программой являеся ifconfig синтаксис которой подробно рассмотрен в мануале

[20:16][pts1]/etc/sysconfig/network-scripts [root] #ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:3242 errors:0 dropped:0 overruns:0 frame:0 TX packets:3242 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:227644 (222.3 Kb) TX bytes:227644 (222.3 Kb)

не менее полезна команда route

#route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 127.0.0.0 * 255.0.0.0 U 0 0 0 lo

её назначение ,а также многих других описано в Linux Network Administrator Guide

Соединения

В этой части мы подробно рассмотрим сокеты и всё что с ними связано

Когда процесс создаёт сокет то он пустой потом система определяет маршрут к удалённому хосту и вносит ету информацию в сокет.После этого пакеты направляются на нужное устройство

Есть два типа сокетов BSD сокеты которые включают как член INET cокеты BSD сокеты описываются структурой struct socket в linux/net.h

struct socket

{ socket_state state;

unsigned long flags; struct proto_ops *ops; struct inode *inode; struct fasync_struct *fasync_list; /* Asynchronous wake up list */ struct file *file; /* File back pointer for gc */ struct sock *sk; wait_queue_head_t wait;




Содержание  Назад  Вперед