Đồ án Module Ethernet trên vi điều khiển PIC18F67J60 và ứng dụng trong đo lường, điều khiển (Phần mềm trên MPLAB)

Ethernet là kiểu mạng cục bộ (LAN) được sử dụng rộng rãi nhất hiện nay, ứng dụng của nó có mặt ở rất nhiều lĩnh vực của đời sống và trong công nghiệp. Khóa luận tốt nghiệp với đề tài “Module Ethernet trên vi điều khiển PIC18F67J60 và ứng dụng trong đo lường, điều khiển (Phần mềm trên MPLAB)” đã sử dụng phần mềm MPLAB và thư viện TCP/IP Stack của hãng Microchip để lập trình điều khiển LED, LCD và đo lường thông qua mạng truyền thông Ethernet. Khóa luận bao gồm những nội dung chính cơ bản như sau: Chương 1. Tổng quan về Ethernet trình bày về lý thuyết Ethernet gồm các vấn đề về cấu trúc khung tin Ethernet, phương pháp truy nhập bus (CSMA/CD), các loại mạng Ethernet và chuẩn Ethernet IEEE 802.3. Chương 2. Họ giao thức TCP/IP trình bày kiến thức về họ giao thức TCP/IP bao gồm 5 tầng: tầng ứng dụng (Application Layer), tầng giao vận (Transport Layer), tầng liên mạng (Internet Layer), tầng giao tiếp mạng (Network Interface Layer). Trình bày các kiến thức về gói tin IP, TCP, UDP. Chương 3. Phần cứng trình bày các kiến thức về vi điều khiển PIC18F67J60 bao gồm các đặc trưng chung và đặc trưng Ethernet của PIC18F67J60, bộ biến đổi A/D, module Ethernet. Các kiến thức về sensor đo nhiệt độ LM35 cũng được trình bày trong chương này. Tiếp theo là phần nguyên lý của mạch demo và phần mạch in. Cuối cùng là hình ảnh mạch demo thực tế sử dụng trong khóa luận. Chương 4. Trình biên dịch MPLAB C18 và web server giới thiệu về trình biên dịch MPLAB C18 và các nội dung liên quan đến việc thiết kế web giao diện như là DHTML, Javascript, CSS, kỹ thuật AJAX. Chương 5. TCP/IP Stack chương này trình bày về nhiệm vụ chính của khóa luận đó là sử dụng thư viện TCP/IP Stack của Microchip trên phần mềm MPLAB C18 để lập trình cho mạch demo thực hiện đo lường và điều khiển thông qua mạng truyền thông Ethernet. Kết luận. Trình bày các kết quả đã đạt được của khóa luận và đánh giá các kết quả đó. Đồng thời, định hướng một số hướng phát triển của đề tài.

