سؤال

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

لا يوجد حل صحيح

نصائح أخرى

ملخص

TCP socket هو نقطة النهاية سبيل المثال تعريف عنوان IP و المنفذ في سياق إما معين اتصال TCP أو الاستماع الدولة.

المنفذ الافتراضية معرف تعريف الخدمة النهاية (كما متميزة من الخدمة سبيل المثال نقطة النهاية الملقب الدورة معرف).

TCP socket هو لا اتصال, هو نقطة اتصال محددة.

يمكن أن يكون هناك الاتصالات المتزامنة إلى خدمة نقطة النهاية, لأن الاتصال التي حددتها على حد سواء المحلية والبعيدة النهاية ، مما يسمح لحركة المرور أن يتم توجيهها إلى خدمة معينة على سبيل المثال.

يمكن أن يكون هناك سوى واحد المستمع مقبس معين العنوان/ميناء الجمع.

المعرض

هذا هو السؤال المثير للاهتمام أن أجبرني على إعادة النظر في عدد من الأمور كنت أعتقد أنني أعرف من الداخل إلى الخارج.كنت أعتقد اسم مثل "مأخذ" سيكون الشرح:كان من الواضح أن اختيار لاستحضار الصور من نقطة النهاية التي قمت بتوصيل كابل الشبكة ، كونها قوية وظيفية المتوازيات.ومع ذلك ، في شبكة لغة كلمة "مأخذ" يحمل الكثير من الأمتعة التي دقيق إعادة الفحص ضروري.

بأوسع معنى ممكن ، منفذ هو نقطة دخول أو خروج.على الرغم من أن لا تستخدم في الشبكات السياق الكلمة الفرنسية بورت يعني حرفيا باب أو بوابة, مزيد من التأكيد على حقيقة أن الموانئ والنقل النهاية إذا كنت السفينة البيانات أو كبيرة حاويات من الصلب.

لأغراض هذه المناقشة سوف تحد النظر إلى سياق TCP-IP الشبكات.نموذج OSI هو كل شيء جيد جدا ولكن لم تنفذ بالكامل ، أقل بكثير من نشرها على نطاق واسع في عالية حركة المرور عالية ظروف الإجهاد.

مزيج من عنوان IP و المنفذ بدقة المعروفة باسم نقطة نهاية و يسمى أحيانا مأخذ.هذا الاستخدام ينشأ مع RFC793 ، الأصلي TCP المواصفات.

TCP اتصال ويعرف النهاية اثنين الملقب مآخذ.

نقطة نهاية (المقبس) هو محدد من قبل مجموعة من عنوان الشبكة ، ميناء المعرف.لاحظ أن العنوان/ميناء لا لا تماما التعرف على مأخذ توصيل (أكثر على ذلك لاحقا).

الغرض من الموانئ هو التفريق متعددة النهاية على عنوان الشبكة.هل يمكن أن نقول أن ميناء الظاهرية نقطة النهاية.هذه المحاكاة الافتراضية يجعل الاتصالات المتزامنة متعددة على شبكة واحدة واجهة ممكن.

هو زوج مأخذ التوصيل (4-tuple تتكون من العميل عنوان IP ، العميل رقم منفذ الخادم عنوان IP ، و رقم منفذ الخادم) الذي يحدد اثنين من نقاط النهاية التي فريد يحدد كل اتصال TCP في الإنترنت.(TCP-IP يتضح حجم 1, دبليوريتشارد ستيفنز)

في معظم ج-اشتقاق اللغات اتصالات TCP تم التلاعب بها باستخدام الأساليب على سبيل المثال من مأخذ الدرجة.على الرغم من أنه من الشائع أن تعمل على مستوى أعلى من التجريد ، عادة مثيل NetworkStream الدرجة, عموما هذا يكشف مرجع إلى كائن المقبس.إلى المبرمج هذا المقبس كائن يظهر لتمثيل الاتصال لأن الاتصال تم التلاعب بها باستخدام أساليب مأخذ الكائن.

في C#, إنشاء اتصال TCP (موجود المستمع) أولا إنشاء TcpClient.إذا كنت لا تحديد نقطة النهاية إلى TcpClient منشئ ويستخدم التخلف - بطريقة أو بأخرى المحلية نقطة نهاية محددة.ثم يمكنك استدعاء الاتصال الطريقة على سبيل المثال قمت بإنشائها.يتطلب هذا الأسلوب معلمة يصف الاخر.

كل هذا هو مربكا بعض الشيء و يؤدي إلى الاعتقاد بأن مأخذ هو الاتصال الذي هو هراء.لقد كانت ترزح تحت هذا سوء فهم حتى ريتشارد درمان السؤال.

بعد أن فعلت الكثير من القراءة و التفكير, أنا الآن مقتنع أنه سيكون منطقيا أكثر أن يكون لها الدرجة TcpConnection مع منشئ أن يأخذ اثنين من الحجج ، LocalEndpoint و RemoteEndpoint.ربما يمكن دعم حجة واحدة RemoteEndpoint عندما افتراضات مقبولة المحلية نقطة النهاية.هذا هو غامض على أجهزة كمبيوتر متعددة طرق الاتصال ، ولكن الغموض لا يمكن حلها باستخدام جدول التوجيه من خلال اختيار واجهة مع أقصر الطرق إلى نقطة النهاية البعيدة.

يعزز الوضوح في نواح أخرى أيضا.المقبس هو لا التي تم تحديدها من قبل مجموعة من عنوان IP والمنفذ:

[...]TCP demultiplexes واردة شرائح باستخدام كل أربع القيم التي تشكل المحلية والأجنبية عناوين:الوجهة عنوان IP الوجهة رقم المنفذ عنوان IP المصدر " و " المصدر رقم المنفذ.TCP لا يمكن تحديد أي عملية يحصل على قطعة الواردة من خلال النظر في ميناء الوجهة فقط.أيضا, واحد فقط من [مختلف] النهاية في [معين رقم المنفذ] التي ستتلقى طلبات الاتصال الواردة في الاستماع الدولة.(p255, TCP-IP يتضح حجم 1, دبليوريتشارد ستيفنز)

