TCP/IP Transmission Control Protocol/Internet Protocol

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

> TCPIP > Introduction to TCPIP > IP Routing-Unicast Routing Principles

Unicast Routing Principles

Unicast Routing یک فرایند می باشد برای ارسال اطلاعات از مبدا به مقصد در  Internetwork ها .

Unicast Traffic دارای یک آدرس ثابت می باشند .برای آشنا شدن با Uunicast Traffic باید به قسمت RRAS رجوع کنید تا با RIP  و OSPF آشنا شوید .

 
 
Internetwork Routing

برای شناخت مفاهیم Routing لازم می باشد موارد زیر را بدانید .

Figure 1. Example of an Internetwork

End Systems

طبق تعریف ISO هر End System یک Device در شبکه می باشد که قابلیت Forward کردن Packet را میان دو شبکه متفاوت را نداشته باشد و در واقع یک Host می باشد در شبکه .

ISO (International Standards Organization)

Intermediate Systems

این گزینه دقیقا برعکس End System می باشد یک Device که امکان Forward کردن Packet را میان دو شبکه متفاوت را داشته باشد مانند Routers و Bridges و switches می باشد .

 
Network

یک Subnet یا یک شبکه که توسط یک یا چند   Layer2 switches ایجاد شده را می توان گفت Network.

 
Router

این گزینه در قسمت Intermediate systems معرفی شده . خود این گزینه به دو نوع زیر تقسیم می شود .

 
Hardware Router

کلیه Router هایی موجود در بازار مانند Cisco و  غیره را شامل می شود که برای ارتباط میان دو شبکه بسیار مفید می باشند .این Hardware مخصوص برای این کار طراحی شده .

Example:
Cisco 800 Series Routers  :  http://www.cisco.com/en/US/products/hw/routers/ps380/index.html
Cisco 7400 Series Routers :  http://www.cisco.com/en/US/products/hw/routers/ps354/index.html
Software Router

این گزینه مربوط می شود به Windows NT 4.0 Router و Windows 2000 Router که در واقع یک HOST دارای این OS ها می تواند عملیات Routing را میان دو شبکه انجام دهد .

برای اطلاعات بیشتر به قسمت RRAS مراجعه کنید .

Internetwork

تشکیل شده از حداقل دو شبکه زمانی که یک Router دو شبکه را به هم مرتبط کند این دوشبکه یک Internetwork را تشکیل داده اند .

 
 
Addressing in an Internetwork
 
Network address

به Network ID موجود در هر شبکه گفته می شود .

 
Host address

برای هر Host یک Node ID وجود دارد که در آن شبکه با آن شناسایی می شود .

 
Internetwork address

ترکیبی از Network Address و Host Address می باشد برای هر Node در Internetwork که با آن شناسایی می شود .

 
Source Internetwork Address

تشکیل شده از Source Host Address و Source Network Address

 
Destination Internetwork Address

تشکیل شده از Destination Host Address و Destination Network Address

 
A Hop Count

هر Hop Count ازMinimum 0 شروع می شود و با گذشتن Packet از یک Router افزایش می یابد و یا از Maximum خود شروع می شود تا به صفر برسد . از Hop برای اینکه

جلوگیری کنند از چرخش یک Packet در شبکه بصورت Loop استفاده می شود .

 
 
Routing Concept

Routing عملیاتی می باشد برای انتقال اطلاعات در میان شبکه های یک Internetwork  و برای درک این عملیات دو نوع Host Routing و Router Routing را باید درک کرد.

 

Figure 2. The routing Process

 

Host routing occurs when the sending host forwards a packet. Based on the destination network address, the sending host must decide whether to forward the packet to the destination or to a router. In Figure 2, the Source Host forwards the packet destined for the Destination Host to Router 1.

 

Router routing occurs when a router receives a packet that is to be forwarded. The packet is forwarded between routers (when the destination network is not directly attached to the router) or between a router and the destination host (when the destination network is directly attached). In Figure 2, Router 1 forwards the packet to Router 2. Router 2 forwards the packet to the Destination Host.

Host Routing

زمانی که یک Host تصمیم می گیرد که Packet را به مقصد خود در شبکه Remote ارسال کند .از نوع Indirect این Packet را به Router 1 ارسال می کند . اگر سیستم مقصد در شبکه Local باشد

Packet به Router 1 ارسال نمی شود بلکه بصورت Direct به Destination Host ارسال می شود .

 
Router Routing

زمانی که Packet به Router 1 ارسال شد Router باید Packet را به آدرس مقصد Forward یا ارسال کند اگر نتواند بصورت Direct این کار را کند بصورت Indirect به Router 2 که در میان

راه می باشد ارسال می کند و Router 2 چون می تواند Packet را بصورت Direct ارسال کند Packet را به Destination Host بصورت Direct ارسال می کند .

 
 
