TCP/IP Transmission Control Protocol/Internet Protocol

Resource: Windows 2000 Server Resource kit TCP/IP Core Networking Guide

> Part2 > TCPIP > Introduction to TCPIP > IP Routing

IP Routing

بعد از اینکه عمل Name Resolution  برای Host name یا Netbios name انجام شد فرایند Routing برای برای فرستادن Packet به مقصد شروع می شود .

این فرایند را یک TCP/IP Host یا یک Router می تواند در شبکه انجام دهد .Router یک Device می باشد برای فرستادن یک Packet از یک Network به دیگر Network های شبکه.

در هر Router یک سری Gateway معرفی شده که کلیه Packet های در یافتی را به آن آدرس می فرستد .

از این دو طریق می باشد که یک Packet متوجه می شود که به کجا باید ارسال شود .

برای اینکه سیستم تصمیم بگیرد که Packet را به کجا ارسال کند از Routing Table موجود در Memory خود استفاده می کند .Routing Table بصورت خود کار زمانی که TCP/IP Protocol

بر روی سیستم نصب می شود ایجاد می شود و بصورت Manual نیز می توان آن را Admin سیستم تغییر دهد .البته وجود یک Device Router در شبکه نیز باعث می شود که این جدول ایجاد و یا تغییر یابد.

Direct and Indirect Delivery

Figure 1.14 Direct and Indirect Deliveries
In Figure 1.14, when sending packets to node B, node A performs a direct delivery. When sending packets to node C, node A performs an indirect delivery to Router 1. Router 1 performs an indirect delivery to Router 2. Router 2 performs a direct delivery to node C.
 

ارسال یا Forward یک Packet در شبکه دو نوع یا Type می تواند داشته باشد که معمولا یکی از این دو حالت را خواهد داشتد . یا بصورت مستقیم به آدرس مقصد Destination Address ارسال  می شود

که Direct Deliver نام دارد یا اینکه به یک Router ارسال می شود تا از آنجا به یک Network دیگر ارسال شود که Indirect Deliver گفته می شود .

 
Direct delivery occurs when the IP node (either the sending node or an IP router) forwards a packet to the final destination on a directly attached network. The IP node encapsulates the IP datagram in a frame format for the Network Interface layer (such as Ethernet or Token Ring) addressed to the destination's physical address.

Indirect delivery occurs when the IP node (either the sending node or an IP router) forwards a packet to an intermediate node (an IP router) because the final destination is not on a directly attached network. The IP node encapsulates the IP datagram in a frame format, addressed to the IP router's physical address, for the Network Interface layer (such as Ethernet or Token Ring).

 
IP Routing Table

این جدول در کلیه IP Node های شبکه وجود دارد و کلیه سیستم های شبکه از طریق این جدول تصمیم گیری می کنند که آیا Packet را باید بصورت Direct یا InDirect ارسال کنند .

این جدول فقط مربوط  به Router Device نمی باشد بلکه کلیه سیستم های TCP/IP در Memory خود این جدول را نگهداری می کنند و کلیه سیستم های یک شبکه این جدول را دارا می باشند .

 

When an IP packet is to be forwarded, the routing table is used to determine:

  1. The forwarding or next-hop IP address:

    For a direct delivery, the forwarding IP address is the destination IP address in the IP packet. For an indirect delivery, the forwarding IP address is the IP address of a router.

  2. The interface to be used for the forwarding:

    The interface identifies the physical or logical interface such as a network adapter that is used to forward the packet to either its destination or the next router.

 

زمانی که یک Packet می خواهد ارسال شود Routing Table تصمیم می گیرد که آیا باید ابن Packet به آدرس مقصد ارسال شود Direct یا اینکه به آدرس Router Device که همان InDirect

می باشد . در مرحله دوم سیستم باید تصمیم بگیرد که Packet را از کدام Interface خود یا همان Network Adapter ارسال کند .

 
IP Routing Table Entry Types

در این جدول چند Field وجود دارد که شرح داده خواهد شد .