كما يمكنك أن ترى أنه ليس من الممكن فقط ولكن من المحتمل جدا عن خدمة الشبكة لديك العديد من مآخذ مع نفس العنوان/منفذ واحد لكن المستمع مأخذ على عنوان معين/ميناء الجمع.مكتبة نموذجية تطبيقات هذا المقبس الدرجة مثيل والتي يتم استخدامها لإنشاء وإدارة الاتصال.هذا أمر مؤسف للغاية, لأنه يسبب الارتباك قد يؤدي إلى انتشار الخلط بين المفهومين.

Hagrawal لا تصدقني (انظر التعليقات) حتى هنا عينة حقيقية.أنا على اتصال مستعرض ويب http://dilbert.com ثم ركض netstat -an -p tcp.آخر ستة خطوط الانتاج تحتوي على أمثلة اثنين من حقيقة أن عنوان ومنفذ ليست كافية لتحديد فريد مأخذ.هناك نوعان متميزة اتصالات بين 192.168.1.3 (محطة العمل الخاصة بي) و 54.252.94.236:80 (عن بعد HTTP server)

  TCP    192.168.1.3:63240      54.252.94.236:80       SYN_SENT
  TCP    192.168.1.3:63241      54.252.94.236:80       SYN_SENT
  TCP    192.168.1.3:63242      207.38.110.62:80       SYN_SENT
  TCP    192.168.1.3:63243      207.38.110.62:80       SYN_SENT
  TCP    192.168.1.3:64161      65.54.225.168:443      ESTABLISHED

منذ مأخذ هو نقطة اتصال ، هناك نوعان من مآخذ مع العنوان/ميناء الجمع 207.38.110.62:80 واثنين آخرين مع العنوان/ميناء الجمع 54.252.94.236:80.

أعتقد Hagrawal هو سوء تفاهم ينشأ من الحرص على استخدام كلمة "يعرف".أعني "تماما ، بشكل فريد".في نموذج أعلاه هناك نوعان من نقاط النهاية مع العنوان/ميناء الجمع 54.252.94.236:80.إذا كل ما عليك هو عنوان ومنفذ, لم يكن لديك ما يكفي من المعلومات لنقول هذه المآخذ على حدة.ليس ما يكفي من المعلومات تحديد مأخذ.

الإضافة

الفقرة الثانية من المادة 2.7 من RFC793 يقول

اتصال كامل المحدد من قبل زوج من مآخذ في نهايات.A مأخذ المحلية المشاركة في العديد من اتصالات أجنبية مختلفة مآخذ.

هذا تعريف مأخذ ليست مفيدة من البرمجة نظر لأنه ليس من نفس المقبس وجوه, الذي هو نقطة النهاية معين الصدد.إلى مبرمج, و الأكثر من هذا السؤال جمهور المبرمجين, هذا هو حيوي الفرق الفنية.

المراجع

  1. TCP-IP يتضح حجم 1 البروتوكولات, دبليوريتشارد ستيفنز ، 1994 أديسون ويسلي

  2. RFC793, معلومات معهد العلوم ، جامعة جنوب كاليفورنيا DARPA

  3. RFC147, تعريف مأخذ ، جويل م.Winett, مختبر لينكولن

مأخذ يتكون من ثلاثة أشياء:

  1. عنوان IP
  2. بروتوكول النقل
  3. رقم منفذ

المنفذ هو رقم بين 1 و 65535 الشامل الذي يدل على البوابة المنطقية في الجهاز.كل اتصال بين العميل و الخادم يتطلب فريدة من نوعها مأخذ.

على سبيل المثال:

  • 1030 هو منفذ.
  • (10.1.1.2 TCP port 1030) هو مأخذ.

مأخذ يمثل اتصال واحد بين اثنين من تطبيقات الشبكة.هذه التطبيقات اثنين اسميا تشغيلها على أجهزة كمبيوتر مختلفة ، ولكن مآخذ يمكن أن تستخدم أيضا من أجل التواصل بين العمليات على جهاز كمبيوتر واحد.التطبيقات يمكن إنشاء عدة مآخذ على التواصل مع بعضهم البعض.مقابس ثنائية الاتجاه ، وهذا يعني أن أي جانب من الاتصال هو قادر على كل إرسال و استقبال البيانات.ولذلك مأخذ يمكن إنشاء نظريا في أي مستوى من نموذج OSI من 2 صعودا.المبرمجين غالبا ما تستخدم مآخذ في برمجة الشبكات ، وإن كان ذلك بشكل غير مباشر.مكتبات البرمجة مثل Winsock إخفاء العديد من مستوى منخفض تفاصيل البرمجة مأخذ.مآخذ تم استخدامها على نطاق واسع منذ أوائل 1980s.

منفذ يمثل نقطة النهاية أو "قناة" شبكة الاتصالات.أرقام المنافذ تسمح تطبيقات مختلفة على نفس الكمبيوتر إلى الاستفادة من موارد الشبكة دون التداخل مع بعضها البعض.أرقام المنافذ الأكثر شيوعا تظهر في شبكة البرمجة وخاصة برمجة المقابس.في بعض الأحيان, على الرغم من أرقام منفذ مصنوعة مرئية للمستخدم عارضة.على سبيل المثال بعض مواقع ويب شخص الزيارات على استخدام الإنترنت URL كما يلي:

http://www.mairie-metz.fr:8080/ في هذا المثال الرقم 8080 يشير إلى رقم المنفذ المستخدم من قبل مستعرض ويب للاتصال إلى ملقم ويب.عادة, موقع ويب يستخدم المنفذ رقم 80 و هذا العدد ليس من الضروري أن تدرج مع URL (على الرغم من أنه يمكن أن يكون).