Host Routing process
 

Figure 3. Host Routing process

 

زمانی که Source Host تصمیم به ارسال Packet کرد اول باید Internetwork Address سیستم مقصد را بدست آورد .برای این کار از آدرس منطقی سیستم مقصد یا همان IP Address سیستم مقصد

شروع می شود که از طریق Name Resolution بدست آمده که معمولا DNS کمک کننده این مورد می باشد سپس از طریق ARP برای پیدا کردن MAC Address آن IP Address

شروع به فعالیت می کند اگر IP Address سیستم مقصد با IP Address سیستم ارسال کننده Packet یکسان بود Packet بصورت Direct ارسال می شود چون ARP می تواند از طریق Broadcast

کردن MAC Address سیستم مقصد را بدست آورد و Packet را ارسال کند اما اگرآدرس مقصد در شبکه Remote باشد سیستم Packet را بصورت Indirect ارسال می کند به Router 1 و از آن به بعد

این وظیفه Router 1 می باشد که Packet را به مقصد برساند یا بصورت Direct که در شکل Figure 3 این گونه می باشد  ویا به صورت Indirect که در شکل Figure 2 می بینید . البته منظور از یکسان

بودن IP Address سیستم های ارسال کننده و مقصد یعنی در یک Subnet یا یک شبکه قرار دادشته باشند .پس زمانی که دو سیستم یا دو End System در شبکه یکسان نباشند Indirect Delivery رخ

می دهد و زمانی که در شبکه یکسان باشند Direct Delivery رخ می دهد .

 

در زمان Indirect کردن Packet و ارسال آن به Router 1 سیستم Source Host یک Packet دیگر به Router

ارسال می کند برای همفکری کردن و تصمیم گرفتن در مورد شماره Hop موجود و صحیح برای Packet.و نیز بدست آوردن صحیح آدرس مبدا و مقصد .در واقع hop پرش Packet از یک Router می باشد برای

رسیدن به مقصد .برای اطلاعات بیشتر قسمت Host determination of the first Hop را بررسی کنید .

 
Host determination of the first Hop

هر IPX Host یا IP Host در شبکه مراحل زیر را برای انتخاب  اولین Hop و Physical Address آن انجام می دهند .در واقع برای انتخاب مناسب ترین Intermediate system در شبکه.

 
Host routing table

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

 
Dynamic updates of host routing table

خود Router برای کلیه Host های شبکه بهترین و مناسب ترین جدول Routing Table برای دسترسی به شبکه Remote یا مقصد را بصورت Dynamic از طریق ICMP  ایجاد می کند و Update

می کند.ICMP با بازخوانی یا بازپرسی از IP Router موجود در شبکه این اطلاعات را در یافت می کند .و در جدول Routing table موجود در هر Host اضافه می کند .

 
Eavesdropping

TCP/IP Host قاببلیت دسترسی به اطلاعاتی که میان Router ها جابجا می شود را دارند این اطلاعات توسط Routing Information Protocol سازماندهی می شوند .

 
Default router

ساده ترین راه برای ایجاد یک جدول مناسب استفاده از Default Route می باشد این نوع Route کلیه Network ID ها را در بر می گیرد البته زمانی که برای آدرس مقصد Route دیگر نباشد سیستم کلیه

مقصد ها را به از طریق  Default Route مسیر دهی می کند .

 
Querying the network for the best route

اما جدا از Routing Table وتنظیم کردن  Default Route هر TCP/IP Host , IPX Host می توانند خود بهترین و مناسب ترین Router را برای Destination Network  مورد نظر خود

را بافرستادن بک Query از نوع Broadcast پیدا کند . و IPX Router و IP Router که از Protocol RIP استفاده می کنند با دریافت این Broadcast جواب را خواهند داد و بهترین Route

را بر می گردانند .

 
Host determination of the entire path

زمانی که یک Host تصمیم به فرستادن Packet به First Hop خود در شبکه کرد و متوجه شد که این First Hop میان خود و آدرس مقصد قراردارد مرحله source routing شروع شده.پس سیستم

از درست بودن مقصد و Router انتخاب شده اطمینان دارد.

زمانی که مرحله بالا انجام شد نازمانی که Packet ارسال نشود نمی توان گفت که از مرحله Source Routing عبور کرده ایم .چون امکان دارد Admin مسیر مربوطه را Block کرده و ...

معمولا Admin برای امنیت و Test کردن Router مسیر های خاصی را باز گذاشته نه همه مسیر ها این مرحله را IP source routing می نامند.

در مرحله IP source routing می باشد که Router برای مشخص کردن اینکه آیا Packet می تواند عبور کند و باید به کدام آدرس Forward شود از اطلاعات موجود در

IP Header آن Packet استفاده می کند وآدرس Next Router و آدرس مقصد را Check می کند .

 