Network ID The network ID or destination corresponding to the route. The network ID can be class-based, subnet, or supernet network ID, or an IP address for a host route.
Network Mask The mask that is used to match a destination IP address to the network ID.
Next Hop (Gateway) The IP address of the next hop.
Interface An indication of which network interface is used to forward the IP packet.
Metric A number used to indicate the cost of the route so the best route among possible multiple routes to the same destination can be selected. A common use of the metric is to indicate the number of hops (routers crossed) to the network ID.
Directly Attached Network IDs Routes for network IDs that are directly attached. For directly attached networks, the Next Hop field can be blank or contain the IP address of the interface on that network.
Remote Network IDs Routes for network IDs that are not directly attached but are available across other routers. For remote networks, the Next Hop field is the IP address of a local router in between the forwarding node and the remote network.
Host Routes A route to a specific IP address. Host routes allow routing to occur on a per-IP address basis. For host routes, the network ID is the IP address of the specified host and the network mask is 255.255.255.255.
Default Route The default route is designed to be used when a more specific network ID or host route is not found. The default route network ID is 0.0.0.0 with the network mask of 0.0.0.0.
 
Network ID

در این قسمت Net ID مد نظر جدول مشاهده می شود که  همان Destination شما می باشد که می تواند یک Class Base IP یا یک Subnet یا یک Supernet Net ID و یا یک Host ID باشد

 
Network Mask

برای هر Net ID یک Network Mask  وجود دارد یا همان  Netmask وجود دارد برای تشخیص Subnet یا Supernet وغیره...

 
Next Hop

زمانی که یک Packet آماده ارسال می باشد در یکی از Net ID های جدول وجود دارد که برای ارسال به Gateway مشخص شده ارسال می شود این Gateway یک IP Address در شبکه شما می باشد

که می تواند یک Interface مربوط به یک Router Device باشد یا اینکه Interface مربوط به یک Host .

 
Interface

برای ارسال هر Packet به Gateway مشخص شده باید یک Interface یا یک Network adapter وجود داشته باشد .امکان دارد یک سیستم جند Interface داشته باشد به همین دلیل باید مشخص شود

کدام یک از این Interface ها Packet را ارسال یا Forward کند به Gateway مشخص شده .

 
Metric

اولویت را نمایش می دهد در بین Route های موجود در جدول هر کدام که ار مقدار کمتری بر خوردار باشند اولویت بیشتری دارند .

 
Directly Attached Network IDs

از اسمش مشخص می شود برای ارسال Packet بصورت Direct از این نوع Route استفاده می شود در این نوع Gateway می تواند Blank باشد یا IP Address یکی از Interface های سیستم شما

باشد .

 
Remote Network IDs

زمانی که Gateway شما یکی از Router های شبکه  باشد شما Packet را از این طریق به یک شبکه Remote مسیر دهی کرده اید و این به معنای InDirect می باشد .

 
Host Routes

هر IP Address در شبکه یک Host Route مخصوص خود دارد برای شناسایی و مسیر یابی آن توسط دیگر سیستم ها .

 
Default Route

این  نوع Route برای اینکه زمانی سیستم یک سری Net ID یا Host ID را شناسایی نکرد استفاده می شود. و با IP Address 0.0.0.0/0 شناسایی می شود

از این نوع Route بیشتر برای اینکه یک Router Device ارتباط شبکه را با Internet برقرار کند استفاده می شود .

IP Address: 0.0.0.0    Subnet Mask:  0.0.0.0

این آدرس نمایان کننده همه Class های موجود در شبکه می باشد درواقع معنی همه IP Address ها را می دهد .

 زمانی که این Default Route در Routing Table وجود دارد همه مسیر ها را در بر می گیرد.

 
Route Determination Process

