Tìm hiểu về mạng máy tính
Trang 1Chơng I Mạng máy tính
I Mạng máy tính
II Phân loại mạng máy tính
II.1 Phân loại theo kiến trúc (topology) của mạng
II.1.1 Mạng điểm-điểm (point-to-point network)
II.1.2 Mạng quảng bá (broadcast network)
II.2 Phân loại theo phơng thức chuyển mạch (Swiched Method)
II.2.1 Chuyển mạch kênh (Circuit Swiched Network)
II.2.2 Chuyển mạch tin báo (Message Swiched Network)
II.2.3 Chuyển mạch gói (Packed Swiched Network)
II.3 Phân loại theo phạm vi hoạt động
II.3.1 Mạng LAN (Local Area Network)
II.3.2 Mạng MAN (Metropolian Area Network)
II.3.3 Mạng WAN (Wide Area Network)
II.3.4 Liên mạng (internet)
Chơng II Giao thức truyền thông và các mô hình tham chiếu I Giao thức truyền thông
II Mô hình tham chiếu OSI
II.1 Giới thiệu mô hình OSI
II.2 Các tầng của mô hình OSI
II.2.1 Tầng vật lý (Physical layer)
II.2.2 Tầng liên kết dữ liệu (Data link layer)
II.2.3 Tầng mạng (Network layer)
II.2.4 Tầng giao vận (Transport layer)
II.2.5 Tầng phiên (Session layer)
II.2.6 Tầng trình diễn (Presentation layer)
II.2.7 Tầng ứng dụng (Application layer)
II.3 Những vấn đề về OSI
III Kiến trúc giao thức IPX/SPX
III.1 Kiến trúc giao thức IPX/SPX
III.2 Gói tin IPX
III.3 Cơ chế hoạt động của Novell Netware
Chơng III Bộ Giao thức TCP/IP I Bộ giao thức TCP/IP
II Kiến trúc của bộ giao thức TCP/IP
II.1 Kiến trúc phân tầng của TCP/IP
II.2 Cơ chế địa chỉ Internet
II.2.1 Địa chỉ lớp A
II.2.2 Địa chỉ lớp B
II.2.3 Địa chỉ lớp C
II.3 Mạng con và Subnet mask
III Tầng mạng (Network Layer)
IV Tầng Internet (Internet Layer)
IV.1 Gói tin IP
Trang 2IV.2 Giao thức chuyển địa chỉ ARP (Address Resolution Protocol)
và cơ giao thức chuyển ngợc địa chỉ RARP (Reverse Address
Resolution Protocol)
IV.2.1 Chuyển giao trực tiếp
IV.2.2 Chuyển giao địa chỉ động
IV.2.3 Gói tin ARP
IV.3 Giao thức điều khiển truyền tin (Internet Control Message Protocol - ICMP)
IV.3.1 Gói tin ICMP
IV.3.2 Điều khiển dòng dữ liệu
IV.3.3 Thông báo lỗi
IV.3.4 Định hớng lại
IV.3.5 Kiểm tra trạm làm việc
IV.4 Thuật toán dẫn đờng
V tầng giao vận
V.1 Giao thức không kết nối (User Datagram Protocol - UDP)
V.1.1 Gói thông tin UDP
V.1.2 Phân kênh, hợp kênh và Ports
V.2 Giao thức điều khiển truyền tin (Transmission Control Protocol - TCP)
V.2.1 Gói tin TCP
V.2.2 Cổng, kết nối và điểm kết nối
VI Tầng ứng dụng của TCP/IP
VI.1 Dịch vụ tên miền (Domain Name Service - DNS)
VI.2 Đăng nhập từ xa (Telnet)
VI.3 Th điện tử (Electronic Mail)
VI.4 Giao thức truyền tệp (File Transfer Protocol - FTP)
VI.5 Nhóm tin (News groups)
VI.6 Tìm kiếm tệp (Archie)
VI.7 Tra cứu thông tin theo thực đơn (Gopher)
VI.8 Tìm kiếm thông tin theo chỉ số (WAIS)
VI.9 Siêu văn bản (WWW)
Chơng IV Xây dựng chơng trình truyền tệp I Giao diện lập trình
I.1 Giao diện lập trình
I.2 Network I/O và file I/O
I.3 Làm việc với Socket
I.3.1 Socket
I.3.2 Địa chỉ Socket
I.3.3 Một số lời gọi tạo lập socket
I.3.4 Một số lời gọi gửi dữ liệu qua socket
I.3.5 Một số lời gọi nhận dữ liệu từ socket
II Mô hình Client-Server
II.1 Mô hình Client-Server sử dụng dịch vụ không kết nối
II.2 Mô hình Client-Server sử dụng dịch vụ hớng kết nối
III Xây dựng chơng trình truyền tệp
III.1 Thiết kế và cài đặt chơng trình
Trang 3III.1.1 Giao thức ứng dụng đợc xây dựng và sử dụng trong
ch-ơng trình III.1.2 Cài đặt chơng trình III.2 Một số vấn đề nảy sinh trong quá trình thực hiện và cách giải quyết III.2.1 Vấn đề chuyển đổi tệp giữa hai hệ điều hành III.2.2 Vấn đề về một số lệnh tơng tác
Phụ lục a Một số mạng cục bộ
I Mạng Ethernet và IEEE 802.3
II Mạng Token-Pasing Rings (IEEE 802.5) III .Mạng Token-Passing Busses (IEEE 802.4)
Phụ lục B Một số kỹ thuật chọn đờng đi ngắn nhất
I Giải thuật Dijkstra cho việc chọn đờng tập trung
II Giải thuật Ford& Fulkerson cho việc chọn đờng phân tán
Phụ lục C Văn bản chơng trình (Phần client)
I Chơng trình chính (main.c)
II Th viện sử dụng (Socket.c)
Trang 5nối với nhau nếu chúng có khả năng trao đổi thông tin Sự kết nối cóthể thông qua dây dẫn, tia laser, sóng điện từ hay vệ tinh viễn thông Việc kết nối các máy tính có những u điểm sau
Sử dụng chung tài nguyên (resource sharing): Chơng trình, dữ liệu,
thiết bị có thể đợc dùng chung bởi ngời dùng từ các máy tính trênmạng
Tăng độ tin cậy của hệ thống thông tin (reliability): Nếu một máy
tính hay một đơn vị dữ liệu nào đó bị hỏng thì luôn có thể sử dụngmột máy tính khác hay một bản sao khác của dữ liệu, nhờ đó, khảnăng mạng bị ngừng sử dụng đợc giảm thiểu
trên phạm vi địa lý rộng: Mục tiêu này ngày càng trở nên quan
trọng nhất là khi mạng máy tính đã phát triển trên phạm vi toàn cầu
nh ngày nay
Tiết kiệm chi phí: Do tài nguyên đợc dùng chung, hệ thống tin cậy
hơn nên chi phí thiết bị và bảo dỡng của mạng máy tính thấp hơn sovới trờng hợp máy tính riêng lẻ
II.
II.1.
Phân loại theo kiến trúc là cách phân loại mạng máy tính theo cách kếtnối các máy tính trong mạng
II.1.1.
II.1.1 Mạng điểm-điểm (point-to-point network)
Các đờng truyền nối các cặp nút với nhau, mỗi nút có trách nhiệm lu trữtạm thời sau đó chuyển tiếp dữ liệu tới đích Cách làm việc này còn gọi
là lu và chuyển tiếp (store-and-forward) Mạng điểm-điểm cần sử dụnglợng cáp nối lớn hoặc nhiều đờng điện thoại thuê riêng (leasedtelephone lines), mỗi đờng nối một cặp điểm làm việc Nếu 2 điểm làmviệc muốn gửi thông tin cho nhau mà không có đờng truyền trực tiếp, dữliệu của chúng cần đợc truyền qua một số nút khác do đó, thuật toándẫn đờng có vai trò rất quan trọng trong kiến trúc mạng điểm-điểm
Trang 6II.1.1 Mạng quảng bá (broadcast network)
Tất cả các nút cùng dùng chung một đờng truyền vật lý Dữ liệu đợctiếp nhận bởi tất cả các máy tính, nếu máy tính nào kiểm tra thấy gói tin
đợc gửi cho mình, nó sẽ giữ lại và xử lý Các mạng quảng bá thờng chophép sử dụng địa chỉ broadcasting để gửi thông báo tới toàn mạng
II.2.
II.2.1.
II.1.1 Chuyển mạch kênh (Circuit Swiched Network)
Thông tin truyền qua một kênh vật lý cố định, tốc độ và độ tin cậy caonhng lãng phí đờng truyền do không sử dụng hết
II.2.2.
II.1.1 Chuyển mạch tin báo (Message Swiched Network)
Liên lạc đợc thiết lập khi có thông tin cần truyền, thông tin đợc địnhdạng gồm header và data và có độ dài không cố định: Mối liên lạc đợcthiết lập và chỉ giải phóng khi truyền xong dữ liệu do đó không quản lý
đợc thời gian chiếm đờng truyền
II.2.3.
II.1.1 Chuyển mạch gói (Packed Swiched Network)
Thông tin đợc cắt ra thành các gói có độ dài quy định Ví dụ ErthenetIEEE 802.3 chia message thành các gói 1500 bytes Mỗi gói đều cóheader và data Các gói của các message khác nhau có thể truyền xen
kẽ trên đờng truyền do đó thời gian chờ đợi chung của hệ thống giảm
Satellite
Trang 7Theo phạm vi hoạt động, ngời ta chia mạng máy tính thành những loại sau
II.3.1.
II.1.1 Mạng LAN (Local Area Network)
Thờng là mạng đợc sử dụng cho một công ty, trờng học hay trong mộttoà nhà, khoảng cách tơng đối nhỏ (cỡ vài trăm m tới vài Km) tốc độtruyền lớn, độ trễ nhỏ
(Phụ lục A trình bày một số mạng cục bộ thờng đợc sử dụng)
II.3.2.
II.1.1 Mạng MAN (Metropolian Area Network)
Mạng đợc cài đặt trong phạm vi một đô thị hay trung tâm kinh tế - xãhội (có bán kính khoảng 100 Km)
II.3.3.
II.1.1 Mạng WAN (Wide Area Network)
Mạng diện rộng có thể bao trùm một vùng rộng lớn cỡ quốc gia hay lục
địa
II.3.4.
II.1.1 Liên mạng (internet)
Phần lớn các mạng cục bộ đều độc lập với nhau về phần cứng cũng nhphần mềm, chúng đợc thiết lập nhằm mục đích phục vụ những nhómngời cụ thể nào đó Trong mỗi mạng đó, ngời dùng tự lựa chọn mộtcông nghệ phần cứng phù hợp với công việc của họ Một điều quantrọng nữa là không thể xây dựng một mạng chung dựa trên một côngnghệ sử dụng trên một mạng đơn lẻ nào đó bởi vì không có công nghệmạng nào có thể thoả mãn nhu cầu cho tất cả mọi ngời Một số ngời cónhu cầu sử dụng đờng nối cao tốc để truyền dữ liệu của mình trong khicác mạng LAN không thể mở rộng phạm vi hoạt động quá xa Một sốmạng tốc độ chậm lại có thể kết nối máy tính tới hàng ngàn dặm
Liên mạng máy tính (internetworking hay internet) là một công nghệ
đ-ợc đa ra nhằm kết nối các mạng thành một thể thống nhất Công nghệinternet che dấu đi kiến trúc vật lý của mạng và cho phép máy tínhtruyền thông một cách độc lập với liên kết vật lý của mạng Một liênmạng đã khá quen thuộc với chúng ta là mạng Internet
Giới thiệu mạng Internet
Trang 8Internet là một tổ hợp hàng triệu máy đợc kết nối với nhau thông quacác thiết bị ghép nối thờng gọi là gateway để có thể chia sẻ thông tinvới nhau, trong đó có đủ loại máy tính, và chúng sử dụng nhiều hệ điềuhành khác nhau.
Thông tin trên Internet gồm đủ loại từ th điệu tử, các file đồ hoạ đếnvideo và còn nhiều thứ khác đợc cung cấp bởi những ngời sử dụngInternet bằng nhiều phơng thức, với nhiều t tởng khác nhau
Quy mô của Internet
Có bao nhiêu máy đợc kết nối vào Internet? Con số cụ thể luôn luônthay đổi, những địa chỉ mới luôn luôn đợc cập nhật từng giây chúng ta
có thể truy nhập địa chỉ Web site của tổ chức Network Wizards
http://www.nw.com/zone/WWW/top.html
để biết những số liệu mới nhất
điện thoại và chỉ mất khoảng 640/1000 giây để bắt đầu nhận thông báo
từ Bắc Mỹ tới Nam cực
Các dịch vụ mà Internet cung cấp
Phần lớn ngời sử dụng Internet không cần biết đến của công nghệ sửdụng trên Internet, đối với họ Internet chỉ đơn giản là một bộ chơng trìnhphần mềm mang lại cho họ những khả năng truyền thông có ích Chính
điều này mang lại cho Internet số ngời dùng đông đảo tới nh vậy
Các dịch vụ mức ứng dụng ban đầu trên Internet
Th điện tử (Electronic mail) Cho phép ngời dùng ngồi trớc máy tính
tại nhà mình gửi E-mail tới bất cứ ai ở đâu trên thế giới nếu họ có địa
chỉ E-mail Họ có thể tham gia các nhóm thảo luận (discussion
Trang 9group) về những đề tài khác nhau hay bắt đầu một nhóm mới về
những chủ đề mà họ a thích
Truyền file (File Transfer) Nếu cần một chơng trình phần mềm mới
nh các tiện ích nén file, các chơng trình diệt virus, một phần mềm tròchơi, hình ảnh hay âm thanh, ngời dùng có thể tải xuống bất cứ lúcnào với File Transfer
Truy nhập từ xa (Remote login) Có lẽ điều thú vị nhất trong các ứng
dụng của Internet là Remote login, nó cho phép ngời dùng kết nốivào một máy tính ở xa nh một trạm cuối để sử dụng máy tính đó
Dịch vụ mức mạng của Internet
Một lập trình viên viết chơng trình ứng dụng trên Internet cần có một cáinhìn khác với ngời chỉ đơn giản sử dụng dịch vụ Internet ở tầng mạng,Internet cung cấp 2 kiểu dịch vụ mà các ứng dụng của Internet thờngdùng đó là
Dịch vụ truyền không kết nối (Connectionless Paket Delivery Service) là một phơng thức truyền dữ liệu mà các mạng chuyển
mạch gói cung cấp Điều này chỉ đơn giản là mạng Internet chuyểncác gói tin từ máy này sang máy khác dựa vào thông tin địa chỉ củagói đến đích của nó Việc chia nhỏ gói tin truyền này có một lợi điểm
là nếu một đờng đi bị bận hoặc bị đứt, thì các gói có thể đợc truyềntheo một đờng khác
Dịch vụ truyền tin cậy (Reliable Stream Transport Service) Phần lớn
các ứng dụng đòi hỏi nhiều dịch vụ hơn chỉ truyền thông không kếtnối bởi vì chúng cần tự động sửa lỗi, kiểm tra tính toàn vẹn của thôngtin truyền đi trên mạng Reliable Stream Transport Service giải quyếtvấn đề này cho ta
Trang 10 Chơng II Giao thức truyền thông và Các mô hình tham chiếu
I.
Để các máy tính trên mạng có thể trao đổi thông tin với nhau, chúngcần có một bộ những phần mềm cùng làm việc theo một chuẩn nào đó.Giao thức truyền thông (protocol) là tập quy tắc quy định phơng thứctruyền nhận thông tin giữa các máy tính trên mạng
Các mạng máy tính hiện đại đợc thiết kế bằng cách phân chia cấu trúc
ở mức độ cao nhằm làm giảm sự phức tạp khi thiết kế Các giao thứcmạng thờng đợc chia làm các tầng (layer), mỗi tầng đợc xây để dựngdựa trên dịch vụ của tầng dới nó và cung cấp dịch vụ cho tầng cao hơn
II.
II.1.
Mô hình mạng máy tính do tổ chức tiêu chuẩn hoá quốc tế(International Standard Organization - ISO) đa ra năm 1983 đợc gọi làmô hình tham chiếu các hệ thống mở (Open Systems Interconectreferent model - OSI) Các điều khoản mô tả trong mô hình đợc sửdụng rộng rãi trong lý thuyết truyền thông, do đó, trong thực tế khó cóthể nói về truyền thông mà không sử dụng thuật ngữ của OSI
Mô hình tham chiếu OSI chứa 7 tầng mô tả chức năng của giao thứctruyền thông Mỗi tầng của mô hình OSI miêu tả một chức năng đợcthực hiện khi dữ liệu di chuyển giữa các ứng dụng giữa các mạng
Tầng ứng dụng bao gồm các trình ứng dụng sử dụng mạng
Tầng trình diễn tiêu chuẩn hoá dữ liệu cung cấp cho tầng ứng dụng.
Tầng phiên quản trị các phiên làm việc giữa các ứng dụng.
Tầng giao vận cung cấp kết nối trạm-trạm, xử lý lỗi.
Tầng mạng quản trị việc kết nối qua mạng cho các tầng trên.
Tầng liên kết dữ liệu cung cấp phân phát dữ liệu tin cậy qua đờng
truyền vật lý
Tầng vật lý định rõ các đặc thù của thiết bị mạng.
Trang 11Các lớp giao thức đợc xếp chồng lớp nọ trên lớp kia Chính sự xuất hiệncủa nó, cấu trúc thờng đợc gọi là stack hoặc giao thức xếp chồng.
Việc phân tầng của OSI tuân theo một số nguyên tắc sau
Một lớp đợc tạo ra khi cần đến mức trừu tợng hoá tơng ứng
Mỗi lớp cần thực hiện các chức năng đợc định nghĩa rõ ràng
Việc chọn chức năng cho mỗi lớp cần chú ý tới việc định nghĩa các quy tắc chuẩn hoá quốc tế
Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất (tham số cho chơng trình con là ít)
Số mức phải đủ lớn để các chức năng tách biệt không nằm trongcùng một lớp và đủ nhỏ để mô hình không quá phức tạp Một mức cóthể đợc phân thành các lớp nhỏ nếu cần thiết Các mức con có thểlại bị loại bỏ
Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo
đảm những nguyên tắc chung (cài đặt cùng một giao thức truyềnthông) Các chức năng đợc tổ chức thành một tập các tầng đồng mứccung cấp chức năng nh nhau Các tầng đồng mức phải sử dụng mộtgiao thức chung
Một tầng không định nghĩa một giao thức đơn, nó định nghĩa một chứcnăng truyền thông có thể đợc thi hành bởi một số giao thức Do vậy,mỗi tầng có thể chứa nhiều giao thức, mỗi giao thức cung cấp một dịch
vụ phù hợp cho chức năng của tầng Ví dụ cả giao thức truyền file(File Transfer Protocol - FTP) và giao thức th điện tử (Simple MailTransfer Protocol - SMTP) đều cung cấp dịch vụ cho ngời dùng và cảhai đều thuộc tầng ứng dụng Mỗi mức ngang hàng giao thức truyềnthông (sự bổ xung của các giao thức cùng mức tơng đơng trên hệthống khác) Mỗi mức phải đợc chuẩn hoá để giao tiếp với mức tơng đ-
ơng với nó Trên lý thuyết, giao thức chỉ biết đến những gì liên quan tớilớp của nó mà không quan tâm tới mức trên hoặc dới của nó Tuy nhiênphải có sự thoả thuận để chuyển dữ liệu giữa các tầng trên một máytính, bởi mỗi tầng lại liên quan tới việc gửi dữ liệu từ ứng dụng tới mộtứng dụng tơng đơng trên một máy khác Tầng cao hơn dựa vào tầng
Trang 12thấp hơn để chuyển dữ liệu qua mạng phía dới Dữ liệu chuyển xuốngngăn xếp từ tầng này xuống tầng thấp hơn cho tới khi đợc truyền quamạng nhờ giao thức của tầng vật lý ở đầu nhận, dữ liệu đi lên ngăn xếptới ứng dụng nhận Những tầng riêng lẻ không cần biết các tầng trên vàdới nó xử lý ra sao, nó chỉ cần biết cách chuyển nhận thông tin từ cáctầng đó Sự cô lập các hàm truyền thông trên các tầng khác nhau giảmthiểu sự tích hợp công nghệ của đầu vào mỗi bộ giao thức Các ứngdụng mới có thể thêm vào mà không cần thay đổi tầng vật lý của mạng,phần cứng có thể đợc bổ sung mà không cần viết lại các phần mềmứng dụng.
II.2.
II.2.1.
II.1.1 Tầng vật lý (Physical layer)
Tầng vật lý liên quan tới việc truyền dòng bit giữa các máy bằngkênh truyền thông vật lý, ở đây, cấu trúc của dữ liệu không đợc quantâm đến
Việc thiết kế tầng vật lý cần quan tâm đến các vấn đề về ghép nốicơ khí, điện tử, thủ tục và môi trờng truyền tin bên dới nó ví dụ mức
điện áp tơng ứng với bit 0 - 1, thời gian tồn tại của xung
II.2.2.
II.1.1 Tầng liên kết dữ liệu (Data link layer)
Liên kết, thiết lập, duy trì, huỷ bỏ các liên kết dữ liệu là nhiệm vụ củatầng data link
Ngoài ra tầng data link còn kiểm soát lỗi đờng truyền, thông lợng
Tầng này thực hiện việc đóng gói thông tin gửi thành các frame, gửi cácframe một cách tuần tự đi trên mạng, xử lý các thông báo xác nhận(Acknowledgement frame) do bên nhận gửi về Xác định ranh giới giữacác frame bằng cách ghi một số byte đặc biệt vào đầu và cuối frame.Giải quyết vấn đề thông lợng truyền giữa bên gửi và bên nhận (Vấn đềnày có thể đợc giải quyết bởi một số lớp trên)
II.2.3.
II.1.1 Tầng mạng (Network layer)
Vấn đề chủ chốt của tầng mạng là dẫn đờng, định rõ các gói tin(packet) đợc truyền theo những con đờng nào từ nguồn đến đích
Trang 13Các con đờng này có thể cố định, ít bị thay đổi, đợc thiết lập khi bắt
đầu liên kết hay động (dynamic) thay đổi tuỳ theo trạng thái tải củamạng
Nếu có nhiều gói tin truyền trên mạng có thể xảy ra tình trạng tắcnghẽn, tầng mạng phải giải quyết vấn đề này
Thực hiện chức năng giao tiếp với các mạng bao gồm việc đánh lại
địa chỉ, cắt hợp gói tin cho phù hợp với các mạng
Ngoài ra tầng mạng còn thực hiện một số chức năng kế toán, ví dụ, một
số Firewall (packet filtering) đợc cài đặt trên tầng này để thống kê số ợng các gói tin truyền qua mạng hay ngăn cấm hoặc cho phép các góitin của giao thức nào đó
l-II.2.4.
II.1.1 Tầng giao vận (Transport layer)
Kiểm soát việc truyền tin từ nút tới nut (end-to-end): Bắt đầu từ tầngnày, các thực thể đã có thể nói chuyện một cách logic với nhau
Thực hiên việc ghép kênh và phân kênh: Mỗi ứng dụng có thể gửi dữliệu đi theo nhiều con đờng, một đờng truyền lại có thể đợc nhiềuứng dụng sử dụng, phân kênh/hợp kênh giải quyết vấn đề phân chiadữ liệu cho các ứng dụng
Khắc phục sai sót trong quá trình truyền tin: Việc khắc phục sai sót
đợc thực hiện trên nhiều tầng khác nhau, nhng hiệu quả nhất là ởcác tầng cao, việc khắc phục sai sót làm ở tầng giao vận là hợp lýnhất
II.2.5.
II.1.1 Tầng phiên (Session layer)
Tầng này cho phép ngời sử dụng trên các máy khác nhau thiết lập,duy trì, huỷ bỏ, đồng bộ phiên truyền thông giữa họ Cung cấp một
số dịch vụ hữu ích cho ngời sử dụng nh cho phép ngời dùng logonvào hệ thống chia sẻ thời gian, truyền tệp giữa các máy tính
Quản lý token: cơ chế thẻ bài đợc tầng phiên cung cấp để tránh hiệntợng tranh chấp đờng truyền trên mạng
Thực hiện đồng bộ (Synchronization): thực hiện đối với những dữ liệulớn bằng cách thêm vào các thông tin kiểm tra, sửa lỗi
Trang 14II.1.1 Tầng trình diễn (Presentation layer)
Giải quyết vấn đề liên quan tới cú pháp và ngữ nghĩa của thông tin
nh chuyển đổi thông tin theo một chuẩn nào đó đợc cả hai bên sửdụng (mã ASCII - EDBCDIC)
Nén/giãn dữ liệu để giảm số lợng bit truyền trên mạng
Mã hoá dữ liệu để thực hiện quyền truy cập
II.2.7.
II.1.1 Tầng ứng dụng (Application layer)
Tầng ứng dụng cung cấp giao diện sử dụng cho ngời dùng và môi ờng truyền tin
tr- Thực hiện chức năng chuyển file trong đó có giải quyết vấn đềkhông tơng thích nh cách đặt tên file hay các mã điều khiển trongmột tệp văn bản
Cung cấp các dịch vụ Electronic mail, Remote login, Directorylookup
II.3.
Bản thân OSI không phải là một kiến trúc mạng bởi vì nó không chỉ rachính xác các dịch vụ và các nghi thức đợc sử dụng trong mỗi tầng Môhình này chỉ ra mỗi tầng cần thực hiện nhiệm vụ gì ISO đã đa ra cáctiêu chuẩn cho từng tầng, nhng các tiêu chuẩn này không phải là một
bộ phận của mô hình tham chiếu
Mô hình OSI ra đời sau khi các giao thức TCP/IP (TCP/IP sẽ đợc trìnhbày ở phần sau) đã đợc sử dụng rộng rãi, nhiều công ty đã đa ra cácsản phẩm TCP/IP, vì vậy, mô hình OSI chỉ đợc sử dụng trong thực tế
nh một chuẩn về lý thuyết
Trong mô hình OSI, một số chức năng nh điều khiển thông lợng, kiểmtra lỗi xuất hiện lặp lại trong một số tầng Điều này có nguyên nhân domô hình OSI đợc chia làm các tầng khác nhau, mỗi tầng tơng ứng vớimột đối tợng độc lập (có dữ liệu và các phơng thức riêng của nó, độclập với các đối tợng khác)
Mô hình OSI không có các dịch vụ và giao thức không hớng kết nốimặc dù hầu hết các mạng đều có sử dụng Mô hình quá phức tạp choviệc cài đặt làm cho OSI khó có thể ứng dụng rộng rãi trên thực tế
Trang 15Một hệ thống mạng máy PC đợc sử dụng phổ biến nhất trên thế giớitrong thời gian vừa qua là mạng Novell Netware Nó đợc thiết kế chocác công ty, để chuyển từ việc sử dụng máy tính lớn (Mainframe) sang
sử dụng PC Mỗi PC làm chức năng khách hàng (client), một số máymạnh hoạt động nh máy phục vụ (Server), chúng cung cấp các dịch vụfile, các dịch vụ CSDL và các dịch vụ khác cho một nhóm khách hàng.Nói cách khác, Novell Netware hoạt động theo mô hình file-server
III.1.
Novell Netware sử dụng chồng giao thức IPX/SPX dựa trên một hệthống mạng cũ của hãng Xerox-XNSTM nhng có một số thay đổi NovellNetware ra đời trớc OSI và không dựa trên mô hình này
Tầng vật lý và tầng Data link có thể đợc chọn trong số nhiều chuẩncông nghiệp khác nhau bao gồm Ethernet, IBM token ring vàARCnet
Tầng mạng không định hớng nối kết, không bảo đảm (unreliableconnectionless) có tên là IPX (Internet Packet eXchange) Nóchuyển các packet từ nguồn tới đích một cách trong suốt với ngờidùng ngay cả khi nguồn và đích nằm ở các mạng khác nhau IPX sửdụng địa chỉ 12 byte
Tầng giao vận:
Giao thức NCP (Network Core Protocol) cung cấp nhiều dịch
vụ khác ngoài việc vận chuyển dữ liệu của ngời sử dụng, nóchính là trái tim của Novell Netware
Giao thức thứ hai của tầng này là SPX (Sequenced PacketeXchange) Nó chỉ thực hiện việc vận chuyển
Các ứng dụng có thể lựa chọn sử dụng một trong các giao thức củatầng này ví dụ hệ thống file sử dụng NCP, Lotus Note sử dụng SPX
Trang 16 Tầng Application nằm trên cùng, có nhiều giao thức khác nhau cungcấp cho ngời sử dụng các dịch vụ nh đã trình bày ở trên.
III.2.
Điểm mấu chốt của kiến trúc IPX/SPX là gói tin IPX có cấu trúc nh sau
Packet length: chứa chiều dài của packet tính cả header và data
Packet type: đánh dấu các packet điều khiển khác nhau
Destination Address: địa chỉ đích của gói tin
Source Address: địa chỉ nguồn của gói tin
Data: Chiếm phần cuối của gói, có độ dài phụ thuộc vào trờng paketlength trên
III.3.
Cứ khoảng mỗi phút một lần, mỗi server lại phát đi (broadcast) mộtpacket, cho biết địa chỉ của chính nó và các dịch vụ mà nó cung cấp.Việc này sử dụng giao thức SAP (Service Advertising Protocol) Cácpacket này đợc tiến trình dịch vụ (special agent process) chạy trên cácmáy router nhận và thu thập Các agent sử dụng thông tin chứa trong
đó để xây dựng CSDL về các server
Khi một máy client khởi động, nó phát một request để hỏi xem servergần nhất ở đâu Agent trên máy router địa phơng tiếp nhận yêu cầunày, kiểm tra CSDL về server, lựa chọn server phù hợp gửi lại thông tincho client Từ thời điểm đó, Client có thể thiết lập kết nối NCP vớiserver và sử dụng các dịch vụ của server Trong quá trình kết nối, client
và server thoả thuận với nhau về chiều dài cực đại của dữ liệu, trong
Trang 17quá trình sử dụng, client có thể tra cứu CSDL của server để biết thôngtin của các server khác.
Trang 18 Chơng III Giao thức TCP/IP
I.
Vào cuối những năm 1960 và đầu 1970, Trung tâm nghiên cứu cấp cao(Advanced Research Projects Agency - ARPA) thuộc bộ quốc phòng
Mĩ (Department of Defense - DoD) đợc giao trách nhiệm phát triểnmạng ARPANET Mạng ARPANET bao gồm mạng của những tổ chứcquân đội, các trờng đại học và các tổ chức nghiên cứu và đợc dùng để
hỗ trợ cho những dự án nghiên cứu khoa học và quân đội (Ngày nay,ARPA đợc gọi là DARPA) Năm 1984, DoD chia ARPANET ra thành 2phần: ARPANET sử dụng cho nghiên cứu khoa học và MILNET sửdụng cho quân đội Đầu những năm 1980, một bộ giao thức mới đợc đa
ra làm giao thức chuẩn cho mạng ARPANET và các mạng của DoDmang tên DARPA Internet protocol suit, thờng đợc gọi là bộ giao thứcTCP/IP hay còn gọi tắt là TCP/IP
Năm 1987 tổ chức nghiên cứu quốc gia Hoa Kỳ (National ScienceFoundation - NSF) tài trợ cho việc kết nối 6 trung tâm siêu tính trên toànliên bang lại với nhau thành một mạng với tên gọi NSFNET Về mặt vật
lý, mạng này kết nối 13 điểm làm việc bằng đờng điện thoại cao tốc đợcgọi là NSFNET backbone Khoảng 8 đờng backbone đã đợc xây dựng.NSFNET đợc mở rộng với hàng chục mạng địa phơng kết nối vào nó vàkết nối vào mạng Internet của DARPA Cả NSFNET và các mạng concủa nó đều sử dụng bộ giao thức TCP/IP
TCP/IP có một số u điểm nh sau:
Giao thức chuẩn mở sẵn sàng phát triển độc lập với phần cứng và
hệ điều hành TCP/IP là giao thức lý tởng cho việc hợp nhất phầncứng và phần mềm khác nhau, ngay cả khi truyền thông trênInternet Sự độc lập rành mạch với phần cứng vật lý của mạng chophép TCP/IP hợp nhất các mạng khác nhau TCP/IP có thể chạytrên mạng Ethernet, mạng Token ring, mạng quay số (Dial-up line),mạng X.25, mạng ảo và mọi loại môi trờng vật lý truyền thông
Một sơ đồ địa chỉ dùng chung cho phép mỗi thiết bị TCP/IP có duynhất một địa chỉ trên mạng ngay cả khi đó là mạng toàn cầu Internet
Tiêu chuẩn hoá mức cao của giao thức phù hợp với ích lợi của dịch
vụ ngời dùng Đợc tích hợp vào hệ điều hành UNIX, Hỗ trợ mô hình
Trang 19client-server, mô hình mạng bình đẳng, Hỗ trợ kỹ thuật dẫn đờng
động
DARPA hỗ trợ việc nghiên cứu kết nối nhiều loại mạng khác nhau lạithành một mạng toàn cầu Internet Ngoài việc sử dụng cho tất cả cácmáy trên Internet, TCP/IP còn đợc sử dụng trong mạng nội bộ của một
số tổ chức chính phủ hoặc thơng mại, những mạng này gọi là Intranet.TCP/IP vừa có thể kết nối một số lợng lớn các máy tính (150.000 máytrên nớc Mĩ, Châu Âu, Châu á) lại có thể chỉ kết nối hai máy tính trongphòng làm việc
Dới đây, chúng ta xem xét một số nội dung về bộ giao thức truyềnthông TCP/IP
Data link Layer
Các lớp tơng ứng giữa OSI và TCP/IP
Có nhiều giao thức trong bộ giao thức truyền thông TCP/IP, nhng haigiao thức quan trọng nhất đợc lấy tên đặt cho bộ giao thức này là TCP(Transmission Control Protocol) và IP (Internet Protocol)
Bộ giao thức TCP/IP đợc phân làm 4 tầng
Tầng mạng (Network Layer)
Tầng Internet (Internet Layer)
Tầng giao vận (Transport Layer)
Tầng ứng dụng (Application Layer)
Trang 20Luận văn tốt nghiệp Nguyễn Nhật Bình
FTP (File transfer Protocol): Giao thức truyền tệp cho phép ngời
dùng lấy hoặc gửi tệp tới một máy khác
Telnet: Chơng trình mô phỏng thiết bị đầu cuối cho phép ngời dùng
login vào một máy chủ từ một máy tính nào đó trên mạng
SMTP (Simple Mail Transfer Protocol): Một giao thức th tín điện tử.
máy tính từ một tên miền thay cho chuỗi địa chỉ Internet khó nhớ
mạng cung cấp những công cụ quản trị mạng
RIP (Routing Internet Protocol): Giao thức dẫn đờng động.
ICMP (Internet Control Message Protocol): Nghi thức thông báo lỗi
UDP (User Datagram Protocol): Giao thức truyền không kết nối cung
cấp dịch vụ truyền không tin cậy nhng tiết kiệm chi phí truyền
TCP (Transmission Control Protocol): Giao thức hớng kết nối cung
cấp dịch vụ truyền thông tin tởng
IP (Internet Protocol): Giao thức Internet chuyển giao các gói tin qua
các máy tính đến đích
thành địa chỉ vật lý của các thiết bị mạng
Identical Frame
Identical Packet
Identical Message
Host B Host A
Protocol User Datagram Protocol
Internet Protocol
ICMPARP
Token Ring Token Bus FiberEthernet
Các tầng của bộ giao thức TCP/IP
Trang 21Cũng giống nh trong mô hình tham chiếu OSI, dữ liệu gửi từ tầngApplication đi xuống ngăn xếp, mỗi tầng có những định nghĩa riêng vềdữ liệu mà nó sử dụng Tại nơi gửi, mỗi tầng coi gói tin của tầng trên gửixuống là dữ liệu của nó và thêm vào gói tin các thông tin điều khiển củamình sau đó chuyển tiếp xuống tầng dới Tại nơi nhận, quá trình diễn rangợc lại, mỗi tầng lại tách thông tin điều khiển của mình ra và chuyểndữ liệu lên tầng trên.
Data
Network Ethernet
Header
IP Header
TCP Header
trailer
II.2.
I Cơ chế địa chỉ Internet
Mạng Internet dùng hệ thống địa chỉ IP (32 bit) để "định vị" các máytính liên kết với nó Có hai cách đánh địa chỉ phụ thuộc vào cách liênkết của từng máy tính cụ thể:
Nếu các máy tính đợc kết nối trực tiếp với mạng Internet thì trungtâm thông tin Internet (Network Information Centre-NIC) sẽ cấp chocác máy tính đó một địa chỉ IP (IP Address)
Trang 22 Nếu các máy tính không kết nối trực tiếp với mạng Internet mà thôngqua một mạng cục bộ thì ngời quản trị mạng sẽ cấp cho các máytính đó một địa chỉ IP (tuy nhiên cũng dới sự cho phép của NIC)
Hệ thống địa chỉ này đợc thiết kế mềm dẻo qua một sự phân lớp, có 5 lớp địachỉ IP là : A, B, C, D, E Sự khác nhau cơ bản giữa các lớp địa chỉ này là ở khảnăng tổ chức các cấu trúc con của nó
Sau đây chúng ta sẽ nghiên cứu về 3 lớp địa chỉ chính của TCP/IP đó
là các lớp A,B,C là các lớp đợc sử dụng rộng rãi trên mạng Internet
II.2.1.
II.1.1 Địa chỉ lớp A
Lớp A sử dụng byte đầu tiên của 4 byte để đánh địa chỉ mạng Nh hìnhtrên, nó đợc nhận ra bởi bit đầu tiên trong byte đầu tiên của địa chỉ cógiá trị 0 3 bytes còn lại đợc sử dụng để đánh địa chỉ máy trong mạng
Có 126 địa chỉ lớp A (đợc đánh địa chỉ trong byte thứ nhất) với số máytính trong mạng là 2563 - 2 = 16.777.214 máy cho mỗi một địa chỉ lớp A(do sử dụng 3 bytes để đánh địa chỉ máy) Địa chỉ lớp A thờng đợc cấpcho những tổ chức có số lợng máy tính lớn
Nguyên nhân chỉ có 126 networks trong khi dùng 8 bit vì bit đầu tiênmang giá trị 0 dùng để định nghĩa lớp A vậy con lại 7 bit đánh số từ 0-
127 tuy nhiên ngời ta không sử dụng một địa chỉ chứa toàn các con số
1 hoặc 0 do vậy, chỉ còn lại 126 mạng lớp A đợc sử dụng Do vậy giá trịbyte đầu tiên của địa chỉ lớp A sẽ luôn luôn nằm trong khoảng từ 1 tới
126, mỗi một byte trong 3 bytes còn lại sẽ có giá trị trong khoảng 1 đến
254
Đối với việc chỉ có 16.777.214 máy trong khi sử dụng 24 bit đánh địachỉ máy trong mạng cũng đợc giải thích tơng tự
Địa chỉ lớp A có dạng: <Network.Host.Host.Host>
với con số thập phân đầu tiên nhỏ hơn 128
Ví dụ: 9 6 7 8 : Nút đợc gán Host ID là 6 7 8, nằm trong mạng lớp A
có địa chỉ là 9 0 0 0
Trang 23II.1.1 Địa chỉ lớp B
Một địa chỉ lớp B đợc nhận ra bởi 2 bit đầu tiên của byte thứ nhất manggiá trị 10 Lớp B sử dụng 2 byte đầu tiên của 4 byte để đánh địa chỉmạng và 2 byte cuối đánh địa chỉ máy trong mạng
Có 64*256 - 2 = 16.128 địa chỉ mạng lớp B với 65.534 máy cho mỗimột địa chỉ lớp B
Địa chỉ lớp B có dạng: <Network.Network.Host.Host>
Byte đầu tiên của một địa chỉ lớp B nằm trong khoảng 128 tới 191
Ví dụ: 190 2 2 1 : Nút đợc gán Host ID là 2 1, nằm trong mạng lớp B
Địa chỉ lớp C có dạng: <Networkr.Network.Network.Host>
Địa chỉ lớp C đợc nhận ra với byte đầu tiên trong khoảng 192 tới 223
Ví dụ: 200 6 5 4 : Nút đợc gán Host ID là 4, nằm trong mạng lớp C
có địa chỉ là 200 6 5 0
II.3.
Mạng Internet sử dụng địa chỉ IP 32 bit và phân chia ra các lớp rất mềmdẻo, tuy nhiên, với một hệ thống địa chỉ nh vậy việc quản lý vẫn rất khókhăn Nếu nh một mạng đợc cấp một địa chỉ lớp A thì có nghĩa nó chứatới 16*1.048.576 máy tính, do vậy ngời ta dùng mặt nạ bit để phân chiamạng ra thành những mạng con gọi là Subnet Subnet mask là một con
số 32 bit bao gồm n bit 1 (thờng là các bit cao nhất) dùng để đánh địachỉ mạng con và m bit 0 dùng để đánh địa chỉ máy trong mạng con vớin+m=32
Network Number Subnet Number Host Number
Trang 24Mặt nạ subnet phải đợc cấu hình cho mỗi máy tính trong mạng và phải
đợc định nghĩa cho mỗi router Nh vậy, ta phải dùng cùng một Subnetmask cho toàn bộ mạng vật lý cùng chung một địa chỉ Internet
Ví dụ:
Ta có một địa chỉ lớp B 128.001.000.000 và cần chia nó thành 254 mạng convới 254 máy trong mỗi mạng, ta giải quyết vấn đề này bằng Subnet mask nhsau
Network num 10000000 0000000
1
128.001.000.000 Subnet mask 11111111 1111111
1
128.001.002.000 Subnet #3 10000000 0000000
1
128.001.001.001 High Address 10000000 0000000
1
128.001.001.254
Trang 25Chú ý rằng một địa chỉ chứa toàn số 1 dùng cho boardcasting, chứatoàn số 0 dành cho Subnet mask do vậy, địa chỉ máy của Internetkhông bao giờ chứa toàn các con số 1 hoặc 0.
III.
Tầng mạng là tầng thấp nhất của kiến trúc giao thức TCP/IP Các giaothức trong tầng này cung cấp biện pháp cho hệ thống chuyển giao dữliệu giữa các thiết bị đợc kết nối trực tiếp Nó mô tả cách sử dụng mạng
để truyền một gói thông tin IP Không giống những giao thức của tầngcao hơn là sử dụng dịch vụ của tầng dới nó và cung cấp dịch vụ chotầng trên, giao thức của tầng mạng cần phải biết chi tiết của mạng vật
lý phía dới (cấu trúc của gói, địa chỉ, vv ) để định dạng đúng thông tin
sẽ đợc truyền tuân theo những ràng buộc của mạng Tầng mạng củaTCP/IP chứa các chức năng tơng ứng của 3 tầng thấp nhất của môhình tham chiếu OSI (tầng mạng, tầng liên kết dữ liệu, tầng vật lý).Tầng mạng thờng không đợc ngời dùng để ý tới vì thiết kế của TCP/IPche dấu những chức năng của tầng thấp nhất này và những điều cầnbiết cho ngời sử dụng cũng nh ngời lập trình chỉ là những giao thức củacác tầng cao hơn (IP, TCP, UDP, vv ) Mỗi khi có công nghệ phầncứng xuất hiện, những giao thức tầng mạng phải đợc phát triển để TCP/
IP có thể sử dụng phần cứng mới (thông thờng đó chính là các trình
điều khiển của chính nhà cung cấp phần cứng đó) Các chức năng trìnhdiễn trong tầng này bao gồm đóng gói gói thông tin IP thành các
"Frame" đợc truyền dẫn trên mạng và chuyển địa chỉ IP thành địa chỉvật lý sử dụng bởi mạng máy tính Một trong số các điểm mạnh củaTCP/IP là địa chỉ của nó đợc phối hợp sao cho trên mạng Internetkhông có một thiết bị mạng nào cùng tên Địa chỉ này phải đợc chuyển
đổi thích hợp với địa chỉ mạng vật lý nơi mà dữ liệu đợc truyền đi
Hai ví dụ RFCs mô tả giao thức sử dụng cho tầng mạng là:
RFC 826: Giao thức chuyển đổi địa chỉ chuyển đổi địa chỉ IP thành
địa chỉ Ethernet
RFC 894: Một chuẩn cho việc truyền gói tin IP qua mạng Ethernetmô tả cách thức đóng gói để truyền thông tin qua mạng Ethernet.Khi cài đặt trong UNIX, giao thức của tầng này đợc xem nh sự phối hợpcủa chơng trình điều khiển thiết bị và các chơng trình liên quan
Trang 26Những đơn vị tơng ứng với những thiết bị mạng làm nhiệm vụ đóng góidữ liệu và chuyển giao cho mạng.
IV.
Tầng Internet cung cấp một hệ thống chuyển giao không kết nối và đôikhi ngời ta còn gọi là không tin cậy Không kết nối bởi mỗi gói tin đợctruyền đi trên mạng một cách độc lập, sự kết hợp dữ liệu của các gói tin
đợc cung cấp bởi các dịch vụ lớp trên Mỗi gói tin IP chứa địa chỉ nơi gửi
và địa chỉ nơi nhận và dựa vào đó nó có thể đợc truyền trên mạng tới
đích Nhng chính việc dữ liệu có thể đi tới đích trên nhiều đờng khácnhau tạo nên sự mềm dẻo cho Internet khi một đờng bị đứt hay một nútnào đó bị quá tải, các gói tin có thể đợc truyền đi theo những con đờngkhác, nếu một gói tin nào có lỗi thì chỉ phải truyền lại gói tin đó thay vàoviệc phải truyền lại toàn bộ thông báo Không tin cậy bởi vì IP không cócơ chế kiểm tra tính đúng đắn của dữ liệu đợc truyền nhận, dịch vụ tin t-ởng phải đợc cung cấp bởi các giao thức lớp trên
Vấn đề chủ chốt trên tầng Internet là việc chọn lựa con đờng tối u đểtruyền các gói tin từ trạm nguồn tới trạm đích Chúng ta sẽ xem xét các
kỹ thuật chọn đờng và thuật toán dẫn đờng sử dụng đối với tầng nàysau đây
Trang 27Vers Hlen Service type Total length
Identification Flag Fragment offsetTime to live Protocol Header cheksum
Source IP addressDestination IP address
Typefield
Gói thông tin IP trong một frame Ethernet
Vers : Dài 4 bits, mô tả chính xác version của IP
Hlen : Dài 4 bits, mô tả độ dài của IP header (tính bằng
từ 32 bit)
Service type: dài 8 bits mô tả thứ tự u tiên của data.
Total length: Dài 16 bits (2 bytes), đây là độ dài của datagram (in
bytes-có nghĩa là độ dài vùng data của IP datagram có thể lên tới
65535 bytes)
Identification, flags, fragment offset: Không phải bất kỳ size nào
của datagram cũng đợc truyền trên mạng (ví dụ Ethernet LAN chỉ hỗtrợ cho size lớn nhất của datagram là 1518 bytes) Do vậy khi sizecủa datagram vợt quá kích thớc cho phép, nó sẽ bị chia nhỏ ra vàcác trờng này sẽ đảm bảo rằng các datagram đã bị phân chia này là
từ một datagram ban đầu
lại hay không (thông thờng nó đợc gán là 1, nếu bị lặp lại nó sẽ bịgán là 0)
dụng (UDP hay là TCP)
Trang 28 CRC: Trờng này đợc dùng để kiểm tra sự toàn vẹn của header.
IP option: Chứa các thông tin nh: "dò" đờng, bảo mật, xác nhận thời
gian
một địa chỉ bội của 32
Source IP address, destination IP address: chứa địa chỉ của
station gửi và địa chỉ của station đích
Gói tin IP chứa một trờng checksum để kiểm tra tính toàn vẹn của IPheader, nếu IP header lỗi, gói tin IP bị loại bỏ và giao thức lớp trên sẽtruyền một gói tin khác
Tầng IP làm công việc dẫn đờng các gói tin qua mạng Internet từ máytính này tới máy tính khác, qua các mạng khác nhau cho tới khi nó đến
đợc trạm đích hoặc bị lỗi Việc truyền gói tin qua các mạng đợc thựchiện thông qua một thiết bị kết nối giữa hai mạng gọi là gateway Khimột thông tin truyền qua các mạng khác nhau, nó có thể bị chia rathành nhiều gói nhỏ hơn Thông tin truyền có thể quá lớn để có thểtruyền trên một gói tin trên một mạng khác Vấn đề này chỉ gặp phải khigateway đợc nối giữa các mạng vật lý khác nhau Mỗi kiểu mạng cómột độ dài tối đa gói tin có thể truyền (Maximum Transmission Unit-MTU) nếu thông tin nhận đợc từ mạng này dài hơn MTU của mạng kia,
nó cần phải đợc chia nhỏ ra thành nhiều mảnh để truyền
Trang 29Việc xử lý nh vậy đợc gọi là sự phân mảnh Để trực quan, ta so sánhvới việc chuyên chở hàng bằng tàu hoả, mỗi toa tàu có thể chở nhiềuhàng hơn một chiếc xe tải sẽ trở hàng trên đờng, hàng hoá sẽ đợc chiavào nhiều xe tải Ta có thể so sánh việc đờng ray khác về vật lý với đ-ờng ôtô, Ethernet khác X.25 về vật lý, IP phải cắt gói tin Ethernetthành những gói thông tin nhỏ hơn để truyền qua mạng X.25 Địnhdạng của mỗi gói tin chia cắt giống nh với từng bản tin Từ thứ hai củaheader chứa thông tin sử dụng cho quá trình tập hợp lại bản tin baogồm: gói tin thuộc bản tin nào, vị trí của nó trong toàn bộ dòng dữ liệutruyền, gói tin đã đợc kết nối cha.
Khi những gói tin truyền đến một gateway quá nhanh, chúng có thể bịloại bỏ và IP trả lại một thông báo lỗi (ICMP)
IV.2.
Protocol) và cơ giao thức chuyển ngợc địa chỉ RARP (Reverse
Address Resolution Protocol)
Mọi máy tính cùng nằm trên một mạng có cùng một net id và các máy tính cùng trên một mạng vật lý có thể gửi frame vật lý trực tiếp cho nhau
nên việc truyền thông tin giữa hai máy tính trong cùng một mạng vật lýkhông cần sử dụng gateway Việc dẫn đờng trực tiếp chỉ sử dụng phần
Identical Frame
Identical Packet
Identical Message
Identical Frame
Gateway G
Trang 30địa chỉ máy host id trong địa chỉ IP Trạm gửi chỉ việc kết khối dữ liệu vào frame, chuyển địa chỉ IP của trạm đích thành địa chỉ vật lý và gửi trực tiếp frame tới máy nhận.
Một cơ chế sử dụng để chuyển địa chỉ IP thành địa chỉ vật lý là ARP(Address Resolusion Protocol) Khi hai máy tính cùng nối vào mộtmạng vật lý, chúng biết đợc địa chỉ IP của nhau nhng để truyền thônggiữa hai máy, chúng phải biết đợc địa chỉ vật lý của nhau ARP giảiquyết vấn đề chuyển từ địa chỉ IP 32 bit sang địa chỉ Ethernet 48 bit.Ngời ta sử dụng hai cơ chế chuyển địa chỉ là:
Chuyển giao trực tiếp
Chuyển giao gián tiếp
IV.2.1.
II.1.1 Chuyển giao trực tiếp
Địa chỉ vật lý là một hàm của địa chỉ IP ví dụ sử dụng trên mạng tokenring proNET-10 là mạng cho phép đặt địa chỉ IP và địa chỉ vật lý thoảimái Ngời ta có thể đặt địa chỉ IP là 192.5.48.3 và địa chỉ vật lý là 3, khi
đó ta có PA=f(IA) Với PA là địa chỉ vật lý, IA là địa chỉ Internet và f là hàm
chuyển đổi
IV.2.2.
II.1.1 Chuyển giao địa chỉ động
Chuyển giao địa chỉ động đợc thực hiện bằng cách máy tính gửi thôngtin gửi một thông báo tới toàn bộ các máy tính trên mạng, trong thôngbáo đó có chứa địa chỉ IP của máy tính nó cần liên lạc, mọi máy sẽnhận đợc thông báo và máy nào thấy địa chỉ IP của mình thì trả lại mộtthông báo chứa địa chỉ vật lý, khi đó, hai máy tính có thể “nói chuyện”với nhau
ARP Request
Trang 31Ngoài ra, ngời ta còn sử dụng bảng chỉ đờng để lu trữ tạm thời các địa chỉ sử dụng mới nhất (Address Reslution Cache) để tăng tốc độ của việc chuyển giao địa chỉ.
IV.2.3.
II.1.1 Gói tin ARP
Một gói thông tin ARP là một Ethernet Frame đợc truyền trực tiếp từmáy này tới máy khác Vì không phải sử dụng IP, gói tin này không có
địa chỉ IP cũng nh không cần đợc dẫn đờng, nó phải đợc gửi broadcaststới tất cả các máy trên mạng Ethernet (với địa chỉ FF-FF-FF-FF-FF-FF).Gói thông tin ARP đợc mô tả nh sau:
Trang 320 31
Hardware Address SpaceProtocol Address SpaceHardware Address Length Protocol Address Length
Operation CodeSource Hardware Address(Ethernet Address)(Internet Address)
Source Protocol Address
Target Hardware Address(Ethernet Address)
Destination
Address
SourceAddress
Type orLength
(ARP) Data CRC
Không giống phần lớn các giao thức khác, dữ liệu trong ARP không cómột định dạng chuẩn cho header Để ARP có thể làm việc với nhiềucông nghệ khác nhau, ngời ta dùng một trờng để chứa độ dài củanhững trờng đi sau nó
Trong trờng hợp máy trạm không có thiết bị nhớ phụ, và vì vậy nókhông biết địa chỉ IP của chính mình khi khởi động, ngời ta sử dụng cơchế chuyển ngợc địa chỉ (Reverse Address Resolution Protocol -RARP) hoạt động tơng tự ARP để giải quyết vấn đề này Theo cơ chế
đó, có một máy chủ chứa bảng địa chỉ IP của các máy trạm, khi máytrạm khởi động, nó gửi một request tới tất cả các máy và máy chủ gửitrả lại một gói tin chứa địa chỉ IP của máy trạm yêu cầu
Trang 33năng thông tin cho TCP/IP Thông thờng ICMP đợc gửi khi một gói tinkhông thể đi tới đích, một gateway không còn đủ chỗ nhớ để nhận thêmgói tin hay một gateway hớng dẫn máy tính sử dụng gateway khác đểtruyền thông tin theo một con đờng tối u hơn
IV.3.1.
II.1.1 Gói tin ICMP
Mặc dầu mỗi thông báo ICMP có một kiểu định dạng riêng của nó, song các thông báo đều chứa 3 trờng đầu tiên giống nhau:
TYPE: Định nghĩa thông báo đi sau.
Type Field ICMP Message Type
12 Parameter Problem on a Datagram
IV.3.2.
II.1.1 Điều khiển dòng dữ liệu
Khi trạm nguồn gửi dữ liệu tới quá nhanh, trạm đích không kịp xử lý,trạm đích - hay một thiết bị dẫn đờng gửi trả trạm nguồn một thông báo
để nó tạm ngừng việc truyền thông tin
IV.3.3.
II.1.1 Thông báo lỗi
Khi không tìm thấy trạm đích, một thông báo lỗi DestinationUnreachable đợc gateway gửi trả lại trạm nguồn Nếu một số hiệu cổng
Trang 34không phù hợp, trạm đích gửi thông báo lỗi lại cho trạm nguồn (cổng sẽ
đợc trình bày trong phần giao thức tầng giao vận).
IV.3.4.
II.1.1 Định hớng lại
Một gateway gửi thông báo định hớng lại để trạm gửi sử dụng mộtgateway khác bởi vì gateway đó là một lựa chọn thích hợp hơn Trờnghợp này chỉ xảy ra khi trạm gửi nối vào mạng có trên 2 gateway
Ví dụ máy tính B muốn gửi thông tin đến máy C, nếu thông báo đó đếngateway 1, thì gateway 1 phải gửi thông báo redirect máy tính đó quagateway 2 Ngợc lại, mỗi máy tính trên mạng X.25 muốn gửi thông báotới máy tính nằm trên mạng Token Ring thì việc này không cần thiết vìgateway 1 đợc nối trực tiếp với mạng Token Ring
IV.3.5.
II.1.1 Kiểm tra trạm làm việc
Khi một máy tính muốn kiểm tra một máy khác có tồn tại và đang hoạt
động hay không, nó gửi một thông báo Echo Request Khi trạm đíchnhận đợc thông báo đó, nó gửi lại một Echo Reply Lệnh ping của UNIX
sử dụng các thông báo này
IV.4.
Internet là một mạng chuyển mạch gói và để chuyển các gói tin IP trên
mạng, ngời ta sử dụng thuật toán dẫn đờng Thuật toán dẫn đờng đợc
thực hiện bởi tiến trình lựa chọn một đờng để truyền gói tin và việc dẫn
Token Ring
Trang 35đờng cho các gói tin đợc thực hiện bởi mọi máy tính trên đờng đi của
nó
Ngời ta chia việc dẫn đờng trên mạng Internet ra làm 2 kiểu:
Dẫn đờng trực tiếp (direct routing): Dẫn đờng trực tiếp từ máy tínhnày sang máy tính kia chỉ thực hiện đợc khi cả hai máy tính đều kếtnối vào một mạng vật lý Dẫn đờng trực tiếp chỉ sử dụng phần hostidcủa địa chỉ Internet và sử dụng 2 giao thức chuyển địa chỉ ARP vàRARP
Trang 36Tới máy trên mạng Dẫn đờng tới Thông qua cổng
tới đích Dẫn đờng gián tiếp chỉ sử dụng net id trong địa chỉ IP.
Dữ liệu sẽ chuyển từ gateway này tới gateway khác đến khi nó có thể
đợc truyền trực tiếp tới máy nhận Thuật toán dẫn đờng thờng sử dụngbảng dẫn đờng (Internet routing table - IP routing table) trên mỗi máy
Network
12.0.0.0
Network15.0.0.015.0.0.1
Network14.0.0.0
Network
11.0.0.0
Network10.0.0.0
Network16.0.0.0Port 3
23Port1
Port 2 23
14.0.0.212.0.0.2
13.0.0.213.0.0.1
12.0.0.1
15.0.0.213.0.0.4
16.0.0.1
16.0.0.216.0.0.3
11.0.0.1
10.0.0.1
10.0.0.2
Trang 37tính để chứa thông tin về các máy tính và cách đi đến chúng Vì việcdẫn đờng đợc thực hiện bởi cả host và gateway, mỗi thiết bị đều chứamột bảng dẫn đờng Bảng dẫn đờng chứa thông tin về các mạng vàgateway để kết nối đến đó.
Ngời ta sử dụng một kỹ thuật để che dấu thông tin và giảm thiểu kích
thớc của bảng dẫn đờng là sử dụng kỹ thuật dùng gateway ngầm định
(default gateway) Nếu máy tính không tìm thấy địa chỉ đích trong bảngdẫn đờng của nó thì gói tin đợc chuyển tới một thiết bị là defaultgateway Kỹ thuật này đặc biệt thích hợp với trờng hợp mạng máy tính
đợc nối vào Internet thông qua một máy tính duy nhất
Thuật toán dẫn đờng cụ thể cài đặt cho TCP/IP
Mỗi nút mạng có một cơ sở dữ liệu mô tả trạng thái tổng thể của mạng(topo, độ trễ truyền dẫn ) gọi là bảng dẫn đờng Các thông tin này dùngcho việc tính tính các con đờng tối u để chuyển các gói tin đến đích.Chúng đợc cập nhật thờng xuyên sau một khoảng thời gian nào đóhoặc cập nhật mỗi khi có một thay đổi xảy ra
(Một số thuật toán sử dụng cho việc tìm đờng đi tối u đợc trình bày trong phần phụ lục B)
Khi có một gói thông tin đến một máy tính hay gateway, thuật toán dẫn
đờng chạy trên máy tính đó sẽ phân tích địa chỉ đích của gói thông tin
và quyết định truyền nó theo đờng tốt nhất tới đích (dựa vào thông tintrong bảng dẫn đờng) Việc này bao gồm cả cởi gói, chọn đờng, cậpnhật bảng dẫn đờng, đóng gói
Trang 38TÇng giao thøc ngay trªn tÇng Internet lµ TÇng giao vËn (Host-to-HostTransport Layer hay thêng gäi lµ Transport Layer) Hai giao thøc quanträng nhÊt cña tÇng nµy lµ Transmission Control Protocol (TCP) vµUser Datagram Protocol (UDP) TCP cung cÊp dÞch vô chuyÓn giao
Cã tån t¹i default gateway
I
N lµ tªn mét m¹ng trong b¶ng
-+
-
default gateway
Trang 39thông tin có kết nối (connection-oriented), nó bao gồm cả việc kiểm tra
và sửa lỗi UDP cung cấp dịch vụ kém tin cậy hơn (unreliable) vàkhông thiết lập liên kết trớc (connectionless) Cả hai giao thức đềuchuyển giao thông tin giữa tầng ứng dụng và tầng Internet Chơng trìnhứng dụng có thể lựa chọn dịch vụ nào thích hợp với nó
V.1.
UDP cho phép chơng trình ứng dụng truy cập trực tiếp đến gói tin củadịch vụ chuyển giao giống nh dịch vụ mà giao thức IP cung cấp Nó chophép ứng dụng trao đổi thông tin qua mạng với ít thông tin điều khiểnnhất UDP là giao thức không kết nối, kém tin cậy vì nó không có cơchế kiểm tra tính đúng đắn của dữ liệu truyền
V.1.1.
II.1.1 Gói thông tin UDP
Typefield
IPheader
Trang 40Mỗi gói thông tin UDP gọi là một Datagram đợc phân làm 2 phầnheader và data trong đó header chứa thông tin về địa chỉ cổng nguồn,
địa chỉ cổng đích, độ dài của gói và checksum
V.1.2.
II.1.1 Phân kênh, hợp kênh và Ports
Phân kênh, hợp kênh chính là việc lựa chọn những tiến trình ứng dụngtrong một số lớn các tiến trình sử dụng giao thức UDP, và cần chọn ranhững ứng dụng tơng ứng với gói thông tin chuyển đến
Việc này đợc giải quyết bằng cơ chế cổng (Port mechanism) cơ chế này gắn mỗi ứng dụng với một con số gọi là số hiệu cổng (Port number)
và mỗi gói thông tin mà ứng dụng gửi đi đều mang một trờng SOURCEPORT
Tại nơi nhận, dựa vào thông tin trong trờng DESTINATION PORT màgói tin đó đợc truyền đến cổng tơng ứng với ứng dụng Ví dụ mọi bảnTCP/IP đều có dịch vụ FTP (File Transfer Protocol) gắn với cổng 21 vàTFTP (Trivial File Transfer Protocol) gắn với cổng 69 của UDP
Việc sử dụng các port number cũng có nhiều cách
Dùng những cổng dành riêng cho từng ứng dụng đã đợc đăng ký trớc(Well-known port assignment)
Một port number sẽ đợc sinh ra khi có một ứng dụng đòi hỏi(Dynamic binding)
Cách tiếp cận kết hợp các kiểu trên (Hybird) vừa sử dụng known port assignment cho một số port number vừa có thể địnhnghĩa các port number khác khi cần thiết Các port number thôngdụng của UDP thờng đợc dành chỗ từ 1 tới 255 Một số hệ điều
UDP: Demultiplexing Based on Port
IP LayerUDP Datagram arrives