Lời Cảm ơn 4 Lời mở đầu 5



tải về 0.52 Mb.
trang1/4
Chuyển đổi dữ liệu21.08.2016
Kích0.52 Mb.
#25651
  1   2   3   4

MỤC LỤC


MỤC LỤC 1

4

Lời Cảm ơn 4

Lời mở đầu 5

Mục tiêu đề tài 6

Nhiệm vụ của đề tài 6

Chương 1: Tổng quan về Ethernet 6



1.5.1. Các hệ thống Ethernet 10 Mb/s 14

2.2.4. Cấu trúc gói tin ARP (Adrees Resolution Protocol) 26

2.2.5. Cấu trúc gói tin UDP 31

Chương 3: Phần cứng 34

3.1. Vi điều khiển PIC 34

3.1.1. Giới thiệu về vi điều khiển PIC 34

3.1.2. Một số ưu điểm của Microchip PIC 36

3.1.3. Vi điều khiển PIC18F4550 38

3.3. Cảm biến nhiệt độ LM35 47

3.4. Module Ethernet ENC28J60 và chuẩn giao tiếp SPI 49

3.4.1. Vi Mạch Ethernet ENC28j60 49

3.4.2. Sơ đồ chân và sơ đồ khối của ENC28j60 50

3.4.3. Sơ đồ ghép nối vi điều khiển với ENC28j60 51

3.4.4. Sơ đồ nguyên lý Module Ethernet 52

3.4.5. Module Ethernet 52

3.4.6. Chuẩn truyền thông SPI 53

3.5.3. Điều khiển hiển thị 62

3.5.4. Mạch RJ14 64

Chương 4: Trình biên dịch CCS và webserver 65

4.1. Trình dịch CCS (PIC C Compiler) 65

4.1.1. Vì sao ta sử dụng CCS 65

4.1.2. Giới thiệu về CCS 66

4.1.3. Tạo PROJECT đầu tiên trong CCS 67

4.2. Web động 77

4.3. CSS 78

4.3.1. Ưu điểm của CSS 78

4.3.2. Các đặc tính cơ bản của CSS 79

4.3.3. CSS có tính kế thừa và kết hợp 80

Chương 5: Sơ đồ khối và mô phỏng 84

5.1. Sơ đồ khối. 84

5.2. Mạch nguyên lý. 86



5.2.1. Khối nguồn 87

5.2.2. Khối công suất (RELAY) 87

5.2.3. Khối hiển thị (LCD 16x2) 88

5.2.4. Khối Key điều khiển đèn (Nút nhấn) 89

5.2.5. Khối đo nhiệt độ và Header giao tiếp với Module Ethernet 89

5.2.6. Khối reset, Xung thạch anh, Lọc nguồn 90

5.2.7. Khối Vi xử lý trung tâm (Pic 18F4550) 90

5.3. Mô Phỏng 91

KẾT LUẬN 91

Tài liệu tham khảo: 92




HÌNH ẢNH:

BẢNG:




Lời Cảm ơn


Em xin được gửi lời cảm ơn chân thành đến quý Thầy cô trong khoa Điện – Điện Tử, nhất là quý Thầy cô thuộc bộ môn Điện Tử Viễn Thông đã giảng dạy và truyền đạt kiến thức chuyên ngành cho người thực hiện đồ án trong thời gian vừa qua.

Đặc biệt em xin gửi lời cảm ơn sâu sắc tới cô Vũ Thị Thu Hương vì sự tận tình hướng dẫn cũng như đã tạo những điều kiện thuận lợi nhất cho em để có thể thực hiện và hoàn thành tốt đề tài này.

Em cũng không quên cảm ơn các bạn trong lớp đã trao đổi, góp ý để em hoàn thành đề tài này một cách tốt đẹp và đúng thời gian.

Mặc dù đã có nhiều cố gắng và nỗ lực thực hiện, nhưng do kiến thức cũng như khả năng bản thân còn nhiều hạn chế nên trong quá trình thực hiện đề tài không thể tránh khỏi những sai phạm, thiếu sót… Rất mong nhận được sự góp ý, chỉ dẫn từ nơi quý thầy cô và các bạn sinh viên.


Lời mở đầu

Trong thời đại công nghiệp hoá hiện đại hoá như hiện nay. Việc phát minh và chế tạo ra các thiết bị thông minh có khả năng điều khiểu từ xa đang và sẽ rất được quan tâm và rất hữu ích cho cuộc sống hằng ngày.

Vì mục tiêu công nghệ hiện đại hoá ngày càng phát triển, tôi đã quyết định làm một đồ án về điều khiển thiết bị qua mạng Ethernet. Khi dự án hoàn thành chúng ta có thể điều khiểu các thiết điện trong nhà thông qua mạng internet, tương tác bằng tay qua nút nhấn, kiểm soát nhiệt độ phòng; hiển thị trạng thái hoạt động của các thiết bị trên LCD…. Dù chúng ta ở bất cứ nơi nào có mạng internet đều có thể điều khiển được các thiết bị đã kết nối với module điều khiển ethernet.

Khi dự án thành công và được áp dụng rộng rãi thì sẽ rất hữu ích cho đời sống hằng ngày. Giúp cho đất nước ngày càng phát triển.


Giáo Viên Hướng Dẫn Người Thực Hiện

Vũ Thị Thu Hương Nguyễn Văn Vượng - 0541050263



Mục tiêu đề tài


  • Thực hiện giao tiếp mạng giữa phần cứng mạch điện tử với máy tính qua mạng Ethernet.

  • Điều khiển hoạt động của các thiết bị (trong đề tài là 3 đền LED tượng trưng cho 3 thiết bị), dưới sự điều khiển và giám sát của con người.

  • Giám sát nhiệt độ thông qua cảm biến nhiệt LM35.