في الشبكات IP, أرقام منفذ يمكن نظريا تتراوح من 0 إلى 65535.الأكثر شعبية تطبيقات الشبكة ، على الرغم من استخدام أرقام المنافذ في الطرف الأدنى من النطاق (مثل 80 HTTP).

ملاحظة:مصطلح ميناء يشير أيضا إلى العديد من الجوانب الأخرى من شبكة التكنولوجيا.منفذ يمكن الرجوع إلى نقطة اتصال على الأجهزة الطرفية مثل مسلسل, الموازي, و منافذ USB.مصطلح ميناء يشير أيضا إلى بعض إيثرنت نقاط اتصال ، مثل مركز التبديل أو جهاز التوجيه.

المرجع http://compnetworking.about.com/od/basicnetworkingconcepts/l/bldef_port.htm

المرجع http://compnetworking.about.com/od/itinformationtechnology/l/bldef_socket.htm

مع بعض التشابه

على الرغم من أن الكثير من الاشياء التقنية بالفعل المذكور أعلاه للحصول على مآخذ...أود أن أضيف جوابي ، فقط في حالة ، إذا كان شخص ما لا يزال يمكن أن نرى الفرق بين الملكية الفكرية ميناء مآخذ

النظر في الخادم S,

ويقول الشخص X,Y,Z بحاجة إلى خدمة (قل خدمة الدردشة) من هذا الخادم S

ثم

عنوان IP يقول --> من ؟ هو أن خدمة الدردشة 'S' أن X,Y,Z ترغب في الاتصال

حسنا, لديك "الذي هو الخادم"

ولكن لنفترض أن الخادم 'S' هو توفير بعض الخدمات الأخرى إلى الآخرين كما يقولون 'S' يوفر خدمات التخزين إلى الشخص A,B,C

ثم

ميناء يقول ---> الذي ؟ الخدمة (X,Y,Z) تحتاج أيخدمة الدردشة وليس خدمة التخزين

حسنا.. أنت تجعل الخادم إلى أن 'خدمة الدردشة' ما تريد وليس التخزين

ولكن

أنت ثلاثة ، الخادم قد ترغب في التعرف على جميع الثلاثة بشكل مختلف

هناك يأتي المقبس

الآن مأخذ يقول--> أي واحد ؟ خاصة الصدد

هذا هو القول ،

مقبس 1 لشخص X

مقبس 2 شخص Y

و مقبس 3 شخص Z

وآمل أن يساعد شخص ما الذي كان لا يزال الخلط :)

Firsty ، أعتقد أننا يجب أن نبدأ مع القليل من الفهم ما يشكل الحصول على حزمة من أ إلى ب.

تعريف الشبكة هو استخدام نموذج OSI الذي يفصل الشبكة إلى عدد من الطبقات حسب الغرض.هناك عدد قليل من تلك المهمة التي سنقوم تغطية هنا:

  • على طبقة وصلة البيانات.هذه الطبقة هي المسؤولة عن الحصول على حزم البيانات من شبكة جهاز إلى آخر و هو فقط فوق الطبقة التي في الواقع لا يحيل بها.يتحدث عن عناوين MAC و يعرف كيفية العثور على المضيفين على أساس ماك (الأجهزة) العنوان, ولكن لا شيء أكثر من ذلك.
  • على طبقة الشبكة هي الطبقة التي تسمح لك لنقل البيانات عبر آلات عبر الحدود المادية ، مثل الأجهزة الفعلية.طبقة الشبكة يجب أساسا دعم إضافي عنوان القائمة على الآلية التي تتصل بطريقة أو بأخرى المادية العنوان ؛ دخول بروتوكول الإنترنت (IPv4).عنوان IP يمكن الحصول على الحزمة الخاصة بك من A إلى B عبر الإنترنت, ولكن لا يعرف شيئا عن كيفية اجتياز الفرد القفزات.هذا هو التعامل معها من قبل طبقة أعلاه وفقا معلومات التوجيه.
  • على طبقة النقل.هذه الطبقة هي المسؤولة عن تحديد الطريقة يحصل على معلومات من أ إلى ب ، أي قيود أو الشيكات أو أخطاء على هذا السلوك.على سبيل المثال, TCP يضيف معلومات إضافية حزمة بحيث أنه من الممكن أن نستنتج إذا الحزم قد فقدت.

TCP تتضمن ، من بين أمور أخرى, مفهوم الموانئ.هذه هي فعالية البيانات المختلفة النهاية على نفس عنوان IP الذي إنترنت المقبس (AF_INET) يمكن ربط.

كما يحدث ، فكذلك لا UDP, وغيرها من بروتوكولات طبقة النقل.لا من الناحية الفنية تحتاج ميزة الموانئ ، ولكن هذه المنافذ لا توفر طريقة للحصول على تطبيقات متعددة في طبقات فوق استخدام نفس جهاز الكمبيوتر لتلقي (بل جعل) الاتصالات الصادرة.

وهو ما يقودنا إلى تشريح TCP أو UDP الصدد.كل الميزات مصدر ميناء عنوان و هدف ميناء العنوان.هذا هو بحيث في أي وقت من دورة التطبيق الهدف الاستجابة ، وكذلك تلقي من المصدر.

لذا الموانئ هي أساسا مواصفات تكليف طريقة للسماح الاتصالات المتزامنة متعددة تقاسم نفس العنوان.

الآن نحن بحاجة إلى إلقاء نظرة على كيفية التواصل من تطبيق وجهة نظر إلى العالم الخارجي.للقيام بذلك, تحتاج إلى نرجو نظام التشغيل الخاص بك و بما أن معظم انظمة التشغيل تدعم بيركلي مآخذ طريقة عمل الأشياء, ونحن نرى أننا يمكن إنشاء مآخذ تشمل الموانئ من تطبيق مثل هذا:

