Đề tài Mạng máy tính và giao thức TCP/IP

MỤC LỤC

CHƯƠNG I : GIỚI THIỆU VỀ MẠNG MÁY TÍNH

1.1. CÁC LỢI ÍCH CỦA MẠNG MÁY TÍNH

1.2. CÁC MÔ HÌNH MẠNG MÁY TÍNH.

1.3. CÁC LOẠI TOPOLOGY CỦA MẠNG MÁY TÍNH

1.4. CÁC THIẾT BỊ MẠNG

1. Máy chủ (Server)

2. Trạm làm việc (Workstation)

3. Card mạng

4. Cáp mạng

5. Repeater

6. Hub

7. Bridge

8. Switch

9. Rounter

1.5. CÁC HỆ ĐIỀU HÀNH MẠNG THÔNG DỤNG

CHƯƠNG II : MÔ HÌNH OSI

1. MÔ HÌNH THAM OSI

2.1. Tầng vật lý (Physical Layer)

2.2. Tầng liên kết dữ liệu (Datalink)

2.3. Tầng mạng (Network Layer)

2.4. Tầng giao vận (Transport Layer)

2.5. Tầng phiên (Session Layer).

2.6. Tầng trình diễn (Presentation Layer)

2.7. Tầng ứng dụng (Application Layer)

CHƯƠNG III : GIAO THỨC TCP/IP

3.1. GIỚI THIỆU GIAO THỨC TCP/IP

3.2. CÁC LỚP GIAO THỨC TCP/IP

3.2.1. Nguyên lý phân lớp protocol

3.2.2. Tầng ứng dụng (Application Layer)

3.2.2.1. Dịch vụ tên miền (Domain Name Server – DNS)

3.2.2.2. Đăng nhập từ xa (Telnet)

3.2.2.3.Thư điện tử (Electronic Mail)

3.2.2.4.Truyền tệp (File Transfer Protocol – FTP)

3.2.2.5. Nhóm tin (News groups)

3.2.2.6. Tìm kiếm tệp (Archie)

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

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

3.2.2.9. Siêu văn bản (WWW)

3.2.3. Tầng chuyên trở (Transport Layer)

3.2.4. Tầng Internet (Internet Layer)

3.2.5. Tầng giao tiếp mạng (Network Interface layer)

3.2.6. Hardware

3.3. POTOCOL VÀ CẤU TRÚC CÁC GÓI TIN

3.3.1. Giới thiệu

3.3.2. Hệ phát chuyển Connectionless

3.3.2.1. Mục đích của Internet protocol

3.3.2.2. Gói tin IP

3.3.2.3. Đóng gói datagram

3.3.3. User Datagram Protocol – UDP

3.3.3.1. User Datagram Protocol

3.3.3.2. Gói thông tin UDP

3.3.3.3. Đóng gói UDP và việc phân lớp

3.3.3.4. Phân kênh, hợp kênh và Ports

3.3.4. Giao thức điều khiển truyền tin (TCP)

3.3.4.1. Dịch vụ vận chuyển có độ tin cậy

3.3.4.2. Định dạng TCP segment

3.3.4.3. Giao thức điều khiển truyền

3.3.4.3.1. Cung cấp tính tin cậy

3.3.4.3.2. Cổng, kết nối và điểm cuối

3.3.5. Cơ chế thông báo lỗi (ICMP)

3.3.5.1. Gói tin ICMP

3.3.5.2. Nghẽn mạch và điều khiển dòng dữ liệu

3.3.5.3. Thông báo lỗi

3.3.5.4. Định hướng lại

3.3.5.5. Kiểm tra khả năng đến được đích và trạng thái

3.4. ĐỊA CHỈ IP VÀ ĐỊNH TUYẾN

3.4.1. Giới thiệu

3.4.2. Cơ chế địa chỉ Internet

3.4.2.1. Địa chỉ lớp A

3.4.2.2. Địa chỉ lớp B

3.4.2.3. Địa chỉ lớp C

3.4.2.4. Một số địa chỉ đặc biệt

3.4.3. Thuật toán dẫn đường

3.4.3.1. Định tuyến IP

3.4.3.1.1. Dẫn đường trực tiếp .

3.4.3.1.1.1. Ánh xạ địa chỉ Internet lên địa chỉ vật lí (ARP)

3.4.3.1.1.2. Xác định địa chỉ Internet lúc khởi động (RARP)

3.4.3.1.2. Đường dẫn gián tiếp

