الإنترنت مذهل. بضربات قليلة على المفاتيح ،

يمكننا تشغيل مقاطع الفيديو على Youtube -

قراءة المقالات على ويكيبيديا ، طلب

المستلزمات على أمازون ، دردشة فيديو مع

الأصدقاء. لا شك أن القدرة على استخدام

أجهزة الكمبيوتر لإرسال واستقبال المعلومات

على مستوى عالمي غيرت شبكة الاتصالات

السلكية واللاسلكية العالم إلى الأبد.

قبل 150 عامًا ، ارسال رسالة من لندن إلى

كاليفورنيا سيستغرق من اسبوعين إلى ثلاثة

أسابيع ، وذلك إذا كنت دفعت ثمنها وارسلتها

في البريد السري ع. اليوم ، يستغرق هذا البريد

الإلكتروني جزءًا من الثانية. هذا التحسن في

وقت الاستجابة الذي يصل الى مليون ضع ف

ف ي الوقت الذي يستغرقه نقل الرسالة ، شجع

الاقتصاد العالمي حيث أن العالم الحديث يتحرك

بسرعة الضوء على كابلات الألياف الضوئية

المنتشرة ف ي جميع أنحاء العالم.

قد تعتقد أن أجهزة الكمبيوتر والشبكات دائمًا ما

كانت تسير جنبًا إلى جنب ، ولكن في الواقع

كانت أكثر أجهزة الكمبيوتر قبل عام 1970

تتطور بمفردها. ومع ذلك ، بدأت أجهزة

الكمبيوتر الكبيرة بالظهور في كل مكان ،

وبدأت الآلات منخفضة التكلفة بالظه ور على

مكاتب الناس ، أصبح الأمور هكذا مفيدة بشكل

متزايد لمشاركة البيانات والموارد ، وظهرت

أولى شبكات الحاسبات.

بداية ظهرت شبكات الحاسوب الأولى في

خمسينيات وستينات القرن المنصرم. أدى

استخدامها بشكل عام داخل المؤسسات - مثل

شركة أو معمل أبحاث - إلى تسهيل تبادل

المعلومات بين مختلف الناس وأجهزة

الكمبيوتر. كان هذا أسرع وأكثر موثوقية من

الطريقة السابقة لجعل شخص ما يسير في كومة

من البطاقات المثقوبة أو بكرة شريط مغناطيسي

، بجهاز كمبيوتر على الجانب الآخر من المبنى

  • والذي أطلق عليه لاحقًا اسم sneakernet .

الفائدة الثانية للشبكات كانت القدرة لمشاركة

الموارد المادية. على سبيل المثال، بدلاً من

وجود لكل جهاز كمبيوتر طابعة خاصة به ،

يمكن للجميع مشارك ة طابعة واحدة متصلة

بالشبكة. كان من الشائع أيضًا في الشبكات

المبكرة امتلاكها محركات تخزين كبيرة

ومشتركة ومكلفة للغاية لتركيبها على كل جهاز

على حدى. هذه الشبكات الصغيرة نسبيًا

محدودة عدد الحواسيب تسمى بشبكات المنطقة

المحلية ، أو LAN . يمكن أن تكون الشبكة

المحلية صغيرة مثل جهازين في نفس الغرفة ،

أو بحجم شبكة الجامعة مع الآلاف من أجهزة

الكمبيوتر. على الرغم من تطوير العديد من

تقنيات LAN والأكثر شهرة ونجاحًا كانت

Ethernet ، التي تم تطويرها في أوائل

السبعينيات في Xerox PARC ، ولا تزال

تستخدم على نطاق واسع حتى اليوم. في أبسط

أشكالها سلسلة من أجهزة الكمبيوتر متصلة

بكابل إيثرنت واحد مشترك. عندما يريد

الكمبيوتر إرسال البيانات إلى كمبيوتر آخر

يكتب البيانات كملف إشارة كهربائية على

الكابل.

بالطبع ، لأن الكابل مشترك ، كل الكمبيوترات

