banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận mạng và thiết bị mạng Thắc mắc về TCP/IP  XML
  [Question]   Thắc mắc về TCP/IP 16/11/2010 22:22:57 (+0700) | #1 | 225018
explorer88
Member

[Minus]    0    [Plus]
Joined: 06/11/2010 22:32:47
Messages: 75
Offline
[Profile] [PM]
Chào các bạn.

Mình thắc mắc ở chỗ:
Tại transport layer, với giao thức TCP thì sử dụng connection-oriented, cả hai bên cần xây dựng một kết nối trước khi truyền data. Data, ở đây là các TCP segment sẽ được truyền đi trong kết nối đó.

Nhưng mà TCP segment đó phải được đóng gói vào một IP datagram để chuyển đi, mà kết nối tại network layer thì lại là connectionless nên các ip datagram sẽ được truyền đi theo các hướng khác nhau trước khi đến đích.

Vậy thì khi đó các TCP segment nằm trong IP datagram đâu có được truyền đi theo kết nối đã có ở tầng transport đâu nhỉ ?

Mình nghĩ là mình không nắm vững ở chỗ nào đó nên mới thắc mắc thế này. Rất mong các bạn chỉ cho mình biết: Mình đã sai ở chỗ nào ?
[Up] [Print Copy]
  [Question]   Thắc mắc về TCP/IP 17/11/2010 14:16:49 (+0700) | #2 | 225044
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

explorer88 wrote:
Chào các bạn.

Mình thắc mắc ở chỗ:
Tại transport layer, với giao thức TCP thì sử dụng connection-oriented, cả hai bên cần xây dựng một kết nối trước khi truyền data. Data, ở đây là các TCP segment sẽ được truyền đi trong kết nối đó.

Nhưng mà TCP segment đó phải được đóng gói vào một IP datagram để chuyển đi, mà kết nối tại network layer thì lại là connectionless nên các ip datagram sẽ được truyền đi theo các hướng khác nhau trước khi đến đích.

Vậy thì khi đó các TCP segment nằm trong IP datagram đâu có được truyền đi theo kết nối đã có ở tầng transport đâu nhỉ ?

Mình nghĩ là mình không nắm vững ở chỗ nào đó nên mới thắc mắc thế này. Rất mong các bạn chỉ cho mình biết: Mình đã sai ở chỗ nào ? 


Bồ nói rõ hơn vởi đoạn màu đỏ ở trên được không? Tại sao "kết nối tại network layer lại là connectionless" là sao?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Thắc mắc về TCP/IP 17/11/2010 15:00:17 (+0700) | #3 | 225051
[Avatar]
dreamcatcher
Member

[Minus]    0    [Plus]
Joined: 28/03/2009 12:47:35
Messages: 28
Offline
[Profile] [PM]

explorer88 wrote:
Chào các bạn.

Mình thắc mắc ở chỗ:
Tại transport layer, với giao thức TCP thì sử dụng connection-oriented, cả hai bên cần xây dựng một kết nối trước khi truyền data. Data, ở đây là các TCP segment sẽ được truyền đi trong kết nối đó.

Nhưng mà TCP segment đó phải được đóng gói vào một IP datagram để chuyển đi, mà kết nối tại network layer thì lại là connectionless nên các ip datagram sẽ được truyền đi theo các hướng khác nhau trước khi đến đích.

Vậy thì khi đó các TCP segment nằm trong IP datagram đâu có được truyền đi theo kết nối đã có ở tầng transport đâu nhỉ ?

Mình nghĩ là mình không nắm vững ở chỗ nào đó nên mới thắc mắc thế này. Rất mong các bạn chỉ cho mình biết: Mình đã sai ở chỗ nào ? 


Các tầng của TCP/IP có chức năng và hoạt động độc lập với nhau. Nên ở layer 3 là connectioness chẳng liên quan gì đến việc layer 4 phải là connectioness hay connection-oriented cả.

TCP dùng cơ chế SYN - ACK để thiết lập 1 comunication session trước khi truyền tin, nó chỉ xử lý ở layer 4, còn layer 3 là gì nó không quan tâm. Khi đóng gói xong nó chuyển xuống layer 3 rồi mặc kệ thôi.

