Ebook Kiến thức mạng căn bản

Chương I. Mạng máy tính

I. Mạng máy tính . 5

II. Phân loại mạng máy tính. 5

II.1. Phân loại theo kiến trúc (topology) của mạng. 5

II.1.1. Mạng điểm-điểm (point-to-point network). 6

II.1.2. Mạng quảng bá (broadcast network). 6

II.2. Phân loại theo phương thức chuyển mạch (Swiched Method) . 7

II.2.1. Chuyển mạch kênh (Circuit Swiched Network) . 7

II.2.2. Chuyển mạch tin báo (Message Swiched Network) . 7

II.2.3. Chuyển mạch gói (Packed Swiched Network). 7

II.3. Phân loại theo phạm vi hoạt động. 7

II.3.1. Mạng LAN (Local Area Network). 7

II.3.2. Mạng MAN (Metropolian Area Network) . 7

II.3.3. Mạng WAN (Wide Area Network). 8

II.3.4. Liên mạng (internet). 8

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 . 11

II. Mô hình tham chiếu OSI . 11

II.1. Giới thiệu mô hình OSI . 11

II.2. Các tầng của mô hình OSI . 13

II.2.1. Tầng vật lý (Physical layer) . 13

II.2.2. Tầng liên kết dữ liệu (Data link layer) . 14

II.2.3. Tầng mạng (Network layer). 14

II.2.4. Tầng giao vận (Transport layer). 14

II.2.5. Tầng phiên (Session layer). 15

II.2.6. Tầng trình diễn (Presentation layer). 15

II.2.7. Tầng ứng dụng (Application layer) . 15

II.3. Những vấn đề về OSI. 16

III. Kiến trúc giao thức IPX/SPX. 16

III.1. Kiến trúc giao thức IPX/SPX. 17

III.2. Gói tin IPX. 18

III.3. Cơ chế hoạt động của Novell Netware . 18

Chương III. Bộ Giao thức TCP/IP

I. Bộ giao thức TCP/IP . 20

II. Kiến trúc của bộ giao thức TCP/IP . 21

II.1. Kiến trúc phân tầng của TCP/IP . 21

II.2. Cơ chế địa chỉ Internet . 24

II.2.1. Địa chỉ lớp A . 25

II.2.2. Địa chỉ lớp B . 26

II.2.3. Địa chỉ lớp C . 26

II.3. Mạng con và Subnet mask. 26

III. Tầng mạng (Network Layer). 28

IV. Tầng Internet (Internet Layer). 29

IV.1. Gói tin IP . 30

IV.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) . 33

IV.2.1. Chuyển giao trực tiếp . 33

IV.2.2. Chuyển giao địa chỉ động. 33

IV.2.3. Gói tin ARP . 34

IV.3. Giao thức điều khiển truyền tin (Internet Control Message Protocol - ICMP) . 36

IV.3.1. Gói tin ICMP . 36

IV.3.2. Điều khiển dòng dữ liệu. 37

IV.3.3. Thông báo lỗi. 37

IV.3.4. Định hướng lại . 37

IV.3.5. Kiểm tra trạm làm việc . 38

IV.4. Thuật toán dẫn đường . 38

V. tầng giao vận . 42

V.1. Giao thức không kết nối (User Datagram Protocol - UDP) . 42

V.1.1. Gói thông tin UDP . 42

V.1.2. Phân kênh, hợp kênh và Ports. 43

V.2. Giao thức điều khiển truyền tin (Transmission Control Protocol - TCP) . 45

V.2.1. Gói tin TCP . 48

V.2.2. Cổng, kết nối và điểm kết nối. 48

VI. Tầng ứng dụng của TCP/IP . 50

VI.1. Dịch vụ tên miền (Domain Name Service - DNS). 50

VI.2. Đăng nhập từ xa (Telnet) . 52

VI.3. Thư điện tử (Electronic Mail). 53

VI.4. Giao thức truyền tệp (File Transfer Protocol - FTP) . 55