int fd = socket(AF_INET, SOCK_STREAM, 0); // tcp socket
int fd = socket(AF_INET, SOCK_DGRAM, 0); // udp socket
// later we bind...

كبيرة!حتى في sockaddr هياكل سوف تحدد لدينا ميناء بام!المهمة!حسنا, تقريبا, ما عدا:

int fd = socket(AF_UNIX, SOCK_STREAM, 0);

هو ممكن أيضا.هل يريحك هذا طرح المفك في الأعمال!

حسنا في الواقع لم يكن.كل ما عليك القيام به هو الخروج مع بعض التعاريف:

  • إنترنت المقبس هو مزيج من عنوان IP بروتوكول وما يرتبط بها من رقم المنفذ الذي قد توفر البيانات.حتى tcp منفذ 80 stackoverflow.com إنترنت مأخذ.
  • وهو unix socket هو IPC نقطة النهاية ممثلة في نظام الملفات ، على سبيل المثال /var/run/database.sock.
  • مأخذ API هي طريقة طلب طلب أن تكون قادرا على قراءة وكتابة البيانات إلى المقبس.

فويلا!أن يرتب الأمور.حتى في المخطط ثم ،

  • منفذ هو معرف رقمي الذي كجزء من طبقة النقل بروتوكول يحدد عدد الخدمات التي يجب أن تستجيب إلى طلب المساعدة.

لذلك حقا منفذ هو مجموعة فرعية من متطلبات تشكيل إنترنت مأخذ.للأسف, انها مجرد أن ذلك يحدث معنى كلمة محجر تم تطبيق عدة أفكار مختلفة.لذا بحرارة ننصح اسم المشروع الخاص بك المقبل مأخذ فقط إضافة إلى الارتباك ;)

مأخذ = عنوان IP + منفذ (عنوان رقمي)
معا تحديد نقطة انتهاء شبكة الاتصال على الجهاز.(هل أنا فقط خفق شبكة 101?)

عموما, سوف تحصل على الكثير من النظرية ولكن واحدة من أسهل الطرق التفريق بين هذين المفهومين على النحو التالي:

من أجل الحصول على الخدمة ، تحتاج إلى رقم الخدمة.هذا رقم خدمة تسمى الميناء.بسيطة على هذا النحو.

على سبيل المثال, HTTP كخدمة يعمل على المنفذ 80.

الآن كثير من الناس يمكن طلب خدمة اتصال من العميل-الخادم أنشأت.وسوف يكون هناك الكثير من الاتصالات.كل اتصال تمثل العميل.من أجل الحفاظ على كل اتصال الملقم يخلق مأخذ في اتصال للحفاظ على العميل.

يبدو أن هناك الكثير من الإجابات مساواة المقبس مع العلاقة بين 2 PC..الذي أعتقد أنه غير صحيح على الاطلاق.مأخذ دائما نقطة النهاية 1 PC, التي قد تكون أو لا تكون مرتبطة بالتأكيد جميعنا يستخدم المستمع أو UDP مآخذ* في بعض نقطة.الجزء المهم هو أنه تم تركيب ونشطة.إرسال رسالة 1.1.1.1:1234 ليس من المرجح أن تنجح ، حيث لا يوجد مأخذ يعرف أن نقطة النهاية.

مآخذ البروتوكول محددة - حتى تنفيذ تفرد أن كلا TCP/IP و UDP/IP يستخدم* (ipaddress:الميناء) ، يختلف على سبيل المثال ، IPX (الشبكة, عقدة, و مهم ، المقبس من مأخذ من هو المقصود العامة "مأخذ" الأجل.IPX مأخذ أرقام تعادل منافذ IP).لكنها فريدة عنونة نقطة النهاية.

منذ أن الملكية الفكرية أصبحت المهيمنة البروتوكول ميناء (في الشبكات حيث) أصبح synonomous إما مع UDP أو TCP المنفذ رقم - الذي هو جزء من عنوان مأخذ توصيل.

  • UDP هو اتصال-أقل - يعني لا الظاهري الدائرة بين 2 النهاية هو من أي وقت مضى خلق.ومع ذلك, نحن لا تزال تشير إلى UDP مآخذ كما نقطة النهاية.وظائف API تجعل من الواضح أن كلاهما مجرد نوع مختلف من مآخذ - SOCK_DGRAM هو UDP (إرسال رسالة) ، SOCK_STREAM هو TCP (خلق الدائرة الظاهرية).

  • من الناحية الفنية رأس IP يحمل عنوان IP البروتوكول على رأس IP (UDP أو TCP) يحمل رقم المنفذ.هذا يجعل من الممكن أن يكون البروتوكولات الأخرى (على سبيل المثال. ICMP لا أرقام المنافذ ، ولكن لا يكون IP معالجة المعلومات).

قصيرة قصيرة الإجابة.

A ميناء يمكن وصفه العنوان الداخلي داخل المضيف الذي يحدد برنامج أو عملية.

A المقبس يمكن وصفها بأنها واجهة برمجة يسمح البرنامج على التواصل مع غيرها من البرامج أو العمليات على الإنترنت أو محليا.

فهي من اثنين من المجالات المختلفة:"الميناء" هو مفهوم من TCP/IP networking, 'مأخذ' هو API (البرمجة) الشيء.A 'مأخذ' هو (رمز) من خلال اتخاذ ميناء اسم المضيف أو محول شبكة الاتصال و الجمع بينهما في بنية البيانات التي يمكن استخدامها في إرسال أو تلقي البيانات.

بعد قراءة ممتازة يصل صوت إجابات ، وجدت أن هذه النقطة تحتاج التركيز بالنسبة لي الوافد الجديد إلى شبكة البرمجة:

