Đồ án Nghiên cứu giao thức L2TP

Trong những năm gần đây, cùng với sự phát triển mang tính cách mạng trong lĩnh vực công nghệ thông tin, loài người đã bước vào một kỷ nguyên mới, kỷ nguyên thông tin. Ngày nay, ở bất cứ đâu, trong bất cứ lĩnh vực nào, chúng ta đều có thể thấy được những thành quả mà công nghệ thông tin mang lại. Trong xu thế phát triển chung, các mạng máy tính đã có những bước tiến nhảy vọt và ngày càng khẳng định vai trò quan trọng của mình. Với những ưu thế như tiện lợi đối với người dùng, phong phú về các nguồn thông tin được cung cấp, tiết kiệm thời gian, chi phí .các mạng máy tính đã thu hút được số lượng người sử dụng ngày càng đông đảo và góp phần đáng kể trong sự phát triển kinh tế, xã hội. Mạng riêng ảo hay còn gọi là mạng VPN (Virtual Private Network) được biết đến từ những năm 90 của thế kỷ trước và càng ngày càng có nhiều nhà cung cấp đưa ra những giải pháp riêng về VPN cho những khách hàng của mình. Trên các tạp chí chuyên đề, trên Internet ở đâu chúng ta cũng có thể bắt gặp những bài báo, những hội thảo liên quan đến VPN cũng như các sản phẩm hỗ trợ VPN. Trên thực tế, VPN đã thực sự trở thành một giải pháp hữu hiệu cho các tổ chức, các công ty nhờ vào các đặc tính của nó như chi phí thấp, khả năng bảo mật tốt Nhận thấy được vai trò cũng như tầm quan trọng của mạng riêng ảo đối với sự phát triển của các hệ thống mạng hiện nay cũng như trong tương lai, được sự hướng dẫn và giúp đỡ nhiệt tình của thầy Hồ Sĩ Bàng, em đã đi sâu vào nghiên cứu giao thức L2TP - là một giao thức quan trọng hỗ trợ việc thực hiện VPN. Cho đến nay, em đã hoàn thành bản đồ án với nội dung "Nghiên cứu giao thức L2TP". Bản đồ án gồm 3 chương với nội dung cụ thể như sau: Chương 1: Tổng quan về mạng máy tính. Chương này trình bày những kiến thức chung về việc kết nối các máy tính thành mạng, kiến trúc phân tầng OSI và bộ giao thức nổi tiếng TCP/IP. Chương 2: Giao thức đường hầm lớp 2 (L2TP). Chương này trình bầy sơ lược về VPN, về các giao thức hỗ trợ thực hiện VPN, rồi đi sâu tìm hiểu giao thức L2TP về khái niệm, đặc điểm, cách tổ chức dữ liệu, phương thức hoạt động, vấn đề bảo mật trong quá trình hoạt động. Chương 3: Lập trình mô phỏng giao thức L2TP. Dựa trên những nghiên cứu được thực hiện ở chương 2, tiến hành thiết kế và lập trình mô phỏng L2TP qua các PC.