3.4.3.2. Thuật toán định tuyến IP .

3.4.3.3. Định tuyến khi có mạng con

 

TÀI LIỆU THAM KHẢO 6

6

7

 

10

12

12

13

13

13

13

13

14

14

14

14

18

 

18

21

21

22

22

22

23

23

30

30

31

31

35

35

36

37

38

39

39

39

39

40

41

42

42

43

43

43

43

44

44

48

52

52

53

54

55

58

58

60

63

63

65

67

68

68

69

70

71

72

72

72

 

73

74

75

75

77

77

78

79

 

81

82

84

86

 

88

 

 

 

 

doc88 trang | Chia sẻ: maiphuongdc | Lượt xem: 2008 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Mạng máy tính và giao thức TCP/IP, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 đó. Để đăng nhập vào một trạm máy tính ta đánh lệnh: telnet 3.2.2.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, nó được đưa ra để 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. Bằng dịch vụ này, mọi người sử dụng máy tính kết nối với Internet đều có thể trao đổi thông tin với nhau. Đâ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 ra 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 Main Transfer Protocol) trong họ giao thức TCP/IP. Một điểm mạnh của 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 này. 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. Đặ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 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 chương trình không đồng bộ (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ẽ được 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 header chứa địa chỉ người gửi, địa chỉ người nhận domain name vad 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 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. 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. 3.2.2.4. 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 từ 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 đó Thông thường máy chủ sử dụng cổng 20 và máy khách sử dụng cổng 5137 cho kết nối dữ liệu. Máy chủ Máy khách Người sử dụng Giao diện người sử dụng Người sử dụng Giao diện người sử dụng cổng 21 cổng 5122 Giao thức FTP máy khách Giao thức FTP máy chủ Hệ thống file Hệ thống file cổng 5137 Giao thức truyền dữ liệu cổng 20 Giao thức truyền dữ liệu 3.2.2.5. Nhóm tin (News groups) News groups là những nhóm 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. 3.2.2.6. Tìm kiếm tệp (Archie) Do trên Internet hiện nay có trên 3 triệu tệp và hàng nghìn FTP server. 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. 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. 3.2.2.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. 3.2.2.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 ngườ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, 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. 3.2.2.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 trên lý tưởng siêu văn bản Hypertext trong đó chứa các Hyperlink đến các văn bản khác và như vậy, ta có thể mở rộng mãi mãi trang văn bản của mình. WWW ngày nay được mở rộng với khái niệm siêu phương tiện Hypermedia bao gồm cả hình ảnh, âm thanh... Ngày nay, phần lớn ứng dụng trên Internet từ giải trí đến truy cập cơ sở dữ liệu đều được thực hiện trên WWW. 3.2.3. Tầng chuyên chở (Transport Layer) Tầng giao thức ngay trên tầng Internet là Host-to-Host Transport Layer hay thường gọi là Transport Layer. Nhiệm vụ cơ bản của tầng này là cung cấp phương tiện liên lạc đó gọi là end-to-end. Mức chuyên chở có thể điều chỉnh luồng thông tin. Nó cũng có thể cung cấp sự chuyên chở có độ tin cậy, bảo đảm rằng dữ liệu đến nơi mà không có lỗi và theo đùng thứ tự. Để làm được điều đó phần mềm protocol chuyên chở sẽ bố trí sao nơi nhận gửi ngược trở lại acknowledgements và nơi gửi sẽ truyền lại những gói dữ liệu bị mất. Phần mềm chuyên chở chia chuỗi dữ liệu được gửi đi thành từng phần nhỏ và gửi mỗi gói dữ liệu này đi cùng với địa chỉ đích, đến mức kế. Một máy tính thông thường có nhiều chương trình ứng dụng truy suất Internet cùng một lúc. Lớp chuyên chở phải chấp nhận dữ liệu một số chương trình ứng dụng và gửi nó đến mức thấp hơn kế tiếp. Để làm việc đó, nó bổ sung thêm thông tin vào mỗi gói dữ liệu, bao gồm các mã hiệu để xác định chương trình ứng dụng nào gửi nó và chương trình ứng dụng nào sẽ nhận nó, cùng với checksum. Máy nhận sẽ sử dụng checksum để kiểm chứng tính nguyên vẹn của dữ liệu nhận được, và sử dụng mã hiệu đích để xác định chương trình ứng dụng nào để nó gửi đến. 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ả 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 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 ứng dụng của nó. 3.2.4. Tầng Internet (Internet Layer) Tầng Internet xử lý việc liên lạc từ máy này đến máy kia. Nó nhận một yêu cầu để gửi gói dữ liệu từ lớp chuyên chở cùng với một vùng định danh của máy mà gói dữ liệu phải được gửi đến. Nó đóng gói packet vào trong một IP datagram, điền vào phần đầu datagram, sử dụng thuật giải chuyển kênh để xác định xem phải gửi datagram đến bộ giao tiếp mạng thích hợp để truyền đi. Tầng Internet cung xử lý các datagram được gửi đến, kiểm tra tích hợp lệ của chúng, và sử dụng thuật giải chuyển kênh để xác định xem datagram phải được xử lý tại chỗ hay chuyển đi. Đối với datagram được xác định là cho máy địa phương, phần mềm trong lớp Internet loại bỏ phần đầu datagram, và chọn trong số các protocol chuyển chở một cái tích hớp để xử lý datagram. Cuối cùng, lớp Internetgwir và nhận các thông điệp kiểm soát và xử lý lỗi ICMP. Tầng Internet cũng cung cấp một hệ thống chuyển giao không kết nối (connectionless) và đôi khi 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 được truyề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 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. Nhưng chính việc dữ liệu có thể đi tơi đích trên nhiều đường khác nhau tạo nên sự mền dẻo cho Internet khi một đường bị đứt hay một nút nào đó bị quá tải, các gói tin có thể được truyền đi theo những đường khác nhau, 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ào việ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. 3.2.5. Tầng giao tiếp mạng (Network Interface Layer) Tầng giao tiếp mạng là tầng thấp nhất của kiến trúc giao thức TCP/IP, có trách nhiệm nhận các IP datagram và chuyển chúng lên một mạng nhất định. Giao tiếp mạng có thể bao gồm một chương trình điều khiển thiết bị hay một hệ con phức tạp sử dụng riêng protocol datalink của nó. Các giao thứ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ầng cao hơn là sử dụng dịch vụ của tầng dưới nó và cung cấp dịch vụ cho tầ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 dàng buộc của mạng. Tầng mạng TCP/IP chứa chức năng của tất cả 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/IP che dấu những chức năng của tầng thấp nhất này và những điều cần biết cho người sử dụng cũng như người lập trình chỉ là những giao thức của các tầng cao hơn (IP, TCP,UDP,vv...). Mỗi khi có công nghệ phần cứ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 để TCP/IP có thể sử dụng phần cứng đó). Các chức năng trình diễn trong tầng này bao gồm đóng 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ạng của TCP/IP là địa chỉ của nó được phối hợp sao cho trên mạng Internet không có một thiết bị mạng 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. 3.2.6. Hardware Đây là lớp phần cứng làm nền tảng cho việc xây dựng 4 lớp phần mềm phía trên. Hardware là tầng cuối cùng của mô hình giao thức mạng TCP/IP, tầng này cũng chính là môi trường vật lý để việc thông tin trên mạng có thể thực hiện được. Các gói tin ở tầng trên chuyển xuống tầng cuối cùng này gần thêm các thông tin frame header và được lưu thông trên mạng. Tuỳ theo từng mạng cụ thể ta có kích thước của các frame khác nhau và phương thức lưu thông khác nhau. 3.3. protocol và cấu trúc các gói tin 3.3.1. Giới thiệu Trong chương trình chúng ta đã tìm hiểu về mô hình phân lớp của bộ giao thức TCP/IP và so sánh nó với mô hình 7 lớp OSI. Trong chương này chúng ta sẽ tiếp tục tìm hiểu về bộ giao thức TCP/IP nhưng ở mức độ sâu hơn đó là việc tìm hiểu cấu trúc các gói tin và giao thức để lưu thông các gói tin trên mạng. Trong bộ giao thức TCP/IP chúng ta sẽ tìm hiểu một số giao thức sau: + TCP/IP - Transmission Control Protocol. + UDP - User Datagram Protocol. + ICMP - Internet Control Message Protocol. 3.3.2. Hệ phát chuyển Connectionless 3.3.2.1. Mục đích của Internet protocol Dịch vụ cơ bản nhất bao gồm một hệ chuyển phát gói dữ liệu. Về mặt ký thuật, dịch vụ này được định nghĩa như là dịch vụ không có độ tin cậy (unreliable), hệ phát chuyển connectionless tương tự như dịch vụ cung cấp bởi phần cứng mạng hoạt động trên mô hình nỗ lực tối đa (best- effort). Dịch vụ này được gọi là không có độ tin cậy vì việc phát chuyển không được đảm bảo. Gói dữ liệu có thể bị thất lạc, bị chậm, bị trùng lặp hoặc di chuyển không đúng thứ tự. Dịch vụ này không nhận ra được những sự kiện đó và cũng không thông báo tới nơi gửi hoặc nơi nhận. Dịch vụ được gọi là connectionless vì mỗi gói dữ liệu được xử lý độc lập với các gói tin khác. Một chuỗi các gói dữ liệu gửi từ một máy tới máy khác có thể di chuyển theo những con đường khác nhau, một số bị mất trong khi một số khác vẫn đến được đích. Cuối cùng, dịch vụ này được gọi là phát chuyển nỗ lực tối đa vì phần mềm Internet thực hiện một cố gắng lớn nhất để phát chuyển các gói. Nghĩa là, Internet không bỏ sót hoặc làm mất các gói dữ liệu một cách bất thường, không có độ tin cậy chỉ xuất hiện khi các tài nguyên quá tải hoặc mạng bị hỏng. Giao thức mà xác định cơ chế phất triển connectionless, không có độ tin cậy, được gọi là Internet Protocol và thường được gọi là IP. IP cung cấp ba định nghĩa quan trọng. Trước hết, giao thức IP định nghĩa đơn vị cơ sở của việc truyền dữ liệu được sử dụng thông qua một TCP/IP Internet. Như thế, nó xác định định dạng chính xác của tất cả dữ liệu khi nó đi qua Internet. Thứ hai, phần mềm IP thực hiện chức năng định tuyến (routing), chọn một con đường mà dữ liệu sẽ được gửi đi. Thứ ba, cùng với độ chính xác, đặc tả chính thức của định dạng dữ liệu và việc định tuyến, IP bao gồm một tập hợp các quy tắc mà thể hiện ý tưởng của hệ phát chuyển dữ liệu không có độ tin cậy. Các quy tắc này đặc trưng cho cách mà máy tính và bộ định tuyến xử lý các gói dữ liệu, làm thế nào và khi nào các thông điệp lỗi được phát sinh, và dưới những điều kiện nào thì các gói dữ liệu được huỷ bỏ. IP là một phần rất cơ bản của thiết kế đến nỗi TCP/IP Internet đôi khi được gọi là một kỹ thuật dựa trên IP. Chúng ta sẽ tìm hiểu về IP bừng việc nghiên cứu định dạng dữ liệu IP, vấn đề định tuyến và xử lý lỗi. 3.3.2.2. Gói tin IP Ta có thể thấy sự tương đồng lớn giữa một mạng vật lý và một mạng TCP/IP Internet. Trên một mạng vật lý, đơn vị truyền dữ liệu là một frame bao gồm phần đầu và dữ liệu, với phần đầu cung cấp các thông tin như địa chỉ nguồn và địa chỉ đích (ở dạng vật lý). Internet gọi đơn vị truyền dữ liệu của nó là một Internet datagram, đôi khi được gọi là IP datagram, hoặc đơn giản hơn là datagram. Cũng giống như một frame trong một mạng vật lý, một datagram bao gồm hai phần, phần đầu và phần dữ liệu, cũng giống như một frame, phần đầu của datagram bao gồm địa chỉ nguồn và địa chỉ đích và một kiểu để xác định nội dung của datagram, dĩ nhiên điểm khác biệt là phần đầu của datagram bao gồm các địa chỉ IP trong khi phần đầu của frame bao gồm các địa chỉ vật lý, một datagram có dạng tổng quát như sau: DATAGRAM HEADER DATAGRAM DATA AERA Bởi vì datagram được xử trong phần mềm, nội dung và định dạng của nó không bị rằng buộc bởi một phần cứng bất kỳ. Ví dụ: vùng 4 bít đầu tiên trong datagram (VERS) chứa phiên bản của giao thức IP đã dùng để tạo datagram. Nó được dùng để kiểm tra rằng máy gửi , máy nhận và các bộ định tuyến cùng thống nhất với nhau về định dạng của datagram. Tất cả các phần mềm IP được yêu cầu kiểm tra vùng phiên bản trước khi xử lý một datagram để đảm bảo rằng nó phù hợp với định dạng của phần mềm đang sử dụng. Nếu chuẩn thay đổi, máy tính sẽ từ chối những datagram có phiên bản khác. Một datagram (gói tin IP) có định dạng bao gồm các trường hợp sau: 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. Serveice 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 size củ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à một datagram ban đầu. Time to live: Dùng để xác định xem data này có bị truyền lặp 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). Protocol: Trường hợp này cho biết lớp giao thức cao hơn nào sẽ được sử dụng (UDP hay là TCP). CRC: Trường hợp 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. Padding: Trường điều khiển thêm các số 0 để đảm bảo header kết thúc tại 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. Vers Hlen Service type Total length Identification Flag Fragment offset Time to live Protocol Header checksum Source IP address 0 4 8 16 19 24 31 Destination IP address Padding IP datagram data (Max 65535 byte) Source Address Type field IP data CRC Destination Address IP header encapsulated in an Ethernet Gói tin IP chứa một trường checksum để kiểm tra tính toàn vẹn của IP header, 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áy tí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ực hiện thông qua một thiết bị kết nối giữa hai mạng gọi là router. Khi một thông tin truyền qua các mạng khác nhau, nó có thể bị chia ra thà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 khi router đượ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. Host A Host B Application Application Identical Message Transport Transport Identical Paket Internet Internet Internet RouterR Identical Identical Datagram Datagram Network Interface Network Interface Network Interface Identical Identical Frame Frame Physical Net Physical Net Việc xử lý này gọi là sự phân mảnh. Để trực quan ta so sánh với việc chuyên chở hàng bằng tàu hoả mỗi toa có thể chở nhiều hàng hơn một chiếc xe tải sẽ chở hàng trên đường, hàng hoá sẽ được chia và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 Ethernet thành những gói thông tin nhỏ hơn để truyền qua mạng X.25. Định dạng của mỗi gói tin chia cắt giống như với từng bản tin. Word thứ hai của header chứa thông tin sử dụng cho quá trình tập hợp lại bản tin bao gồm: gói tin thuộc bản tin nào, vị trí của nó trong dòng, gói tin đã được kết nối chưa. 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). 3.3.2.3. Đóng gói datagram Từ các gói IP làm thể nào để chúng có thể liên hệ với frame mạng vật lý?. Trong phần này sẽ giải quyết vấn đề đó. Datagram được xử lý bằng phần mềm nên chúng có độ dài bất kỳ tuỳ vào chọn lựa của người thiết kế. Từ đó nảy sinh vấn đề độ dài của datagram là bao nhiêu thì sẽ tối ưu cho mạng. Trong cấu trúc của gói tin IPv4 dành cho 16bits cho vùng độ dài, giới hạn độ dài của datagram là 65 535 octets. Tuỳ datagram có đọ dài tối đa là 65 535 octets nhưng trong thực tế xuất hiện nhiều giới hạn cơ bản về kích thước datagram. Ta biết rằng khi datagram di chuyển từ máy này sang máy khác, chúng luôn phải được chuyển đi bởi mạng vật lý cơ sở. Để cho việc phát chuyển trên Internet được hiệu quả, ta nên đảm bảo rằng mỗi datagram được chuyển tải trong một frame vật lý riêng biệt. Việc chuyển tải một datagram trong một frame mạng được gọi là sự đóng gói (enscapsulation). Đối với mạng cơ sở, một datagram giống như bất kỳ một thông điệp khác gửi từ một máy tới một máy khác. Phần cứng không nhận biết định dạng datagram, cũng như không biết địa chỉ IP đích. Như thế, khi một máy gửi một IP datagram tới máy khác, toàn bộ datagram di chuyển trong phần dữ liệu của frame mạng (một vùng trong phần đầu frame thường được xác định dữ liệu được chuyển tải: Ethernet sử dụng kiểu dữ liệu 0800, để xác định rằng vùng dữ liệu được chứa một IP datagram được đóng gói). datagram header frame data area datagram header datagram data area ở trường hợp lý tưởng toàn bộ IP datagram nằm vừa vặn trong một frame vật lý, làm cho việc truyền trên mạng vật lý được hiệu quả. Để đạt được điều này người thiết kế có thể chọn kích thước tối đa của một IP datagram sao cho một IP datagram luôn luôn nằm vừa trong một frame. Nhưng một frame có kích thước là bao nhiêu sẽ được sử dụng. Mặt khác, một datagram có thể phải di chuyển qua nhiều loại mạng vật lý khi nó di chuyển trên Internet để tới đích. Mỗi kỹ thuật chuyển gói đặt một chặn trên cố định đối với tổng số dữ liệu có thể được trong một frame vật lý. Ví dụ: Ethernet giới hạn là 1500 octets dữ liệu, trong khi FDDI cho phép khoảng 4470 octets dữ liệu mỗi frame. Ta mô tả các giới hạn này là một đơn vị truyền tối đa của mạng (Maximum Transfer Unit - MTU). Kích thước MTU có thể rất nhỏ: Một vài kỹ thuật phần cứng giới hạn việc truyền xuống 128 octets, thậm chí có thể ít hơn. Việc giới hạn datagram để vừa MTU nhỏ nhất trong Internet làm cho việc truyền không được hiệu quả khi datagram đi qua một mạng mà có thể chuyển tải frame có kích thước lớn hơn. Tuy nhiên, nếu cho phép datagram có kích thước lớn hơn MTU tối thiểu của mạng trong Internet, có nghĩa là một datagram có thể không luôn luôn vừa với một frame mạng. Tiêu chí của thiết kế Internet là để che dấu kỹ thuật mạng cơ sở và làm cho việc thông tin liên lạc được tiện lợi cho người sử dụng. Như thế, thay vì thiết kế được các datagram tuân theo các rằng buộc của mạng vật lý, phần mềm TCP/IP chọn một kích thước khởi đầu và bố trí một cách để chia các datagram lớn thành những phần nhỏ hơn khi datagram cần đi qua một mạng mà có MTU nhỏ. Những phần nhỏ của một datagram gọi là fragments, và tiến trình chia một datagram được gọi là phân đoạn (fragmentation). Việc phân đoạn thường xảy ra tại bộ định tuyến trên đường đi từ nguồn đến đích cuối cùng. Bộ định tuyến nhận một datagram từ một mạng có MTU lớn và phải gửi nó trên một mạng có MTU nhỏ hơn kích thước datagram. Host B Host A R2 Net MTU= R1 Net 1 Net 3 MTU= 1500 MTU = 1500 Trong hình vẽ trên cả hai máy tính nối trực tiếp vào Ethernet có MTU 1500 octets. Như thế, cả hai máy đề có thể gửi các datagram dài đến 1500 octets. Tuy nhiên, con đường nối chung, bao gồm một mạng có MTU là 620 octets. Nếu máy A gửi cho máy B một datagram lớn hơn 620 octets, bộ định tuyến B1 phân đoạn datagram. Tương tự, nếu máy B gửi một datagram lớn cho máy A, bộ định tuyến R2 sẽ phân loại đoạn datagram. Kích thước fragment được chọn sao cho mọi fragment có thể được gửi qua mạng cơ sở trong một frame. Hơn nữa, vì IP thể hiện vị trí tương đối của dữ liệu trong nhóm 8 octets, nên kích thước fragment phải được chọn là bội số của 8. Dĩ nhiên, việc chọn bội số của 8 mà gần nhất với MTU mạng không phải luôn luôn chia datagram thành từng phần bằng nhau, thông thường mảnh cuối sẽ nhỏ hơn. Các fragment phải được kết hợp lại để có được đúng bản sao của datagram ban đầu trước khi có được xử lý tại đích cuối cùng. Giao thức IP không giới hạn datagram có kích thước nhỏ và cũng không đảm bảo rằng các datagram lớn sẽ được chuyển mà không bị phân đoạn. Máy nguồn có thể chọn kích thước datagram bất kỳ mà nó nghĩ là thích hợp nhất. Việc phân đoạn và kết hợp lại sẽ tự động xảy ra mà không có sự tác động gì từ máy nguồn. Đặc tả của IP phát biểu rằng bộ định tuyến phải chấp nhận datagram có kích thước cho tới kích thước lớn nhất của các MTU của các mạng mà nó được nối vào. Hơn nữa, bộ định tuyến phải luôn xử lý các datagram cho đến 576 octets (máy tính cũng phải chấp nhận và kết hợp lại nếu cần, các datagram với ít nhất 576 octets). Việc phân đoạn một datagram có nghĩa là chia datagram có nghĩa là chia datagram thành những phần nhỏ. Mỗi phần nhỏ này cũng có cùng định dạng như datagram ban đầu. DATAGRAM HEADER data3 200 octets data2 600 oc

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

  • docmang may tinh va giao thuc tcpip.DOC
Tài liệu liên quan