Nhiệm vụ của đề tài


Để có thể đạt được mục tiêu đề ra, người thực hiện đề tài đã đưa ra những nhiệm vụ cần phải thực hiện:

  • Nghiên cứu vi điều khiển PIC18f4550 và trình biên dịch CCS (PIC C Compiler).

  • Lý thuyết mạng Ethernet và cách thức truyền nhận dữ liệu

  • Nghiên cứ chuẩn giao tiếp SPI và ứng dụng thực tế trên module Ethernet ENC28J60

  • Tìm hiểu ngôn ngữ html và CSS trong lập trình giao diện web

  • Tính toán, thiết kế và thi công phần cứng mạch điện tử (mô phỏng)

  • Xây dựng thuật toán và viết code cho ứng dụng dựa theo mục tiêu đã đề ra.



Chương 1: Tổng quan về Ethernet


ETHERNET là kiểu mạng cục bộ (LAN) được sử dụng rộng rãi hiện nay. Hiện thời Ethernet thường được sử dụng nhiều nhất là cáp đôi xoắn 10Mbps.

Ethernet được phát minh ra tại trung tâm nghiên cứu Xerox Palo Alto vào những năm 70 của tiến sỹ Robert M.Metcalfe. Nó được thiết kế bởi mục đích phục vụ nghiên cứu trong “hệ thống công sở trong tương lai”, bao gồm trạm cá nhân đầu tiên trong thế giới, trạm Xerox Alto. Trạm Ethernet đầu tiên chạy với tốc độ xấp xỉ 3Mbps. Chuẩn Ethernet 10Mbps đầu tiên được xuất bản vào năm 1980 với sự phối hợp phát triển của 3 hãng DEC, Intel, Xerox. Chuẩn này có tên Dix Ethernetn (lấy tên theo 3 chữ cái đầu tiên của các hãng)

Ủy ban 802.3 của IEEE đã lấy Dix Ethernet làm nền tảng để phát triển, năm 1985 chuẩn 802.3 đầu tiên được ra đời với tên IEEE 802.3 Carrier Sense Multiple access with Collition Detection (CSAM/CD). Mặt dù không sử dụng Ethernet nhưng hầu hết mọi người đều hiểu đó là phần chuẩn của công nghệ Ethernet.Ngày nay chuẩn IEEE 802.3 là chuẩn chính thức của Ethernet.IEEE đã phát triển chuẩn Ethernet trên nhiều công nghệ truyền dẫn khác nhau vì thế có nhìu loại mạng Ethernet khác nhau. Đặc biệt với phiên bản 100 Mbit/s (fast Ethernet, IEEE 802.3u), Ethernet ngày càng đóng vai trò trong hệ thống công nghiệp, bên cạnh việc sử dụng cáp đồng trục, đôi dây xoắn và cáp quang, gần đây Ethernet không dây (Wirless LAN, IEEE 802.11) đang thu hút sự quan tâm rất lớn.


    1. Cấu trúc khung tin Ethernet

Các chuẩn Ethernet đều hoạt động ở tầng Data link trong mô hình 7 lớp OSI vì thế đơn vị dữ liệu mà các trạm trao đổi với nhau là các khung (famer) .

Cấu trúc khung Ethernet như sau:

Bảng 1. 1: Cấu trúc khung MAC theo IEEE 802.3/ Ethernet

Preamble (mở đầu): 7 bytes (không được tính vào kích thước frame của Ethernet) trường này đánh dấu sự xuất hiện của khung bit, nó luôn mang giá trị 10101010. Từ nhóm bit này, phía nhận có thể tạo ra xung đồng hồ 10Mhz.

SFD (Start Frame Delimiter): 1 bytes (không được tính vào kích thước frame của Ethernet) trường hợp này mới thực sự xác định bắt đầu của một khung. Nó luôn mang giá trị 10101011.

Destination Address (địa chỉ đích): 6 bytes



    • Đây là địa chỉ MAC của Ethernet card nơi đến (nơi khung frame gửi đến).

    • Ý nghĩa của bit thấp nhất xác định 6 bytes này:

      • 0: địa chỉ unicast

        • 3 bytes đầu tiên được dùng để chỉ nhà sản xuất

          1. 00-00-0C: CISCO

          2. 00-00-3D: AT&T

        • 3 bytes tiếp theo do nhà sản xuất quyết định

      • 1: địa chỉ multicast

        • 01-80-C2-00-00-00: được dùng bởi các bridges cho giải thuật cây tản rộng (spanning trê algorithm)

        • FF-FF-FF-FF-FF-FF: địa chỉ quảng bá (broadcast)

    • Ở chế độ hoạt động bình thường, Ethernet chỉ tiếp nhận những frame có địa chỉ nơi đến trùng với địa chỉ (duy nhất) của nó, hoặc địa chỉ nơi đến thể hiện một thông điệp quản bá. Tuy vậy, hầu hết các Ethernet card đều có thể được đặt ở chế độ "promiscuous". Trong chế độ này, nó sẽ nhận tất cả các frame xuất hiện trong mạng LAN.

Source Address (địa chỉ nguồn): 6 bytes .Đây là địa chỉ MAC của Ethernet card nguồn (nơi khung frame được gửi đi).

LEN/TYLE (độ dài/kiểu gói): 2 bytes. giá trị của trường nói lên độ lớn của phần giữ liệu mà khung mang theo.



    • Có 2 loại cấu trúc Ethernet frame

      • IEEE 802.3 MAC

        • Dùng để chỉ độ dài của Ethernet frame

      • DIX Ethernet: được công bố bởi DEC, Intel và Xeror vào năm 1980 (phổ biến hơn)

        • Dùng để chỉ giao thức của lớp phía trên

        • 0800: IP

        • 0860: ARP

