דרייבר כרטיס רשת
-
Dor1992
-
- חבר פעיל במיוחד

- תגובות: 579
- הצטרף: אוגוסט 2018
- מיקום: חיפה
שלום לכולם,
שאלה שמטרידה אותי, אשמח לעזרה כי לא מצאתי תשובה חד משמעית ברשת.
איזו תוכנית אחראית מבחינת פקודות בינאריות לייצור header של Tcp או Udp? האם הדבר נעשה על ידי הדרייבר של כרטיס הרשת או בכלל באפליקציה שמייצרת את הפרוטקולים שעובדים ברמת האפליקציה, לדוגמא בדפדפן עצמו.
לפי מה שאני רואה בהגדרות בדרייבר של כרטיס הרשת, הוא אחראי לכך גם, מעבר לאחריות שלו ליצור פריימים של אתרנט או 802.11 במקרה של כרטיס רשת אלחוטי..
תודה לעוזרים.
שאלה שמטרידה אותי, אשמח לעזרה כי לא מצאתי תשובה חד משמעית ברשת.
איזו תוכנית אחראית מבחינת פקודות בינאריות לייצור header של Tcp או Udp? האם הדבר נעשה על ידי הדרייבר של כרטיס הרשת או בכלל באפליקציה שמייצרת את הפרוטקולים שעובדים ברמת האפליקציה, לדוגמא בדפדפן עצמו.
לפי מה שאני רואה בהגדרות בדרייבר של כרטיס הרשת, הוא אחראי לכך גם, מעבר לאחריות שלו ליצור פריימים של אתרנט או 802.11 במקרה של כרטיס רשת אלחוטי..
תודה לעוזרים.
- sys_admin
-
- חבר מביא חבר

- תגובות: 4316
- הצטרף: ינואר 2014
- מיקום: גליל מערבי
אם סוף סוף, אחרי הרבה הצעות בנושא לעבור כבר על המבנה של מודל השכבות של OSI , אז אפשר ישר להבין שדרייבר של כרטיס רשת ואשר כרטיס רשת זה, הוא רכיב בשכבה L2 בכלל, בדרך כלל מסוג ETHERNET, ובמקרה כללי לא יודע כלום על פרוטוקול TCP\IP או על כל תקשורת L3 בכלל שרוכבת מעליו, שהיא לא חייבת להיות גם כלל TCP, אלה, אם להיזכר במה שהייה לנו, מהפרוטוקולי L3 המוכרים, זה יכול להיות גם IPX\SPX, NetBEUI, AppleTalk ורבים אחרים.
ואז אפשר להבין ישר שלדרייבר של כרטיס רשת אין שום קשר ליצירת header של Tcp או Udp. יותר מזה, דרייבר בכלל, הוא רק מאפשר ל Hardware Abstraction Layer של המערכת ההפעלה לגשת לחומרה ספציפית ולא מעבר לכך.
"התוכנית"
שכן "אחראית מבחינת פקודות בינאריות לייצור header של Tcp או Udp", היא ה tcp stack של המערכת ההפעלה במקרה כללי ולמשל במערכת ההפעלה מסוג WINDOWS, היא חלק מה winsock .
כל הפרטים אלה בקצרה וכל המידע עליהם בהרחבה ניתן למצוא בקלות ברשת, כמובן אם לא קיבלנו BAN לכל החיים בגוגל.
ואז אפשר להבין ישר שלדרייבר של כרטיס רשת אין שום קשר ליצירת header של Tcp או Udp. יותר מזה, דרייבר בכלל, הוא רק מאפשר ל Hardware Abstraction Layer של המערכת ההפעלה לגשת לחומרה ספציפית ולא מעבר לכך.
"התוכנית"
כל הפרטים אלה בקצרה וכל המידע עליהם בהרחבה ניתן למצוא בקלות ברשת, כמובן אם לא קיבלנו BAN לכל החיים בגוגל.
-
Dor1992
-
- חבר פעיל במיוחד

- תגובות: 579
- הצטרף: אוגוסט 2018
- מיקום: חיפה
@sys_admin
·
תודה. ואל תגזים OSI מאחוריי כבר מזמן. פשוט OSI זה משהו מאוד תיאורטי וצריך לשלב את עבודת המחשב בזה. מי אחראי למה ומה. כמו שפעם לא הבנתי איפה נמצא הפורט ה"וירטואלי" אז כבר מזמן הבנתי שהוא נמצא בזיכרון של המחשב..
ולגבי תוכנית. לא הבנתי מה מצחיק בזה. זו די המילה המקצועית שמשתמשים בה. אפשר להגיד תוכנה אבל לפי החומר שאני קורא אני נתקל במילה תוכנית..
·
תודה. ואל תגזים OSI מאחוריי כבר מזמן. פשוט OSI זה משהו מאוד תיאורטי וצריך לשלב את עבודת המחשב בזה. מי אחראי למה ומה. כמו שפעם לא הבנתי איפה נמצא הפורט ה"וירטואלי" אז כבר מזמן הבנתי שהוא נמצא בזיכרון של המחשב..
ולגבי תוכנית. לא הבנתי מה מצחיק בזה. זו די המילה המקצועית שמשתמשים בה. אפשר להגיד תוכנה אבל לפי החומר שאני קורא אני נתקל במילה תוכנית..
- sys_admin
-
- חבר מביא חבר

