Giao thức truyền vận TCP/IP

MỤC LỤC

Router và các nguyên tắc đánh địa chỉ IP

Trên hình vẽ, ví dụ router kết nối Ethernet và Token ring có phần sau địa chỉ là 99.5 (kết nối với Ethernet) và 2 (kết nối với Token Ring). Do vậy, ví dụ cũng chỉ ra rằng có thể chọn lựa cùng một giá trị phần sau địa chỉ là 17 cho cả hai nối ghép của router với mạng Token ring và mạng WAN.

Hình 8 minh hoạ ý tởng với ví dụ chỉ ra việc thiết lập địa chỉ IP cho hai router nối kết  3 mạng.
Hình 8 minh hoạ ý tởng với ví dụ chỉ ra việc thiết lập địa chỉ IP cho hai router nối kết 3 mạng.

Phân giải địa chỉ

Sự chuyển đổi địa chỉ giao thức của máy tính thành địa chỉ vật lý tơng ứng gọi là sự phân giải địa chỉ (address resolution), và địa chỉ giao thức đợc gọi là chuyển đổi sang địa chỉ vật lý tơng ứng. Một máy tính có thể chuyển đổi địa chỉ của một máy tính khác chỉ khi hai máy tính đó thuộc cùng một mạng vật lý – một máy tính không bao giờ phân giải địa chỉ của một máy tính ở trên mạng khác.

Kỹ thuật phân giải địa chỉ

Nếu một ứng dụng trên máy trạm A gửi dữ liệu đến một ứng dụng trên máy trạm B, ứng dụng sử dụng địa chỉ IP của B là địa chỉ đích. Trên hình vẽ, nếu ứng dụng trên máy A gửi một thông điệp đến máy trạm F nằm ở một mạng khác, phần mềm trên máy trạm A không thể chuyển đổi đợc địa chỉ của F. Cuối cùng R2 nhận gói tin xác định rằng địa chỉ F đợc nối với mạng vật lý bên phải nhất, chuyển đổi địa chỉ của F và chuyển gói tin đến F.

Sự tơng ứng giữa địa chỉ đợc lu trữ trong một bảng trong bộ nhớ và phần mềm sẽ tìm kiếm trong bảng đó khi cần chuyển đổi địa chỉ. Địa chỉ giao thức thiết lập cho một máy tính phải đợc lựa chọn cẩn thận vì vậy địa chỉ phần cứng của máy tính có thể đợc tính toán từ.

Giao thức phân giải địa chỉ

Các máy tính trao đổi thông điệp qua mạng để chuyển đổi một địa chỉ. Một máy tính gửi một thông điệp và yêu cầu gửi địa chỉ kèm, và các máy tính khác gửi trả lời mà có chứa các thông tin yêu cầu.

Định dạng thông điệp ARP

Ví dụ, trờng HARDWARE ADDRESS TYPE có giá trị là 1 khi ARP là dùng với Ethernet và trờng PROTOCOL ADDRESS TYPE có giá trị là 0x0800 khi ARP sử dụng với IP. Hai trờng tiếp theo, HADDR LEN và PADDR LEN chỉ ra số byte của địa chỉ phần cứng và địa chỉ giao thức. Một gắn kết tơng ứng với địa chỉ của máy gửi và gắn kết kia tơng ứng với địa chỉ của máy nhận, mà trong ARP gọi là target.

Do đó, trờng TARGET HADDR trong thông điệp yêu cầu có giá trị 0 bởi vì nội dung này không sử dụng. Do đú, thụng tin đớch trong trả lời khụng có mục đích gì - nó tồn tại từ phiên bản trớc của giao thức.

Gửi đi một thông điệp ARP