Phần thông tin: từ 46 tới 1500 bytes:

    • Do kích thước frame tối thiểu là 64 bytes, kích thước tối thiểu của phần thông tin là 64-18=46 bytes.

    • Kích thước phần thông tin tối đa là 1500 bytes. Do đó, kích thước gói IP trong Ethernet tối đa là 1500 bytes, đây cũng là một trong ba kích thước gói IP thông dụng nhất (40, 576, 1500).

FCS mang CRC (cyclic redundancy checksum): phía gửi sẽ tính toán trường này trước khi truyền khung. Phía nhận tính toán lại CRC này theo cách tương tự. Nếu hai kết quả trùng nhau, khung được xem là nhận đúng, ngược lai khung coi như là bị lỗi và bị loại bỏ.

    1. Cấu trúc địa chỉ Ethernet

Mỗi giao tiếp mạng Ethernet được định dạng duy nhất bởi 48 bit địa chỉ (6 octet). Đây là địa chỉ được ấn định khi sản xuất thiết bị, được gọi là địa chỉ MAC (Media Access Control Address). Địa chỉ MAC được biểu diễn bởi các chữ số hexa ( hệ cơ số 16), ví dụ: 00:60:97:8F:4F:86 hoặc 00-60-97-8F-4F-96. Khuôn dạng địa chỉ MAC được chia làm 2 phần:

  • 3 octet xác định hãng sản xuất, chịu sự quản lý tổ chức IEEE.

  • 3 octet sau do nhà sản xuất ấn định.

  • Kết hợp ta có 1 địa chỉ MAC duy nhất cho một giao tiếp mạng Ethernet. Địa chỉ MAC được sử dụng làm địa chỉ nguồn và địa chỉ đích trong khung Ethernet.

    1. Đặc tính điện

Tín hiệu Ethernet được mã hóa theo mã Manchester. Mã hóa Manchester sử dụng cách đảo ngược mỗi bit trong khoảng thời gian của nó để đồng bộ và miêu tả bit.

  • Bit ‘0’ Nửa chu kỳ đầu của bit là điện áp +V và nửa chu kỳ còn lại là điện áp –V

  • Bit ‘1’ Nửa chu kỳ đầu của bit là điện áp -V và nửa chu kỳ còn lại là điện áp + V

Hình 1. 1: Mã hóa Manchester

    1. Các loại khung Ethernet

      1. Các loại khung uniscat

Giả sử trạm 1 cần truyền khung tới trạm 2.Khung Ethernet do trạm 1 truyền ra có địa chỉ:

  • MAC nguồn: 00-60-08-93-DB-C1.

  • MAC đích : 00-60-08-93-AB-12




Hình 1. 2: Mô hình truyền thông unicast

Đây là khung unicast. Khung này được truyền tới 1 trạm xác định.Tất cả các trạm trong phân đoạn mạng trên sẽ đều nhận được khung này nhưng:



  • Chỉ có trạm 2 lấy được địa chỉ MAC đích của khung trùng với địa chỉ MAC của giao tiếp mạng của mình nên tiếp tục xử lý các thông tin khác trong khung.

  • Các trạm khác sau khi so sánh địa chỉ sẽ bỏ qua không tiếp tục xử lý khung nữa.




      1. Các khung broadcast

Các khung broadcast có địa chỉ MAC đích là FF-FF-FF-FF-FF-FF (48 bit 1). khi nhận được các khung này, mặc dù không trùng với địa chỉ MAC của giao tiếp mạng của mình nhưng các trạm đều phải nhận khung và

tiếp tục xử lý.

Giao thức ARP sử dụng khung broadcast này để tìm địa chỉ MAC tương ứng với 1 địa chỉ IP cho trước. một số giao thức định tuyến cũng sử dụng các khung broadcast để các router trao đổi bảng định tuyến.


      1. Các khung Multicast

Trạm nguồn gửi khung tới một số trạm nhất định chứ không phải là tất cả. Địa chỉ MAC đích của khung là địa chỉ đặc biệt mà chỉ các trạm trong cùng một nhóm mới chấp nhận các khung gửi tới địa chỉ này.

(Chú ý: Địa chỉ MAC nguồn của khung luôn là địa chỉ MAC của giao tiếp mạng tạo ra khung. Trong khi đó địa chỉ MAC đích của khung thì phụ thuộc vào một trong ba loại khung nếu trên.)


    1. Truy cập bus

Một số vấn đề lớn thường gây lo ngại khi sử dụng Ethernet ở cấp trường là phương pháp truy cập bus ngẫu nhiên CSMA/CD (Carrier Sense Multiple access with Collision Avoidance) và sự ảnh hưởng tới hiệu suất cũng như tính năng thời gian thực của hệ thống. Ở đây, một số những yếu tố quyết định tới hiệu suất của hệ thống là thuật toán tính thời gian truy nhập lại cho các trạm trong trường hợp xảy ra xung đột.




Hình 1. 3: Minh họa phương pháp CSMA/CD
Nguyên tắc làm việc của phương pháp CSMA/CD:

Theo phương pháp CSMA/CD, mỗi trạm đều có quyền truy cập bus mà không cần một sự kiểm soát nào. Phương pháp được tiến hành như sau:



  • Mỗi trạm đều phải tự nghe đường dẫn (carrier sense) nếu đường dẫn rỗi( không có tín hiệu ) thì mới được phát.

  • Do việc lan truyền tín hiệu cần có một thời gian nào đó, nên vẫn có khả năng hai trạm cùng phát tín hiệu lên đường dẫn. Chính vì vậy, trong khi phát đi mỗi trạm vẫn phải nghe đường đẫn để so sánh tín hiệu phát đi với tín hiệu nhận được xem có xảy ra xung đột hay không.

  • Trong trường hợp xảy ra xung đột, mỗi trạm đều phải hủy bỏ bức điện của mình, chờ một thời gian ngẫu nhiên và thử gửi lại.