TCP-IP اتصالات ثنائية الاتجاه مسارات ربط عنوان واحد:ميناء تركيبة مع عنوان آخر:ميناء الجمع.ولذلك عند فتح اتصال من الجهاز المحلي الخاص بك إلى منفذ على الملقم البعيد (أقول www.google.com:80) ، يمكنك أيضا ربط رقم منفذ جديد على الجهاز الخاص بك مع اتصال للسماح الخادم بإرسال الأشياء إليك (مثلا ، 127.0.0.1:65234).يمكن أن يكون من المفيد استخدام netstat أن ننظر إلى الجهاز الخاص بك اتصالات:

> netstat -nWp tcp (on OS X)
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.0.6.49871      17.172.232.57.5223     ESTABLISHED
...

مأخذ العنوان هو عنوان IP & رقم المنفذ

123.132.213.231         # IP address
               :1234    # port number
123.132.213.231:1234    # socket address

اتصال يحدث عند 2 مآخذ مرتبطان معا.

المقبس هو نوع خاص من التعامل مع ملف التي يتم استخدامها من قبل عملية طلب خدمات الشبكة من نظام التشغيل.مأخذ عنوان الثلاثي:{البروتوكول المحلية-العنوان المحلية-عملية} أين المحلية عملية يتم تحديد رقم منفذ.

في TCP/IP suite, على سبيل المثال:

{tcp ، 193.44.234.3, 12345}

محادثة الاتصال بين اثنين من العمليات وبالتالي تصور وجود ارتباط بين اثنين.جمعية هو 5-tuple ذلك تماما يحدد اثنين من العمليات التي تشمل الاتصال:{البروتوكول المحلية-العنوان المحلية-عملية الأجنبية عنوان الأجنبية عملية}

في TCP/IP suite, على سبيل المثال:

{tcp ، 193.44.234.3, 1500, 193.44.234.5, 21}

يمكن أن تكون صالحة الجمعيات.

نصف جمعية إما:{البروتوكول المحلية-العنوان المحلية-عملية}

أو

{البروتوكول الخارجية-العناوين الأجنبية عملية}

والتي تحدد كل نصف اتصال.

نصف جمعية ويسمى أيضا مأخذ التوصيل أو النقل العنوان.هذا هو مأخذ هي نقطة النهاية بالنسبة الاتصالات التي يمكن تسمية ومعالجتها في الشبكة.مأخذ واجهة واحدة من العديد من واجهات برمجة التطبيقات (APIs) إلى بروتوكولات الاتصال.تصميم الاتصالات العامة واجهة برمجة, كان أول عرض 4.2 BSD UNIX نظام.على الرغم من أنها لم تكن موحدة ، فقد أصبح بحكم الواقع القياسية في الصناعة.

ميناء كان الجزء الأسهل ، هو مجرد معرف فريد مأخذ.مأخذ أمر العمليات التي يمكن استخدامها لإنشاء الاتصالات والتواصل مع بعضهم البعض.طويل القامة جيف كان هاتف التشبيه الذي لم يكن مثاليا, لذلك قررت أن إصلاحه:

  • ip و port ~ رقم الهاتف
  • مأخذ ~ جهاز الهاتف
  • اتصال ~ مكالمة هاتفية
  • إنشاء اتصال ~ استدعاء عدد
  • العمليات عن بعد التطبيقات ~ الناس
  • رسائل ~ الكلام

المقبس هو هيكل في البرنامج.انها أقل أو أكثر من ملف ؛ وقد عمليات مثل القراءة والكتابة.ليس البدني الشيء ؛ إنها طريقة البرنامج للإشارة إلى الأشياء المادية.

منفذ هو جهاز مثل الشيء.كل مضيف واحد أو أكثر من الشبكات (تلك هي المادية);المضيف عنوان لكل شبكة.كل عنوان يمكن أن يكون الآلاف من الموانئ.

واحد مأخذ فقط قد يكون استخدام منفذ في عنوان.مأخذ يخصص ميناء تقريبا مثل تخصيص جهاز نظام الملفات I/O.مرة واحدة يتم تخصيص منفذ لا مأخذ يمكن الاتصال على هذا المنفذ.ميناء سيتم الافراج عندما يتم إغلاق مأخذ.

نلقي نظرة على TCP/IP المصطلحات.

التطبيق يتكون من زوج من عمليات التواصل عبر الشبكة (ملقم-عميل زوج).هذه عمليات إرسال واستقبال الرسائل من وإلى الشبكة من خلال واجهة البرنامج يسمى المقبس.النظر في القياس الواردة في كتاب "شبكات الكمبيوتر:من أعلى إلى أسفل النهج".هناك المنزل الذي يريد التواصل مع الآخر.هنا بيت يماثل عملية ، باب مأخذ.إرسال العملية يفترض أن هناك البنية التحتية على الجانب الآخر من الباب الذي نقل البيانات إلى الوجهة.بمجرد أن الرسالة وصلت على الجانب الآخر فإنه يمر من خلال المتلقي الباب (المقبس) في البيت (العملية).هذا التوضيح من نفس الكتاب يمكن أن تساعدك:
enter image description here
مآخذ هي جزء من طبقة النقل ، الذي يوفر المنطقي الاتصالات إلى التطبيقات.وهذا يعني أنه من وجهة نظر كل من المضيفين مباشرة متصلة مع بعضها البعض ، على الرغم من أن هناك العديد من أجهزة التوجيه و/أو التبديل بينهما.وهكذا مأخذ لا اتصال نفسها, انها نقطة النهاية من الاتصال.بروتوكولات طبقة النقل تنفذ فقط على المضيفين ، وليس على أجهزة التوجيه المتوسطة.
الموانئ توفير الوسائل الداخلية التصدي إلى آلة.الغرض الأساسي للسماح عمليات متعددة لإرسال واستقبال البيانات عبر الشبكة دون التداخل مع عمليات أخرى (البيانات).كل مأخذ التوصيل مع رقم المنفذ.عندما شريحة يصل إلى المضيف ، طبقة النقل يدرس رقم المنفذ الوجهة من هذا الجزء.ومن ثم توجيه الجزء المقابلة مأخذ.هذا العمل من تقديم البيانات في طبقة النقل الجزء الصحيح مأخذ يسمى دي مضاعفة.الجزء البيانات ومن ثم إرسالها إلى عملية تعلق على مأخذ التوصيل.