doc65 trang | Chia sẻ: oanh_nt | Lượt xem: 3085 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Module Ethernet trên vi điều khiển PIC18F67J60 và ứng dụng trong đo lường, điều khiển (Phần mềm trên MPLAB), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐỀ TÀI “Module Ethernet trên vi điều khiển PIC18F67J60 và ứng dụng trong đo lường, điều khiển (Phần mềm trên MPLAB)” Giáo viên hướng dẫn : Họ tên sinh viên : MỤC LỤC MỞ ĐẦU Ethernet là kiểu mạng cục bộ (LAN) được sử dụng rộng rãi nhất hiện nay, ứng dụng của nó có mặt ở rất nhiều lĩnh vực của đời sống và trong công nghiệp. Khóa luận tốt nghiệp với đề tài “Module Ethernet trên vi điều khiển PIC18F67J60 và ứng dụng trong đo lường, điều khiển (Phần mềm trên MPLAB)” đã sử dụng phần mềm MPLAB và thư viện TCP/IP Stack của hãng Microchip để lập trình điều khiển LED, LCD và đo lường thông qua mạng truyền thông Ethernet. Khóa luận bao gồm những nội dung chính cơ bản như sau: Chương 1. Tổng quan về Ethernet trình bày về lý thuyết Ethernet gồm các vấn đề về cấu trúc khung tin Ethernet, phương pháp truy nhập bus (CSMA/CD), các loại mạng Ethernet và chuẩn Ethernet IEEE 802.3. Chương 2. Họ giao thức TCP/IP trình bày kiến thức về họ giao thức TCP/IP bao gồm 5 tầng: tầng ứng dụng (Application Layer), tầng giao vận (Transport Layer), tầng liên mạng (Internet Layer), tầng giao tiếp mạng (Network Interface Layer). Trình bày các kiến thức về gói tin IP, TCP, UDP. Chương 3. Phần cứng trình bày các kiến thức về vi điều khiển PIC18F67J60 bao gồm các đặc trưng chung và đặc trưng Ethernet của PIC18F67J60, bộ biến đổi A/D, module Ethernet. Các kiến thức về sensor đo nhiệt độ LM35 cũng được trình bày trong chương này. Tiếp theo là phần nguyên lý của mạch demo và phần mạch in. Cuối cùng là hình ảnh mạch demo thực tế sử dụng trong khóa luận. Chương 4. Trình biên dịch MPLAB C18 và web server giới thiệu về trình biên dịch MPLAB C18 và các nội dung liên quan đến việc thiết kế web giao diện như là DHTML, Javascript, CSS, kỹ thuật AJAX. Chương 5. TCP/IP Stack chương này trình bày về nhiệm vụ chính của khóa luận đó là sử dụng thư viện TCP/IP Stack của Microchip trên phần mềm MPLAB C18 để lập trình cho mạch demo thực hiện đo lường và điều khiển thông qua mạng truyền thông Ethernet. Kết luận. Trình bày các kết quả đã đạt được của khóa luận và đánh giá các kết quả đó. Đồng thời, định hướng một số hướng phát triển của đề tài. 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 nhất hiện nay. Hiện thời công nghệ Ethernet thường được sử dụng nhất là công nghệ sử dụng 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 1970 bởi tiến sĩ Robert M. Metcalfe . Nó đã được thiết kế vớ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 trên 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 năm 1980 bởi sự phối hợp phát triển của 3 hãng : DEC, Intel và Xerox. Chuẩn này có tên DIX Ethernet ( lấy tên theo 3 chữ cái đầu của tên các hãng). Uỷ 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  đã ra  đời với tên  IEEE 802.3 Carrier Sense Multiple Access with Collition Detection (CSMA/CD). Mặc dù không sử dụng tên Ethernet nhưng hầu hết mọi người đều hiểu đó là 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ó nhiều loại mạng Ethernet. Đặc biệt, với phiên bản 100 Mbit/s (Fast Ethernet, IEEE 802.3u), Ethernet ngày càng đóng một vai trò quan trọng trong các 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 (Wireless LAN, IEEE 802.11) cũng đang thu hút được sự quan tâm lớn. 1.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 (frame). Cấu trúc khung Ethernet như sau: Bảng 1: Cấu trúc khung MAC theo IEEE 802.3/ Ethernet. Mở đầu 555…5H SFD (D5H) Địa chỉ đích Địa chỉ nguồn Độ dài kiểu gói Dữ liệu PAD FCS byte 1 byte 2/6 byte 2/6 byte 2 byte 46-1500 byte 4 byte Preamble (mở đầu): 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ồ 10 Mhz. SFD (start frame delimiter): trường này mới thực sự xác định sự bắt đầu của 1 khung. Nó luôn mang giá trị 10101011. Các trường Destination và Source: mang địa chỉ vật lý của các trạm nhận và gửi khung, xác định khung được gửi từ đâu và sẽ được gửi tới đâu.  LEN: giá trị của trường nói lên độ lớn của phần dữ liệu mà khung mang theo. 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 lại khung coi như là lỗi và bị loại bỏ. 1.2. Cấu trúc địa chỉ Ethernet Mỗi giao tiếp mạng Ethernet được định danh 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ị, 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-86. Khuôn dạng địa chỉ MAC được chia làm 2 phần:  3 octet đầu xác định hãng sản xuất, chịu sự quản lý của tổ chức IEEE. 3 octet sau do nhà sản xuất ấn định.  Kết hợp ta lẽ có một đị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.3. Các loại khung Ethernet 1.3.1. Các khung unicast Giả sử trạm 1 cần truyền khung tới trạm 2. Khung Ethernet do trạm 1 tạo ra có địa chỉ: MAC nguồn: 00-60-08-93-DB-C1 MAC đích: 00-60-08-93-AB-12 Hình 1: Mô hình truyền thông unicast. Đây là khung unicast. Khung này được truyền tới một 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 thấy đị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.3.2. Các khung broadcast Các khung broadcast có địa chỉ MAC đích là FF-FF-FF-FF-FF-FF. 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 các khung broadcast này để tìm địa chỉ MAC tương ứng với một đị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.3.3. 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 nhóm mới chấp nhận các khung gửi tới địa chỉ này. 1.4. Truy nhập bus Một vấn đề lớn thường gây lo ngại trong việc sử dụng Ethernet ở cấp trường là phương pháp truy nhậ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 trong 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 2: Minh họa phương pháp CSMA/CD. Nguyên tắc làm việc phương pháp CSMA/CD: Theo phương pháp CSMA/CD, mỗi trạm đều có quyền truy nhậ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 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 thì mỗi trạm vẫn phải nghe đường dẫ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 (collision detection). 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 và cách khắc phục được minh họa trên hình... Trạm A và 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, gây ra xung đột tại một điểm gần C. A và C sẽ 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à sẽ coi như bức điện không hợp lệ. A và C cũng có thể gửi đi một 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 tuy nhiên 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ố của 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 hoạt. Khác với các phương pháp tiền định, việc ghép thêm hay bỏ đi một trạm trong mạng 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 áp dụng rộng rãi trong mạ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 như không kết hợp thêm với các kỹ thuật khác thì phương pháp này 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.5. Các loại mạng 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 mạng Ethernet. Mỗi loại mạng được mô tả dựa theo ba 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 10Mb/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 1 phân đoạn mạng là 500m. 10Base2. Có tên khác là “thin Ethernet” , dựa trên 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à 185 m (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 tốc độ 10 Mb/s dựa trên hệ thống cáp 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 Ethernet dùng cho sợi quang hoạt động ở tốc độ 10 Mb/s , ra đời năm 1993. 1.5.2. Các hệ thống Ethernet 100 Mb/s – Ethernet cao tốc ( Fast Ethernet ) 100BaseT. Chuẩn Ethernet hoạt độ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ủa hệ thống này (sử dụng phương pháp mã hoá 4B/5B của chuẩn FDDI). Bao gồm 2 chuẩn 100BaseFX và 100BaseTX: 100BaseFX. Tốc độ 100Mb/s, sử dụng cáp sợi quang đa mode. 100BaseTX. Tốc độ 100Mb/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.5.3. Các hệ thống Giga Ethernet  1000BaseX. Chữ X nói lên đặc tính mã hoá đường truyền ( chuẩn này dựa trên kiểu mã hoá 8B/10B dùng trong hệ thống kết nối tốc  độ cao Fibre 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ã hoá đường truyền riêng để đạt được tốc độ cao trên loại cáp này. 1.6. Chuẩn IEEE 802 IEEE 802 là họ các chuẩn IEEE dành cho các mạng LAN và mạng 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 các đơn vị nhỏ có cùng kích thước được gọi là cell. Các mạng Isochronous, nơi dữ liệu được truyền theo một dòng liên 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á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à viết tắt của Transmission Control Protocol / Internet Protocol (Giao thức Điều Khiển Truyền Thông /Giao thức Internet). TCP/IP không chỉ gồm 2 giao thức mà thực tế nó là tập hợp của nhiều giao thức. TCP/IP sử dụng mô hình truyền thông 4 tầng hay còn gọi là mô hình DoD (Mô hình của Bộ Quốc Phòng Mỹ). Các tầng trong mô hình này là: Tầng Ứng Dụng (Application Layer). Tầng Giao Vận (Transport Layer). Tầng Liên Mạng (Internet Layer). Tầng Giao Tiếp Mạng (Network Interface Layer). Hình 3: Cấu trúc họ giao thức TCP/IP. 2.1.1. Tầng Ứng Dụng (Application Layer) Gồm nhiều giao thức cung cấp cho các ứng dụng người dùng. Được sử dụng để định dạng và trao đổi thông tin người dùng. 1 số giao thức thông dụng trong tầng này là: DHCP (Dynamic Host Configuration 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 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 dùng cùng cổng. Ví dụ: giao thức FTP dùng cổng 20 cho dữ liệu và cổng 21 cho điều khiển, giao thức SMTP dùng cổng 25… 2.1.2. 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. 2 giao thức chính trong 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 các kênh truyền thông phi kết nối nên nó không đảm bảo truyền dữ liệu 1 cách tin cậy. 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. 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 1 cách tin cậy. 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. 2.1.3. Tầng Internet (Internet Layer) Nằm bên trên tầng truy nhập 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 biê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 trong trường hợp truyền dữ liệu bị hỏng. IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền đa hướng (Multicast) . 2.1.4. Lớp giao tiếp mạng Tầng giao tiếp mạng liên quan tới 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 từ lớp Internet sẽ được gửi xuống tới lớp truy nhập mạng nếu truyền dữ liệu, hoặc tầng giao tiếp mạng sẽ lấy dữ liệu từ mạng và gửi nó tới lớp Internet nếu chúng ta nhận dữ liệu. 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. 2.2. Cấu trúc gói tin IP,TCP,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 các máy tính đó một địa chỉ IP (IP Address). 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ó. Bảng 2: Tổ chức địa chỉ IP. 0 1 2 3 4 8 16 24 Class A 0 Netid Hostid Class B 1 0 Netid Hostid Class C 1 1 0 Netid Hostid Class D 1 1 1 0 Multicast address Class E 1 1 1 1 0 Reverved for future use Đị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ó được nhận ra bởi bit đầu tiên trong byte đầu tiên của địa chỉ có giá trị 0. 3 bytes còn lại được sử dụng để đánh địa chỉ máy trong mạng. Có 126 địa chỉ lớp A (được đánh địa chỉ trong byte thứ nhất) với số má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 bit đầu tiên của byte thứ nhất mang giá trị 10. Lớp B sử dụng 2 byte đầu tiên của 4 byte để đánh địa chỉ mạng và 2 byte cuối đánh địa chỉ máy trong mạng. Có 64*256 - 2 = 16.128 địa chỉ mạng lớp B với 65.534 máy cho mỗi một địa chỉ lớp B. Địa chỉ lớp C: Một địa chỉ lớp C được nhận ra với 3 bit đầu mang giá trị 110. Mạng lớp C sử dụng 3 byte đầu để đánh địa chỉ mạng và 1 byte cuối đánh địa chỉ máy tính có trong mạng. Có 2.097.152 -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. Địa chỉ lớp E: Dùng để dự phòng và dùng trong tương lai. 2.2.2. Cấu trúc gói tin IP Ver-4 bít: 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)-4bít: 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 (Precedence) 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. 1 bít tiếp theo (Delay) chỉ độ trễ 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. 1 bít tiếp theo (Throughput) 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 (Reliability) chỉ độ 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ỉ độ dài toàn bộ 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 khi truyền trên đường đi có thể bị phân thành nh