Giáo trình Mạng máy tính (Phần 1)
Trạm điện báo là nơi cho phép truyền và nhận các thông điệp dưới dạng các mã
Morse, thông thường được thể hiện bằng âm thanh tít và te. Để truyền và nhận thông tin
cần có một điện báo viên thực hiện quá trình mã hóa và giải mã thông tin truyền/nhận.
Vì không thể nối trức tiếp tất cả các trạm điện báo lại với nhau, người ta sử dụng
các Trạm chuyển điện báo để cho phép nhiều trạm điện báo sử dụng chung một đường
truyền để truyền tin. Tại mỗi trạm chuyển điện báo có một thao tác viên chịu trách
nhiệm nhận các điện báo gởi đến, xác định đường đi để chuyển tiếp điện báo về nơi
nhận. Nếu đường truyền hướng về nơi nhận đang đuợc sử dụng để truyền một điện báo
khác, thao tác viên sẽ lưu lại điện báo này để sau đó truyền đi khi đường truyền rãnh.
Để tăng tốc độ truyền tin, hệ thống Baudot thay thế mã Morse bằng mã nhị phân
5 bits (có thể mã hóa cho 32 ký tự). Các trạm điện báo cũng được thay thế bằng các máy
têlêtíp (teletype terminal) cho phép xuất / nhập thông tin dạng ký tự. Hệ thống sử dụng
kỹ t huật biến điệu (Modulation) và đa hợp (Multiplexing) để truyền tải thông tin
Tóm tắt nội dung tài liệu: Giáo trình Mạng máy tính (Phần 1)
BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG KỸ THUẬT CAO THẮNG KHOA ĐIỆN TỬ - TIN HỌC BỘ MÔN ĐIỆN TỬ VIỄN THÔNG TRƯƠNG QUANG TRUNG THÁI NGỌC ANH KHÔI NGUYỄN ĐỨC ANH GIÁO TRÌNH MẠNG MÁY TÍNH (GIÁO TRÌNH DÙNG CHO HỆ CAO ĐẲNG NGÀNH CNKT ĐIỆN TỬ, TRUYỀN THÔNG) TP. HỒ CHÍ MINH, 09 - 2018 (LƯU HÀNH NỘI BỘ) i MỤC LỤC CHƯƠNG 1: TỔNG QUAN .......................................... 1 1.1. MẠNG ĐIỆN BÁO ........................................................................................ 1 1.2. MẠNG ĐIỆN THOẠI ................................................................................... 1 1.3. MẠNG HƯỚNG ĐẦU CUỐI ....................................................................... 2 1.4. MẠNG MÁY TÍNH ...................................................................................... 2 1.5. PHÂN LOẠI .................................................................................................. 4 1.6. LỢI ÍCH MẠNG MÁY TÍNH...................................................................... 7 CHƯƠNG 2: CÁC THIẾT BỊ MẠNG .......................... 9 2.1. CÁC LOẠI CÁP ............................................................................................ 9 2.2. CÁC THIẾT BỊ GHÉP NỐI ...................................................................... 11 2.3. CÁC THIẾT BỊ MẠNG THÔNG DỤNG ................................................. 14 2.4. KẾT NỐI ...................................................................................................... 20 2.5. PHẦN MỀM MẠNG MÁY TÍNH ............................................................. 25 2.6. MÔ HÌNH OSI ............................................................................................ 28 CHƯƠNG 3: ĐỊA CHỈ IP ............................................ 35 3.1. CẤU TRÚC ĐỊA CHỈ IP ............................................................................ 35 3.2. PHÂN LỚP IP ............................................................................................. 36 3.3. ÝNGHĨA CÁC NETID, HOSTID, NETMASK, SUBNETMASK ......... 38 3.4. PHÂN MẠNG CON .................................................................................... 40 CHƯƠNG 4: GIAO THỨC TCP/IP ........................... 44 4.1. GIỚI THIỆU CHUNG ................................................................................ 44 4.2. GIAO THỨC IP .......................................................................................... 45 4.3. NHIỄU TRONG BỘ THU QUANG .......................................................... 54 4.4. GIAO THỨC TCP ...................................................................................... 57 4.5. GIAO THỨC UDP ...................................................................................... 60 CHƯƠNG 5: ĐỊNH TUYẾN ....................................... 62 5.1. GIỚI THIỆU CHUNG ................................................................................ 62 5.2. CÁC VẤN ĐỀ LIÊN QUAN ĐẾN THIẾT KẾ TẦNG MẠNG .............. 62 5.3. GIẢI THUẬT CHỌN ĐƯỜNG ................................................................. 66 ii 5.4. LIÊN MẠNG ............................................................................................... 80 CHƯƠNG 6: CÁC DỊCH VỤ MẠNG ......................... 88 6.1. GIỚI THIỆU CHUNG ................................................................................ 88 6.2. DỊCH VỤ HTTP .......................................................................................... 88 6.3. DỊCH VỤ EMAIL ....................................................................................... 90 6.4. DỊCH VỤ DNS ............................................................................................. 95 6.5. DỊCH VỤ FTP ............................................................................................. 97 TÀI LIỆU THAM KHẢO .......................................... 100 CHƯƠNG 1: TỔNG QUAN 1 CHƯƠNG 1 TỔNG QUAN 1.1. MẠNG ĐIỆN BÁO Mạng điện báo sử dụng hệ thống mã Morse để mã hóa thông tin cần truyền đi. Mã Morse sử dụng hai tín hiệu là tít và te (ký hiệu bằng dấu chấm (•) và dấu gạch ngang (-)). Mỗi một ký tự latin sẽ được mã hóa bằng một chuỗi tíc/te riêng biệt, có độ dài ngắn khác nhau. Để truyền thông tin đi,bên gởi sẽ lần lượt mã hóa từng ký tự của thông điệp thành mã Morse, bên nhận sau đó sẽ thực hiện quá trình giải mã. Văn bản được truyền đi được gọi là một thông điệp (message) hay một thư tín (Telegram). Vào năm 1851 mạng thư tín đầu tiên được sử dụng để nối hai thành phố London và Paris. Sau đó không lâu, hệ thống mạng này được mở rộng toàn châu Âu.Cấu trúc của mạng gồm có hai thành phần là Trạm điện báo (Telegraph Station) và Trạm chuyểnđiện báo ( Telegraph Switching Station) được nối lại với nhau bằng hệ thống dây truyền dẫn. Trạm điện báo là nơi cho phép truyền và nhận các thông điệp dưới dạng các mã Morse, thông thường được thể hiện bằng âm thanh tít và te. Để truyền và nhận thông tin cần có một điện báo viên thực hiện quá trình mã hóa và giải mã thông tin truyền/nhận. Vì không thể nối trức tiếp tất cả các trạm điện báo lại với nhau, người ta sử dụng các Trạm chuyển điện báo để cho phép nhiều trạm điện báo sử dụng chung một đường truyền để truyền tin. Tại mỗi trạm chuyển điện báo có một thao tác viên chịu trách nhiệm nhận các điện báo gởi đến, xác định đường đi để chuyển tiếp điện báo về nơi nhận. Nếu đường truyền hướng về nơi nhận đang đuợc sử dụng để truyền một điện báo khác, thao tác viên sẽ lưu lại điện báo này để sau đó truyền đi khi đường truyền rãnh. Để tăng tốc độ truyền tin, hệ thống Baudot thay thế mã Morse bằng mã nhị phân 5 bits (có thể mã hóa cho 32 ký tự). Các trạm điện báo cũng được thay thế bằng các máy têlêtíp (teletype terminal) cho phép xuất / nhập thông tin dạng ký tự. Hệ thống sử dụng kỹ thuật biến điệu (Modulation) và đa hợp (Multiplexing) để truyền tải thông tin. 1.2. MẠNG ĐIỆN THOẠI Mạng điện thoại cho phép truyền thông tin dưới dạng âm thanh bằng cách sử dụng hệ thống truyền tín hiệu tuần tự. H1.1 Mạng chuyển mạch Mạng điện thoại hoạt động định hướng nối kết (circuit switching), tức thiết lập đường nối kết tận hiến giữa hai bên giao tiếp trước khi thông tin được truyền đi. CHƯƠNG 1: TỔNG QUAN 2 1.3. MẠNG HƯỚNG ĐẦU CUỐI Đây là mô hình của các hệ thống máy tính lớn (Main Frame) vào những năm của thập niên 1970.Hệ thống gồm một máy chủ mạnh (Host) có năng lực tính toán cao được nối kết với nhiều thiết bị đầu cuối đần độn (Dumb terminal) chỉ làm nhiệm vụ xuất nhập thông tin, giao tiếp với người sử dụng. H1.2 Mạng hướng đầu cuối 1.4. MẠNG MÁY TÍNH Mạng máy tính là mạng của hai hay nhiều máy tính được nối lại với nhau bằng một đường truyền vật lý theo một kiến trúc nào đó. Mạng có thể có kiến trúc đơn giản hoặc phức tạp gồm nhiều mạng đơn giản nối lại với nhau. H1.3 Mạng máy tính Mô hình mạng máy tính thường gặp : + Mô hình khách hàng – người phục vụ (Client - Server) + Mô hình mạng ngang hàng ( peer to peer ) 1.4.1. Mô hình khách hàng – người phục vụ Trong mô hình mạng khách chủ có một hệ thống máy tính cung cấp các tài nguyên và dịch vụ cho cả hệ thống mạng sử dụng gọi là các máy chủ (server). Một hệ thống máy tính sử dụng các tài nguyên và dịch vụ này được gọi là máy khách (client). CHƯƠNG 1: TỔNG QUAN 3 Máy tính client sẽ gởi các yêu cầu (request) đến máy tính server để yêu cầu server thực hiện công việc gì đó. Chẳng hạn khi người dùng duyệt web trên mạng Internet, trình duyệt web sẽ gởi yêu cầu đến web server đề nghị web server gởi về trang web tương ứng.Máy tính server khi nhận được một yêu cầu từ client gởi đến sẽ phân tích yêu cầu để hiểu được client muốn đều gì, để thực hiện đúng yêu cầu của client. Server sẽ gởi kết quả về cho client trong các thông điệp trả lời (reply). Ví dụ, khi web server nhận được một yêu cầu gởi đến từ trình duyệt web, nó sẽ phân tích yêu cầu để xác định xem client cần nhận trang web nào, sau đó mở tập tin html tương ứng trên đĩa cứng cục bộ của nó để gởi về trình duyệt web trong thông điệp trả lời.Một số ứng dụng được xây dựng theo mô hình client / server như: www, mail, ftp,... H1.4 Mô hình mạng khác chủ Dựa vào chức năng có thể chia thành các loại server như sau: + File Server : phục vụ các yêu cầu hệ thống tập tin. + Print Server : phục vụ các yêu cầu in ấn. + Mail Server : cung cấp các dịch vụ về gửi nhận email. + Web Server : cung cấp các dịch vụ về web. + Database Server : cung cấp các dịch vụ về lưu trữ, tìm kiếm thông tin. Ưu điểm : do dữ liệu được lưu trữ tập trung nên dễ bảo mật, backup và đồng bộ với nhau.Tài nguyên và dịch vụ tập trung nên dễ chia sẻ và quản lý, có thể phục vụ cho nhiều ngừơi dùng. Khuyết điểm : các server chuyên dụng rất đắt tiền, cần có nhà quản trị cho hệ thống. 1.4.2. Mô hình mạng ngang hàng Mạng ngang hành cung cấp việc kết nối cơ bản giữa các máy tính nhưng không có bất kỳ một máy tính nào đóng vai trò phục vụ. Một máy tính trên mạng có thể vừa là client, vừa là server. Trong môi trường này, người dùng trên từng máy tính chịu trách nhiệm điều hành và chia sẻ các tài nguyên cuả máy tính mình. Mô hình này chỉ phù hợp với các tổ chức nhỏ, số người giới hạn (thông thường nhỏ hơn 10 người), và không quan tâm đến vấn đề bảo mật. CHƯƠNG 1: TỔNG QUAN 4 H1.5 Mô hình mạng ngang hàng Ưu điểm : do mô hình đơn giản nên dễ cài đặt, tổ chức và quản trị, chi phí thiết bị thấp. Khuyết điểm : không cho phép quản lý tập trung nên dữ liệu phân tán, khả năng bảo mật thấp, rất dễ bị xâm nhập. Các tài nguyên không được sắp xếp nên rất khó định vị và tìm kiếm. 1.5. PHÂN LOẠI MẠNG MÁY TÍNH 1.5.1. Phạm vi địa lí Mạng máy tính có thể phân bố trên một vùng lãnh thổ nhất định và có thể phân bố trong phạm vi một quốc gia hay quốc tế. dựa vào phạm vi phân bố của mạng người ta có thể phân ra các loại mạng như sau: Mạng cục bộ LAN (Local Area Network): là mạng được lắp đặt trong phạm vi hẹp, khoảng cách giữa các nút mạng nhỏ hơn 10km. LAN thường được sử dụng trong nội bộ cơ quan, xí nghiệp, trường học, các LAN có thể được kết nối nhau thành WAN. Mạng đô thị MAN (Metropolitan Area Network): là mạng được cài đặt trong pham vi một đô thị hoặc một trung tâm kinh tế - xã hội có bán kính 100km trở lại. mạng diện rộng WAN (Wide Area Network): phạm vi của mạng có thể vượt qua biên giới quốc gia và thậm chí cả châu lục. Mạng toàn cầu GAN (Global Area Network): là mạng được thiết lặp trên phạm vi trải rộng khắp các châu lục trên trái đất. Thông thường thường kết nối thông qua mạng viễn thông và vệ tinh. Trong các khái niệm trên WAN và LAN là hai khái niệm được sư dụng nhiều nhất. 1.5.2. Phương pháp chuyển mạch Mạng chuyển mạch kênh (circuit – switched network): CHƯƠNG 1: TỔNG QUAN 5 Trong trường hợp này khi có hai trạm cần trao đổi thông tin với nhau thì giữa chúng sẽ được thiết lặp một kênh (circuit) cố định và duy trì cho đến khi một trong bên ngắt liên lạc. Các dữ kiệu chỉ được truyền theo con đường cố định H1.6 Mạch chuyển mạng kênh Mạng chuyển mạch kênh có tốc độ truyền cao và an toàn nhưng hiệu xuất sử dụng đường truyền thấp vì có lúc kênh bị bỏ không do cả hai bên đều hết thông tin cần truyền trong khi các trạm khác không được phép sử dụng kênh truyền này và phải tiêu tốn thời gian thiết lặp con đường (kênh) cố định giữa hai trạm. Mạng điện thoại là ví dụ điển hình của mạng chuyển mạch kênh. Mạch chuyển mạch gói (packet – switched network): Phương pháp này mỗi thông báo được chia thành nhiều phần nhỏ hơn gọi là các gói tin (packet) có khuôn dạng quy định trước. Mỗi gói tin cũng chứ các thông tin điều khiển, trong đó có địa chỉ nguồn (người gửi) và đích (người nhận) của gói tin. Các gói tin về một thông báo nào đó có thể được gửi đi qua mạng để đến đích bằng nhiều con khác nhau. Căn cứ vào số thứ tự các gói tin được tái tạo thành thông tin ban đầu. Phương pháp chuyển mạch bản tin và phương pháp chuyển mạch gói là gần giống nhau. Điểm kkhasc biệt là các gói tin được gới hạn kích thước tối đa sao choc ác nút mạng có thể xử lí toàn bộ thông tin trong bộ nhớ mà khôn cần hải lưu trữ tạm thời trên đĩa. Nên mạn chuyển mạch gói truyền các gói tin qua mạng nhanh hơn và hiệu quả hơn so với chuyển mạch bản tin. 1.5.3. Đồ hình mạng – TOPO mạng Topology củ mạng là cấu trúc hình học không gian mà thực chất là cách bố trí phần tử của mạng cũng như cách nối giữa chúng với nhau. Thông thường mạng có 3 dạng cấu trúc: mạng dạng hình sao (Star topology), mạng dạng vòng (Ring topology) và mạng dạng tuyến (Linear Bus topology). Ngoài 3 dạng cấu hình kể trên còn có một số dạng khác biến tướng từ ba dạng này như mạng dạng cây, mạng dạng hình sao-vòng, mạng hình hỗn hợp, Mạng hình sao (Star topology): Mạng sao bao gồm một bộ kết nối trung tâm và các nút. Các nút này là các trạm đầu cuối, các máy tính và các thiết bị khác của mạng. Bộ kết nối trung tâm của mạng điều phối mọi hoạt động trong mạng. CHƯƠNG 1: TỔNG QUAN 6 H1.7 Cấu trúc mạng hình sao Mạng dạng sao cho phép kết nối các máy tính vào một bộ trung tâm bằng cáp, giải pháp này cho phép nối trực tiếp máy tính với bộ tập trung không cần thông qua trục bus, nên tránh các yếu tố ngừng trệ mạng. Mô hihf kết nối dạng sao này đã trở nên hêt sức phổ biến. Với việc sử dụng các bộ tập trung hoặc chuyển mạch, cấu trúc sao có thể được mở rộng bằng cách tối chức nhiều mức phân cấp, do đó dễ dàng trong việc quản lí và vận hành. Mạng dạng vòng (Ring topology): Mạng dạng này bố trí theo mạng xoay vòng, đường dây cáp được thiết kế làm thành vòng tròn khép kín, tín hiệu chạy quanh theo một vòng nào đó. Các nút truyền tín hiệu cho nhau mỗi thời điểm chỉ được một nút mà thôi. Dữ liệu truyền đi phải có kềm theo một địa chỉ cụ thể của mỗi trạm tiếp nhận. H1.8 Mạch dạng vòng Mạng dạng Bus (Bus Topology): Thực hiện theo cách bố trí theo hàng, các máy tính và các thiết bị khác. Các nút đều được nối về với nhau trên một trục đường dây cáp chính để truyền tải tín hiệu. Tất cả các nút đều được sử dụng chung đường dây cáp chính này. Ở hai đầu dây cáp được bịt bởi một thiết bị gọi là terminatior. Các tín hiệu và dữ liệu khi truyền đi đều mang theo địa chỉ nơi đến. H1.9 Mạch dạng Bus CHƯƠNG 1: TỔNG QUAN 7 Mạch dạng kết hợp: Là mạng kết hợp dạng sao và tuyến (star/bus topology): cấu hình mạng dạng này có bộ phận tách tín hiệu (spitter) giữ vai trò thiết bị trung tâm, hệ thống dây cáp mạng có thể chọn hoặc Ring topology hoặc Linear Bus topology. Ưu điểm của cấu hình này là mạng có thể gồm nhiều nhomslamf việc ở cách xa nhau. , ARCNET là mạng kết hợp Star/Bus topology. Cấu hình dạng này đưa lại sự uyển chuyển trong việc bố trí đường dây tương thích dễ dàng đối với bất kì nơi nào. Kết hợp cấu hình sao và vòng (Star/Ring topology). Cấu hình dạng kết hợp Star/Ring topology, có một thẻ bài liên lạc được chuyển vòng quanh một cái bộ tập trung. 1.6. LỢI ÍCH CỦA MẠNG MÁY TÍNH + Mạng tạo khả năng dùng chung tài nguyên cho các người dùng: Vấn đề là làm cho các tài nguyên trên mạng như chương trình, dữ liệu và thiết bị, đặc biệt là các thiết bị đắt t ... ác lựa chọn do người gửi yêu cầu (tuỳ theo từng chương trình) Kích thước không cố định , chứa các thông tin tùy chọn như : - Time stamp : thời điểm đã đi qua router. - Security : cho phép router nhận gói dữ liệu không , nếu không thì gói sẽ bị hủy - Record router : lưu danh sách địa chỉ IP của router mà gói phải đi qua, -Source route : bắt buộc đi qua router nào đó. Lúc này sẽ không cần dùng bảng định tuyến ở mỗi Router nữa. C, Copy flag. 1 bit. Chỉ ra nếu tùy chọn này là để được sao chép vào tất cả các mảnh vỡ Class. 2 bits. Option. 5 bits. CHƯƠNG 4: GIAO THỨC TCP/IP 53 CHƯƠNG 4: GIAO THỨC TCP/IP 54 13.Padding: Vùng đệm,các số 0 được bổ sung vào field này để đảm bảo IP Header luôn la bội số của 32 bit. 14.Data: Chứa thông tin lớp trên, chiều dài thay đổi đến 64Kb. Là TCP hay UDP Segment của tầng Transport gửi xuống cho tần Network , tầng Network sẽ thêm header vào thành gói tin IP datagram . 4.3. NHIỄU TRONG BỘ THU QUANG 4.3.1 Giao thức phân giải địa chỉ (Address Resolution Protocol) Nếu một máy tính muốn truyền một gói tin IP nó cần đặt gói tin này vào trong một khung trên đường truyền vật lý mà nó đang nối kết vào. Để có thể truyền thành công khung, máy tính gởi cần thiết phải biết được địa chỉ vật lý (MAC) của máy tính nhận. Điều này có thể thực hiện được bằng cách sử dụng một bảng để ánh xạ các địa chỉ IP về địa chỉ vật lý. Giao thức IP sử dụng giao thức ARP (Address Resolution Protocol) để thực hiện ánh xạ từ một địa chỉ IP về một địa chỉ MAC. H4.4 Giao thức ARP Một máy tính xác định địa chỉ vật lý của nó vào lúc khởi động bằng cách đọc thiết bị phần cứng và xác định địa chỉ IP của nó bằng cách đọc tập tin cấu hình, sau đó lưu thông tin về mối tương ứng giữa địa chit IP và MAC của nó vào trong vùng nhớ tạm (ARP cache). Khi nhận được một địa chỉ IP mà ARP không thể tìm ra được địa chỉ vật lý tương ứng dựa vào vùng nhớ tạm hiện tại, nó sẽ thực hiện một khung quảng bá có định dạng như sau CHƯƠNG 4: GIAO THỨC TCP/IP 55 Nhờ vào việc gởi các yêu cầu này, một máy tính có thể bổ sung thông tin cho vùng cache của giao thức ARP, nhờ đó cập nhật kịp thời mọi sự thay đổi của sơ đồ mạng. Thông thường thời gian quá hạn (Time-out) cho một thông tin trong vùng cache là 20 phút. Một yêu cầu ARP cho một máy tính không tồn tại trên nhánh mạng được lặp lại một vài lần xác định nào đó. Nếu một máy tính được nối kết vào nhiều hơn một mạng bằng giao diện mạng, khi đó sẽ tồn tại những vùng cache ARP riêng cho từng giao diện mạng. Lưu ý, ARP trên một máy tính chỉ thực hiện việc xác địa chỉ vật lý cho các địa chỉ cùng địa chỉ mạng / mạng con với nó mà thôi. Đối với các gói tin gởi cho các máy tính có địa chỉ IP không cùng một mạng / mạng con với máy gởi sẽ được chuyển hướng cho một router nằm cùng mạng với máy gởi để chuyển đi tiếp. Vì các yêu cầu ARP được quảng bá rộng rãi, cho nên bất kỳ một máy tính nào đang duy trì một vùng cache đều có thể theo dõi tất cả các yều cầu được quảng bá này để lấy thông tin về địa chỉ vật lý và địa chỉ IP của máy gởi yêu cầu và bổ sung vào vùng cache của nó khi cần thiết. Khi một máy tính khởi động, nó gởi một yêu cầu ARP ( có thể cho chính nó) như để thông báo với các máy tính khác về sự xuất hiện của nó trong mạng cục bộ. Có thể gán nhiều hơn một địa chỉ IP cho một địa chỉ vật lý. Chú ý rằng, định dạng của yêu cầu ARP thì được thiết kế để có thể hỗ trợ được cho các giao thức khác ngoài IP và Ethernet. CHƯƠNG 4: GIAO THỨC TCP/IP 56 4.3.2 Giao thức phân giải địa chỉ ngược RARP (Reverse Address Resolution Protocol) Ngày nay, các trạm làm việc không đĩa cứng (Diskless workstation) được sử dụng rộng rãi. Mỗi máy tính chỉ cần bộ xử lý và bộ nhớ, tất cả không gian lưu trữ được cung cấp từ một máy chủ (Server) sử dụng một hệ thống tập tin mạng theo một chuẩn nào đó. Do không có các tập tin cấu hình, tiến trình khởi động của các máy tính này thường sử dụng một giao thức truyền tải tập tin rất đơn giản như TFTP. Tuy nhiên, trước khi có thể nối kết đến được server, các trạm làm việc cần phải biết được địa chỉ IP của nó. Giao thức RARP được dùng trong trường hợp này. RARP sử dụng cùng định dạng yêu cầu của ARP nhưng trường Operation có giá trị là 3 cho yêu cầu và 4 cho trả lời. Trên server duy trì một bảng mô tả mối tương quan giữa địa chỉ vật lý và địa chỉ IP của các máy trạm. Khi nhận được yêu cầu RARP, server tìm trong bảng địa chỉ và trả về địa chỉ IP tương ứng cho máy trạm đã gởi yêu cầu. 4.3.3 Giao thức thông điệp điều khiển Internet ICMP (Internet Control Message Protocol) Giao thức ICMP được cài đặt trong hầu hết tất cả các máy tính TCP/IP. Các thông điệp của giao thức được gởi đi trong các gói tin IP và được dùng để gởi đi các báo lỗi hay các thông tin điều khiển. ICMP tạo ra nhiều loại thông điệp hữu ích như : + Đích đến không tới được (Destination Unreachable), + Thăm hỏi và trả lời (Echo Request and Reply), + Chuyển hướng (Redirect), + Vượt quá thời gian (Time Exceeded), + Quảng bá bộ chọn đường (Router Advertisement) + Cô lập bộ chọn đường (Router Solicitation) + .... Nếu một thông điệp không thể phân phát được thì nó sẽ không được gởi lại. Điều này để tránh tình trạng di chuyển không bao giờ dừng của các thông điệp ICMP. Nếu một thông điệp « Đích đến không tới được » được gởi đi bởi một router, điều đó có nghĩa rằng router không thể gởi gói tin đến đích được. Khi đó router sẽ xóa gói tin ra khỏi hàng đợi của nó. Có hai nguyên nhân làm cho một gói tin không thể đi đến nơi được. Phần lớn là máy gởi mô tả một địa chỉ nhận mà nó không tồn tại trên thực tế. Trường hợp ít hơn là router không biết đường đi đến nơi nhận gói tin. Thông điệp Đích đến không tới được được chia thành bốn loại cơ bản là : + Mạng không đến được (Network unreachable) : Có nghĩa là có sự cố trong vấn đề vạch đường hoặc địa chỉ nhận của gói tin. + Máy tính không đến được (Host unreachable) : Thông thường dùng để chỉ trục trặc trong vấn đề phân phát, như là sai mặt nạ mạng con chẳng hạn. + Giao thức không đến được (Protocol unreachable) : Máy nhận không hỗ trợ giao thức ở tầng cao hơn như gói tin đã mô tả. + Cổng không đến được (Port unreachable) : Socket của giao thức TCP hay cổng không tồn tại. Một thông điệp « Thăm hỏi và trả lời » được tạo ra bởi lệnh ping từ một máy tính để kiểm tra tính liên thông trên liên mạng. Nếu có một thông điệp trả lời, điều đó biểu hiện rằng giữa máy gởi và máy nhận có thể giao tiếp được với nhau. Một thông điệp « Chuyển hướng » được gởi bởi một router đến máy đã gởi gói CHƯƠNG 4: GIAO THỨC TCP/IP 57 tin để khuyến cáo về một đường đi tốt hơn. Router hiện tại vẫn chuyển tiếp gói tin mà nó nhận được. Thông điệp chuyển hướng giữ cho bảng chọn đường của các máy tính được nhỏ bởi vì chúng chỉ cần chứa địa chỉ của một router mà thôi, thậm chí router đó cung cấp đường đi không phải là tốt nhất. Đôi khi sau khi nhận được thông điệp chuyển hướng, thiết bị gởi vẫn sử dụng đường đi cũ. Một thông điệp « Vượt quá thời hạn » được gởi bởi một router nếu thời gian sống (Time–to-live) của gói tin, tính bằng số router hay giây, có giá trị là 0. Thời gian sống của gói tin giúp phòng ngừa trường hợp gói tin được gởi đi lòng vòng trên mạng và không bao giờ đến nơi nhận. Router sẽ bỏ đi các gói tin đã hết thời gian sống. 4.4. GIAO THỨC TCP 4.4.1 Tổng quát TCP là giao thức hướng byte, nghĩa là bên gởi ghi các bytes lên nối kết TCP, bên nhận đọc các bytes từ nối kết TCP đó. Mặc dù TCP mô tả dịch vụ mà nó cung cấp cho tầng ứng dụng là theo kiểu “luồng các bytes”, nhưng tự thân TCP không truyền từng byte một qua mạng Internet. Thay vào đó, thực thể TCP trên máy nguồn trữ tạm đủ số bytes phát ra từ tiến trình gởi để tạo nên một gói tin có kích thước hợp lý rồi mới gởi gói tin đó đến thực thể TCP ngang hàng bên máy đích. Thực thể TCP bên máy đích sẽ bóc các bytes dữ liệu trong gói tin ra và đặt chúng vào buffer của nó. Tiến rình bên nhận từ đó có thể đọc các bytes từ buffer này tùy thích. Quá trình truyền nhận trên được mô phỏng trong Hình H4.5. H4.5 Cách thức TCP quản lý luồng các bytes TCP cung cấp kết nối tin cậy giữa hai máy tính, kết nối được thiết lập trước khi dữ liệu bắt đầu truyền. TCP còn gọi là giao thức hướng kết noois, với giao thức TCP thì quá trình hoạt động trải qua ba bước sau : + Thiết lập kết nối + Truyền dữ liệu + Kết thúc kết nối Giao thức TCP thiết lập kết nối bằng phương pháp bắt tay ba chiều: + Bước 1: Cient (bên chủ động) gởi đến server một segment yêu cầu nối kết, trong đó chứa số thứ tự khởi đầu mà nó sẽ dùng (Flags = SYN, SequenceNum = x). CHƯƠNG 4: GIAO THỨC TCP/IP 58 + Bước 2: Server trả lời cho client bằng một segment, trong đó báo nhận rằng nó sẵn sàng nhận các byte dữ liệu bắt đầu từ số thứ tự x+1 (Flags = ACK, Ack = x + 1) và cũng báo rằng số thứ tự khởi đầu của bên server là y (Flags = SYN, SequenceNum = y). + Bước 3: Cuối cùng client báo cho server biết, nó đã biết số thứ tự khởi đầu của server là y (Flags = ACK, Ack = y+1). H4.6 Bắt tay 3 chiều trong TCP Hủy kết nối : Việc hủy bắt tay trong TCP được thực hiện qua 4 bước: + Bước 1: Cient (bên chủ động) gởi đến server một segment yêu cầu hủy nối kết (Flags =FIN). + Bước 2: Server nhận được một segment FIN, sẽ trả lời bằng một segment ACK. Sau khi đã hoàn tất hết mọi thứ để đóng nối kết, server sẽ gởi cho client tiếp một segment FIN. + Bước 3: Client nhận được FIN sẽ trả lời ACK sau đó nó sẽ chuyển sang trạng thái chờ đợi có định hạn. Trong thời gian chờ đợi này, client sẽ trả lời ACK cho mọi khung FIN. Hết thời gian chờ đợi, client sẽ thật sự đóng nối kết. + Bước 4: Server khi nhận được ACK sẽ thật sự đóng nối kết. 4.4.2 Cầu trúc gói tin TCP Các gói tin được trao đổi bởi hai thực thể TCP trong Hình H4.5 được gọi là các segment (đoạn), do mỗi gói tin mang theo một đoạn của cả một luồng các bytes. Mỗi segment có một header như được chỉ ra trong Hình H4.7. CHƯƠNG 4: GIAO THỨC TCP/IP 59 H4.7 Cấu trúc TCP header Giải thích: + Các trường SrcPort và DstPort chỉ ra địa chỉ cổng nguồn và đích, giống như trong UDP. Hai trường này cùng với hai địa chỉ IP nguồn và đích sẽ được kết hợp với nhau để định danh duy nhất một kết nối TCP. Nghĩa là một kết nối TCP sẽ được định danh bởi một bộ 4 trường (Cổng nguồn, Địa chỉ IP nguồn, Cổng đích, Địa chỉ IP đích) + Các trường Acknowledgement, SequenceNum và AdvertisedWindow tất cả được sử dụng trong giải thuật cửa sổ trượt của TCP. Bởi vì TCP là giao thức hướng byte, nên mỗi byte của dữ liệu sẽ có một số thứ tự; trường SequenceNum chứa số thứ tự của byte đầu tiên của một dãy các bytes chứa trong một segment. Các trường Acknowledgement và AdvertisedWindow được dùng để thông báo tiến độ nhận các bytes trong luồng dữ liệu và khả năng tiếp nhận chúng. Để đơn giản hóa vấn đề, chúng ta bỏ qua sự thật là dữ liệu có thể chạy theo hai chiều, ở đây ta đưa ra sơ đồ như sau: bên gởi sẽ gởi một segment dữ liệu, byte dữ liệu đầu tiên trong segment đó sẽ có số thứ tự là SequenceNum; bên nhận sẽ báo nhận bằng các trường Acknowledgement và AdvertisedWindow. H4.8 Gởi dữ liệu và báo nhận Cách thức hai bên sử dụng các trường trên như thế nào sẽ được trình bày trong phần điều khiển luồng dữ liệu. + Trường Flags dài 6 bits được sử dụng để chứa thông tin điều khiển giữa hai bên sử dụng giao thức TCP. Một bit trong trường này là một cờ, cụ thể như sau: SYN, FIN, RESET, PUSH, URG, ACK. Hai cờ SYN và FIN được dùng để thiết lập và giải phóng nối kết. Cờ ACK được đặt mỗi khi trường Acknowledgement là hợp lệ. Cờ URG được dùng để đánh dấu segment này chứa dữ liệu khẩn cấp. Khi cờ này được đặt, trường UrgPtr sẽ chỉ ra nơi bắt đầu của dữ liệu không khẩn cấp (dữ liệu khẩn cấp luôn nằm ở đầu của phần dữ liệu). + Cờ PUSH báo hiệu cho bên nhận rằng bên gởi đã dùng thao tác PUSH, tức là bên gởi đã không chờ nhận đủ các bytes để lấp đầy một segment, trong buffer gởi dù có bao nhiêu bytes dữ liệu cũng được bên gởi đóng vào segment và gởi đi. Cuối cùng, cờ RESET được dùng để thông báo rằng bên nhận đã bị rối (ví dụ như nó đã nhận một segment mà đáng lẽ ra không phải là segment đó), vì thế nó muốn hủy bỏ nối kết. + Trường Checksum được sử dụng chính xác giống như trong giao thức UDP. + Do header của TCP có độ dài thay đổi, nên trường HdrLen sẽ chỉ ra độ dài cụ thể của phần header này. CHƯƠNG 4: GIAO THỨC TCP/IP 60 4.5. 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 của chúng như sau: H4.9 Cấu trúc gói tin UDP Giải thích: + 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. + 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. 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 của chúng như sau: CHƯƠNG 4: GIAO THỨC TCP/IP 61 H4.9 Cấu trúc gói tin UDP Giải thích: + 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. + 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. BÀI TẬP CHƯƠNG 4 Câu 1: Trình bày các lớp và nhiệm vụ từng lớp trong mô hình TCP/IP. Câu 2: So sánh(vẽ hình) mô hình OSI và TCP/IP. Câu 3: Trình bày cấu trúc gói tin IP. Ý nghĩa các trường trong đó. Câu 4: Vẽ hình, cho ví dụ quá trình thiết lập, hủy kết nối của giao thức TCP. Câu 5: Số byte tối đa của gói IP ? Trường nào (Fields) quyết định số byte này? Câu 6: So sánh ưu, nhược điểm của giao thức TCP và UDP
File đính kèm:
- giao_trinh_mang_may_tinh_phan_1.pdf