Ví dụ: mình gửi thư cho bạn, trước khi gửi thư mình có gọi điện thông báo cho bạn mình trước là sẽ gửi thư và bạn mình xác nhận (layer 4 - phiên làm việc được thiết lập, mình và bạn mình biết là có gửi thư cho nhau), sau đó mình bỏ thư vào hòm để chuyển đi (layer 3 - connectioness: mình không biết bao giờ thì thư đến chỗ bạn mình, cũng không biết thời điểm thư được lấy đi ...). Bạn mình khi nhận được thư -> xác nhận lại (layer 4). Không nhận được thư -> yêu cầu gửi lại (layer 4).
[Up] [Print Copy]
  [Question]   Thắc mắc về TCP/IP 17/11/2010 15:55:50 (+0700) | #4 | 225061
explorer88
Member

[Minus]    0    [Plus]
Joined: 06/11/2010 22:32:47
Messages: 75
Offline
[Profile] [PM]

dreamcatcher wrote:

explorer88 wrote:
Chào các bạn.

Mình thắc mắc ở chỗ:
Tại transport layer, với giao thức TCP thì sử dụng connection-oriented, cả hai bên cần xây dựng một kết nối trước khi truyền data. Data, ở đây là các TCP segment sẽ được truyền đi trong kết nối đó.

Nhưng mà TCP segment đó phải được đóng gói vào một IP datagram để chuyển đi, mà kết nối tại network layer thì lại là connectionless nên các ip datagram sẽ được truyền đi theo các hướng khác nhau trước khi đến đích.

Vậy thì khi đó các TCP segment nằm trong IP datagram đâu có được truyền đi theo kết nối đã có ở tầng transport đâu nhỉ ?

Mình nghĩ là mình không nắm vững ở chỗ nào đó nên mới thắc mắc thế này. Rất mong các bạn chỉ cho mình biết: Mình đã sai ở chỗ nào ? 


Các tầng của TCP/IP có chức năng và hoạt động độc lập với nhau. Nên ở layer 3 là connectioness chẳng liên quan gì đến việc layer 4 phải là connectioness hay connection-oriented cả.

TCP dùng cơ chế SYN - ACK để thiết lập 1 comunication session trước khi truyền tin, nó chỉ xử lý ở layer 4, còn layer 3 là gì nó không quan tâm. Khi đóng gói xong nó chuyển xuống layer 3 rồi mặc kệ thôi.

Ví dụ: mình gửi thư cho bạn, trước khi gửi thư mình có gọi điện thông báo cho bạn mình trước là sẽ gửi thư và bạn mình xác nhận (layer 4 - phiên làm việc được thiết lập, mình và bạn mình biết là có gửi thư cho nhau), sau đó mình bỏ thư vào hòm để chuyển đi (layer 3 - connectioness: mình không biết bao giờ thì thư đến chỗ bạn mình, cũng không biết thời điểm thư được lấy đi ...). Bạn mình khi nhận được thư -> xác nhận lại (layer 4). Không nhận được thư -> yêu cầu gửi lại (layer 4). 


Bạn chỉ cho mình thấy cách gói tin được xử lý tại các tầng network và transport và bạn trả lời thắc mắc của mình là do các tầng thiết kế độc lập nên việc các datagram được truyền đi theo kiểu connectionless ở dưới không ảnh hưởng gì đến connection-oriented ở trên. Dù mình vẫn chưa thoả mãn lắm với câu trả lời này nhưng cũng cảm ơn bạn nhé.

Hôm qua, mình có biết thêm là connection tại transport thực chất là logical connection, không hẳn là có một kết nối định sẵn giữa hai endpoint tại transport layer. Tại sao lại phải dùng khái niệm logical connection ở đây nhỉ ?
[Up] [Print Copy]
  [Question]   Thắc mắc về TCP/IP 17/11/2010 15:57:41 (+0700) | #5 | 225062
explorer88
Member

[Minus]    0    [Plus]
Joined: 06/11/2010 22:32:47
Messages: 75
Offline
[Profile] [PM]

conmale wrote:

explorer88 wrote:
Chào các bạn.

Mình thắc mắc ở chỗ:
Tại transport layer, với giao thức TCP thì sử dụng connection-oriented, cả hai bên cần xây dựng một kết nối trước khi truyền data. Data, ở đây là các TCP segment sẽ được truyền đi trong kết nối đó.