المتصلة بالشبكة ترى ا لإشارة ، ولكن لا تعرف

ما إذا كانت البيانات مخصصة لها أو لجهاز

كمبيوتر آخر. لحل هذه المشكلة ، تتطلب شبكة

Ethernet أن يحتوي كل جهاز كمبيوتر على

عنصر تحكم فريد في الوصول إلى الوسائط أو

عنوان MAC . يتم وضع هذا العنوان الفريد في

رأس تلك البيانات الت ي يتم إرسالها عبر الشبكة.

لذلك ، تراقب أجهزة الكمبيوتر ببساطة شبكة

الإيثرنت ، وتقوم بمعالجة البيانات فقط عندما

ترى عنوانها في رأس المعلومات. عند صنع

كل جهاز كمبيوتر اليوم يأتي مع عنوان MAC

الفريد الخاص به لكل من Ethernet و WiFi .

المصطلح العام الذي يطلق عل ى هذ التقنية هو

ناقل تحسس الوصول المتعدد ، أو CSMA

للاختصار. "الناقل" ، في هذه الحالة ، هو أي

وسيلة نقل مشترك تنقل البيانات مثل سلك

النحاس في حالة الإيثرنت ، والهواء يحمل

موجات الراديو لشبكة WiFi .

يمكن أن تشعر العديد من أجهزة الكمبيوتر في

نفس الوقت ب الناقل ، و المعدل الذي يمكن نقل

البيانات به يسمى النطاق الترددي الخاص

بالشبكة. لسوء الحظ ، فإن استخدام الناقل

المشترك له عيب واحد كبير. عندما تكون

حركة مرور الشبكة خفيفة ، يمكن لأجهزة

الكمبيوتر أن تفعل ذلك ببساطة حيث تنتضر ان

لا يكون هناك نقل بيانات على الناقل ، و ثم

تقوم الأجهزة بنقل بياناتها. ولكن ، مع زيادة

حركة مرور الشبكة ، فإن الاحتمال أن جهازي

كمبيوتر سيحاولان ارسال البيانات في نفس

الوقت يزيد أيضا. هذا يسمى تصادم ، وتصبح

البيانات مشوهة ، مثل شخصين يحاولان

التحدث على الهاتف في نفس الوقت. لحسن

الحظ ، يمكن لأجهزة الكمبيوتر اكتشاف هذه

التصادمات من خلال مراقبة الإشارة الموجودة

على السلك. الحل الأكثر وضوحًا لأجهزة

الكمبيوتر هو وقف الإرسال و انتظار توقف

نقل البيانات على الشبكة ، ثم المحاولة مرة

أخرى.

المشكلة هي أن الكمبيوتر الآخر سيقوم بذلك

أيضًا ، وأجهزة الكمبيوتر الأخرى على الشبكة

التي كانت تنتظر خلو الناقل وحدوث وضعية

السكون ستحاول ارسال البيانات أثناء أي وقفة.

هذا يؤدي فقط إلى المزيد والمزيد من

الاصطدامات. سرعان ما تقوم جميع الاجهزة

بإرسال المعلومات مع بعضها البعض ولديها

عدد كبير من البيانات التي يحتاجون لارسالها .

كانت تقنية إيثرنت بسيطة وفعالة بشكل مدهش

حيث انه عندما تكشف أجهزة الكمبيوتر عن

تصادم ، تنتظر لفترة وجيزة قبل محاولة إعادة

الإرسال. كمثال : ينتظ ر ثانية واحدة. لك ن هذا

لن يعمل إذا كانت جمي ع أجهزة الكمبيوتر

تستخدم نفس مدة الانتظار - سوف يحدث فقط

تصادم مرة أخرى بعد ثانية واحدة. لذلك ، يتم

إضافة فترة عشوائية: احد اجهزة الكمبيوتر قد

ينتظر 1.3 ثانية ، بينما ينتظر آخر 1.5 ثانية .