- תגובות: 4316
- הצטרף: ינואר 2014
- מיקום: גליל מערבי
עד שלא תנסה להבין את "משהוא מאוד תיאורטי" זה, שמאחוריך כבר מזמן, לא תוכל להתקדם או להבין מה קשור למה בתחום זה של תקשורת ובטח שלא לשלב את עבודת המחשב בזה.
- nir11
-
- חבר מביא חבר

- תגובות: 3893
- הצטרף: אפריל 2007
·sys_admin כתב:אם סוף סוף, אחרי הרבה הצעות בנושא לעבור כבר על המבנה של מודל השכבות של OSI , אז אפשר ישר להבין שדרייבר של כרטיס רשת ואשר כרטיס רשת זה, הוא רכיב בשכבה L2 בכלל, בדרך כלל מסוג ETHERNET, ובמקרה כללי לא יודע כלום על פרוטוקול TCP\IP או על כל תקשורת L3 בכלל שרוכבת מעליו, שהיא לא חייבת להיות גם כלל TCP, אלה, אם להיזכר במה שהייה לנו, מהפרוטוקולי L3 המוכרים, זה יכול להיות גם IPX\SPX, NetBEUI, AppleTalk ורבים אחרים.
ואז אפשר להבין ישר שלדרייבר של כרטיס רשת אין שום קשר ליצירת header של Tcp או Udp. יותר מזה, דרייבר בכלל, הוא רק מאפשר ל Hardware Abstraction Layer של המערכת ההפעלה לגשת לחומרה ספציפית ולא מעבר לכך.
"התוכנית"שכן "אחראית מבחינת פקודות בינאריות לייצור header של Tcp או Udp", היא ה tcp stack של המערכת ההפעלה במקרה כללי ולמשל במערכת ההפעלה מסוג WINDOWS, היא חלק מה winsock .
כל הפרטים אלה בקצרה וכל המידע עליהם בהרחבה ניתן למצוא בקלות ברשת, כמובן אם לא קיבלנו BAN לכל החיים בגוגל....
מי שאחראי על זה הוא אכן ה TCP STACK של מערכת הפעלה, לדעתי בווינדוז זה הקובץ winsock,dll.
עד כאן סיס אדמין צודק, אבל עקב ההתבשמות העצמית (דבר שהותיקים כבר התרגלו עליו) הוא שכח (או שומו שמיים, פשוט אינו יודע!), שיש כרטיסי רשת שעושים את זה בחומרה, לא בדרייבר ולא על ידי מערכת ההפעלה.
זה נקרא tcp offloading או בפשטות TOE. אפשר למצוא על זה הרבה מידע ברשת.
-
Dor1992
-
- חבר פעיל במיוחד

- תגובות: 579
- הצטרף: אוגוסט 2018
- מיקום: חיפה
@sys_admin
·
נו אז כנראה שהיה משהו בדבריי קצת לא? אפשר לפרגן מידי פעם ולהגיד וואלה שאלות נבונות. חתירה לידע רחב ולא לידע תאורטי. וכן יש הרבה אנשים במקצוע שאני יודע שלא חותרים מספיק לידע ולא שואפים להגדיל את הראייה המרחבית שלהם.
במקום להיתפס איתי על זה שכרטיס רשת נמצא בשכבה 2 ולכן אין לו שום קשר לשכבות אחרות. כבר ראינו המון פעמים איך המודל מופר קצת הרי לא?
·
נו אז כנראה שהיה משהו בדבריי קצת לא? אפשר לפרגן מידי פעם ולהגיד וואלה שאלות נבונות. חתירה לידע רחב ולא לידע תאורטי. וכן יש הרבה אנשים במקצוע שאני יודע שלא חותרים מספיק לידע ולא שואפים להגדיל את הראייה המרחבית שלהם.
במקום להיתפס איתי על זה שכרטיס רשת נמצא בשכבה 2 ולכן אין לו שום קשר לשכבות אחרות. כבר ראינו המון פעמים איך המודל מופר קצת הרי לא?
- sys_admin
-
- חבר מביא חבר

- תגובות: 4316
- הצטרף: ינואר 2014
- מיקום: גליל מערבי
@Dor1992
·
לא, אין שום דבר בדבריך, וכבר הסברתי את הסיבות לכך בפשטות ואפילו בקצרה, אבל כפי שזה נראה, זה לא עזר יותר מדי.
·
לא, אין שום דבר בדבריך, וכבר הסברתי את הסיבות לכך בפשטות ואפילו בקצרה, אבל כפי שזה נראה, זה לא עזר יותר מדי.
-
Dor1992
-
- חבר פעיל במיוחד