Hai trờng 16 bit đầu tiên chứa giá trị của kiểu địa chỉ phần cứng và địa chỉ giao thức. Trờng OPERATION chỉ ra liệu thông điệp này là yêu cầu (giá trị =1) hay trả lời (giá. Mỗi thông điệp ARP có chứa các trờng cho sự gắn kết hai địa chỉ.

Khi thông điệp yêu cầu gửi đi, máy gửi không biết địa chỉ phần cứng của.

FRAME HEADER

    Để tạo ra thông điệp trả lời, máy tính bắt đầu từ thông điệp yêu cầu, chuyển đổi gắn kết của máy gửi và đích, chen thêm địa chỉ phần cứng vào trờng SENDER HADDR, và chuyển giá trị trờng OPERATION thành 2. Do vậy, có một ranh giới khái niệm quan trọng ẩn chứa giữa lớp mạch nối ghép và các lớp cao hơn: các ứng dụng cũng nh là phần mềm giao thức lớp cao hơn đợc xây dựng chỉ sử dụng địa chỉ giao thức. Giống nh frame header dùng trong mạng vật lý, một datagram header biểu diễn toàn bộ – trong khi nó chiếm các byte header truyền tin, một mạng không thể truyền đi một dữ liệu của ngời sử dụng.

    Các địa chỉ trong trong datagram header khác với các địa chỉ sử dụng trong frame header – một datagram có chứa các địa chỉ IP, trong khi một frame có chứa địa chỉ phần cứng. Cùng với việc đa ra định dạng của một datagram cho liên mạng, giao thức liên mạng cũng đa ra ngữ nghĩa của sự truyền thông, và dùng thuật ngữ nỗ lực hết sức (best-effort) để chỉ một dịch vụ mà nó đa ra.

    Bảng định tuyến có các dòng và mỗi dòng gồm có đích và máy tiếp dùng để đến đợc
    Bảng định tuyến có các dòng và mỗi dòng gồm có đích và máy tiếp dùng để đến đợc

    DESTINATION IP ADDRESS

      Trờng SERVICE TYPE có chứa giá trị để chỉ ra datagram truyền qua mạng với độ trễ nhỏ nhất hay là với thông lợng lớn nhất; một router biết nhiều định tuyến để đến đích và dùng giá trị này để chọn lựa các định tuyến. Trờng TIME TO LIVE để ngăn không cho datagram truyền vô tận trong mạng khi nó rơi vào đờng vòng lặp; các đờng dẫn đó có thể xuất hiện khi phần mềm bị hoạt động sai hoặc khi việc cấu hình nhầm định tuyến. Bởi vì chiều dài của header đợc xác định bằng bội số của 32 bit, nếu chọn lựa không kết thúc đúng giá trị là 32 bit, PADDING chứa các bit 0 thêm vào header để đảm bảo là bội của 32 bit.

      Hơn nữa,bởi vì một liên mạng gồm có nhiều mạng vật lý không đồng bộ nên định dạng của khung tin truyền qua mạng này khác so với định dạng của frame truyền qua mạng trớc đó. Kết quả của đo thời gian để tái hợp của IP là tất cả hoặc không có gì: hoặc tất cả các phân đoạn đến và sự tái hợp thành datagram thành công, hoặc IP sẽ huỷ bỏ toàn bộ các phân đoạn nhận đợc. Hơn nữa, nếu máy gửi tiến hành truyền lại datagram đó, việc định tuyến cũng có thể khác điều đó có nghĩa là sự truyền lại không cần thiết phải truyền qua đúng định tuyến trớc.

      Cuối cùng, Ipv6 dùng một dãy các header có chiều dài cố định để thực hiện các thông tin chọn lựa thay vì một header với trờng tuỳ chọn chiều dài thay đổi của phiên bản trớc.

      Hình 17.minh hoạ một IP Datagram đợc đóng gói trong một frame phần cứng. Toàn bộ  datagram nằm trong phần dữ liệu của frame.
      Hình 17.minh hoạ một IP Datagram đợc đóng gói trong một frame phần cứng. Toàn bộ datagram nằm trong phần dữ liệu của frame.

      32Base Header

        Do vậy, các máy trạm cần thiết chọn lựa một kích thớc cho datagram mà không phải phân mảnh; các router dọc theo đờng truyền nhận đợc một datagram lớn sẽ không thực hiện phân mảnh datagram đó. Nếu ngời sử dụng từ một vị trí khác gửi một datagram đến địa chỉ cluster, Ipv6 có thể chọn lựa để định tuyến datagram đến các thành viên khác nhau thuộc cluster cho phép cả hai máy tính có thể xử lý các yêu cầu đồng thời. TCP đạt đợc một nhiệm vụ mà dờng nh không thể làm đợc đó là nó sử dụng dịch vụ datagram không tin cậy đa ra bởi IP khi truyền dữ liệu đến máy tính khác, nhng cung cấp một dịch vụ truyền dữ liệu đáng tin cậy đến các chơng trình ứng dụng.

        Bởi vì bất kỳ thông điệp nào cũng có thể bị mất, trùng lặp, trễ hoặc truyền sai thứ tự, các thông điệp từ lần kết nối thứ nhất có thể bị trựng lặp và bị trễ khỏ lõu đến khi lần kết nối thứ hai đợc thiết lập. Bởi vì TCP cho phép nhiều chơng trinh ứng dụng giao tiếp với nhiều đích đồng thời và bởi vì các điều kiện về c- ờng độ trên mạng ảnh hởng đễn độ trễ, nên TCP phải thực hiện các độ trễ khác nhau mà có thể thay đổi nhanh chóng. Bởi vì mỗi kết nối mới nhận một dãy giá trị ngẫu nhiên mới nên một cặp ứng dụng có thể dùng TCP để giao tiếp, đóng kết nối và sau đó thiết lập một kết nối mới mà không bị các gói tin trùng lặp hoặc trễ.

        Nếu ứng dụng tại mỗi bên cùng truyền dữ liệu đồng thời, TCP có thể gửi một phân đoạn có chứa acknowledgement cho dữ liệu đến, một thông báo cửa sổ chỉ ra lợng cùgn đệm còn trống cho dữ liệu đến và dữ liệu đi.

        Hình 25 phần header tuỳ chọn mở rộng Ipv6. Bởi vì kích thớc của phần header tuỳ
        Hình 25 phần header tuỳ chọn mở rộng Ipv6. Bởi vì kích thớc của phần header tuỳ

        Môc lôc

        Khi một máy tính gửi đi một phân đoạn, trờng ACKNOWLEDGEMENT NUMBER và trờng WINDOW chỉ dữ liệu truyền đến: trờng ACK NUMBER chỉ ra số thứ tự của dữ. Chuẩn IP quy định mỗi host đợc thiết lập một số 32 bit duy nhất gọi là địa chỉ giao thức liên mạng của host, hay thờng đợc viết tắt là địa chỉ IP hoặc địa chỉ internet. Mỗi khi một nhóm multicast đợc thiết lập, một bản sao của bất kỳ gói tin nào chuyên đến địa chỉ multicast đều đợc chuyển đến tất cả các máy trạm thuéc nhãm multicast..6.

        Thay vì việc phải thực hiện từng chơng trình trên các máy khác nhau, ngời lập trình có thể chạy cả hai chơng trình trên một máy tính và chỉ dẫn chúng thực hiện địa chỉ IP lặp quay lại khi kết nối. Do vậy, ngời lập trình có thể kiểm tra chơng trình ứng dụng của mình một cách nhanh chóng không cần chạy trên hai máy tính và không cần truyền các gói tin qua mạng..11.