در مرحله IP source routing دو Type وجود دارد:

نوع اول  Next Router Field می تواند 1 یا چند آدرس باشد Multiple hops به این نوع loose source routing گفته می شود .

نوع دوم این فیلد باید دارای یک آدرس باشد که Single hop می باشد و به این نوع strict source routing گفته می شود .

 
 

Note  Token Ring source routing is a Media Access Control (MAC)-sublayer routing scheme and has no relation to the internetwork-based source routing discussed above.

 
Router Routing Process

Figure 4. Router Routing process

زمانی که یک Router می خواهد یک Packet را به Destination Host ارسال کند دو گزینه دارد اول اینکه بصورت Direct آن را به مقصد ارسال کند این در صورتی می باشد که مقصد با Router

در یک شبکه باشند و راه دوم اینکه بصورت Indirect ارسال کند به Router موجود در مسیر مقصد .

 
Routing Tables

این جدول وابسته به Router Device نیست بلکه  موجودیت آن وابسته به نوع Protocol می باشد که استفاده می شود . در واقع Routable Protocols می توانند این جدول را ایجاد کنند

IP Host در خود این جدول را دارند ولی IPX Host این جدول را ندارند .

 

در هر Routing Table سه نوع Route امکان دارد رخ دهد .

 
Network Route

این نوع Router برای مشخص شدن یک Net ID درون یک Internetwork می باشد .

 

Host Route

در این نوع هم Net ID و هم Host ID مشخص می شود در یک Internetwork . در این نوع شما بگونه یک Node در شبکه را مسیر دهی می کنید و معمولا Admin شبکه برای Optimize کردن

Traffic Network از این نوع استفاده می کند .

 
Default Route

از این نوع Route برای زمانی استفاده می شود که هیچ مسیری برای آدرس شما Route نشده .در واقع زمانی که برای آدرس مقصد شما هیچ Host route یا Network route وجود نداشته باشد از این نوع

استفاده می شود .

 

Routing table structure

این جدول دارای یک سری Field می باشد که در شکل زیر می بینید . با شناخت ساختار این جدول می توان فهمید که Router چگونه Packet ها را Forward می کند به طرف Destination Host.

 

Figure 5. Routing table structure

 

As illustrated in Figure 5, entries in the routing table usually consist of the following fields:

Network ID

The Network ID field contains the network address for a network route or an internetwork address for a host route.

Forwarding Address

The forwarding address field contains the address to which the packet is to be forwarded. The forwarding address can be a physical address or an internetwork address. For network IDs to which the end system or router is directly attached, the Forwarding Address field may be blank.

Interface

The interface field indicates the network interface that will be used when forwarding packets to the Network ID. This is a port number or other type of logical identifier. For example, the interface for a 3-COM Etherlink III network interface card may be referred to as ELNK3 in the routing table.

Metric

The metric field indicates the preference for a route. If multiple routes exist to a given network ID, the metric is used to decide which route is to be taken. The metric is an indication of the cost of the route, therefore the lowest metric is the preferred route. Some routing algorithms only store a single route to any Network ID in the routing table even when multiple routes exist. In this case, the router uses the metric to decide which route to store in the routing table.

Metrics can indicate different ways of expressing a route preference:

  • Hop Count. A common metric. Indicates the number of routers (hops) in the path to the network ID.
  • Delay. A measure of time that is required for the packet to reach the network ID. Delay is used to indicate the speed of the path (LAN links have a low delay, WAN links have a high delay) or a congested condition of a path.
  • Throughput. The effective amount of data that can be sent along the path per second. Throughput is not necessarily a reflection of the bit rate of the link, as a very busy Ethernet link may have a lower throughput than an unutilized 64-Kbps WAN link.
  • Reliability. A measure of the path constancy. Some types of links are more prone to link failures than others. For example, with WAN links, leased lines are more reliable than dial-up lines.

Lifetime

The lifetime field indicates the lifetime that the route is considered valid. When routes are learned through the exchange of information with other routers, this is an additional field that is used. Learned routes have a finite lifetime. To keep a learned route in the routing table, the route must be refreshed through a periodic process. If a learned route's lifetime expires, it is removed from the routing table. The timing out of learned routes provides a way for routers to reconfigure themselves when the topology of an internetwork changes due to a downed link or a downed router. The lifetime field is typically not visible in routing tables

- -

Network ID

در این قسمت Network Address برای یک Network Route یا یک Host Route

وجود دارد .

- -
Forwarding Address

در این فیلد آدرسی قرار می گیرد که Packet باید به آن ارسال شود .در این قسمت می توان

MAC Address قرار گیرد یا اینکه Internetwork Address قرار گیرد .

- -
Interface

برای ارسال Packet به مقصد Router از این Interface استفاده خواهد کرد .

- -
Metric

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

