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 Chu kỳ hoạt động của một session TCP.  XML
  [Question]   Chu kỳ hoạt động của một session TCP. 19/12/2006 05:41:15 (+0700) | #1 | 31235
[Avatar]
dabu
Elite Member

[Minus]    0    [Plus]
Joined: 03/03/2003 03:31:20
Messages: 226
Offline
[Profile] [PM]
-Trước khi khởi tạo một session thì client phải có 2 mẫu thông tin xác định trước. Client sẽ chọn một số cổng TCP để tượng trưng cho một session. Ví dụ với dịch vụ Web thì client sẽ chọn cổng đích là: 80, HTTPS là 443 hay FTP là cổng 20,21,...

-Tại client có source port phải là các cổng > 1024, vì các cổng < 1024 thường là các cổng well-known, phổ biến ấn định cho các dịch vụ thông dụng.

-Với mỗi packet TCP sẽ có trường tuần từ sequence để đích không nhầm lẫn với các packet đến cùng một thời điểm. Trường này có 32bit.

-Khi khởi tạo một session TCP nó sẽ xác lập cờ (flag) SYN trên field của TCP datagram. Cờ SYN này có chức năng đồng bộ cũng như khởi tạo một session TCP. Tùy theo các loại kết nối mà trường của SYN là 8 bit hoặc nhiều hơn.

-Khi đích Destination nhận được packet TCP có flag SYN này nó(des) sẽ reply lại nguồn ban đầu là nó đã nhận được packet thiết lập session SYN rồi. Để đánh dấu đây là packet trả lời gói SYN của client trong trường TCP của nó cờ ACK(cả cờ SYN) được bật, để đánh dấu.

-Sau khi phía client nhận được gói ACK của destination thì nó trả lời lại Des là nó đã nhận đươc gói ACK của des.

-Sau khi gói này cả hai phía chuyển vảo trạng thái được thiết lập (established) nhằm chỉ định rằng việc chuyển dữ liệu giữa người dùng và ứng dụng có thể bắt đầu.
+ Quá trình này gọi là quá trình bắt tay 3 bước.

-Truyền dữ liệu.
-Sau quá trình bắt tay 3 bước thì dữ liệu được truyền giữa 2 đầu.
-Vì theo giao thức TCP nên cờ ACK luôn được xác lập và 2 trạm cuối sử dụng việc đánh số trình tự và báo nhận để theo dõi sự thành công của đoạn dữ liệu.

-Kết thúc session.
Việc kết thúc một session có thể bắt đầu từ một trong 2 phía(không giống như việc khởi tạo một session chỉ bắt đầu từ client). Một khi 2 phía quyết định không có dữ liệu để truyền nữa nó sẽ xác lập cờ FIN trong tiêu đề TCP để bảo đảm phía kia biết nó sẳn sàng kết thúc nối kết.

-Nếu trạm nào nhận gói FIN này nó sẽ xác nhận lại gói FIN này bằng gói ACK,FIN(khi nó sẳn sàng kết thúc một kết nối). Sau đó cả 2 sẽ di chuyển vào trạng thái TIME WAIT đến trạng thái CLOSED và kết nối được đóng lại.

-Trong trường hợp khi client nhận gói FIN Nhưng nó vẫn còn dữ liệu để gửi nó sẽ báo nhận ACK, không xác lập cờ FIN. Điều này cho phép nó tiếp tục gửi dữ liệu cho xong, sau đó nó tiếp tục gửi gói FIN để thông báo nó đã sẵn sàng kết thúc một session. Trong thời gian này cả 2 trạm phát và nhận chuyển vào trạng thái FIN WAIT 2 và CLOSE WAIT.

Trong một số ứng dụng chẳng hạn như dịch vụ WEB thường sử dụng kiểu trạng thái nữa đóng do đó cho phép kết nối được đưa trở lại vào sử dụng khi cần thiết mà không cần khởi tạo lại toàn bộ kết nối.

...(tiếp: Tìm hiểu về HTTP.)
It's time to build a new network.
[Up] [Print Copy]
  [Question]   Re: Chu kỳ hoạt động của một session TCP. 19/12/2006 07:48:04 (+0700) | #2 | 31261
[Avatar]
lonely_Xorhandsome
Elite Member

[Minus]    0    [Plus]
Joined: 26/06/2006 12:14:07
Messages: 558
Location: HCM beside you !
Offline
[Profile] [PM]
dabu ơi tiện viết bài rồi sao không liên kết với 7 tầng mạng cho các em nó dễ liên tưởng ! chủ đề của bạn rất thích hợp khi diễn giải gửi nhận thông tin trên đường truyền , nhưng nếu là 7 tầng mạng nó sẽ hay hơn nhiều đấy .
cố tiếp tục nhé !
[Up] [Print Copy]
  [Question]   Re: Chu kỳ hoạt động của một session TCP. 19/12/2006 23:34:14 (+0700) | #3 | 31348
[Avatar]
dabu
Elite Member

[Minus]    0    [Plus]
Joined: 03/03/2003 03:31:20
Messages: 226
Offline
[Profile] [PM]

lonely_Xorhandsome wrote:
dabu ơi tiện viết bài rồi sao không liên kết với 7 tầng mạng cho các em nó dễ liên tưởng ! chủ đề của bạn rất thích hợp khi diễn giải gửi nhận thông tin trên đường truyền , nhưng nếu là 7 tầng mạng nó sẽ hay hơn nhiều đấy .
cố tiếp tục nhé !  


Nếu nói cả 7 tầng OSI thì nói chung chung quá, không sâu vào một vấn đề. smilie
It's time to build a new network.
[Up] [Print Copy]
  [Question]   Chu kỳ hoạt động của một session TCP. 21/12/2006 05:50:04 (+0700) | #4 | 31671
[Avatar]
dabu
Elite Member

[Minus]    0    [Plus]
Joined: 03/03/2003 03:31:20
Messages: 226
Offline
[Profile] [PM]
HyperText Transfer Protocol(HTTP).
-HyperText Transfer Protocol(HTTP) là giao thức lớp Application nó cung cấp một giao thức cho việc truy vấn HyperText Markup language(HTML) và các dữ liệu khác của web Site.
-Có 3 phiên bản HTTP.
+ HTTP/0.9: Là phiên bản đầu tiên đơn giản chỉ hỗ trợ tùy chọn đễ nhận được một trang Web.
+ HTTP/1.0: Phiên bản này được bỗ sung bởi nhiều trường dữ liệu gọi là các tiêu đề (header) vào thông số kỹ thuật.
+ HTTP/1.1: Là phiên bản cải tiến của HTTP/1.0, ưu điểm của HTTP/1.1 là có các kết nối ỗn định, tạo ống dẫn và kiễm soát cache.
- Các trình duyệt ngày nay cung cấp tính năng tương thích ngược giữa 2 phiên bản HTTP trên.

Truy vấn trang HTTP cơ bản.
- Trang Web có hang chục đối tượng, từ các HTML đến các ảnh trên Web site.
Tiến trình truy vấn trang xảy ra theo trình tự sau :
1. Client gửi một yêu cầu cho trang đến Web server.
2. Server phân tích yêu cầu này và gửi trở lại một lời báo nhận đến client cùng với mã HTML được yêu cầu để tạo trang.
3. Client sẽ bắt đầu thông dịch HTML vào tạo trang.
4. Client trong các yêu cầu tiếp theo, sẽ truy vấn bất kì đối tượng được nhúng(hình ảnh, và file đa phương tiện).
Thứ tự và thời gian của tiến trình phụ thuộc vào phiên bản HTTP được dùng là 1.0 hay 1.1.
Các phương thức HTTP.
- Nhận dữ liệu từ Server.
- Truyền dữ liệu từ client đến server.
Phương thức GET được dung truy tìm riêng mỗi đối tượng.
Phương thức POST được dùng cho phép client gửi thông tin đến Server.
Phương thức HEAD Giống như GET nhưng server chỉ trả về các tiêu đề HTTP.
Phương thức PUT được dùng cho phép client đặt một mục lên Server trong vị trí đã được xác định.
Phương thức DELETE cho phép client xóa một mục.
Phương thức TRACE cho phép client xem yêu cầu mà nó đã thực hiện đối với Server.
Phương thức OPTIONS cho phép client xác định các tùy chọn giao tiếp có sẵn trên Server.
HTTP URL.
URL là mẫu thông tin mà trình duyệt client đưa vào yêu cầu GET.
URL bao gồm : http://hvaonline.net:80/ebook/Network/book1.pdf#download.
Với : http:// : Scheme, hvaonline.net: Host, 80: TCP port, ebook/Network/book1.pdf: Full path và Document, #download: Page Marker.
Với URI là một URL không có scheme.
Kết nối ổn định trong HTTP.
- Với HTTP/1/0 và HTTP/1.1 khác nhau ở tiêu đề connection :
- HTTP/1.0: Connection : Closed.
- HTTP/1. : Connection: Keep-Alive
Closed : biểu thị server sẽ đóng kết nối TCP khi yêu cầu đã hoàn thành.
Keep-Alive: Biểu thị server sẽ giữ kết nối TCP vẫn mở sau khi yêu cầu đã được hình thành. Ngoài ra trạng thái Keep-Alive cũng thực thi sự nối ống dẫn (pipeling.) Với sự nối ống dẫn cho phép một client gửi nhiều yêu cầu GET HTTP trên cùng một kết nối TCP mà không cần đợi các phản hồi riêng lẽ sau mỗi yêu cầu.
Sự khác biệt trong việc xử lý HTTP/1.0 và HTTP/1.1.
+ Trong một Session HTTP/1.0 mặc định, nối kết TCP sẽ bị hủy và được thiết lập lại giữa mỗi yêu cầu GET HTTP.
+ Trong một Session HTTP/1.1 mặc định, một kết nối TCP vẫn được mở và nhiều yêu cầu GET sẽ được truyền qua.
Client có thể mở một kết nối TCP ổn định với server và nối ống dẫn các yêu cầu HTTP.
Ngoài ra, nhiều trình duyệt mở nhiều kết nối đồng thời.
- Khi sử dụng sự nối ống dẫn, client sẽ cấp phát nhiều yêu cầu GET mà không đợi một sự đáp ứng cho mỗi yêu cầu.
- Client cũng có thể mở nhiều kết nối TCP để tăng tốc việc truy tìm một số lớn các đối tượng.
(còn tiếp)
It's time to build a new network.
[Up] [Print Copy]
  [Question]   Re: Chu kỳ hoạt động của một session TCP. 29/12/2007 04:08:51 (+0700) | #5 | 106660
[Avatar]
hoangclinh
Member

[Minus]    0    [Plus]
Joined: 05/01/2005 22:41:15
Messages: 14
Offline
[Profile] [PM]
Tớ không hiểu đoạn cậu nói SYN flag có 8 bits hoặc hơn tùy loại kết nối ?
[Up] [Print Copy]
  [Question]   Re: Chu kỳ hoạt động của một session TCP. 29/12/2007 08:46:36 (+0700) | #6 | 106715
hvtuananh
Member

[Minus]    0    [Plus]
Joined: 11/08/2007 20:22:20
Messages: 68
Offline
[Profile] [PM]

lonely_Xorhandsome wrote:
dabu ơi tiện viết bài rồi sao không liên kết với 7 tầng mạng cho các em nó dễ liên tưởng ! chủ đề của bạn rất thích hợp khi diễn giải gửi nhận thông tin trên đường truyền , nhưng nếu là 7 tầng mạng nó sẽ hay hơn nhiều đấy .
cố tiếp tục nhé !  


Nói chung thì dùng mô hình TCP/IP 4 tầng tốt hơn là OSI. OSI chỉ là mô hình lý thuyết, còn TCP/IP là mô hình ứng dụng
[Up] [Print Copy]
  [Question]   Re: Chu kỳ hoạt động của một session TCP. 29/12/2007 09:45:58 (+0700) | #7 | 106725
[Avatar]
enn3exlibs
Elite Member

[Minus]    0    [Plus]
Joined: 10/12/2006 16:54:02
Messages: 243
Location: bluesun
Offline
[Profile] [PM]
nhìn lại ngày post cách đây 1 năm rùi mấy đại ca, lúc đấy mình mới vào đọc như sấm smilie



[Up] [Print Copy]
  [Question]   Re: Chu kỳ hoạt động của một session TCP. 29/12/2007 12:09:22 (+0700) | #8 | 106752
[Avatar]
_VoT_
Member

[Minus]    0    [Plus]
Joined: 26/06/2006 00:56:37
Messages: 162
Offline
[Profile] [PM]

hoangclinh wrote:
Tớ không hiểu đoạn cậu nói SYN flag có 8 bits hoặc hơn tùy loại kết nối ?  



Flag SYN trong hình có 1 bit , vùng Reserved có 6 bits. Giả sử đều dành cho flag SYN trong thực tế thì chỉ có tối đa 7 bits chứ nhỉ?
[Up] [Print Copy]
  [Question]   Re: Chu kỳ hoạt động của một session TCP. 02/01/2008 09:18:21 (+0700) | #9 | 107628
vingaymai
Member

[Minus]    0    [Plus]
Joined: 12/12/2007 18:07:22
Messages: 1
Offline
[Profile] [PM]
Những kiến thức rất cần thiết đối với người mới bắt đầu.
Tiếp tục đi bạn ơi.
[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|