Một tình huống xảy ra xung đột tiêu biểu là các khắc phục được minh họa trên hình 3. Trạm A và trạm C cùng nghe đường dẫn. Đường dẫn rỗi nên A có thể gửi trước. Trong khi tín hiệu từ trạm A gửi đi chưa kịp tới nên trạm C không hay biết và cũng gửi, nên gây ra xung đột tại một điểm gần C. A và C lần lượt nhận được tín hiệu phản hồi, so sánh với tín hiệu gửi đi và phát hiện xung đột. Cả hai trạm sẽ cùng phải hủy bỏ bức điện gửi đi bằng cách không phát tiếp, các trạm muốn nhận sẽ không nhận được cờ hiệu kết thúc bức điện và được coi là bức điện không hợp lệ. A và C cũng có thể gửi đi 1 tín hiệu “jam” đặc biệt để báo cho các trạm cần nhận biết. sau đó mỗi trạm sẽ chờ một thời gian chờ ngẫu nhiên, trước khi thử phát lại. thời gian chờ ngẫu nhiên ở đây phải được tính theo một thuật toán nào đó sao cho thời gian chờ ngắn một cách hợp lý và không giống nhau giữa các trạm cùng chờ. Thông thường thời gian chờ này là bội số hai lần thời gian lan truyền tín hiệu Ts .

Ưu điểm của CSMA/CD là tính chất đơn giản, linh hoat. Khác với phương pháp tiền định, việc ghép thêm hay bỏ đi một trạm không ảnh hưởng gì tới hoạt động của hệ thống. Chính vì vậy, phương pháp này được ap dụng rộng rãi trong hệ thống Ethernet.



Nhược điểm của CSMA/CD là tính chất bất định của thời gian phản ứng.Các trậm đều bình đẳng như nhau nên quá trình chờ ở một trậm có thể lặp đi lặp lại, không xác định được tương đối chính xác thời gian.Hiệu suất sử dụng đường truyền vì thế cũng thấp. Rõ ràng nếu không kết hợp thêm với các kỹ thuật khác thì phương pháp này sẽ không thích hợp với các cấp thấp, đòi hỏi trao đổi dữ liệu định kỳ, thời gian thực.


    1. Các loại Ethernet

IEEE đã phát triển chuẩn Ethernet trên nhiều công nghệ truyền dẫn khác nhau vì thế có nhiều loại Ethernet. Mỗi loại mạng mô tả dựa theo 3 yếu tố: tốc độ, phương thức tín hiệu sử dụng và đặc tính đường truyền vật lý.

1.5.1. Các hệ thống Ethernet 10 Mb/s


  • 10base5. Đây là tiêu chuẩn Ethernet đầu tiên, dựa trên cáp đồng trục loại dày. Tốc độ đạt được 10 Mb/s, sử dụng băng tần cơ sở, chiều dài cáp tối đa cho một phân đoạn mạng là 500m.

  • 10base2. Có tên là “thin Ethernet”, dựa trên các hệ thống cáp đồng trục mỏng với tốc độ 10 Mb/s, chiều dài cáp tối đa của phân đoạn là 185m ( IEEE làm tròn thành 200m).

  • 10baseT. Chữ T là viết tắt của “Twisted” cáp xoắn cạp. 10BaseT hoạt động với tốc đọ 10Mb/s dựa trên hệ thống xoắn cạp Cat 3 trở lên.

  • 10BaseF. F là viết tắt của Fiber Optic (sợi quang). Đây là chuẩn cho sợi quang hoạt động với tốc độ 10 Mb/s, ra đời năm 1993.




      1. Các hệ thống Ethernet tốc độ 100 Mb/s- Ethernet cao tốc (fast Ethernet)

  • 100BaseT. Chuẩn Ethernet hoat động với tốc độ 100 Mb/s trên cả cáp xoắn cạp lẫn cáp sợi quang.

  • 100BaseX. Chữ X nói lên được tính mã hóa đường truyền cả hệ thống này (sử dụng phương pháp mã hóa 4B/5B của chuẩn FDDI) bao gồm 2 chuẩn 100BaseFX VÀ 100BaseTX.

  • 100BaseFX. Tốc độ 100 Mb/s, dử dụng cáp sợi quang đa mode.

  • 100BaseTX. Tốc độ 100 Mb/s, sử dụng cáp xoắn cạp.

  • 100BaseT2 và 100BaseT4. Các chuẩn này sử dụng 2 cặp và 4 cặp cáp xoắn cặp Cat 3 trở lên tuy nhiên hiện nay hai chuẩn này ít được sử dụng.




      1. Các hệ thống Giga Ethernet

  • 1000BaseX: Chữ X nói lên đăc tính mã hóa đường truyền (chuẩn này dựa trên kiểu mã hóa 8B/10B dùng trong hệ thống kết nối tốc độ cao Fiber channel được phát triển bởi ANSI) chuẩn 1000BaseX gồm 3 loại:

  • 1000Base-SX: tốc độ 1000 Mb/s, sử dụng sợi quang với sóng ngắn.

  • 1000Base-LX: tốc độ 1000 Mb/s, sử dụng sợi quang với sóng dài.

  • 1000Base-cX: tốc độ 1000 Mb/s, sử dụng cáp đồng.

  • 1000BaseT: Hoạt động ở tốc độ Giga bit, băng tần cơ sở trên cáp xoắn cặp Cat 5 trở lên. Sử dụng kiểu mã hóa đường truyền riêng để đạt được tốc độ cao trên loại cáp này.




      1. Chuẩn IEEE 802

IEEE 802 là hoc các chuẩn IEEE sành cho các mạng LAN và mạn MAN

