Định dạng thông điệp ARP trong giao thức TCPIP

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.

Giới thiệu chung

Tuy nhiên, IP không ngăn cấm việc sử dụng cùng một giá trị địa chỉ phần sau cho tất cả các kết nối. Trong thực tế sử dụng cùng một giá trị phần sau có thể giúp cho việc quản lý liên mạng bởi dùng cùng một giá trị số sẽ dễ dàng nhớ đ- ợc.

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

Tóm lại: mặc dù định dạng thông điệp ARP là khá linh hoạt cho phép các địa chỉ IP và phần cứng bất kỳ. ARP luôn luôn sử dụng gắn kết địa chỉ IP 32 bit với địa chỉ Ethernet 48 bit. 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.

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. 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ộ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

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. Toàn bộ thông điệp ARP đợc đặt trong vùng dữ liệu của frame; phần cứng mạng không dịch cũng nh không thay đổi gì nội dung của thông điệp.

FRAME HEADER

    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. Ví dụ, một ứng dụng truyền đi sự bấm phím qua mạng cú thể đặt mỗi sự gừ phớm trong một datagram, trong khi một ứng dụng truyền một file lớn có thể gửi đi một datagram lớn. 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.

    Bởi vì kích thớc của datagram header là cố định, nên gửi đi các datagram lớn kết quả là nhiều byte dữ liệu hơn đợc truyền đi trên một đơn vị thời gian (thông lợng lớn hơn). 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. Để làm điều này, phần mềm xem xét mỗi dòng trong bảng bằng việc sử dụng mặt nạ trong mỗi dòng để tìm ra phần đầu địa chỉ D và so sánh kết quả với trờng đích trong mỗi dò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. 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ả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

      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. Do vậy, phân đoạn cuối cùng có thể nhoe hơn các phân đoạn khác bởi vì nó chứa phần dữ liệu còn lại sau khi đã chia thành các phần có kích thớc bằng giá trị MTU từ datagram gốc. 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 đó.

      Một datagram gửi đến địa chỉ này sẽ đợc định tuyến theo đờng đi ngắn nhất và sau đó đợc truyền đến chính xác một trong tất cả các máy tính đó (ví dụ là máy tính gần máy gửi nhất). 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. 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. Trớc khi TCP đợc phát minh, giao thức truyền thông dùng giá trị độ trễ cố định để truyền lại – ngời thiết kế giao thức hoặc quản lý mạng chọn lựa một giá trị đủ lớn cho độ trễ mong chờ. Để hiểu mà sự truyền lại thích nghi giúp cho TCP đạt đợc thông lợng cực đại trên mỗi kết nối, hãy xem xét một trờng hợp bị mất gói tin trong hai kết nối mà có độ trễ khứ hồi khác nhau.

      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 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.

      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ữ. Trờng DESTINATION PORT xác định chơng trình ứng dụng nào trên máy nhận sẽ nhận dữ liệu này, ngợc lại trờng SOURCE PORT xác nhận ứng dụng nào gửi dữ. 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.

      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. Không may là địa chỉ giao thức không thể đợc sử dụng để truyền các frame qua phần cứng mạng vật lý bởi nó không hiểu đợc địa chỉ IP.

      Thay vào đó, frame gửi qua mạng vật lý phải sử dụng định dang frame của phần cứng và tất cả địa chỉ trong frame đều là địa chỉ vật lý. Kết quả là, địa chỉ giao thức của máy tiếp sẽ đ- ợc chuyển thành địa chỉ vật lý tơng ứng trớc khi frame đợc truyền đi..14. Cũng giống nh Ipv4, Ipv6 chia địa chỉ thành 2 phần là phần đầu để xác nhận thuộc mạng nào và phần cuối để xác định máy tính cụ thể trên mạng đó..34.