Nhưng mà TCP segment đó phải được đóng gói vào một IP datagram để chuyển đi, mà kết nối tại network layer thì lại là connectionless nên các ip datagram sẽ được truyền đi theo các hướng khác nhau trước khi đến đích.

Vậy thì khi đó các TCP segment nằm trong IP datagram đâu có được truyền đi theo kết nối đã có ở tầng transport đâu nhỉ ?

Mình nghĩ là mình không nắm vững ở chỗ nào đó nên mới thắc mắc thế này. Rất mong các bạn chỉ cho mình biết: Mình đã sai ở chỗ nào ? 


Bồ nói rõ hơn vởi đoạn màu đỏ ở trên được không? Tại sao "kết nối tại network layer lại là connectionless" là sao? 


Ý của em là: TCP segment được đóng gói lại trong một IP datagram mà IP datagram được truyền đi trên mạng theo truyền thông kiểu connectionless: Không có một con đường định sẵn nào cả, các IP datagram sẽ được các router forward theo các tuyến khác nhau để đến đích.

Em xem trong wikipedia thấy họ cũng nói mô hình kết nối tại network layer là connectionless mà:
http://en.wikipedia.org/wiki/Network_Layer

Em diễn đạt có điểm nào chưa rõ ràng hay sai về mặt thuật ngữ không. Nếu có thì nhờ anh hướng dẫn để em sửa dần.
[Up] [Print Copy]
  [Question]   Thắc mắc về TCP/IP 17/11/2010 17:25:48 (+0700) | #6 | 225066
rs
Member

[Minus]    0    [Plus]
Joined: 15/07/2008 23:07:11
Messages: 220
Location: YANYM
Offline
[Profile] [PM]

explorer88 wrote:

Hôm qua, mình có biết thêm là connection tại transport thực chất là logical connection, không hẳn là có một kết nối định sẵn giữa hai endpoint tại transport layer. Tại sao lại phải dùng khái niệm logical connection ở đây nhỉ ?
 

Hình như bạn còn chưa phân biệt được rõ ràng vai trò của Layer Internet và Layer Transport.

Thế nào gọi là kết nối định sẵn giữa hai endpoint vậy?

[Up] [Print Copy]
  [Question]   Thắc mắc về TCP/IP 17/11/2010 18:06:08 (+0700) | #7 | 225070
explorer88
Member

[Minus]    0    [Plus]
Joined: 06/11/2010 22:32:47
Messages: 75
Offline
[Profile] [PM]

rs wrote:

explorer88 wrote:

Hôm qua, mình có biết thêm là connection tại transport thực chất là logical connection, không hẳn là có một kết nối định sẵn giữa hai endpoint tại transport layer. Tại sao lại phải dùng khái niệm logical connection ở đây nhỉ ?
 

Hình như bạn còn chưa phân biệt được rõ ràng vai trò của Layer Internet và Layer Transport.

Thế nào gọi là kết nối định sẵn giữa hai endpoint vậy?

 


Ý mình là kết nối tại TCP là logical connection, một kết nối tượng tưởng, mà ở đó các segment đi thẳng qua, chứ không phải đi qua nhiều con đường khác nhau giống như connectionless.

Mình gọi là định sẵn vì kết nối đó phải được hình thành trước khi hai endpoint trao đổi data.

Nó gần giống như khi thực hiện gọi điện thoại, cũng có một kết nối phải được định sẵn trước khi thực hiện trao đổi data nhưng khác ở chỗ là trong một cuộc gọi thì kết nối là thực (physical connection) chứ không phải là ảo (logical connection). Và thắc mắc ở đầu chủ đề dẫn mình đến thắc mắc mới là: Tại sao phải dùng khái niệm logical connection ở đây nhỉ ?
[Up] [Print Copy]
  [Question]   Thắc mắc về TCP/IP 17/11/2010 19:28:41 (+0700) | #8 | 225075
StarGhost
Elite Member

[Minus]    0    [Plus]
Joined: 29/03/2005 20:34:22
Messages: 662
Location: The Queen
Offline
[Profile] [PM]

explorer88 wrote:
connectionless: Không có một con đường định sẵn nào cả, các IP datagram sẽ được các router forward theo các tuyến khác nhau để đến đích 