(metropolitan area network). Cụ thể hơn,các chuẩn IEEE 802 được giới hạn cho các mạng mang các gói tin có kích thước đa dạng. Khác với các mạng này, dữ liệu trong các mạng cell-based được truyền theo đơn vị nhỏ có cùng kích thước được gọi là cell. Các mạng Iosochronous, nơi dữ liệu được truyền theo một dòng lien tục các octet, hoặc nhóm các octet, tại các khoảng thời gian đều đặn, cũng nằm ngoài phạm vi của chuẩn này.

Các dịch vụ và giao thức được đặc tả trong IEEE 802 ánh xạ tới hai tầng thấp (tầng liên kết dữ liệu và tầng vật lý của mô hình 7 tầng OSI). Thực tế, IEEE 802 chia tầng liên kết dữ liệu OSI thành hai tầng con LLC (điều khiển liên kết lôgic) và MAC (điều khiển truy nhập môi trường truyền), do đó các tầng này có thể được liệt kê như sau:


  • Tầng liên kết dữ liệu

  • Tầng con LLC

  • Tầng con MAC

  • Tầng vật lý

Họ chuẩn IEEE 802 được bảo trì bởi Ban Tiêu Chuẩn LAN/MAN IEEE 802 (IEEE 802 LAN/MAN standards Committee (LMSC)). Các chuẩn được dùng rộng rãi nhất là dành cho họ Ethernet, Token Ring, mạng LAN không dây, cá mạng LAN dùng bridge và bridge ảo (Bridging and Virtual Bridged LANs). Chuẩn dành cho họ Ethernet là chuẩn IEEE 802.3.

Chương 2: Họ giao thức TCP/IP

2.1. Họ giao thức TCP/IP

TCP/IP là bộ giao thức cho phép kết nối các hệ thống mạng không đồng nhất với nhau.TCP/IP là tên viết tắt của Transmission Control Protocol (giao thức điều khiển truyền thông)/Internet Protocol (Giao thức Internet), ngày nay TCP/IP được sử dụng rộng rãi trong các mạng cục bộ cũng như trên mạng Internet toàn cầu.

TCP/IP không chỉ gồm hai giao thức mà thực tế nó là tổ hợp của nhiều giao thức. Chúng ta gọi đó là 1 hệ giao thức hay bộ giao thức (Suite Of Protocols).

TCP/IP là một bộ giao thức được thiết kế để đạt được hai mục tiêu chính:



  1. Cho phép truyền thông qua các đường dây của mạng rộng (Wide Area Network – WAN).

  2. Cho phép truyền thông giữa các môi trường đa dạng.

TCP/IP sử dụng mô hình truyền thông 4 tầng hay gọi là truyền hình DoD (mô hình của bộ quốc phòng Mỹ). TCP/IP được xem là giản lược của mô hình tham chiếu OSI, các tầng trong mô hình này là (theo thứ tự từ trên xuống):

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

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

  • Tầng mạng (Internet Layer).

  • Tầng liên mạng (Network Interface Layer).


Hình 2. 1: Kiến trúc TCP/IP

Cũng tương tự như trong mô hình OSI, khi truyền dữ liệu, quá trình tiến hành từ tầng trên xuống tầng dưới, qua mỗi tầng dữ liệu được thêm vào một thông tin điều khiển được gọi là phần header. Khi nhận dữ liệu thì quá trình xảy ra ngược lại, qua mỗi tầng thì phần header tương ứng được lấy đi và khi đến tầng trên cùng thì dữ liệu không còn phần header nữa.






Hình 2. 2: Quá trình đóng/mở gói dữ liệu trong TCP/IP




Hình 2. 3: Cấu trúc dữ liệu trong TCP/IP
Hình vẽ 2.3 cho ta thấy lược đồ dữ liệu qua các tầng. Trong hình vẽ này ta thấy tại các tầng khác nhau, dữ liệu được mang những thuật ngữ khác nhau:

  • Trong tầng ứng dụng dữ liệu là các luồng được gọi là stream.

  • Trong tầng giao vận, đơn vị dữ liệu mà TCP gửi xuống tầng dưới gọi là

  • TCP segment.

  • Trong tầng mạng, dữ liệu mà IP gửi tới tầng dưới được gọi là IP datagram.

  • Trong tầng liên kết, dữ liệu được truyền đi gọi là frame.




      1. Tầng ứng dụng (Application layer)

Tầng ứng dụng là tầng trên cùng của mô hình TCP/IP bao gồm các tiến trình và các ứng dụng cung cấp cho người sử dụng để truy cập mạng. Được dùng để định dạng và trao đổi thông tin người dùng. Một số giao thức thông dụng trong tầng này là:

  • DHCP (Dynamic Host Cofiguraiton Protocol): giao thức cấu hình trạm động.

  • DNS (Domain Name System): hệ thống tên miền.

  • SNMP (Simple Network Management Protocol): giao thức quản lý mạng đơn giản.

  • FTP (File Transfer Protocol): giao thức truyền tập tin.

  • TFTP (Trivial File Transfer Protocol): giao truyền tập tin bình thường.

  • SMTP (Simple Mail Transfer Protocol): giao thức gửi thư đơn giản.

  • TELNET: là chương trình mô phỏng thiết bị đầu cuối cho phép người dùng thiết bị login vào một máy chủ từ một máy tính nào đó trên mạng.

  • Tầng ứng dụng trao đổi dữ liệu với lớp dưới (lớp vận chuyển) qua cổng. việc dùng cổng bằng số cho phép giao thức của lớp vận chuyển biết loại nội dung nào chứa bên trong gói dữ liệu. Những cổng được đánh bằng số và những ứng dụng chuẩn thừơng được dùng cùng cổng. Ví dụ: giao thức FTP dùng cổ 20 cho dữ liệu và cổng 21 cho điều khiển, giao thức SMTP dùng cổng 25…




      1. Tầng giao vận (Transport layer)

