TCN68-224:2004

Tiêu chuần ngành TCN68-224:2004 về giao thức kết nối giữa mạng GSM GPRS và mạng Internet (giao thức IP) - Yêu cầu kỹ thuật do Bộ Bưu chính Viễn thông ban hành TIỂU CHUẨN NGÀNH TCN 68 - 224: 2004 GIAO THỨC KẾT NỐI GIỮA MẠNG GSM GPRS VÀ MẠNG INTERNET (GIAO THỨC IP) YÊU CầU KỸ THUẬT Interconnecting protocol between gsm gprs network And internet (ip protocol) Technical requirements MỤC LỤC Lời nói đầu ............................................................................................................................ 1. Mục tiêu và phạm vi ............................................................................................................ 1.1. Mục tiêu............................................................................................................................ 1.2. Phạm vi............................................................................................................................. 2. Tài liệu tham khảo ............................................................................................................... 3. Thuật ngữ .......................................................................................................................... 4. Yêu cầu kỹ thuật................................................................................................................... 4.1. Yêu cầu chung................................................................................................................... 4.2. Yêu cầu kỹ thuật Phụ lục A: Các ví dụ và kịch bản ............................................................................................ Phụ lục B: Thứ tự truyền dữ liệu ............................................................................................. Phụ lục C: Ví dụ về giao diện mức trên .................................................................................. LỜI NÓI ĐẦU Tiêu chuẩn Ngành TCN 68 - 224: 2004 “Giao thức kết nối giữa mạng GSM GPRS và mạng Internet (Giao thức IP) – Yêu cầu kỹ thuật” được xây dựng trên cơ sở chấp thuận nguyên vẹn các yêu cầu kỹ thuật của tài liệu IETF RFC 791 (1981) của Nhóm đặc trách về kỹ thuật Internet (IETF). Tiêu chuẩn Ngành TCN 68 - 224: 2004 do Viện Khoa học Kỹ thuật Bưu điện (RIPT) biên soạn theo đề nghị của Vụ Khoa học - Công nghệ và được ban hành theo Quyết định số 33/2004/QĐ-BBCVT ngày 29/7/2004 của Bộ trưởng Bộ Bưu chính, Viễn thông. Tiêu chuẩn Ngành TCN 68 - 224: 2004 được ban hành dưới dạng song ngữ (tiếng Việt và tiếng Anh). Trong trường hợp có tranh chấp về cách hiểu do biên dịch, bản tiếng Việt được áp dụng. GIAO THỨC KẾT NỐI GIỮA MẠNG GSM GPRS VÀ MẬNG INTERNET (GIAO THỨC IP) YÊU CẦU KỸ THUẬT (Ban hành kèm theo Quyết định số 33/2004/QĐ-BBCVT ngày 29/7/2004 của Bộ trưởng Bộ Bưu chính, Viễn thông) 1. Mục tiêu và phạm vi 1.1. Mục tiêu Tiêu chuẩn này quy định những yêu cầu kỹ thuật thiết yếu đối với giao thức kết nối giữa các mạng GSM GPRS và mạng Internet (giao thức internet – IP), nhằm đảm bảo khả năng kết nối, phối hợp hoạt động hiệu quả giữa các mạng GSM GPRS và mạng Internet, phục vụ công tác quản lý kết nối mạng của các doanh nghiệp. Giao thức internet được thiết kế để dùng trong các hệ thống liên kết của các mạng truyền thông máy tính chuyển mạch gói. Một hệ thống như thế được gọi là một “catenet”. Giao thức internet giúp cho việc truyền các khối dữ liệu, được gọi là các gói tin, từ các nguồn đến các đích, trong đó các nguồn và các đích là các máy chủ được nhận dạng theo các địa chỉ có độ dài cố định. Giao thức internet cũng cho phép phân đoạn và tái lắp ráp các gói tin dài, nếu cần thiết, để truyền qua các mạng “gói nhỏ”. 1.2. Phạm vi Giao thức internet được giới hạn cụ thể trong phạm vi cung cấp các chức năng cần thiết cho việc phân phát một gói các bit (một gói tin internet) từ một nguồn tới một đích trên một hệ thống liên kết các mạng. Không có các cơ chế làm tăng độ tin cậy của dữ liệu đầu cuối - đầu cuối, điều khiển luồng, sắp xếp theo trình tự, hoặc các dịch vụ khác thường thấy trong các giao thức máy chủ - máy chủ. Giao thức internet có thể sử dụng các dịch vụ của các mạng đang hỗ trợ nó để cung cấp nhiều loại dịch vụ và nhiều chất lượng dịch vụ khác nhau. 2. Tài liệu tham khảo [1] ETSI TS 101 348 V7.3.0 (3/2001), “Digital cellular telecommunications system (phase 2+); General Packet Radio Service (GPRS); Interwoking between the Public Land Mobile Network (PLMN) supporting GPRS and Packet Data Networks (PDN) (3GPP TS 09.61 version 7.3.0 Release 1998)”. [2] IETF RFC 791 (1981): “Internet protocol” (STD5). 3. Thuật ngữ 1822 Báo cáo BBN 1822, “Đặc tả về tính liên kết của một máy chủ và một IMP”. Đặc tả về giao diện giữa một máy chủ và ARPANET. Mào đầu ARPANET Thông tin điều khiển trong một bản tin của mạng ARPANET tại giao diện máy chủ - IMP. Bản tin của mạng ARPANET Đơn vị truyền giữa một máy chủ và một IMP trong mạng ARPANET. Kích cỡ tối đa là khoảng 1012 octet (8096 bit). Gói ARPANET Một đơn vị truyền được sử dụng bên trong mạng ARPANET giữa các IMP. Kích cỡ tối đa là khoảng 126 octet (1008 bit). Đích Địa chỉ đích, một trường của phần mào đầu internet. DF Bit không phân đoạn được mang trong trường các cờ. Các cờ Một trường của phần mào đầu internet mang nhiều loại cờ điều khiển. Độ dịch đoạn Một trường của phần mào đầu internet cho biết một đoạn ở chỗ nào trong gói tin internet. GGP Giao thức Cổng - Cổng, giao thức được sử dụng chủ yếu giữa các cổng để điều khiển việc định tuyến và các chức năng cổng khác. Phần mào đầu Thông tin điều khiển ở phần đầu của một bản tin, đoạn, gói tin, gói hoặc khối dữ liệu. ICMP Giao thức bản tin điều khiển internet, được thực thi trong mô-đun internet, ICMP được sử dụng từ các cổng tới các máy chủ và giữa các máy chủ để thông báo các lỗi và đưa ra các đề xuất định tuyến. Nhận dạng Một trường của phần mào đầu internet mang giá trị nhận dạng do bên gửi gán để trợ giúp việc lắp ráp các đoạn của một gói tin. IHL Trường Độ dài của phần mào đầu internet trong phần mào đầu internet cho biết độ dài của phần mào đầu internet được tính theo đơn vị từ 32 bit. IMP Bộ xử lý bản tin của giao diện, bộ chuyển gói của mạng ARPANET. Địa chỉ Internet Một địa chỉ đích hoặc nguồn 4 octet (32 bit) gồm có một trường mạng và một trường địa chỉ cục bộ. Gói tin internet Đơn vị dữ liệu được trao đổi giữa một cặp mô-đun internet (bao gồm cả phần mào đầu internet). Đoạn internet Một phần dữ liệu của một gói tin internet với một phần mào đầu internet. Địa chỉ cục bộ Địa chỉ của một máy chủ trong phạm vi một mạng. Việc ánh xạ trên thực tế một địa chỉ cục bộ internet lên các địa chỉ máy chủ trong một mạng là hoàn toàn phổ biến, kể cả các ánh xạ nhiều địa chỉ cục bộ vào một địa chỉ máy chủ. MF Cờ chỉ báo còn đoạn được mang trong trường các cờ của phần mào đầu internet. Mô-đun Một sự thực thi một giao thức hoặc các thủ tục khác, thường là bằng phần mềm. Cờ chỉ báo còn đoạn Một cờ, được mang trong trường các cờ của phần mào đầu internet, cho biết gói tin internet này có chứa phần cuối của một gói tin internet hay không. NFB Số các khối dữ liệu của một đoạn internet. Tức là, độ dài của một phần dữ liệu được đo theo đơn vị là 8 octet. Octet Một byte 8 bit. Các tùy chọn Trường Các tùy chọn của phần mào đầu internet có thể bao gồm vài tùy chọn, và mỗi tùy chọn có thể có chiều dài là một vài octet. Đệm Trường Đệm của phần mào đầu internet được sử dụng để đảm bảo rằng dữ liệu bắt đầu trên biên từ 32 bit. Đệm bằng 0. Giao thức Ký hiệu nhận dạng giao thức mức cao hơn kế tiếp, một trường của phần mào đầu internet. Phần còn lại Phần địa chỉ cục bộ của một địa chỉ internet. Nguồn Địa chỉ nguồn, một trường của phần mào đầu internet. TCP Giao thức điều khiển truyền tải: Một giao thức máy chủ - máy chủ cho sự truyền thông tin cậy trong các môi trường internet. Đoạn TCP Đơn vị dữ liệu được trao đổi giữa các mô-đun TCP (bao gồm cả phần mào đầu TCP). TFTP Giao thức chuyển tệp bình thường: Một giao thức chuyển tệp đơn giản dựa vào UDP. Thời gian sống Một trường của phần mào đầu internet cho biết giới hạn trên về thời gian mà gói tin internet này có thể tồn tại. TOS Loại dịch vụ. Độ dài tổng Trường Độ dài tổng của phần mào đầu internet cho biết độ dài của gói tin tính theo octet bao gồm cả dữ liệu và phần mào đầu internet. TTL Thời gian sống. Loại dịch vụ Một trường của phần mào đầu internet cho biết loại (hoặc chất lượng) của dịch vụ đối với gói tin internet này. UDP Giao thức gói tin người dùng: Một giao thức mức người dùng cho các ứng dụng hướng giao dịch. Người dùng Người dùng giao thức internet. Người dùng này có thể là một mô-đun giao thức mức cao hơn, một chương trình ứng dụng, hoặc một chương trình cổng. Phiên bản Trường Phiên bản cho biết khuôn dạng của phần mào đầu internet. 4. Yêu cầu kỹ thuật 4.1. Yêu cầu chung 4.1.1 Các giao diện Giao thức internet được các giao thức máy chủ - máy chủ yêu cầu trong một môi trường internet. Giao thức này yêu cầu các giao thức mạng cục bộ truyền gói tin internet đến cổng kế tiếp hoặc đến máy chủ đích. Ví dụ, một mô-đun TCP sẽ yêu cầu mô-đun internet lấy một đoạn TCP (bao gồm cả phần mào đầu TCP và dữ liệu người dùng) làm phần dữ liệu của một gói tin internet. Mô-đun TCP sẽ cung cấp các địa chỉ và các tham số khác trong phần mào đầu internet cho mô-đun internet thông qua các đối số của lệnh. Khi đó, mô-đun internet sẽ tạo ra một gói tin internet và yêu cầu giao diện mạng cục bộ truyền gói tin internet. Ví dụ trong trường hợp ARPANET, mô-đun internet sẽ yêu cầu một mô-đun mạng cục bộ bổ sung bản ghi đầu nhóm 1822 vào gói tin internet nhằm tạo ra một bản tin của mạng ARPANET để truyền tới IMP. Địa chỉ của mạng ARPANET sẽ được suy ra từ địa chỉ internet theo giao diện mạng cục bộ và sẽ là địa chỉ của máy chủ nào đó trong mạng ARPANET, máy chủ đó có thể là một cổng đối với các mạng khác. 4.1.2 Hoạt động Giao thức internet thực hiện hai chức năng cơ sở: lập địa chỉ và phân đoạn. Các mô-đun internet sử dụng các địa chỉ được tải trong phần mào đầu internet để truyền các gói tin internet về các đích của chúng. Việc lựa chọn một đường truyền tải được gọi là định tuyến. Mô-đun internet sử dụng các trường trong phần mào đầu internet để phân đoạn và tái lắp ráp các gói tin internet để truyền qua các mạng “gói nhỏ” khi cần thiết. Mô hình hoạt động là một mô-đun internet lưu trú trong mỗi máy chủ tham gia vào quá trình truyền thông internet và trong mỗi cổng liên kết các mạng. Các mô-đun này dùng các qui tắc chung để diễn giải các trường địa chỉ và để phân đoạn và lắp ráp các gói tin internet. Ngoài ra, các mô-đun này (đặc biệt là các mô-đun internet lưu trú trong các cổng) có các thủ tục quyết định việc định tuyến và các chức năng khác. Giao thức internet coi mỗi gói tin internet như một thực thể độc lập không liên quan với bất cứ gói tin internet nào khác. Không có các kết nối hoặc các kênh logic (ảo hoặc khác). Giao thức internet sử dụng 4 cơ chế chủ yếu trong quá trình cung cấp dịch vụ của nó: Loại dịch vụ, thời gian sống, các tùy chọn, và kiểm tra tổng phần mào đầu. Loại dịch vụ được sử dụng để biểu thị chất lượng dịch vụ mong muốn. Loại dịch vụ là một tập hợp trừu tượng hoặc tổng quát hóa của các tham số đặc trưng cho các lựa chọn dịch vụ được cung cấp trong các mạng cấu thành internet. Các cổng sử dụng chỉ dẫn về loại dịch vụ này để lựa chọn các tham số truyền thực cho một mạng cụ thể (mạng được sử dụng cho chặng kế tiếp, hoặc cổng kế tiếp khi định tuyến một gói tin internet). Thời gian sống là một chỉ dẫn về một giới hạn trên của thời gian tồn tại của một gói tin internet. Thời gian sống được thiết lập bởi bên gửi gói tin và bị giảm dọc theo tuyến tại các điểm nó bị xử lý. Nếu thời gian sống bằng 0 trước khi gói tin internet đến đích, thì gói tin internet bị loại bỏ. Thời gian sống có thể được coi như một giới hạn của thời gian tự loại bỏ. Các tùy chọn cung cấp các chức năng điều khiển cần thiết hoặc hữu ích trong một số tình huống nhưng lại không cần thiết trong phần lớn những quá trình truyền thông thông thường. Các tùy chọn bao gồm những dàn xếp về nhãn thời gian, bảo mật và định tuyến đặc biệt. Kiểm tra tổng phần mào đầu cho phép kiểm tra thông tin sử dụng trong gói tin internet đang xử lý có được truyền đúng hay không. Dữ liệu này có thể chứa các lỗi. Nếu kiểm tra tổng phần mào đầu sai, gói tin internet lập tức bị loại bỏ bởi thực thể đã phát hiện ra lỗi. Giao thức internet không cung cấp một phương tiện truyền thông tin cậy: không có các báo nhận đầu cuối - đầu cuối hay báo nhận theo chặng; không có kiểm soát lỗi cho dữ liệu, mà chỉ có kiểm tra tổng phần mào đầu; không có phát lại; không có điều khiển luồng. Các lỗi được phát hiện có thể được thông báo qua Giao thức bản tin điều khiển Internet (ICMP), giao thức này được thực thi trong mô-đun giao thức internet. 4.1.3 Mối tương quan với các giao thức khác Sơ đồ sau đây minh họa vị trí của giao thức Internet trong phân cấp của giao thức: Hình 1: Mối tương quan của giao thức Giao thức Internet một phía có giao diện với các giao thức máy chủ - máy chủ ở mức cao hơn và phía kia có giao diện với giao thức mạng cục bộ. Trong ngữ cảnh này, một “mạng cục bộ” có thể là một mạng nhỏ trong một tòa nhà hoặc một mạng lớn như mạng ARPANET. 4.1.4 Mô hình hoạt động Mô hình hoạt động để truyền một gói tin từ một chương trình ứng dụng đến một chương trình ứng dụng khác được minh họa theo kịch bản sau đây: Chúng ta giả định rằng việc truyền gói tin này sẽ phải qua một cổng trung gian. Chương trình ứng dụng ở bên gửi chuẩn bị dữ liệu của nó và yêu cầu mô-đun internet cục bộ của nó gửi dữ liệu đó như một gói tin và truyền địa chỉ đích và các tham số khác thông qua các đối số của lệnh. Mô-đun internet chuẩn bị một phần mào đầu của gói tin và gắn dữ liệu với nó. Mô-đun internet xác định một địa chỉ mạng cục bộ cho địa chỉ internet này, trong trường hợp này là địa chỉ của một cổng. Mô-đun internet gửi gói tin này và địa chỉ mạng cục bộ đến giao diện mạng cục bộ. Giao diện mạng cục bộ tạo ra một phần mào đầu của mạng cục bộ và gắn gói tin với nó, sau đó gửi kết quả qua mạng cục bộ. Gói tin tới một máy chủ cổng được bao bọc trong phần mào đầu của mạng cục bộ, giao diện của mạng cục bộ tước bỏ phần mào đầu này và chuyển giao gói tin cho mô-đun internet. Dựa vào địa chỉ internet, mô-đun internet xác định gói tin cần được chuyển tiếp đến máy chủ khác trong một mạng thứ hai. Mô-đun internet xác định một địa chỉ mạng cục bộ cho máy chủ đích. Nó yêu cầu giao diện mạng cục bộ với mạng thứ hai này để gửi gói tin đi. Giao diện mạng cục bộ này tạo ra một phần mào đầu của mạng cục bộ và gắn gói tin vào rồi gửi kết quả đến máy chủ đích. Tại máy chủ đích này, gói tin bị giao diện mạng cục bộ tước bỏ phần mào đầu mạng cục bộ và chuyển giao cho mô-đun internet. Mô-đun internet xác định rằng gói tin dành cho một chương trình ứng dụng trong máy chủ này. Nó chuyển dữ liệu đến chương trình ứng dụng để đáp ứng một lệnh hệ thống, chuyển địa chỉ nguồn và các tham số khác như là các kết quả của lệnh này. Hình 2: Đường truyền tải 4.1.5 Mô tả chức năng Chức năng hay mục đích của Giao thức Internet là di chuyển các gói tin qua một tập hợp các mạng liên kết với nhau. Việc này được thực hiện bằng cách chuyển gói tin từ mô-đun internet này đến mô-đun internet khác cho đến khi tới đích. Các mô-đun internet lưu trú trong các máy chủ và các cổng trong hệ thống internet. Các gói tin được định tuyến từ một mô-đun internet đến mô-đun internet khác qua các mạng riêng biệt dựa vào sự diễn giải một địa chỉ internet. Do đó, một bộ phận quan trọng của giao thức internet là địa chỉ internet. Trong việc định tuyến các bản tin từ mô-đun internet này đến mô-đun internet khác, các gói tin có thể cần đi ngang qua một mạng mà kích thước gói tối đa của mạng này nhỏ hơn kích thước của gói tin. Để khắc phục khó khăn này, một cơ chế phân đoạn được cung cấp trong giao thức internet. 4.1.5.1 Lập địa chỉ Có điểm khác biệt giữa tên, địa chỉ và tuyến. Tên cho biết đối tượng tìm kiếm. Địa chỉ cho biết vị trí. Tuyến cho biết làm thế nào để đến đó. Giao thức internet chủ yếu làm việc với các địa chỉ. Các giao thức ở mức cao hơn (tức là máy chủ-máy chủ hoặc ứng dụng) có nhiệm vụ thực hiện phép ánh xạ từ tên sang địa chỉ. Mô-đun internet ánh xạ các địa chỉ internet lên các địa chỉ mạng cục bộ. Các thủ tục ở mức thấp hơn (tức là mạng cục bộ hoặc các cổng) có nhiệm vụ thực hiện phép ánh xạ từ các địa chỉ mạng cục bộ lên các tuyến. Các địa chỉ có độ dài cố định là 4 octet (32 bit). Một địa chỉ bắt đầu bằng phần mạng, tiếp theo là phần địa chỉ cục bộ (được gọi là “phần còn lại”). Có 3 khuôn dạng hay phân lớp địa chỉ internet: ở phân lớp địa chỉ A, bit bậc cao là 0, 7 bit kế tiếp chỉ thị phần mạng và 24 bit cuối cùng chỉ thị phần địa chỉ cục bộ; ở phân lớp địa chỉ B, 2 bit bậc cao là 1-0, 14 bit kế tiếp chỉ thị phần mạng và 16 bit cuối cùng chỉ thị phần địa chỉ cục bộ; ở phân lớp địa chỉ C, 3 bit bậc cao là 1-1-0, 21 bit kế tiếp chỉ thị phần mạng và 8 bit cuối cùng là chỉ thị phần địa chỉ cục bộ. Phải thận trọng trong phép ánh xạ các địa chỉ internet vào các địa chỉ mạng cục bộ; một máy chủ vật lý đơn phải có khả năng phục vụ như thể nó là vài máy chủ khác biệt xét về khía cạnh sử dụng một vài địa chỉ internet khác biệt. Một số máy chủ cũng sẽ có vài giao diện vật lý (multi-homing). Như vậy phải dự phòng cho một máy chủ có vài giao diện vật lý với mạng, mỗi giao diện vật lý có vài địa chỉ internet logic. 4.1.5.2 Phân đoạn Việc phân đoạn một gói tin internet là cần thiết khi gói tin internet khởi phát trong một mạng cục bộ cho phép một kích cỡ gói lớn và phải đi ngang qua một mạng cục bộ hạn chế các gói vào ở một kích cỡ nhỏ hơn để đến đích của nó. Một gói tin internet có thể được đánh dấu “không phân đoạn”. Bất cứ gói tin internet nào được đánh dấu như vậy sẽ không bị phân đoạn internet trong bất cứ hoàn cảnh nào. Nếu gói tin internet được đánh dấu “không phân đoạn” không thể phân phát đến đích của nó được nếu không phân đoạn thì gói tin này sẽ bị loại bỏ. Sự phân đoạn, truyền tải và tái lắp ráp qua một mạng cục bộ mà không thể nhìn thấy được đối với mô-đun của giao thức internet được gọi là phân đoạn intranet và có thể được sử dụng. Thủ tục phân đoạn và tái lắp ráp internet phải có khả năng cắt một gói tin thành một số mảnh gần như tùy ý, các mảnh này có thể được tái lắp ráp sau này. Bên nhận các đoạn sử dụng trường nhận dạng để đảm bảo rằng các đoạn của các gói tin khác nhau không bị trộn lẫn. Trường độ dịch đoạn cho bên nhận biết vị trí của một đoạn trong gói tin gốc. Độ dài đoạn và độ dịch đoạn xác định phần mà đoạn này chiếm trong gói tin gốc. Cờ chỉ báo còn đoạn cho biết (bằng cách thiết lập lại) đoạn cuối cùng. Các trường này cung cấp đủ thông tin để tái lắp ráp các gói tin. Trường nhận dạng được sử dụng để phân biệt các đoạn của một gói tin với các đoạn của gói tin khác. Mô-đun giao thức khởi phát của một gói tin internet thiết lập trường nhận dạng ở một giá trị duy nhất đối với giao thức và cặp nguồn-đích đó trong thời gian gói tin tồn tại trong hệ thống internet. Mô-đun giao thức khởi phát của một gói tin đầy đủ thiết lập Cờ chỉ báo còn đoạn bằng 0 và độ dịch đoạn bằng 0. Để phân đoạn một gói tin internet dài, một mô-đun giao thức internet (ví dụ, trong một cổng), tạo ra hai gói tin internet mới và sao chép nội dung của các trường phần mào đầu internet từ gói tin dài vào cả hai phần mào đầu internet mới. Dữ liệu của gói tin dài được chia thành hai phần trên một biên 8 octet (64 bit) (phần chia thứ hai có thể không phải là một bội số nguyên của 8 octet, nhưng phần chia đầu tiên thì bắt buộc). Gọi số khối 8 octet trong phần chia đầu tiên là NFB (Số khối của đoạn). Phần chia đầu tiên của dữ liệu được đặt vào gói tin internet mới đầu tiên, và trường độ dài tổng được thiết lập bằng độ dài của gói tin đầu tiên. Cờ chỉ báo còn đoạn được thiết lập bằng 1. Phần chia thứ hai của dữ liệu được đặt vào gói tin internet mới thứ hai và trường độ dài tổng được thiết lập bằng độ dài của gói tin thứ hai. Cờ chỉ báo còn đoạn mang cùng một giá trị như gói tin dài. Trường dịch đoạn của gói tin internet mới thứ hai được thiết lập bằng giá trị của trường đó trong gói tin dài cộng với NFB. Thủ tục này có thể được suy rộng cho việc phân tách thành n phần, thay cho việc phân tách thành 2 phần như đã mô tả. Để ghép các đoạn của một gói tin internet, một mô-đun giao thức internet (ví dụ ở một máy chủ đích) tổ hợp tất cả các gói tin internet có cùng một giá trị đối với 4 trường: nhận dạng, nguồn, đích và giao thức. Việc tổ hợp được thực hiện bằng cách đặt phần chia dữ liệu của mỗi đoạn vào vị trí tương đối được xác định bởi độ dịch đoạn trong phần mào đầu internet của đoạn đó. Đoạn đầu tiên sẽ có độ dịch đoạn bằng 0, và đoạn cuối cùng sẽ có Cờ chỉ báo còn đoạn được thiết lập bằng 0. 4.1.6 Các cổng Các cổng thực thi giao thức internet để chuyển tiếp các gói tin giữa các mạng. Các cổng cũng thực thi Giao thức Cổng - Cổng để phối hợp việc định tuyến và thông tin điều khiển internet khác. Trong một cổng, các giao thức mức cao hơn không cần được thực thi và các chức năng của GGP được bổ sung cho mô-đun IP. Hình 3: Các giao thức cổng 4.2. Yêu cầu kỹ thuật 4.2.1 Khuôn dạng của phần mào đầu internet Tóm tắt về các nội dung của phần mào đầu internet như sau: Hình 4: Ví dụ về phần mào đầu của gói tin internet Chú ý rằng mỗi dấu phân thời biểu diễn một vị trí bit. Phiên bản: 4 bit Trường Phiên bản cho biết khuôn dạng của phần mào đầu internet. Tài liệu này mô tả phiên bản 4. IHL: 4 bit Trường độ dài phần mào đầu internet cho biết độ dài của phần mào đầu internet tính theo đơn vị là các từ 32 bit và do đó chỉ ra vị trí bắt đầu của phần dữ liệu. Chú ý rằng giá trị IHL tối thiểu cho một phần mào đầu đúng là 5. Loại dịch vụ: 8 bit Loại dịch vụ cho biết các tham số trừu tượng về chất lượng dịch vụ mong muốn. Các tham số này thường được sử dụng để hướng dẫn việc lựa chọn các tham số dịch vụ thực tế khi truyền một gói tin qua một mạng cụ thể. Một vài mạng cung cấp thứ tự ưu tiên của dịch vụ, bằng cách nào đó sẽ xử lý lưu lượng có thứ tự ưu tiên cao là quan trọng hơn so với các lưu lượng khác (thông thường bằng cách chỉ chấp nhận lưu lượng có thứ tự ưu tiên trên một mức nào đó tại thời điểm có tải cao). Sự lựa chọn chủ yếu là một sự cân bằng ba chiều giữa độ trễ thấp, độ tin cậy cao và thông lượng cao. Các bit 0 - 2: Thứ tự ưu tiên Bit 3: 0 = Độ trễ bình thường, 1 = Độ trễ thấp Các bit 4: 0 = Thông lượng bình thường, 1 = Thông lượng cao Các bit 5: 0 = Độ tin cậy bình thường, 1 = Độ tin cậy cao Bit 6 - 7: Được dự trữ để dùng trong tương lai Thứ tự ưu tiên 111 - Điều khiển mạng 110 - Điều khiển liên mạng 101 - CRITIC/ECP 100 - ưu tiên hơn tin ngắn 011 - Tin ngắn 010 - Tức thời 001 - Ưu tiên 000 - Thường trình Việc sử dụng các chỉ báo Độ trễ, Thông lượng và Độ tin cậy có thể làm tăng chi phí của dịch vụ (theo nghĩa nào đó). Trong nhiều mạng, chỉ tiêu tốt hơn đối với một trong các tham số này được kết hợp với chỉ tiêu kém hơn trên tham số khác. Ngoại trừ những trường hợp rất không bình thường, tối đa là hai trong ba chỉ báo này sẽ được thiết lập. Loại dịch vụ được sử dụng để quy định cách xử lý gói tin trong thời gian truyền gói tin qua hệ thống internet. Việc chỉ định thứ tự ưu tiên Điều khiển mạng dự kiến chỉ được sử dụng trong phạm vi một mạng. Việc sử dụng và kiểm soát việc chỉ định đó trên thực tế là tùy theo từng mạng. Việc chỉ định Điều khiển liên mạng dự kiến chỉ được sử dụng cho những bộ khởi phát điều khiển cổng. Nếu việc sử dụng thực tế các chỉ định thứ tự ưu tiên này được xem xét bởi một mạng cụ thể, thì mạng đó có trách nhiệm kiểm soát việc truy nhập và sử dụng các chỉ định thứ tự ưu tiên đó. Độ dài tổng: 16 bit Độ dài tổng là độ dài của gói tin, được đo bằng octet, bao gồm phần mào đầu internet và dữ liệu. Trường này cho phép gói tin có độ dài tới 65535 octet. Các gói tin dài như vậy là không thực tế đối với hầu hết các máy chủ và các mạng. Tất cả các máy chủ phải sẵn sàng chấp nhận các gói tin có độ dài tới 576 octet (dù chúng đến toàn bộ hay theo các đoạn). Người ta khuyến nghị rằng các máy chủ chỉ gửi các gói tin lớn hơn 576 octet nếu chúng đảm bảo rằng đích sẵn sàng chấp nhận các gói tin lớn hơn. Số 576 được chọn để cho phép một khối dữ liệu có kích cỡ hợp lý được truyền (ngoài thông tin về phần mào đầu đã được yêu cầu). Ví dụ, kích cỡ này cho phép một khối dữ liệu là 512 octet cộng với 64 octet của phần mào đầu để khớp với một gói tin. Phần mào đầu internet tối đa là 60 octet, và một phần mào đầu internet điển hình là 20 octet, cho phép một khoảng dự trữ cho các phần mào đầu của các giao thức mức cao hơn. Nhận dạng: 16 bit Một giá trị nhận dạng được gán bởi bên gửi để trợ giúp việc ghép các đoạn của một gói tin. Cờ: 3 bit Các cờ điều khiển khác nhau Bit 0: được dự trữ, phải bằng 0 Bit 1: (DF) 0 = có thể phân đoạn, 1 = không phân đoạn Bit 2: (MF) 0 = đoạn cuối cùng, 1 = còn đoạn nữa Độ dịch đoạn: 13 bit Trường này cho biết đoạn này ở chỗ nào trong gói tin. Độ dịch đoạn được đo theo đơn vị 8 octet (64 bit). Đoạn đầu tiên có độ dịch đoạn bằng 0. Thời gian sống: 8 bit Trường này cho biết thời gian tối đa mà gói tin được phép ở lại trong hệ thống internet. Nếu trường này chứa giá trị 0, thì gói tin phải bị hủy. Trường này được sửa đổi trong quá trình xử lý phần mào đầu internet. Thời gian được đo theo đơn vị giây, nhưng vì mỗi mô-đun xử lý một gói tin phải giảm TTL đi ít nhất 1 giây dù nó xử lý gói tin trong thời gian dưới 1 giây, TTL phải được coi như một giới hạn trên của thời gian một gói tin có thể tồn tại. Mục đích là khiến cho các gói tin không thể phân phát được phải bị loại bỏ và quy định giới hạn cho thời gian sống tối đa của gói tin. Giao thức: 8 bit Trường này cho biết giao thức mức kế tiếp nào được sử dụng trong phần dữ liệu của gói tin internet. Kiểm tra tổng phần mào đầu: 16 bit Chỉ kiểm tra tổng trên phần mào đầu. Vì một số trường phần mào đầu thay đổi (ví dụ thời gian sống), nên việc kiểm tra tổng phần mào đầu được tính toán lại và xác minh tại mỗi điểm mà phần mào đầu internet được xử lý. Thuật toán kiểm tra tổng là: Trường kiểm tra tổng là phần bù của trường 16 bit của tổng bù tất cả các từ 16 bit trong phần mào đầu. Cho mục đích tính toán tổng kiểm tra, giá trị của trường kiểm tra tổng phải bằng 0. Đây là một thuật toán đơn giản để tính kiểm tra tổng và bằng chứng thực nghiệm cho thấy nó là thích hợp, nhưng nó là tạm thời và có thể được thay thế bằng một thủ tục CRC, phụ thuộc vào kinh nghiệm triển khai về sau. Địa chỉ nguồn: 32 bit (xem mục 3.2) Địa chỉ đích: 32 bit (xem mục 3.2) Các tùy chọn: thay đổi Các tùy chọn có thể xuất hiện hoặc không xuất hiện trong các gói tin. Chúng phải được mọi mô-đun IP (máy chủ và các cổng) thực thi. Việc truyền chúng trong bất cứ gói tin riêng biệt nào là tùy chọn (chứ không phải việc thực thi chúng). Trong một số môi trường, tùy chọn bảo mật có thể được yêu cầu trong mọi gói tin. Trường tùy chọn có độ dài thay đổi. Có thể không có tùy chọn nào hoặc có thể có nhiều tùy chọn. Có 2 trường hợp về khuôn dạng của một tùy chọn: - Trường hợp 1: Một octet đơn kiểu-tùy chọn - Trường hợp 2: Một octet kiểu-tùy chọn, một octet độ dài-tùy chọn, và các octet dữ liệu-tùy chọn hiện thời. Octet độ dài - tùy chọn tính đến octet kiểu-tùy chọn và octet độ dài-tùy chọn cũng như các octet dữ liệu - tùy chọn. Octet kiểu - tùy chọn được xem như có 3 trường: 1 bit cờ sao chép; 2 bit loại tùy chọn; 5 bit số tùy chọn. Cờ sao chép cho biết tùy chọn này được sao chép vào tất cả các đoạn khi phân đoạn. 0 = không được sao chép 1 = được sao chép Các loại tùy chọn là: 0 = điều khiển 1 = dự trữ để sử dụng trong tương lai 2 = gỡ rối và đo kiểm 3 = dự trữ để sử dụng trong tương lai Các tùy chọn internet sau đây được xác định: LOẠI SỐ ĐỘ DÀI MÔ TẢ 0 0 - Kết thúc danh sách tùy chọn. Tùy chọn này chỉ chiếm 1 octet, nó không có octet độ dài. 0 1 - Không hoạt động. Tùy chọn này chỉ chiếm 1 octet, nó không có octet độ dài. 0 2 11 Bảo mật. Được dùng để truyền Bảo mật, Phân chia ngăn, Nhóm người dùng (TCC), và các Mã hạn chế điều khiển tương thích với các yêu cầu của DOD. 0 3 thay đổi Định tuyến nguồn không nghiêm ngặt. Được dùng để định tuyến gói tin internet dựa trên thông tin do nguồn cung cấp. 0 9 thay đổi Định tuyến nguồn nghiêm ngặt. Được dùng để định tuyến gói tin internet dựa trên thông tin do nguồn cung cấp. 0 7 thay đổi Tuyến ghi. Được dùng để dò lại tuyến mà một gói tin internet đã đi. 0 8 4 ID luồng. Được dùng để truyền ký hiệu nhận dạng luồng. 2 4 thay đổi Nhãn thời gian internet. Các định nghĩa về tùy chọn riêng Kết thúc danh sách tùy chọn Tùy chọn này cho biết kết thúc của danh sách tùy chọn. Kết thúc này có thể không trùng khớp với kết thúc của phần mào đầu internet căn cứ theo độ dài của phần mào đầu internet. Tùy chọn này được sử dụng ở phần cuối của tất cả các tùy chọn, chứ không phải ở phần cuối của mỗi tùy chọn và chỉ cần dùng nếu phần cuối của các tùy chọn không trùng khớp với phần cuối của phần mào đầu internet. Có thể được sao chép, được sử dụng, hoặc bị xóa khi phân đoạn, hoặc vì bất cứ lý do nào khác. Không hoạt động Tùy chọn này có thể được sử dụng giữa các tùy chọn, ví dụ để cân chỉnh phần đầu của một tùy chọn tiếp theo trên một biên 32 bit. Có thể được sao chép, được sử dụng, hoặc bị xóa khi phân đoạn, hoặc vì bất cứ lý do nào khác. Bảo mật Tùy chọn này cung cấp một phương pháp cho các máy chủ gửi các tham số bảo mật, phân chia ngăn, hạn chế điều khiển và TCC (nhóm người dùng khép kín). Khuôn dạng của tùy chọn này như sau: Bảo mật (trường S): 16 bit Chỉ định một trong số 16 mức bảo mật (8 mức trong số 16 mức này được dự trữ để dùng trong tương lai). 00000000 00000000 - Chưa được xếp loại 11110001 00110101 - Mật 01111000 10011010 - EFTO 10111100 01001101 - MMMM 01011110 00100110 - PROG 10101111 00010011 - Cấm 11010111 10001000 - Bí mật 01101011 11000101 - Tối mật 00110101 11100010 - (Được dự trữ để dùng trong tương lai) 10011010 11110001 - (Được dự trữ để dùng trong tương lai) 01001101 01111000 - (Được dự trữ để dùng trong tương lai) 00100100 10111101 - (Được dự trữ để dùng trong tương lai) 00010011 01011110 - (Được dự trữ để dùng trong tương lai) 10001001 10101111 - (Được dự trữ để dùng trong tương lai) 11000100 11010110 - (Được dự trữ để dùng trong tương lai) 11100010 01101011 - (Được dự trữ để dùng trong tương lai) Phân chia ngăn (trường C): 16 bit Một giá trị toàn là 0 được sử dụng khi thông tin đã truyền không được phân chia ngăn. Các giá trị khác dành cho trường chia ngăn có thể được nhận từ Cơ quan Tình báo Quốc phòng. Hạn chế điều khiển (trường H): 16 bit Các giá trị để đánh dấu kiểm soát và phát hành là các chữ ghép chữ-số và được xác định trong Sách hướng dẫn của Cơ quan Tình báo Quốc phòng DIAM 65-19, “Đánh dấu bảo mật chuẩn” Mã điều khiển truyền (trường TCC): 24 bit Cung cấp một phương tiện để chia tách lưu lượng và xác định các cộng đồng có quyền lợi được điều chỉnh trong số các thuê bao. Các giá trị TCC là các nhóm ba chữ cái kế tiếp nhau, và khả dụng từ Mã HQ DCA 530. Phải được sao chép khi phân đoạn. Tùy chọn này xuất hiện tối đa một lần trong một gói tin. Tuyến ghi và tuyến nguồn không nghiêm ngặt Tùy chọn tuyến ghi và tuyến nguồn không nghiêm ngặt (LSRR) đưa ra một phương pháp để nguồn của một gói tin internet cung cấp thông tin định tuyến được sử dụng bởi các cổng để chuyển tiếp gói tin đến đích và để ghi lại thông tin về tuyến. Tùy chọn này bắt đầu với mã kiểu tùy chọn. Octet thứ hai là độ dài tùy chọn bao gồm mã kiểu tùy chọn và octet độ dài, octet con trỏ và (độ dài -3) octet dữ liệu tuyến. Octet thứ ba là con trỏ trỏ vào dữ liệu tuyến chỉ báo octet bắt đầu địa chỉ nguồn kế tiếp sẽ được xử lý. Con trỏ là tương đối đối với tùy chọn này và giá trị hợp lệ nhỏ nhất cho con trỏ là 4. Một dữ liệu tuyến bao gồm một dãy các địa chỉ internet. Mỗi địa chỉ internet là 32 bit hoặc 4 octet. Nếu con trỏ lớn hơn độ dài, thì tuyến nguồn là trống (và tuyến ghi đầy) và việc định tuyến cần được dựa trên trường địa chỉ đích. Nếu đã đến được địa chỉ trong trường địa chỉ đích và con trỏ không lớn hơn độ dài, thì địa chỉ kế tiếp trong tuyến nguồn thay thế địa chỉ trong trường địa chỉ đích, và địa chỉ tuyến ghi thay thế địa chỉ nguồn vừa mới dùng và con trỏ được tăng lên 4. Địa chỉ tuyến ghi là địa chỉ internet của chính mô-đun internet như đã biết trong môi trường mà gói tin này đang được yêu cầu chuyển tiếp. Thủ tục thay thế tuyến nguồn bằng tuyến ghi này (mặc dù nó ngược với trình tự mà nó phải theo để được sử dụng như một tuyến nguồn) có nghĩa là tùy chọn (và toàn bộ phần mào đầu IP) vẫn giữ nguyên một độ dài không đổi khi gói tin qua internet. Tùy chọn này là một tuyến nguồn không nghiêm ngặt vì IP của cổng hoặc máy chủ được phép dùng bất cứ tuyến nào trong số các tuyến có các cổng trung gian khác để đến địa chỉ kế tiếp trong tuyến. Phải được sao chép khi phân đoạn. Xuất hiện tối đa một lần trong một gói tin. Tuyến ghi và nguồn nghiêm ngặt Tùy chọn tuyến ghi và tuyến nguồn nghiêm ngặt (SSRR) đưa ra một phương pháp để nguồn của một gói tin internet cung cấp thông tin định tuyến được sử dụng bởi các cổng để chuyển tiếp gói tin đến đích và để ghi lại thông tin về tuyến. Tùy chọn này bắt đầu với mã kiểu tùy chọn. Octet thứ hai là độ dài tùy chọn, bao gồm mã kiểu tùy chọn và octet độ dài, octet con trỏ và (độ dài -3) octet dữ liệu tuyến. Octet thứ ba là con trỏ trỏ vào dữ liệu tuyến chỉ báo octet bắt đầu địa chỉ nguồn kế tiếp sẽ được xử lý. Con trỏ là tương đối đối với tùy chọn này và giá trị hợp lệ nhỏ nhất cho con trỏ là 4. Một dữ liệu tuyến bao gồm một dãy các địa chỉ internet. Mỗi địa chỉ internet là 32 bit hay 4 octet. Nếu con trỏ lớn hơn độ dài thì tuyến nguồn là trống (và tuyến ghi đầy) và việc định tuyến cần được dựa trên trường địa chỉ đích. Nếu đã đến được địa chỉ trong trường địa chỉ đích và con trỏ không lớn hơn độ dài thì địa chỉ kế tiếp trong tuyến nguồn thay thế địa chỉ trong trường địa chỉ đích và địa chỉ tuyến ghi thay thế địa chỉ nguồn vừa mới dùng và con trỏ được tăng lên 4. Địa chỉ tuyến ghi là địa chỉ internet của chính mô-đun internet như đã biết trong môi trường mà gói tin này đang được yêu cầu chuyển tiếp. Thủ tục thay thế tuyến nguồn bằng tuyến ghi này (mặc dù nó ngược với trình tự mà nó phải theo để được sử dụng như một tuyến nguồn) có nghĩa là tùy chọn (và toàn bộ phần mào đầu IP) vẫn giữ nguyên một độ dài không đổi khi gói tin qua internet. Tùy chọn này là một tuyến nguồn nghiêm ngặt vì IP của cổng hoặc máy chủ phải gửi gói tin trực tiếp đến địa chỉ kế tiếp trong tuyến nguồn chỉ qua mạng kết nối trực tiếp (được chỉ báo trong địa chỉ kế tiếp) để đến cổng hoặc máy chủ kế tiếp (được chỉ định trong tuyến). Phải được sao chép khi phân đoạn. Xuất hiện tối đa một lần trong một gói tin. Tuyến ghi Tùy chọn tuyến ghi đưa ra một phương pháp để ghi lại tuyến của một gói tin internet. Tùy chọn bắt đầu với mã kiểu tùy chọn. Octet thứ hai là độ dài tùy chọn, bao gồm mã kiểu tùy chọn và octet độ dài, octet con trỏ và (độ dài -3) octet dữ liệu tuyến. Octet thứ ba là con trỏ trỏ vào dữ liệu tuyến chỉ báo octet bắt đầu vùng kế tiếp để lưu giữ một địa chỉ tuyến. Con trỏ là tương đối đối với tùy chọn này và giá trị hợp lệ nhỏ nhất cho con trỏ là 4. Một tuyến ghi bao gồm một dãy các địa chỉ internet. Mỗi địa chỉ internet có độ dài 32 bit hay 4 octet. Nếu con trỏ lớn hơn độ dài thì vùng dữ liệu của tuyến ghi là đầy. Máy chủ khởi phát phải thiết lập tùy chọn này với một vùng dữ liệu tuyến đủ lớn để chứa toàn bộ địa chỉ đã yêu cầu. Kích cỡ của tùy chọn không thay đổi khi điền thêm các địa chỉ vào. Các nội dung ban đầu của vùng dữ liệu tuyến phải bằng 0. Khi một mô-đun internet định tuyến một gói tin, nó sẽ kiểm tra xem có tùy chọn tuyến ghi không. Nếu có tùy chọn tuyến ghi, mô-đun này chèn địa chỉ internet của chính nó, như đã biết trong môi trường mà gói tin này đang được yêu cầu chuyển tiếp vào tuyến ghi bắt đầu tại octet do con trỏ chỉ báo và tăng con trỏ lên 4. Nếu vùng dữ liệu tuyến đã đầy (con trỏ vượt quá độ dài) thì gói tin được chuyển tiếp mà không cần chèn địa chỉ vào tuyến ghi. Nếu còn chỗ nào đó nhưng không đủ để chèn một địa chỉ đầy đủ, thì gói tin gốc được coi như bị lỗi và bị loại bỏ. Trong cả hai trường hợp, một bản tin về vấn đề tham số ICMP có thể được gửi đến máy chủ nguồn. Không được sao chép khi phân đoạn, tùy chọn này chỉ xuất hiện trong đoạn đầu tiên và xuất hiện tối đa một lần trong một gói tin. Từ nhận dạng luồng Tùy chọn này đưa ra một phương pháp để từ nhận dạng luồng 16 bit SATNET được truyền qua các mạng không hỗ trợ khái niệm luồng. Phải được sao chép khi phân đoạn. Xuất hiện tối đa một lần trong một gói tin. Nhãn thời gian của internet Độ dài tùy chọn là số các octet trong tùy chọn kể cả octet kiểu, octet độ dài, octet con trỏ, và các octet tràn/cờ (độ dài tối đa là 40). Con trỏ là số các octet từ phần đầu của tùy chọn này đến phần cuối của các nhãn thời gian cộng với 1 (tức là nó trỏ vào octet bắt đầu khoảng trống cho nhãn thời gian kế tiếp). Giá trị hợp lệ nhỏ nhất là 5. Vùng nhãn thời gian đầy khi con trỏ lớn hơn độ dài. Phần tràn (oflw) [4 bit] là số các mô-đun IP không thể đăng ký các nhãn thời gian do thiếu khoảng trống. Các giá trị của cờ (flg) [4 bit] là: 0: Chỉ các nhãn thời gian, được lưu giữ trong các từ 32 bit liên tiếp, 1: Mỗi nhãn thời gian đứng sau địa chỉ internet của thực thể đăng ký, 3: Các trường địa chỉ internet được chỉ định trước. Một mô-đun IP chỉ đăng ký nhãn thời gian của nó nếu nó so khớp địa chỉ của chính nó với địa chỉ internet được chỉ định kế tiếp. Nhãn thời gian là một nhãn thời gian 32 bit, căn phải tính theo miligiây từ nửa đêm theo giờ quốc tế. Nếu thời gian không theo dạng miligiây hoặc không thể được cung cấp từ nửa đêm theo giờ quốc tế thì bất cứ thời gian nào cũng có thể bị chèn vào như một nhãn thời gian miễn là bit bậc cao của trường nhãn thời gian được thiết lập bằng 1 để chỉ báo việc dùng một giá trị không chuẩn. Máy chủ khởi phát phải thiết lập tùy chọn này với một vùng dữ liệu nhãn thời gian đủ lớn để chứa toàn bộ thông tin yêu cầu về nhãn thời gian. Kích cỡ của tùy chọn không thay đổi khi điền thêm các nhãn thời gian vào. Những nội dung ban đầu của vùng dữ liệu của nhãn thời gian phải bằng 0 hoặc bằng các cặp địa chỉ internet / 0. Nếu vùng dữ liệu nhãn thời gian đã đầy (con trỏ vượt quá độ dài) thì gói tin được chuyển tiếp mà không cần chèn nhãn thời gian, nhưng số đếm tràn được tăng lên 1. Nếu còn chỗ nào đó nhưng không đủ để chèn một nhãn thời gian đầy đủ, hoặc bản thân số đếm tràn cũng tràn, thì gói tin gốc được coi như bị lỗi và bị loại bỏ. Trong cả hai trường hợp, một bản tin về vấn đề tham số của ICMP có thể được gửi đến máy chủ nguồn. Tùy chọn nhãn thời gian không được sao chép trong khi phân đoạn. Nó được truyền trong đoạn đầu tiên và xuất hiện tối đa một lần trong một gói tin. Đệm: thay đổi Đệm của phần mào đầu internet được sử dụng để đảm bảo rằng các phần cuối của phần mào đầu internet ở trên một biên 32 bit. Đệm bằng 0. 4.2.2 Mô tả Việc thực thi một giao thức phải thiết thực. Mỗi thực thi phải hoạt động liên kết được với những thực thi khác tạo bởi nhiều thực thể khác nhau. Trong khi mục đích của phần mô tả này là nhằm diễn đạt rõ ràng, đầy đủ về giao thức, thì vẫn có khả năng có những sự diễn giải khác. Về tổng quan, một thực thi phải thận trọng trong chế độ gửi và phải rộng rãi trong chế độ nhận của nó. Tức là, phải cẩn thận để gửi các gói tin có khuôn dạng chuẩn nhưng phải chấp nhận bất cứ gói tin nào mà có thể diễn giải được (ví dụ: không phản đối các lỗi kỹ thuật khi nghĩa vẫn còn rõ ràng). Dịch vụ internet cơ sở là dịch vụ định hướng gói tin và cung cấp sự phân đoạn các gói tin tại các cổng, cùng với việc tái lắp ráp xảy ra tại mô-đun giao thức internet đích trong máy chủ đích. Đương nhiên, sự phân đoạn và tái lắp ráp các gói tin bên trong một mạng hoặc theo sự thỏa thuận riêng giữa các cổng của một mạng cũng được cho phép vì sự phân đoạn và tái lắp ráp này là trong suốt đối với các giao thức internet và các giao thức mức cao hơn. Kiểu phân đoạn và tái lắp ráp trong suốt này được gọi là sự phân đoạn “phụ thuộc vào mạng” (hoặc intranet) và không được đề cập thêm nữa. Các địa chỉ internet phân biệt các nguồn và các đích với mức của máy chủ và cũng cung cấp một trường giao thức. Giả thiết là mỗi giao thức sẽ cung cấp mọi sự ghép kênh cần thiết bên trong một máy chủ. 4.2.2.1 Lập địa chỉ Để linh hoạt trong việc gán địa chỉ cho các mạng và tính đến nhiều mạng có kích cỡ từ nhỏ đến trung bình, sự thể hiện của trường địa chỉ được mã hóa để xác định một số ít mạng với nhiều máy chủ một số lượng vừa phải mạng với một số lượng vừa phải máy chủ và một số lượng lớn mạng với ít máy chủ. Ngoài ra, có một mã thoát đến chế độ lập địa chỉ mở rộng. Các khuôn dạng của địa chỉ Các bit bậc cao Không dạng Phân lớp 0 7 bit của mạng, 24 bit của máy chủ A 10 14 bit của mạng, 16 bit của máy chủ B 110 21 bit của mạng, 8 bit của máy chủ C 111 Thoát đến chế độ lập địa chỉ mở rộng Một giá trị 0 trong trường mạng dành cho mạng này. Giá trị này chỉ được sử dụng trong các bản tin ICMP nhất định. Chế độ lập địa chỉ mở rộng không được xác định. Cả hai đặc trưng này được dự trữ để sử dụng trong tương lai. Địa chỉ cục bộ, do mạng cục bộ gán, phải tính đến việc một máy chủ vật lý đơn thực hiện vai trò như vài máy chủ internet riêng biệt. Tức là, phải có một phép ánh xạ giữa các địa chỉ của máy chủ internet và các giao diện mạng/máy chủ mà cho phép vài địa chỉ internet tương ứng với một giao diện. Cũng phải tính đến một máy chủ có nhiều giao diện vật lý và coi các gói tin từ một vài giao diện trong số đó như thể chúng đều được lập địa chỉ đến cùng một máy chủ đơn. 4.2.2.2 Phân đoạn và tái lắp ráp Sử dụng trường nhận dạng internet (ID) cùng với địa chỉ nguồn, địa chỉ đích và các trường giao thức để nhận dạng các đoạn của gói tin cho việc tái lắp ráp. Bit MF (Cờ chỉ báo còn đoạn) được thiết lập nếu gói tin này không phải là đoạn cuối cùng. Trường Độ dịch đoạn cho biết vị trí đoạn so với phần đầu của gói tin gốc chưa phân đoạn. Các đoạn được tính theo đơn vị 8 octet. Chiến lược phân đoạn được lập ra để một gói tin không bị phân đoạn có mọi thông tin phân đoạn bằng 0 (MF = 0, độ dịch đoạn = 0). Nếu một gói tin internet bị phân đoạn, phần dữ liệu của nó phải bị ngắt trên các biên 8 octet. Khuôn dạng này cho phép 2 13 = 8192 đoạn, mỗi đoạn có 8 octet, do vậy khuôn dạng này cho phép tổng số 65536 octet. Chú ý rằng, điều này là phù hợp với trường độ dài tổng của gói tin (dĩ nhiên, phần mào đầu được tính theo độ dài tổng và không tính theo các đoạn). Khi xảy ra phân đoạn, một số tùy chọn được sao chép, nhưng các tùy chọn khác vẫn giữ nguyên chỉ ở đoạn đầu tiên. Mỗi mô-đun internet phải có khả năng chuyển tiếp một gói tin 68 octet mà không cần phân đoạn. Vì một phần mào đầu internet có thể tối đa là 60 octet và đoạn tối thiểu là 8 octet. Mỗi đích internet phải có khả năng nhận một gói tin 576 octet hoặc dưới dạng một gói tin nguyên vẹn hoặc dưới dạng các đoạn cần được tái lắp ráp. Việc phân đoạn có thể làm ảnh hưởng đến các trường sau: (1) Trường các tùy chọn (2) Cờ chỉ báo còn đoạn (3) Độ dịch đoạn (4) Trường độ dài phần mào đầu internet (5) Trường độ dài tổng (6) Kiểm tra tổng phần mào đầu Nếu bit cờ không phân đoạn (DF) được thiết lập thì sự phân đoạn internet của gói tin này là KHÔNG được phép, mặc dù nó có thể bị loại bỏ. Điều này có thể được sử dụng để ngăn chặn sự phân đoạn trong các trường hợp máy chủ nhận không có đủ tài nguyên để tái lắp ráp các đoạn internet. Một ví dụ về việc dùng đặc trưng không phân đoạn là tải tuyến xuống một máy chủ nhỏ. Một máy chủ nhỏ có thể có một chương trình nạp, chương trình này chấp nhận một gói tin, lưu trữ nó trong bộ nhớ và sau đó thực hiện nó. Các thủ tục phân đoạn và tái lắp ráp đa số được mô tả một cách dễ dàng bằng các ví dụ. Các thủ tục sau đây là những ví dụ về thực thi. Ký hiệu chung trong các chương trình giả như sau: “=<” nghĩa="" là="" “nhỏ="" hơn="" hoặc="" bằng”,="" “#”="" nghĩa="" là="" “không="" bằng”,="" “="”" nghĩa="" là="" “bằng”,=""><-” nghĩa="" là="" “được="" thiết="" lập="" bằng”.="" cũng="" vậy,="" “x="" đến="" y”="" bao="" gồm="" x="" đến="" y="" và="" loại="" trừ="" y;="" ví="" dụ,="" “4="" đến="" 7”="" sẽ="" bao="" gồm="" 4,="" 5,="" và="" 6="" (nhưng="" không="" bao="" gồm=""> 4.2.2.2.1 Ví dụ về thủ tục phân đoạn Gói tin có kích cỡ tối đa mà có thể được truyền qua mạng kế tiếp được gọi là đơn vị truyền tối đa (MTU). Nếu độ dài tổng nhỏ hơn hoặc bằng đơn vị truyền tối đa thì đưa gói tin này tới bước kế tiếp trong quá trình xử lý gói tin, nếu không thì cắt gói tin thành hai đoạn, đoạn đầu tiên có kích cỡ tối đa và đoạn thứ hai là phần còn lại của gói tin. Đoạn đầu tiên được đưa đến bước kế tiếp trong quá trình xử lý gói tin, trong khi đoạn thứ hai được đưa đến thủ tục này trong trường hợp nó vẫn còn quá lớn. Ghi chú: FO - Độ dịch đoạn IHL - Độ dài phần mào đầu internet DF - Cờ chỉ báo không phân đoạn MF - Cờ chỉ báo còn đoạn TL - Độ dài tổng OFO - Độ dịch của đoạn cũ OIHL - Độ dài của phần mào đầu internet cũ OMF - Cờ chỉ báo còn đoạn cũ OTL - Độ dài tổng cũ NFB - Số khối của đoạn MTU - Đơn vị truyền tối đa Thủ tục: IF TL = < mtu="" then="" đưa="" gói="" tin="" này="" đến="" bước="" kế="" tiếp="" trong="" quá="" trình="" xử="" lý="" gói="" tin="" else="" if="" df="1" then="" loại="" bỏ="" gói="" tin=""> Để tạo ra đoạn đầu tiên: (1) Sao chép phần mào đầu internet gốc (2) OIHL <- ihl;="" otl=""><- tl;="" ofo=""><- fo;="" omf=""><-> (3) NFB <- (mtu="" -=""> (4) Gắn NFB * 8 octet dữ liệu đầu tiên; (5) Hiệu chỉnh phần mào đầu: MF <-1;><- (ihl*4)="" +="" (nfb*8);="" tính="" toán="" lại=""> (6) Đưa đoạn này đến bước kế tiếp trong quá trình xử lý gói tin; Để tạo ra đoạn thứ hai: (7) Sao chép có lựa chọn phần mào đầu internet (một số tùy chọn không được sao chép, xem các định nghĩa về tùy chọn); (8) Nối thêm dữ liệu còn lại; (9) Hiệu chỉnh phần mào đầu: IHL<- (((oihl*4)="" -="" (độ="" dài="" của="" các="" tùy="" chọn="" không="" được="" sao="" chép))="" +="" 3)/4;=""><- otl="" –="" nfb*8="" -="" (oihl="" -=""> FO<- ofo="" +="" nfb;=""><- omf;="" tính="" toán="" lại=""> (10) Đưa đoạn này đến phép thử phân đoạn; done. Trong thủ tục trên, mỗi đoạn (trừ đoạn cuối) được thiết lập với kích thước tối đa cho phép. Một cách khác có thể tạo các gói tin có kích cỡ nhỏ hơn kích cỡ tối đa. Ví dụ, người ta có thể thực thi một thủ tục phân đoạn mà lặp lại việc chia đôi các gói tin lớn cho đến khi các đoạn thu được có kích cỡ nhỏ hơn kích cỡ của đơn vị truyền tối đa. 4.2.2.2.2 Ví dụ về thủ tục tái lắp ráp Đối với mỗi gói tin, từ nhận dạng bộ đệm được tính toán như sự ghép nối của các trường nguồn, đích, giao thức, nhận dạng. Nếu đó là một gói tin nguyên vẹn (tức là cả trường còn nhiều đoạn nữa và trường độ dịch đoạn đều bằng 0) thì bất cứ tài nguyên tái lắp ráp nào gắn với từ nhận dạng đệm này cũng đều được giải phóng và gói tin được chuyển tiếp đến bước kế tiếp trong quá trình xử lý gói tin. Nếu không có sẵn đoạn nào khác cùng với từ nhận dạng đệm này thì tài nguyên tái lắp ráp được phân bổ. Tài nguyên tái lắp ráp gồm có một bộ đệm dữ liệu, một bộ đệm phần mào đầu, một bảng bit của khối đoạn, một trường độ dài dữ liệu tổng và một bộ định thời. Dữ liệu từ đoạn được đặt vào bộ đệm dữ liệu căn cứ theo độ dài và độ dịch đoạn của nó và các bit được thiết lập trong bảng bit của khối đoạn tương ứng với các khối đoạn đã nhận được. Nếu đó là đoạn đầu tiên (tức là độ dịch đoạn bằng 0) thì phần mào đầu này được đặt vào bộ đệm của phần mào đầu. Nếu đó là đoạn cuối cùng (tức là trường còn nhiều đoạn nữa bằng 0) thì độ dài của dữ liệu tổng được tính toán. Nếu đoạn này hoàn thành trọn vẹn gói tin (được thử nghiệm bằng cách kiểm tra các bit đã được thiết lập trong bảng khối đoạn) thì gói tin được gửi đến bước kế tiếp trong quá trình xử lý gói tin; nếu không thì bộ định thời được thiết lập bằng trị số cực đại của giá trị bộ định thời hiện thời và giá trị trường thời gian sống từ đoạn này và thủ tục tái lắp ráp sẽ thôi không điều khiển nữa. Nếu bộ định thời chạy hết thời gian, mọi tài nguyên tái lắp ráp cho từ nhận dạng đệm này được giải phóng. Giá trị ban đầu của bộ định thời là biên thấp hơn trong khoảng thời gian chờ tái lắp ráp. Sở dĩ như vậy là vì thời gian chờ sẽ tăng lên nếu Thời gian sống trong đoạn đang tới lớn hơn nhiều giá trị của bộ định thời hiện tại nhưng thời gian chờ sẽ không giảm nếu Thời gian sống trong đoạn tới nhỏ hơn giá trị thực của bộ định thời. Trị số tối đa mà bộ định thời này có thể đạt tới là thời gian sống tối đa (xấp xỉ 4,25 phút). Khuyến nghị hiện tại là thiết lập giá trị ban đầu của bộ định thời bằng 15 giây. Giá trị này có thể thay đổi theo kinh nghiệm làm việc với giao thức này. Chú ý rằng việc lựa chọn giá trị của tham số này có liên quan đến dung lượng khả dụng của bộ đệm và tốc độ dữ liệu của môi trường truyền; tức là, tốc độ dữ liệu nhân với giá trị của bộ định thời bằng kích cỡ của bộ đệm (ví dụ, 10 kbit/s * 15 s = 150 kbit). Ghi chú: FO - Độ dịch đoạn IHL - Độ dài phần mào đầu internet MF - Cờ chỉ báo còn đoạn TTL - Thời gian sống TL - Độ dài tổng NFB - Số khối của đoạn TDL - Độ dài dữ liệu tổng BUFID - Từ nhận dạng bộ đệm RCVBT - Bảng bit nhận được của đoạn TLB - Giới hạn dưới của bộ định thời Thủ tục: (1) BUFID <- nguồn="" |="" đích|="" giao="" thức="" |="" nhận=""> (2) IF FO = 0 AND MF = 0 (3) THEN IF bộ đệm với BUFID được phân bổ (4) THEN xóa sạch mọi sự tái lắp ráp đối với BUFID này; (5) Đưa gói tin đến bước kế tiếp; DONE. (6) ELSE IF không có bộ đệm nào cùng với BUFID được phân bổ (7) THEN phân bổ tài nguyên tái lắp ráp với BUFID; TIMER <- tlb;=""><-> (8) Đặt dữ liệu từ đoạn vào bộ đệm dữ liệu với BUFID từ octet FO*8 đến octet (TL – (IHL*4) + FO*8); (9) Đặt các bit RCVBT từ FO đến FO + ((TL – (IHL*4) + 7)/8); (10) IF MF = 0 THEN TDL <- tl="" -="" (ihl*4)="" +=""> (11) IF FO = 0 THEN đặt phần mào đầu vào bộ đệm phần mào đầu (12) IF TDL # 0 (13) AND tất cả các bit RCVBT từ 0 đến (TDL + 7)/8 được thiết lập (14) THEN TL <- tdl="" +=""> (15) Đưa gói tin đến bước kế tiếp; (16) Giải phóng mọi tài nguyên tái lắp ráp cho BUFID này; DONE. (17) TIMER <- max="" (timer,=""> (18) Bỏ cho đến khi đoạn kế tiếp hoặc cho đến khi bộ định thời hết hạn; (19) Bộ định thời hết hạn: xóa sạch mọi sự tái lắp ráp đối với BUFID này; DONE. Trong trường hợp hai hoặc nhiều đoạn chứa cùng một dữ liệu hoặc giống hệt nhau hoặc do sự chồng chéo một phần thì thủ tục này sẽ sử dụng bản sao đã tới gần nhất trong bộ đệm dữ liệu và gói tin đã phân phát. 4.2.2.3 Nhận dạng Việc lựa chọn từ nhận dạng cho một gói tin được thực hiện theo nhu cầu nhận dạng duy nhất các đoạn của một gói tin cụ thể. Mô-đun giao thức đang tái lắp ráp các đoạn xét thấy các đoạn thuộc về cùng một gói tin nếu chúng có cùng một nguồn, đích, giao thức và từ nhận dạng. Vì vậy, bên gửi phải chọn dùng từ nhận dạng là đơn nhất đối với cặp nguồn, đích và giao thức trong thời gian gói tin (hoặc bất cứ đoạn nào của nó) có thể vẫn còn tồn tại trong internet. Như vậy một mô-đun giao thức gửi cần chứa một bảng các từ nhận dạng, một mục nhập cho mỗi đích mà nó đã liên lạc với trong thời gian sống tối đa của gói cuối cùng đối với internet. Tuy nhiên, vì trường của từ nhận dạng cho phép 65536 giá trị khác nhau, nên một số máy chủ có thể đơn giản sử dụng các từ nhận dạng đơn nhất không phụ thuộc vào đích. Việc lựa chọn từ nhận dạng là thích hợp với một số giao thức mức cao hơn. Ví dụ, các mô-đun giao thức TCP có thể phát lại một đoạn TCP giống hệt và xác suất thu đúng sẽ tăng nếu quá trình phát lại chứa cùng một từ nhận dạng như quá trình phát ban đầu vì các đoạn của một trong hai gói tin có thể được sử dụng để kết cấu một đoạn TCP đúng. 4.2.2.4 Loại dịch vụ Loại dịch vụ (TOS) phục vụ việc lựa chọn chất lượng dịch vụ internet. Loại dịch vụ được chỉ định theo các tham số trừu tượng: thứ tự ưu tiên, độ trễ, thông lượng và độ tin cậy. Các tham số trừu tượng này cần được ánh xạ vào các tham số dịch vụ thực của các mạng cụ thể mà gói tin đi ngang qua. Thứ tự ưu tiên. Thước đo độc lập về tầm quan trọng của gói tin này. Độ trễ. Việc phân phát nhanh là quan trọng đối với các gói tin có chỉ dẫn này. Thông lượng. Tốc độ dữ liệu cao là quan trọng đối với gói tin có chỉ dẫn này. Độ tin cậy. Mức độ cố gắng cao hơn để đảm bảo cho việc phân phát là quan trọng đối với các gói tin có chỉ dẫn này. Ví dụ, ARPANET có một bit ưu tiên, và một sự lựa chọn giữa các bản tin “chuẩn” (loại 0) và các bản tin “không bị kiểm soát” (loại 3), (sự lựa chọn giữa các bản tin đa gói và đơn gói cũng có thể được xem như một tham số dịch vụ). Các bản tin không bị kiểm soát có chiều hướng được phân phát kém tin cậy hơn và chịu độ trễ nhỏ hơn. Giả sử một gói tin internet cần được gửi qua ARPANET. Giả sử loại dịch vụ internet được cho như sau: Thứ tự ưu tiên: 5 Độ trễ: 0 Thông lượng: 1 Độ tin cậy: 1 Trong trường hợp này, việc ánh xạ các tham số này lên các tham số khả dụng đối với ARPANET sẽ như thế nào đó để thiết lập bit ưu tiên của ARPANET lên trên (vì thứ tự ưu tiên của internet nằm ở nửa trên trong dải của nó) để lựa chọn các bản tin chuẩn vì các yêu cầu về thông lượng và độ tin cậy đã được chỉ báo, còn yêu cầu về độ trễ thì không. 4.2.2.5 Thời gian sống Thời gian sống được thiết lập bởi bên gửi bằng thời gian tối đa mà gói tin được phép tồn tại trong hệ thống internet. Nếu gói tin tồn tại trong hệ thống internet lâu hơn thời gian sống thì gói tin phải bị loại bỏ. Trường này phải bị giảm tại mỗi điểm mà phần mào đầu internet được xử lý, để phản ánh về thời gian đã dùng để xử lý gói tin. Dù không có sẵn thông tin nội bộ nào về thời gian đã dùng thực tế thì trường này cũng phải bị giảm đi 1. Thời gian được đo theo đơn vị là giây (giá trị 1 nghĩa là 1 giây). Như vậy, thời gian sống tối đa là 255 giây hoặc 4,25 phút. Vì mỗi mô-đun xử lý một gói tin phải giảm TTL đi ít nhất là 1 giây dù cho nó xử lý gói tin trong thời gian ít hơn 1 giây, TTL phải được hiểu chỉ như một giới hạn trên về thời gian một gói tin có thể tồn tại. Mục đích là khiến cho các gói tin không thể phân phát được phải bị loại bỏ và để giới hạn thời gian sống tối đa của gói tin. Một số giao thức kết nối tin cậy ở mức cao hơn đã dựa trên các giả thiết rằng các gói tin sao lại cũ sẽ không đến nữa sau một khoảng thời gian nào đó trôi qua. TTL là một phương pháp dành cho các giao thức như vậy để đảm bảo rằng giả thiết của chúng được thỏa mãn. 4.2.2.6 Các tùy chọn Các tùy chọn là tùy chọn trong mỗi gói tin nhưng chúng được yêu cầu trong khi thực thi. Tức là, việc một tùy chọn xuất hiện hoặc không xuất hiện là do lựa chọn của bên gửi, nhưng mỗi mô-đun internet phải có khả năng phân tích mỗi tùy chọn. Có thể có một vài tùy chọn trong trường tùy chọn. Các tùy chọn có thể không kết thúc trên một biên 32 bit. Phần mào đầu internet phải điền các octet của các số 0 vào. Octet đầu tiên trong số những octet này có thể được hiểu là tùy chọn kết-thúc-các-tùy-chọn, và phần còn lại được hiểu là đệm của phần mào đầu internet. Mỗi mô-đun internet phải có khả năng tác động đến mỗi tùy chọn. Tùy chọn bảo mật được yêu cầu nếu cần chuyển lưu lượng mật, lưu lượng cấm, hoặc lưu lượng đã phân chia ngăn. 4.2.2.7 Kiểm tra tổng Kiểm tra tổng phần mào đầu internet được tính toán lại nếu phần mào đầu internet bị thay đổi. (Ví dụ, sự giảm thời gian sống, những sự bổ sung hoặc thay đổi đối với Các tùy chọn internet, hoặc do sự phân đoạn). Kiểm tra tổng này ở mức internet nhằm bảo vệ các trường của phần mào đầu internet khỏi bị các lỗi trong quá trình truyền. Có một số ứng dụng chấp nhận một vài lỗi bit dữ liệu trong khi không chấp nhận các trễ do quá trình phát lại. Nếu giao thức internet đòi hỏi sự chính xác của dữ liệu thì các ứng dụng như vậy không thể được hỗ trợ. 4.2.2.8 Các lỗi Các lỗi của giao thức internet có thể được thông báo qua các bản tin ICMP. 4.2.3 Các giao diện Mô tả chức năng của các giao diện người dùng đối với IP là sự mô tả tưởng tượng, vì mỗi hệ điều hành sẽ có các phương tiện khác nhau. Những sự thực thi IP khác nhau có thể có các giao diện người dùng khác nhau. Tuy vậy, mọi IP phải cung cấp một tập hợp tối thiểu nào đó của các dịch vụ để bảo đảm rằng mọi sự thực thi của IP có thể hỗ trợ cùng một sự phân cấp của giao thức. Mục này chỉ rõ các giao diện chức năng được yêu cầu trong mọi sự thực thi của IP. Giao thức internet, một phía giao diện với mạng cục bộ và phía kia giao diện với một chương trình ứng dụng hoặc với một giao thức mức cao hơn. Trong phần tiếp sau đây, giao thức mức cao hơn hoặc chương trình ứng dụng (hoặc ngay cả một chương trình cổng) cũng sẽ được gọi là “người dùng” vì nó sử dụng mô-đun internet. Vì giao thức internet là một giao thức gói tin, nên sẽ có bộ nhớ tối thiểu hoặc một trạng thái được duy trì giữa các quá trình truyền gói tin, và mỗi yêu cầu mô-đun giao thức internet bởi người dùng sẽ cung cấp toàn bộ thông tin cần thiết cho IP để thực hiện dịch vụ yêu cầu. PHỤ LỤC A CÁC VÍ DỤ VÀ KỊCH BẢN Ví dụ 1: Đây là một ví dụ về gói tin internet mang dữ liệu tối thiểu: Hình 5: Ví dụ về gói tin internet Chú ý rằng mỗi dấu phân thời biểu diễn một vị trí bit. Đây là một gói tin internet trong phiên bản 4 của giao thức internet; phần mào đầu internet gồm có năm từ 32 bit và độ dài tổng của gói tin là 21 octet. Gói tin này là một gói tin đầy đủ (không phải một đoạn). Ví dụ 2: Trong ví dụ này, trước tiên là một gói tin internet có kích cỡ vừa phải (452 octet dữ liệu), sau đó là hai đoạn internet (có thể là do sự phân đoạn của gói tin này) nếu kích cỡ tối đa được phép truyền là 280 octet). Hình 6: Ví dụ về gói internet Lúc này đoạn đầu tiên là kết quả của việc phân tách gói tin sau 256 octet dữ liệu. Hình 7: Ví dụ về đoạn internet Và đoạn thứ hai Hình 8: Ví dụ về đoạn internet Ví dụ 3: Đây là một ví dụ về gói tin chứa các tùy chọn: Hình 9: Ví dụ về gói tin internet PHỤ LỤC B THỨ TỰ TRUYỀN DỮ LIỆU Thứ tự truyền phần mào đầu và dữ liệu đã mô tả trong tài liệu này được quyết định theo mức octet. Bất cứ khi nào một sơ đồ cho thấy một nhóm các octet, thì thứ tự truyền các octet đó là thứ tự bình thường mà chúng được đọc bằng tiếng Anh. Ví dụ, trong sơ đồ sau đây các octet được truyền theo thứ tự chúng được đánh số. Hình 10: Thứ tự truyền các byte Bất cứ khi nào một octet biểu diễn một đại lượng bằng số thì bit tận cùng bên trái trong sơ đồ là bit có trọng số cao nhất hoặc bit bậc cao. Tức là, bit được dán nhãn 0 là bit có trọng số cao nhất. Ví dụ, sơ đồ sau đây biểu diễn giá trị 170 (decimal). Hình 11: ý nghĩa của các bit Cũng vậy, bất cứ khi nào một trường đa octet biểu diễn một đại lượng bằng số thì bit tận cùng bên trái của toàn bộ trường là bit có trọng số cao nhất. Khi một đại lượng đa octet được truyền thì octet có trọng số cao nhất được truyền trước tiên. PHỤ LỤC C VÍ DỤ VỀ GIAO DIỆN MỨC TRÊN Hai lệnh ví dụ sau đây thỏa mãn các yêu cầu cho người dùng truyền thông mô-đun giao thức internet (“=>” có nghĩa là trả về): SEND (src, dst, prot, TOS, TTL, BufPTR, len, Id, DF, opt => result) Trong đó: src = địa chỉ nguồn dst = địa chỉ đích prot = giao thức TOS = loại dịch vụ TTL = thời gian sống BufPTR = con trỏ đệm len = độ dài bộ đệm Id = từ nhận dạng DF = không phân đoạn opt = dữ liệu tùy chọn result = tín hiệu đáp ứng OK = gói tin đã được gửi tốt Error = lỗi trong các đối số hoặc lỗi của mạng cục bộ Chú ý rằng thứ tự ưu tiên được tính đến trong TOS và tính bảo mật/phân chia ngăn được chấp nhận như một tùy chọn. RECV (BufPTR, prot, => result, src, dst, TOS, len, opt) Trong đó: BufPTR = con trỏ đệm prot = giao thức result = tín hiệu đáp ứng OK = gói tin đã được nhận tốt Error = lỗi trong các đối số len = độ dài bộ đệm src = địa chỉ nguồn dst = địa chỉ đích TOS = loại dịch vụ opt = dữ liệu tùy chọn Khi người dùng gửi một gói tin, nó thực hiện một lệnh SEND cung cấp mọi đối số. Mô-đun giao thức internet, khi nhận được lệnh này, kiểm tra các đối số, chuẩn bị và gửi bản tin. Nếu các đối số là đúng và gói tin được mạng cục bộ chấp nhận thì lệnh phản hồi thành công. Nếu các đối số là sai, hoặc gói tin không được mạng cục bộ chấp nhận thì lệnh phản hồi không thành công. Khi các lệnh phản hồi không thành công, phải thông báo về nguyên nhân của vấn đề, nhưng chi tiết của các báo cáo như vậy là tuỳ thuộc vào những sự thực thi riêng. Khi một gói tin từ mạng cục bộ đến mô-đun giao thức internet thì sẽ có hoặc không có một lệnh RECV đang treo từ người dùng đã lập địa chỉ. Trong trường hợp đầu tiên, lệnh đang treo được đáp ứng bằng cách chuyển thông tin từ gói tin đến người dùng. Trong trường hợp thứ hai, người dùng đã lập địa chỉ được thông báo về một gói tin đang treo. Nếu người dùng đã lập địa chỉ không tồn tại thì một bản tin báo lỗi của ICMP được phản hồi cho bên gửi và dữ liệu bị loại bỏ. Thông báo về một người dùng có thể qua cơ chế ngắt giả hoặc một cơ chế tương tự, thích hợp với việc thực thi trong môi trường của hệ điều hành cụ thể. Một lệnh RECV của người dùng sau đó có thể được một gói tin đang treo đáp ứng ngay lập tức, hoặc lệnh có thể treo cho đến khi một gói tin đến. Địa chỉ nguồn được bao hàm lệnh SEND đề phòng trường hợp máy chủ gửi có vài địa chỉ (nhiều kết nối vật lý hoặc nhiều địa chỉ logic). Mô-đun internet phải kiểm tra xem địa chỉ nguồn có là một trong số các địa chỉ hợp lệ đối với máy chủ này hay không. Một thực thi cũng có thể cho phép hoặc yêu cầu một lệnh đến mô-đun internet để cho biết sự quan tâm hoặc để đăng ký trước việc sử dụng độc quyền một loại gói tin (ví dụ tất cả gói tin đó có một giá trị nào đó trong trường giao thức). Mục này mô tả đặc điểm chức năng một giao diện USER/IP. Ký hiệu được sử dụng là tương tự với đa số thủ tục của các lệnh chức năng trong các ngôn ngữ mức cao, nhưng cách sử dụng này không có ý định loại trừ các lệnh của dịch vụ kiểu bẫy (ví dụ SVCs, UUOs, EMTs), hoặc bất cứ dạng truyền thông liên chương trình nào khác.