- תגובות: 579
- הצטרף: אוגוסט 2018
- מיקום: חיפה
@sys_admin
·
מעליך ניר פירט על שיטה אחרת לייצור headers מאשר winsock. והשיטה שהוא פירט מפרה את המודל שאתה נצמד אליו יותר מידי משום מה וכדי לנסות להוריד בכל דרך אנשים אחרים שמתחילים בתחום.
·
מעליך ניר פירט על שיטה אחרת לייצור headers מאשר winsock. והשיטה שהוא פירט מפרה את המודל שאתה נצמד אליו יותר מידי משום מה וכדי לנסות להוריד בכל דרך אנשים אחרים שמתחילים בתחום.
- sys_admin
-
- חבר מביא חבר

- תגובות: 4316
- הצטרף: ינואר 2014
- מיקום: גליל מערבי
@Dor1992
·
לא סתם כתבתי על מקרה כללי של כרטיס רשת ולא על כרטיס רשת שהוא עוסק גם בתפקידים אחרים לגמרי. בדיוק כמו שאם מדברים על מתג רשת, אז מדברים על מיתוג מנות ולא על זה שיש מתגים רב כשבתים, שמבצעים גם את ניתוב וגם דברים אחרים לגמרי, אבל בהקשר של מיתוג מתייחסים בהם רק ל L2, כך גם בכרטיסי רשת, מדובר רק על L2 ומה שמעבר לכך זה כבר מהתקנים מוכללים, שדרך אגב ברובם לא נוצרים HEADERS , לא TCP, ולא UDP , אלה שהאצת חומרה שבהם עוסקת בדברים אחרים לגמרי, מניהול תורים ועד לווירטואליזציה או בהורדה של עומס מהמעבד מרכזי של המחשב. אבל לכל זה אין שום קשר לתפקיד של כרטיס רשת כללי.
אבל ככל הנראה, שגם אחרי מספר הסברים, במשך כמה חודשים, דברים פשוטים אלה משום מה עוד לא מובנים לך.
·
לא סתם כתבתי על מקרה כללי של כרטיס רשת ולא על כרטיס רשת שהוא עוסק גם בתפקידים אחרים לגמרי. בדיוק כמו שאם מדברים על מתג רשת, אז מדברים על מיתוג מנות ולא על זה שיש מתגים רב כשבתים, שמבצעים גם את ניתוב וגם דברים אחרים לגמרי, אבל בהקשר של מיתוג מתייחסים בהם רק ל L2, כך גם בכרטיסי רשת, מדובר רק על L2 ומה שמעבר לכך זה כבר מהתקנים מוכללים, שדרך אגב ברובם לא נוצרים HEADERS , לא TCP, ולא UDP , אלה שהאצת חומרה שבהם עוסקת בדברים אחרים לגמרי, מניהול תורים ועד לווירטואליזציה או בהורדה של עומס מהמעבד מרכזי של המחשב. אבל לכל זה אין שום קשר לתפקיד של כרטיס רשת כללי.
אבל ככל הנראה, שגם אחרי מספר הסברים, במשך כמה חודשים, דברים פשוטים אלה משום מה עוד לא מובנים לך.
-
Dor1992
-
- חבר פעיל במיוחד

- תגובות: 579
- הצטרף: אוגוסט 2018
- מיקום: חיפה
@sys_admin
·
אחי אתה ממשיך וממשיך להגיד את הפייק הזה שאני לא מבין שכרטיס רשת הוא בשכבה 2. זה דבר שעברתי מזמן.
הבנתי ואמרת את זה אלף פעם. כרטיס רשת הוא בשכבה 2. אני לא דביל. אני יודע מה זה כרטיס רשת אתרנט ומה זה כרטיס רשת 802.11, כפי שציינתי בפוסט. אז מן הסתם אם הכרטיס רשת נקרא כך אז הוא בשכבה 2. אבל אתה ממשיך להיתפס לקטנות. כולה שאלתי מי אחראי לייצור הheaders של tcp בגלל שראיתי בהגדרות של הדרייבר, הגדרה שקשורה לגודל חלון של tcp, אם אני לא טועה. וגם ציינתי את זה בפוסט. אי אפשר להבין הכל ישר. ראיתי משהו מבלבל אז חיפשתי ברשת, לא מצאתי תשובה ברורה אז פרסמתי פוסט. התגובות כאן לא שוות כבר התייחסות שלי ובטח לא פרסום פוסטים שפשוט לא אעשה את זה יותר. כדאי שמנהלי הפורום יתחילו לטפל בתגובות מהסוג הזה.
אז תתקדם ותפסיק לנסות להוציא דברים מהקשרם ולעשות מיצג פייק שאני לכאורה לא מבין שום דבר.
·
אחי אתה ממשיך וממשיך להגיד את הפייק הזה שאני לא מבין שכרטיס רשת הוא בשכבה 2. זה דבר שעברתי מזמן.
הבנתי ואמרת את זה אלף פעם. כרטיס רשת הוא בשכבה 2. אני לא דביל. אני יודע מה זה כרטיס רשת אתרנט ומה זה כרטיס רשת 802.11, כפי שציינתי בפוסט. אז מן הסתם אם הכרטיס רשת נקרא כך אז הוא בשכבה 2. אבל אתה ממשיך להיתפס לקטנות. כולה שאלתי מי אחראי לייצור הheaders של tcp בגלל שראיתי בהגדרות של הדרייבר, הגדרה שקשורה לגודל חלון של tcp, אם אני לא טועה. וגם ציינתי את זה בפוסט. אי אפשר להבין הכל ישר. ראיתי משהו מבלבל אז חיפשתי ברשת, לא מצאתי תשובה ברורה אז פרסמתי פוסט. התגובות כאן לא שוות כבר התייחסות שלי ובטח לא פרסום פוסטים שפשוט לא אעשה את זה יותר. כדאי שמנהלי הפורום יתחילו לטפל בתגובות מהסוג הזה.
אז תתקדם ותפסיק לנסות להוציא דברים מהקשרם ולעשות מיצג פייק שאני לכאורה לא מבין שום דבר.
- eran405
-
- אחראי תחום רשתות