VI.5. Nhóm tin (News groups). 56

VI.6. Tìm kiếm tệp (Archie) . 56

VI.7. Tra cứu thông tin theo thực đơn (Gopher) . 56

VI.8. Tìm kiếm thông tin theo chỉ số (WAIS) . 56

VI.9. Siêu văn bản (WWW) . 57

Chương IV. Xây dựng chương trình truyền tệp

I. Giao diện lập trình. 58

I.1. Giao diện lập trình . 58

I.2. Network I/O và file I/O. 59

I.3. Làm việc với Socket . 60

I.3.1. Socket. 60

I.3.2. Địa chỉ Socket. 61

I.3.3. Một số lời gọi tạo lập socket. 63

I.3.4. Một số lời gọi gửi dữ liệu qua socket . 67

I.3.5. Một số lời gọi nhận dữ liệu từ socket . 68

II. Mô hình Client-Server . 69

II.1. Mô hình Client-Server sử dụng dịch vụ không kết nối . 70

II.2. Mô hình Client-Server sử dụng dịch vụ hướng kết nối . 71

III. Xây dựng chương trình truyền tệp . 72

III.1. Thiết kế và cài đặt chương trình . 72

III.1.1. Giao thức ứng dụng được xây dựng và sử dụng trong chương trình . 72

III.1.2. Cài đặt chương trình . 74

III.2. Một số vấn đề nảy sinh trong quá trình thực hiện và cách giải quyết77

III.2.1. Vấn đề chuyển đổi tệp giữa hai hệ điều hành. . 77

III.2.2. Vấn đề về một số lệnh tương tác . 79

Phụ lụca. Một số mạng cục bộ

I. Mạng Ethernet và IEEE 802.3 . 81

II. Mạng Token-Pasing Rings (IEEE 802.5) . 81

III. Mạng Token-Passing Busses (IEEE 802.4) . 83

Phụ lụcB. 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 . 85

II. Giải thuật Ford& Fulkerson cho việc chọn đường phân tán. 86

Phụ lụcC. Văn bản chương trình (Phần client)

I. Chương trình chính (main.c). 88

II. Thư viện sử dụng (Socket.c) . 94