من أوراكل جافا التعليمي:

المقبس هو نقطة النهاية واحد من اتجاهين الاتصالات الرابط بين اثنين من برامج التشغيل على الشبكة.مأخذ منضما إلى رقم المنفذ بحيث طبقة TCP يمكن تحديد التطبيق البيانات مرسلة إلى.

منفذ مأخذ يمكن مقارنة فرع البنك.

بناء عدد من "البنك" يماثل إلى عنوان IP.البنك لديه أقسام مختلفة مثل:

  1. حساب التوفير من قسم
  2. القرض الشخصي من قسم
  3. قرض المنزل قسم
  4. التظلم قسم

لذلك 1 (حساب التوفير الإدارة) 2 (القرض الشخصي الإدارة) 3 (قرض المنزل قسم) 4 (تظلم الإدارة) هي الموانئ.

الآن دعونا نقول تذهب لفتح حساب التوفير ، تذهب إلى البنك (عنوان IP) ، ثم تذهب إلى "حساب التوفير قسم" (رقم المنفذ 1), ثم تقابل أحد الموظفين العاملين تحت "حساب التوفير الإدارة".دعونا ندعو له SAVINGACCOUNT_EMPLOYEE1 فتح الحساب.

SAVINGACCOUNT_EMPLOYEE1 هو مأخذ واصف ، لذلك قد يكون هناك SAVINGACCOUNT_EMPLOYEE1 إلى SAVINGACCOUNT_EMPLOYEEN.هذه هي كل مأخذ واصفات.

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

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

  • مأخذ مثل هاتف (أينهاية إلى نهاية جهاز الاتصالات)
  • IP مثل رقم الهاتف الخاص بك (أي ، عنوان المقبس)
  • ميناء هو مثل الشخص الذي تريد التحدث (أيالخدمة كنت تريد أن تأمر من هذا العنوان)
  • مأخذ يمكن أن يكون عميل أو ملقم المقبس (أيفي شركة الهاتف من دعم العملاء هو الخادم ولكن هاتف في المنزل الخاص بك هو في الغالب العميل)

لذا مأخذ في الشبكات الافتراضية جهاز اتصال لا بد أن زوج (ip port) = (عنوان الخدمة).

ملاحظة:

  • الجهاز, الكمبيوتر, مجموعة, الهاتف المحمول أو الكمبيوتر يمكن أن يكون لديك عدة عناوين متعددة المنافذ المفتوحة ، وبالتالي مآخذ متعددة.مثل في مكتب يمكن أن يكون العديد من الهواتف مع عدة أرقام هاتف متعددة الناس للحديث.
  • وجود مفتوحة/ميناء نشط يستلزم التي يجب أن يكون لديك مأخذ ويلتزم به لأنه هو المقبس الذي يجعل ميناء الوصول.ومع ذلك ، قد يكون المنافذ غير المستخدمة في الوقت الحاضر.
  • نلاحظ أيضا في خادم مأخذ يمكنك ربط إلى (ميناء عنوان محدد من الجهاز) أو إلى (ميناء جميع عناوين الجهاز) كما في هاتف يمكن الاتصال العديد من خطوط الهاتف (أرقام) الهاتف أو محدد واحد هاتف خط هاتف و لا يزال بإمكانك الوصول إلى الشخص من خلال كل هذه خطوط الهاتف أو من خلال خط الهاتف.
  • لا يمكنك ربط (ربط) مأخذ مع اثنين من الموانئ كما في هاتف عادة لا يمكن أن يكون دائما اثنين من الناس باستخدام نفس الهاتف في نفس الوقت .
  • المتقدمة:على نفس الجهاز لا يمكن أن يكون لديك اثنين من مآخذ مع نفس النوع (العميل أو الخادم) و نفس منفذ ip.ومع ذلك ، إذا كنت عميل يمكنك فتح اثنين اتصالات مع اثنين من مآخذ ، إلى ملقم لأن المنفذ المحلي في كل من هذه العميل مآخذ مختلفة)

أتمنى أن يبرئك الشكوك

النسبية TCP/IP المصطلحات وهو ما أفترض هو ضمنا في السؤال.في شروط للشخص العادي:

منفذ مثل رقم هاتف منزل خاص في الرمز البريدي.الرمز البريدي المدينة يمكن أن تكون من حيث الفكر عنوان IP المدينة و جميع المنازل في هذه المدينة.

مأخذ من ناحية أخرى هو أكثر مثل إنشاء مكالمة هاتفية بين الهواتف من زوج من المنازل يتحدثون مع بعضهم البعض.تلك المكالمات يمكن أن تنشأ بين المنازل في نفس المدينة أو اثنين من المنازل في مدن مختلفة.أنه المؤقتة إنشاء ممر بين زوج من الهواتف يتحدثون مع بعضهم البعض وهذا هو المقبس.

المقبس هو بلاغ نقطة النهاية.مأخذ توصيل مباشرة إلى بروتوكول TCP/IP الأسرة ، ويمكن استخدامه مع أي بروتوكول يدعم النظام الخاص بك.ج مأخذ API تتوقع الحصول على أول فارغة مأخذ وجوه من النظام بحيث يمكنك إما ربط مأخذ المحلية عنوان (مباشرة استرداد حركة المرور الواردة على اتصال أقل بروتوكولات أو قبول طلبات الاتصال الواردة على اتصال المنحى البروتوكولات) أو يمكنك الاتصال عن بعد مأخذ عنوان (لأي نوع من البروتوكول).يمكنك حتى القيام به على حد سواء إذا كنت تريد التحكم سواء المحلية مأخذ عنوان مأخذ لا بد أن النائية مأخذ عنوان مأخذ توصيل.الاتصال أقل بروتوكولات الاتصال مأخذ بل هو اختياري ولكن إذا كنت لا تفعل ذلك, عليك أن تمر أيضا عنوان الوجهة مع كل حزمة كنت ترغب في إرسال أكثر من المقبس كما وإلا كيف مأخذ أعرف إلى أين ترسل هذه البيانات ؟ ميزة هو أنه يمكنك استخدام مأخذ واحد على إرسال الحزم إلى مأخذ مختلفة العناوين.مرة واحدة لديك الخاص بك مأخذ تكوين وربما متصلة ، تنظر إلى أن الاتصالات ثنائية الاتجاه الأنابيب.يمكنك استخدامه لتمرير البيانات إلى بعض المقصد وبعض الوجهة يمكن استخدامه لتمرير البيانات.ماذا كنت تكتب على المقبس هو إرسال ما تم استلام متاحة للقراءة.