در زیر یک مثال را از این جدول می بینید .

 
Network Destination Netmask Gateway Interface Metric Purpose
0.0.0.0 0.0.0.0 157.55.16.1 157.55.27.90 1 Default Route
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 Loopback Network
157.55.16.0 255.255.240.0 157.55.27.90 157.55.27.90 1 Directly Attached Network
157.55.27.90 255.255.255.255 127.0.0.1 127.0.0.1 1 Local Host
157.55.255.255 255.255.255.255 157.55.27.90 157.55.27.90 1 Network Broadcast
224.0.0.0 224.0.0.0 157.55.27.90 157.55.27.90 1 Multicast Address
255.255.255.255 255.255.255.255 157.55.27.90 157.55.27.90 1 Limited Broadcast

 

تذکر :

در بالا یک Default Route وجود دارد و یک Direct Route زمانی که سیستم با IP Address 157.55.16.48 بخواهد ارتباط برقرار کند و Packet  ارسال کند جزو Direct Route حساب

می شود چون Subnet 157.55.16.0 mask 255.255.240.0 اینIP Address را دربر می گیرد ولی زمانی سیستم بخواهد با یک آدزس خارج از این Subnet ارتباط برقرارکند جزو

Default Route حساب می شود  Indirect باید Packet را ارسال کند مانند IP Address 157.20.0.59 این ارتباط باید به Gateway با IP Address 157.55.16.1 ارسال شود .

 
Route Command line

برای دیدن Routing Table از دستور Route Print می توان استفاده کرد .

 
Routing Processes
 

IP on the Sending Host

When a packet is sent by a sending host, the packet is handed from an upper layer protocol (TCP, UDP, or ICMP) to IP. IP on the sending host does the following:
  1. Sets the Time-to-Live (TTL) value to either a default or application-specified value.
  2. IP checks its routing table for the best route to the destination IP address.

    If no route is found, IP indicates a routing error to the upper layer protocol (TCP, UDP, or ICMP).

  3. Based on the most specific route, IP determines the forwarding IP address and the interface to be used for forwarding the packet.
  4. IP hands the packet, the forwarding IP address, and the interface to Address Resolution Protocol (ARP), and then ARP resolves the forwarding IP address to its media access control (MAC) address and forwards the packet.

زمان فرستادن Packet اول یک TTL برای Packet مشخص می شود توسط سیستم ارسال کنند و درون Routing Table بهترین مسیر چک می شود اگر مسیر مناسب پیدا نشود Error برگردانده می شود .

بعد از مشخص شدن مسیر Packet آن توسط Interface سیستم ارسال می شود .در مرحله آخر سیستم توسط ARP مسیر آدرس مقصد را و MAC Address آن را بدست می آورد و Packet ارسال می شود .

ARP یک Protocol می باشد برای بدست آوردن MAC Address های Interface های موجود در شبکه .

 
IP on the Router
When a packet is received at a router, the packet is passed to IP. IP on the router does the following:
  1. IP verifies the IP header checksum.

    If the IP header checksum fails, the IP packet is discarded without notification to the user. This is known as a silent discard.

  2. IP verifies whether the destination IP address in the IP datagram corresponds to an IP address assigned to a router interface.

    If so, the router processes the IP datagram as the destination host (see step 3 in the following "IP on the Destination Host" section).

  3. If the destination IP address is not the router, IP decreases the time-to-live (TTL) by 1.

    If the TTL is 0, the router discards the packet and sends an ICMP Time Expired-TTL Expired message to the sender.

  4. If the TTL is 1 or greater, IP updates the TTL field and calculates a new IP header checksum.
  5. IP checks its routing table for the best route to the destination IP address in the IP datagram.

    If no route is found, the router discards the packet and sends an ICMP Destination Unreachable-Network Unreachable message to the sender.

  6. Based on the best route found, IP determines the forwarding IP address and the interface to be used for forwarding the packet.
  7. IP hands the packet, the forwarding IP address, and the interface to ARP, and then ARP forwards the packet to the appropriate MAC address.

This entire process is repeated at each router in the path between the source and destination host.

 Router قسمت Checksum در IP Header آن Packet را  بازبینی می کند .اگر دراین قسمت که به مشکل بر خورد Packet را دو می اندازد و پیغام به User می دهد .در قسمت دوم به 