الكمبيوتر الذي انتظر 1.3 يبحث ع ن حالة

الناقل ان كان في حالة سكون ويبدأ في

الإرسال. عندما يعمل الكمبيوتر الذي تبلغ مدته

1.5 ثانية للحظة لاحقًا ، سيجد أن الشبكة قيد

الاستخدام ، وسينتظر حتى ينتهي الكمبيوتر

الآخر. هذا بالتأكيد يساعد ، لكنه ليس حلا

للمشكلة ، لذلك يتم استخدام طريقة إضافية. إذا

اكتشف الكمبيوتر اصطدام أثناء الإرسال ، فإنه

سينتظر ثانية واحدة ، بالإضافة إلى بعض

الوقت الإضافي العشوائي. ومع ذلك ، إذا

اصطدم مرة أخرى ، مما يوحي ازدحام الشبكة

بدلاً من انتظار آخر ثانية واحدة ، هذه المرة

سوف تنتظر ثانيتين. إذا اصطدمت مرة أخرى

، فسوف تنتظر 4 ثوان ، ثم 8 ثم 16 وهكذا

حتى إنه ناجح. مع تراجع أجهزة الكمبيوتر ،

معدل الاصطدامات تنخفض ، وتبدأ البيانات في

التحرك مرة أخرى ، وتحرر فوق الشبكة.

هذا السلوك "التراجع" باستخدام وقت الانتظار

المتزايد يسمى التراجع الأسي. يستخدمه كل من

Ethernet و WiFi ، وكذلك يفعل الكثيرون

بروتوكولات الإرسال. ولكن حتى مع الحيل

الذكية مثل التراجع المتسارع، لا يمكن أن

يكون لديك كامل أجهزة كمبيوتر الجامعة على

شبكة إيثرنت مشترك ة بكابل واحد. لتقليل

الاصطدامات وتحسين الكفاءة ، نحتاج إلى

تقليص عدد الأجهزة الموجودة على أي شبكة

نقل مشتركة معينة - ما يسمى مجال التصادم.

دعنا نعود إلى مثال Ethernet السابق ، حيث

كان لدينا ستة أجهزة كمبيوتر على كابل مشترك

واحد ، يُعرف أيضًا باسم مجال تصادم واحد.

لتقليل احتمالية الاصطدام ، نحن يمكن تقسيم

هذه الشبكة إلى اثنين من الاصطدام المجالات

باستخدام Network Switch . إنه يقع بين

شبكتين أصغر حجمًا لدينا ، ويمرر البيانات

بينهما فقط إذا لزم الأمر. يقوم بذلك عن طريق

الاحتفاظ بقائمة بما MAC العناوين موجودة

على أي جانب من الشبكة. لذلك إذا أراد A

الإرسال إلى C ، فإن المفتاح لا يعيد توجيه

البيانات إلى الشبكة الأخرى - ليس هناك حاجة.

هذا يعني إذا كان E يريد الإرسال إلى F في في

نفس الوقت ، الشبكة مفتوحة على مصراعيها ،

و يمكن أن يحدث إرسالان في وقت واحد.

ولكن ، إذا أراد F إرسال البيانات إلى A ،

فعندئذٍ التبديل يمر من خلاله ، والشبكتين

كلاهما مشغول لفترة وجيزة. هذا هو حجم

شبكات الكمبيوتر الكبيرة شيدت ، بما في ذلك

أكبر واحد للجميع - الإنترنت - حرفيا يربط بين

مجموعة من الشبكات الأصغر ، السماح

بالاتصال بين الشبكات. ما المثير للاهتمام حول

هذه الشبكات الكبيرة ، هو أن هناك غالبًا

مسارات متعددة الحصول على البيانات من

موقع إلى آخر.

وهذا يقودنا إلى أساسيات أخرى موضوع

الشبكات ، التوجيه. أبسط طريقة لتوصيل

جهازي كمبيوتر بعيدًا ، أو الشبكات ، من خلال

