Giáo trình Mạng máy tính - Phạm Quốc Hùng

pdf 148 trang ngocly 4000
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Mạng máy tính - Phạm Quốc Hùng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_mang_may_tinh_pham_quoc_hung.pdf

Nội dung text: Giáo trình Mạng máy tính - Phạm Quốc Hùng

  1. ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN KHOA CÔNG NGHỆ THÔNG TIN Mạng máy tính ĐẠI HỌC PHẠM QUỐC HÙNG
  2. BÀI 1. TỔNG QUAN VỀ MẠNG MÁY TÍNH 5 1.1 Giới thiệu chung về mạng 5 1.2 Giao thức mạng 6 1.3 Sơ đồ mạng 7 1.4 Phân loại mạng máy tính 9 BÀI 2. MÔ HÌNH OSI VÀ TCP/IP 11 2.1 Kiến trúc phân tầng 11 2.2 Mô hình OSI 12 2.3 Mô hình TCP/IP 17 2.4 So sánh mô hình OSI và TCP/IP 18 2.5 Một số thiết bị mạng cơ bản 19 BÀI 3. TẦNG VẬT LÝ 25 3.1 Giới thiệu về môi trường truyền dẫn 25 3.2 Đường truyền hữu tuyến 25 3.3 Đường truyền vô tuyến 31 BÀI 4. TẦNG LIÊN KẾT DỮ LIỆU 35 4.1 Điều khiển luồng dữ liệu 35 4.2 Phương pháp kiểm tra sửa sai (CRC) 35 4.3 Giao thức CSMA/CD 38 4.4 Giao thức Token ring, Token Bus 39 4.5 Cơ bản về Ethernet 41 4.6 Truyền fullduplex và halfduplex 42 4.7 Công nghệ Ethernet 10 Mbps, 100 Mbps 43 4.8 GigaEthernet 44 BÀI 5. TẦNG MẠNG – GIAO THỨC IP 45 5.1 Giao thức IP (Internet Protocol) 45 5.2 Địa chỉ mạng 47 5.3 Địa chỉ mạng IPv4 48 5.4 Địa chỉ mạng con và cách chia mạng con 51 BÀI 6. TẦNG VẬN CHUYỂN 57 6.1 Giới thiệu về tầng vận chuyển 57 6.2 Giao thức TCP 57
  3. Mạng máy tính 6.3 Giao thức UDP 61 BÀI 7. TẦNG ỨNG DỤNG 63 7.1 Giới thiệu về tầng ứng dụng 63 7.2 SMTP, POP3 và IMAP 63 7.3 HTTP 70 7.4 FTP 72 7.5 Telnet 73 7.6 DNS 74 THỰC HÀNH 1. KẾT NỐI MẠNG LAN 81 THỰC HÀNH 2. CẤU HÌNH MODEM ADSL VÀ ACCESS POINT 87 THỰC HÀNH 3. CẤU HÌNH TCP/IP CHO MẠNG LAN 93 THỰC HÀNH 4. KHAI THÁC MẠNG LAN 97 THỰC HÀNH 5. KIỂM TRA THỰC HÀNH 1 111 THỰC HÀNH 6. KẾT NỐI MẠNG LAN SỬ DỤNG CÁC THIẾT BỊ SWITCH, ACCESS POINT 112 THỰC HÀNH 7. CÀI ĐẶT VÀ SỬ DỤNG MÁY IN TRONG LAN 116 THỰC HÀNH 8. SỬ DỤNG MÁY ẢO TẠO VLAN (VMWARE) 126 THỰC HÀNH 9. SỬ DỤNG MÁY ẢO TẠO VLAN (VIRTUALBOX) 131 THỰC HÀNH 10. SỬ DỤNG PACKET TRACER ĐỂ MÔ PHỎNG HỆ THỐNG MẠNG 136 THỰC HÀNH 11. KIỂM TRA THỰC HÀNH 2 148 4
  4. Mạng máy tính BÀI 1. TỔNG QUAN VỀ MẠNG MÁY TÍNH 1.1 Giới thiệu chung về mạng 1.1.1 Khái niệm và các thành phần của mạng máy tính Mạng máy tính là tập hợp các thiết bị được kết nối với nhau bằng các phương tiện truyền vật lý và tuân theo một kiến trúc mạng nhất định. Mạng máy tính gồm ba thành phần chính: Các thiết bị: Gồm có hai loại chính là thiết bị đầu cuối (bao gồm PC, Printer, Fax ) và thiết bị mạng (bao gồm Hub, Switch, Router ) Phương tiện truyền vật lý: Còn được gọi là môi trường truyền dẫn. Có 2 loại môi trường truyền dẫn chính là hữu tuyến và vô tuyến Kiến trúc mạng: Là tập hợp các giao thức mà các thực thể mạng cần phải tuân theo khi tham gia vào hệ thống mạng 1.1.2 Lợi ích của mạng máy tính Ngày nay với một lượng lớn về thông tin, nhu cầu xử lý thông tin ngày càng cao. Mạng máy tính hiện nay trở nên quá quen thuộc đối với chúng ta, trong mọi lĩnh vực như khoa học, quân sự, quốc phòng, thương mại, dịch vụ, giáo dục Hiện nay ở nhiều nơi mạng đã trở thành một nhu cầu không thể thiếu được. Người ta thấy được việc kết nối các máy tính thành mạng cho chúng ta những khả năng mới to lớn như: - Sử dụng chung tài nguyên: Những tài nguyên của mạng (như thiết bị, chương trình, dữ liệu) khi được trở thành các tài nguyên chung thì mọi thành viên của mạng đều có thể tiếp cận được mà không quan tâm tới những vị trí của tài nguyên đó. - Tăng độ tin cậy của hệ thống: Người ta có thể dễ dàng bảo trì máy móc và lưu trữ (backup) các dữ liệu chung và khi có trục trặc trong hệ thống thì chúng có thể được khôi phục nhanh chóng. Trong trường hợp có trục trặc trên một trạm làm việc thì người ta cũng có thể sử dụng những trạm khác thay thế và hệ thống vẫn hoạt động bình thường. - Nâng cao chất lượng và hiệu quả khai thác thông tin: Khi thông tin có thể được sữ dụng chung thì nó mang lại cho người sử dụng khả năng tổ chức lại các công việc với những thay đổi về chất như: - Ðáp ứng những nhu cầu của hệ thống ứng dụng kinh doanh hiện đại. - Cung cấp sự thống nhất giữa các dữ liệu. - Tăng cường năng lực xử lý nhờ kết hợp các bộ phận phân tán. - Tăng cường truy nhập tới các dịch vụ mạng khác nhau đang được cung cấp trên thế giới. Với nhu cầu đòi hỏi ngày càng cao của xã hội nên vấn đề kỹ thuật trong mạng là mối quan tâm hàng đầu của các nhà tin học. Ví dụ như làm thế nào để truy xuất thông tin một cách nhanh chóng và tối ưu nhất, trong khi việc xử lý thông tin trên mạng quá nhiều đôi khi có thể làm tắc nghẽn trên mạng và gây ra mất thông tin một cách đáng tiếc. Hiện nay việc làm sao có được một hệ thống mạng chạy thật tốt, thật an toàn với 5
  5. Mạng máy tính lợi ích kinh tế cao đang rất được quan tâm. Một vấn đề đặt ra có rất nhiều giải pháp về công nghệ, một giải pháp có rất nhiều yếu tố cấu thành, trong mỗi yếu tố có nhiều cách lựa chọn. Như vậy để đưa ra một giải pháp hoàn chỉnh, phù hợp thì phải trải qua một quá trình chọn lọc dựa trên những ưu điểm của từng yếu tố, từng chi tiết rất nhỏ. Ðể giải quyết một vấn đề phải dựa trên những yêu cầu đặt ra và dựa trên công nghệ để giải quyết. Nhưng công nghệ cao nhất chưa chắc là công nghệ tốt nhất, mà công nghệ tốt nhất là công nghệ phù hợp nhất. 1.2 Giao thức mạng 1.2.1 Khái niệm Các thực thể của mạng muốn trao đổi thông tin với nhau phải bắt tay, đàm phán về một số thủ tục, quy tắc Cùng phải “nói chung một ngôn ngữ”. Tập quy tắc hội thoại được gọi là giao thức mạng (Protocols). Các thành phần chính của một giao thức bao gồm: - Cú pháp: định dạng dữ liệu, phương thức mã hoá và các mức tín hiệu. - Ngữ nghĩa: thông tin điều khiển, điều khiển lưu lượng và xử lý lỗi Trao đổi thông tin giữa hai thực thể có thể là trực tiếp hoặc gián tiếp. Trong hai hệ thống kết nối điểm - điểm, các thực thể có thể trao đổi thông tin trực tiếp không có sự can thiệp của các thực thể trung gian. Trong cấu trúc quảng bá, hai thực thể trao đổi dữ liệu với nhau phải thông qua các thực thể trung gian. Phức tạp hơn khi các thực thể không chia sẻ trên cùng một mạng chuyển mạch, kết nối gián tiếp phải qua nhiều mạng con. 1.2.2 Các chức năng của giao thức mạng Đóng gói: Trong quá trình trao đổi thông tin, các gói dữliệu được thêm vào một sốthông tin điều khiển, bao gồm địa chỉnguồn và địa chỉ đích, mã phát hiện lỗi, điều khiển giao thức Việc thêm thông tin điều khiển vào các gói dữ liệu được gọi là quá trình đóng gói (Encapsulation). Bên thu sẽ được thực hiện ngược lại, thông tin điều khiển sẽ được gỡ bỏ khi gói tin được chuyển từ tầng dưới lên tầng trên. Phân đoạn và hợp lại: Mạng truyền thông chỉchấp nhận kích thước các gói dữ liệu cố định. Các giao thức ở các tầng thấp cần phải cắt dữliệu thành những gói có kích thước quy định. Quá trình này gọi là quá trình phân đoạn. Ngược với quá trình phân đoạn bên phát là quá trình hợp lại bên thu. Dữ liệu phân đoạn cần phải được hợp lại thành thông điệp thích hợp ở tầng ứng dụng (Application). Vì vậy vấn đề đảm bảo thứ tự các gói đến đích là rất quan trọng. Gói dữ liệu trao đổi giữa hai thực thể qua giao thức gọi là đơn vị giao thức dữ liệu PDU (Protocol Data Unit). Điều khiển liên kết: Trao đổi thông tin giữa các thưc thểcó thểthực hiện theo hai phương thức: hướng liên kết (Connection - Oriented) và không liên kết (Connectionless). Truyền không liên kết không yêu cầu có độtin cậy cao, không yêu cầu chất lượng dịch vụ và không yêu cầu xác nhận. Ngược lại, truyền theo phương thức hướng liên kết, yêu cầu có độtin cậy cao, đảm bảo chất lượng dịch vụ và có xác nhận. Trước khi hai thực thể trao đổi thông tin với nhau, giữa chúng một kết nối được thiết lập và sau khi trao đổi xong, kết nối này sẽ được giải phóng. 6
  6. Mạng máy tính Giám sát: Các gói tin PDU có thể lưu chuyển độc lập theo các con đường khác nhau, khi đến đích có thể không theo thứ tự như khi phát. Trong phương thức hướng liên kết, các gói tin phải được yêu cầu giám sát. Mỗi một PDU có một mã tập hợp duy nhất và được đăng ký theo tuần tự. Các thực thể nhận sẽ khôi phục thứ tựcác gói tin như thứ tự bên phát. Điều khiển lưu lượng: liên quan đến khả năng tiếp nhận các gói tin của thực thể bên thu và số lượng hoặc tốc độ của dữ liệu được truyền bởi thực thể bên phát sao cho bên thu không bị tràn ngập, đảm bảo tốc độ cao nhất. Một dạng đơn giản của của điều khiển lưu lượng là thủ tục dừng và đợi (Stop-and Wait), trong đó mỗi PDU đã phát cần phải được xác nhận trước khi truyền gói tin tiếp theo. Có độ tin cậy cao khi truyền một số lượng nhất định dữ liệu mà không cần xác nhận. Kỹ thuật cửa sổ trượt là thí dụ cơ chế này. Điều khiển lưu lượng là một chức năng quan trọng cần phải được thực hiện trong một số giao thức. Điều khiển lỗi: là kỹ thuật cần thiết nhằm bảo vệ dữ liệu không bị mất hoặc bị hỏng trong quá trình trao đổi thông tin. Phát hiện và sửa lỗi bao gồm việc phát hiện lỗi trên cơ sở kiểm tra khung và truyền lại các PDU khi có lỗi. Nếu một thực thể nhận xác nhận PDU lỗi, thông thường gói tin đó sẽ phải được phát lại. Đồng bộ hoá:Các thực thể giao thức có các tham số về các biến trạng thái và định nghĩa trạng thái, đó là các tham sốvề kích thước cửa sổ, tham sốliên kết và giá trịthời gian. Hai thực thể truyền thông trong giao thức cần phải đồng thời trong cùng một trạng thái xác định. Ví dụ cùng trạng thái khởi tạo, điểm kiểm tra và huỷ bỏ, được gọi là đồng bộ hoá. Đồng bộ hoá sẽ khó khăn nếu một thực thể chỉ xác định được trạng thái của thực thể khác khi nhận các gói tin. Các gói tin không đến ngay mà phải mất một khoảng thời gian đểlưu chuyển từnguồn đến đích và các gói tin PDU cũng có thể bị thất lạc trong quá trình truyền. Địa chỉ hoá: Hai thực thể có thể truyền thông được với nhau, cần phải nhận dạng được nhau. Trong mạng quảng bá, các thực thể phải nhận dạng định danh của nó trong gói tin. Trong các mạng chuyển mạch, mạng cần nhận biết thực thể đích để định tuyến dữ liệu trước khi thiết lập kết nối. 1.3 Sơ đồ mạng 1.3.1 Sơ đồ logic Là sơ đồ chỉ về nguyên lý hoạt động của hệ thống mạng. Khi nhìn vào sơ đồ logic ta có thể thấy được các dịch vụ được triển khai trong mạng, phương thức di chuyển của luồng dữ liệu trong hệ thống mạng 7
  7. Mạng máy tính Hình 1-1: Sơ đồ logic mạng 1.3.2 Sơ đồ vật lý Là sơ đồ chỉ về vị trí và phương thức đấu nối các thiết bị thông qua môi trường truyền dẫn. Sơ đồ vật lý hay còn được gọi là sơ đồ đi dây, sơ đồ này thường được sử dụng khi thi công trực tiếp hệ thống mạng. Hình 1-2: Sơ đồ vật lý 8
  8. Mạng máy tính 1.4 Phân loại mạng máy tính 1.4.1 Theo khoảng cách a) Mạng cục bộ LAN (Local Area Networks): Mạng cục bộ LAN: kết nối các máy tính đơn lẻ thành mạng nội bộ, tạo khả năng trao đổi thông tin và chia sẻtài nguyên trong cơ quan, xí nhiệp Có hai loại mạng LAN khác nhau: LAN nối dây (sửdụng các loại cáp) và LAN không dây (sử dụng sóng cao tần hay tia hồng ngoại). Đặc trưng cơbản của mạng cục bộ: Quy mô của mạng nhỏ, phạm vi hoạt động vào khoảng vài km. Các máy trong một tòa nhà, một cơ quan hay xí nghiệp nối lại với nhau. Quản trị và bảo dưỡng mạng đơn giản. Công nghệ truyền dẫn sử dụng trong mạng LAN thường là quảng bá (Broadcast), bao gồm một cáp đơn nối tất cả các máy. Tốc độ truyền dữ liệu cao, từ10÷100 Mbps đến hàng trăm Gbps, thời gian trễ nhỏ (cỡ10μs), độ tin cậy cao. b) Mạng đô thị MAN (Metropolitan Area Networks) Mạng đô thị MAN hoạt động theo kiểu quảng bá, LAN to LAN. Mạng cung cấp các dịch vụ thoại và phi thoại và truyền hình cáp. Mạng MAN là một mạng máy tính có quy mô trong phạm vi trong một thành phố c) Mạng diện rộng WAN (Wide Area Networks) Mạng diện rộng WAN là một hệ thống mạng hoạt động trên phạm vi một quốc gia hoặc trên toàn cầu. Đặc điểm của hệ thống mạng WAN là tốc độ truyền dữ liệu thấp so với mạng cục bộ và lỗi truyền cao. 1.4.2 Theo phương thức chuyển mạch a) Mạng chuyển mạch kênh (Circuit Switched Networks) - Trước khi trao đổi thông tin, hệ thống sẽ thiết lập kết nối giữa 2 thực thể bằng một đường truyền vật lý. Thực thể đích nếu bận, kết nối này sẽ bị huỷ bỏ. - Duy trì kết nối trong suốt quá trình 2 thực thểtrao đổi thông tin. - Giải phóng kết nối: Sau khi truyền xong dữ liệu, kết nối sẽ được huỷ bỏ, giải phóng các tài nguyên đã bị chiếm dụng để sẵn sàng phục vụ cho các yêu cầu kết nối khác. Nhược điểm là cần nhiều thời gian để thiết lập kênh truyền, vì vậy thời gian thiết lập kênh chậm và xác suất kết nối không thành công cao. Khi cả hai không còn thông tin để truyền, kênh bị bỏ không trong khi các thực thể khác có nhu cầu. b) Mạng chuyển mạch gói (Packet Switched) Nguyên lý chuyển mạch gói: Thông điệp (Message) của người sử dụng được chia thành nhiều gói nhỏ (Packet) có độ dài quy định. Độ dài gói tin cực đại (Maximum Transfer Unit) MTU trong các mạng khác nhau là khác nhau. Các gói tin của một thông điệp có thể truyền độc lập trên nhiều tuyến hướng đích và các gói tin của nhiều thông điệp khác nhau có thể cùng truyền trên một tuyến liên mạng. Tại mỗi node, các gói tin được tiếp nhận, lưu trữ, xử lý tại bộ nhớ, không cần phải lưu trữtạm thời trên bộ nhớ ngoài (như đĩa cứng) và được chuyển tiếp đến node kế tiếp. Định tuyến các gói tin qua mạng nhanh hơn và hiệu quả hơn. 9
  9. Mạng máy tính Kỹ thuật chuyển mạch gói có nhiều ưu điểm hơn so với chuyển mạch kênh: - Các gói tin lưu chuyển hướng đích độc lập, trên một đường có thể chia sẻ cho nhiều gói tin. Vì vậy hiệu suất đường truyền cao hơn. - Các gói tin được xếp hàng và truyền qua tuyến kết nối. - Hai thực thểcó tốc độ dữ liệu khác nhau có thểtrao đổi các gói với tốc độ phù hợp. - Trong mạng chuyển mạch kênh, khi lưu lượng tăng thì mạng từ chối thêm các yêu cầu kết nối (do nghẽn) cho đến khi giảm xuống. Trong mạng chuyển mạch gói, các gói tin vẫn được chấp nhận, nhưng trễ phân phát gói tin có thể tăng lên. 10
  10. Mạng máy tính BÀI 2. MÔ HÌNH OSI VÀ TCP/IP 2.1 Kiến trúc phân tầng Các mạng máy tính được thiết kế và cài đặt theo quan điểm có cấu trúc đa tầng. Mỗi một thành phần của mạng được xem như một hệ thống gồm nhiều tầng và mỗi một tầng bao gồm một số chức năng truyền thông. Các tầng được chồng lên nhau, số lượng và chức năng của các tầng phụ thuộc vào các nhà sản xuất và thiết kế. Tuy nhiên quan điểm chung là trong mỗi tầng có nhiều thực thể(các tiến trình) thực hiện một số chức năng nhằm cung cấp một số dịch vụ, thủ tục cho các thực thể tầng trên hoạt động. Tổ chức tiêu chuẩn quốc tế ISO quy định các quy tắc phân tầng như sau: - Không định nghĩa quá nhiều tầng, số lượng tầng, vai trò và chức năng của các tầng trong mỗi hệ thống của mạng là như nhau, không quá phức tạp khi xác định và ghép nối các tầng. Chức năng các tầng độc lập với nhau và có tính mở. - Trong mỗi hệ thống, cần xác định rõ mối quan hệ giữa các tầng kề nhau, mối quan hệ này gọi là giao diện tầng (Interface). Mối quan hệ này quy định những thao tác và dịch vụ cơ bản mà tầng kề dưới cung cấp cho tầng kề trên và số các tương tác qua lại giữa hai tầng kề nhau là nhỏ nhất. - Xác định mối quan hệ giữa các đồng tầng để thống nhất về các phương thức hoạt động trong quá trình truyền thông, mối quan hệ đó là tập các quy tắc và các thoả thuận trong hội thoại giữa các hệ thống, gọi là giao thức tầng. - Dữ liệu không được truyền trực tiếp từ tầng thứ i của hệ thống phát sang tầng thứ i của hệ thống nhận (trừ tầng thấp nhất- tầng vật lý) mà được chuyển từ tầng cao xuống tầng thấp nhất bên hệ thống phát và qua đường truyền vật lý, dữ liệu là chuỗi bit không cấu trúc được truyền sang tầng thấp nhất của hệ thống nhận và từ đó dữ liệu được chuyển ngược lên các tầng trên. Giữa các đồng tầng xác định liên kết logic, giữa các tầng vật lý có liên kết vật lý. Hình 2-1: Ví dụ về phân tầng Hình 2.1. minh họa chi tiết về kiến trúc phân tầng trong hệ thống vận chuyển hàng không, ở đây các công việc được phân chia theo từng tầng, mỗi tầng thực hiện một nhiệm vụ cụ thể trong hệ thống. 11
  11. Mạng máy tính 2.2 Mô hình OSI 2.2.1 Giới thiệu Mô hình OSI (Open System Interconnection)là mô hình được tổ chức ISO đề xuất từ 1977 và công bố lần đầu vào 1984. Để các máy tính và các thiết bị mạng có thể truyền thông với nhau phải có những qui tắc giao tiếp được các bên chấp nhận. Mô hình OSI là một khuôn mẫu giúp chúng ta hiểu dữ liệu đi xuyên qua mạng như thế nào đồng thời cũng giúp chúng ta hiểu được các chức năng mạng diễn ra tại mỗi tầng. Trong mô hình OSI có bảy tầng, mỗi tầng mô tả một phần chức năng độc lập. Sự tách tầng của mô hình này mang lại những lợi ích sau: - Chia hoạt động thông tin mạng thành những phần nhỏ hơn, đơn giản hơn giúp chúng ta dễ khảo sát và tìm hiểu hơn. - Chuẩn hóa các thành phần mạng để cho phép phát triển mạng từ nhiều nhà cung cấp sản phẩm. - Ngăn chặn được tình trạng sự thay đổi của một tầng làm ảnh hưởng đến các tầng khác, như vậy giúp mỗi tầng có thể phát triển độc lập và nhanh chóng hơn. - Mô hình tham chiếu OSI định nghĩa các qui tắc cho các nội dung sau: - Cách thức các thiết bị giao tiếp và truyền thông được với nhau. - Các phương pháp để các thiết bị trên mạng khi nào thì được truyền dữ liệu, khi nào thì không được. - Các phương pháp để đảm bảo truyền đúng dữ liệu và đúng bên nhận. - Cách thức vận tải, truyền, sắp xếp và kết nối với nhau. - Cách thức đảm bảo các thiết bị mạng duy trì tốc độ truyền dữ liệu thích hợp. - Cách biểu diễn một bit thiết bị truyền dẫn. Mô hình tham chiếu OSI được chia thành bảy tầng với các chức năng sau: - Application (ứng dụng): giao diện giữa ứng dụng và mạng (Tầng 7) - Presentation (trình bày): thoả thuận khuôn dạng trao đổi dữ liệu (Tầng 6) - Session (phiên): cho phép người dùng thiết lập các kết nối (Tầng 5) - Transport (vận chuyển): đảm bảo truyền thông giữa hai hệ thống. (Tầng 4) - NetWork (mạng):định hướng dữ liệu truyền trong liên mạng.(Tầng 3) - Data Link (liên kết dữ liệu): xác định việc truy xuất đến thiết bị. (Tầng 2) - Physical (vật lý): chuyển đổi dữ liệu thành các bit và truyền đi. (Tầng 1) 12
  12. Mạng máy tính Hình 2-2: Chức năng của mỗi tầng trong OSI Hình 2-3: Ba tầng phần ứng dụng 13
  13. Mạng máy tính Hình 2-4: Bốn tầng phần luồng dữ liệu Hình 2-5: Các thiết bị tương ứng tại các tầng 2.2.2 Chức năng của các tầng trong mô hình tham chiếu OSI a) Tầng ứng dụng (Application Layer): Tầng này là giao diện giữa các chương trình ứng dụng của người dùng và mạng. Tầng Application xử lý truy nhập mạng chung, kiểm soát luồng và phục hồi lỗi. Tầng này không cung cấp các dịch vụ cho tầng nào mà nó cung cấp dịch vụ cho các ứng dụng như: truyền file, gởi nhận E-mail, Telnet, HTTP, FTP, SMTP b) Tầng trình bày (Presentation Layer): Tầng này chịu trách nhiệm thương lượng và xác lập dạng thức dữ liệu được trao đổi. Nó đảm bảo thông tin mà tầng ứng dụng của một hệ thống đầu cuối gởi đi, tầng ứng dụng của hệ thống khác có thể đọc được. Tầng trình bày thông dịch giữa nhiều dạng dữ liệu khác nhau thông qua một dạng chung, đồng thời nó cũng nén và giải nén dữ liệu. Thứ tự byte, bit bên gởi và bên nhận qui ước qui tắc gởi nhận một 14
  14. Mạng máy tính chuỗi byte, bit từ trái qua phải hay từ phải qua trái. Nếu hai bên không thống nhất thì sẽ có sự chuyển đổi thứ tự các byte bit vào trước hoặc sau khi truyền. Tầng presentation cũng quản lý các cấp độ nén dữ liệu nhằm giảm số bit cần truyền. Ví dụ: JPEG, ASCCI, EBCDIC c) Tầng phiên (Session Layer): Tầng này có chức năng thiết lập, quản lý, và kết thúc các phiên thông tin giữa hai thiết bị truyền nhận. Tầng phiên cung cấp các dịch vụ cho tầng trình bày. Tầng Session cung cấp sự đồng bộ hóa giữa các tác vụ người dùng bằng cách đặt những điểm kiểm tra vào luồng dữ liệu. Bằng cách này, nếu mạng không hoạt động thì chỉ có dữ liệu truyền sau điểm kiểm tra cuối cùng mới phải truyền lại. Tầng này cũng thi hành kiểm soát hội thoại giữa các quá trình giao tiếp, điều chỉnh bên nào truyền, khi nào, trong bao lâu. Ví dụ như: RPC, NFS, Tầng này kết nối theo ba cách: Haft-duplex, Simplex, Full-duplex. d) Tầng vận chuyển (Transport Layer): Tầng vận chuyển phân đoạn dữ liệu từ hệ thống máy truyền và tái thiết lập dữ liệu vào một luồng dữ liệu tại hệ thống máy nhận đảm bảo rằng việc bàn giao các thông điệp giữa các thiết bị đáng tin cậy. Dữ liệu tại tầng này gọi là segment. Tầng này thiết lập, duy trì và kết thúc các mạch ảo đảm bảo cung cấp các dịch vụ sau: - Xếp thứ tự các phân đoạn: khi một thông điệp lớn được tách thành nhiều phân đoạn nhỏ để bàn giao, tầng vận chuyển sẽ sắp xếp thứ tự các phân đoạn trước khi ráp nối các phân đoạn thành thông điệp ban đầu. - Kiểm soát lỗi: khi có phân đoạn bị thất bại, sai hoặc trùng lắp, tầng vận chuyển sẽ yêu cầu truyền lại. - Kiểm soát luồng: tầng vận chuyển dùng các tín hiệu báo nhận để xác nhận. Bên gửi sẽ không truyền đi phân đoạn dữ liệu kế tiếp nếu bên nhận chưa gởi tín hiệu xác nhận rằng đã nhận được phân đoạn dữ liệu trước đó đầy đủ. e) Tầng mạng (Network Layer): Tầng mạng chịu trách nhiệm lập địa chỉ các thông điệp, diễn dịch địa chỉ và tên logic thành địa chỉ vật lý đồng thời nó cũng chịu trách nhiệm gởi packet từ mạng nguồn đến mạng đích. Tầng này quyết định đường đi từ máy tính nguồn đến máy tính đích. Nó quyết định dữ liệu sẽ truyền trên đường nào dựa vào tình trạng, ưu tiên dịch vụ và các yếu tố khác. Nó cũng quản lý lưu lượng trên mạng chẳng hạn như chuyển đổi gói, định tuyến, và kiểm soát sự tắc nghẽn dữ liệu. Nếu bộ thích ứng mạng trên bộ định tuyến (router) không thể truyền đủ đoạn dữ liệu mà máy tính nguồn gởi đi, tầng Network trên bộ định tuyến sẽ chia dữ liệu thành những đơn vị nhỏ hơn, nói cách khác, nếu máy tính nguồn gởi đi các gói tin có kích thước là 20Kb, trong khi Router chỉ cho phép các gói tin có kích thước là 10Kb đi qua, thì lúc đó tầng Network của Router sẽ chia gói tin ra làm 2, mỗi gói tin có kích thước là 10Kb. Ở đầu nhận, tầng Network ráp nối lại dữ liệu. Ví dụ: một số giao thức tầng này: IP, IPX, Dữ liệu ở tầng này gọi packet hoặc datagram. f) Tầng liên kết dữ liệu (Data link Layer): 15
  15. Mạng máy tính Cung cấp khả năng chuyển dữ liệu tin cậy xuyên qua một liên kết vật lý. Tầng này liên quan đến: - Địa chỉ vật lý. - Mô hình mạng. - Cơ chế truy cập đường truyền. - Thông báo lỗi. - Thứ tự phân phối frame. - Điều khiển dòng. Tại tầng data link, các bít đến từ tầng vật lý được chuyển thành các frame dữ liệu bằng cách dùng một số nghi thức tại tầng này. Tầng data link được chia thành hai tầng con: - Tầng con LLC (logical link control): Tầng con LLC là phần trên so với các giao thức truy cập đường truyền khác, nó cung cấp sự mềm dẻo về giao tiếp. Bởi vì tầng con LLC hoạt động độc lập với các giao thức truy cập đường truyền, cho nên các giao thức tầng trên hơn (ví dụ như IP ở tầng mạng) có thể hoạt động mà không phụ thuộc vào loại phương tiện LAN. Tầng con LLC có thể lệ thuộc vào các tầng thấp hơn trong việc cung cấp truy cập đường truyền. - Tầng con MAC (media access control): Tầng con MAC cung cấp tính thứ tự truy cập vào môi trường LAN. Khi nhiều trạm cùng truy cập chia sẻ môi trường truyền, để định danh mỗi trạm, tầng cho MAC định nghĩa một trường địa chỉ phần cứng, gọi là địa chỉ MAC address. Địa chỉ MAC là một con số đơn nhất đối với mỗi giao tiếp LAN (card mạng). g) Tầng vật lý (Physical Layer): Định nghĩa các qui cách về điện, cơ, thủ tục và các đặc tả chức năng để kích hoạt, duy trì và dừng một liên kết vật lý giữa các hệ thống đầu cuối. Một số các đặc điểm trong tầng vật lý này bao gồm: - Mức điện thế. - Khoảng thời gian thay đổi điện thế. - Tốc độ dữ liệu vật lý. - Khoảng đường truyền tối đa. - Các đầu nối vật lý. Quá trình xử lý và vận chuyển của một gói dữ liệu trong mô hình OSI 16
  16. Mạng máy tính Hình 2-6: Mỗi tầng trong mô hình OSI đều thêm một đầu đề vào khung dữ liệu 2.3 Mô hình TCP/IP Nếu như mô hình OSI được sử dụng như mô hình tham chiếu thì mô hình TCP/IP là mô hình đã được triển khai ở các hệ điều hành và được sử dụng cho các máy tính tham gia kết nối mạng. Vai trò của mô hình TCP/IP Các bộ phận, văn phòng của Chính phủ Hoa Kỳ đã nhận thức được sự quan trọng và tiềm năng của kĩ thuật Internet từ nhiều năm trước, cũng như đã cung cấp tài chánh cho việc nghiên cứu, để thực sự có được một mạng Internet toàn cầu. Sự hình thành kĩ thuật Internet là kết quả nghiên cứu dưới sự tài trợ của Defense/Advanced Research Projects Agency (ARPA/DARPA). Kĩ thuật ARPA bao gồm một tập hợp của các chuẩn mạng, đặc tả chi tiết cách thức mà các máy tính thông tin liên lạc với nhau, cũng như các quy ước cho các mạng interconnecting và định tuyến giao thông. Tên chính thức là TCP/IP Internet Protocol Suite và thường được gọi là TCP/IP, có thể dùng để thông tin liên lạc qua tập hợp bất kỳ các mạng interconnected. Nó có thể dùng để liên kết mạng trong một công ty, không nhất thiết phải nối kết với các mạng khác bên ngoài. Các tầng của mô hình TCP/IP 17
  17. Mạng máy tính Hình 2-7: Mô hình tham chiếu TCP/IP Mô hình tham chiếu TCP/IP tương tự như kiến trúc OSI, sau đây là một số tính chất của các tầng trong mô hình tham chiếu TCP/IP: - Tầng Application: quản lý các giao thức, như hỗ trợ việc trình bày, mã hóa, và quản lý cuộc gọi. Tầng Application cũng hỗ trợ nhiều ứng dụng, như: FTP (File Transfer Protocol), HTTP (Hypertext Transfer Protocol), SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System), TFTP (Trivial File Transfer Protocol). - Tầng Transport: đảm nhiệm việc vận chuyển từ nguồn đến đích. Tầng Transport đảm nhiệm việc truyền dữ liệu thông qua hai nghi thức: TCP (Transmission Control Protocol) và UDP (User Datagram Protocol). - Tầng Internet: đảm nhiệm việc chọn lựa đường đi tốt nhất cho các gói tin. Nghi thức được sử dụng chính ở tầng này là nghi thức IP (Internet Protocol). - Tầng Network Interface: có tính chất tương tự như hai tầng Data Link và Physical của kiến trúc OSI. 2.4 So sánh mô hình OSI và TCP/IP Hình 2-8: So sánh mô hình OSI và TCP/IP Các điểm giống nhau: 18
  18. Mạng máy tính - Cả hai đều theo phương pháp kiến trúc phân tầng. - Đều có tầng Application, mặc dù các dịch vụ ở mỗi tầng khác nhau. - Đều có các tầng Transport và Network. - Sử dụng kĩ thuật chuyển mạch gói (packet-switched). Các điểm khác nhau: - Mô hình TCP/IP kết hợp tầng Presentation và tầng Session vào trong tầng Application. - Mô hình TCP/IP kết hợp tầng Data Link và tầng Physical vào trong một tầng netwỏk acces - Nghi thức TCP/IP được chuẩn hóa và được sử dụng phổ biến trên toàn thế giới. 2.5 Một số thiết bị mạng cơ bản 2.5.1 Card mạng (NIC) Card mạng dùng để kết nối các máy tính trong mạng với nhau thông qua hệ thống cáp. Card điều hợp khớp với một khe cắm trên PC (PCI), nó có một hoặc nhiều đường truy cập để người sử dụng kết nối mạng. Trên Card có mạch điện cho phép tiếp nhận hoặc phát tín hiệu trên mạng. Trên Card mạng có thể có nhiều đường giao tiếp như RJ – 45, BNC, hoặc AUI (Attachment Unit Interface) giúp cho các host có thể nối kết với mạng. NIC làm việc tại tầng 2 của mô hình OSI (Datalink). Hình 2-9: Tầng hoạt động của NIC 2.5.2 HUB Hub được sử dụng làm điểm trung tâm của mạng, để liên kết mạng topo hình sao giữa các máy tính tham gia trong một phân đoạn mạng. Hub nhận tín hiệu, phục hồi và gửi chuyển tiếp chúng tới tất cả các cổng, và gửi chúng trở lại trạm nguồn. Hub là thiết bị thuộc tầng vật lý 19
  19. Mạng máy tính Hình 2-10: Tầng hoạt động của HUB Một số loại Hub - Passive Hub (Hub thụ động) - Active Hub (Hub tích cực) - Intelligent Hub (Hub thông minh) 2.5.3 Repeater Là thiết bị dùng để khuếch đại tín hiệu trên các đoạn cáp dài. Khi truyền dữ liệu trên các đoạn cáp dài tín hiệu điện sẽ yếu đi, nếu chúng ta muốn mở rộng kích thước mạng thì chúng ta dùng thiết bị này để khuếch đại tín hiệu và truyền đi tiếp. Nhưng chúng ta chú ý rằng thiết bị này hoạt động ở tầng vật lý trong mô hình OSI, nó chỉ hiểu tín hiệu điện nên không lọc được dữ liệu ở bất kỳ dạng nào, và mỗi lần khuếch đại các tín hiệu điện yếu sẽ bị sai do đó nếu cứ tiếp tục dùng nhiều Repeater để khuếch đại và mở rộng kích thước mạng thì dữ liệu sẽ ngày càng sai lệch. Hình 3.25: Thiết bị Repeater 2.5.4 Bridge (cầu nối) Là thiết bị cho phép nối kết hai nhánh mạng, có chức năng chuyển có chọn lọc các gói tin đến nhánh mạng chứa máy nhận gói tin. Trong Bridge có bảng địa chỉ MAC, bảng địa chỉ này sẽ được dùng để quyết định đường đi của gói tin (cách thức truyền đi của một gói tin sẽ được nói rõ hơn ở trong phần trình bày về thiết bị Switch). Bảng địa chỉ này có thể được khởi tạo tự động hoặc phải cấu hình bằng tay. Bridge hoạt động ở tầng hai (tầng Data link) trong mô hình OSI. Ưu điểm của Bridge là: cho phép mở rộng cùng một mạng logic với nhiều kiểu cáp khác nhau. Chia mạng thành nhiều phân đoạn khác nhau nhằm giảm lưu lượng trên mạng. 20
  20. Mạng máy tính Nhược điểm: chậm hơn Repeater vì phải xử lý các gói tin, chưa tìm được đường đi tối ưu trong trường hợp có nhiều đường đi. Việc xử lý gói tin dựa trên phần mềm. Hình 2-11: Mô hình mạng sử dụng Bridge 2.5.5 Switch Là thiết bị giống như bridge nhưng nhiều port hơn cho phép ghép nối nhiều đoạn mạng với nhau. Switch cũng dựa vào bảng địa chỉ MAC để quyết định gói tin nào đi ra port nào nhằm tránh tình trạng giảm băng thông khi số máy trạm trong mạng tăng lên. Switch cũng hoạt động tại tầng hai trong mô hình OSI. Việc xử lý gói tin dựa trên phần cứng (chip). Khi một gói tin đi đến Switch (hoặc Bridge), Switch (hoặc Bridge) sẽ thực hiện như sau: - Kiểm tra địa chỉ nguồn của gói tin đã có trong bảng MAC chưa, nếu chưa có thì nó sẽ thêm địa chỉ MAC này và port nguồn (nơi gói tin đi vào Switch (hoặc Bridge)) vào trong bảng MAC. - Kiểm tra địa chỉ đích của gói tin đã có trong bảng MAC chưa: o Nếu chưa có thì nó sẽ gởi gói tin ra tất cả các port (ngoại trừ port gói tin đi vào). o Nếu địa chỉ đích đã có trong bảng MAC: o Nếu port đích trùng với port nguồn thì Switch (hoặc Bridge) sẽ loại bỏ gói tin. o Nếu port đích khác với port nguồn thì gói tin sẽ được gởi ra port đích tương ứng. Chú ý: - Địa chỉ nguồn và địa chỉ đích được nói ở trên đều là địa chỉ MAC. - Port nguồn là Port mà gói tin đi vào (số hiệu port của ứng dụng gửi yêu cầu thường được sinh ra bởi thiết bị gửi hoặc tuân theo các qui định sẵn có ví dụ HTTP thì port là 80, ) . 21
  21. Mạng máy tính - Port đích là Port mà gói tin đi ra (Số hiệu port của ứng dụng sẽ nhận yêu cầu thường được qui định hoặc lập trình sẵn ví dụ SMTP có port là 25). Do cách hoạt động của Switch (hoặc Bridge) như vậy, nên mỗi Port của Switch là một Collision Domain, và toàn bộ Switch được xem là một Broadcast Domain. Hình 2-12: Mô hình mạng sử dụng Switch Ngoài các tính năng cơ sở, Switch còn các tính năng mở rộng như tạo LAN ảo (VLAN), chuyển mạch theo nhiều chế độ khác nhau, có thể định tuyến gói tin. 2.5.6 Router Là thiết bị dùng nối kết các mạng logic với nhau, kiểm soát và lọc các gói tin nên hạn chế được lưu lượng trên các mạng logic (thông qua cơ chế Access- list). Các Router dùng bảng định tuyến (Routing table) để lưu trữ thông tin về mạng dùng trong trường hợp tìm đường đi tối ưu cho các gói tin. Bảng định tuyến chứa các thông tin về đường đi, thông tin về ước lượng thời gian, khoảng cách Bảng này có thể cấu hình tĩnh hay tự động. Router hiểu được địa chỉ logic IP nên thông thường Router hoạt động ở tầng mạng (network) hoặc cao hơn. Người ta cũng có thể thực hiện firewall ở mức độ đơn giản trên Router thông qua tính năng Access-list (tạo một danh sách truy cập hợp lệ), thực hiện việc ánh xạ địa chỉ thông qua tính năng NAT(chuyển đổi địa chỉ). Khi một gói tin đến Router, Router sẽ thực hiện các việc kiểm tra địa chỉ IP đích của gói tin: - Nếu địa chỉ mạng của IP đích này có trong bảng định tuyến của Router, Router sẽ gởi ra port tương ứng. - Nếu địa chỉ mạng của IP đích này không có trong bảng định tuyến, Router sẽ kiểm tra xem trong bảng định tuyến của mình có khai báo Default Gateway hay không: 22
  22. Mạng máy tính Hình 3.30: Hoạt động của Router trong liên mạng - Nếu có khai báo Default Gateway thì gói tin sẽ được Router đưa đến Default Gateway tương ứng. - Nếu không có khai báo Default Gateway thì gói tin sẽ bị loại bỏ. 2.5.7 Modem Là thiết bị dùng để nối hai máy tính hay hai thiết bị ở xa thông qua mạng điện thoại. Modem thường có hai loại: internal (là loại được gắn bên trong máy tính giao tiếp qua khe cắm ISA hoặc PCI), external (là loại thiết bị đặt bên ngoài CPU và giao tiếp với CPU thông qua cổng COM theo chuẩn RS-232). Cả hai loại trên đều có cổng giao tiếp RJ11 để nối với dây điện thoại. Chức năng của Modem là chuyển đổi tín hiệu số (digital) thành tín hiệu tương tự (analog) để truyền dữ liệu trên dây điện thoại. Tại đầu nhận, Modem chuyển dữ liệu ngược lại từ dạng tín hiệu tương tự sang tín hiệu số để truyền vào máy tính. Thiết bị này giá tương đối thấp nhưng mang lại hiệu quả rất lớn. Nó giúp nối các mạng LAN ở xa với nhau thành các mạng WAN, giúp người dùng có thể hòa vào mạng nội bộ của công ty một cách dễ dàng dù người đó ở nơi nào. 23
  23. Mạng máy tính Hình 2-13: Mô hình truyền dữ liệu thông qua Modem 2.5.8 Wireless Access Point. Hình 2-14: Thiết bị Wireless Access Point Wireless Access Point là thiết bị kết nối mạng không dây được thiết kế theo chuẩn IEEE802.11b, cho phép nối LAN to LAN, dùng cơ chế CSMA/CA để giải quyết tranh chấp, dùng cả hai kiến trúc kết nối mạng là Infrastructure và AdHoc, mã hóa theo 64/128 Bit. Nó còn hỗ trợ tốc độ truyền không dây lên 11/54 Mbps trên băng tần 2,4GHz ISM dùng công nghệ radio DSSS (Direct Sequence Spread Spectrum) 24
  24. Mạng máy tính BÀI 3. TẦNG VẬT LÝ 3.1 Giới thiệu về môi trường truyền dẫn 3.1.1 Khái niệm Phương tiện truyền vật lý là vật truyền tải các tín hiệu điện tử giữa các thành phần mạng với nhau, bao gồm các loại cáp và các phương tiện vô tuyến. 3.1.2 Các dạng truyền dẫn: - Đơn công (Simplex): trong kiểu truyền dẫn này, thiết bị phát tín hiệu và thiết bị nhận tín hiệu được phân biệt rõ ràng, thiết bị phát chỉ đảm nhiệm vai trò phát tín hiệu, còn thiết bị thu chỉ đảm nhiệm vai trò nhận tín hiệu. Truyền hình là một ví dụ của kiểu truyền dẫn này. - Bán song công (Half-Duplex): trong kiểu truyền dẫn này, thiết bị có thể là thiết bị phát, vừa là thiết bị thu. Nhưng tại một thời điểm thì chỉ có thể ở một trạng thái (phát hoặc thu). Bộ đàm là thiết bị hoạt động ở kiểu truyền dẫn này. - Song công (Full-Duplex): trong kiểu truyền dẫn này, tại một thời điểm, thiết bị có thể vừa phát vừa thu. Điện thoại là một minh họa cho kiểu truyền dẫn này. 3.2 Đường truyền hữu tuyến 3.2.1 Cáp đôi dây xoắn Hiện nay loại cáp này đang được sử dụng một cách rộng rãi trong các hệ thống mạng LAN, vì giá thành rẻ và lắp đặt tiện lợi. Mỗi sợi cáp soắn đôi gồm 2 sợi lõi đồng soắn vào nhau có tác dụng chống nhiễu cho nhau, bớt bức xạ khi chạy gần các đường dây và thiết bị điện tử khác. Hình 3-1: Cặp dây xoắn Có hai loại cáp đôi dây xoắn: cáp xoắn bọc và cáp xoắn trần a) Cáp có vỏ bọc trống nhiễu STP (Shield Twisted Pair): Gồm nhiều cặp xoắn được phủ bên ngoài một lớp vỏ làm bằng dây đồng bện. Lớp vỏ này có tác dụng chống EMI từ ngoài và chống phát xạ nhiễu bên trong. Lớp vỏ bọc chống nhiễu này được nối đất để thoát nhiễu. Cáp xoắn đôi có bọc ít bị tác động bởi nhiễu điện và có tốc độ truyền qua khoảng cách xa cao hơn cáp xoắn đôi trần. - Chi phí: đắt tiền hơn Thinnet và UTP nhưng lại rẻ tiền hơn Thicknet và cáp quang. - Tốc độ: tốc độ lý thuyết 500Mbps, thực tế khoảng 155Mbps, với đường chạy 100m. Tốc độ phổ biến 16Mbps (Token Ring). - Độ suy dần: tín hiệu yếu dần nếu cáp càng dài, thông thường ngắn hơn 100m. 25
  25. Mạng máy tính Loại cáp này lắp đặt khó khăn cần phải có người có tay nghề vững. Hình 3-2: Cáp STP (Shielded Twisted Pair) b) Cáp xoắn đôi không có vỏ bọc chống nhiễu UTP(Unshielded Twisted Pair) Cáp UTP cáp không có vỏ bọc chống nhiễu, bù lại nó có tính linh hoạt và độ bền cao.Gồm nhiều cặp xoắn như cáp STP nhưng không có lớp vỏ đồng chống nhiễu. Cáp xoắn đôi trần sử dụng chuẩn 10BaseT hoặc 100BaseT. Do giá thành rẻ nên đã nhanh chóng trở thành loại cáp mạng cục bộ được ưu chuộng nhất. Độ dài tối đa của một đoạn cáp là 100 mét. Không có vỏ bọc chống nhiễu nên dễ bị nhiễu khi đặt gần các thiết bị và cáp khác do đó thông thường dùng để đi dây trong nhà. Đầu nối dùng đầu RJ-45. Cáp UTP có 5 loại: - Loại 1: truyền âm thanh, tốc độ <4Mbps - Loại 2: cáp này gồm 4 dây xoắn đôi, tốc độ 4Mbps - Loại 3: truyền dữ liệu với tốc độ lên đến 10 Mbps. Cáp này gồm 4 dây xoắn đôi với 3 mắt xoắn trên mỗi foot. (foot là đơn vị đo chiều dài, 1foot = 0.3048mét). - Loại 4: truyền dữ liệu, 4 cặp xoắn đôi, tốc độ đạt được 16 Mbps - Loại 5: truyền dữ liệu, 4 cặp xoắn đôi, tốc độ 100Mbp 26
  26. Mạng máy tính Hình 3-3: Cáp UTP(Unshielded Twisted Pair) Tuy nhiên trong 4 cặp này người ta mới chỉ sử dụng có 2 cặp, 2 cặp còn lại phục vụ cho các nhu cầu trong tương lai. Mỗi đôi đều có màu đặc trưng với một sợi có màu sợi còn lại là màu pha lẫn giữa màu trắng và màu của dây kia. Cặp 1: Xanh da trời (Blue + WhiteBlue) Cặp 2: Cam (Orange + WhiteOrange) Cặp 3: Xanh lục (Green + WhiteGreen) Cặp 4: Nâu (Brown + WhiteBrown) Bạn có thể sử dụng bất kỳ 2 trong 4 cặp kể trên, chú ý có sự khác nhau về cách đặt dây trong trường hợp hai host liên kết trực tiếp và thông qua thiết bị trung tâm như là HUB chẳng hạn. Đầu nối: Loại cáp đôi dây xoắn sử dụng đầu nối RJ 45 (giắc cho điện thoại là RJ 11) Hình 3-4: Đầu nối RJ - 45 27
  27. Mạng máy tính Hình 3-5: Mặt cắt ngang của đầu nối RJ - 45 Quy định số hiệu chân: Để xác định vị trí chân, ta đặt jack lên bàn sao cho phần tiếp điểm đồng (pin) quay lên trên, đầu có sợi cable (phần cắm cable vào) hướng về phía người quan sát. Chân (pin) số 1 là chân tận cùng phía tay trái, chân số 8 là chân tận cùng phía tay phải (hình 3.16 a). Tương ứng với đầu jack RJ45 là phần ổ cắm cable được thiết kế trên NIC hay HUB hoặc một thiết bị kết nối khác (ổ cái) cũng có quy định số hiệu chân tương ứng. Để xác định vị trí chân của ổ cái, ta xoay ổ cắm sao cho phần gài đầu cable quay xuống dưới, khi đó chân tận cùng bên trái là chân số 1, chân tận cùng bên phải là chân số 8. Quy định các cặp dây được sắp xếp theo trật tự sau: Hình 3-6: Sơ đồ kẹp dây trên đầu jack RJ45 Cable nối thẳng (STRAIGHT THROUGH CABLE): Loại cable này được dùng để nối máy tính với Hub/Switch hoặc patch panel với Hub/Switch. Có thể sử dụng chuẩn T568A hoặc T568B để kẹp đầu cable. 28
  28. Mạng máy tính Hình 3-7: Sơ đồ chân cable nối thẳng Cable nối chéo: Đấu chéo giúp cho 2 máy tính có thể liên kết trực tiếp với nhau, khi đấu chú ý nếu một đầu đã đấu theo chuẩn T568B thì đầu còn lại đấu theo chuẩn T568A. 3.2.2 Cáp quang Trong mọi trường hợp cáp quang đều có khả năng truyền tải rất xa tới vài cây số, không bị nhiễu âm và có độ bền rất cao dải thông rất rộng. Đây là một phương tiện truyền dẫn lý tưởng tuy nhiên giá thành của nó lại rất đắt và khó lắp đặt. Lõi cáp làm bằng nhựa hoặc thủy tinh, đã được tinh chế để truyền tín hiệu ánh sáng, ít bị thất thoát vì được tráng một tầng phản chiếu bên ngoài để tín hiệu dội về lõi, bên ngoài có vỏ bảo vệ. Hiện nay có hai loại cáp quang lỏng và chặt Cấu trúc lỏng có một khoảng cách liên kết giữa vỏ bọc lõi và bao nhựa làm vỏ bọc, khoảng cách được kết hợp bằng chất gel (trong như thạch đặc quánh). Cấu trúc ôm chặt các sợi kim loại bền chắc vào giữa dây dẫn truyền. Vỏ bao của hai loại cáp nhằm giữ độ bền cho cáp, còn chất gel thì bảo vệ sợi quang vì nó rất dễ bị bẻ gãy. Cáp quang không truyền tín hiệu điện mà truyền ánh sáng do vậy nó hoàn toàn miễn trừ nhiễu âm, tuy nhiên tại cuối đường truyền phải có thiết bị để biến đổi ánh sáng sang tín hiệu điện. Cáp quang do không có tín hiệu điện do vậy độ an toàn rất cao chống được các thiết bị nghe lén. Cáp quang có đường kính từ 8.3 - 100 micron, do đường kính lõi sợi thuỷ tinh có kích thước rất nhỏ nên rất khó khăn cho việc đấu nối, nó cần công nghệ đặc biệt với kỹ thuật cao đòi hỏi chi phí cao. Dải thông của cáp quang có thể lên tới 2Gbps (2 tỷ bít /s) 29
  29. Mạng máy tính Hình 3-8: Cáp quang Hình 3-9: Hai cơ chế truyền tín hiệu trong cáp quang Hai phương pháp truyền tín hiệu cơ bản trong cáp quang. Các loại cáp quang: - Loại lõi 8.3 micron, tầng lót 125 micron, chế độ đơn (Single-Mode). - Loại lõi 62.5 micron, tầng lót 125 micron, đa chế độ (MultiMode). - Loại lõi 50 micron, tầng lót 125 micron, đa chế độ. - Loại lõi 100 micron, tầng lót 140 micron, đa chế độ. Các loại đầu nối cáp quang 30
  30. Mạng máy tính Hình 3-10: Đầu nối quang 3.3 Đường truyền vô tuyến Khi dùng các loại cáp ta gặp một số khó khăn như cơ sở cài đặt cố định, khoảng cách không xa, vì vậy để khắc phục những khuyết điểm trên người ta dùng đường truyền vô tuyến. Đường truyền vô tuyến mang lại những lợi ích sau: - Cung cấp nối kết tạm thời với mạng cáp có sẵn. - Những người liên tục di chuyển vẫn nối kết vào mạng dùng cáp. - Lắp đặt đường truyền vô tuyến ở những nơi địa hình phức tạp không thể đi dây được. - Phù hợp cho những nơi phục vụ nhiều kết nối cùng một lúc cho nhiều khách hàng. Ví dụ như: o Dùng đường vô tuyến cho phép khách hàng ở sân bay kết vào mạng để duyệt Internet. o Dùng cho những mạng có giới hạn rộng lớn vượt quá khả năng cho phép của cáp đồng và cáp quang. o Dùng làm kết nối dự phòng cho các kết nối hệ thống cáp. Tuy nhiên, đường truyền vô tuyến cũng có một số hạn chế: - Tín hiệu không an toàn. - Dễ bị nghe lén. - Khi có vật cản thì tín hiệu suy yếu rất nhanh. - Băng thông không cao. 31
  31. Mạng máy tính 3.3.1 Sóng vô tuyến (radio) Hình 3-11: Truyền dữ liệu qua sóng vô tuyến Sóng radio nằm trong phạm vi từ 10 KHz đến 1 GHz, trong miền này ta có rất nhiều dải tần ví dụ như: sóng ngắn, VHF (dùng cho tivi và radio FM), UHF (dùng cho tivi). Tại mỗi quốc gia, nhà nước sẽ quản lý cấp phép sử dụng các băng tần để tránh tình trạng các sóng bị nhiễu. Nhưng có một số băng tần được chỉ định là vùng tự do có nghĩa là chúng ta dùng nhưng không cần đăng ký (vùng này thường có dải tần 2,4 Ghz). Tận dụng lợi điểm này các thiết bị Wireless của các hãng như Cisco, Compex đều dùng ở dải tần này. Tuy nhiên, chúng ta sử dụng tần số không cấp phép sẽ có nguy cơ nhiễu nhiều hơn. 3.3.2 Sóng viba Truyền thông viba thường có hai dạng: truyền thông trên mặt đất và các nối kết với vệ tinh. Miền tần số của viba mặt đất khoảng 21-23 GHz, các kết nối vệ tinh khoảng 11-14 Mhz. Băng thông từ 1-10 MBps. Sự suy yếu tín hiệu tùy thuộc vào điều kiện thời tiết, công suất và tần số phát. Chúng dễ bị nghe trộm nên thường được mã hóa. 32
  32. Mạng máy tính Hình 3-12: Truyền dữ liệu thông qua vệ tinh Hình 3-13: Truyền dữ liệu trực tiếp giữa hai thiết bị 3.3.3 Hồng ngoại Tất cả mạng vô tuyến hồng ngoại đều hoạt động bằng cách dùng tia hồng ngoại để truyền tải dữ liệu giữa các thiết bị. Phương pháp này có thể truyền tín hiệu ở tốc độ cao do dải thông cao của tia hồng ngoại. Thông thường mạng hồng ngoại có thể truyền với tốc độ từ 1-10 Mbps. Miền tần số từ 100 Ghz đến 1000 GHz. Có bốn loại mạng hồng ngoại: - Mạng đường ngắm: mạng này chỉ truyền khi máy phát và máy thu có một đường ngắm rõ rệt giữa chúng. - Mạng hồng ngoại tán xạ: kỹ thuật này phát tia truyền dội tường và sàn nhà rồi mới đến máy thu. Diện tích hiệu dụng bị giới hạn ở khoảng 100 feet (35m) và có tín hiệu chậm do hiện tượng dội tín hiệu. 33
  33. Mạng máy tính - Mạng phản xạ: ở loại mạng hồng ngoại này, máy thu-phát quang đặt gần máy tính sẽ truyền tới một vị trí chung, tại đây tia truyền được đổi hướng đến máy tính thích hợp. Broadband optical telepoint: Loại mạng cục bộ vô tuyến hồng ngoại cung cấp các dịch vụ dải rộng. Mạng vô tuyến này có khả năng xử lý các yêu cầu đa phương tiện chất lượng cao, vốn có thể trùng khớp với các yêu cầu đa phương tiện của mạng cáp. Hình 3-14: Truyền dữ liệu giữa 2 máy tính thông qua hồng ngoại 34
  34. Mạng máy tính BÀI 4. TẦNG LIÊN KẾT DỮ LIỆU 4.1 Điều khiển luồng dữ liệu Điều khiển lưu lượng (flow control) là qui trình quản lý tốc độ truyền dữ liệu giữa hai đầu kết nối của mạng lưới. Chúng ta cần phân biệt khái niệm này với điều khiển tắc nghẽn (congestion control) - điều khiển luồng dữ liệu khi tắc nghẽn đã xảy ra . Các cơ chế điều khiển lưu lượng có thể được phân loại tùy theo việc máy nhận có gửi thông tin phản hồi (feedback) lại cho máy gửi hay không. Điều khiển lưu lượng có vai trò quan trọng, vì tình trạng một máy tính gửi thông tin tới một máy tính khác, với một tốc độ cao hơn tốc độ mà máy tính đích có thể nhận và xử lý có thể xảy ra. Tình huống này có thể xảy ra nếu các máy tính nhận phải chịu tải giao thông về dữ liệu cao hơn máy tính nhận, hoặc nếu máy tính nhận có năng lực xử lý kém hơn máy tính gửi. Điều khiển lưu lượng truyền được áp dụng khi dữ liệu được truyền từ thiết bị đầu cuối (terminal equipment - DTE) sang một trung tâm chuyển mạch (switching center) nào đấy, hoặc được truyền thông giữa hai thiết bị DTE với nhau. Tần số truyền tin phải được khống chế vì các yêu cầu của mạng lưới hoặc của các thiết bị truyền tin (DTE). Điều khiển lưu lượng truyền có thể được áp dụng biệt lập trên mỗi chiều mà tín hiệu được truyền thông, cho phép tần số truyền tin trên mỗi chiều khác nhau. Phương pháp điều khiển lưu lượng truyền có hai cách, hoặc là dùng chế độ "ngưng-và-truyền" (stop-and-go) hoặc dùng hình thức cửa sổ di động (sliding window). Điều khiển lưu lượng truyền có thể được thực hiện thông qua các đường điều khiển trong một giao diện truyền thông dữ liệu (xem cổng serial port và RS 232), hoặc bằng cách dành riêng một số ký hiệu cho việc điều khiển (in-band control characters) nhằm báo hiệu cho lưu lượng truyền bắt đầu hoặc ngừng lại (chẳng hạn các mã ASCII cho giao thức XON/XOFF). Các đường điều khiển thông dụng của RS 232 bao gồm: RTS (Request To Send - Máy địa phương sẵn sàng nhận dữ liệu, yêu cầu gửi dữ liệu sang). CTS (Clear To Send - Máy ở xa sẵn sàng nhận dữ liệu). DSR (Data Set Ready - Bộ điều chế dữ liệu (như modem) sẵn sàng để liên lạc (gọi hoặc nhận cuộc gọi) với máy ở xa. DTR (Data Terminal Ready - Thiết bị nhận dữ liệu tại địa phương (như PC) sẵn sàng nhận dữ liệu, cho phép bộ điều chế dữ liệu (modem) liên lạc (gọi hoặc nhận cuộc gọi) với máy ở xa. Phương pháp điều khiển trên thường được gọi là "điều khiển lưu lượng bằng phần cứng" (hardware flow control). Còn XON/XOFF thường được coi là "điều khiển lưu lượng bằng phần mềm" (software flow control). 4.2 Phương pháp kiểm tra sửa sai (CRC) Để đảm bảo thông tin truyền (frame) tới đích không bị sai, chúng ta cần sử dụng các phương pháp kiểm soát lỗi như: 35
  35. Mạng máy tính - Dùng Timer, nghĩa là nếu quá thời gian quy định bên gửi không nhận được tín hiệu trả lời, xem như lỗi, phát lại gói tin hỏng. - Đánh số Frame gửi đi, nếu không nhận đúng thứ tự khung là lỗi, yêu cầu phát lại - Để kiểm tra thu đúng gói tin gởi đi thường khi phát tin có kèm theo trường kiểm soát lỗi (FCS) bằng cách sử dụng các phương pháp sau: + Phương pháp bit chẵn lẻ + Phương pháp mã đa thức + Phương pháp mã sửa sai dùng nguyên lý cân bằng parity để chỉ ra các bit lỗi Phát hiện lỗi theo đa thức: Cyclic redundancy Check (CRC): Mô tả: Khối dữ liệu k bit Mẫu n+1 bit (n<k) Tạo ra dãy n bit gọi là dãy kiểm tra khung tin-FCS, Frame Check Sequence Tao ra một khung tin k+n bit Bên nhận khi nhận được khung tin sẽ chia cho mẫu, nếu kết quả là chia hết, việc truyền khung tin này là không có lỗi Phát hiện lỗi: CRC dưới dạng module của 2 M: Khối tin k bit F: FCS n bit, n bit cuối của T T: khung tin k+n bit P: Mẫu n+1 bit, đây là một số chia được chọn trước. Mục tiêu: xác định F để T chia hết cho P T = 2nM + F Phát hiện lỗi: Các bước tạo và kiểm tra CRC Các bước tạo CRC Dịch trái M đi n bit Chia kết quả cho P Số dư tim được là F Các bước kiểm tra CRC Lấy khung nhận được (n+k) bit Chia cho P, Kiểm tra số dư, nếu số dư khác 0, khung bị lỗi, ngươc lại là không lỗi Phát hiện lỗi: CRC- Dạng đa thức nhị phân Coi dòng bit như là các biểu diễn của các đa thức với các hệ số chỉ là 0 và 1. Một frame k bit được xem là một danh sách các hệ số của một đa thức có k số hạng, từ xk-1 đến x0. Một đa thức như vậy được gọi là có bậc k-1. Bit bậc cao nhất (bên trái nhất) là hệ số của xk-1, bên cạnh là hệ số của xk-2 v.v. Thí dụ, 110001 có 6 bit và như thế biểu diễn một đa thức có 6 số hạng với các hệ số 1, 1, 0, 0, 0, 1: x5+x4+x0. Các phép tính số học đa thức được thực hiện theo modulo 2, theo các quy tắc của Lý thuyết trường đại số. Không có các số nhớ cho phép cộng và số mượn cho phép 36
  36. Mạng máy tính trừ. Cả hai phép tính cộng và trừ đều hoàn toàn giống phép tính OR có loại trừ (EXCLUSIVE OR). Ví dụ Khi phương pháp mã đa thức được sử dụng, người gửi và người nhận phải đồng ý trước với nhau về đa thức sinh (generator polynomial) G(x). Cả bit cao lẫn bit thấp của G(x) phải bằng 1. Để tính checksum cho một frame nào đó có m bit, tương ứng với đa thức M(x), frame phải dài hơn đa thức sinh. Ý tưởng là gắn một checksum vào cuối frame sao cho đa thức được biểu diễn bởi frame đã được tính checksum chia hết cho G(x). Khi người nhận nhận được frame đã được tính checksum, nó sẽ chia frame đó cho G(x). Nếu như còn dư, thì biết đã có lỗi truyền. Gọi T(X), M(X),Q(X),P(X),R(X), là các đa thức tương ứng với các số nhị phân T, M, Q, P, R đã trình bày ở trên, khi đó CRC được biểu thị: Một số đa thức P(X) tiêu biểu: CRC-12: X12+X11+X3+X2+X+1 CRC-16: X16+X15+X2+1 CRC-CCITT: X16+X12+X5+1 CRC32: X32+X26+X23+X22+X16+X12+X11+X10 +X8+X7+X5+X4+X2+X+1 Ví dụ 2: Tạo CRC: 1. Cho tin M=1010001101 (10 bit) Mẫu P:110101 (6 bit) FCS R: được tính theo phương pháp CRC và sẽ có độ dài la 5 bit 2. Nhân M với 25 ta được: M25=101000110100000 3. Chia kết quả cho P: 4. Số dư là: 01110, được đưa vào sau tin M. Ta có tin T, được truyền đi là: 101000110101110 Kiểm tra CRC: 37
  37. Mạng máy tính Giả sử bên thu nhận được T, khi đó để kiểm tra là phép truyền có lỗi không ta chia T ch P, số dư là 00000, vậy ta kết luân phép truyền tin M, không có lỗi. 4.3 Giao thức CSMA/CD CSMA/CD (Carrier Sense Multiple Access with Collision Detection) Phương pháp đa truy nhập sử dụng sóng mang có phát hiện xung đột. Phương pháp này sử dụng cho topo dạng tuyến tính, trong đó tất cả các trạm của mạng đều được nối trực tiếp vào bus. Mọi trạm đều có thể truy nhập vào bus chung (đa truy nhập) một cách ngẫu nhiên và do vậy có thể dẫn đến xung đột (hai hoặc nhiều trạm đồng thời truyền dữ liệu). Dữ liệu được truyền trong mạng theo một khuôn dạng đã định sẵn trong đó có một vùng thông tin điều khiển chứa địa chỉ trạm đích. Phương pháp CSMA/CD được cải tiến từ phương pháp CSMA hay còn gọi là LBT (Listen Before Talk - Nghe trước khi nói). Tư tưởng của nó là: một trạm cần truyền dữ liệu trước hết phải “nghe” xem đường truyền đang rỗi hay bận. Nếu rỗi thì truyền dữ liệu đi theo khuôn dạng đã quy định trước. Ngược lai, nếu bận (tức là đã có dữ liệu khác) thì trạm phải thực hiện một trong 3 giải thuật sau (gọi là giải thuật “kiên nhẫn”) - Tạm “rút lui” chờ đợi trong một thời gian ngẫu nhiên nào đó rồi lại bắt đầu nghe đường truyền (Non persistent - không kiên trì) - Tiếp tục “nghe” đến khi đường truyền rỗi thì truyền dữ liệu đi với xác suất = 1 - Tiếp tục “nghe” đến khi đường truyền rỗi thì truyền đi với xác suất p xác định trước (0 < p <1) Với giải thuật 1: có hiệu quả trong việc tránh xung đột vì hai trạm cần truyền khi thấy đường truyền bận sẽ cùng “rút lui” chờ đợi trong các thời đoạn ngẫu nhiên khác. Nhược điểm có thể có thời gian chết sau mỗi cuộc truyền Giải thuật 2: khắc phục nhược điểm có thời gian chết bằng cách cho phép một trạm có thể truyền ngay sau khi một cuộc truyền kết thúc. Tuy nhiên nhược điểm là: Nếu lúc đó có hơn một trạm đang đợi thì khả năng xảy ra xung đột là rất cao. Giải thuật 3: Trung hoà giữa hai giải thuật trên. Với giá trị p lựa chọn hợp lý có thể tối thiểu hoá được cả khả năng xung đột lẫn thời gian chết của đường truyền. Xảy ra xung đột là do độ trễ của đường truyền dẫn: một trạm truyền dữ liệu đi rồi nhưng do 38
  38. Mạng máy tính độ trễ đường truyền nên một trạm khác lúc đó đang nghe đường truyền sẽ tưởng là rỗi và cứ thể truyền dữ liệu đi, từ đó có xung đột. Nguyên nhân xảy ra xung đột của phương pháp này là các trạm chỉ “nghe trước khi nói” mà không “nghe trong khi nói” do vậy trong thực tế có xảy ra xung đột mà không biết, vẫn cứ tiếp tục truyền dữ liệu đi và gây ra chiếm dụng đường truyền một cách vô ích. Để có thể phát hiện xung đột, cải tiến thành phương pháp CSMA/CD (LWT - Listen While Talk - nghe trong khi nói) tức là bổ xung thêm các quy tắc: - Khi một trạm đang truyền, nó vẫn tiếp tục nghe đường truyền. - Nếu phát hiện thấy xung đột thì nó ngừng ngay việc truyền nhưng vẫn tiếp tục gửi sóng mang thêm một thời gian nữa để đảm bảo rằng tất cả các trạm trong mạng đều có thể nghe được sự kiện xung đột đó. - Sau đó trạm chờ đợi một thời gian ngẫu nhiên nào đó rồi thử truyền lại theo các quy tắc của CSMA 4.4 Giao thức Token ring, Token Bus 4.4.1 Token ring Phương pháp này dựa trên nguyên lý dùng thẻ bài để cấp phát quyền truy nhập đường truyền. Thẻ bài lưu chuyển theo vòng tròn vật lý. Thẻ bài là một đơn vị dữ liệu đặc biệt trong đó có một bít biểu diễn trạng thái sử dụng của nó (bận hoặc rôĩ). Một trạm muốn truyền dữ liệu thì phải đợi đến khi nhận được một thẻ bài rỗi. Khi đó nó sẽ đổi bít trạng thái thành bận và truyền một đơn vị dữ liệu cùng với thẻ bài đi theo chiều của vòng. Giờ đây không còn thẻ bài rỗi trên vòng nữa, do đó các trạm có dữ liệu cần truyền buộc phải đợi. Dữ liệu đến trạm đích sẽ được sao lại, sau đó cùng với thẻ bài đi tiếp cho đến khi quay về trạm nguồn. Trạm nguồn sẽ xoá bỏ dữ liệu, đổi bít trạng thái thành rỗi cho lưu chuyển tiếp trên vòng để các trạm khác có thể nhận được quyền truyền dữ liệu. Sự quay về trạm nguồn của dữ liệu và thẻ bài nhằm tạo một cơ chế nhận từ nhiên: trạm đích có thể gửi vào đơn vị dữ liệu các thông tin về kết quả tiếp nhận dữ liệu của mình. - Trạm đích không tồn tại hoặc không hoạt động - Trạm đích tồn tại nhưng dữ liệu không sao chép được - Dữ liệu đã được tiếp nhận - Phương pháp này cần phải giải quyết hai vấn đề có thể gây phá vỡ hệ thống: - Mất thẻ bài: trên vòng không còn thẻ bài lưu chuyển nữa - Một thẻ bài bận lưu chuyển không dừng trên vòng Giải quyết: Đối với vấn đề mất thẻ bài, có thể quy định trước một trạm điều khiển chủ động. Trạm này sẽ phát hiện tình trạng mất thẻ bài bằng cách dùng cơ chế ngưỡng thời gian (time out) và phục hồi bằng cách phát đi một thẻ bài “rỗi” mới. Đối với vấn đề thẻ bài bận lưu chuyển không dừng, trạm monitor sử dụng một bit trên thẻ bài (gọi là monitor bit) để đánh dấu đặt giá trị 1 khi gặp thẻ bài bận đi qua nó. Nếu nó gặp lại một thẻ bài bận với bít đã đánh dấu đó thì có nghĩa là trạm nguồn đã không nhận lại được đơn vị dữ liệu của mình và thẻ bài “bận” cứ quay vòng mãi. Lúc đó trạm monitor sẽ đổi bit trạng thái của thẻ thành rỗi và chuyển tiếp trên vòng. Các 39
  39. Mạng máy tính trạm còn lại trên trạm sẽ có vai trò bị động: chúng theo dõi phát hiện tình trạng sự cố của trạm monitor chủ động và thay thế vai trò đó. Cần có một giải thuật để chọn trạm thay thế cho trạm monitor hỏng. 4.4.2 Token bus Phương pháp truy nhập có điểu khiển dùng kỹ thuật “chuyển thẻ bài” để cấp phát quyền truy nhập đường truyền. Thẻ bài (Token) là một đơn vị dữ liệu đặc biệt, có kích thước và có chứa các thông tin điều khiển trong các khuôn dạng Nguyên lý: Để cấp phát quyền truy nhập đường truyền cho các trạm đang có nhu cầu truyền dữ liệu,một thẻ bài được lưu chuyển trên một vòng logic thiết lập bởi các trạm đó. Khi một trạm nhận được thẻ bài thì nó có quyền sử dụng đường truyền trong một thời gian định trước. Trong thời gian đó nó có thể truyền một hoặc nhiều đơn vị dữ liệu. Khi đã hết dữ liệu hay hết thời đoạn cho phép, trạm phải chuyển thẻ bài đến trạm tiếp theo trong vòng logic. Như vậy công việc phải làm đầu tiên là thiết lập vòng logic (hay còn gọi là vòng ảo) bao gồm các trạm đang có nhu cầu truyền dữ liệu được xác định vị trí theo một chuỗi thứ tự mà trạm cuối cùng của chuỗi sẽ tiếp liền sau bởi trạm đầu tiên. Mỗi trạm được biết địa chỉ của các trạm kề trước và sau nó. Thứ tự của các trạm trên vòng logic có thể độc lập với thứ tự vật lý. Các trạm không hoặc chưa có nhu cầu truyền dữ liệu thì không được đưa vào vòng logic và chúng chỉ có thể tiếp nhận dữ liệu. Hình 4-1: Vòng tròn logic trong mạng BUS Trong hình vẽ trên, các trạm A, E nằm ngoài vòng logic, chỉ có thể tiếp nhận dữ liệu dành cho chúng. Vấn đề quan trọng là phải duy trì được vòng logic tuỳ theo trạng thái thực tế của mạng tại thời điểm nào đó. Cụ thể cần phải thực hiện các chức năng sau: Các giải thuật cho các chức năng trên có thể làm như sau: Bổ sung một trạm vào vòng logic, mỗi trạm trong vòng có trách nhiệm định kỳ tạo cơ hội cho các trạm mới nhập vào vòng. Khi chuyển thẻ bài đi, trạm sẽ gửi thông báo “tìm trạm đứng sau” để mời các trạm (có địa chỉ giữa nó và trạm kế tiếp nếu có) gửi yêu cầu nhập vòng. Nếu sau một thời gian xác định trước mà không có yêu cầu nào thì 40
  40. Mạng máy tính trạm sẽ chuyển thẻ bài tới trạm kề sau nó như thường lệ. Nếu có yêu cầu thì trạm gửi thẻ bài sẽ ghi nhận trạm yêu cầu trở thành trạm đứng kề sau nó và chuyển thẻ bài tới trạm mới này. Nếu có hơn một trạm yêu cầu nhập vòng thì trạm giữ thẻ bài sẽ phải lựa chọn theo giải thuật nào đó. Loại bỏ một trạm khỏi vòng logic: Một trạm muốn ra khỏi vòng logic sẽ đợi đến khi nhận được thẻ bài sẽ gửi thông báo “nối trạm đứng sau” tới trạm kề trước nó yêu cầu trạm này nối trực tiếp với trạm kề sau nó Quản lý lỗi: Để giải quyết các tình huống bất ngờ. Chẳng hạn, trạm đó nhận được tín hiệu cho thấy đã có các trạm khác có thẻ bài. Lập tức nó phải chuyển sang trạng thái nghe (bị động, chờ dữ liệu hoặc thẻ bài). Hoặc sau khi kết thúc truyền dữ liệu, trạm phải chuyển thẻ bài tới trạm kề sau nó và tiếp tục nghe xem trạm kề sau đó có hoạt động hay đã bị hư hỏng. Nếu trạm kề sau bị hỏng thì phải tìm cách gửi các thông báo để vượt qua trạm hỏng đó, tìm trạm hoạt động để gửi thẻ bài. Khởi tạo vòng logic: Khi một trạm hay nhiều trạm phát hiện thấy đường truyền không hoạt động trong một khoảng thời gian vượt quá một giá trị ngưỡng (time out) cho trước - thẻ bài bị mất (có thể do mạng bị mất nguồn hoặc trạm giữ thẻ bài bị hỏng). Lúc đó trạm phát hiện sẽ gửi đi thông báo “yêu cầu thẻ bài” tới một trạm được chỉ định trước có trách nhiệm sinh thẻ bài mới và chuyển đi theo vòng logic. 4.5 Cơ bản về Ethernet Đầu tiên, Ethernet được phát triển bởi các hãng Xerox, Digital, Intel vào đầu những năm 1970. Phiên bản đầu tiên của Ethernet được thiết kế như một hệ thống 2,94 Mbps để nối hơn 100 máy tính vào một sợi cáp dài 1 Km. Sau đó các hãng lớn đã thảo luận và đưa ra chuẩn dành cho Ethernet 10 Mbps. Ethernet chuẩn thường có cấu hình bus, truyền với tốc độ 10Mbps và dựa vào CSMA/CD (Carrier Sense Multiple Access / Collision Detection) để điều chỉnh lưu thông trên đường cáp chính. thingxngx đặc điểm cơ bản của Ethernet như sau - Cấu hình: bus hoặc star. - Phương pháp chia sẻ môi trường truyền: CSMA/CD. - Quy cách kỹ thuật IEEE 802.3 - Vận tốc truyền: 10 – 100 Mbps. - Cáp: cáp đồng trục gầy, cáp đồng trục béo, cáp UTP. - Tên của chuẩn Ethernet thể hiện 3 đặc điểm sau: o Con số đầu tiên thể hiện tốc độ truyền tối đa. o Từ tiếp theo thể hiện tín hiệu dải tần cơ sở được sử dụng (Base hoặc Broad). o Các ký tự còn lại thể hiện loại cáp được sử dụng. Dạng thức khung trong Ethernet: Ethernet chia dữ liệu thành nhiều khung (frame). Khung là một gói thông tin được truyền như một đơn vị duy nhất. Khung trong Ethernet có thể dài từ 64 đến 1518 byte, nhưng bản thân khung Ethernet đã sử dụng ít nhất 18 byte, nên dữ liệu một khung Ethernet có thể dài từ 46 đến 1500 byte. Mỗi khung đều có chứa thông tin điều khiển và tuân theo một cách tổ chức cơ bản. 41
  41. Mạng máy tính 4.6 Truyền fullduplex và halfduplex Trên một môi trường truyền dẫn (ví dụ trên một sợi cáp đồng) thông tin lan truyền giữa các thiết bị mạng có thể được thực hiện theo nhiều dạng thức khác nhau như: Chỉ cho phép truyền một chiều (quá trình t1) từ thiết bị mạng này tới thiết bị mạng khác trong một đơn vị thời gian, quá trình t2 chỉ được thực hiện khi t1 kết thúc. Dạng thức này được gọi là bán song công (half-full duplex gọi tắt là halfduplex). Trong trường hợp môi trường truyền và các thiết bị mạng có thể hoạt động song song cùng lúc để quá trình t1 và t2 xảy ra đồng thời ta có dạng thức truyền toàn song công ( full duplex). - Truyền bán song công (half duplex): giữa hai đường truyền dữ liệu và luồng tin, chỉ truyền theo một hướng tại một thời điểm khi một thiết bị hoàn thành việc truyền dẫn, nó phải chuyển môi trường truyền đến thiết bị khác. Một thiết bị có thể đóng vai trò Thu và Phát tín hiệu nhưng tại một thời điểm nó chỉ có thể thực hiện một vai trò duy nhất. Ví dụ hoạt động của bộ tọa đàm điện thoại, mạng LAN có sử dụng các thiết bị trung tâm là thiết bị tầng 1 thì luôn sử dụng không thể sử dụng dạng thức fullduplex. - Truyền toàn song công ( full duplex): cho phép dữ liệu truyền đồng thời trên cả hai đường, mỗi thiết kế có một kênh riêng. Một thiết bị có thể đồng thời vừa Phát lại vừa Thu tín hiệu. Các modem máy tính đều hoạt động theo phương thức này, mạng LAN sử dụng toàn thiết bị tập trung tầng 2 hoặc 2 máy tính kết nối trực tiếp với nhau có thể sử dụng dạng thức fullduplex. - Bên cạnh đó còn có thể áp dụng dạng thức truyền đơn công (simple mode): Thông tin chỉ truyền theo một chiều qui định trước, một thiết bị chỉ đóng một vai trò Thu hoặc Phát cố định. Hệ thống báo cháy sử dụng phương thức này. Hình 4-2: Minh họa các phương thức truyền thông 42
  42. Mạng máy tính 4.7 Công nghệ Ethernet 10 Mbps, 100 Mbps Nhìn chung khi nhắc đến Ethernet người ta có thể nghĩ đến hệ thống mạng cục bộ LAN (2 khái niệm này khác nhau) với các tốc độ như 10/100/1000 MBps. Mỗi chuẩn đều có tên gọi và ký hiệu riêng liên quan đến một loạt các vấn đề như tốc độ đường truyền, phương tiện truyền truyền dẫn Sau đây chúng ta sẽ giới thiệu một số công nghệ Ethernet điển hình: Hình 4-3: Một số chuẩn của Ethernet a) 10Base5 (Thicknet) (ngoài ra còn có 10Base2 – Thinnet) - Sơ đồ Bus. - Cáp đồng trục béo - Phương thức truyền Half-duplex - Khoảng cách tối đa 500m - Tuân theo qui tắc 5-4-3-2-1. - Mã hóa Manchester b) 10BASE-T: - Sơ đồ Star - Cáp UTP - Đầu nối RJ-45 - Truyền Half-duplex hoặc full-duplex - Khoảng cách tối đa 100m(90 + 10) - Mã hóa Manchester - Dễ dàng mở rộng mạng bởi HUB, Switch hoặc Repeater. 100BASE-TX (FX) – đặc điểm chung: - Sơ đồ Star - Cáp UTP (cáp quang) 43
  43. Mạng máy tính - Đầu nối RJ-45 - Truyền Half-duplex hoặc full-duplex - Khoảng cách tối đa 100m(90 + 10) - Mã hóa Manchester - Dễ dàng mở rộng mạng bởi HUB, Switch hoặc Repeater. - Băng thông 100 MBps – còn gọi là FastEthernet. 4.8 GigaEthernet Hiện nay một số hệ thống đã được trang bị các công nghệ GigaEthernet như 1000BaseX. Chữ X nói lên đặc tính mã hoá đường truyền ( chuẩn này dựa trên kiểu mã hoá 8B/10B dùng trong hệ thống kết nối tốc độ cao Fibre Channel được phát triển bởi ANSI). - Chuẩn 1000BaseX gồm 3 loại: - 1000Base-SX: tốc độ 1000 Mb/s, sử dụng sợi quang với sóng ngắn. - 1000Base-LX: tốc độ 1000 Mb/s, sử dụng sợi quang với sóng dài. - 1000Base-CX: tốc độ 1000 Mb/s, sử dụng cáp đồng. - 1000BaseT. Hoạt động ở tốc độ Giga bit, băng tần cơ sở trên cáp xoắn cặp Cat 5 trở lên. Sử dụng kiểu mã hoá đường truyền riêng để đạt được tốc độ cao trên loại cáp này. 44
  44. Mạng máy tính BÀI 5. TẦNG MẠNG – GIAO THỨC IP 5.1 Giao thức IP 5.1.1 Khuôn dạng gói tin Là giao thức thuộc tầng mạng của mô hình OSI. Nhiệm vụ chính của giao thức IP là cung cấp khả năng kết nối các mạng con thành liên kết mạng để truyền dữ liệu, vai trò của IP là vai trò của giao thức tầng mạng trong mô hình OSI. Giao thức IP là một giao thức kiểu không liên kết (connectionlees) có 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. Như đã đề cập trước đây khi dòng thông tin được chuyển qua các tầng của mô hình OSI, thông tin đều được đóng gói và ngoài phần dữ liệu mỗi gói tin đều được thêm vào một phần tiêu đề (Hp, Hs, ). Tại tầng mạng của TCP/IP gói tin được bổ xung vào một header do IP xác định. Một header IP bao gồm một số trường như hình vẽ dưới đây. Hình 5-1: Cấu trúc gói tin IP Ý nghĩa của các trường như sau: VERS (4 bits): chỉ version hiện hành của giao thức IP hiện được cài đặt, Việc có chỉ số version cho phép có các trao đổi giữa các hệ thống sử dụng version cũ và hệ thống sử dụng version mới. HLEN (4 bits): chỉ độ dài phần đầu (Internet header Length) của gói tin datagram, tính theo đơn vị từ ( 32 bits). Trường này bắt buột phải có vì phần đầu IP có thể có độ dài thay đổi tùy ý. Độ dài tối thiểu là 5 từ (20 bytes), độ dài tối đa là 15 từ hay là 60 bytes. Type of service (8 bits): đặc tả các tham số về dịch vụ nhằm thông báo cho mạng biết dịch vụ nào mà gói tin muốn được sử dụng, chẳng hạn ưu tiên, thời hạn chậm trễ, năng suất truyền và độ tin cậy. 45
  45. Mạng máy tính Total Length (16 bits): chỉ độ dài toàn bộ gói tin, kể cả phần đầu tính theo đơn vị byte với chiều dài tối đa là 65535 bytes. Hiện nay giới hạn trên là rất lớn nhưng trong tương lai với những mạng Gigabit thì các gói tin có kích thước lớn là cần thiết. Identification (16 bits): cùng với các tham số khác (như Source Address và Destination Address) tham số này dùng để định danh duy nhất cho một datagram trong khoảng thời gian nó vẫn còn trên liên mạng. Flags (3 bits): liên quan đến sự phân đoạn (fragment) các datagram, Các gói tin khi đi trên đường đi có thể bị phân thành nhiều gói tin nhỏ, trong trường hợp bị phân đoạn thì trường Flags được dùng điều khiển phân đoạn và tái lắp ghép bó dữ liệu. Tùy theo giá trị của Flags sẽ có ý nghĩa là gói tin sẽ không phân đoạn, có thể phân đoạn hay là gói tin phân đoạn cuối cùng. Fragment Offset (13 bits): chỉ vị trí của đoạn (fragment) ở trong datagram tính theo đơn vị 8 bytes, có nghĩa là phần dữ liệu mỗi gói tin (trừ gói tin cuối cùng) phải chứa một vùng dữ liệu có độ dài là bội số của 8 bytes. Điều này có ý nghĩa là phải nhân giá trị của Fragment offset với 8 để tính ra độ lệch byte. Time to Live (8 bits): qui định thời gian tồn tại (tính bằng giây) của gói tin trong mạng để tránh tình trạng một gói tin bị quẩn trên mạng. Thời gian này được cho bởi trạm gửi và được giảm đi (thường qui ước là 1 đơn vị) khi datagram đi qua mỗi router của liên mạng. Thời lượng này giảm xuống tại mỗi router với mục đích giới hạn thời gian tồn tại của các gói tin và kết thúc những lần lặp lại vô hạn trên mạng. Protocol (8 bits): chỉ giao thức tầng trên kế tiếp sẽ nhận vùng dữ liệu ở trạm đích (hiện tại thường là TCP hoặc UDP được cài đặt trên IP). Ví dụ: TCP có giá trị trường Protocol là 6, UDP có giá trị trường Protocol là 17. Header Checksum (16 bits): Mã kiểm soát lỗi của header gói tin IP. Source Address (32 bits): Địa chỉ của máy nguồn. Destination Address (32 bits): Địa chỉ của máy đích Options (độ dài thay đổi): khai báo các lựa chọn do người gửi yêu cầu (tuỳ theo từng chương trình). Padding (độ dài thay đổi): Vùng đệm, được dùng để đảm bảo cho phần header luôn kết thúc ở một mốc 32 bits. Data (độ dài thay đổi): Chứa thông tin tầng trên gửi xuống tối đa 64 Kb. Source Address và Destination Address là một địa chỉ IP với độ dài 32 bít ở phần sau chúng ta sẽ phân tích kỹ lưỡng về địa chỉ IP. 5.1.2 Hoạt động của giao thức IP Khi giao thức IP được khởi động nó trở thành một thực thể tồn tại trong máy tính và bắt đầu thực hiện những chức năng của mình, lúc đó thực thể IP là cấu thành của tầng mạng, nhận yêu cầu từ các tầng trên nó và gửi yêu cầu xuống các tầng dưới nó. Đối với thực thể IP ở máy nguồn, khi nhận được một yêu cầu gửi từ tầng trên, nó thực hiện các bước sau đây: Bước 1: Tạo một IP datagram dựa trên tham số nhận được. Bước 2: Tính checksum và ghép vào header của gói tin. 46
  46. Mạng máy tính Bước 3: Ra quyết định chọn đường: hoặc là trạm đích nằm trên cùng mạng hoặc một gateway sẽ được chọn cho chặng tiếp theo. Bước 4: Chuyển gói tin xuống tầng dưới để truyền qua mạng. Đối với router, khi nhận được một gói tin đi qua, nó thực hiện các động tác sau: Bước 1: Tính chesksum, nếu sai thì loại bỏ gói tin. Bước 2: Giảm giá trị tham số Time - to Live. nếu thời gian đã hết thì loại bỏ gói tin. Bước 3: Ra quyết định chọn đường. Bước 4: Phân đoạn gói tin, nếu cần. Bước 5: Kiến tạo lại IP header, bao gồm giá trị mới của các vùng Time - to -Live, Fragmentation và Checksum. Bước 6: Chuyển datagram xuống tầng dưới để chuyển qua mạng. Cuối cùng khi một datagram nhận bởi một thực thể IP ở trạm đích, nó sẽ thực hiện bởi các công việc sau: Bước 1: Tính checksum. Nếu sai thì loại bỏ gói tin. Bước 2: Tập hợp các đoạn của gói tin (nếu có phân đoạn) Bước 3: Chuyển dữ liệu và các tham số điều khiển lên tầng trên. Trong quá trình hoạt động giao thức IP có sử dụng một số giao thức ARP (Address Resolution Protocol) – Giao thức phân giải địa chỉ (tìm địa chỉ vật lý từ địa chỉ IP khi cần thiết); RARP (Reverse Address Resolution Protocol) – Giao thức có cong dụng ngược với ARP (tìm ra địa chỉ IP khi có địa chỉ vật lý); ICMP (Internet Control Message Protocol) – Giao thức làm nhiệm vụ chuyển các thông báo điều khiển và thông báo lỗi giữa gateway hoặc một nút trên liên mạng. 5.2 Địa chỉ mạng Như phần trình bày về giao thức IP một gói tin muốn truyền qua mạng phải có thông tin về địa chỉ trạm nguồn và địa chỉ trạm đích của nơi gói tin được chuyển đi và nơi gói tin được nhận lại, mỗi địa chỉ này là một trường với độ dài 32 bit. Người ta gọi nó là địa chỉ IP. Địa chỉ IP sẽ phân biệt một cách duy nhất cá thiết bị khi kết nối vào một mạng, để từ đó giúp cho việc quản lý và phân phối các thông tin trong mạng được đúng cách. Hiện nay người ta sử dụng 2 thế hệ địa chỉ IP là IPv4 và IPv6. IPv4 có 32 bít địa chỉ với khả năng lý thuyết có thể cung cấp một không gian địa chỉ là 232 = 4 294 967 296 địa chỉ. Người ta còn đưa ra một loại địa chỉ thế hệ mới IPv6 có 128 bit địa chỉ dài hơn 4 lần so với IPv4 nhưng khả năng lý thuyết có thể cung cấp một không gian địa chỉ là 2128 = 340 282 366 920 938 463 463 374 607 431 768 211 456 địa chỉ, nhiều hơn không gian địa chỉ của IPv4 là khoảng 8 tỷ tỷ tỷ lần vì 232 lấy tròn số là 4.10 9 còn 2128 lấy tròn số là 340. 10 36 (khoảng 340 tỷ tỷ tỷ tỷ địa chỉ). Số địa chỉ này nếu rải đều trên bề mặt quả đất thì mỗi mét vuông có khoảng 665 570 tỷ tỷ địa chỉ (665 570.10 18) vì diện tích bề mặt quả đất khoảng 511 263 tỷ mét vuông. Đây là một không gian địa chỉ cực lớn với mục đích không chỉ cho Internet mà còn cho tất cả các mạng máy tính, hệ thống viễn thông, hệ thống điều khiển và thậm chí cho từng vật dụng trong gia đình. Người ta nói rằng từng chiếc điều hoà, tủ lạnh, máy giặt hay nồi cơm điện v.v của từng gia đình một cũng sẽ mang một điạ chỉ IPv6 để 47
  47. Mạng máy tính chủ nhân của chúng có thể kết nối và ra lệnh từ xa. Nhu cầu hiện tại chỉ cần 15% không gian địa chỉ IPv6 còn 85% dự phòng cho tương lai. 5.3 Địa chỉ mạng IPv4 Địa chỉ IP được biểu diễn bởi các số thập phân và được chia thành 4 octer mỗi octer phân cách nhau bởi một dấu chấm. Mỗi octer tương ứng với 8 bit do vậy con số thập phân lớn nhất mà một octer nhận được là 255. Cụ thể một địa chỉ IP có khuôn dạng như sau: Trong đó X, Y, Z, T nằm trong miền 0 255. Ví dụ về một địa chỉ IP : 192.168.1.1 Trong 32 bit dùng để đánh địa chỉ IP người ta sử dụng 32 bit để chia một địa chỉ IP làm 2 thành phần một thành phần là địa chỉ mạng (Network ID)và phần còn lại là địa chỉ thiết bị được kết nối vào mạng (Host ID), trong đó 1,2 hay 3 octer có thể được sử dụng cho Network ID hoặc Host ID. Để dễ dàng trong việc quản lý nguồn tài nguyên địa chỉ IP thì người ta đã tiến hành phân địa chit IP thành các lớp khác nhau. Trên thực tế địa chỉ IP được phân thành 5 lớp khác nhau đó là A, B, C, D, E nhưng chỉ có 3 lớp đầu tiên được đưa vào sử dụng một cách rộng dãi do đó ở đây chúng ta chỉ tiến hành nghiên cứu 3 lớp đầu tiên của địa chỉ IP là A, B, C. Tổ chức American Registry for Internet Numbers (viết tắt là ARIN) đã tiến hành sắp xếp và phân bổ 3 lớp địa chỉ đầu tiên, các địa chỉ lớp A dành cho các Tổ chức chính phủ trên thế giới, địa chỉ lớp B dành cho các công ty trung bình và địa chỉ lớp C cho các đối tượng khác. Cấu trúc địa chỉ IP của các lớp như sau: Hình 5-2: Các lớp địa chỉ IP 48
  48. Mạng máy tính Lớp A: Trong lớp A người ta sử dụng 8 bit (X) đầu tiên để đánh địa chỉ mạng, 24 bit (Y.Z.T) còn lại dùng để đánh địa chỉ các thiết bị khi nối vào mạng này. Với 8 bit đầu tiên thì bit thứ nhất có giá trị là 0. Như vậy còn lại 7 bit để đánh địa chỉ cho mạng và số mạng của lớp A được hình thành từ 7 bit còn lại sẽ là 27 = 128 nhưng có hai địa chỉ địa chỉ được dùng cho các mục đích đặc biệt. Số mạng của lớp A sẽ là: 27 - 2 = 126 Số Host trong mỗi mạng sẽ là: 224 – 2 = 16.777.214 Vùng địa chỉ lý thuyết của lớp A: 0.0.0.0 đến 127.0.0.0 (0 ≤ X ≤ 127 ) Vùng địa chỉ sử dụng: 1 0.0.1 đến 126.255.255.254 Ví dụ về địa chỉ lớp A: 120.122.1.2 1.2.3.4 Lớp B: Trong địa chỉ IP lớp B người ta sử dụng 16 bit ( X.Y ) để đánh địa chỉ mạng, 16 bit ( Z.T ) còn lại để đánh địa chỉ cho các Host. Trong 16 bit đầu thì 2 bit dùng để nhận dạng ra địa chỉ lớp B có giá trị là 10. Số lượng mạng của lớp B sẽ là 214 – 2 = 16.382 Số Host trong một mạng sẽ là: 216 – 2 = 65.534 Vùng địa chỉ lý thuyết của lớp B: 128.0.0.0 đến 191.255.0.0 (128 ≤ X ≤ 191 ) Vùng địa chỉ sử dụng: 128.1.0.1 đến 191.254.255.254 Ví dụ về địa chỉ lớp B: 140.108.2.2 191.222.2.10 Lớp C: 49
  49. Mạng máy tính Trong địa chỉ IP lớp C người ta sử dụng 24 bit ( X.Y.Z ) để đánh địa chỉ mạng, 8 bit ( T ) còn lại để đánh địa chỉ cho các Host. Trong 24 bit đầu thì 3 bit dùng để nhận dạng ra địa chỉ lớp C có giá trị là 110. Số lượng mạng của lớp C sẽ là: 221 – 2 = 2.097.150 Số Host trong một mạng sẽ là: 28 – 2 = 254 Vùng địa chỉ lý thuyết của lớp C: 192.0.0.0 đến 223.255.255.0 (192 ≤ X ≤ 223 ) Vùng địa chỉ sử dụng: 192.0.1.1 đến 223.255.254.254 Ví dụ về địa chỉ lớp C: 192.168.1.1 204.66.165.10 Các vấn khác đề liên quan đến địa chỉ IP Sau khi xem xét việc phân chia các lớp địa chỉ IP một câu hỏi đặt ra là tại sao trong mỗi lớp số mạng lại phải trừ đi 2 A: 27 - 2 = 126 B: 214 – 2 = 16.382 C: 221 – 2 = 2.097.150 Một lý do rất đơn giản là các mạng khi các bit đánh chỉ số mạng đều là 0 hay là một thì đều không được phân bổ, do đó trong lớp A ta có hai địa chỉ mạng không thể được phân bổ là 0.Y.Z.T và 127.Y.Z.T, đối với lớp B ta có hai địa chỉ không được phân bổ là 128.0.Z.T và 191.255.Z.T, tương tự đối với lớp C ta có 2 địa chỉ sau 192.0.0.T và 223.255.255.T. Tương tự ta cũng thấy rằng trong số các địa chỉ của các host trên mỗi mạng thì đều phải trừ đi 2 địa chỉ đó là lý do tại sao? A: 224 – 2 = 16.777.214 B: 216 – 2 = 65.534 C: 28 – 2 = 254 Để trả lời cho câu hỏi này ta đặt ra tình huống như sau: Trong trường hợp máy tính của bạn muốn gửi thông tin đến tất cả các máy tính trên một mạng nào đó. Ví dụ tôi muốn gửi thông tin đến tất cả các máy tính trên 1 mạng của lớp C 192.168.1.0 chẳng hạn (192.168.1 là một địa chỉ mạng cảu lớp C), điều đó có nghĩa là tất cả các máy tính có địa chỉ IP từ 192.168.1.0 đến 192.168.1.255 đều phải nhận được thông tin này. Liệu rằng ta có thể viết vào phần header IP một thông tin về địa chỉ đích (Destination Address ) như 192.168.1.0 – 192.168.1.255? Câu trả lời là không thể được chính vì vậy các nhà quản lý đã giúp cho chúng ta trong tình huống này bằng cách không phân bổ địa chỉ IP 192.168.1.255 mà dùng nó để khi một gói tin có chứa địa chỉ đích 192.168.1.255 thì gói tin đó sẽ được gửi cho toàn bộ các host trong mạng 192.168.1.0. Địa chỉ 192.168.1.255 được gọi là địa chỉ quảng bá. Như vậy địa chỉ quảng bá là địa chỉ IP mà trong đó tất cả các bit thuộc phần Host ID đều có giá trị là 1. 50
  50. Mạng máy tính Một số ví dụ về địa chỉ quảng bá: 130.108.255.255 địa chỉ quảng bá lớp B của mạng 130.108.0.0; 22.255.255.255 địa chỉ quảng bá lớp A của mạng 22.0.0.0. Ngoài ra để đánh dấu việc bắt đầu một mạng trong một lớp thì khi tất cả các bit dành cho phần Host ID của một mạng có giá trị là 0 thì địa chỉ IP này cũng không được phân bổ và địa chỉ đó người ta gọi là địa chỉ dành riêng cho địa chỉ mạng. Ví dụ 192.168.1.0 là một địa chỉ dành riêng cho mạng 192.168.1 của lớp C; 130.108.0.0 là địa chỉ dành riêng cho mạng 130.108 của lớp B. Đến đây ta có thể hiểu tại sao trong mỗi mạng của các lớp ta lại bỏ ra 2 địa chỉ mạng không được dùng vì nó đã được dùng cho các mục đích khác: địa chỉ quảng bá và địa chỉ dành riêng cho mạng. 5.4 Địa chỉ mạng con và cách chia mạng con Như chúng ta đã thấy trong một mạng của lớp A có tới 16.777.214 host vậy việc quản lý và phân chia địa chỉ cho các host sẽ vô cùng khó khăn để giải quyết vấn đề này người quản trị có thể tiến hành phân chia mạng của họ thành nhiều mạng nhỏ hơn các mạng nhỏ hơn này được gọi là các mạng con (SubnetWork), có thể gọi ngắn gọn là Subnet. Việc phân chia một mạng thành các Subnet còn giúp giảm kích thước của miền quảng bá, khi miền quảng bá quá rộng sẽ dẫn tới việc lãng phí dải thông làm cho hiệu xuất của mạng bị giảm. Để tạo ra một mạng con người quản trị mạng sẽ tiến hành mượn các bit cao nhất trong phần bit dành cho Host ID và gán chúng như là Subnet ID, số bit tối thiểu có thể mượn là 2 bit và tối đa là 6 bit. Network ID Host ID Sub Network ID Host ID net ID IP với 32 bit Để có được một mạng con người quản trị ngoài việc sử dụng địa chỉ IP thì cần phải sử dụng một địa chỉ gọi là địa chỉ Subnet Mask. Subnet mask cũng là số thập với độ dài 32 bit và có 4 octer. Sau đây là các Subnet mask mặc định của các lớp A, B, C. A : 255 .0 .0 .0 B : 255 .255 .0 .0 C : 255 .255 .255 .0 Một Subnet mask được tạo ra từ Subnet mask mặc định thì được gọi là Subnet mask tùy biến, trong thực tế người ta thường sử dụng Subnet mask tùy biến, bằng cách thêm vào Subnet mask mặc định các bit có giá trị bằng 1 được mượn từ các bit cao nhất trong phần địa chỉ dành cho Host ID. Ví dụ một Subnet mask tùy biến của lớp A với 4 bit được mượn từ phần địa chỉ cho Host ID có giá trị như sau: 51
  51. Mạng máy tính 1111116.11110000.00000000.00000000 – 255.240.0.0 Với lớp B trong trường hợp này ta có 1111116.1111116.11110000.00000000 – 255.255.240.0 Để xác định một mạng con ta làm theo các bước sau: - Biểu diễn địa chỉ IP mạng dưới dạng nhị phân. - Thay thế phần mạng bằng các bit 1. - Xác định số lượng bit mượn từ phần Host ID. - Thay các giá trị 0 vào phần còn lại của Host ID sau khi đã mượn bit. - Tiến hành tạo các Subnet bằng cách thay thế các giá trị 0 hoặc 1 vào các bit đã mượn. - Loại các Subnet không hợp lệ (hay các địa chỉ mạng con không được phân bổ). - Một mạng con cũng có các khái niệm địa chỉ dành riêng và địa chỉ quảng bá. - Sau đây ta sẽ lấy một ví dụ về việc phân chia một địa chỉ lớp C thành các mạng con khác nhau. VD: Ta có địa chỉ mạng lớp C: 192.168.1.1 Người quản trị muốn mượn 2 bit của Host ID để làm SubNet ID khi đó ta có số bit cho Host ID sẽ là 6 bit. Câu hỏi đặt ra là các mạng con có địa chỉ là bao nhiêu và các Host trong mỗi mạng con sẽ có địa chỉ như thế nào, Subnet mask có giá trị như thế nào. Ta thấy phần địa chỉ mạng là 192.168.1 Với 2 bit để làm Subnet ta có các khả năng sau của một subnet: - 192.168.1.0 ( 2 bit đầu trong 8 bit dành cho Host ID là 00 ) - 192.168.1.64 ( 2 bit đầu trong 8 bit dành cho Host ID là 01 ) - 192.168.1.128 ( 2 bit đầu trong 8 bit dành cho Host ID là 10 ) - 192.168.1.192 ( 2 bit đầu trong 8 bit dành cho Host ID là 11 ) Với 2 bit được mượn thì địa chỉ Subnet mask sẽ là: 255.255.255.192 Vậy với 2 bit mượn được từ phần dành cho Host ID ta có 4 Subnet như trên, nhưng 2 trong số 4 Subnet đó không được sử dụng khi cả 2 bit mượn đều có giá trị là 0 hoặc 1. Vậy sau khi chia ta có 2 mạng con là 192.168.1.64 192.168.1.128 Địa chỉ của các Host trong mỗi m ạng con sẽ được xác định bằng sự thay đổi giá trị của 6 bit còn lại trong mỗi địa chỉ mạng con kể trên và bỏ ra các địa chỉ khi cả 6 bit đều có giá trị 0 hay 1. Với mạng con thứ nhất 192.168.1.64 ta có các địa chỉ host như sau: 192.168.1.64 (8 bit cuối có giá trị : 01 000000 - Loại) 192.168.1.65 (8 - : 01 000001) 52
  52. Mạng máy tính 192.168.1.66 (8 - : 01 000010) 192.168.1.67 (8 - : 01 000011) . 192.168.1.126 (8 - : 01 111110) 192.168.1.127 (8 - : 01 111111 - Loại) Với mạng con thứ hai 192.168.1.128 ta có các địa chỉ Host như sau: 192.168.1.128 (8 bit cuối có giá trị : 10 000000 - Loại) 192.168.1.129 (8 - : 10 000001) 192.168.1.130 (8 - : 10 000010) 192.168.1.131 (8 - : 10 000011) . 192.168.1.190 (8 - : 10 111110) 192.168.1.191 (8 - : 10 111111 - Loại) Như vậy nếu gọi n là số bit được mượng từ Host ID để gán cho Subnet mask (n từ 2 đến 6) thì số mạng con được tạo ra sẽ là: 2n – 2 mạng con và số lượng các host trên mỗi m ạng con sẽ là: 28-n – 2 Khi có Subnet mask giúp cho bạn quản lý được dễ dàng hơn thì, việc định tuyến gói tin trong mạng sẽ diễn ra như thế nào. Bởi vì các thiết bị định tuyến trong mạng ngoài việc sử dụng địa chỉ MAC nó còn cần đến cả địa chỉ IP. Trong địa chỉ IP các thiết bị định tuyến gói tin sẽ lấy phần địa chỉ mạng (Network ID) để chuyển gói tin đến phân đoạn mạng tương ứng, sau đó tại phân đoạn mạng đích thiết bị liên mạng tại đó sẽ tiến hành gửi gói tin đến thiết bị trên phân đoạn mạng đó dựa vào phần địa chỉ Host ID có trong phần địa chỉ IP của gói tin. Khi xuất hiện Subnet mask thì thiết bị định tuyến sẽ tiến hành tìm địa chỉ mạng bằng cách lấy phần địa chỉ IP của gói tin (được chuyển sang dạng nhị phân) và thực hiện phép AND logic từng bit của địa chỉ IP với địa chỉ Subnet mask để xác định phân đoạn mạng con mà gói tin cần đến. Như vậy với tư cách một người quản trị viên mạngđể quản trị mạng sau khi bạn đã đăng ký với JSP để có được một địa chỉ IP mạng bạn phải tiến hành làm các bước sau đây: 1. Chọn mặt nạ mạng con 2. Gán địa chỉ cho các mạng con 3. Gán địa chỉ cho các thiết bị trên mạng. Chọn mặt nạ mạng con Chọn Subnet mask liên quan đến việc bạn muốn chia mạng của mình thành bao nhiêu mạng con, từ số lượng mạng con bạn sẽ xác định được số bit sẽ mượn từ phần Host ID và từ đó bạn sẽ hình thành được Subnet mask. 53
  53. Mạng máy tính Bài toán: Cần phân chia địa chỉ mạng lớp B 162.199.0.0 thành 10 mạng con. Giá trị của mặt nạ mạng con là bao nhiêu? Trong thí dụ này, chúng ta có một địa chỉ lớp B cần phải chia thành 10 mạng con. Để xác định mặt nạ mạng con tuỳ biến, cần thực hiện các bước sau đây: Bước 1: Trước hết, lấy số mạng con cần thiết và chuyển số đó thành dạng nhị phân. Trong trường hợp này, nếu bạn cần 10 mạng con, hãy chuyển 10 sang dạng nhị phân và được 1010 Bước 2: Chuyển tất cả các bit trong giá trị nhị phân vừa tính đó thành 1. Ta sẽ chuyển tất cả các bit của 1010 thành 1 và thêm các số 0 vào sau kết quả để được trọn vẹn 1 octet. Kết quả ta sẽ có 11110000. Chuyển giá trị nhị phân này thành dạng thập phân, được 240. Đây chính là phần mở rộng (ngoài phần thuộc mặt nạ mạng con mặc định) của mặt nạ mạng con tuỳ biến. Để được mặt nạ mạng con tuỳ biến, ta chỉ việc bổ sung giá trị này vào sau phần mặt nạ mạng con mặc định 255255.0.0 và được 255.255.240.0. Ta có sơ đồ và tóm tắt các bước thực hiện như sau: Gán địa chỉ mạng con Sau khi đã xác định mặt nạ mạng con phù hợp với yêu cầu về số mạng con cần thiết lập, bạn cần phải xác định các địa chỉ sẽ được gán cho mỗi mạng con Bài toán: Hãy liệt kê tất cả các địa chỉ mạng con hợp lệ cho một mạng lớp B có địa chỉ 162.199.0.0 với mặt nạ mạng con là 255.255.240.0 Trong thí dụ này, bạn đã được cấp một địa chỉ lớp B là 162.199.0.0, và bạn đã chọn 255.255.240.0 làm mặt nạ mạng con. Để tính toán các địa chỉ mạng con hợp lệ, trước hết hãy chuyển giá trị mặt nạ sang dạng nhị phân. Tìm bit 1 tận cùng bên phải và chuyển đổi bit đó sang dạng thập phân. Trong thí dụ này, bit 1 tận cùng bên phải có giá trị thập phân tương ứng là 16. Đây được gọi là giá trị luỹ tiến 54
  54. Mạng máy tính Tiếp theo, hãy tạo danh sách địa chỉ mạng con bằng cách cộng giá trị luỹ tiến vào địa chỉ mạng đã được cấp. Bạn cần chú ý rằng danh sách sẽ dừng ở số bằng với giá trị mặt nạ mạng con. 162.199.0.0 162.199.128.0 Loại 162.199.16.0 162.199.144.0 162.199.32.0 162.199.160.0 162.199.48.0 162.199.176.0 162.199.64.0 162.199.192.0 162.199.80.0 162.199.208.0 162.199.96.0 162.199.224.0 162.199.112.0 162.199.240.0 Loại Gán địa chỉ thiết bị Bước cuối cùng trong công việc quản trị địa chỉ IP là xác định các địa chỉ IP có thể gán cho các thiết bị trong mỗi mạng con. Bạn cần biết mặt nạ mạng con, địa chỉ mạng con, giá trị luỹ tiến để tính toán địa chỉ đầu tiên và địa chỉ cuối cùng trên mỗi mạng con. Phạm vi địa chỉ IP hợp lệ trong mỗi mạng con được xác định như sau: - Địa chỉ bắt đầu: Bằng địa chỉ mạng con cộng 1 - Địa chỉ kết thúc. Bằng địa chỉ mạng con kế tiếp trừ 2 (bằng địa chỉ mạng con hiện thời + số luỹ tiến - 2). Bài toán: Xác định phạm vi địa chỉ cho các máy trạm trong mạng con 162.199.32.0 của mạng lớp B có địa chỉ 162.199.0.0 và có mặt nạ mạng con là 255.255.240.0. Trong trường hợp này, bạn đã được gán một địa chỉ lớp B 162.199.0.0 và chọn mặt nạ mạng con 255.255.240.0 để phân chia mạng lớp B này thành các mạng con khác nhau. Bạn muốn xác định phạm vi địa chỉ cho các máy trạm trong mạng con 162.199.32.0. Địa chỉ thiết bị đầu tiên sẽ là 162.199.32.1. Trong thí dụ này, địa chỉ mạng con tiếp theo sẽ là 162.199.48.0. Trừ đi 2 từ giá trị này sẽ được giá trị cuối cùng 162.199.47.254 trong phạm vi địa chỉ của mạng con 162.199.32.0. Như vậy các thiết bị (host) trong mạng con 162.199.32.0 có địa chỉ trong vùng giá trị: 162.199.32.1 đến 162.199.47.254. (mạng này có 4094 thiết bị). Lợi ích của phân chia mạng thành mạng con Ngoài việc thêm các địa chỉ mạng, phân chia thành mạng con còn có những lợi ích dưới đây: 55
  55. Mạng máy tính - Giảm nghẽn mạng bằng cách tái định hướng các giao vận và giới hạn phạm vi của các thông điệp quảng bá. - Giới hạn trong phạm vi từng mạng con các trục trặc có thể xảy ra (không ảnh hưởng tới toàn mạng LAN) - Giảm % thời gian sử dụng CPU do giảm lưu lượng của các giao vận quảng bá - Tăng cường bảo mật (các chính sách bảo mật có thể áp dụng cho từng mạng con) - Cho phép áp dụng các cấu hình khác nhau trên từng mạng con. 56
  56. Mạng máy tính BÀI 6. TẦNG VẬN CHUYỂN 6.1 Giới thiệu về tầng vận chuyển Tầng giao vận cung cấp dịch vụ vận chuyển dữ liệu giữa các máy chủ (hosts) với nhau. Chịu trách nhiệm sửa lỗi (error recovery), điều khiển lưu lượng dữ liệu, đảm bảo dữ liệu được chuyển tải một cách trọn vẹn. Trong Bộ giao thức liên mạng - TCP/IP, chức năng này thường được thực hiện bởi giao thức định hướng kết nối TCP. Giao vận kiểu datagram, UDP - Giao thức Datagram người dùng, không cung cấp dịch vụ sửa lỗi hay điều khiển lưu lượng dữ liệu mà dành nhiệm vụ này cho phần mềm ứng dụng. Lớp giao vận sử dụng hai giao thức chính TCP và UDP. Giao thức TCP (Tramsmission Control Protocol) đảm bảo độ tin cậy giữa thiết bị gửi và thiết bị nhận (end-to-end) thông qua cơ chế điều khiển biên nhận. Giao thức UDP(User Datagram Protocol): cung cấp dịch vụ trao đổi dữ liệu không kết nối (connectionless), không tin cậy, không cần thiết lập kết nối logic giữa các thực thể sử dụng UDP 6.2 Giao thức TCP 6.2.1 Khuôn dạng gói tin TCP Hình 6-1: Khuôn dạng gói tin TCP Ý nghĩa các trường Source Port và Destination Port: số hiệu cổng TCP. Cùng với địa chỉ IP ngồn và địa chỉ IP đích trong gói số liệu IP, số hiệu cổng TCP định danh duy nhất hai tiến trình ở hai đầu kết nối cổng TCP. 57
  57. Mạng máy tính Sequence number: số tuần tự phát, định danh byte đầu tiên của phần số liệu thuộc gói số liệu TCP trong dòng số liệu từ thực thể TCP gửi đến thực thể TCP nhận. Số tuần tự phát là khoảng cách tương đối của byte đầu tiên phần số liệu với phần đầu của dòng byte; là số không dấu 32bit, có giá trị từ 0 đến 232-1. Nếu ta coi dòng byte là luồng số liệu một chiều từ một ứng dụng này tới ứng dụng kia thì TCP đánh số tất cả các byte với giá trị gọi là số tuần tự sequence number. Khi một kết nối được thiết lập, trường số tuần tự chứa giá trị khởi tạo ISN (Initial Seqence Number) được thực thể TCP chọn cho kết nối này. Byte số liệu đầu tiên sẽ có số tuần tự bằng ISN+1. Acknowlegement: vị trí tương đối của byte cuối cùng đã nhận đúng bởi thực thể gửi gói ACK cộng thêm 1. Giá trị của trường này còn được gọi là số tuần tự thu. Giá trị trường này đúng khi bit cờ ACK = 1. Data Offset: khoảng cách tường đối của trường số liệu với phần tiêu đề của TCP (TCP Header) tính theo từ 32bit. Thông thường, trường này có giá trị bằng 5 vì độ dài thông thường của phần tiêu đề TCP là 20 byte. Reserved: luôn được đặt là 0, để dùng cho tương lai. FLAGs: có 6 bit cờ trong phần tiêu đề TCP. Một hay nhiều cờ có thể được thiết lập tại cùng một thời điểm. URK=1: thông báo giá trị trường Urgent Pointer đúng ACK=1: thông báo giá trị trường Acknowledgement đúng. PSH=1: thực thể nhậ phải chuyển số liệu này cho ứng dụng tức thời. RST=1: tái khởi tạo kết nối, dùng để kết thúc kết nối. SYN=1: đồng bộ trường đánh số thứ tự, dùng để thiết lập kết nối TCP. FIN=1: thông báo thực thể gửi đã kết thúc gửi số liệu. Window size: độ lớn cửa sổ, qui định tổng số byte số liệu mà thực thể thu có thể nhận được (đồng nghĩa với độ lớn bộ đệm thu), tính khởi đầu từ giá trị trường số tuần tự thu (Acknowlegement number). Checksum: Byte kiểm tra, là giá trị bù 1 của tổng các 16bit trong phần đầu và số liệu TCP. Giá trị này tính cả 12byte tiêu đề giả của TCP. Urgent pointer: vị trí tương đối của byte trong trường số liệu TCP cần được xử lý đầu tiên. Giá trị trường này đúng khi bit cờ URG=1. Options: tuỳ chọn. Tuỳ chọn duy nhất được dùng hiện nay là qui định về độ dài lớn nhất MSS (Maximum Segment Size) của một gói số liệu TCP. Pad: vá thêm vào phần tiêu đề để độ lớn của nó là bội của 4byte. Data: số liệu của ứng dụng TCP. 6.2.2 Hoạt động của giao thức TCP a) Cơ chế cửa sổ động 58
  58. Mạng máy tính Cơ chế cửa số là một trong các phương pháp điều khiển lưu lượng trong mạng thông tin máy tính. Độ lớn của cửa sổ chính là số gói số liệu được gửi liên tục mà không cần chờ thông báo trả lời về kết quả nhận các gói số liệu đó. Độ lớn cửa sổ quyết định hiệu suất trao đổi số liệu trong mạng. Nếu chọn độ lớn của sổ cao thì có thể gửi được nhiều số liệu trong cùng một đơn vị thời gian. Một khi việc truyền số liệu có lỗi, trong trường hợp này rõ ràng số liệu phải gửi lại là lớn và vì vậy hiệu quả sử dụng đường truyền thấp. Giao thức TCP cho phép thay đổi độ lớn cửa sổ hoạt động một cách động, phụ thuộc vào độ lớn bộ đệm thu thực thể TCP nhận. Để thực hiện cơ chế cửa sổ động, TCP đảm bảo: Trả lời về số tuần tự thu tiếp theo trong trường ACK, nghĩa là khẳng định tổng số Byte nhận đúng cho đến thời điểm gửi gói trả lời này. Thông báo về tổng số Byte có thể nhận được, tương ứng với độ lớn bộ đệm thu. b) Cơ chế phát lại thích nghi Để đảm bảo kiểm tra phát hiện và khắc phục lỗi trong việc trao đổi số liệu qua mạng WAN, được kết nối từ nhiều mạng khác nhau, TCP phải có cơ chế đồng hồ kiểm tra phát và cơ chế phát lại mềm dẻo, thay đổi phụ thuộc vào thời gian trễ thực của môi trường truyền dẫn cụ thể. Thời gian trễ toàn phần RTT (Round trip time) được xác định từ thời điểm bắt đầu phát gói số liệu cho đến khi nhận được trả lời về kết quả nhận của thực thể đối tác, là yếu tố quyết định giá trị của đồng hồ kiểm tra phát Tout. Rõ ràng Tout RTT. Cơ chế phát lại thích nghi dựa trên việc xác định RTT theo thời gian. Bằng việc sử dụng các hàm xác định thời gian của hệ điều hành, hoàn toàn xác định được thời gian trễ toàn phần của một kết nối TCP tại các mốc thời gian nhất định. Có thể tính RTT theo công thức sau: RTT = *Old_RTT + (1- )*New_RTT, trong đó 0 <1 Từ đó ta có thể tính Tout theo công thức: Tout = *RTT, với  = 2 c) Khởi tạo và đóng kết nối. TCP sử dụng phương pháp bắt tay ba bước (three-way handshake) để khởi tạo kết nối và phương pháp tắt tay 2 bước để đóng một kết nối (two-way handshake). Quá trình bắt tay ba bước thiết lập các số sequence ban đầu cho mỗi đầu cuối của kết nối. Một yêu cầu kết nối luôn luôn được khởi tạo bởi một client. Client gởi một gói tin với cờ SYN được lập và số sequence của client. Số sequence tăng (theo module 232 )mỗi lần có yêu cầu thiết lập một kết nối mới. 59
  59. Mạng máy tính Hình 6-2: Khởi tạo kết nối Mỗi đầu cuối của kết nối TCP có một số sequence khởi đầu mới. Số này thường là một hàm theo thời gian trong ngày và tăng theo thời gian. Bởi vì một kết nối TCP với cùng số cổng và địa chỉ IP có thể được sử dụng nhiều lần, việc thay đổi số sequence ban đầu sẽ ngăn cản được việc lẫn lộn dữ liệu giữa kết nối cũ và mới có cùng địa chỉ. Khi TCP nhận (server) kiểm tra thấy gói SYN, nó gửi một SYN message với số sequence ban đầu của riêng nó và lập cờ ACK. Message đó cũng chứa số sequence ban đầu của client trong trường acknowledgement chi ra rằng server đã nhận được giá trị sequence khởi đầu của client. Tiếp theo, client ACKs lại cho server một ACK message. Bằng cách này, client và server đã trao đổi xong giá trị sequence khởi đầu và có thể bắt đầu trao đổi dữ liệu. Chú ý: cả 3 message trên đều không chứa dữ liệu, tất cả thông tin truyền đi được chứa trong TCP header. Hình 6-3: Ngắt kết nối Đóng một kết nối được thực hiện bằng bắt tay hai bước. Khi một bên kết nối đã hoàn tất việc truyền dữ liệu, nó gửi một thông báo với cờ FIN. Bởi vì kết nối là song công, đầu bên kia vẫn có thể gửi dữ liệu tới khi nó gửi một thông báo cung với cờ FIN. Thuật toán kết thúc một kết nối rất phức tạp do cả hai bên kết nối có thể gửi FIN cùng một lúc. d) Quá trình trao đổi dữ liệu 60
  60. Mạng máy tính Hình 6-4: Quá trình trao đổi dữ liệu TCP W=maximun Segment size (W>N) 2W=Windows limit 6.3 Giao thức UDP UDP là dịch vụtruyền dữliệu dạng không nối kết. Không có thiết lập nối kết giữa hai bên truyền nhận, do đó gói tin UDP (segment) có thểxuất hiện tại nút đích bất kỳlúc nào. Các segment UDP tựthân chứa mọi thông tin cần thiết đểcó thểtự đi đến đích. Khuôn dạng gói tin UDP Hình 6-5: Khuôn dạng gói tin TCP SrcPort: Địa chỉcổng nguồn, là sốhiệu của tiến trình gởi gói tin đi. DstPort: Địa chỉcổng đích, là sốhiệu của tiến trình sẽnhận gói tin. 61
  61. Mạng máy tính Length: Tổng chiều dài của segment, tính luôn cảphần header. Checksum:Là phần kiểm tra lỗi. UDP sẽtính toán phần kiểm tra lỗi tổng hợp trên phần header, phần dữliệu và cảphần header ảo. Phần header ảo chứa 3 trường trong IP header: địa chỉIP nguồn, địa chỉIP đích, và trường chiều dài của UDP. Data: Phần dữliệu hai bên gởi cho nhau UDP hoạt động không tin cậy cho lắm, vì: Không có báo nhận dữ liệu từ trạm đích; không có cơ chế đểphát hiện mất gói tin hoặc các gói tin đến không theo thứ tự; không có cơ chế tự động gởi lại những gói tin bịmất; không có cơ chế điều khiển luồng dữ liệu, và do đó có thể bên gởi sẽ làm ngập bên nhận 62
  62. Mạng máy tính BÀI 7. TẦNG ỨNG DỤNG 7.1 Giới thiệu về tầng ứng dụng Tầng ứng dụng giao tiếp trực tiếp với người sử dụng. \nhiệm vụ của tầng ứng dụng là hiển thị các thông tin nhận được và gửi các thông tin mới của người sử dụng cho các tầng thấp hơn. Tầng ứng dụng liên quan đến tiến trình cung cấp các dịch vụ trên mạng tới người dùng, các dịch vụ mạng này bao gồm: dịch vụ file, in ấn, dịch vụ CSDL, dịch vụ SNMP, DNS, MAIL, WEB và FTP. Các dịch vụ mạng trên sẽ dựa trên hai giao thức ở tầng vận chuyển đã được đề cập trong bài học trước là TCP và UDP. 7.2 SMTP, POP3 và IMAP Email là một trong những ứng dụng mạng lâu đời nhất nhưng lại phổ dụng nhất. Thử nghĩ khi bạn muốn gởi thông điệp đến một người bạn ở đầu kia của thế giới, bạn muốn mang thư chạy bộ qua đó hay chỉ đơn giản lên máy tính gõ ít hàng và nhấn nút Send? Thật ra, những bậc tiền bối của mạng ARPANET đã không tiên đoán được email sẽ là ứng dụng then chốt chạy trên mạng này, mục tiêu chính của họ là thiết kế hệ thống cho phép truy cập tài nguyên từ xa. Hệ thống email ra đời không mấy nổi bật, để bây giờ lại được sử dụng hằng ngày bởi hàng triệu người trên thế giới. Mục tiêu của phần này là chỉ ra những nhân vật hoạt động trong hệ thống email, vai trò của họ, giao thức mà họ sử dụng và khuôn dạng thông điệp mà họ trao đổi với nhau. 7.2.1 Các thành phần của hệ thống email Một hệ thống email thường có 3 thành phần chính: Bộ phận trợ giúp người dùng (User Agent), Mail Server và các giao thức mà các thành phần này dùng để giao tiếp với nhau. Người ta phân loại các giao thức như sau: . Giao thức giữa các mail servers bao gồm: o SMTP (Simple Mail Transfer Protocol): được các server dùng để chuyển thư qua lại với nhau. Ví dụ nôm na, nó giống như cách thức mà các trạm bưu điện dùng để chuyển các thùng thư của khách hàng cho nhau. Thông tin chi tiết về giao thức này được mô tả trong tài liệu RFC 822. . Giao thức giữa mail server và user agent bao gồm: o POP3 (Post Offic Protocol version 3 [RFC 1939]): được user agent sử dụng để lấy thư về từ hộp thư của nó trên server. o SMTP: được user agent sử dụng để gởi thư ra server. 63
  63. Mạng máy tính o IMAP: (Internet Mail Access Protocol [RFC 1730]): Có nhiều tính năng vượt trội hơn POP3. Ngoài ra IMAP còn cho phép gởi mail. Hình 7-1: Các thành phần của hệ thống email Khuôn dạng của một email: RFC 822 định nghĩa một email gồm có hai phần: phần tiêu đề (header) và phần thân (body). Hình 7-2: Khuôn dạng của email Cả hai phần đều được thể hiện dưới dạng ký tự ASCII. Lúc đầu, phần thân được qui định có khuôn dạng văn bản đơn giản. Sau này người ta đề nghị một chuẩn mới gọi là MIME, có thể cho phép phần thân của email chứa bất kỳ loại dữ liệu nào. Phần tiêu đề bao gồm nhiều dòng thông tin, mỗi dòng kết thúc bằng hai ký tự . Phần tiêu đề được chia khỏi phần thân bởi một hàng rỗng. Mỗi một hàng tiêu đề chứa một cặp “tên” và “giá trị”, cách nhau bởi dấu hai chấm (:). Người dùng có thể rất quen với nhiều hàng tiêu đề vì họ thường phải điền thông tin vào đấy. 64
  64. Mạng máy tính RFC 822 được mở rộng năm 1993 (và được cập nhật lại năm 1996) để cho phép email mang được nhiều loại dữ liệu: audio, video, hình ảnh, tài liệu Word, MIME (Multipurpose Internet Mail Extensions) về cơ bản có ba phần. Phần đầu tiên là tập các dòng header dùng để bổ túc cho phần header cũ của RFC 822. Theo nhiều cách, những dòng header này mô tả dữ liệu chứa trong phần thân. Cụ thể như sau: Tên Giá trị MIME-Version: Phiên bản MIME đang sử dụng Content-Description: Mô tả trong thư đang có dữ liệu gì Content-Type: Mô tả kiểu dữ liệu đang nằm trong thư Mô tả cách thức mã hóa dữ liệu trong Content-Transfer-Encoding: thư Phần thứ hai là các định nghĩa cho một tập các kiểu nội dung (và kiểu con nếu có). Ví dụ một số kiểu mà MIME định nghĩa: Kiểu Ý nghĩa image/gif Ảnh dạng gif image/jpeg Ảnh dạng jpeg text/plain Văn bản đơn giản Văn bản mở rộng (có đặt font chữ, được định dạng đậm, text/richtext nghiêng hoặc gạch dưới ) Dữ liệu trong thư được xuất ra từ một ứng dụng nào đó. Chẳng hạn: application application/postscript: tài liệu Postscript ( .ps) application/msword: tài liệu Microsoft Word (.doc) MIME cũng định nghĩa kiểu multipart để chỉ ra cách mà phần thân của thư mang nhiều loại dữ liệu khác nhau như thế nào. Chỉ có một kiểu con của multipart là mixed với ý nói rằng trong phần thân của thư có nhiều mảnh dữ liệu khác nhau, độc lập với nhau và được sắp xếp theo một trình tự cụ thể. Mỗi mảnh dữ liệu sẽ có phần tiêu đề riêng để mô tả kiểu dữ liệu của mảnh đó. Phần thứ ba mô tả cách thức mã hóa các kiểu dữ liệu nói trên để có thể truyền chúng dưới dạng ASCII. Lý do để mọi bức thư phải chứa các ký tự ASCII là vì để đi được đến đích, bức thư đó có thể phải trung chuyển qua nhiều gateway, mà các gateway này đều coi mọi bức thư dưới dạng ASCII. Nếu trong thư chứa bất kỳ ký tự nào khác ASCII thì thư sẽ bị đứt gãy nội dung. MIME sử dụng phương pháp mã hóa 65
  65. Mạng máy tính trực tiếp dữ liệu nhị phân thành các ký tự nhị phân, gọi là base64. Ý tưởng của base64 là ánh xạ 3 bytes dữ liệu nhị phân nguyên thủy thành 4 ký tự ASCII. Giải thuật đơn giản như sau: tập hợp 3 bytes dữ liệu nhị phân lại thành 24 bits, sau đó chia 24 bits này thành 4 cụm, một cụm 6 bits. Một cụm 6 bits được ánh xạ vào một trong 64 ký tự ASCII hợp lệ; ví dụ 0 ánh xạ thành A, 1 ánh xạ thành B Nếu nhìn vào bức thư đã được mã hóa dạng base64, người dùng sẽ thấy chỉ có 52 chữ cái cả hoa lẫn thường, 10 chữ số từ 0 đến 9 và các ký tự đặc biệt + và /. Đối với những người dùng chỉ sử dụng trình đọc thư hỗ trợ duy nhất kiểu ký tự thì việc đọc những bức thư có kiểu base64 sẽ rất là đau khổ. Vì lý do nhân đạo, MIME còn hỗ trợ kiểu mã hóa ký tự thường được gọi là 7-bit. 7-bit sẽ giữ nguyên dạng ký tự mà người ta nhập vào. Tổng hợp lại, ví dụ một bức thư có 2 loại dữ liệu: văn bản thường, một ảnh JPEG, sẽ có hình dáng như sau: From: vinhlv@fit.utehy.edu.vn To: namvh@fit.utehy.edu.vn Subject: Picture of students. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=”—988928728” 988928728 Content-Transfer-Encoding: 7bit Content-Type: text/plain Hi, Please find a picture of you. 988928728 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data 988928728— Cho mail server các bức thư mà họ muốn gởi cho người dùng khác, mail server sử dụng giao thức SMTP trên TCP để chuyển bức các thư này đến mail server bên đích. Mail server bên đích nhận các thư đến và đặt chúng vào hộp thư của người dùng bên đích. Do SMTP là giao thức mà rất nhiều người có thể tự cài đặt, vì thế sẽ có rất nhiều sản phầm mail server hiện có trên thị trường. Sản phẩm mail server thường được sử dụng nhất là sendmail, ban đầu được cài đặt trong hệ điều hành Berkeley Unix. Tất nhiên mail server bên máy gởi có thể kết nối SMTP/TCP trực tiếp tới mail server bên máy nhận, nhưng trong thực tế, một bức thư có thể đi ngang qua vài mail gateways trước khi đến đích. Cũng giống như máy đích, mỗi mail gateway cũng chạy 66