doc87 trang | Chia sẻ: tuandn | Lượt xem: 2730 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Đồ án Nghiên cứu giao thức L2TP, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI CẢM ƠN. Tr­íc hÕt, em xin ch©n thµnh c¶m ¬n thÇy gi¸o: Th¹c sÜ Hå SÜ Bµng - gi¶ng viªn bé m«n TruyÒn th«ng vµ M¹ng khoa CNTT, tr­êng §HBK Hµ Néi ®· h­íng dÉn vµ gióp ®ì em rÊt nhiÒu trong suèt qu¸ tr×nh tõ nghiªn cøu ®Õn hoµn thµnh quyÓn luËn v¨n nµy. T«i còng xin c¶m ¬n c¸c b¹n NguyÔn Anh Dòng (Trung t©m Tin Häc B­u §iÖn) vµ Ph¹m H÷u Nguyªn (C«ng ty ®iÖn to¸n vµ truyÒn sè liÖu) ®· ®ãng gãp cho t«i nh÷ng ý kiÕn quý b¸u vµ mét sè tµi liÖu tham kh¶o, c¸c anh chÞ häc cïng t«i t¹i líp KS2 - K16 CNTT ®· gióp ®ì t«i trong qu¸ tr×nh thùc tËp vµ lµm quyÓn luËn v¨n nµy. Cuèi cïng, t«i v« cïng biÕt ¬n nh÷ng ng­êi th©n trong gia ®×nh vµ c¸c b¹n ®ång nghiÖp, nh÷ng ng­êi ®· t¹o ®iÒu kiÖn thuËn lîi nhÊt ®Ó t«i cã thÓ tËp trung nghiªn cøu vµ hoµn thµnh tèt ®Ñp c«ng viÖc cña m×nh. Hµ Néi, ngµy 30 th¸ng 9 n¨m 2004 Lª Quang Huy §HBK Hµ Néi. LỜI NÓI ĐẦU. Trong nh÷ng n¨m gÇn ®©y, cïng víi sù ph¸t triÓn mang tÝnh c¸ch m¹ng trong lÜnh vùc c«ng nghÖ th«ng tin, loµi ng­êi ®· b­íc vµo mét kû nguyªn míi, kû nguyªn th«ng tin. Ngµy nay, ë bÊt cø ®©u, trong bÊt cø lÜnh vùc nµo, chóng ta ®Òu cã thÓ thÊy ®­îc nh÷ng thµnh qu¶ mµ c«ng nghÖ th«ng tin mang l¹i. Trong xu thÕ ph¸t triÓn chung, c¸c m¹ng m¸y tÝnh ®· cã nh÷ng b­íc tiÕn nh¶y vät vµ ngµy cµng kh¼ng ®Þnh vai trß quan träng cña m×nh. Víi nh÷ng ­u thÕ nh­ tiÖn lîi ®èi víi ng­êi dïng, phong phó vÒ c¸c nguån th«ng tin ®­îc cung cÊp, tiÕt kiÖm thêi gian, chi phÝ….c¸c m¹ng m¸y tÝnh ®· thu hót ®­îc sè l­îng ng­êi sö dông ngµy cµng ®«ng ®¶o vµ gãp phÇn ®¸ng kÓ trong sù ph¸t triÓn kinh tÕ, x· héi. M¹ng riªng ¶o hay cßn gäi lµ m¹ng VPN (Virtual Private Network) ®­îc biÕt ®Õn tõ nh÷ng n¨m 90 cña thÕ kû tr­íc vµ cµng ngµy cµng cã nhiÒu nhµ cung cÊp ®­a ra nh÷ng gi¶i ph¸p riªng vÒ VPN cho nh÷ng kh¸ch hµng cña m×nh. Trªn c¸c t¹p chÝ chuyªn ®Ò, trªn Internet…ë ®©u chóng ta còng cã thÓ b¾t gÆp nh÷ng bµi b¸o, nh÷ng héi th¶o liªn quan ®Õn VPN còng nh­ c¸c s¶n phÈm hç trî VPN. Trªn thùc tÕ, VPN ®· thùc sù trë thµnh mét gi¶i ph¸p h÷u hiÖu cho c¸c tæ chøc, c¸c c«ng ty nhê vµo c¸c ®Æc tÝnh cña nã nh­ chi phÝ thÊp, kh¶ n¨ng b¶o mËt tèt… NhËn thÊy ®­îc vai trß còng nh­ tÇm quan träng cña m¹ng riªng ¶o ®èi víi sù ph¸t triÓn cña c¸c hÖ thèng m¹ng hiÖn nay còng nh­ trong t­¬ng lai, ®­îc sù h­íng dÉn vµ gióp ®ì nhiÖt t×nh cña thÇy Hå SÜ Bµng, em ®· ®i s©u vµo nghiªn cøu giao thøc L2TP - lµ mét giao thøc quan träng hç trî viÖc thùc hiÖn VPN. Cho ®Õn nay, em ®· hoµn thµnh b¶n ®å ¸n víi néi dung "Nghiªn cøu giao thøc L2TP". B¶n ®å ¸n gåm 3 ch­¬ng víi néi dung cô thÓ nh­ sau: Ch­¬ng 1: Tæng quan vÒ m¹ng m¸y tÝnh. Ch­¬ng nµy tr×nh bµy nh÷ng kiÕn thøc chung vÒ viÖc kÕt nèi c¸c m¸y tÝnh thµnh m¹ng, kiÕn tróc ph©n tÇng OSI vµ bé giao thøc næi tiÕng TCP/IP. Ch­¬ng 2: Giao thøc ®­êng hÇm líp 2 (L2TP). Ch­¬ng nµy tr×nh bÇy s¬ l­îc vÒ VPN, vÒ c¸c giao thøc hç trî thùc hiÖn VPN, råi ®i s©u t×m hiÓu giao thøc L2TP vÒ kh¸i niÖm, ®Æc ®iÓm, c¸ch tæ chøc d÷ liÖu, ph­¬ng thøc ho¹t ®éng, vÊn ®Ò b¶o mËt trong qu¸ tr×nh ho¹t ®éng. Ch­¬ng 3: LËp tr×nh m« pháng giao thøc L2TP. Dùa trªn nh÷ng nghiªn cøu ®­îc thùc hiÖn ë ch­¬ng 2, tiÕn hµnh thiÕt kÕ vµ lËp tr×nh m« pháng L2TP qua c¸c PC. MÆc dï ®· rÊt cè g¾ng, nh­ng do thêi gian cã h¹n, kiÕn thøc cña em cßn h¹n chÕ, tµi liÖu vÒ giao thøc L2TP còng nh­ vÒ VPN rÊt hiÕm, nªn ch¾c ch¾n b¸o c¸o nµy cña em cßn nhiÒu thiÕu sãt. Em rÊt mong nhËn ®­îc sù ®ãng gãp cña c¸c thÇy c« còng nh­ c¸c b¹n sinh viªn khi ®äc b¸o c¸o nµy ®Ó em cã thÓ hoµn thiÖn h¬n nghiªn cøu cña m×nh. Hµ néi, ngµy 20 th¸ng 9 n¨m 2004 Sinh viªn thùc hiÖn Lª Quang Huy Chương 1. TỔNG QUAN VỀ MẠNG MÁY TÍNH I. Giới thiệu chung về mạng máy tính 1.1 Vài nét sơ lược về mạng Mặc dù công nghiệp máy tính còn khá non trẻ so với những ngành công nghiệp khác, nó đã có sự tăng trưởng mạnh mẽ trong khoảng thời gian gần đây. Trong hai thập kỷ đầu tiên kể từ khi ra đời, các hệ thống máy tính có độ tập trung cao, việc hợp nhất máy tính và truyền thông đã có ảnh hưởng sâu sắc tới cách thức tổ chức các hệ thống máy tính. Khái niệm về "trung tâm máy tính" với một máy tính lớn để xử lý các bài toán của người sử dụng bây giờ đã trở nên quá lỗi thời. Mô hình cũ bao gồm một máy tính duy nhất để phục vụ tất cả các nhu cầu tính toán đã được thay thế bằng mô hình mới trong đó một số lượng lớn các máy tính riêng rẽ được kết nối với nhau để thực hiện nhiệm vụ này. Các hệ thống này được gọi là các mạng máy tính. Mạng máy tính là thuật ngữ dùng để chỉ một tập hợp các máy tính được kết nối với nhau để trao đổi thông tin. Việc kết nối có thể được thực hiện nhờ dây đồng, dây cáp quang, vi sóng hay các giao thức được sử dụng ở các lớp thấp hơn. Các mạng máy tính có thể sử dụng công nghệ truyền quảng bá (broadcast) hoặc truyền điểm - điểm (point to point). Các mạng truyền quảng bá sử dụng một kênh truyền thông duy nhất cho tất cả các máy trên mạng này. Các gói được truyền trên mạng có chứa một trường địa chỉ định rõ nơi nhận. Ngược lại, các mạng truyền điểm - điểm gồm nhiều kết nối giữa các cặp máy riêng rẽ. Để đi từ nguồn đến đích, một gói tin trên mạng loại này có thể phải đi qua một hay nhiều máy trung gian. Thường có thể có nhiều tuyến với các độ dài khác nhau, do đó các thuật toán định tuyến đóng một vai trò quan trọng trong các mạng điểm - điểm. Thông thường các mạng cục bộ nhỏ có xu hướng sử dụng công nghệ truyền quảng bá còn các mạng lớn hơn thường sử dụng công nghệ truyền điểm - điểm. Theo kích thước, các mạng có thể phân loại một cách cơ bản như sau: Mạng cục bộ (Local Area Network - LAN) là mạng có kích thước hạn chế trong phạm vi hẹp như trong một cơ quan, bộ, ngành… Mạng cục bộ có thể sử dụng cả công nghệ truyền quảng bá lẫn công nghệ truyền điểm - điểm. Mạng đô thị (Metropolitan Area Network - MAN) về cơ bản là một phiên bản lớn hơn của mạng cục bộ và thường sử dụng công nghệ tương tự với công nghệ sử dụng trong mạng cục bộ. Các mạng cục bộ và mạng đô thị là các mạng không chuyển mạch. Mạng diện rộng (Wide Area Network - WAN) là một mạng lớn trên diện rộng. Mạng diện rộng thường là mạng chuyển mạch. Mạng toàn cầu (Global Area Network - GAN) là tập hợp các mạng được kết nối với nhau cho phép người sử dụng trên các mạng khác nhau (kể cả không tương thích) có thể truyền thông được với nhau. Các kỹ thuật chuyển mạch bao gồm chuyển mạch kênh, chuyển mạch thông báo và chuyển mạch gói. Các mạng máy tính có thể được sử dụng cho rất nhiều dịch vụ, đối với các công ty hay với từng cá nhân. Đối với các công ty, các mạng gồm các máy tính cá nhân được kết nối với nhau mang lại những lợi ích to lớn như nâng cao độ tin cậy, tính linh hoạt, tiết kiệm chi phí… Đối với các cá nhân, mạng máy tính cho phép họ truy nhập tới rất nhiều nguồn thông tin và giải trí khác nhau một cách nhanh chóng và thuận tiện. 1.2 Kiến trúc phân tầng OSI 1.2.1 Phân cấp giao thức Để giảm độ phức tạp thiết kế, hầu hết các mạng được tổ chức dưới dạng các lớp hay các mức, mỗi lớp được xây dựng trên một lớp dưới nó. Số lượng lớp, tên của mỗi lớp, nội dung và chức năng của mỗi lớp khác nhau tuỳ theo từng mạng. Tuy nhiên, trong tất cả các mạng, mục đích của mỗi lớp là để cung cấp các dịch vụ nhất định cho các lớp cao hơn, che dấu không cho các lớp đó biết về các dịch vụ được cung cấp trong thực tế được thực hiện như thế nào. Các lớp được tạo ra theo nguyên tắc như sau: - Một lớp phải được tạo ra khi cần một mức trừu tượng khác. - Mỗi lớp phải thực hiện một chức năng được xác định rõ. - Chức năng của mỗi lớp phải được chọn theo các giao thức chuẩn quốc tế. - Các ranh giới giữa các lớp phải được chọn để giảm tới mức nhỏ nhất thông tin đi qua các giao diện. - Số lớp phải đủ lớn sao cho không cần đưa các chức năng tách biệt vào cùng một lớp nhưng phải đủ nhỏ để kiến trúc không trở nên khó sử dụng. 1.2.2 Mô hình chuẩn OSI OSI (Open Systems Interconnection - Liên kết các hệ thống mở) được phát triển bởi tổ chức tiêu chuẩn quốc tế (International Standard Organization - ISO) nhằm đạt được các chuẩn cho việc truyền thông dữ liệu cho phép các máy tính của các nhà sản xuất khác nhau truyền thông tin được với nhau. Các chuẩn này tạo ra một kiến trúc phân lớp cho các hệ thống truyền thông dữ liệu. Bản thân mô hình OSI không phải là một kiến trúc mạng vì nó không định rõ các dịch vụ và các giao thức cần được sử dụng trong mỗi lớp. Nó chỉ cho biết mỗi lớp cần phải làm gì. Tuy nhiên, ISO đã tạo ra các chuẩn cho tất cả các lớp. Mô hình này được thể hiện trên hình dưới đây: Application Presentation Session Transport Network Data - link Physical Ứng dụng Trình diễn Phiên Giao vận Mạng Liên kết dữ liệu Vật lý Network Data - link Physical Môi trường vật lý Relay Open System Peer to peer protocol Hình 1.1: Mô hình OSI Mô hình OSI tập trung vào ba khái niệm: giao thức, giao diện và dịch vụ. - Giao thức: Mỗi lớp có một tập hợp các quy tắc và quy ước được sử dụng trong việc hội thoại với lớp ngang hàng được biết dưới dạng giao thức của lớp này. Về cơ bản, một giao thức là một sự thoả thuận giữa các bên truyền thông về việc cần tiến hành việc truyền thông như thế nào. - Giao diện: Giữa mỗi cặp lớp liền kề có một giao diện. Giao diện này xác định các giao thức và các dịch vụ nào mà lớp dưới cung cấp cho lớp trên. Mục đích của giao diện là giảm tới mức nhỏ nhất lượng thông tin phải truyền giữa các lớp và làm cho việc thay thế cài đặt của một lớp bằng một cài đặt hoàn toàn khác trở nên đơn giản hơn vì cài đặt mới chỉ cần cung cấp chính xác tập các dịch vụ cho lớp trên giống như cài đặt cũ. - Dịch vụ: Một dịch vụ là một phương tiện (facility) mà một lớp cung cấp cho lớp trên nó để thực hiện một khía cạnh nào đó của việc truyền thông dữ liệu. Các dịch vụ có thể là định hướng kết nối hoặc không kết nối. Khi sử dụng dịch vụ định hướng kết nối, người sử dụng dịch vụ đầu tiên thiết lập một kết nối, sử dụng kết nối này và cuối cùng giải phóng kết nối. Trong dịch vụ không kết nối, mỗi thông báo mang địa chỉ nơi nhận đầy đủ và được truyền qua hệ thống độc lập với các thông báo khác. Một dịch vụ được định rõ bởi các tập hàm nguyên thủy (primitive) để người sử dụng truy nhập dịch vụ này. Có bốn loại hàm nguyên thủy là: yêu cầu (request), chỉ báo (indication), trả lời (response) và xác nhận (confirm). - Truyền dữ liệu giữa các lớp: Lớp mạng Lớp liên kết dữ liệu Lớp vật lý PDU SDUUU PCI PDU SDU Lớp vật lý Lớp liên kết dữ liệu Lớp mạng PDU SDUUU PCI PDU SDU PDU PDU Sơ đồ truyền dữ liệu giữa các lớp được thể hiện qua ví dụ minh hoạ dưới đây: Hình 1.2: Sơ đồ truyền dữ liệu giữa các lớp Khi một lớp muốn gửi dữ liệu tới lớp ngang hàng của nó, đơn vị dữ liệu được trao đổi gọi là đơn vị dữ liệu giao thức (Protocol Datagram Unit- PDU). Tuy nhiên, dữ liệu không được gửi trực tiếp tới lớp ngang hàng. Dữ liệu này được chuyển xuống lớp dưới, đơn vị dữ liệu này được gọi là đơn vị dữ liệu dịch vụ (Service Datagram Unit - SDU). PDU của lớp trên và SDU của lớp dưới là giống nhau. Lớp dưới bổ sung thông tin điều khiển giao thức (PCI) vào SDU nhận được để tạo ra PDU của nó. Quá trình này được lặp lại cho tới lớp dưới cùng. Ở phía nhận, quy trình ngược lại được thực hiện cho tới khi PDU tới được lớp ngang hàng. 1.2.3 Các lớp trong mô hình OSI - Lớp vật lý (Physical): Lớp vật lý liên quan đến việc truyền các bit trên kênh truyền thông. Lớp vật lý cung cấp các dịch vụ sau cho lớp liên kết dữ liệu: + Kích hoạt kết nối vật lý. + Khử kết nối vật lý. + Truyền các bit trên kết nối vật lý. + Chỉ báo các trạng thái liên kết. Trong trường hợp kết nối điểm - nhiều điểm, lớp vật lý sẽ phải cung cấp các dịch vụ bổ sung khác để cho phép lớp liên kết dữ liệu phân biệt các kết nối vật lý. Ngoài ra, lớp vật lý còn có khả năng truyền bá tới tất cả các lớp vật lý khác trong mạng. - Lớp liên kết dữ liệu (Data-link): Lớp liên kết dữ liệu sử dụng các dịch vụ do lớp vật lý cung cấp để thực hiện việc truyền dữ liệu. Vì môi trường vật lý có thể có lỗi nên một nhiệm vụ của lớp liên kết dữ liệu là biến đổi nó thành một liên kết truyền dữ liệu càng tin cậy càng tốt. Ngoài ra, vì lớp vật lý truyền các bit và việc chuyển dữ liệu thường theo các khối dữ liệu logic nên một nhiệm vụ khác của lớp liên kết dữ liệu là phải tạo ra và nhận biết các khối dữ liệu. Ngoài ra, lớp liên kết dữ liệu phải có một cơ chế nào đó để nhờ nó bên gửi không làm quá tải bên nhận. Vì vậy, có thể tóm lược các nhiệm vụ chính của lớp liên kết dữ liệu như sau: + Phát hiện lỗi và phục hồi lỗi. + Tạo khung dữ liệu thành các khối. + Điều khiển luồng. Lớp liên kết dữ liệu cung cấp các dịch vụ sau cho lớp mạng: + Thiết lập kết nối liên kết dữ liệu. + Giải phóng kết nối liên kết dữ liệu. + Chuyển dữ liệu liên kết dữ liệu. + Thiết lập lại kết nối liên kết dữ liệu. - Lớp mạng (Network): Lớp mạng liên quan tới việc điều khiển sự vận hành của subnet, xác định xem các gói được định tuyến từ nguồn tới đích như thế nào, điều khiển lưu lượng trong mạng, cho phép các mạng có sự đặt địa chỉ, kích thước gói, các giao thức… khác nhau được kết nối với nhau. Các dịch vụ mà lớp mạng cung cấp cho lớp trên bao gồm: + Thiết lập, duy trì và giải phóng các kết nối mạng. + Trao đổi dữ liệu lớp cao hơn qua kết nối mạng. Dịch vụ này bao gồm khả năng thực hiện việc điều khiển luồng, phát hiện lỗi và phục hồi lỗi. + Cách ly các lớp cao hơn với việc định tuyến và chuyển dữ liệu khi kết nối mạng được thực hiện qua một hay nhiều subnet. - Lớp giao vận (Transport): Chức năng cơ bản của lớp giao vận là nhận dữ liệu từ lớp phiên, chia nó thành các đơn vị nhỏ hơn nếu cần, đưa dữ liệu tới lớp mạng và đảm bảo rằng tất cả các đơn vị dữ liệu này tới nơi nhận một cách chính xác. Hơn nữa, tất cả các thao tác này phải được thực hiện một cách có hiệu quả. Lớp giao vận cũng xác định loại dịch vụ cung cấp cho lớp phiên. Tuỳ thuộc vào chất lượng của kết nối mạng, lớp giao vận có thể cung cấp toàn bộ hoặc một phần các dịch vụ sau: + Chuyển dữ liệu end-to-end (đầu cuối - đầu cuối). + Phát hiện lỗi và phục hồi lỗi end-to-end. + Điều khiển luồng end-to-end. + Tách và hợp end-to-end. - Lớp phiên (Session): Lớp phiên là lớp đầu tiên trong số các lớp cao hay các lớp định hướng người sử dụng. Lớp phiên cung cấp một dịch vụ sau: + Thiết lập kết nối. + Trao đổi dữ liệu bình thường. + Giải phóng kết nối theo yêu cầu để không làm mất dữ liệu. + Quản lý tương tác. + Đồng bộ hoá kết nối. - Lớp trình diễn (Presentation): Lớp trình diễn cung cấp một cú pháp chung cho việc truyền thông giữa những người sử dụng dịch vụ và cũng cung cấp cơ chế để diễn dịch giữa cú pháp của người sử dụng dịch vụ với cú pháp chung này. Những người sử dụng dịch vụ có thể thoả thuận (khi thiết lập kết nối) và thoả thuận lại (sau khi kết nối được thiết lập) cú pháp này. - Lớp ứng dụng (Application): Lớp ứng dụng cung cấp các dịch vụ cho các ứng dụng hoặc các chương trình/tiến trình của người sử dụng. Hai ứng dụng ngang hàng sử dụng các dịch vụ của lớp ứng dụng và thiết lập một liên kết. Lớp ứng dụng còn cung cấp các dịch vụ để quản lý liên kết này, cho phép các ứng dụng truyền thông. Lớp ứng dụng cung cấp các dịch sau: + Thiết lập liên kết. + Giải phóng liên kết. + Huỷ bỏ liên kết do người sử dụng dịch vụ khởi tạo. + Huỷ bỏ liên kết do người cung cấp dịch vụ khởi tạo. 1.2.4 Vai trò của giao thức trong mạng máy tính. Mô hình OSI cung cấp các chuẩn cho các lớp thông qua việc xác định cụ thể chức năng của mỗi lớp. Việc ghép nối giữa các lớp được thực hiện nhờ các giao diện giữa hai lớp liền kề. Vấn đề còn lại là làm thế nào để truyền thông tin giữa các máy. Việc trao đổi thông tin giữa hai máy trên mạng, tương tự với việc giao tiếp thông thường, phải dựa trên những thoả thuận về cách thức tiến hành việc trao đổi thông tin để các bên có thể hiểu nhau. Do vậy, việc truyền thông tin trên mạng phải cần đến những quy tắc, quy ước từ những quy ước về khuôn dạng (cú pháp, ngữ nghĩa) của dữ liệu cho tới các thủ tục gửi và nhận dữ liệu nhằm kiểm soát một cách có hiệu quả và đảm bảo chất lượng cho việc truyền tin. Tập hợp tất cả các quy tắc và quy ước đó được gọi là giao thức (Protocol) của mạng. Các giao thức chuẩn ISO đề xuất cách xây dựng giao thức cho từng mạng. Trong các mạng chuyển mạch gói, có thể truyền thông tin theo phương pháp có hướng liên kết (connection) hoặc không hướng liên kết (connectioness). Với các mạng không hướng liên kết, chỉ có một giai đoạn truyền dữ liệu, các gói dữ liệu được truyền độc lập theo một con đường được xác định dần bằng địa chỉ đích được đặt trong mỗi datagram. Với các mạng có hướng liên kết, các dịch vụ và giao thức trong mỗi tầng của mô hình OSI phải thực hiện ba giai đoạn theo thứ tự thời gian, cụ thể là: - Thiết lập liên kết. - Truyền dữ liệu. - Huỷ bỏ liên kết. Trong giai đoạn thiết lập liên kết, các thực thể ngang hàng ở hai đầu của liên kết sẽ thoả thuận về tập các tham số được sử dụng trong giai đoạn truyền dữ liệu. Trong giai đoạn truyền dữ liệu, các cơ chế điều khiển luồng dữ liệu, kiểm soát lỗi… được thực hiện để tăng độ tin cậy và hiệu suất truyền. Khi việc truyền dữ liệu kết thúc, liên kết đã được thiết lập sẽ bị hủy bỏ, các tài nguyên để duy trì kết nối được giải phóng. Các giao thức chuẩn hoá của ISO được xây dựng trên cơ sở bốn hàm nguyên thuỷ: request (yêu cầu), indication (chỉ báo), response (trả lời) và confirm (xác nhận). II. Bộ giao thức TCP/IP. 2.1 Giới thiệu chung Bộ giao thức TCP/IP là một chuẩn nối mạng được sử dụng rộng rãi nhất. Ban đầu được phát triển cho ARPANET (một mạng WAN chuyển mạch gói của chính phủ Mỹ), tới nay với sự tham gia của người sử dụng trên khắp thế giới, TCP/IP trở thành bộ giao thức sử dụng cho mạng toàn cầu Internet. TCP/IP có những đặc điểm sau đây, những đặc điểm này đã làm nó trở nên nổi tiếng: - Độc lập với kiến trúc của mạng: TCP/IP có thể sử dụng trong các kiến trúc Ethernet, Token Ring, trong mạng cục bộ (LAN) cũng như mạng diện rộng (WAN). - Chuẩn giao thức mở: TCP/IP có thể thực hiện trên bất kỳ phần cứng hay hệ điều hành nào. Do đó, TCP/IP là tập giao thức lý tưởng để kết hợp phần cứng cũng như phần mềm khác nhau. - Sơ đồ địa chỉ toàn cầu: mỗi máy tính trên mạng TCP/IP có một địa chỉ xác định duy nhất. Mỗi gói dữ liệu được gửi trên mạng TCP/IP có một header gồm địa chỉ của máy đích cũng như địa chỉ của máy nguồn. - Khung Client-Server: TCP/IP là khung cho những ứng dụng client-server mạnh hoạt động trên 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 phương thức truyền dữ liệu trên mạng giữa các ứng dụng mà còn cung cấp nhiều giao thức mức ứng dụng (những giao thức thực hiện các chức năng thường dùng như e-mail, truyền nhận file). 2.2 Mô hình TCP/IP Mô hình TCP/IP được tổ chức thành 4 lớp như sau: lớp ứng dụng (Application), lớp giao vận (Transport), lớp mạng (Internet) và lớp vật lý (Physical). (TCP/IP không theo đúng như mô hình bảy lớp OSI mà nó chỉ có bốn lớp). 2.2.1 Lớp Application Ở lớp cao nhất, các chương trình ứng dụng giao tiếp với các giao thức ở lớp Transport để truyền và nhận dữ liệu. Chương trình ứng dụng truyền dữ liệu ở dạng được yêu cầu đến lớp Transport để xử lý trước khi chuyển xuống lớp Internet để tìm đường phân phối nó đi. Lớp Application bao gồm những ứng dụng trên mạng. Lớp Application và Presentation của mô hình OSI tương ứng với lớp này của kiến trúc TCP/IP. 2.2.2 Lớp Transport Cung cấp giao tiếp từ chương trình ứng dụng này đến chương trình ứng dụng khác. Giao tiếp như vậy được gọi là đầu cuối- tới- đầu cuối (end-to-end). Lớp Transport sẽ đảm bảo thông tin đến mà không bị lỗi và theo đúng trật tự. Để làm được điều này, máy nhận phải gửi ACK về báo đã nhận đủ và đúng thông tin hay chưa, nếu chưa thì máy phát phải truyền lại datagram đã mất. Phần mềm ở lớp Transport chia thông tin thành các gói (packet), trong mỗi gói có chứa các trường (fields): địa chỉ nguồn, địa chỉ đích, checksum,... Thông tin sau khi được chia thành các gói sẽ được chuyển xuống các lớp thấp hơn để tiếp tục xử lý và gửi tới máy thu. Máy thu sẽ dựa vào nội dung của các trường này để quyết định nhận, kiểm tra tính đúng đắn của việc truyền và phục hồi lại thông tin. Các dịch vụ của lớp Tra