Tầng Internet (Internet Layer)

Một phần của tài liệu Điều khiển và giám sát vườn thông minh qua mạng internet (Trang 52 - 56)

Nằm bên trên tầng truy nhập mạng. Tầng này có chức năng gán địa chỉ, đóng gói và định tuyến (Route) dữ liệu. 4 giao thức quan trọng nhất trong tầng này gồm:

- IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền và định tuyến chúng tới đích.

- ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của máy đích thành địa chỉ MAC.

- ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi trong trường hợp truyền dữ liệu bị hỏng.

- IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền đa hướng (Multicast) .

33 Cấu trúc của gói IP:

Hình 2.23: Cấu trúc gói tin IP.

Ý nghĩa:

- Version (có chiều dài 4 bit): cho biết phiên bản của giao thức, đối với trường hợp của chúng ta, giao thức là IP version 4, trường này sẽ luôn có giá trị là 4 (0100).

- Header Length (4 bit): cho biết chiều dài của header IP, tính theo đơn vị 4 byte (32 bit).

- TOS (8 bit): Type of Service.

- Total Length (16 bit): 16 bit tổng chiều dài của gói IP gồm cả phần header. - Identification (16 bit): dùng nhận diện các phân đoạn của gói IP.

- Flags:

Bit đầu tiênkhông sử dụng.

- Bit 2: DF (Don’t Fragment) = 1 có nghĩa là không phân đoạn gói này. - Bit 3: MF (More Fragment) = 0 => đây là phân đoạn cuối cùng.

- Fragmented offset (13 bit): độ dời (đơn vị 8 byte) tính từ điểm bắt đầu của Header tới điểm bắt đầu của phân đoạn

34

- TTL (Time to Live) (8 bit): thời gian tồn tại trên mạng hoặc số chặng trên mạng mà gói đi qua trước khi bị hủy bỏ.

- Protocol (8 bit): nhận diện Protocol trên lớp IP. - Header checksum (16 bit): sửa sai cho phần Header. - Các vùng địa chỉ nguồn, địa chỉ đích: địa chỉ IP 32 bit.

- Option: các tùy chọn dùng cho việc kiểm tra: Loose source routing, Strict source routing, Record route và Timestamp.

- Padding: Gồm các số zero được thêm vào sao cho chiều dài của vùng Header là bội số của 32 bit.

Cách thức mà dữ liệu được gửi qua giao thức IP được tiến hành như sau:

- Khi nhận được một segment dữ liệu (từ giao thức lớp trên là TCP) cần gửi đến đích nào đó, địa chỉ đích này phải được xác định bằng địa chỉ IP (tức là địa chỉ mạng hay địa chỉ luận lý). Lớp giao thức IP sẽ gắn thêm vào đầu segment dữ liệu một header IP để tạo thành gói IP hoàn chỉnh. Trong header IP này có chứa 2 thông tin quan trọng, đó là địa chỉ host gửi (source IP address) và địa chỉ host nhận (destination IP address). Địa chỉ source đương nhiên là địa chỉ của bản thân nó, còn địa chỉ đích phải được cung cấp cho lớp IP khi muốn gửi dữ liệu qua giao thức này.

- Gói tin IP này sau đó được chuyển đến lớp giao thức ethernet để thêm phần header ethernet vào và gửi đi.

Nhưng giao thức ethernet lại gửi các khung dữ liệu đi dựa vào một loại địa chỉ khác là địa chỉ MAC (hay còn gọi là địa chỉ vật lý). Tại sao lại cần đến 2 địa chỉ như vậy? Lý do là địa chỉ vật lý chỉ có giá trị trong phạm vi mạng LAN, nó sẽ không thể giúp xác định vị trí host ở bên ngoài phạm vi mạng LAN. Khi gửi dữ liệu ra ngoài mạng LAN, các router sẽ chuyển dữ liệu đi dựa và địa chỉ IP. Như vậy trong phần địa chỉ MAC nguồn và địa chỉ MAC đích trong header của khung ethernet, ta sẽ điền các địa chỉ nào? Đối với địa chỉ MAC nguồn, đương nhiên ta sẽ điền địa chỉ MAC của chính ENC28J60 đã được xác lập. Nhưng còn địa chỉ MAC đích, sẽ có 2 trường hợp xảy ra:

35

- Nếu host đích nằm trong cùng 1 mạng LAN với chúng ta, ta sẽ điền địa chỉ MAC đích là địa chỉ tương ứng của host đích. Frame dữ liệu sẽ được gửi thẳng đến đích.

- Nếu host đích nằm bên ngoài mạng LAN, rõ ràng ta không thể gửi dữ liệu trực tiếp đến host đích mà phải thông qua gateway, khi đó địa chỉ MAC đích phải là địa chỉ gateway.

Vẫn còn một vấn đề nữa mà ta phải giải quyết. Đó là trong cả hai trường hợp trên, dù là cần gửi cho gateway hay thẳng đến host đích, thì đến đây, ta mới chỉ biết địa chỉ IP của host đích (hay của gateway) mà không biết địa chỉ MAC tương ứng. Vậy nảy sinh một vấn đề là làm sao biết được địa chỉ MAC của một host khi biết địa chỉ IP?

Đến đây, chính là phát sinh vai trò của giao thức phân giải địa chỉ (APR – Address Resolution Protocol). Vai trò của giao thức này là tìm ra địa chỉ MAC khi biết địa chỉ IP của 1 host.

Cấu trúc gói ARP:

Hình 2.24: Cấu trúc gói tin ARP.

Ý nghĩa:

- Hardware type (2 bytes): cho biết loại địa chỉ phần cứng, đối với địa chỉ MAC của giao thức ethernet thì giá trị này được qui định là "0x0001".

- Protocol type (2 bytes): cho biết loại địa chỉ giao thức lớp trên, đối với địa chỉ IP, giá trị này được qui định là “0x0800”.

- HLEN (1 byte): cho biết chiều dài của địa chỉ vật lý (địa chỉ MAC). - PLEN (1 byte): cho biết chiều dài của địa chỉ giao thức (địa chỉ IP).

36

- Operation (2 bytes): cho biết hoạt động đang thực hiện trong gói tin này (request hay reply).

- Sender H/W (hardware address, 6 bytes): địa chỉ vật lý của phía gửi. - Sender IP (4 bytes): địa chỉ IP của phía gửi.

- Target H/W (6 bytes): địa chỉ vật lý của phía nhận, nếu chưa biết thì sẽ là chứa toàn 0.

- Target IP (4 bytes): địa chỉ IP của phía nhận.

Cách thức mà dữ liệu được gửi qua giao thức ARP được tiến hành như sau:

- Khi giao thức IP đưa xuống yêu cầu tìm chỉ MAC của host có IP là a.b.c.d thì nó phải trả lời ngay địa chỉ MAC của địa chỉ trên dạng XX:XX:XX:XX:XX:XX.

- Cách thức ARP lấy thông tin giải quyết vấn đề trên là: giao thức ARP duy trì một bảng gọi là ARP cache gồm hai cột, một cột ghi địa chỉ IP, một cột ghi địa chỉ MAC tương ứng với địa chỉ IP đó. Mỗi khi được hỏi bởi giao thức IP, nó sẽ tra bảng này để tìm câu trả lời. Khi được hỏi về một địa chỉ IP a.b.c.d nào đó mà không có sẵn trong bảng ARP cache, nó sẽ lập tức tìm trong mạng LAN phần tử có địa chỉ IP là a.b.c.d bằng cách gửi yêu cầu tới các phần tử trong mạng LAN. Các phần tử này đều nhận được yêu cầu và phần tử nào có IP a.b.c.d sẽ trả lời lại địa chỉ MAC của nó là XX:XX:XX:XX:XX:XX. Vậy giao thức ARP sẽ lập tức thêm cặp địa chỉ IP a.b.c.d và địa chỉ MAC XX:XX:XX:XX:XX:XX vào trong bảng ARP cache và trả lời lại cho giao thức IP.

Một phần của tài liệu Điều khiển và giám sát vườn thông minh qua mạng internet (Trang 52 - 56)