Luận văn Tìm hiểu về mạng máy tính

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 theophạ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ứctruyền thông.11

II. Mô hình thamchiế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).13

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

II.2.4. Tầng giao vận (Transportlayer) .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 giaothức IPX/SPX.16

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

III.2. Gói tin IPX .17

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

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

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

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

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

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

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

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

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

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

IV.1. Gói tin IP .29

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) .32

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

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

IV.2.3. Gói tin ARP.33

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

ư ICMP).35

IV.3.1. Gói tin ICMP.35

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

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

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

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

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

V. tầng giao vận.41

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

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

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

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

V.2.1. Gói tin TCP.46

V.2.2. Cổng, kết nốivà điểmkết nối.47

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

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

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

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

VI.4. Giao thức truyền tệp (FileTransfer Protocol ư FTP) .54

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

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

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

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

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

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

I. Giao diệnlập trình.57

I.1. Giao diệnlập trình .57

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

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

I.3.1. Socket .59

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

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

I.3.4. Một số lời gọi gửi dữ liệu quasocket.66

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

II. Mô hình ClientưServer .68

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

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

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

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

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

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

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

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

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

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

I. Mạng Ethernetvà IEEE 802.3 .81

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

III. Mạng TokenưPassing Busses (IEEE 802.4).82

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

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

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

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

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

pdf101 trang | Chia sẻ: maiphuongdc | Lượt xem: 2632 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Tìm hiểu về mạng máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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. Luận văn tốt nghiệp Nguyễn Nhật Bình 37 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 Luận văn tốt nghiệp Nguyễn Nhật Bình 38 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 Port1 Port 2 14.0.0.112.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 Luận văn tốt nghiệp Nguyễn Nhật Bình 39 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 ... Luận văn tốt nghiệp Nguyễn Nhật Bình 40 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 Luận văn tốt nghiệp Nguyễn Nhật Bình 41 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 Luận văn tốt nghiệp Nguyễn Nhật Bình 42 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). • Một port number sẽ đ−ợc sinh ra khi có một ứng dụng đòi hỏi (Dynamic binding). Port 1 Port 2 Port 3 UDP: Demultiplexing Based on Port IP Layer UDP Datagram arrives Luận văn tốt nghiệp Nguyễn Nhật Bình 43 • 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 162 SNMP traps 512 UNIX comsat 513 UNIX rwho process Luận văn tốt nghiệp Nguyễn Nhật Bình 44 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 đầ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 Luận văn tốt nghiệp Nguyễn Nhật Bình 45 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à 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 Luận văn tốt nghiệp Nguyễn Nhật Bình 46 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. V.2.1. Gói tin TCP 0 4 8 12 20 24 28 31 Source Port Desstination Port Thông tin trên mạngTạ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 Luận văn tốt nghiệp Nguyễn Nhật Bình 47 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 0 Reserved 1 TCP multiplexor 5 RJE 7 Echo Luận văn tốt nghiệp Nguyễn Nhật Bình 48 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 129 Password generater protocol 139 NetBIOS session service 160-223 Reserved Luận văn tốt nghiệp Nguyễn Nhật Bình 49 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. 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 Luận văn tốt nghiệp Nguyễn Nhật Bình 50 • 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 • 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 Luận văn tốt nghiệp Nguyễn Nhật Bình 51 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 comedu gov mil org nic hut vnuh fit Phân cấp domain name Luận văn tốt nghiệp Nguyễn Nhật Bình 52 Để đă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 Luận văn tốt nghiệp Nguyễn Nhật Bình 53 Đặ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à • name server cung cấp dịch vụ tra cứu địa chỉ trên mạng Luận văn tốt nghiệp Nguyễn Nhật Bình 54 • 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. $ Luận văn tốt nghiệp Nguyễn Nhật Bình 55 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 dụng client, server WAIS còn có một phần đặc biệt là indexer làm nhiệm vụ cập nhật các tài liệu mới, sắp xếp chúng d−ới dạng thích hợp để thuận tiện cho việc tìm kiếm. WAIS server khi nhận đ−ợc câu hỏi của client sẽ tìm kiếm trong cơ sở dữ liệu tạo ra bởi indexer và trả lời cho client. Luận văn tốt nghiệp Nguyễn Nhật Bình 56 VI.9. Siêu văn bản (WWW) Ng−ời ta nói rằng WWW là linh hồn của Internet vì nó cung cấp cho ng−ời dùng một giao diện lý t−ởng khi làm việc với Internet. Ng−ời dùng máy tính không cần có hiểu biết sâu về máy tính cũng có thể sử dụng nó nh− một công cụ đắc lực để ngồi tại nhà xem toàn bộ thế giới với số l−ợng thông tin đồ sộ đ−ợc cập nhật từng giây. WWW dựa t

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

  • pdfTim.hieu.mang.may.tinh.pdf