@explorer88: bạn chắc hiểu sai khái niệm connection-oriented và connectionless. Connectionless tức là một bên có thể gửi một gói thông tin đến bên kia mà không cần báo trước, và cũng không cần biết bên kia có nhận được hay không. Và ngược lại thì là connection-oriented.

Còn về chuyện tại sao ở tầng IP thì là connectionless, rồi ở tầng TCP lại là connection-oriented, thì bạn cần phải xem xét về trade-off giữa efficiency và effectiveness. Cụ thể, mỗi một hoạt động trên Internet (routing, DNS, file transfer, WWW, v.v...) có thể là connectionless hoặc connection-oriented, tuỳ theo mục đích và đòi hỏi của hoạt động đó.

Ở network layer hoạt động chính là IP, nên nó bắt buộc phải là connectionless. Hoạt động nào muốn sử dụng connection-oriented thì thường phải qua TCP, nếu không muốn tự quản lý connection của chính nó.

Khái niệm physical connection và logical connection của bạn thực ra không có nhiều ý nghĩa, bạn cũng không cần phải quan tâm đến chúng.
Mind your thought.
[Up] [Print Copy]
  [Question]   Thắc mắc về TCP/IP 17/11/2010 20:49:41 (+0700) | #9 | 225087
explorer88
Member

[Minus]    0    [Plus]
Joined: 06/11/2010 22:32:47
Messages: 75
Offline
[Profile] [PM]
Uhm do mình hiểu sai khái niệm connection-oriented và connectionless.
Cảm ơn bạn StarGhost nhé.
[Up] [Print Copy]
  [Question]   Thắc mắc về TCP/IP 18/11/2010 03:58:42 (+0700) | #10 | 225097
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

explorer88 wrote:

conmale wrote:

explorer88 wrote:
Chào các bạn.

Mình thắc mắc ở chỗ:
Tại transport layer, với giao thức TCP thì sử dụng connection-oriented, cả hai bên cần xây dựng một kết nối trước khi truyền data. Data, ở đây là các TCP segment sẽ được truyền đi trong kết nối đó.

Nhưng mà TCP segment đó phải được đóng gói vào một IP datagram để chuyển đi, mà kết nối tại network layer thì lại là connectionless nên các ip datagram sẽ được truyền đi theo các hướng khác nhau trước khi đến đích.

Vậy thì khi đó các TCP segment nằm trong IP datagram đâu có được truyền đi theo kết nối đã có ở tầng transport đâu nhỉ ?

Mình nghĩ là mình không nắm vững ở chỗ nào đó nên mới thắc mắc thế này. Rất mong các bạn chỉ cho mình biết: Mình đã sai ở chỗ nào ? 


Bồ nói rõ hơn vởi đoạn màu đỏ ở trên được không? Tại sao "kết nối tại network layer lại là connectionless" là sao? 


Ý của em là: TCP segment được đóng gói lại trong một IP datagram mà IP datagram được truyền đi trên mạng theo truyền thông kiểu connectionless: Không có một con đường định sẵn nào cả, các IP datagram sẽ được các router forward theo các tuyến khác nhau để đến đích.

Em xem trong wikipedia thấy họ cũng nói mô hình kết nối tại network layer là connectionless mà:
http://en.wikipedia.org/wiki/Network_Layer

Em diễn đạt có điểm nào chưa rõ ràng hay sai về mặt thuật ngữ không. Nếu có thì nhờ anh hướng dẫn để em sửa dần. 


Hì hì, một cái là tuyến (routing), một cái là nối (connecting). Sao có thể nhặp nhằng giữa "tuyến" với "nối" được em?

Trên network layer, gói tin chỉ cần có dst IP, src IP là đủ vì việc packet được đưa đi (xuyên qua các routers) chỉ cần bấy nhiêu đó. Cái gì encapsulated bên trong payload của IP đó là chuyện của tầng cao hơn.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Thắc mắc về TCP/IP 19/11/2010 01:27:32 (+0700) | #11 | 225157
explorer88
Member

[Minus]    0    [Plus]
Joined: 06/11/2010 22:32:47
Messages: 75
Offline
[Profile] [PM]
Vâng cảm ơn anh. Em sẽ đọc kỹ hơn để diễn đạt chuẩn xác hơn.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|