Có trách nhiệm thiết lập phiên truyền thông giữa các máy tính và quy định cách truyền dữ liệu, hai giao thức chính cho tầng này gồm:

  • UDP (User Datagram Protocol): còn gọi là giao thức gói người dùng. UDP cung cấp một dịch vụ đơn giản hơn cho tầng ứng dụng. Nó cung cấp kênh truyền thông phi kết nối, chỉ gửi các gói dữ liệu từ trạm này tới trạm kia mà không đảm bảo các gói tin đến được tới đích. Các ứng dụng dùng UDP thường chỉ truyền những gói có kích thước nhỏ, độ tin cậy dữ liệu phụ thuộc vào từng ứng dụng. Các cơ chế đảm bảo độ tin cậy cần được thực hiện bởi tầng trên.

  • TCP (transmission Control Protocol): Ngược lại với UDP, TCP cung cấp các kênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu một cách tin cậy. Nó cung cấp một luồng dữ liệu tin cậy giữa hai trạm, sử dụng các cơ chế như chia nhỏ các gói tin của tầng trên thành các gói tin có kích thước thích hợp cho tầng mạng bên dưới, báo nhận gói tin, đặt hạn chế thời gian time-out để đảm bảo bên nhận biết được các gói tin đã gửi đi. TCP thường truyền các gói tin có kích thước lớn và yêu cầu phía nhận xác nhận về các gói tin đã nhận. Do tầng này đảm bảo tính tin cậy, tầng trên sẽ không cần quan tâm đến nữa.




      1. Tầng mạng (internet layer)