تخصيص اتصال خط لاستخدامهم الحصري.

هذه هي الطريقة التي عملت بها أنظمة الهاتف

في وقت مبكر. على سبيل المثال ، قد يكون

هناك 5 خطوط هاتفية الجري بين إنديانابوليس

وميسولا. إذا التقط جون الهاتف الذي يريد

الاتصال هانك ، في العقد الأول من القرن

الماضي ، قال جون للإنسان عامل الهاتف حيث

يريد الاتصال ، وسيقومون اربط ماديًا بخط

هاتف جون خط غير مستخدم يمتد إلى ميسولا.

لطول المكالمة ، كان هذا الخط إذا كانت جميع

الأسطر الخمسة مشغولة بالفعل قيد الاستخدام ،

سيتعين على جون الانتظار حتى يقوم أحد

أصبح حرا. هذا النهج يسمى تبديل الدائرة ،

لأنك تقوم حرفيا بالتبديل الكل دوائر لتوجيه

حركة المرور إلى الوجهة الصحيحة. إنه يعمل

بشكل جيد ، لكنه غير مرن نسبيًا ومكلفة ، لأنه

غالبًا ما يكون غير مستخدم الاهلية. على

الجانب العلوي ، بمجرد أن يكون لديك خط

لنفسك - أو إذا كان لديك المال لشراء واحدة من

أجلها استخدامك الخاص - يمكنك استخدامه في

بكامل طاقتها ، دون الحاجة للمشاركة. لهذا

السبب الجيش والبنوك وغيرها عمليات عالية

الأهمية لا تزال تشتري مخصصة دوائر لربط

مراكز البيانات الخاصة بهم.

طريقة أخرى للحصول على البيانات من واحد

مكان آخر هو تبديل الرسائل ، والذي يشبه إلى

حد ما كيفية عمل النظام البريدي. بدلاً من

الطريق المخصص من A إلى B ، فإن الرسائل

يتم تمريرها من خلال عدة محطات. لذلك إذا

كتب جون رسالة إلى هانك ، فقد يكون ذلك

انتقل من إنديانابوليس إلى شيكاغو ، ثم قفز إلى

مينيابوليس ، ثم بيلينغز ، وبعد ذلك أخيرًا وصل

إلى ميسولا. كل محطة تعرف أين ترسلها بعد

ذلك لأن يحتفظون بجدول حيث يتم تمرير

الحروف إعطاء عنوان الوجهة. ما هو رائع في

تبديل الرسائل هو ذلك يمكنه استخدام طرق

مختلفة ، وإجراء الاتصالات أكثر موثوقية

وتحمل الأخطاء. التمسك بمثال البريد الخاص

بنا ، إذا كان هناك عاصفة ثلجية في مينيابوليس

تطحن الأشياء إلى التوقف ، يمكن أن يقرر

مركز بريد شيكاغو لتوجيه الحرف عبر

Omaha بدلاً من ذلك. في مثالنا ، تتصرف

المدن مثل الشبكات أجهزة التوجيه. عدد

القفزات التي تستغرقها الرسالة يسمى الطريق

عدد القفزات. يعد تتبع عدد القفزات مفيدًا لأن

يمكن أن يساعد في تحديد مشاكل التوجيه. على

سبيل المثال ، لنفترض أن شيكاغو تعتقد أن

أسرع طريق إلى ميسولا هو عبر أوماها ، لكن

أوماها يعتقد أن الطريق الأسرع يمر شيكاغو.

هذا سيء ، لأن كلا المدينتين تسير لإلقاء نظرة

على عنوان الوجهة ، ميسولا ، وينتهي الأمر

بتمرير الرسالة ذهابًا وإيابًا بينهما ، إلى ما لا

نهاية.

هذا النطاق الترددي لا يهدر فحسب ، بل إنه

كذلك خطأ توجيه يحتاج إلى إصلاح! يمكن

الكشف عن هذا النوع من الخطأ بسبب يتم

تخزين عدد القفزات مع الرسالة و تحديثها على