الموانئ من ناحية أخرى هي أن بعض البروتوكولات بروتوكول TCP/IP stack لها.TCP و UDP الحزم الموانئ.منفذ هو مجرد عدد بسيط.مزيج من مصدر ميناء منفذ الوجهة تحديد قناة اتصال بين اثنين من المضيفين.E. g.قد يكون لديك ملقم أن تكون بسيطة HTTP server و بسيطة خادم بروتوكول نقل الملفات.إذا الآن حزمة يصل عنوان الخادم ، كيف يمكن أن أعرف إذا كان هذا هو حزمة على HTTP أو FTP server?حسنا, سوف تعرف حتى HTTP سيتم تشغيل الخادم على المنفذ 80 و FTP ملقم على المنفذ 21, حتى إذا الحزمة مع وصول وجهة المنفذ 80 ، HTTP server وليس على ملقم FTP.أيضا الحزمة لديه منفذ المصدر لأنه بدون هذا المصدر منفذ ملقم يمكن أن يكون فقط اتصال واحد إلى عنوان IP واحد في وقت واحد.منفذ المصدر يجعل من الممكن بالنسبة خادم التمييز وإلا متطابقة اتصالات:أنهم جميعا لديهم نفس وجهة الميناء ، على سبيل المثالالمنفذ 80, نفس IP الوجهة دائما نفس عنوان خادم نفس المصدر الملكية الفكرية ، كما أنهم جميعا من نفس العميل ، ولكن لديهم مصدر مختلف منافذ الملقم يمكن تمييزها عن بعضها البعض.و عندما يرسل الملقم مرة أخرى الردود, انها لن تفعل ذلك إلى ميناء الطلب جاء من هذا الطريق يمكن للعميل أيضا التمييز بين مختلف الردود التي تتلقاها.

مأخذ توصيل البيانات I/O آلية.منفذ هو التعاقدية مفهوم بروتوكول الاتصال.مأخذ يمكن أن توجد من دون منفذ.منفذ يمكن أن توجد وتوت محددة المقبس (مثلا ، إذا عدة مآخذ تنشط على نفس المنفذ الذي قد يسمح لبعض البروتوكولات).

منفذ يستخدم لتحديد أي مأخذ المتلقي يجب أن الطريق الحزمة ، مع العديد من البروتوكولات ، ولكن ليس المطلوب دائما و تلقي مأخذ اختيار يمكن أن يتم بوسائل أخرى - منفذ هو تماما أداة تستخدم من قبل معالج البروتوكول في الشبكة الفرعي.على سبيل المثالإن البروتوكول لا تستخدم ميناء الحزم يمكن أن تذهب إلى كل الاستماع مآخذ أو أي مأخذ.

بالمعنى الواسع ، المقبس هو فقط أن مأخذ ، تماما مثل الخاص بك الكهربائية, الكابلات أو مقبس الهاتف.نقطة حيث "المطلوبة الأشياء" (الطاقة, إشارة المعلومات) يمكن أن تخرج من.فإنه يخفي الكثير من الاشياء مفصلة غير مطلوبة لاستخدام "يلزم من الاشياء".في برنامج لغة ، فإنه يوفر عامة طريقة تحديد آلية التواصل بين الكيانين (تلك الكيانات يمكن أن يكون أي شيء - تطبيقين اثنين منفصلة فعليا أجهزة المستخدم & نواة الفضاء داخل نظام التشغيل, إلخ)

منفذ هو نقطة النهاية مميز.فإنه يميز نقطة نهاية واحدة من آخر.في الشبكات ، يميز تطبيق واحد من آخر ، بحيث الشبكات كومة يمكن تمرير المعلومات إلى التطبيق المناسب.

بالفعل النظرية إجابات أعطيت هذا السؤال.أود أن أعطي مثالا عمليا على هذا السؤال الذي سوف واضح فهمك عن مقبس الميناء.

لقد وجدت أنه هنا

هذا المثال سوف المشي لكم من خلال عملية الاتصال إلى موقع على شبكة الانترنت ، مثل وايلي.يمكنك فتح متصفح الويب الخاص بك (مثل موزيلا فايرفوكس) و نوع www.wiley.com في شريط العنوان.متصفح الويب الخاص بك يستخدم نظام اسم المجال (DNS) الخادم للبحث عن اسم www.wiley.com تحديد عنوان IP الخاص به.على سبيل المثال هذا العنوان 192.0.2.100.

فايرفوكس يجعل اتصال 192.0.2.100 العنوان إلى ميناء حيث طبقة التطبيق ملقم ويب التشغيل.فايرفوكس يعرف ما الميناء أن نتوقع لأنها معروفة الميناء .المعروفة منفذ ملقم ويب هو منفذ TCP 80.

الوجهة مأخذ أن فايرفوكس محاولات الاتصال كما هو مكتوب مأخذ التوصيل:منفذ أو في هذا المثال ، 192.0.2.100:80.هذا هو الخادم جانب من الاتصال ، ولكن الخادم يحتاج إلى معرفة إلى أين ترسل صفحة ويب التي تريد عرضها في موزيلا فايرفوكس ، بحيث يكون لديك مقبس جانب العميل من الاتصال أيضا.