Nằm bên trên tầng liên mạng. Tầng này có chức năng gán địa chỉ, đóng gói và định tuyến (Route) dữ liệu. 4 giao thức quan trọng nhất trong tầng này gồm:

  • IP (internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền và định tuyến chúng tới đích.

  • ARP (Address Resolution Protocol): có chức năng phiên dịch địa chỉ IP của máy đích thành địa chỉ MAC.

  • ICMP (Internet Control Message Protocol): có chức năng thông báo lỗi khi truyền dữ liệu bị hỏng.

  • IGMP (Internet Group Managemant Protocol): có chức năng điều khiển truyền đa hướng (multicast).




      1. Lớp liên mạng (Network Interface Layer)

Tầng giao tiếp mạng liên quan đến việc trao đổi dữ liệu giữa hai trạm thiết bị trong cùng một mạng. Các chức năng bao gồm việc kiểm soát truy nhập môi trường truyền dẫn, kiểm soát lỗi và lưu thông dữ liệu. Datagram được tạo bởi từ lớp mạng (Internet) sẽ được gửi xuống tới lớp liên mạng (Network Interface Layer) nếu truyền dữ liệu, hoặc tầng liên mạng (Network Interface Layer) sẽ lấy dữ liệu từ mạng và gửi nó tới lớp mạng (Internet) nếu chúng ta nhận dữ liệu.

Tầng này bao gồm các thiết bị giao tiếp mạng (Card Mạng và Cáp Mạng) và chương trình cung cấp các thông tin cần thiết để có thể hoạt động, truy nhập đường truyền vật lý qua thiết bị giao tiếp mạng đó.

Như đã đề cập ở phần trên, Ethernet là giao thức cấp dưới có ba lớp LLC (Logic Link Control), MAC (Media Access Control), và lớp vật lý physical.


    1. Cấu trúc gói tin IP, TCP,ARP,UDP

2.2.1. Cấu trúc địa chỉ IP

Mạng Internet dùng hệ thống địa chỉ IP (32 bit) để “định vị” các máy tính liên kết với nó có hai cách đánh địa chỉ phụ thuộc vào cách liên kế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ì NIC (Network Information Centre) sẽ cấp cho máy tính đó một địa chỉ IP (IP Adress).

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ông qua một mạng cục bộ thì người quản trị mạng sẽ cấp cho các máy tí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 địa chỉ 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ó.




Hình 2. 4: tổ chức địa chỉ IP


  • Đị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ình trên, nó nhận ra được bit đầu tiên trong byte đầu tiên của địa chỉ có giá trị bằng 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áy tính trong mạng là 2563-2= 16.777.214 máy cho mỗi một địa chỉ lớp A (sử dụng 3 bytes để đánh địa chỉ máy).

  • Địa chỉ lớp B: Một địa chỉ lớp B được nhận ra bởi 2 bít đầu tiên của byte thứ nhất mang giá trị 10. Lớp B sử dụng 2 bít đầu tiên của 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ỗi môt địa chỉ mạng lớp B.

  • Địa chỉ lớp C: một địa chỉ lớp C được nhận ra với 3 bít đầu mang giá trị 110. Mạng lớp C sử dụng 3 byte đầu để đánh địa chỉ mạng và một byte cuối để đánh địa chỉ máy tính có trong mạng. Có 2.079.125-2 địa chỉ lớp C, mỗi địa chỉ lớp C có 254 máy.

  • Địa chỉ lớp D: Dùng để gửi các IP datagram tới một nhóm các host trên một mạng.

  • Lớp địa chỉ E: Dùng để dự phòng và dùng trong tương lai.




      1. Cấu trúc gói tin IP

Ver-4 bit : chỉ version hiện hành của IP đang được dùng, nếu trường này khác với phiên bản IP của thiết bị nhận, thiết bị nhận sẽ loại bỏ các gói tin này.

IHL (IP Header Length)- 4 bit chỉ độ dài phần header của gói tin, tính theo từ 32 bít.

TOS (Type of Service)- 1byte: cho biết dịch vụ nào mà gói tin muốn sử dụng chẳng hạn như độ ưu tiên, thời hạn chậm trễ, năng suất truyền và độ tin cậy cụ thể như sau:


  • 3 bít đầu chỉ quyền ưu tiên gửi gói tin, từ gói tin bình thường là 0 đến gói tin kiểm soát mạng là 7.

  • Một bít tiếp theo chỉ độ chễ yêu cầu, 0 ứng với gói tin có độ trễ bình thường, 1 ứng với gói tin có độ trễ thấp.

  • Một bít tiếp theo chỉ thông lượng yêu cầu sử dụng để truyền gói tin với lựa chọn truyền trên đường thông suất thấp hay trên đường thông suất cao, 0 ứng với thông lượng bình thường, 1 ứng với thông lượng cao.

  • 1 bít tiếp theo có độ tin cậy yêu cầu, 0 ứng với độ tin cậy bình thường, 1 ứng với độ tin cậy cao.

Total length- 2byte: chỉ độ dai gói tin tính cả phần header, tính theo đơn vị byte.

Indentification- 16 bít: cùng với các tham số khác như Source Address Destination Address dùng để định danh duy nhất một gói tin trong thời gian nó tồn tại trên mạng.

Flags: các gói tin trên đường đi có thể bị phân thành nhiều gói tin nhỏ. Trường flags dùng để phân đoạn và lắp ghép các gói tin cụ thể như sau:


  • Bít 0: chưa sử, dụng luôn lấy giá trị 0.

  • Bít 1: 0 ứng với gói tin bị phân mảnh, 1 ứng với gói tin bị phân mảnh.

  • Bít 2: 0 ứng với gói tin thuộc phân đoạn cuối cùng của gói tin gốc, 1 ứng với gói tin không phải là phân đoạn cuối cùng của gói tin gốc.

Fragment Offset-32 bít: chỉ vị trí của phân đoạn trong gói tin gốc, tính theo đơn vị 8 byte.

Time to live – 1 byte: quy định thời gian tồn tại tính bằng giây của gói tin trong mạng. Thời gian này được đặt bởi trạm gửi và giảm đi (thường quy ước là 1) khi gói tin đi qua mỗi router của liên mạng. Một giá trị tối thiểu phải đủ lớn để mạng hoạt động tốt.

Protocol : chỉ tầng giao thức kế tiếp sẽ nhận được dữ liệu ở trạm đích. TCP có ứng với giá trị 6, UDP có ứng với giá trị 17, 1 ứng với ICMP.

Header checksum- 2byte: Dùng để phát hiện lỗi header của gói tin xảy ra trong quá trình truyền của nó.

Cource IP Address- 4 byte: địa chỉ IP của nơi truyền gói tin.

IP Option- độ dài thay đổi: khai báo các lựa chọn do người sử dụng yêu cầu, ví dụ như: mức độ bảo mật, đường mà gói tin được gửi đi, timestamp ở mỗi router.

Padding- độ dài thay đổi: Dùng để đảm bảo các header luôn kết thúc ở một mốc 32 bít.

Data chiều dài thay đổi lớp trên, chiều dài thay đổi đến 64Kb.




      1. Cấu trúc gói tin TCP

Đơn vị dữ liệu trong TCP được gọi là Segment với cấu trúc như sau:

  • Cource Port – 2byte: số hiệu cổng TCP của trạm nguồn.

  • Destination Port – 2byte: số hiệu cổng TCP của trạm đích.

  • Sequence number: số hiệu byte đầu tiên của Segment, nếu cờ SYN bât thì nó là số thứ tự gói ban đầu và byte đầu tiên được gửi có số thứ tự này cộng thêm 1, nếu không có SYN thì đây là số thứ tự của byte đầu tiên.

  • Acknowledgment number – 2 byte: nếu cờ ACK bật thì giá trị của trường chính là số thứ tự của gói tin tiếp theo mà bên nhận cần. Báo là nhận tốt các segment mà trạm đích đã gửi cho trạm nguồn.

  • Data Offest- 4bit: độ dài của phần header tính theo đơn vị từ 32 bít. Tham số này chỉ ra vị trí bắt đầu của nguồn dữ liệu.

  • Reserved- 6 bít.

  • Flags : các bít điều khiển

  • URG: Vùng con trỏ khẩn có hiệu lưc.

  • ACK: Vùng báo nhận ACK number có hiệu lực.

  • PSH: Chức năng PUSH.

  • RST: Khởi động lại liên kết.

  • SYN: Đồng bộ hóa số liệu tuần tự.

  • FIND: không còn đủ dữ liệu ở trạm nguồn.

  • Window- 2byte: số byte dữ liệu bắt đầu từ byte được chỉ ra trong ACK number mà chạm nguồn đã sẵn sang để nhận.

  • Checksum: checksum cho cả phẩn header lẫn dữ liệu.

  • Urgent Pointer – 2byte: nếu cờ URG bật thì giá trị trường này chính là số 16 bít mà số thứ tự gói tin cần dịch trái.

  • Option -2byte: vùng tùy chọn, khai báo các option của TCP trong đó có độ dài tối đa của vùng TCP data trong 1 segment.

  • Padding-: phẩn chèn thêm vào header để đảm bảo phần header luôn kết thúc ở một mốc 32 bít.

  • TCP data: chứa dữ liệu, của tầng trên có độ dài tối đa ngầm định là 536 byte. Gía trị này có thể khai báo trên phẩn Option.



      1. Cấu trúc gói tin ARP (Adrees 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ạ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 đị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 Resolution Protocol). Khi hai máy tính cùng nối vào một mạng vật lý, chúng biết được địa chỉ IP của nhau nhưng để truyền thông giữa hai máy, chúng phải biết được địa chỉ vật lý của nhau. ARP giải quyết vấn đề chuyển từ địa chỉ IP 32 bits sang địa chỉ Ethernet 48 bits. Người ta sử dụng hai cơ chế đó là ARP request và ARP relay.



Hình 2. 5: Mô tả đường truyền dữ liệu ARP


        1. Mô tả hoạt động của khung ARP

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 token ring proNET-10 là mạng cho phép đặt địa chỉ IP và địa chỉ vật lý thoải má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.
Chuyển giao gián tiếp: Chuyển giao địa chỉ động được thực hiện bằng cách máy tính muốn gửi thông tin 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ông bá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ột thông báo chứa địa chỉ vật lý của chính mình. Khi đó hai máy tính có thể “nói chuyện” với nhau.
Ngoài ra, người ta còn sử dụng bảng chỉ đường để lưu 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ỉ.
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 broadcast tới tất cả các máy trên mạng Ethernet (với địa chỉ FFFF_FFFF_FFFF).

Bảng 2. Error: Reference source not found: Mô tả gói thông tin ARP


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ều công nghệ khác nhau, người ta dùng một trường để chứa độ dài của những trường đi sau nó.



Trong trường hợp máy tính 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áy trạm khởi động, nó gửi một request tới tất cả các máy và máy chủ gửi trả lại một gói tin chứa địa chỉ IP của máy trạm yêu cầu..


        1. Gói tin của ARP

Protocol type: 0x0800 cho IP (0000.1000.0000.0000).

  • Hardware len = 6 bytes cho ethernet.

  • Protocol len = 4 bytes cho IP.

  • ARP operation:

    • 1= yêu cầu

    • 2 = đáp lại

    • 3/4 = RARP yêu cầu/đáp lại


Bảng 2. 1: Khung dữ liệu ARP

Destination Address

Source Address



Frame type

(ARP) Data



CRC



6 bytes

6 bytes

2 bytes

28 bytes

4 ytes



        1. Trường của khung ARP

  • Địa chỉ đích (ethernet destination address):

  • FF:FF:FF:FF:FF:FF là địa chỉ broadcast cho ARP request.

  • Địa chỉ nguồn (ethernet source address) là địa chỉ của ARP yêu cầu.

  • Frame type:

    • ARP yêu cầu hoặc đáp lại (ARP request/rely) : 0x0806

    • RARP yêu cầu hoặc đáp lại (RARP request/rely): 0x08035

    • IP: 0x0800



      1. Cấu trúc gói tin UDP


Vùng header của UDP có 64 bít với 4 trường:

  • Source port – 2byte: xác định cổng của người gửi thông tin và có ý nghĩa nếu muốn nhận thông tin phản hồi từ người nhận. nếu không thì đặt nó bằng 0.

  • Dentination port-2byte: xác định cổng nhận thông tin và trường này là cần thiết.

  • Length- 2 byte: là chiều dài của toàn bộ gói tin (phần header và phần dữ liệu). chiều dài tối thiểu là 8 byte khi gói tin không có dữ liệu mà chỉ có header.

  • Checksum- 2byte: dùng cho việc kiểm tra lỗi của phần header và phần dữ liệu.




      1. Giao thức điều khiển truyền tin – ICMP (Internet Control Message Protocol).

Việc dẫn đường qua các mạng sử dụng giao thức diều khiển truyền tin (Internet Control Message Protocol - ICMP) được định nghĩa trong RFC 792. ICMP sử dụng gói tin IP để chuyển thông báo của nó. ICMP gửi các thông báo làm các công việc: Điều khiển, thông báo lỗi và chức năng thông tin cho TCP/IP. Thông thường ICMP được gửi khi một gói tin không thể đi tới đích, một gateway không còn đủ chỗ nhớ để nhận thêm gó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.

  • Cấu trúc gói tin ICMP:

Mặc dù 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.

  • CODE: Cung cấp thông tin thêm về thông báo.

  • CHECKSUM: Chứa checksum của thông báo.

Bảng 2. 2: Cấu trúc gói ICMP

Type Field

ICMP Message Type

0

Echo Reply

3

Destination Ủneachable

4

Source Quench

5

Redirect (Change a router)

8

Echo Request

11

Time Exceeded for a Datagram

12

Parameter Problem on a Datagram

13

Timestamp Request

14

Timestamp Reply

15

Information Request

16

Information Reply

17

Address Mask Request

18

Address Mask Reply



Каталог: data -> file -> 2015 -> Thang05
Thang05 -> ĐỀ thi thử quốc gia năM 2014-2015 MÔn thi: anh văN
Thang05 -> I. MỤc tiêU: 1 Kiến thức: Biết mối quan hệ giữa đơn vị các hàng liền kề. 2 Kĩ năng
Thang05 -> Bài 19: nhân dân việt nam kháng chiến chống pháp xâm lưỢC (Từ năm 1858 đến trước năm 1873) I. Mục tiêu bài học
Thang05 -> MÔn tậP ĐỌC (LỚP 1) BÀI: TẶng cháu I. Mục tiêu
Thang05 -> BÀi tập trắc nghiệm chuyểN ĐỔi câu tiếng anh
Thang05 -> ĐỀ kiểm tra chất lưỢng học kỳ II năm họC 2014 2015
Thang05 -> BÀI: viết số thành tổng các trăM, chụC, ĐƠn vị I. Mục tiêu: Kiến thức
Thang05 -> SỞ giáo dục và ĐÀo tạo bắc giang thpt việt yêN 2
Thang05 -> Bài 9: quang hợP Ở CÁc nhóm thực vật c3, C4 VÀ cam I. Mục tiêu
Thang05 -> Tp hồ chí minh, tháng 10 năm 2010 LỜi cảm tạ

tải về 0.52 Mb.

Chia sẻ với bạn bè của bạn:
  1   2   3   4




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương