Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

TCP: quá trình thiết lập kết nối và hủy kết nối

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • TCP: quá trình thiết lập kết nối và hủy kết nối

    Các kết nối TCP và các cổng

    Hai ứng dụng dùng TCP phải thiết lập một kết nối TCP trước khi dữ liệu có thể được truyền. Mỗi kết nối sẽ tồn tại giữa một cặp TCP sockets với socket được định nghĩa như là một kết hợp của địa chỉ IP, cổng được dùng, giao thức lớp transport. Quá trình thiết lập kết nối, khởi tạo socket bao gồm giá trị cổng nguồn và cổng đích, chỉ số tuần tự và ACK. Hình 6-2 mô tả tiến trình bắt tay ba lần trong thiết lập TCP và quá trình hủy một kết nối TCP.



    Trong quá trình thiết lập kết nối, hai host sẽ chọn lựa cổng, chọn lựa chỉ số tuần tự sequence-number và dùng các chỉ số của TCP để nhận ra thông điệp trong quá trình bắt tay ba chiều. Đầu tiên, đối với vấn đề cổng, bên server phải lắng nghe các yêu cầu kết nối từ client, trong trường hợp này là cổng 80. Phía client sẽ chọn một cổng chưa dùng làm source port, thường là giá trị 1024 hoặc lớn hơn. Lưu ý rằng khi so sánh các segment trong tiến trình trên, giá trị port là không đổi.

    Trong phần header của TCP có bao gồm vài trường có giá trị 1-bit, gọi là các cờ. Các cờ này phục vụ cho các mục đích khác nhau. Các cờ SYN và ACK sẽ chỉ ra một segment có phải là segment đầu tiên hay là thứ hai trong một kết nối TCP mới. Một segment có cờ SYN sẽ là segment đầu tiên trong một kết nối TCP. Một segment có cả SYN và ACK sẽ là segment thứ hai trong một kết nối. Các cờ này cho phép các host dễ dàng nhận ra các yêu cầu kết nối mới. Chỉ số ban đầu có thể được gán về bất kỳ giá trị hợp lệ nào và thường không được gán về 0. Hãy nhớ rằng trong quá trình khôi phục lỗi, việc sử dụng các giá trị này là độc lập trong cả hai chiều.

    Quá trình khôi phục lỗi

    Để thực hiện quá trình khôi phục lỗi, TCP sẽ gửi các công nhận ACK khi nhận được dữ liệu. Khi dữ liệu gửi đi không được ACK, bên gửi có thể gửi lại dữ liệu. Hình dưới đây mô tả tiến trình một web server gửi ra 1000-bytes trong đó khi segment thứ hai bị mất, dữ liệu sẽ được khôi phục lại.



    Ví dụ trên mô tả một tiến trình khôi phục lỗi trong đó bên gửi (máy web) nhận được một ACK trong đó chỉ ra rằng một segment đã bị mất. Lưu ý rằng trường ACK sẽ chỉ ra byte mong đợi kế tiếp- chứ không phải là byte nhận được cuối cùng. Cũng lưu ý rằng trường ACK và trường sequence chỉ ra số bytes, chứ không phải chỉ ra TCP segment. Bên máy gửi sẽ gửi ra một bộ định thời timers, dựa trên giá trị TCP Measured Round Trip Time (MRTT) sao cho nếu một ACK là không nhận được, máy gửi sẽ gửi lại tất cả nhưng dữ liệu không được công nhận mà không chờ cho bên máy nhận gửi một yêu cầu truyền lại.
    Đặng Quang Minh, CCIEx2#11897 (Enterprise Infrastructure, Wireless), DEVNET, CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/

  • #2
    Anh Minh cho em hỏi , khi lập một kết nối , web browser gửi một yêu cầu kết nối tới webserver , webserver sẽ gửi lại một yêu cầu kết nối tới web browser , bao gồm cả ACK , vậy điều gì sẽ xảy ra khi yêu cầu từ web browser ko đến được webserver , có phải theo cơ chế positive ACK nó sẽ gửi lại yêu cầu theo một thời gian được tính theo bộ định thời timer ko ạ,hay là nó báo luôn ko kết nối được với webserver.

    Comment


    • #3
      nếu có 1 request từ phía web client lên webserver bị trục trặc. Sau một thời gian web client sẽ báo request time out.
      Phan Hoàng Gia Liêm - Instructor
      Email : gialiem@vnpro.org
      Yahoo : gialiem_vnpro
      -----------------------------------------------------------------------------------------------
      Trung Tâm Tin Học VnPro
      149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
      Tel : (08) 35124257 (5 lines)
      Fax: (08) 35124314

      Home page: http://www.vnpro.vn
      Support Forum: http://www.vnpro.org
      - Chuyên đào tạo quản trị mạng và hạ tầng Internet
      - Phát hành sách chuyên môn
      - Tư vấn và tuyển dụng nhân sự IT
      - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

      Network channel: http://www.dancisco.com
      Blog: http://www.vnpro.org/blog

      Comment


      • #4
        Originally posted by LamPhuongHoang View Post
        nếu có 1 request từ phía web client lên webserver bị trục trặc. Sau một thời gian web client sẽ báo request time out.
        Diễn đàn mình ko có nút thanks nhỉ , spam bài cám ơn anh LamPhuongHoang

        Comment

        Working...
        X