pdf101 trang | Chia sẻ: maiphuongdc | Lượt xem: 3562 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Ebook Kiến thức mạng căn bản, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
on Request 16 Information Reply 17 Address Mask Request 18 Address Mask Reply IV.3.2. Đ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. Thông báo lỗi Khi không tìm thấy trạm đích, một thông báo lỗi Destination Unreachable được gateway gửi trả lại trạm nguồn. Nếu một số hiệu cổng khô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. Đị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ột gateway khác bởi vì gateway đó là một lựa chọn thích hợp hơn. Trường hợ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 đó đến gateway 1, thì gateway 1 phải gửi thông báo redirect máy tính đó qua gateway 2. Ngược lại, mỗi máy tính trên mạng X.25 muốn gửi thông báo tớ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. Generated by Foxit PDF Creator â Foxit Software For evaluation only. 38 IV.3.5. 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 đích nhậ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. Thuật toán dẫn đường 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 đườ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ính này sang máy tính kia chỉ thực hiện được khi cả hai máy tính đều kết nối vào một mạng vật lý. Dẫn đường trực tiếp chỉ sử dụng phần hostid của địa chỉ Internet và sử dụng 2 giao thức chuyển địa chỉ ARP và RARP. X.25 Ethernet Gateway 1 Gateway 2 Host B Host C Host A Token Ring Generated by Foxit PDF Creator â Foxit Software For evaluation only. 39 Tới máy trên mạng Dẫn đường tới Thông qua cổng 10.0.0.0 Direct 2 11.0.0.0 Direct 1 12.0.0.0 11.0.0.2 1 13.0.0.0 Direct 3 14.0.0.0 13.0.0.2 3 15.0.0.0 10.0.0.2 2 16.0.0.0 10.0.0.2 2 Bảng dẫn đường trên gateway 8  Dẫn đường gián tiếp (indirect routing): Khi trạm đích không cùng nằm trên một mạng với trạm gửi cần thông qua gateway để truyền đi. Trạm gửi Network 12.0.0.0 Network 15.0.0.0 15.0.0.1 Network 14.0.0.0 Gateway 5 Gateway 6 Gateway 7 Gateway 4 Gateway 8 Gateway 3 Gateway 2 Gateway 1 Network 13.0.0.0 Network 11.0.0.0 Network 10.0.0.0 Network 16.0.0.0 Port 3 23 Port1 Port 2 23 14.0.0.1 12.0.0.3 14.0.0.2 12.0.0.2 13.0.0.2 13.0.0.1 12.0.0.1 11.0.0.2 13.0.0.3 15.0.0.2 13.0.0.4 16.0.0.1 16.0.0.2 16.0.0.3 11.0.0.1 10.0.0.1 10.0.0.2 Generated by Foxit PDF Creator â Foxit Software For evaluation only. 40 phải đóng gói thông tin và gửi tới một gateway để chuyển 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ụng bảng dẫn đường (Internet routing table - IP routing table) trên mỗi máy tính để chứa thông tin về các máy tính và cách đi đến chúng. Vì việc dẫn đường được thực hiện bởi cả host và gateway, mỗi thiết bị đều chứa mộ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ảng dẫn đường của nó thì gói tin được chuyển tới một thiết bị là default gateway. 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ùng cho 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 tin trong bảng dẫn đường). Việc này bao gồm cả cởi gói, chọn đường, cập nhật bảng dẫn đường, đóng gói ... Generated by Foxit PDF Creator â Foxit Software For evaluation only. 41 Tách địa chỉ mạng đích (IN) từ địa chỉ đích (ID) IN nối trực tiếp vào mạng ID là tên một máy tính trong bảng Có tồn tại default gateway IN là tên một mạng trong bảng - + - - - + + + Chuyển trực tiếp qua mạng Chuyển theo thông tin trong bảng Gửi thông báo lỗi Cập nhật bảng dẫn đường Kết thúc thuật toán dẫn đường Chuyển tới default gateway Generated by Foxit PDF Creator â Foxit Software For evaluation only. 42 V. tầng giao vận Tầng giao thức ngay trên tầng Internet là Tầng giao vận (Host-to-Host Transport Layer hay thường gọi là Transport Layer). Hai giao thức quan trọ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 thô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 đều chuyể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. Giao thức không kết nối (User Datagram Protocol - UDP) UDP cho phép chương trình ứng dụng truy cập trực tiếp đến gói tin của dịch vụ chuyển giao giống như dịch vụ mà giao thức IP cung cấp. Nó cho phép ứng dụng trao đổi thông tin qua mạng với ít thông tin điều khiển nhấ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. Gói thông tin UDP 0 31 Source port Destination port Message length checksum Data Destination Address Source Address Type field IP header UDP data CRC Generated by Foxit PDF Creator â Foxit Software For evaluation only. 43 Mỗi gói thông tin UDP gọi là một Datagram được phân làm 2 phần header 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. 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ụng trong một số lớn các tiến trình sử dụng giao thức UDP, và cần chọn ra nhữ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 SOURCE PORT. 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ản TCP/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). Port 1 Port 2 Port 3 UDP: Demultiplexing Based on Port IP Layer UDP Datagram arrives Generated by Foxit PDF Creator â Foxit Software For evaluation only. 44  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 Well-known port assignment cho một số port number vừa có thể định nghĩa các port number khác khi cần thiết. Các port number thông dụng của UDP thường được dành chỗ từ 1 tới 255. Một số hệ điều hành (như 4.3 BSD UNIX) còn dành chỗ tới port number 1023, các port number có thể sử dụng được là từ số 1024 trở lên. Một số cổng UDP dành riêng 0 Reserved 7 Echo 9 Discard 11 Active users 13 Daytime 15 Who is up or NETSTAT 17 Quote of the day 19 Character generator 37 Time 42 Name server 43 Who is 53 Domain name server 67 Boottrap protocol server 68 Boottrap protocol client 69 Trivial File Tranfer Protocol ( TFTP) 111 Sun RPC 123 Network time protocol 161 SNMP net monitor Generated by Foxit PDF Creator â Foxit Software For evaluation only. 45 162 SNMP traps 512 UNIX comsat 513 UNIX rwho process 514 System log 525 Timed Có một số lý do để người lập trình ứng dụng lựa chọn UDP như một dịch vụ giao vận:  Nếu một số lượng lớn các gói tin nhỏ được truyền, thông tin cho việc kết nối và sửa lỗi có thể lớn hơn nhiều so với thông tin cần truyền. Trong trường hợp này, UDP là giải pháp hiệu quả nhất.  Những ứng dụng kiểu "Query-Response" cũng rất phù hợp với UDP, câu trả lời có thể dùng làm sự xác nhận của một câu hỏi. Nếu không nhận được sự trả lời sau một thời gian nào đó, ứng dụng chỉ cần gửi đi một câu hỏi khác.  Một số ứng dụng đã tự nó cung cấp công nghệ riêng để chuyển giao thông tin tin cậy, và không đòi hỏi dịch vụ này của transport layer. V.2. Giao thức điều khiển truyền tin (Transmission Control Protocol - TCP) Một số ứng dụng đòi hỏi giao thức giao vận cung cấp dịch vụ chuyển giao thông tin tin cậy sử dụng TCP bởi nó cung cấp dịch vụ kiểm tra đúng đắn và dữ liệu được truyền với một sự phối hợp thích hợp. Một số đặc điểm của dịch vụ tin cậy mà TCP cung cấp là:  Hướng dòng (Stream Orientation): TCP coi dữ liệu nó gửi đi là một dòng byte không phải là gói tin. Do đó, TCP đảm bảo số thứ tự của các byte gửi nhận. Trường Sequence number và Acknowledgment number trong header của TCP giữ dấu của các byte trong toàn bộ dòng dữ liệu truyền. TCP chuẩn không bắt hệ thống phải sử dụng một số đặc biệt nào để đánh số dòng byte, mỗi hệ thống tự chọn một số mà nó sẽ dùng làm điểm bắt Generated by Foxit PDF Creator â Foxit Software For evaluation only. 46 đầu. Mỗi trạm cuối phải biết số thứ tự mà trạm kia dùng. Chúng phải trao đổi một segment để đồng bộ hệ thống số sẽ được sử dụng (Synchronize sequenence number - SYN) trong quá trình bắt tay. Trường Sequent number trong SYN segment chứa số bắt đầu (ISN) của dòng số đánh thứ tự, số này được chọn ngẫu nhiên. Mỗi byte trong dữ liệu được giữ dấu bởi số ISN do đó byte đầu tiên của dữ liệu mang số ISN+1. Sequent number chứa vị trí của dòng byte trong gói tin nếu ISN=0 và 4000 byte đã được chuyển giao thì con số tiếp theo sẽ là 4001.  Chuyển giao bộ đệm (Buffered Transfer): Để giảm số lượng truyền thông, giao thức cố gắng sử dụng số lượng tối thiểu các segment để truyền tải thông tin, do vậy, giao thức sử dụng tối đa độ dài có thể của segment. Trường window trong TCP header cho biết số byte tối đa mà trạm đích có thể nhận được, nếu trạm đích có khả năng chấp nhận 6000 byte thì trường window sẽ là 6000, trạm gửi có thể điều chỉnh lại dữ liệu cho phù hợp. Nếu trường window mang giá trị 0 có nghĩa là trạm gửi phải chờ tới khi nhận được một số khác 0.  Kết nối hai chiều (Full Duplex Connection): TCP/IP cung cấp kết nối cho cả hai đầu của liên kết. Điều này có nghĩa là tầng phía dưới cung cấp khả năng gửi trả thông báo từ trạm đích trở lại trạm nguồn. TCP là giao thức hướng kết nối. Nó thiết lập quan hệ logic giữa 2 trạm tham gia liên kết. Thông tin điều khiển gọi là handshake được trao đổi giữa 2 trạm để thiết lập hội thoại trước khi thông tin được truyền. TCP chỉ dẫn chương trình điều khiển của một segment bằng cách đặt một bit dành riêng của cờ tại word thứ 4 của segment header. Kiều bắt tay của TCP gọi là three way handshake bởi vì 3 segment được trao đổi. Trạm A bắt đầu kết nối bằng cách gửi một segment với bit Synchronize sequenence number (SYN). Segment này báo cho trạm B thứ tự trạm A sẽ sử dụng cho những segment của nó gửi, số thứ tự này đảm bảo cho dữ liệu một trật tự thích hợp. Trạm B đáp lại trạm B với một segment với bit Acknowledgment (ACK) và Generated by Foxit PDF Creator â Foxit Software For evaluation only. 47 SYN được đặt. Segment của B thông báo rằng nó đã nhận được thông báo của A và báo cho A biết số thứ tự mà nó sẽ sử dụng. Cuối cùng, A gửi một segment báo cho B nó đã nhận được thông báo và truyền gói dữ liệu đầu tiên. Chú ý rằng, gói tin thứ nhất chứa bit SYN và các gói tiếp theo chứa bit ACK. Sau khi trao đổi, trạm A xác định hiển nhiên trạm đích tồn tại và đã sẵn sàng nhận dữ liệu. Ngay sau khi kết nối được thiết lập, dữ liệu có thể truyền. Khi kết thúc hợp tác truyền giao dữ liệu, chúng sẽ trao đổi three way hanshake chứa bit thông báo hết dữ liệu truyền No more data from sender gọi là (FIN) để kết thúc kết nối. Đó là sự trao đổi giữa hai trạm cung cấp một kết nối logic giữa hai hệ thống. TCP cung cấp dịch vụ tin cậy với một cơ chế gọi là "Positive Ackowledgment with Retransmission" (PAR). Đơn giản là trạm nguồn tiếp tục gửi thông tin đi cho tới khi nó nhận được thông báo dữ liệu đã được nhận chính xác tại trạm đích. Đơn vị thông tin chuyển giao giữa các ứng dụng gọi là segment, mỗi segment chứa checksum để đảm bảo rằng segment không bị phá huỷ trên đường truyền, nếu segment không bị phá huỷ, trạm nhận gửi thông báo xác nhận lại trạm gửi, nếu segment bị phá huỷ, trạm nhận huỷ bỏ nó và sau một thời gian nào đó, trạm gửi sẽ gửi lại gói tin mà nó không nhận được thông báo xác nhận. Thông tin trên mạng Tại trạm gửi Tại trạm nhận Receive ACK 1 Receive ACK 2 Send Paket 1 Send ACK 1 Send ACK 2 Send Paket 2 Receive Paket 1 Receive Paket 2 Generated by Foxit PDF Creator â Foxit Software For evaluation only. 48 V.2.1. Gói tin TCP 0 4 8 12 20 24 28 31 Source Port Desstination Port Sequence Number Acknowledgment Number Offset Reserved Flags Window Checksum Urgent Pointer Opions Padding Data Destination Address Source Address Type field IP header TCP Segment CRC Gói tin TCP chứa trong một Ethernet frame  Source Port Cổng nguồn  Destination Port Cổng đích  Sequence Number Số thứ tự của gói tin  Offset Số thứ tự của byte đầu tiên  Reserved Để dành  Flags Cờ chỉ dẫn  Window Số byte tối đa trạm đích có thể nhận  Checksum Checksum kiểm tra tính toàn vẹn  Urgent Pointer Độ dài dữ liệu khẩn đi sau  Option Tuỳ chọn  Padding Phần điền thêm vào các con số 0  Data Dữ liệu bắt đầu tại đây V.2.2. Cổng, kết nối và điểm kết nối TCP cũng dùng các port number để gán cho các ứng dụng và cho phép truy cập tới các ứng dụng này thông qua các port number đó. Cổng TCP dành riêng Generated by Foxit PDF Creator â Foxit Software For evaluation only. 49 0 Reserved 1 TCP multiplexor 5 RJE 7 Echo 9 Discard 11 Active users 13 Daytime 15 Network status program 17 Quote of the day 19 Character generator 20 FTP - data connection 21 FTP - command connection 23 TELNET 25 Simple mail transport protocol 37 Time 42 Name server 43 Who is 53 Domain name server 77 Any private RJE server 79 Finger - find a active user 93 Device control protocol 95 SUPDUP protocol 101 Network info.center host name server 102 OSI - transport service access point 103 X.400 mail service 104 X.400 mail sending 111 Sun microsystems remote procedural call 113 Authentication service 117 UNIX to UNIX copy(UUCP)path service 119 Usenet news tranfer protocol Generated by Foxit PDF Creator â Foxit Software For evaluation only. 50 129 Password generater protocol 139 NetBIOS session service 160-223 Reserved Tuy cũng dùng các port number để định danh cho các ứng dụng nhưng một cổng không đủ để định danh cho một thực thể duy nhất trên mạng, TCP là một giao thức hướng kết nối do đó nó cần phải định danh cho cả hai đầu của liên kết. TCP đưa ra định nghĩa endpoint là một cặp số nguyên (host, port) trong đó, host là địa chỉ IP của một máy tính còn port là port number mà máy tính đó sử dụng. Ví dụ: (190.2.2.1,23) định nghĩa cổng 23 cho máy tính có địa chỉ IP là 190.2.2.1. Chúng ta sẽ quay lại với khái niệm endpoint trong chương sau. VI. Tầng ứng dụng của TCP/IP Phần lớn người sử dụng chỉ quan tâm tới các dịch vụ thông tin được cung cấp trên Internet. Các ứng dụng có sớm nhất của Internet là Telnet, FTP, SMTP, DNS ngoài ra ngày nay có hàng ngàn ứng dụng khác đang phát triển và ngày một nhiều. Sau đây chúng ta tìm hiểu và phân tích một số ứng dụng của Internet. VI.1. Dịch vụ tên miền (Domain Name Service - DNS) Việc định vị các máy tính trên mạng bằng các địa chỉ IP có nhiều lợi điểm như đã trình bày ở phần trên, tuy nhiên với người sử dụng, việc nhớ các con số đó là một việc tẻ nhạt khó chịu. Hơn nữa, địa chỉ IP không mang thông tin về địa lý, tổ chức hay người dùng. Vì thế, người ta xây dựng hệ thống đặt tên gọi là Domain Name Server để cung cấp cho người dùng cách đặt tên cho các máy tính với cách đặt tên thông thường quen thuộc. Một domainame thông thường có dạng: Tên_người_dùng@Tên_miền với tên miền được phân làm các cấp nối với nhau bởi dấu “.”. Tên miền được NIC cung cấp. Generated by Foxit PDF Creator â Foxit Software For evaluation only. 51 Tên miền cao nhất là cấp quốc gia được đặt bởi 2 chữ cái:  ar: Argentina  at: Austria  au: Australia  be: Belgium  ca: Canada  cn: China  de: Germany  es: Spain  fr: France  gb: Great britain  hk: Honkong  il: Israel  it: Italy  jp: Japan  kr: Korea  lu: Luxembourg  my: Malaysia  no: Norway  vn: Việt nam  ....... nếu không có gì thì được hiểu như thuộc USA Mức tiếp theo chỉ lãnh vực hoạt động:  edu: giáo dục  gov: chính phủ  com: thương mại Generated by Foxit PDF Creator â Foxit Software For evaluation only. 52  mil: quân sự  org: các tổ chức phi lợi nhuận  net: các tổ chức phát triển mạng Sau đó có thể là tên công ty và tên máy tính. Một máy tính có thể có nhiều tên nhưng trên mạng, mỗi tên là duy nhất. Việc ánh xạ địa chỉ IP vào tên miền được thực hiện bởi các Name Server cài đặt tại máy Server và Name Resolver cài đặt trên máy trạm. VI.2. Đăng nhập từ xa (Telnet) Telnet cho phép người sử dụng từ một trạm làm việc của mình có thể đăng nhập (login) vào một trạm xa như là một đầu cuối (teminal) nối trực tiếp với trạm xa đó. vn fpt vdc com edu gov mil org nic hut vnuh fit Phân cấp domain name Generated by Foxit PDF Creator â Foxit Software For evaluation only. 53 Để đăng nhập vào một máy tính ta đánh lệnh: telnet [domain name | IP address] VI.3. Thư điện tử (Electronic Mail) Đây là một dịch vụ phổ biến nhất trên Internet trước khi World Wide Web ra đời, thông qua dịch vụ này, người sử dụng trên mạng có thể trao đổi các thông báo cho nhau trên phạm vi thế giới. Đây là một dịch vụ mà hầu hết các mạng diên rộng đều cài đặt và cũng là dịch vụ cơ bản nhất của một mạng khi gia nhập Internet. Nhiều người sử dụng máy tính tham gia mạng chỉ dùng duy nhất dịch vụ này. Dịch vụ này sử dụng giao thức SMTP (Simple Mail Transfer Protocol) trong họ giao thức TCP/IP. Thư điện tử là phương thức trao đổi thông tin nhanh chóng và thuận tiện. Người sử dụng có thể trao đổi những bản tin ngắn hay dài chỉ bằng một phương thức duy nhất. Rất nhiều người sử dụng thường truyền tập tin thông qua thư điện tử chứ không phải bằng các chương trình truyền tập tin thông thường. TCP/IP Internet User’s Terminal Hệ điều hành Telnet Client Hệ điều hành Telnet Server Server gửi thông báo tới máy tính thực hiện Server nhận thông báo từ client Client gửi thông báo đến server Client đọc từ trạm cuối Generated by Foxit PDF Creator â Foxit Software For evaluation only. 54 Đặc điểm của dịch vụ thư điện tử là không tức thời (off-line) - tất cả các yêu cầu gửi đi không đòi hỏi phải được xử lý ngay lập tức. Khi người sử dụng gửi một bức thư, hệ thống sẽ chuyển thư này vào một vùng riêng (gọi là spool) cùng với các thông tin về người gửi, người nhận, địa chỉ máy nhận... Hệ thống sẽ chuyển thư đi bằng một chương trình chạy nền (background). Chương trình gửi thư này sẽ xác định địa chỉ IP máy cần gửi tới, tạo một liên kết với máy đó. Nếu liên kết thành công, chương trình gửi thư sẽ chuyển thư tới vùng spool của máy nhận. Nếu không thể kết nối với máy nhận thì chương trình gửi thư sẽ ghi lại những thư chưa được chuyển và sau đó sẽ thử gửi lại một lần nó hoạt động. Khi chương trình gửi thư thấy một thư không gửi được sau một thời gian quá lâu (ví dụ 3 ngày) thì nó sẽ trả lại bức thư này cho người gửi. Mọi thư trên Internet đều tuân theo một dạng chuẩn. Bao gồm phần header chứa địa chỉ người gửi, địa chỉ người nhận dạng domain name và sau đó là phần nội dung thư. Cả hai phần đều là các ký tự ASCII chuẩn. Thư chuyển trên mạng và đến được đích là nhờ vào thông tin chứa trong phần header của thư. Ban đầu thư điện tử chỉ nhằm mục đích trao đổi các thông báo (thực chất là các tệp văn bản) giữa người sử dụng với nhau. Dần dần người ta đã phát triển thêm các biến thể trên nó để phục vụ người sử dụng tốt hơn hoặc dùng cho những mục đích riêng biệt. Đó là các dịch vụ thông tin dựa trên thư điện tử. Thực chất của các dịch vụ này là sử dụng thư có nội dung tuân theo một cú pháp đặc biệt thể hiện yêu cầu của người sử dụng. Các thư này được gửi tới một người sử dụng đặc biệt là các server, các server này phân tích nội dung thư, thực hiện các yêu cầu rồi gửi trả lại kết quả cho người yêu cầu cũng dưới dạng thư điện tử. Có hai server phổ biến trong hoạt động này là Generated by Foxit PDF Creator â Foxit Software For evaluation only. 55  name server cung cấp dịch vụ tra cứu địa chỉ trên mạng  archive server cho phép người sử dụng tìm kiếm và lấy về những tệp tin dùng chung. VI.4. Giao thức truyền tệp (File Transfer Protocol - FTP) Đây là một phương pháp sao chép tệp từ một máy tính ở xa về máy tính của người dùng ta có thể ngồi tại máy tính của mình truyền hoặc lấy file trên một máy chủ nào đó Ví dụ lấy tệp nettcp.c trên máy chủ sco5 về máy tính của mình: $ ftp sco5 Connected to sco5. 220- 220 sco5.cse.com.vn FTP server (Version 2.1WU(1)) ready. Name(none): binhnn 331 Password required for binhnn. Password: 230 User binhnn logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> get nettcp.c local: nettcp.c remote: nettcp.c 200 PORT command successful. 150 Opening BINARY mode data connection for nettcp.c (46 bytes). 226 Transfer complete. 46 bytes received in 0 seconds (0.04 Kbytes/s) ftp> bye 221 Goodbye. $ Generated by Foxit PDF Creator â Foxit Software For evaluation only. 56 VI.5. Nhóm tin (News groups) News groups là những nhóm người dùng thảo luận trực tuyến. Mỗi người gửi những bài bình luận về một vấn đề nào đó, tạo thành một nhóm thảo luận, những nhóm tin cho phép người dùng tiếp xúc với hàng triệu người trên thế giới có cùng mối quan tâm. Internet có gần 20.000 nhóm tin như vậy VI.6. Tìm kiếm tệp (Archie) Do trên Internet hiện nay có khoảng trên 3 triệu tệp và hàng nghìn ftp server và số lượng đó ngày càng tăng nhanh. Archie là một dịch vụ giúp đỡ tìm kiếm các tệp tin khác nhau theo một số các thông tin nào đó. Thông thường dịch vụ này cho phép tìm kiếm tệp theo tên hoặc một xâu con của tên tệp. Nó chưa cho phép tìm kiếm theo chủ đề hay nội dung. Tuy vậy nó trợ giúp cho ftp rất nhiều để có thể lấy tệp dễ dàng hơn. VI.7. Tra cứu thông tin theo thực đơn (Gopher) Sử dụng giao thức Gopher protocol để tìm kiếm tài nguyên của mạng. Dịch vụ này cho phép tìm kiếm và tra cứu thông tin theo chủ đề của thông tin. Việc tra cứu này được thực hiện qua hệ thống thực đơn thân thiện hơn với người sử dụng. Nó có ưu điểm là có thể tra cứu trên nhiều máy chủ cùng một lúc. Hạn chế của Gopher là hiển thị thông tin quá tóm tắt, các chức năng cung cấp trong thực đơn còn chưa nhiều. VI.8. Tìm kiếm thông tin theo chỉ số (WAIS) Khác với Gopher tìm kiếm thông tin qua các đề mục định sẵn, WAIS cho phép nguời dùng tìm kiếm các tệp dữ liệu có chứa các xâu định trước. Ngoài các ứng

Các file đính kèm theo tài liệu này:

  • pdfkien_thuc_mang_can_ban_3266.pdf
Tài liệu liên quan