- Thực thể: là thành phần tớch cực trong mỗi tầng, nú cú thể là một tiến trỡnh
5.5. Vấn đề tắc nghẽn và điều khiển luồng dữ liệu
5.5.1. Vấn đề tắc nghẽn
Khi cú quỏ nhiều gúi tin trong mạng hay một phần của mạng làm việc cho hiệu suất của mạng bị giảm đi vỡ cỏc nỳt mạng khụng cú đủ khả năng lưu trữ, xử lý, gửi đi và chỳng bắt đầu bị mất cỏc gúi tin. Hiện tượng này được gọi là sự tắc nghẽn (congestion) trong mạng.
Hàng đợi sẽ bị đầy (phải lưu tập tin, tạo cỏc bảng chọn đường…) nếu khả năng xử lý của nỳt yờu đi hoặc khi thụng tin vào nhiều hơn khả năng của đường ra.
Điều khiển dũng dữ liệu là xử lý giao thụng giữa điểm với điểm, giữa tạm thu và phỏt. Trong khi đú điều khiển trỏnh tắc nghẽn là một vấn đề tổng quỏt hơn bao gồm việc tạo ra hoạt động hợp lý của cỏc mỏy tớnh của cỏc nỳt mạng, quỏ trỡnh lưu trữ bờn trong nỳt, điều khiển tất cả cỏc yếu tố làm giảm khả năng vận chuyển của toàn mạng.
• Cỏc biện phỏp ngăn ngừa
Bố trớ khả năng vận chuyển, lưu trữ, xử lý của mạng dư so với yờu cầu. Hủy bỏ cỏc gúi tin bị tắc nghẽn quỏ thời hạn.
Hạn chế số gúi tin vào mạng nhờ cơ chế cở sổ (flow control). Chặn đường vào của gúi tin khi mạng quỏ tải
5.5.2. Điều khiển luồng (Flow Control)
Hỡnh 5.3. Điều khiển luồng (flow control)
Khi lớp vận chuyển gửi cỏc phõn đoạn dữ liệu, nú cố gắng đảm bảo rằng dữ liệu khụng bị mất. Một host tiếp nhận số liệu nhưng khụng thể xử lý kịp theo tốc độ dữ liệu đến cú thể đỏnh mất dữ liệu. Host thu buộc phải loại bỏ. Điều khiển luồng nhằm ngăn chặn tỡnh trạng host truyền làm tràn ngập bộ đệm của host thu. TCP cung cấp cơ cấu điều khiển luồng bằng cỏch cho phộp host truyền và host thu nhận thức được tỡnh trạng của nhau qua kờnh liờn lạc. Sau đú hai host thiết đặt một tốc độ truyền sao cho đạt được sự thống nhất của cả hai phớa.
5.6. Giao thức liờn mạng (Internet Protocol)5.6.1. Giới thiệu chung 5.6.1. Giới thiệu chung
Giao thức liờn mạng IP là một trong những giao thức quan trọng nhất của bộ giaothức TCP/IP. Mục đớch của giao thức liờn mạng IP là cung cấp khả năng kết nối cỏc mạng con thành liờn mạng để truyền dữ liệu. IP là giao thức cung cấp dịch vụ phõn phỏt datagram theo kiểu khụng liờn kết và khụng tin cậy nghĩa là khụng cần cú giai đoạn thiết lập liờn kết trước khi truyền dữ liệu, khụng đảm bảo rằng IP datagram sẽ tới đớch và khụng duy trỡ bất kỳ thụng tin nào về những datagram đó gửi đi. Khuụn dạng đơn vị dữ liệu dựng trong IP được thể hiện trờn hỡnh vẽ 5.4.
Hỡnh 5.4: Khuụn dạng dữ liệu trong IP
• í nghĩa cỏc tham số trong IP header:
− Version (4 bit): chỉ phiờn bản (version) hiện hành của IP được cài đặt. − IHL (4 bit): chỉ độ dài phần header tớnh theo đơn vị từ (word - 32 bit) − Type of Service (8 bit): đặc tả tham số về yờu cầu dịch vụ
− Total length (16 bit): chỉ độ dài toàn bộ IP datagram tớnh theo byte. Dựa vào trường này và trường header length ta tớnh được vị trớ bắt đầu của dữ liệu trong IP datagram.
− Indentification (16 bit): là trường định danh, cựng cỏc tham số khỏc như địa chỉ nguồn (Source address) và địa chỉ đớch (Destination address) để định danh duy nhất cho mỗi datagram được gửi đi bởi 1 trạm. Thụng thường phần định danh (Indentification) được tăng thờm 1 khi 1 datagram được gửi đi.
− Flags (3 bit): cỏc cờ, sử dụng trong khi phõn đoạn cỏc datagram.
0 1 2
0 DF MF
Bit 0: reseved (chưa sử dụng, cú giỏ trị 0) bit 1: ( DF ) = 0 (May fragment)
= 1 (Don’t fragment) bit 2 : ( MF) =0 (Last fragment) =1 (More Fragment)
− Fragment Offset (13 bit): chỉ vị trớ của đoạn phõn mảnh (Fragment) trong datagram tớnh theo đơn vị 64 bit.
− TTL (8 bit): thiết lập thời gian tồn tại của datagram để trỏnh tỡnh trạng datagram bị quẩn trờn mạng. TTL thường cú giỏ trị 32 hoặc 64 được giảm đi 1 khi dữ liệu đi qua
mỗi router. Khi trường này bằng 0 datagram sẽ bị hủy bỏ và sẽ khụng bỏo lại cho trạm gửi.
− Protocol (8 bit): chỉ giao thức tầng trờn kế tiếp
− Header checksum (16 bit): để kiểm soỏt lỗi cho vựng IP header. − Source address (32 bit): địa chỉ IP trạm nguồn
− Destination address (32 bit): địa chỉ IP trạm đớch
− Option (độ dài thay đổi): khai bỏo cỏc tựy chọn do người gửi yờu cầu, thường là: + Độ an toàn và bảo mật,
+ Bảng ghi tuyến mà datagram đó đi qua được ghi trờn đường truyền, + Time stamp,
+ Xỏc định danh sỏch địa chỉ IP mà datagram phải qua nhưng datagram khụng bắt buộc phải truyền qua router định trước,
+ Xỏc định tuyến trong đú cỏc router mà IP datagram phải được đi qua.
5.6.2. Kiến trỳc địa chỉ IP (IPv4)Địa chỉ IP (IPv4): Địa chỉ IP (IPv4):
Địa chỉ IP (IPv4) cú độ dài 32 bit và được tỏch thành 4 vựng, mỗi vựng (mỗi vựng 1 byte) thường được biểu diễn dưới dạng thập phõn và được cỏch nhau bởi dấu chấm (.). Vớ dụ: 203.162.7.92.
Địa chỉ IPv4 được chia thành 5 lớp A, B, C, D, E; trong đú 3 lớp địa chỉ A, B, C được dựng để cấp phỏt. Cỏc lớp này được phõn biệt bởi cỏc bit đầu tiờn trong địa chỉ.
Lớp A (0) cho phộp định danh tới 126 mạng với tối đa 16 triệu trạm trờn mỗi mạng. Lớp này thường được dựng cho cỏc mạng cú số trạm cực lớn (thường dành cho cỏc cụng ty cung cấp dịch vụ lớn tại Mỹ) và rất khú được cấp.
Lớp B (10) cho phộp định danh tới 16384 mạng với tối đa 65534 trạm trờn mỗi mạng. Lớp địa chỉ này phự hợp với nhiều yờu cầu nờn được cấp phỏt nhiều nờn hiện nay đó trở nờn khan hiếm.
Lớp C (110) cho phộp định danh tới 2 triệu mạng với tối đa 254 trạm trờn mỗi mạng. Lớp này được dựng cho cỏc mạng cú ớt trạm.
Hỡnh 5.5. Phõn lớp địa chỉ IPv4
Lớp D (1110) dựng để gửi gúi tin IP đến một nhúm cỏc trạm trờn mạng (cũn được gọi là lớp địa chỉ multicast)
Lớp E (11110) dựng để dự phũng
Bảng cỏc lớp địa chỉ Internet
Ngoài ra cũn một số địa chỉ được quy định dựng riờng (private address). Cỏc địa chỉ này chỉ cú ý nghĩa trong mạng của từng tổ chức nhất định mà khụng được định tuyến trờn Internet. Việc sử dụng cỏc địa chỉ này khụng cần phải xin cấp phộp.
Vớ dụ: 192.168.0.0 – 192.168.255.255
Vớ dụ: Dạng nhị phõn Dạng thập phõn 11001011 10100010 00000111 01011100 203.162.7.92 00001001 01000011 00100110 00000001 9.67.38.1 11001011.10100010.00000111.01011100 203.162.7.92 11001011 27 + 26 + 23 + 21 + 20 = 128 + 64 + 8 +2 + 1 = 203 10100010 27 + 25 +21 = 128 + 32 + 2 = 162 00000111 22 + 21 +20 = 4 + 2 + 1 = 7 01011100 26 + 24 + 23 + 22 = 64 + 16 + 8 + 4 = 92 Địa chỉ mạng con:
Đối với cỏc địa chỉ lớp A, B số trạm trong một mạng là quỏ lớn và trong thực tế thường khụng cú một số lượng trạm lớn như vậy kết nối vào một mạng đơn lẻ. Địa chỉ mạng con cho phộp chia một mạng lớn thành cỏc mạng con nhỏ hơn. Người quản trị mạng cú thể dựng một số bit đầu tiờn của trường hostid trong địa chỉ IP để đặt địa chỉ mạng con. Chẳng hạn đối với một địa chỉ thuộc lớp A, việc chia địa chỉ mạng con cú thể được thực hiện như sau:
Việc chia địa chỉ mạng con là hoàn toàn trong suốt đối với cỏc router nằm bờn ngoài mạng, nhưng nú là khụng trong suốt đối với cỏc router nằm bờn trong mạng.
Hỡnh 5.6: Vớ dụ minh họa cấu hỡnh Subnet
Mặt nạ địa chỉ mạng con:
Bờn cạnh địa chỉ IP, một trạm cũng cần được biết việc định dạng địa chỉ mạng con: bao nhiờu bit trong trường hostid được dựng cho phần địa chỉ mạng con (subnetid). Thụng tin này được chỉ ra trong mặt nạ địa chỉ mạng con (subnet mask). Subnet mask cũng là một số 32 bit với cỏc bit tương ứng với phần netid và subnetid được dặt bằng 1 cũn cỏc bit cũn lại được đặt bằng 0.
Như vậy, địa chỉ thực của một trạm sẽ là hợp của địa chỉ IP và subnet mask. Vớ dụ với địa chỉ lớp C: 203.162.7.92, trong đú:
203.162.7 Địa chỉ mạng 92 Địa chỉ IP của trạm
Nếu dựng 3 bit đầu của trường hostid để đỏnh subnet subnet mask sẽ là: 11111111.11111111.11111111.11100000 = 255.255.255.224
Địa chỉ của subnet:
11001011.10100010.00000111.01011100 11111111.11111111.11111111.111- - - - -
--- AND Logic 11001011.10100010.00000111.010- - - = 203.162.7.64 (Subnet address)
Địa chỉ trạm: trạm thứ 28 trong Subnet 203.162.7.64
Trong thực tế subnet mask thường được viết kốm với địa chỉ IP theo dạng thu gọn sau: 203.162.7.92/27; trong đú 27 chớnh là số bit được đặt giỏ trị là 1 (gồm cỏc bit thuộc địa chỉ mạng và cỏc bit dựng cho Subnet). Như vậy ở đõy ta cú thể hiểu ngay
được với subnet mask là 27 thỡ tương ứng với 11111111.11111111.11111111.111- - - - -.
Cỏc địa chỉ IP đặc biệt: cú 7 loại địa chỉ IP đặc biệt được mụ tả như trong bảng sau:
Bảng cỏc địa chỉ IP đặc biệt
Trong bảng trờn, 0 nghĩa là tất cả cỏc bit của trường đều bằng 0, cũn 1 nghĩa là tất cả cỏc bit của trường đều bằng 1.
5.6.3. Chọn tuyến (IP routing)
Bờn cạnh việc cung cấp địa chỉ để chuyển phỏt cỏc gúi tin, chọn tuyến là một chức năng quan trọng của lớp IP.
Ta thấy rằng lớp IP nhận datagram từ TCP, UDP, ICMP hoặc IGMP để gửi đi hoặc nhận datagram từ giao tiếp mạng để chuyển tiếp. Lớp IP cú một bảng định tuyến để truy cập mỗi khi nhận được một datagram để gửi đi. Khi một datagram được nhận từ tầng kết nối dữ liệu, đầu tiờn IP sẽ kiểm tra xem địa chỉ IP đớch là địa chỉ của chớnh nú hay một địa chỉ quảng bỏ, nếu đỳng thỡ datagram sẽ được cấp phỏt cho giao thức đó được chỉ định trong protocol của IP header. Nếu datagram khụng được gửi tới địa chỉ IP này nú sẽ được chuyển tiếp trong trường hợp lớp IP được cấu hỡnh đúng vai trũ như mụt router hoặc bị hủy bỏ trong trường hợp ngược lại.
IP duy trỡ một bảng chọn tuyến để truy nhập mỗi khi cú gúi tin cần chuyển tiếp. Mỗi mục trong bảng chọn tuyến gồm những thụng tin sau:
− Địa chỉ IP đớch: là địa chỉ đỡch cần tới, đú cú thể là địa chỉ IP của một trạm hoặc địa chỉ IP của một mạng tựy thuộc vào cờ của đầu vào này.
− Địa chỉ IP của router kế tiếp: là địa chỉ của router được nối trực tiếp với mạng và ta cú thể gửi datagram tới đú để cho router kế tiếp phõn phỏt. Router kế tiếp khụng phải là đớch nhưng nú cú thể nhận lấy datagram được gửi tới và chuyển tiếp datagram này tới đớch cuối cựng.
− Cờ: xỏc định địa chỉ IP của router kế tiếp là một địa chỉ một trạm hay là một mạng, router kế tiếp là một router thực hay là một trạm kết nối trực tiếp vào mạng.
− Giao tiếp mạng: xỏc định giao tiếp mạng nào mà datagram phải gửi qua đú để tới đớch.
Hỡnh 5.7: Chọn tuyến trong IP
Việc chọn tuyến của IP được thực hiện theo cỏc trỡnh tự sau:
− Tỡm kiếm trong bảng chọn tuyến xem cú mục nào khớp với địa chỉ đớch (cả phần networkID và hostID). Nếu thấy thỡ sẽ gửi gúi dữ liệu tới router kế tiếp hay giao tiếp mạng kết nối trực tiếp đó được chỉ định trong mục này.
− Tỡm trong bảng chọn tuyến xem cú mục nào được coi là mặc định (default). Nếu thấy thỡ gửi gúi dữ liệu tới router kế tiếp đó được chỉ ra.
Nếu sau cỏc bước trờn mà datagram khụng được gửi đi thỡ trạm thực hiện việc chuyển tiếp gửi thụng bỏo lỗi “host unreachable” hoặc “network unreachable” tới trạm tạo ra datagram này.
Khả năng xỏc định một tuyến tới một mạng mà khụng phải là tuyến tới một trạm là một đặc trưng cơ bản của việc chọn tuyến trong lớp giao thức IP. Điều này cho phộp giảm kớch thước của bảng chọn tuyến, cho phộp router trờn Internet chỉ cú bảng chọn tuyến với hàng ngỡn đầu vào thay vỡ hàng triệu đầu vào tới cỏc trạm.
Hỡnh 5.8: Quỏ trỡnh xử lý thực hiện ở lớp IP
Ở đõy ta cần phõn biệt thờm về hai khỏi niệm: cơ chế chọn tuyến và chiến lược chọn tuyến. Cơ chế chọn tuyến là việc tỡm kiếm trong bảng định tuyến và quyết định xem gúi tin sẽ được gửi ra ngoài theo giao diện mạng nào. Cơ chế chọn tuyến được thực hiện bởi lớp IP. Chiến lược chọn tuyến là một tập hợp cỏc luật qui định xem cỏc tuyến nào sẽ được đưa vào bảng chọn tuyến. Chiến lược chọn tuyến được thực hiện bởi chương trỡnh chọn tuyến (chẳng hạn routed). Chương trỡnh chọn tuyến thực hiện việc cập nhật bảng chọn tuyến bằng cỏch giao tiếp với chương trỡnh chọn tuyến của cỏc trạm khỏc trong mạng. Việc giao tiếp này giữa cỏc chương trỡnh chọn tuyến tuõn thủ thao một giao thức nhất định. Cú thể túm tắt việc chọn tuyến thực hiện ở lớp IP trong sơ đồ hỡnh 5.8.
5.6.4. Giao thức liờn mạng thế hệ mới (IPv6)
Giao thức IPv4 đó được coi là nền tảng cho mạng Internet với những tớnh chất ưu việt của nú, tuy nhiờn với sự bựng nổ về Internet giao thức IPv4 đó bộc lộ một số yếu điểm về tớnh năng, trong đú nổi bật là:
− Thiếu hụt về tớnh năng xỏc thực, an ninh của gúi tin trờn mạng. Khả năng mở rộng hạn chế.
− Thiếu hụt khụng gian địa chỉ. Với sự phỏt triển của mạng Internet, khụng gian địa chỉ IP cú thể sử dụng thực sự là rất nhỏ do cỏc địa chỉ lớp A được dành chủ yếu cho cỏc cụng ty cung cấp dịch vụ lớn tại Mỹ và rất hạn chế trong việc cấp phỏt. Cỏc địa chỉ lớp B nhanh chúng bị sử dụng hết do nú cung cấp số địa chỉ vừa phải. Hiện nay nhiều yờu cầu chỉ được đỏp ứng bằng cỏc địa chỉ lớp C với số địa chỉ rất hạn chế.
− Sự gia tăng số lượng cỏc chỉ mục trong bảng định tuyến do cơ chế định tuyến khụng phõn cấp dẫn đến yờu cầu nõng cấp cỏc router và và định tuyến khụng hiệu quả.
− Ngày nay, với cỏc nhu cầu kết nối vào mạng Internet của cỏc dịch vụ khỏc như điện thoại di động, truyền hỡnh số,… đũi hởi giao thức IPv4 cần cú cỏc sửa đổi để đỏp ứng cỏc nhu cầu mới.
Trước những nhu cầu này, giao thức liờn mạng thế hệ mới IPv6 đó ra đời nhằm thay thế cho IPv4, nhưng cho đến nay IPv6 vẫn chỉ mới chủ yếu là đang trong quỏ trỡnh thử nghiệm và hoàn thiện. Trong khuụn khổ giỏo trỡnh cũng đề cập một cỏch tổng quỏt về giao thức liờn mạng thế hệ mới IPv6.
Một số đặc điểm mới của IPv6:
− Khuụn dạng header mới: Header của IPv6 được thiết kế để giảm chi phớ đến mức tối thiểu. Điều này đạt được bằng cỏch chuyển cỏc trường lựa chọn sang cỏc header mở rộng được đặt phớa sau của IPv6 header. Khuụn dạng mới của IPv6 tạo ra sự xử lý hiệu quả hơn tại cỏc router.
− Header của IPv4 và IPv6 khụng thể xử lý chung. Một trạm hay một router phải cài đặt cả IPv4 và IPv6 để cú thể xử lý được cả hai khuụn dạng header này. Header của IPv6 chỉ cú kớch thước gấp 2 lần header của IPv4 mặc dự khụng gian địa chỉ của IPv6 lớn gấp 4 lần khụng gian địa chỉ IPv4.
− Khụng gian địa chỉ lớn: IPv6 cú địa chỉ nguồn và đớch dài 128 bit. Mặc dự 128 bit cú thể tạo ra hơn 3.4x1038 tổ hợp, khụng gian địa chỉ của IPv6 được thiết kế cho phộp phõn bổ địa chỉ và mạng con từ trục xương sống Internet đến từng mạng con trong một tổ chức.
− Hiện tại chỉ một lượng nhỏ cỏc địa chỉ hiện đang được phõn bổ để sử dụng bởi cỏc trạm, vẫn cũn dư thừa rất nhiều địa chỉ sẵn sàng cho việc sử dụng trong tương lai.
− Hiệu quả, phõn cấp địa chỉ húa và hạ tầng định tuyến: Cỏc địa chỉ toàn cục của IPv6 được thiết kế để tạo ra mọt hạ tầng định tuyến hiệu quả, phõn cấp và cú thể tổng quỏt húa dựa trờn sự phõn cấp thường thấy của cỏc nhà cung cấp dịch vụ (ISP) trờn thực tế.
− Hỗ trợ chất lượng dịch vụ (QoS) tốt hơn: Cỏc trường mới trong header của IPv6