Destination IP Address موجود در IP Header نگاه می اندارد که آیا این مقصد IP Address خود Router می باشد.اگر جواب منفی بود TTL آن را 1عدد کم می کند . اگر TTL آن مساوی 0

شد آن Packet را دور می اندازد و پیغام  ICMP Time Expired-TTL را برای User ارسال می کند .اگر TTL مساوی 1 و یا بالاتر از آن بود Checksum جدید را برای Packet ایجاد می کند .

بعد از ایجاد Checksum جدید در Routing Table خود بدنبال مناسب ترین مسیر برای مقصد موجود در Packet می گردد و نیز بهترین Interface خود را برای ارسال آن Packet

را نیز انتخاب می کند .اگر Router در جدول خود مسیر مناسب را پیدا نکند پیغام Destination Unreachable و یا Network Unreachable را برای User ار سال می کند .ولی زمانی که در جدول

مسیر مناسب پیدا شود Router آن Packet را ارسال می کند البته از طریق ARP  آدرس MAC Address سیستم مقصد را شناسایی می کند و سپس آن Packet به آن MAC Address

ارسال  و یا Forward می کند . در جدول زیر موارد موجود در IP Header را مشاهده می کنید .

 
IP Header Field Function
Source IP Address The IP address of the original source of the IP datagram.
Destination IP Address The IP address of the final destination of the IP datagram.
Identification Used to identify a specific IP datagram and to identify all fragments of a specific IP datagram if fragmentation occurs.
Protocol Informs IP at the destination host whether to pass the packet up to TCP, UDP, ICMP, or other protocols.
Checksum A simple mathematical computation used to verify the integrity of the IP header.
Time to Live (TTL) Designates the number of networks on which the datagram is allowed to travel before being discarded by a router. The TTL is set by the sending host and is used to prevent packets from endlessly circulating on an IP internetwork. When forwarding an IP packet, routers are required to decrease the TTL by at least one.
 
IP on the Destination Host
When a packet is received at the destination host, it is passed up to IP. IP on the destination host does the following:
  1. IP verifies the IP header checksum.

    If the IP header checksum fails, the IP packet is silently discarded.

  2. IP verifies that the destination IP address in the IP datagram corresponds to an IP address assigned to the host.

    If the destination IP address is not assigned to the host, the IP packet is silently discarded.

  3. Based on the IP protocol field, IP passes the IP datagram without the IP header to the appropriate upper-level protocol.

    If the protocol does not exist, ICMP sends a Destination Unreachable-Protocol Unreachable message back to the sender.

  4. For TCP and UDP packets, the destination port is checked and the TCP segment or UDP header is processed.

    If no application exists for the UDP port number, ICMP sends a Destination Unreachable-Port Unreachable message back to the sender. If no application exists for the TCP port number, TCP sends a Connection Reset segment back to the sender.

Static and Dynamic IP Routers

برای اینکه در یک Internetwork ارتباط میان Router ها صحیح  و مناسب باشد یک Admin دو راه برای ایجاد Routing Table در یک Router Device دارد .Automatic و Manual

در حالت Manually یا همان Static شما خود باید به جدول آدرس شبکه های Remote را معرفی کنید ولی در حالت Automatically یا Dynamic این کار را خود Router با کمک یک سری

Protocol مانند RIP و OSPF انجام می دهد . در واقع در این حالت Routing Update بصورت خودکار انجام می شود و تغییرات آدرسهای موجود در میان Router ها بصورت Dynamic به اطلاع سیستم

می رسد و Routing Table تغییر می کند .

برای اطلاعات بیشتر در مورد Router Device و قوانین موجود در مورد Routing Table به قسمت زیر مراجعه کنید .

 

TCP/IP Transmission Control Protocol/Internet Protocol

LastUpdate:2005/04/05

> Part2 > TCPIP > Introduction to TCPIP > IP Routing