طول رحلتها. إذا بدأت في رؤية الرسائل بقفزة

عالية مهم ، يمكنك المراهنة على أن شيئًا ما قد

انحرف في التوجيه! هذه العتبة هي حد القفزة.

عيب تبديل الرسائل هو تلك الرسائل تكون

كبيرة في بعض الأحيان. لذلك ، يمكن أن تسد

الشبكة ، لأن يجب أن تنتقل الرسالة بأكملها من

محطة واحدة إلى التي تليها قبل المتابعة طريقه.

بينما يتم نقل ملف كبير ، هذا كله الارتباط مقيد.

حتى لو كان لديك بريد إلكتروني صغير الحجم

، بحجم كيلوبايت واحد في محاولة للتغلب عليها

، إما أن تنتظر لنقل الملفات الكبيرة للانتهاء أو

الاستكمال طريق أقل كفاءة. هذا سيء. الحل

هو قطع الإرسال الكبيرة إلى العديد من القطع

الصغيرة ، تسمى الحزم. تمامًا كما هو الحال

مع تبديل الرسائل ، كل حزمة يحتوي على

عنوان وجهة على الشبكة ، حتى تعرف أجهزة

التوجيه مكان إعادة توجيهها. يتم تعريف هذا

التنسيق بواسطة "الإنترنت بروتوكول "، أو IP

باختصار ، تم إنشاء معيار في 1970s. يحصل

كل كمبيوتر متصل بشبكة عنوان IP . ربما كنت

قد رأيت هذه أربعة ، 8 بت الأرقام المكتوبة

بالنقاط بينهما. على سبيل المثال ،

172.217.7.238 هو عنوان IP لأحد خوادم

Google .

مع وجود الملايين من أجهزة الكمبيوتر على

الإنترنت ، كل تبادل البيانات ، يمكن أن تظهر

الاختناقات وتختفي في مللي ثانية. تحاول

أجهزة توجيه الشبكة باستمرار تحقيق التوازن

الحمل عبر أي طرق يعرفونها لضمان التسليم

السريع والموثوق ، والذي يسمى السيطرة على

الازدحام. في بعض الأحيان الحزم مختلفة من

نفس تأخذ الرسالة طرقًا مختلفة عبر الشبكة.

هذا يفتح إمكانية وصول الحزم في وجهتهم

خارج الترتيب ، وهو مشكلة لبعض التطبيقات.

لحسن الحظ ، هناك بروتوكولات تعمل على

رأس IP ، مثل TCP / IP ، التي تتعامل مع هذا

قضية. سنتحدث أكثر عن ذلك الأسبوع المقبل.

تقطيع البيانات إلى حزم صغيرة ، وتمريرها

هذه على طول طرق مرنة ذات سعة احتياطية ،

فعالة للغاية ومتسامحة مع الأخطاء ، إنها كذلك

ما يعمل عليه الإنترنت بالكامل اليوم. يُطلق

على نهج التوجيه هذا اسم تبديل الحزم. كما أن

لها خاصية جميلة تتمثل في كونها لا مركزية ،

بدون سلطة مركزية أو نقطة واحدة من الفشل.

في الواقع ، فإن التهديد بشن هجوم نووي هو

السبب تم تطوير تبديل الحزمة أثناء الحرب

الباردة! اليوم ، تعمل أجهزة التوجيه في جميع

أنحاء العالم بشكل تعاوني للعثور على مسارات

فعالة ، وتبادل المعلومات مع بعضها البعض

باستخدام بروتوكولات خاصة ، مثل بروتوكول

رسائل التحكم في الإنترنت ) ICMP )