- תגובות: 3388
- הצטרף: פברואר 2012
@Dor1992
·
ההפרדה של OSI עוזרת לנו לעשות סדר ויש לה חשיבות גדולה גם בעולם המסובך של רשתות היום. אבל ברגע שאתה נכנס לפרטי מימוש יש אילוצים תוכנתיים/חומרתיים ואין שום סיבה שכרטיס הרשת יהיה מוגבל רק לשכבה 2 (כלומר "כרטיס רשת הוא בשכבה 2" זה פשוט לא נכון במקרה הכללי).
אנסה לפרט קצת יותר:
זה התפקיד של מערכת ההפעלה לעשות אבסטרקציה למנגנונים כלליים/משותפים, כולל כל הנושא של network stack. לדוגמא ב-windows יש את ספריית ה-winsock שזו הרמה הכי נמוכה שאפקליציות כרגיל יכתבו מעליהם:
https://docs.microsoft.com/en-us/window ... the-client
(windows העתיקו מ-unix, זה מאד מאד דומה ב-unix/linux)
בתוך מערכת ההפעלה, אידאלית אתה רוצה שמערכת ההפעלה תעשה את רב/כל העבודה בקוד גנרי וכללי (לא בחומרה, וללא תלות בכרטיס רשת הספציפי וכו') והדרייבר רק מתאם בין הקוד הגנרי של מערכת ההפעלה לחומרה הספציפית. כך הרבה יותר קל לתחזק, לעדכן וכו' את הקוד של ה-network stack.
מעשית, עם ההתקדמות של המהירות של רשתות מחשבים, נוצרה בעיה שהקוד הגנרי שצויין לעיל כבר לא סוחב והופך להיות הצוואר בקבוק (כלומר המעבד, העומס עליו, והמהירות שבה הוא מצליח להריץ את ה-network stack של מערכת ההפעלה זה מה שיקבע את מהירות הרשת בפועל). לכן היום, תמצא דברים כמו tcp offloading אפילו בכרטיסי רשת ביתיים:
https://en.wikipedia.org/wiki/TCP_offload_engine
מערכת ההפעלה כמובן צריכה לתמוך בזה ולהעביר את הטיפול, דרך הדרייבר, לחומרה שיש בכרטיס הרשת. אני מנחש שזה מה שראית שבלבל אותך. חושב להבין שזה שעושים offloading לדוגמא ל-tcp/ip לא משנה את העובדה שמדובר על שכבות 3 -4 במודל OSI ועדיין יש הפרדה ביניהם לשכבות מתחת (לדוגמא אם הפאקטה תעבור דרך switch, הוא כמובן יתעניין ויגע אך ורק בשכבה 2 ולא בשכבות מעל גם אם הם הוכנו ע"י חומרה בכרטיס רשת).
ככל שמדובר על מהיריות יותר גבוהות הנושא של ה-network stack של מערכת ההפעלה יותר בעייתי ומנסים בכל דרך להקטין את ה-overhead של התוכנה/מעבד על תעבורת רשת, כולל מעקף מלא של ה-network stack של מערכת ההפעלה - מה שנקרא userspace networking. יש הרבה מידע על הנושא ברשת, כמו לדוגמא:
https://blog.cloudflare.com/how-to-rece ... n-packets/
https://blog.cloudflare.com/why-we-use- ... tcp-stack/
https://lwn.net/Articles/629155/
...
·
ההפרדה של OSI עוזרת לנו לעשות סדר ויש לה חשיבות גדולה גם בעולם המסובך של רשתות היום. אבל ברגע שאתה נכנס לפרטי מימוש יש אילוצים תוכנתיים/חומרתיים ואין שום סיבה שכרטיס הרשת יהיה מוגבל רק לשכבה 2 (כלומר "כרטיס רשת הוא בשכבה 2" זה פשוט לא נכון במקרה הכללי).
אנסה לפרט קצת יותר:
זה התפקיד של מערכת ההפעלה לעשות אבסטרקציה למנגנונים כלליים/משותפים, כולל כל הנושא של network stack. לדוגמא ב-windows יש את ספריית ה-winsock שזו הרמה הכי נמוכה שאפקליציות כרגיל יכתבו מעליהם:
https://docs.microsoft.com/en-us/window ... the-client
(windows העתיקו מ-unix, זה מאד מאד דומה ב-unix/linux)
בתוך מערכת ההפעלה, אידאלית אתה רוצה שמערכת ההפעלה תעשה את רב/כל העבודה בקוד גנרי וכללי (לא בחומרה, וללא תלות בכרטיס רשת הספציפי וכו') והדרייבר רק מתאם בין הקוד הגנרי של מערכת ההפעלה לחומרה הספציפית. כך הרבה יותר קל לתחזק, לעדכן וכו' את הקוד של ה-network stack.
מעשית, עם ההתקדמות של המהירות של רשתות מחשבים, נוצרה בעיה שהקוד הגנרי שצויין לעיל כבר לא סוחב והופך להיות הצוואר בקבוק (כלומר המעבד, העומס עליו, והמהירות שבה הוא מצליח להריץ את ה-network stack של מערכת ההפעלה זה מה שיקבע את מהירות הרשת בפועל). לכן היום, תמצא דברים כמו tcp offloading אפילו בכרטיסי רשת ביתיים:
https://en.wikipedia.org/wiki/TCP_offload_engine
מערכת ההפעלה כמובן צריכה לתמוך בזה ולהעביר את הטיפול, דרך הדרייבר, לחומרה שיש בכרטיס הרשת. אני מנחש שזה מה שראית שבלבל אותך. חושב להבין שזה שעושים offloading לדוגמא ל-tcp/ip לא משנה את העובדה שמדובר על שכבות 3 -4 במודל OSI ועדיין יש הפרדה ביניהם לשכבות מתחת (לדוגמא אם הפאקטה תעבור דרך switch, הוא כמובן יתעניין ויגע אך ורק בשכבה 2 ולא בשכבות מעל גם אם הם הוכנו ע"י חומרה בכרטיס רשת).
ככל שמדובר על מהיריות יותר גבוהות הנושא של ה-network stack של מערכת ההפעלה יותר בעייתי ומנסים בכל דרך להקטין את ה-overhead של התוכנה/מעבד על תעבורת רשת, כולל מעקף מלא של ה-network stack של מערכת ההפעלה - מה שנקרא userspace networking. יש הרבה מידע על הנושא ברשת, כמו לדוגמא:
https://blog.cloudflare.com/how-to-rece ... n-packets/
https://blog.cloudflare.com/why-we-use- ... tcp-stack/
https://lwn.net/Articles/629155/
...
-
Dor1992
-
- חבר פעיל במיוחד

- תגובות: 579
- הצטרף: אוגוסט 2018
- מיקום: חיפה
@eran405
·
לדוגמא בקישור הראשון שהבאת.
איפה דגל Syn ושאר המרכיבים של TCP?
זה לא נראה שזה נוצר בSOCKET של האפליקציה שנמצאת בשכבה 7.
·
לדוגמא בקישור הראשון שהבאת.
איפה דגל Syn ושאר המרכיבים של TCP?
זה לא נראה שזה נוצר בSOCKET של האפליקציה שנמצאת בשכבה 7.
נערך לאחרונה על ידי Dor1992 ב 23/08/2020 8:47, נערך פעם 1 בסך הכל.
-
Dor1992
-
- חבר פעיל במיוחד

- תגובות: 579
- הצטרף: אוגוסט 2018
- מיקום: חיפה
@eran405
·
גם משהו חשוב שאני לא מבין בתמונה הכוללת.
בדקתי ברשת ומצאתי שדגל ACK מיוצג בקוד בינארי כ- 000010000, כלומר עשרת אלפים בעשרוני.
ואנחנו יודעים ש-TCP הוא פרוטוקול, משמע חייב להיות זהה בכל המכשירים בעולם.
אז בעצם כל התוכניות בכל המכשירים בעולם, שאחראיות על חבילות ה-TCP במכשיר, מייצרות דגל ACK לפי הקוד הבינארי הזה?
ומנגד, אם למשל אני אצור תוכנית שמייצרת קוד אחר לדגל ACK (למשל קוד 29 בעשרוני), אז היא פשוט לא תצליח לפענח את הדגל ACK בחבילת TCP שנשלחה אליה?
·
גם משהו חשוב שאני לא מבין בתמונה הכוללת.
בדקתי ברשת ומצאתי שדגל ACK מיוצג בקוד בינארי כ- 000010000, כלומר עשרת אלפים בעשרוני.
ואנחנו יודעים ש-TCP הוא פרוטוקול, משמע חייב להיות זהה בכל המכשירים בעולם.
אז בעצם כל התוכניות בכל המכשירים בעולם, שאחראיות על חבילות ה-TCP במכשיר, מייצרות דגל ACK לפי הקוד הבינארי הזה?
ומנגד, אם למשל אני אצור תוכנית שמייצרת קוד אחר לדגל ACK (למשל קוד 29 בעשרוני), אז היא פשוט לא תצליח לפענח את הדגל ACK בחבילת TCP שנשלחה אליה?
- nir11
-
- חבר מביא חבר

- תגובות: 3893
- הצטרף: אפריל 2007
·בעוד שסיס אדמין אינו מושלם, ואף אחד לא מושלם, הוא פירט לך את הדברים נכון. מודל השכבות לא התשתנה. מודל השכבות לא מכתיב איזה רכיב מבצע מה. ממש לא. מודל השכבות רק מגדיר את השכבות.Dor1992 כתב:@sys_admin
·
מעליך ניר פירט על שיטה אחרת לייצור headers מאשר winsock. והשיטה שהוא פירט מפרה את המודל שאתה נצמד אליו יותר מידי משום מה וכדי לנסות להוריד בכל דרך אנשים אחרים שמתחילים בתחום....
כמו שכתב לך פה מישהו, זה שהמימוש של TCP IP עובר לכרטיס הרשת לא משנה את השכבה שבה זה קורה.
IP זה שכבה 3 ו TCP זה 4. אגב תשאל אותי מה זה 5 ו 6 - אין לי מושג. באינטרנט להבנתי מייד מעל שכבת השיחה מגיעה שכבת האפליקציה.
לגבי הדגל 10 שמסמל ack - אין לי מושג ירוק. סקרנות זה תמיד טוב, אבל לדעתי לשאלות האלה אין שום חשיבות מהותית עבורך, ורק מי שעסוק במימוש של הדברים האלה יודע או מתעניין בתשובות.
סיס אדמין, שכאמור אינו זקוק להמלצות ממני, אינו מהנדס של דרייברים לכרטיסי רשת.
כמו שיש שכבות, גם במקצועות יש שכבות. אדם שהוא מנהל רשת, מנהל מערכות מידע, בכיר ככל שיהיה, הוא מניח שכל מה שיש מתחת עובד. ממש כמו מודל השכבות! שכב TCP לא יודעת דבר על המימוש של שכבה 2, היא פשוט מניחה שזה קורה.
את השאלות שלך אתה צריך להפנות לפורומים של חברות כמו סיסקו, מלנוקס.
- nir11
-
- חבר מביא חבר

- תגובות: 3893
- הצטרף: אפריל 2007
·השאלות שלך אכן מעידות על חוסר ידע. סיס אדמין הציע לך נכון ללמוד הייטב את מודל OSI, והרעיון של פרוטוקולים בכלל. ניראה שחסרה לך הבנה בסיסית.Dor1992 כתב:שלום לכולם,
שאלה שמטרידה אותי, אשמח לעזרה כי לא מצאתי תשובה חד משמעית ברשת.
איזו תוכנית אחראית מבחינת פקודות בינאריות לייצור header של Tcp או Udp? האם הדבר נעשה על ידי הדרייבר של כרטיס הרשת או בכלל באפליקציה שמייצרת את הפרוטקולים שעובדים ברמת האפליקציה, לדוגמא בדפדפן עצמו.
לפי מה שאני רואה בהגדרות בדרייבר של כרטיס הרשת, הוא אחראי לכך גם, מעבר לאחריות שלו ליצור פריימים של אתרנט או 802.11 במקרה של כרטיס רשת אלחוטי..
תודה לעוזרים....
כמו שהסבירו לך, הרעיון הוא לייצר סטנדרטיזציה.
מהותה של מערכת ההעפלה היא לתת שרותים לאפליקציות. לכן במסגרתה ממומשים מנגונים רבים, שכל האפליקציות משתמשות בהן, ובטח לא ממשות אותן בעצמן.
מודבר על המון דברים
גישה לרשת
גישב לקבצים
גישה לאחסון מידע (שלא באמצעות מערכת קבצים)
גישה לעכבר מקלדת וכדומה
גישה לתצוגה - כרטיס מסך.
עצם השאלה אם TCP IP ממומש ברמת דפדפן מעידה על חוסר הבנה בסיסי. זה לא הגיוני לעשות דבר כזה.
אתה לא יכול לשאול את זה, ושניה אחרי זה לשאול על איזה דגל בינארי שמסמן ack.
אתה צריך לדעתי ללכת לקורס מסודר, שם יעשו לך סדר בדברים.
-
Dor1992
-
- חבר פעיל במיוחד

- תגובות: 579
- הצטרף: אוגוסט 2018
- מיקום: חיפה
@nir11
·
נחמד שאתה מזלזל בלי לקרוא או להבין מה רשמתי. סליחה, בעצם קראת והבנת. פשוט יצאת לא מבין בעצמך.
א. את כל מה שרשמת על מערכת ההפעלה אני יודע.
ב. Tcp/IP לא ממומש בדפדפן או באפליקציה עצמה? מה אתה אומר. TCP/IP זה מודל הרי. השכבה העליונה היא שכבת האפליקציה שכוללת את הפרוטוקולים בשכבת האפליקציה. האפליקציה מייצרת בעצמה פרוטוקולים של שכבת האפליקציה לדוגמא דפדפן שמייצר HTTP Headers.
כמו הרבה כאן ניסית לזלזל ולהתנשא ולטעון על "חוסר הבנה בסיסית" ויצאת לא מבין כלום בעצמך.
·
נחמד שאתה מזלזל בלי לקרוא או להבין מה רשמתי. סליחה, בעצם קראת והבנת. פשוט יצאת לא מבין בעצמך.
א. את כל מה שרשמת על מערכת ההפעלה אני יודע.
ב. Tcp/IP לא ממומש בדפדפן או באפליקציה עצמה? מה אתה אומר. TCP/IP זה מודל הרי. השכבה העליונה היא שכבת האפליקציה שכוללת את הפרוטוקולים בשכבת האפליקציה. האפליקציה מייצרת בעצמה פרוטוקולים של שכבת האפליקציה לדוגמא דפדפן שמייצר HTTP Headers.
כמו הרבה כאן ניסית לזלזל ולהתנשא ולטעון על "חוסר הבנה בסיסית" ויצאת לא מבין כלום בעצמך.
- nir11
-
- חבר מביא חבר

- תגובות: 3893
- הצטרף: אפריל 2007
@Dor1992
·
"
איזו תוכנית אחראית מבחינת פקודות בינאריות לייצור header של Tcp או Udp? האם הדבר נעשה על ידי הדרייבר של כרטיס הרשת או בכלל באפליקציה שמייצרת את הפרוטקולים שעובדים ברמת האפליקציה, לדוגמא בדפדפן עצמו.
""
ידידי אתה לא עקבי. בשאלה המקורית שאלת אם הדפדפן מייצר את בקשות ה TCP IP. זה החלק שמראה על חוסר ההבנה.
·
"
איזו תוכנית אחראית מבחינת פקודות בינאריות לייצור header של Tcp או Udp? האם הדבר נעשה על ידי הדרייבר של כרטיס הרשת או בכלל באפליקציה שמייצרת את הפרוטקולים שעובדים ברמת האפליקציה, לדוגמא בדפדפן עצמו.
""
ידידי אתה לא עקבי. בשאלה המקורית שאלת אם הדפדפן מייצר את בקשות ה TCP IP. זה החלק שמראה על חוסר ההבנה.
- nir11
-
- חבר מביא חבר

- תגובות: 3893
- הצטרף: אפריל 2007
יש לי הרגשה שאתה חושב ששכבת האפליקציה היא חלק מ TCP/IP.Dor1992 כתב:@nir11
·
ב. Tcp/IP לא ממומש בדפדפן או באפליקציה עצמה? מה אתה אומר. TCP/IP זה מודל הרי. השכבה העליונה היא שכבת האפליקציה שכוללת את הפרוטוקולים בשכבת האפליקציה. האפליקציה מייצרת בעצמה פרוטוקולים של שכבת האפליקציה לדוגמא דפדפן שמייצר HTTP Headers.
...
אז בוא נעשה סדר, היא לא. HTTP הוא לא חלק מ TCP/IP. בעולם האינטרנט המימוש של OSI, למיטב ידיעתי הוא כזה:
שכבה פיזית - ממומשת להבנתי בצ'יפ שנקרא phy בכרטיס הרשת
שכבת ה LINK - ממומשת בכרטיס הרשת וגם במערכת ההפעלה. זה ה MAC
שכבת הניתוב - IP, ממומשת בדרך כלל במערכת ההפעלה, אבל יכולה להיות ממומשת גם בכרטיס הרשת.
שכבת השיחה - TCP - ממומשת במערכת ההפעלה, אבל יכולה גם להיות ממושת (בחלקה?) בכרטיב הרשת
שכבה 5 - לא יודע
שכבה 6 - לא יודע
שכבה 7 - שכבת האפליקציה, ממומשת לעיתים באפליקציה, כמו HTTP, אבל לעיתים במערכת ההפעלה, כמו SCSI.
-
Dor1992
-
- חבר פעיל במיוחד

- תגובות: 579
- הצטרף: אוגוסט 2018
- מיקום: חיפה
@nir11
·
ואסביר גם למה רשמתי את זה.
כי כשמתכנתים Socket כל התכנות הוא על הדאטא של האפליקציה שבסוף הכל הופך הרי ל-exe בווינדוז.
ונתקלתי הרבה פעמים במונח Tcp Socket כשהסתכלתי על הודעות של מתכנתי אפליקציה.
כך שזה מה שבלבל אותי גם. אם הרי הכרטיס רשת לא אחראי על ייצור Tcp Headers וגם לא התוכנית שברמת האפליקציה של ה-OSI, אז תהיתי איזו תוכנית אחראית לזה. בסוף הרי חייבת לרוץ תוכנית שתייצר Tcp Headers.
ואחי, זה בסדר לשאול כאן שאלות כדי להבין אם יש משהו שמבלבל. כל פעם שאני מפרסם פוסט מגיעים כאן כל מיני תוקפים שמנסים להאדיר את עצמם על ידי זה שהם יגידו לאחרים "יש לך חוסר הבנה בסיסית".
יש לי חבר, מתכנת באפל מצטיין במדעי המחשב שלא ידע מה זה המושג נטוורקינג (והוא מתכנת Sockets בין היתר). אז אם הוא היה שולח פוסט כאן ששואל מה זה נטוורקינג היית אומר לו הרי שיש לו חוסר הבנה בסיסי מן הסתם לא? אבל הוא מצטיין מדעי המחשב באחד המוסדות המובילים בעולם, אז מה תגיד?
אז בוא נשים את הדברים במקומם. לא נראה לי שיש אדם אחד בעולם שיודע את כל הפקודות ואת כל הדברים במחשבים מהסיבה הפשוטה שכדי לדעת את הכל אבל הכל הכל בלי להחסיר פרט קטן אפילו מפקודה בינארית אחת זה דורש למידה של מאות או אלפי שנים ואנחנו חיים רק עד 120 שנים..
·
ואסביר גם למה רשמתי את זה.
כי כשמתכנתים Socket כל התכנות הוא על הדאטא של האפליקציה שבסוף הכל הופך הרי ל-exe בווינדוז.
ונתקלתי הרבה פעמים במונח Tcp Socket כשהסתכלתי על הודעות של מתכנתי אפליקציה.
כך שזה מה שבלבל אותי גם. אם הרי הכרטיס רשת לא אחראי על ייצור Tcp Headers וגם לא התוכנית שברמת האפליקציה של ה-OSI, אז תהיתי איזו תוכנית אחראית לזה. בסוף הרי חייבת לרוץ תוכנית שתייצר Tcp Headers.
ואחי, זה בסדר לשאול כאן שאלות כדי להבין אם יש משהו שמבלבל. כל פעם שאני מפרסם פוסט מגיעים כאן כל מיני תוקפים שמנסים להאדיר את עצמם על ידי זה שהם יגידו לאחרים "יש לך חוסר הבנה בסיסית".
יש לי חבר, מתכנת באפל מצטיין במדעי המחשב שלא ידע מה זה המושג נטוורקינג (והוא מתכנת Sockets בין היתר). אז אם הוא היה שולח פוסט כאן ששואל מה זה נטוורקינג היית אומר לו הרי שיש לו חוסר הבנה בסיסי מן הסתם לא? אבל הוא מצטיין מדעי המחשב באחד המוסדות המובילים בעולם, אז מה תגיד?
אז בוא נשים את הדברים במקומם. לא נראה לי שיש אדם אחד בעולם שיודע את כל הפקודות ואת כל הדברים במחשבים מהסיבה הפשוטה שכדי לדעת את הכל אבל הכל הכל בלי להחסיר פרט קטן אפילו מפקודה בינארית אחת זה דורש למידה של מאות או אלפי שנים ואנחנו חיים רק עד 120 שנים..
-
Dor1992
-
- חבר פעיל במיוחד

- תגובות: 579
- הצטרף: אוגוסט 2018
- מיקום: חיפה
·nir11 כתב:יש לי הרגשה שאתה חושב ששכבת האפליקציה היא חלק מ TCP/IP.......
אז בוא נעשה סדר, היא לא. HTTP הוא לא חלק מ TCP/IP. בעולם האינטרנט המימוש של OSI, למיטב ידיעתי הוא כזה:
שכבה פיזית - ממומשת להבנתי בצ'יפ שנקרא phy בכרטיס הרשת
שכבת ה LINK - ממומשת בכרטיס הרשת וגם במערכת ההפעלה. זה ה MAC
שכבת הניתוב - IP, ממומשת בדרך כלל במערכת ההפעלה, אבל יכולה להיות ממומשת גם בכרטיס הרשת.
שכבת השיחה - TCP - ממומשת במערכת ההפעלה, אבל יכולה גם להיות ממושת (בחלקה?) בכרטיב הרשת
שכבה 5 - לא יודע
שכבה 6 - לא יודע
שכבה 7 - שכבת האפליקציה, ממומשת לעיתים באפליקציה, כמו HTTP, אבל לעיתים במערכת ההפעלה, כמו SCSI....
יש לי הרגשה שאתה מבלבל תמוח ולא יודע שהמושג TCP\IP הוא המודל כולו עצמו(מודל חדש שנועד לקצר חלק מהדברים המיותרים של מודל ה-OSI) ולא מתייחס רק לפרוטוקולים TCP ו-IP.
תעשה גוגל ותבדוק אותי.
אז HTTP זה חלק בלתי נפרד מ-TCP\ IP.
שוב אתה מנסה לעשות לי הרצאה על מודל ה-OSI שכל ילד יודע אותו ויוצא חסר הבנה עם שטויות שאתה פולט.