زمانی که یک Net ID  دو یا چند Route داشته باشد این اولویت می باشد که مشخص می کند که

Packet از طریق کدام Route ارسال شود .

 

Metric بنا به موارد زیر مشخص می شود.در واقع موارد زیر در شکل گیری یک Metric نقش دارند:

 

Hop Count

معمولا  کمترین Hop می تواند بالاترین اولویت را داشته باشد .

Delay

مدت زمانی که یک Packet نیاز دارد تا دسترسی پیدا کند به Net ID مقصد .در LAN این مدت

کمتر از WAN می باشد .

Throughput

به مقدار اطلاعاتی که در هر ثانیه سیستم توانایی ارسال آن را دارد گفته می شود .

Reliability

به میزان ثبات یک ارتباط و یا میزان اطمینان پذیری گفته می شود مثلا WAN Linksو یا یک

Leased Line دارای ثبات بیشتری نسبت به یک Dial-up Line می باشند .

- -

Lifetime

مدت زمانی می باشد که یک Route درRouting Table می تواند فعال باشد این زمان Router

را مجبور می کند بعد از تمام شدنش خود را بازبینی کند که این خود باعث می شود اگر مسیری تغیر کرده

باشد و یا یک Link از بین رفته باشد و یا یک Router خاموش شده باشد Route های مربوط به

آنها نیز تغییر کند و یا پاک شوند .این فیلد در جدول Routing Table قابل  رویت نیست.

Locality of the routing table

کلیه تصمیم گیری Routing بر مبنای اطلاعات Routing Table مستقر در  End System ها و Router ها  ساخته می شود .در کنار این سیستم با جمع آوری اطلاعات از سرور ها و Router ها و

End System ها نیز به یک Routing Table  یکسان در یک شبکه یا در یک Internetwork خواهند رسید .یک Router در مسیر بین Source و Destination شروع به ساختن یک

Routing Table می کند .امکان دارد که مسیر رفت و برگشت یک Packet میان Source و Destination تغییر کند و یکسان نباشد در اینجا ممکن است برای عمل  Routing مشکل رخ دهد .Router ها

برای جلوگیری از این مشکل میان خود و End System ها Source,Destination  در زمان های مشخص یک سری Packet ار سال می کند برای Analysis کردن مسیر و عمل Troubleshooting

Path مجود در Routing Table.

 
Routing Problems

زمانی که Configuration موجود در Router های یک Internetwork نادرست باشد امکان ایجاد مشکل  در این شبکه ها می باشد .

 
Routing Loops

زمانی که Route یک شبکه  یا یک Net ID در یک Router جوری باشد که به خود آن Router بر گردد مشکل Routing Loop ایجاد می شود مانند شکل زیر .

 

Figure 6. Example Of Routing Loops

According to the routing table on Router 1, the optimal route to Network 10 is through Router 2

According to the routing table on Router 2, the optimal route to Network 10 is through Router 3

According to the routing table on Router 3, the optimal route to Network 10 is through Router 1

 

در شکل بالا مشاهده می کنید که Packet برای رسیدن یه Network 10 درون یک Loop گرفتار می شود .

 
Black Holes

زمانی که یک Router در شبکه Fail شود و یا Link آن در شبکه موجود نباشد ارتباط بین دو شبکه از میان می رود و کلیه Packet ها از Router 1 به Router 2 ارسال می شوند ولی به مقصد نمی رسند

چون Router 2 در شبکه Detect نیست و این عمل ارسال همچنان از طرف Router 1 انجام می شود تا زمانی که Routing Table آن توسط Admin شبکه تغییر کند تا Packet ها به سمت Router 2

ارسال نشوند در Static Routing باید این گونه عمل کرد .

 

در Dynamic Routing خود Router 1 متوجه این مشکل در Router 2 می شود و Lifetime آن Route مربوط به Router 2 را

باطل می کند یا از بین می برد. در واقع Route مربوطه را در Routing Table  خود  از بین می برد .

 
Router and Broadcast Traffic

این Traffic توسط Router ها معمولا عبور داده نمی شود .چون اگر Broadcast موجود در شبکه  های Internetwork از Router ها عبور کند موجب می شود کلیه Host ها موجود در شبکه ها این

Broadcast ها را در یافت کنند و عکس العمل نشان دهند . دو مشکل وجود دارد یک Traffic بسیار بالا می رود و دوم اینکه  هر Host فرایند مربوط به آن Broadcast را Process می کند و یک جور

بی نظمی رخ می دهد .تذکر برای عبور دادن Broadcast Traffic مربوط به IPX Host باید از IPX Router استفاده کرد.

 

برای اطلاعات بیشتر به قسمت RRAS مراجعه کنید .

TCP/IP Transmission Control Protocol/Internet Protocol

LastUpdate:2005/04/05

> TCPIP > Introduction to TCPIP > IP Routing-Unicast Routing Principles