وبروتوكول بوابة الحدود ) BGP (. أول شبكة

تعمل بتبديل الحزم في العالم ، وكان سلف

الإنترنت الحديث ARPANET ، سميت على

اسم الوكالة الأمريكية التي بتمويله ، مشاريع

البحث المتقدم وكالة. هذا هو شكل ARPANET

بالكامل في عام 1974 .

كل دائرة أصغر هي موقع ، مثل a الجامعة أو

مختبر البحث الذي يعمل جهاز توجيه. كما

قاموا بتوصيل جهاز كمبيوتر واحد أو أكثر -

يمكنك مشاهدة PDP-1 و IBM System 360s وحتى أطلس في لندن متصل ارتباط قمر

صناعي. من الواضح أن الإنترنت قد نما

بسرعة كبيرة وحدود العقود التي تلت ذلك.

اليوم ، بد لاً من بضع عشرات من أجهزة

الكمبيوتر على الإنترنت ، تشير التقديرات إلى

أنها تقترب من 10 مليارات. ويستمر في النمو

بسرعة خاصة مع ظهور الثلاجات المتصلة

بشبكة wifi وغيرها من الأجهزة الذكية ،

وتشكيل "الإنترنت من الأشياء ".

The internet is amazing. With a few keystrokes, we can play videos on Youtube - read articles on Wikipedia, order supplies on Amazon, video chat with friends. Undoubtedly, the ability to use computers to send and receive information on a global scale changed the telecommunications network of the world forever .

150 years ago, sending a letter from London

to California would have taken two to three

weeks, and that’s if you paid for express

mail .

Today, that email takes a fraction of a second .

This million fold improvement in latency ,

that’s the time it takes for a message to

transfer, juiced up the global economy helping

the modern world to move at the speed of light

on fiber optic cables spanning the globe .

You might think that computers and networks

always went hand in hand, but actually most

computers pre-1970 were humming away all alone .

However, as big computers began popping up

everywhere, and low cost machines started

to show up on people’s desks, it became

increasingly useful to share data and resources ,

and the first networks of computers appeared .

Today, we’re going to start a three-episode

arc on how computer networks came into being

and the fundamental principles and techniques

that power them .

INTRO

The first computer networks appeared in the

1950s and 60s .

They were generally used within an organization

– like a company or research lab – to

facilitate the exchange of information between

different people and computers .

This was faster and more reliable than the

previous method of having someone walk a pile

of punch cards, or a reel of magnetic tape ,

to a computer on the other side of a building

‒ which was later dubbed a sneakernet .

A second benefit of networks was the ability

to share physical resources .

For example, instead of each computer having

its own printer, everyone could share one

attached to the network .

It was also common on early networks to have

large, shared, storage drives, ones too expensive

to have attached to every machine .

These relatively small networks of close-by

computers are called Local Area Networks ,

or LANs .

A LAN could be as small as two machines in

the same room, or as large as a university

campus with thousands of computers .

Although many LAN technologies were developed

and deployed, the most famous and succesful

was Ethernet, developed in the early 1970s

at Xerox PARC, and still widely used today .

In its simplest form, a series of computers

are connected to a single, common ethernet cable .

When a computer wants to transmit data to

another computer, it writes the data, as an

electrical signal, onto the cable .

Of course, because the cable is shared, every

computer plugged into the network sees the

transmission, but doesn’t know if data is

intended for them or another computer .

To solve this problem, Ethernet requires that

each computer has a unique Media Access Control

address, or MAC address .

This unique address is put into a header that

prefixes any data sent over the network .

So, computers simply listen to the ethernet

cable, and only process data when they see

their address in the header .

This works really well; every computer made

today comes with its own unique MAC address

for both Ethernet and WiFi .

The general term for this approach is Carrier

Sense Multiple Access, or CSMA for short .

The “carrier”, in this case, is any shared

transmission medium that carries data – copper

wire in the case of ethernet, and the air

carrying radio waves for WiFi .

Many computers can simultaneously sense the

carrier, hence the “Sense” and “Multiple

Access”, and the rate at which a carrier

can transmit data is called its Bandwidth .

Unfortunately, using a shared carrier has

one big drawback .

When network traffic is light, computers can

simply wait for silence on the carrier, and

then transmit their data .

But, as network traffic increases, the probability

that two computers will attempt to write data

at the same time also increases .

This is called a collision, and the data gets

all garbled up, like two people trying to

talk on the phone at the same time .

Fortunately, computers can detect these collisions

by listening to the signal on the wire .

The most obvious solution is for computers

to stop transmitting, wait for silence, then

try again .

Problem is, the other computer is going to

try that too, and other computers on the network

that have been waiting for the carrier to

go silent will try to jump in during any pause .

This just leads to more and more collisions .

Soon, everyone is talking over one another

and has a backlog of things they need to say ,

like breaking up with a boyfriend over a family

holiday dinner .

Terrible idea !

Ethernet had a surprisingly simple and effective

fix .

When transmitting computers detect a collision ,

they wait for a brief period before attempting

to re-transmit .

As an example, let’s say 1 second .

Of course, this doesn’t work if all the

computers use the same wait duration -- they’ll

just collide again one second later .

So, a random period is added: one computer

might wait 1.3 seconds, while another waits

1.5 seconds .

With any luck, the computer that waited 1.3

seconds will wake up, find the carrier to

be silent, and start transmitting .

When the 1.5 second computer wakes up a moment

later, it’ll see the carrier is in use ,

and will wait for the other computer to finish .

This definitely helps, but doesn’t totally

solve the problem, so an extra trick is used .

As I just explained, if a computer detects

a collision while transmitting, it will wait

1 second, plus some random extra time .

However, if it collides again, which suggests

network congestion, instead of waiting another

1 second, this time it will wait 2 seconds .

If it collides again, it’ll wait 4 seconds ,

and then 8, and then 16, and so on, until

it’s successful .

With computers backing off, the rate of collisions

goes down, and data starts moving again, freeing

up the network .

Family dinner saved !

This “backing off” behavior using an exponentially

growing wait time is called Exponential Backoff .

Both Ethernet and WiFi use it, and so do many

transmission protocols .

But even with clever tricks like Exponential

Backoff, you could never have an entire university’s

worth of computers on one shared ethernet

cable .

To reduce collisions and improve efficiency ,

we need to shrink the number of devices on

any given shared carrier -- what’s called

the Collision Domain .

Let go back to our earlier Ethernet example ,

where we had six computers on one shared cable ,

a.k.a. one collision domain .

To reduce the likelihood of collisions, we

can break this network into two collision

domains by using a Network Switch .

It sits between our two smaller networks ,

and only passes data between them if necessary .

It does this by keeping a list of what MAC

addresses are on what side of the network .

So if A wants to transmit to C, the switch

doesn’t forward the data to the other network

– there’s no need .

This means if E wants to transmit to F at

the same time, the network is wide open, and

two transmissions can happen at once .

But, if F wants to send data to A, then the

switch passes it through, and the two networks

are both briefly occupied .

This is essentially how big computer networks

are constructed, including the biggest one

of all – The Internet – which literally

inter-connects a bunch of smaller networks ,

allowing inter-network communication .

What’s interesting about these big networks ,

is that there’s often multiple paths to

get data from one location to another .

And this brings us to another fundamental

networking topic, routing .

The simplest way to connect two distant computers ,

or networks, is by allocating a communication

line for their exclusive use .

This is how early telephone systems worked .

For example, there might be 5 telephone lines

running between Indianapolis and Missoula .

If John picked up the phone wanting to call

Hank, in the 1910s, John would tell a human

operator where he wanted to call, and they’d

physically connect John’s phone line into

an unused line running to Missoula .

For the length of the call, that line was

occupied, and if all 5 lines were already

in use, John would have to wait for one to

become free .

This approach is called Circuit Switching ,

because you’re literally switching whole

circuits to route traffic to the correct destination .

It works fine, but it’s relatively inflexible

and expensive, because there’s often unused

capacity .

On the upside, once you have a line to yourself

– or if you have the money to buy one for

your private use – you can use it to its

full capacity, without having to share .

For this reason, the military, banks and other

high importance operations still buy dedicated

circuits to connect their data centers .

Another approach for getting data from one

place to another is Message Switching, which

is sort of like how the postal system works .

Instead of dedicated route from A to B, messages

are passed through several stops .

So if John writes a letter to Hank, it might

go from Indianapolis to Chicago, and then

hop to Minneapolis, then Billings, and then

finally make it to Missoula .

Each stop knows where to send it next because

they keep a table of where to pass letters

given a destination address .

What’s neat about Message Switching is that

it can use different routes, making communication

more reliable and fault-tolerant .

Sticking with our mail example, if there’s

a blizzard in Minneapolis grinding things

to a halt, the Chicago mail hub can decide

to route the letter through Omaha instead .

In our example, cities are acting like network

routers .

The number of hops a message takes along a

route is called the hop count .

Keeping track of the hop count is useful because

it can help identify routing problems .

For example, let’s say Chicago thinks the

fastest route to Missoula is through Omaha ,

but Omaha thinks the fastest route is through

Chicago .

That's bad, because both cities are going

to look at the destination address, Missoula ,

and end up passing the message back and forth

between them, endlessly .

Not only is this wasting bandwidth, but it’s

a routing error that needs to get fixed !

This kind of error can be detected because

the hop count is stored with the message and

updated along its journey .

If you start seeing messages with high hop

counts, you can bet something has gone awry

in the routing !

This threshold is the Hop Limit .

A downside to Message Switching is that messages

are sometimes big .

So, they can clog up the network, because

the whole message has to be transmitted from

one stop to the next before continuing on

its way .

While a big file is transferring, that whole

link is tied up .

Even if you have a tiny, one kilobyte email

trying to get through, it either has to wait

for the big file transfer to finish or take

a less efficient route .

That’s bad .

The solution is to chop up big transmissions

into many small pieces, called packets .

Just like with Message Switching, each packet

contains a destination address on the network ,

so routers know where to forward them .

This format is defined by the “Internet

Protocol”, or IP for short, a standard created

in the 1970s .

Every computer connected to a network gets

an IP Address .

You’ve probably seen these as four, 8-bit

numbers written with dots in between .

For example,172.217.7.238 is an IP Address

for one of Google’s servers .

With millions of computers online, all exchanging

data, bottlenecks can appear and disappear

in milliseconds .

Network routers are constantly trying to balance

the load across whatever routes they know

to ensure speedy and reliable delivery, which

is called congestion control .

Sometimes different packets from the same

message take different routes through a network .

This opens the possibility of packets arriving

at their destination out of order, which is

a problem for some applications .

Fortunately, there are protocols that run

on top of IP, like TCP/IP, that handle this

issue .

We’ll talk more about that next week .

Chopping up data into small packets, and passing

these along flexible routes with spare capacity ,

is so efficient and fault-tolerant, it’s

what the whole internet runs on today .

This routing approach is called Packet Switching .

It also has the nice property of being decentralized ,

with no central authority or single point

of failure .

In fact, the threat of nuclear attack is why

packet switching was developed during the

cold war !

Today, routers all over the globe work cooperatively

to find efficient routings, exchanging information

with each other using special protocols, like

the Internet Control Message Protocol (ICMP)

and the Border Gateway Protocol (BGP) .

The world's first packet-switched network ,

and the ancestor to the modern internet, was

the ARPANET, named after the US agency that

funded it, the Advanced Research Projects

Agency .

Here’s what the entire ARPANET looked like

in 1974 .

Each smaller circle is a location, like a

university or research lab, that operated

a router .

They also plugged in one or more computers

– you can see PDP-1’s, IBM System 360s ,

and even an ATLAS in London connected over

a satellite link .

Obviously the internet has grown by leaps

and bounds in the decades since .

Today, instead of a few dozen computers online ,

it’s estimated to be nearing 10 billion .

And it continues to grow rapidly, especially

with the advent of wifi-connected refrigerators

and other smart appliances, forming an “internet

of things .”