جانب العميل الاتصال من عنوان IP الخاص بك ، مثل 192.168.1.25, و تم اختياره بشكل عشوائي ديناميكية رقم المنفذ.مأخذ المرتبطة فايرفوكس يبدو 192.168.1.25:49175.لأن ويب خوادم تعمل على منفذ TCP 80 ، كل من هذه مآخذ TCP مآخذ ، في حين إذا كنت الاتصال إلى ملقم تعمل على منفذ UDP ، كل من الخادم و العميل مآخذ سيكون UDP مآخذ.

المقبس هو التجريد المقدمة من النواة إلى تطبيقات المستخدم على البيانات I/O.نوع مأخذ توصيل يحددها البروتوكول المناولة ، IPC الاتصال الخ.حتى إذا كان شخص ما يخلق TCP socket أنه يمكن القيام التلاعب مثل قراءة البيانات إلى مأخذ وكتابة البيانات عليها من خلال طرق بسيطة و انخفاض مستوى بروتوكول التعامل مع مثل TCP التحويلات إعادة توجيه الحزم إلى أقل مستوى بروتوكولات الشبكة يتم عن طريق معين مأخذ التنفيذ في النواة.ميزة هي أن المستخدم لا داعي للقلق حول التعامل مع بروتوكول معين nitigrities و ينبغي عليك قراءة وكتابة البيانات إلى مقبس عادي العازلة.وينطبق الشيء نفسه في حالة التصنيف المستخدم فقط يقرأ ويكتب البيانات إلى مقبس نواة يتعامل مع كل انخفاض مستوى التفاصيل بناء على نوع مأخذ التوصيل التي تم إنشاؤها.

ميناء مع IP مثل توفير عنوان مأخذ ، على الرغم من أن ليس من الضروري ، ولكنه يساعد في شبكة الاتصالات.

منفذ واحد يمكن أن يكون واحد أو أكثر من مآخذ على اتصال مع مختلف IP الخارجي مثل متعددة مأخذ التيار الكهربائي.

  TCP    192.168.100.2:9001     155.94.246.179:39255   ESTABLISHED     1312
  TCP    192.168.100.2:9001     171.25.193.9:61832     ESTABLISHED     1312
  TCP    192.168.100.2:9001     178.62.199.226:37912   ESTABLISHED     1312
  TCP    192.168.100.2:9001     188.193.64.150:40900   ESTABLISHED     1312
  TCP    192.168.100.2:9001     198.23.194.149:43970   ESTABLISHED     1312
  TCP    192.168.100.2:9001     198.49.73.11:38842     ESTABLISHED     1312

المقبس هو في الأساس نقطة النهاية في شبكة الاتصالات ، تتكون على الاقل عنوان IP و المنفذ.في Java/C# مأخذ أعلى مستوى التنفيذ من جانب واحد من اتجاهين الصدد.

أيضا تعريف في جافا الوثائق.

المنفذ:

منفذ يمكن الرجوع إلى نقطة اتصال على الأجهزة الطرفية مثل مسلسل, الموازي, و منافذ USB.مصطلح ميناء يشير أيضا إلى بعض اتصال إيثرنت نقطة s اوتش تلك على مركز التبديل أو جهاز التوجيه.

مأخذ:

مأخذ يمثل اتصال واحد بين اثنين من تطبيقات الشبكة.هذه التطبيقات اثنين اسميا تشغيلها على أجهزة كمبيوتر مختلفة ، ولكن مآخذ يمكن أن تستخدم أيضا من أجل التواصل بين العمليات على جهاز كمبيوتر واحد.التطبيقات يمكن إنشاء عدة مآخذ على التواصل مع بعضهم البعض.مقابس ثنائية الاتجاه ، وهذا يعني أن أي جانب من الاتصال هو قادر على كل إرسال و استقبال البيانات.

أنا أعرف أن هناك الكثير من التفسيرات.ولكن هناك أكثر من طريقة سهلة لفهم عملية سبيل المثال.نحن جميعا يمكن الاتصال HTTP المنفذ 80, ولكن هل يعني مستخدم واحد فقط يمكن الاتصال إلى أن الميناء في وقت واحد؟.الجواب الواضح هو "لا".العديد من المستخدمين لأغراض متعددة يمكن الوصول HTTP port 80 ولكن لا يزال الحصول على الرد المناسب أنهم ينتظرون من الخادم ، أليس كذلك؟.الآن نفكر في ذلك لمدة دقيقة ، كيف؟.نعم أنت على صواب ، عنوان IP الذي يعرف بشكل فريد مختلف المستخدمين من جهات الاتصال لأغراض مختلفة.إذا كنت قد قرأت الإجابات السابقة قبل الوصول إلى هنا كنت أعرف أن عنوان IP هو جزء من المعلومات التي مأخذ يتكون.تفكر في ذلك ، هل من الممكن أن يكون التواصل من دون مآخذ؟.الجواب هو " نعم "ولكن لا يمكنك تشغيل أكثر من تطبيق واحد في الميناء ولكن نحن نعلم أننا لا تفريغ' التبديل الذي يعمل على الأجهزة فقط.

ميناء يدل بلاغ نقطة النهاية في TCP و UDP ينقل الملكية الفكرية بروتوكول الشبكة.المقبس هو برنامج التجريد بلاغ نقطة النهاية التي يشيع استخدامها في تطبيقات هذه البروتوكولات (مأخذ API).بديل التنفيذ هو XT/TLI API.

انظر أيضا:

ستيفنز, W.R.1998, UNIX شبكة البرمجة:الشبكات واجهات برمجة التطبيقات:مآخذ XT;المجلد 1, Prentice Hall.
ستيفنز, W.R., 1994, TCP/IP المصور ، المجلد 1:البروتوكولات, Addison-Wesley.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top