Hiện nay đang diễn ra một cuộc cách mạng công nghệ trên mạng điện thoại công cộng. Cuộc cách mạng về công nghệ này bắt đầu từ mong ước dùng một máy tính cá nhân để truyền các gói chứa tiếng nói đi qua một mạng chuyển mạch gói (Packet Switching Network). Đây là một ý tưởng đột phá dẫn đến truyền thoại qua giao thức Internet (IP) được gọi là Voice over IP (VoIP). Ý tưởng thì đã rõ nhưng thực hiện như thế nào? Việc chuyển từ các dịch vụ thoại chất lượng toll của PSTN sang VoIP quả là điều không tầm thường. Tuy nhiên, sức hấp dẫn của VoIP khiến cho nó được hiện thực qua từng bước phát triển vượt bậc của công nghệ và chỉ trong một vài năm gần đây.
Chúng ta chưa thể thay thế hoàn toàn mạng điện thoại chuyển mạch công cộng (PSTN) bằng công nghệ VoIP bởi còn nhiều điều khá phức tạp bên trong thế giới của các giao thức mới lấy IP làm nền tảng. Tuy nhiên, gần đây các giao thức cho báo hiệu cuộc gọi và điều khiển thiết bị đang được chuẩn hóa, chúng ta đang gần đạt đến một môi trường có tính liên kết hoạt động cao. Giao thức điều khiển cổng truyền thông MGCP và Megaco hiện nay đã là các tiêu chuẩn chính thức, trong khi đó các cải tiến được thừa nhận gần đây trong phiên bản 4 của H.323 đã tạo điều kiện thuận lợi khi kết hợp với các giao thức khác để tạo ra các giải pháp cho hệ thống truyền thoại hoàn chỉnh và đặc tính kết nối ngang cấp cho các mạng gói. Giao thức khởi tạo phiên (SIP) đang được xem như giao thức báo hiệu chính trong cơ cấu chuyển mạch mềm (softswitch), điều khiển gọi trong một miền (domain) và điều khiển gọi xuyên qua các ranh giới miền.
105 trang |
Chia sẻ: tuandn | Lượt xem: 2078 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Luận văn Tìm hiểu kỹ thuật VoIP và triển khai ứng dụng IVR trong tra cứu điểm sinh viên, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI MỞ ĐẦU
Hiện nay đang diễn ra một cuộc cách mạng công nghệ trên mạng điện thoại công cộng. Cuộc cách mạng về công nghệ này bắt đầu từ mong ước dùng một máy tính cá nhân để truyền các gói chứa tiếng nói đi qua một mạng chuyển mạch gói (Packet Switching Network). Đây là một ý tưởng đột phá dẫn đến truyền thoại qua giao thức Internet (IP) được gọi là Voice over IP (VoIP). Ý tưởng thì đã rõ nhưng thực hiện như thế nào? Việc chuyển từ các dịch vụ thoại chất lượng toll của PSTN sang VoIP quả là điều không tầm thường. Tuy nhiên, sức hấp dẫn của VoIP khiến cho nó được hiện thực qua từng bước phát triển vượt bậc của công nghệ và chỉ trong một vài năm gần đây.
Chúng ta chưa thể thay thế hoàn toàn mạng điện thoại chuyển mạch công cộng (PSTN) bằng công nghệ VoIP bởi còn nhiều điều khá phức tạp bên trong thế giới của các giao thức mới lấy IP làm nền tảng. Tuy nhiên, gần đây các giao thức cho báo hiệu cuộc gọi và điều khiển thiết bị đang được chuẩn hóa, chúng ta đang gần đạt đến một môi trường có tính liên kết hoạt động cao. Giao thức điều khiển cổng truyền thông MGCP và Megaco hiện nay đã là các tiêu chuẩn chính thức, trong khi đó các cải tiến được thừa nhận gần đây trong phiên bản 4 của H.323 đã tạo điều kiện thuận lợi khi kết hợp với các giao thức khác để tạo ra các giải pháp cho hệ thống truyền thoại hoàn chỉnh và đặc tính kết nối ngang cấp cho các mạng gói. Giao thức khởi tạo phiên (SIP) đang được xem như giao thức báo hiệu chính trong cơ cấu chuyển mạch mềm (softswitch), điều khiển gọi trong một miền (domain) và điều khiển gọi xuyên qua các ranh giới miền.
Trong luận văn này, chúng em tập trung nghiên cứu về: TCP/IP, công nghệ VoIP, giao thức H.323, giao thức SIP và ứng dụng của hệ thống IVR vào tra cứu điểm SV.
CHƯƠNG 1: GIỚI THIỆU TCP/IP
1.1 Giới thiệu về TCP/IP
Mạng đã trở thành nền tảng, nếu không muốn nói là phần quan trọng nhất trong hệ thống thông tin hiện nay. Chúng tạo nên cốt lõi trong việc chia sẻ thông tin trong các doanh nghiệp, chính phủ và các nhóm nghiên cứu khoa học. Thông tin đó có thể tồn tại dưới nhiều hình thức. Nó có thể được biểu hiện dưới dạng tài liệu, dữ liệu được xử lý bởi máy tính khác, những tập tin và thậm chí những dạng dữ liệu khác.
Đầu những năm 70, một nhóm những nhà nghiên cứu đã đưa ra một khái niệm mới: Internetworking. Những tổ chức chính phủ khác đã quan tâm đến vấn đề này như là mạng được kết nối lẫn nhau, chẳng hạn như ITU-T (tiền thân là CCITT) và ISO. Tất cả đều cố gắng định nghĩa một tập giao thức, được phân lớp trong một chuỗi được định nghĩa rõ ràng sao cho những ứng dụng có thể làm việc với những ứng dụng khác mà không cần biết đến kỹ thuật mạng hiện có và các hệ điều hành mà các ứng dụng này đang chạy trên đó.
Các giao thức mạng máy tính là những quy luật hoạt động chính thức điều khiển truyền thông mạng. Giao thức điều khiển việc truyền (TCP) và giao thức Internet (IP) chỉ là hai giao thức truyền dữ liệu trong chuỗi giao thức Internet. Chuỗi giao thức này thường được gọi là TCP/IP vì TCP và IP là hai giao thức quan trọng nhất trong chuỗi các giao thức này. TCP/IP chứa một tập các tiêu chuẩn đặc tả các máy tính trong mạng giao tiếp như thế nào và dữ liệu được định tuyến thông qua những máy tính đã được kết nối với nhau như thế nào.
TCP/IP cung cấp cho người lập trình ứng dụng hai dịch vụ chính: phân phối các gói không định hướng kết nối và vận chuyển dòng tin cậy. TCP/IP có một số các đặc điểm đặc trưng mà làm cho nó trở nên phổ biến, bao gồm:
Không phụ thuộc dạng hình học của mạng: TCP/IP được sử dụng trên các mạng bus, vòng và các mạng hình sao, trong các mạng cục bộ (LAN) cũng như các mạng diện rộng (WAN).
Không phụ thuộc phần cứng vật lý của mạng: TCP/IP có thể sử dụng Ethernet, TokenRing hay bất kỳ các thiết bị phần cứng nào.
Chuẩn giao thức mở: Các chuẩn của chuỗi giao thức TCP/IP luôn sẵn sàng thực hiện một cách độc lập trên bất kỳ hệ thống phần cứng nào của máy tính cũng như trên bất kỳ hệ điều hành nào. Sự chấp nhận rộng rãi của TCP/IP và thực tế TCP/IP luôn có sẵn trên các hệ thống từ những siêu máy tính đến những máy tính để bàn làm cho nó trở thành tập giao thức lý tưởng để thống nhất các phần cứng và phần mềm khác nhau.
Nguyên lý định địa chỉ tổng thể: Mỗi máy tính trên mạng TCP/IP có một địa chỉ xác định duy nhất nó sao cho bất kỳ thiết bị nào cho phép TCP/IP có thể giao tiếp với bất kỳ các thiết bị khác trong mạng. Mỗi gói dữ liệu được gửi qua mạng TCP/IP bao gồm một header chứa địa chỉ của máy tính đến cũng như địa chỉ của máy tính nguồn.
Sức mạnh của cơ cấu Client-Server: TCP/IP là cơ cấu cho những ứng dụng Client-Server đầy sức mạnh và bền vững hoạt động trong mạng cục bộ và mạng diện rộng.
Chuẩn giao thức ứng dụng: TCP/IP không chỉ cung cấp cho người lập trình một phương pháp để di chuyển dữ liệu quanh một mạng trong số những ứng dụng khách hàng, nó cũng cung cấp cho nhiều giao thức cấp ứng dụng thực hiện những chức năng chung như email và chuyển file.
Đối với hãng phát triển phần mềm BSD, những lập trình viên không đơn giản sử dụng TCP/IP, họ thêm một lớp trừu tượng được những người phát triển ứng dụng dùng gọi là socket. Socket tạo điều kiện thuận lợi cho những lập trình viên ứng dụng viết code cho mạng. Những lập trình viên BSD cũng thêm một vài công cụ đến hệ điều hành UNIX của họ được xây dựng trên những lệnh đã tồn tại trước trong những môi trường tính toán độc lập. Với sự phổ biến của BSD UNIX ở các trường đại học, phạm vi của Internet được kết nối ngày càng lớn mạnh. Ngày nay, Internet đã kết nối hơn hai triệu máy tính và bốn mươi triệu người trên toàn thế giới.
1.2 Khối giao thức TCP/IP
Bảy lớp trong mô hình OSI và cách mà chúng thể hiện như một khối mà lớp này xếp chồng lên lớp kia dẫn tới khái niệm khối giao thức hay đơn giản là khối. Khối giao thức chỉ đến một vài giao thức truyền thông mạng, có cả TCP/IP, bao gồm nhiều lớp phần mềm luận lý mà mỗi lớp liên kết trực tiếp với lớp trên và dưới nó. Trên cùng của khối này là lớp ứng dụng nơi mà những lập trình viên ứng dụng cung cấp. Đáy của khối thường là lớp giao tiếp với phần cứng mạng.
TCP/IP không tuân theo hoàn toàn như mô hình OSI. Mặc dù cả hai mô hình đều có mục đích là tạo điều kiện thuận lợi cho việc truyền thông giữa các mô hình và cấu tạo máy tính khác nhau, thậm chí khi những máy này chạy trên hệ điều hành khác nhau, mỗi mô hình mạng cũng tạo ra những sự thực hiện khác nhau. Trong khi mô hình OSI được điều chỉnh bởi một tổ chức định chuẩn lớn mà phải mất một thời gian dài để tạo ra và chấp nhận, TCP/IP được tạo ra bởi nhu cầu tức thời của chính phủ Mỹ. Sự phát triển của TCP/IP không quá cồng kềnh với những yêu cầu khắt khe như OSI. Đa số sự tiến triển của TCP/IP đều được thực hiện trên những nhóm nhỏ và những cá nhân qua sự bảo đảm của RFC. Quá trình tạo ra và chấp nhận cũng nhanh chóng hơn so với các thủ tục tương ứng của OSI. Điều này khiến nhiều người nghĩ rằng TCP/IP là một kiến trúc nghèo nàn. Nhưng trên thực tế, TCP/IP là một tập giao thức được sử dụng để kết nối các máy tính trên toàn thế giới nhiều hơn bất kỳ giao thức nào khác.
Mặc dù OSI và TCP/IP khác nhau, mô hình bảy lớp vẫn có ích để tham khảo khi nói về truyền dữ liệu. Kiến trúc TCP/IP chia làm 4 lớp tương đương với 7 lớp của mô hình OSI. Sự tương đương đó được thể hiện cụ thể như sau:
Hình 1.1: Sự tương đương của TCP/IP và mô hình OSI
1.2.1 Lớp ứng dụng (Application)
Lớp ứng dụng bao gồm các ứng dụng được sử dụng trong mạng. Lớp ứng dụng và lớp đại diện của mô hình OSI nằm trong lớp ứng dụng của kiến trúc TCP/IP. Ví dụ, nếu dữ liệu được truyền giữa hai chương trình ngang hàng được nén thì ứng dụng sẽ có trách nhiệm nén và giải nén. Thực ra lớp vận chuyển cũng có liên quan đến lớp ứng dụng chứ không tách ra thành một thực thể như trong mô hình OSI.
Các giao thức của ứng dụng là FTP, HTTP, SMTP, DNS, TFTP và SNMP. Giao diện giữa lớp ứng dụng và lớp vận chuyển được định nghĩa bởi số cổng và socket.
FTP (File Transfer Protocol): giao thức truyền file.
HTTP (Hypertext Trasnfer Protocol).
SMTP (Simple Mail Transfer Protocol): nghi thức truyền mail đơn giản.
DNS (Domain Name System): hệ thống tên miền.
TFTP (Trivial File Transfer Protocol): nghi thức truyền file đơn giản.
SNMP (Simple Netword Management Protocol): giao thức quản lý mạng.
1.2.2 Lớp vận chuyển (Transport)
Lớp vận chuyển cung cấp phân phối dữ liệu từ đầu cuối đến đầu cuối. Lớp vận chuyển và lớp phiên trong mô hình OSI nằm trong lớp vận chuyển của kiến trúc TCP/IP. Một socket TCP/IP là một đầu cuối của giao tiếp bao gồm một địa chỉ máy tính và một cổng đặc biệt cho máy tính đó. Nhiệm vụ của lớp vận chuyển là phân mảnh dữ liệu lớp ứng dụng để truyền đi (sender), tập hợp các segment (receiver), nó cung cấp truyền thông tin cậy, điều khiển dòng, và cơ chế truyền lại. Protocol sử dụng là TCP hoặc UDP.
TCP (Transmission Control Protocol): là protocol định hướng kết nối, thiết lập kênh truyền logic trước khi gửi dữ liệu.
UDP (User Datagram Protocol): là protocol không định hướng kết nối.
1.2.3 Lớp mạng (Internet)
Còn gọi là lớp Network hay Internetwork. Lớp này định nghĩa gói dữ liệu và xử lý định tuyến cho datagram. Datagram là một gói dữ liệu được điều khiển bởi giao thức IP. Một datdagram chứa một địa chỉ nguồn, địa chỉ đích, dữ liệu cũng như các trường điều khiển. Chức năng của lớp này tương đương với chức năng của lớp mạng trong mô hình OSI. Nó có trách nhiệm đóng gói vào mạng sẵn có từ những lớp trên cũng như xử lý địa chỉ và phân phát các datagram. IP không cung cấp tính tin cậy, điều khiển dòng và khắc phục lỗi. Những chức năng này phải được cung cấp ở lớp cao hơn. Những giao thức lớp Internet bao gồm:
IP (Internet Protocol): connectionless, tìm đường để chuyển datagram đến đích.
ICMP (Internet Control Message Protocol): cung cấp khả năng điều khiển, cung cấp một số thông điệp điều khiển để tìm lỗi trên mạng.
ARP (Address Resolution Protocol): xác định địa chỉ lớp datalink (địa chỉ MAC gồm 48 bit) cho địa chỉ IP đã biết.
RARP (Reverse Address Resolution Protocol): xác định địa chỉ mạng khi biết địa chỉ lớp datalink.
1.2.4 Lớp giao diện mạng (Network Interface)
TCP/IP không định nghĩa những kết nối vật lý cho mạng sẵn có. Thay vào đó, nó sử dụng những chuẩn đã tồn tại trước do các tổ chức ví dụ như IEEE định nghĩa RS232, Ethernet và các giao diện điện tử khác dùng trong truyền dữ liệu. Lớp này có thể hoặc không cung cấp phân phát tin cậy, có thể định hướng dòng hay định hướng gói. TCP/IP không đặc tả bất kỳ giao thức nào ở đây nhưng có thể sử dụng hầu hết các giao diện mạng có sẵn, thể hiện sự linh động của lớp IP.
Sự di chuyển dữ liệu giữa các lớp trong mạng TCP/IP được thể hiện trong hình:
Hình 1.2: Sự di chuyển dữ liệu giữa các lớp trong mô hình TCP/IP
Khi một gói được gửi, nó đến lớp vận chuyển và header của lớp vận chuyển được thêm vào. Sau đó, lớp Internet cũng thêm header của nó vào. Cuối cùng lớp Network Interface cũng thêm header của nó vào. Khi một gói dữ liệu nhận được, quá trình được tiến hành ngược lại để tạo ra dữ liệu ban đầu cho lớp ứng dụng.
1.3 Nguyên lý đánh địa chỉ IP
Một trong những đặc điểm đặc trưng của TCP/IP được miêu tả trước đây là khả năng đánh địa chỉ tổng thể. Mỗi máy tính trong mạng TCP/IP có một địa chỉ duy nhất xác định nó. Nguyên lý định địa chỉ tổng thể này mở rộng trên phạm vi Internet toàn cầu, kết nối hơn hai triệu máy tính và hàng ngàn mạng với nhau.
Trách nhiệm của IP là phải phân phát các datagram giữa các máy tính trong mạng TCP/IP, để sự phân phát đó có khả năng thực hiện, mỗi máy tính phải có một địa chỉ IP duy nhất là số gồm 32 bit. Địa chỉ IP chứa những thông tin quan trọng để phân biệt một mạng và một máy tinh cụ thể trong một mạng.
1.3.1 Các lớp mạng
Vì địa chỉ IP của máy tính xác định duy nhất không chỉ máy tính mà còn mạng chứa máy tính đó nên địa chỉ IP phải tách thành hai phần. Một phần xác định mạng (Net ID) và một phần xác định máy tính (Host ID). Sự tách biệt hai phần này không phải như nhau cho tất cả các địa chỉ IP. Lớp của địa chỉ sẽ quyết định bao nhiêu bit của địa chỉ dành cho phân biệt mạng và bao nhiêu bit dành cho phân biệt máy. Có 5 lớp địa chỉ IP mà chỉ có 3 lớp được sử dụng chính: lớp A, B, C cho các mục đích chung, lớp D và E cho các mục đích đặc biệt và dự trữ cho các mục đích sau này.
Hình sau chỉ ra định dạng của một địa chỉ IP:
Hình 1.3: Định dạng của địa chỉ IP
Không có một sự khác nhau rõ ràng nào trong các lớp địa chỉ A, B, C. Một máy tính có địa chỉ lớp A có thể giao tiếp với một máy tính có địa chỉ lớp C và một máy tính có địa chỉ lớp A có thể giao tiếp với máy tính khác cũng có địa chỉ lớp A. Bảng sau chỉ ra số mạng lớn nhất và số máy tính lớn nhất trong mạng đối với từng lớp địa chỉ.
Bảng 1.1: Định vị các lớp địa chỉ IP
Lớp mạng
Số mạng
Số các host trong một mạng
A
126
16777214
B
16382
65534
C
2097150
254
Lớp A:
Địa chỉ IP của lớp A được xác định bằng một bit 0 bậc cao nhất, 7 bit cao tiếp theo sẽ xác định mạng và 24 bit còn lại xác định máy tính.
Lớp B:
Địa chỉ IP của lớp B được xác định bằng 2 bit cao nhất là 10, 14 bit tiếp theo xác định mạng và 16 bit cuối cùng xác định máy tính.
Lớp C:
Địa chỉ IP của lớp C được xác định bằng 3 bit cao nhất là 110, 21 bit tiếp theo xác định mạng và 8 bit cuối cùng xác định máy tính.
Lớp D:
Các địa chỉ lớp D được dành cho multicasting (một loại của broadcasting nhưng trong một khu vực giới hạn và chỉ đến những máy sử dụng cùng địa chỉ lớp D).
Lớp E:
Các địa chỉ lớp E được dùng cho mục đích sử dụng sau này.
Hình 1.4: Các lớp địa chỉ IP
Không phải tất cả các định danh mạng và máy tính đều được sử dụng. Nếu so sánh bảng với sự miêu tả riêng cho từng lớp thì không phải tất cả các sự tổ hợp của các bit đều được chứa trong bảng. Chẳng hạn như đối với lớp A thì có tổng cộng 27 = 128, nhưng chỉ sử dụng 126 dùng để xác định mạng và 224 = 16777216 dùng để xác định máy tính nhưng đã bớt đi hai tổ hợp. Một vài địa chỉ đó được dùng cho những mục đích đặc biệt.
Các địa chỉ IP đặc biệt
Tất cả các phần của địa chỉ IP có tất cả các giá trị đều là 0 hay 1 đều có một ý nghĩa đặc biệt.
Tất cả các bit 0:
Nếu Host ID = 0 thì có nghĩa là máy này. Nếu Net ID = 0 thì có nghĩa là mạng này. Khi một máy muốn giao tiếp trên một mạng nhưng không biết địa chỉ IP của mạng, nó gửi một gói với Net ID = 0. Tất cả các máy khác trên mạng sẽ hiểu là mạng này. Đáp ứng của chúng sẽ chứa địa chỉ mạng được bổ sung đầy đủ mà người gửi sẽ lưu lại cho các mục đích sử dụng sau này.
Tất cả các bit 1:
Đại diện cho tất cả các mạng hay tất cả các máy tính. Ví dụ, địa chỉ sau đây có nghĩa là tất cả các máy trên mạng 128.2 (địa chỉ lớp B): 128.2.255.255. Địa chỉ này được gọi là một địa chỉ broadcast trực tiếp.
Loopback:
Mạng lớp A 127.0.0.0 được định nghĩa như mạng lặp vòng. Những địa chỉ từ mạng đó được đăng ký đến giao diện xử lý dữ liệu trong một hệ thống cục bộ và không bao giờ truy cập một mạng vật lý (giao diện lặp vòng).
Net ID
Host ID
Type of Address
Purpose
All 0
All 0
This computer
Bootstrap
Network
All 0
Network
Identify net
Network
All 1
Direted broadcast
Broadcast in specific net
All 1
All 1
Limited broadcast
broadcast inlocal net
127
Any
Loopback
Testing
Hình 1.5: Địa chỉ IP đặc biệt
1.3.2 Biểu diễn thập phân cách nhau bởi dấu chấm
Định dạng của một địa chỉ IP được miêu tả dường như rất khó khăn. Nhưng điều này sẽ được giải thoát bởi cách biểu diễn thập phân cách nhau bởi dấu chấm. Cách biểu diễn này gồm 4 số thập phân có giá trị trong khoảng từ 0 đến 255 cách nhau bởi dấu chấm. Mỗi giá trị đại diện 8 bit của địa chỉ IP. Bốn giá trị này tập hợp thành địa chỉ IP gồm 32 bit.
Địa chỉ IP được biểu diễn theo dạng thập phân như sau 166.78.4.139 được lấy làm ví dụ. Hình biểu diễn nhị phân của địa chỉ IP này.
Hình 1.6: Giải mã địa chỉ IP
Bit 31 là 1, vì vậy nó chỉ ra máy tính này có địa chỉ mạng lớp B hoặc C. Bit 30 là 0 chỉ ra rằng nó thuộc mạng lớp B. Miêu tả trước đây chỉ ra rằng địa chỉ mạng lớp B có 14 bit dành cho Net ID và 16 bit dành cho Host ID. Đường chia cách 2 phần nằm ở giữa hai bit 15 và 16. Có thể dịch địa chỉ này như sau: máy tính nằm trong mạng 166.78 và là host 4.139.
Những người thực hiện TCP/IP nhận ra rằng con người nên cần một phương pháp dễ hơn để truy cập những thông tin này. Vì vậy họ đưa ra một phương pháp mà một tên văn bản dễ nhớ sẽ đại diện cho địa chỉ IP. Sự thông dịch tên thành địa chỉ IP được hỗ trợ bởi một vài phương pháp mà cách đơn giản nhất là sử dụng một file ASCII với mỗi dòng của file có địa chỉ IP bên trái và tên bên phía phải. Tập tin này thường được gọi là host file.
Việc sử dụng host file chỉ được thực hiện trong một mạng nhỏ với số máy tính tương đối nhưng sự quản lý một file như vậy sẽ không thực hiện được và là không thể khi số lượng máy tính lên đến hàng ngàn như Internet hay các mạng của các tập đoàn lớn. Trong trường hợp này, một server định danh sẽ được sử dụng.
1.4 Các giao thức lớp Internet
Lớp Internet định nghĩa các datagram và xử lý định tuyến các datagram đó. IP là giao thức quan trọng nhất của chuỗi giao thức TCP/IP vì nó được sử dụng bởi tất cả các giao thức TCP/IP khác và tất cả dữ liệu phải đi qua nó. IP cũng đuợc xem là khối chính xây dựng nên Internet.
1.4.1 Giao thức IP
IP là một giao thức không định hướng kết nối, có nghĩa là không có một sự liên kết đầu cuối đến đầu cuối nào được thành lập trước khi dữ liệu được truyền. Điều này trái với giao thức định hướng kết nối trao đổi thông tin điều khiển giữa các host để thành lập kết nối trước khi dữ liệu được truyền. IP cũng không đảm bảo phân phát dữ liệu một cách tin cậy. Các gói dữ liệu có thể đến đích sai thứ tự, trùng dữ liệu hay các trường hợp khác. IP dựa trên những lớp khác như lớp vận chuyển TCP để cung cấp đặc tính tin cậy.
Đơn vị cơ bản xây dựng nên IP là các datagram. Mỗi datagram có địa chỉ nguồn và địa chỉ đích. Định tuyến dữ liệu được thực hiện ở mức datagram. Khi một datagram được định tuyến từ mạng này qua mạng khác, nó có thể chia gói dữ liệu thành nhiều phần nhỏ hơn. Quá trình này gọi là quá trình phân mảnh và cũng là nhiệm vụ của lớp IP. Phân mảnh được yêu cầu ở một số mạng vì các thành phần phần cứng tạo nên mạng có các kích thước gói lớn nhất khác nhau. Ở phía nhận, IP phải ghép các gói này lại sao cho host đích nhận được dữ liệu ban đầu.
Hình 1.7: Header của IP Datagram
IP-header gồm nhiều từ 32 bit ghép lại, tạo thành một cấu trúc nhiều trường (field) như sau:
Vers: dài 4 bit, chứa version của IP. Vùng này có giá trị mặc nhiên là 4.
HLEN (Header Length): dài 4 bit, cho biết chiều dài của header của IP Datagram tính bằng word.
Service Type: dài 8 bit, chứa các giá trị quy định mức độ ưu tiên của datagram, được gán bởi protocol lớp trên.
Total length: dài 16 bit, xác định chiều dài IP-datagram tính bằng word.
ID: dài 16 bit, dùng để đánh số các gói nhỏ (packet hay fragment) sau khi phân mảnh datagram. Nhờ ID, việc tái hợp datagram mới có thể thực hiện được.
Flag: cờ, gồm 3 trường nhỏ sau (bit đầu không sử dụng):
DF (Don’t Fragment): dài 1 bit, nếu có giá trị 1 thì datagram đó không được phép chia nhỏ
MF (More Fragment): dài 1 bit, nếu MF = 1 có nghĩa là còn có gói nhỏ đứng sau nó trong thao tác phân mảnh datagram, ngược lại MF = 0 có nghĩa rằng đây là gói cuối cùng trong một lọat các gói nhỏ được phân mảnh từ một datagram.
FO (Fragment Offset): dài 12 bit, chứa giá trị offset của gói đó trong datagram tính theo đơn vị 8 bit (1 octet). Ví dụ sau đây là việc phân mảnh datagram thành hai gói nhỏ (fragment) và cách tìm offset cho các fragment.
0
…
511
512
…
1000
Hình 1.8: Sau khi chia thành hai fragment
Fragment 0
0
…
511
FO = 0,
offset = 0*8
Fragment 1
512
…
1000
FO = 64,
offset = 64*8
Hình 1.9: Sự phân mảnh của datagram
TTL (Time To Live): dài 8 bit, là tuổi thọ của datagram do nơi gởi ấn định. Mỗi lần datagram đi qua