Khóa luận, đề tài, luận văn, báo cáo, chuyên đề
Trang 1TRƯỜNG ĐẠI HỌC VINH
KHOA ĐIỆN TỬ - VIỄN THÔNG
THÔNG VỚI GIAO THỨC TCP/IP
Sinh viên thực hiện: LẠI DUY DÂN
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC VINH
BẢN NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP
Họ và tên sinh viên: Số hiệu sinh viên:
Ngành: Khoá:
Giảng viên hướng dẫn:………
Cán bộ phản biện:
1 Nội dung thiết kế tốt nghiệp:
2 Nhận xét của cán bộ phản biện:
Ngày tháng năm
Cán bộ phản biện
( Ký, ghi rõ họ và tên )
Trang 3LỜI NÓI ĐẦU
Xu thế phát triển của khoa học kỹ thuật nói chung và ngành Điện tử, Tựđộng hóa nói riêng hiện nay đó là nghiên cứu, ứng dụng các thành tựu của côngnghệ vi điện tử, vi xử lí nhằm tiến tới tự động hóa các quá trình công nghệ, nângcao hiệu quả sản xuất và chất lượng sản phẩm Các bộ vi xử lí, vi điều khiển thôngminh với nhiều tính năng vượt trội, đáp ứng các nhu cầu của sản xuất công nghiệpđang được các hãng sản xuất ra đời ngày càng nhiều đem lại sự lựa chọn đa dạngcho người sử dụng Một trong các ứng dụng chính của các bộ vi xử lý, vi điều khiển
đó là thực hiện việc tính toán, xử lý số liệu trong các bài toán đo lường trong côngnghiệp
Xuất phát từ nhu cầu thực tế về việc đo lường và giám sát mực chất lỏng(mức nước, mức dòng chảy, mức nước thải, hóa dầu, hóa chất và công nghiệp thực
phẩm v.v.), tác giả đã quyết định lựa chọn đề tài “Thiết kế hệ thống đo lường và giám sát mực chất lỏng từ xa thông qua hệ thống truyền thông với giao thức TCP/IP”.
Trong quá trình thực hiện đề tài, tác giả đã cố gắng trình bày nội dung mộtcách có hệ thống Song do thời gian thực hiện có hạn, điều kiện làm việc còn nhiềuhạn chế cũng như kinh nghiệm bản thân còn ít nên chắc chắn không tránh khỏinhững thiếu sót Tác giả mong nhận được sự góp ý từ các thầy giáo, cô giáo và cácbạn để đề tài ngày càng hoàn thiện
Xin chân thành cảm ơn các thầy, cô giáo khoa Điện tử Viễn thông đã tận tìnhgiảng dạy, tạo mọi điều kiện giúp đỡ tác giả trong quá trình học tập và nghiên cứu
Xin cảm ơn các phòng thí nghiệm thuộc dự án “Tăng cường năng lực nghiên cứu cho phòng thí nghiệm Điện - Điện tử” đã tạo điều kiện cho tác giả được sử dụng
các thiết bị trong quá trình thực hiện đề tài
Tác giả xin gửi lời cảm ơn đến thầy giáo ThS Lê Văn Chương - người đã
tận tình giúp đỡ, hướng dẫn tác giả hoàn thành đề tài này
NGƯỜI THỰC HIỆN
Trang 4Lại Duy Dân
Trang 5MỤC LỤC
LỜI NÓI ĐẦU 3
TÓM TẮT ĐỒ ÁN 6
DANH MỤC CÁC HÌNH VẼ 7
DANH MỤC CÁC BẢNG 8
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT 9
PHẦN I: LÝ THUYẾT TỔNG QUAN 10
CHƯƠNG 1: TỔNG QUAN VỀ GIAO THỨC TCP/IP 10
1.1 Mạng và giao thức 10
1.1.1 Mạng (Mạng máy tính) 10
2.2.2 Giao thức TCP/IP 12
1.1.3 Cấu trúc gói tin TCP/IP và quá trình thiếp lập kết nối của giao thức TCP/IP 20
1.2 Mạng cục bộ LAN và công nghệ Ethernet 28
1.2.1 Mạng cục bộ LAN 28
1.2.2 Công nghệ Ethernet 29
1.3 Giới thiệu vi mạch Ethernet ENC28J60 37
1.3.1 ENC28J60 37
1.3.2 Giao tiếp thiết bị ngoại vi 39
1.3.3 Giới thiệu bộ thư viện TCP/IP stack của Microchip 43
1.4 Giao diện web 44
CHƯƠNG 2: VI ĐIỀU KHIỂN PIC18F4620 47
2.1 Giới thiệu vi điều khiển 47
2.2 Vi điều khiển PIC 18F4620 48
2.2.1 Sơ đồ khối 49
2.2.2 Nguồn dao động 50
2.2.3 Cấu trúc bộ nhớ của PIC18F4620 51
2.2.3 Sử dụng giao tiếp SPI 52
2.3 Phần mềm lập trình và biên dịch CSS 55
2.3.1 Tổng quan về CCS 55
2.3.2 Giới thiệu về CCS 55
2.3.3 Tạo PROJECT đầu tiên trong CCS 56
CHƯƠNG 3: ĐO KHOẢNG CÁCH BẰNG PHƯƠNG PHÁP SIÊU ÂM 60
3.1 Cảm biến siêu âm và nguyên tắc TOF 60
3.2 Cảm biến siêu âm SFR05 64
3.2.1 Các chế độ hoạt động: 65
PHẦN II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ĐO LƯỜNG VÀ GIÁM SÁTMỰC CHẤT LỎNG TỪ XA THÔNG QUA HỆ THỐNG TRUYỀN THÔNG VỚI GIAO THỨC TCP/IP 68
CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ PHẦN CỨNG CHO HỆ THỐNG 68
4.1 Sơ đồ khối của hệ thống 68
Trang 64.2 Phân tích thiết kế hệ thống 69
4.2.1 Khối giao tiếp mạng 69
4.2.2 Khối vi điều khiển 71
4.2.3 Khối nguồn 72
4.2.4 Khối cảm biến 72
4.2.5 Khối hiển thị 73
4.2.6 Khối giao tiếp máy tính 74
4.2.7 Khối ngoại vi 75
CHƯƠNG 5: LẬP TRÌNH PHẦN MỀM ĐIỀU KHIỂN HỆ THỐNG 77
5.1 Mô hình của hệ thống điều khiển và giám sát từ xa 77
5.2 Lưu đồ thuật toán và chương trình 78
KẾT LUẬN 81
6.1 Các vấn đề thực hiện được: 81
6.2 Tự đánh giá: 81
6.3 Kiến nghị và hướng phát triển đề tài: 81
TÀI LIỆU THAM KHẢO 83
PHỤ LỤC 84
Trang 7TÓM TẮT ĐỒ ÁN
Nội dung đồ án bao gồm hai phần:
Phần 1: Trong phần này tác giả thực hiện nghiên cứu về:
- Bộ giao thức TCP/IP như cấu trúc, nguyên tắc hoạt động; mạng LAN vàcông nghệ Ethernet; các kỹ thuật và phương pháp truyền dẫn
- Cấu trúc vi điều khiển PIC18F4620 và trình biên dịch CCS
- Vi mạch ENC28J60 với ứng dụng trong truyền thông Ethernet
- Nguyên tắc đo khoảng cách bằng sóng siêu âm và cảm biến siêu âmSFR05
Phần 2: Trong phần này tác giả phân tích và thiết kế cấu trúc hệ thống, chức
năng, nhiệm vụ các thành phần trong hệ thống Thiết kế phần cứng và phần mềmcho hệ thống đo lường và giám sát mực chất lỏng từ xa thông qua giao thức TCP/IP.Tiến hành thử nghiệm và đánh giá hệ thống đã thiết kế
ABSTRACT
This thesis consists of two the part:
Part 1: In this part the author conducted research on:
- The protocols TCP/IP as the structure and principles of operation; LANnetwork and Ethernet technologies; transmission techniques and transmission methods
- The structure microcontroller PIC18F4620 and program compile CCS
- Microchip ENC28J60 with applications in transmission Ethernet
- Principle of measuring distance by ultrasonic wave and ultrasonic sensorsSFR05
Part 2: In this part the author analyzes and designs the system structure,
functions and tasks of the components in the system Design hardware and softwarefor system measurement and monitoring of liquid level remotely via protocols TCP/
IP Conduct test and evaluation system was designed
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Truyền thông qua mạng máy tính 2
Hình 1.2: Mô hình tổng quát của mạng Internet 3
Hình 1.3: Kết nối trong và ngoài mạng LAN 6
Hình 1.4: Kiến trúc giao thức TCP/IP 7
Hình 1.5: Cấu trúc gói dữ liệu TCP/IP 11
Hình 1.6: Tổ chức địa chỉ IP 11
Hình 1.7: Mạng con và mặt nạ mạng 12
Hình 1.8: Cấu trúc gói tin IP 13
Hình 1.9: Cấu trúc gói tin TCP 15
Hình 1.10: Thiết lập kết nối TCP 17
Hình 1.11: Kết thúc kết nối TCP 19
Hình 1.12: Cấu trúc mạng hình sao 20
Hình 1.13: Cấu trúc mạng dạng BUS 20
Hình 1.14: Cấu trúc mạng dạng vòng 20
Hình 1.15: Cấu trúc khung MAC theo IEEE 802.3/ Ethernet 24
Hình 1.16: Minh họa phương pháp CSMA/CD 26
Hình 1.17: Sơ đồ chân chip ENC28J60 28
Hình 1.18: Sơ đồ khối chíp ENC28J60 29
Hình 1.19: Bộ tạo dao động của ENC28J60 29
Hình 1.20: Giao diện kết nối SPI với ENC28J60 31
Hình 1.21: Quá trình đọc thanh ghi điều khiển Ethernet 32
Hình 1.22: Quá trình đọc thanh ghi điều khiển MAC 33
Hình 1.23: Quá trình ghi vào thanh ghi lệnh 33
Hình 1.24: Quá trình ghi vào bộ đệm lệnh 33
Hình 1.25: Quá trình ghi vào lệnh của hệ thống 33
Hình 2.1: Sơ đồ chân PIC 18F4620 39
Hình 2.2: Sơ đồ khối PIC 18F4620 41
Hình 2.3: Bộ nhớ chương trình PIC 18F4620 42
Hình 2.4: Giao diện kết nối giao tiếp SPI 44
Hình 2.5: Các chế độ hoạt động của SPI 45
Trang 9Hình 2.6: Project CCS 47
Hình 3.1: Nguyên lý Time Of Flight 51
Hình 3.2: Tầm quét của cảm biến siêu âm 52
Hình 3.3: Các vùng ghi nhận từ cảm biến Siêu âm 54
Hình 3.4: Ví dụ tính toán thông số của cảm biến 54
Hình 3.5: Kết nối SFR05 ở chế độ 1 56
Hình 3.6: Giản đồ xung của SFR05 ở chế độ 1 56
Hình 3.7: Kết nối SFR05 ở chế độ 2 57
Hình 3.8: Giản đồ xung của SFR05 ở chế độ 2 57
Hình 4.1: Sơ đồ khối hệ thống 60
Hình 4.2: Lưu thuật toán nhận dữ liệu từ ENC28J60 61
Hình 4.3: Sơ đồ nguyên lý khối giao tiếp mạng 61
Hình 4.4: Sơ đồ nguyên lý khối vi điều khiển 62
Hình 4.5: Sơ đồ nguyên lý khối nguồn 63
Hình 4.6: Sơ đồ nguyên lý khối hiển thị 64
Hình 4.7: So sánh UART và RS232 65
Hình 4.8: Sơ đồ nguyên lý khối giao tiếp máy tính 65
Hình 5.1: Mô hình của hệ thống điều khiển và giám sát từ xa .68
Hình 5.2: Lưu đồ thuật toán chương trình chính 69
Hình 5.3: Lưu đồ thuật toán chương trình đo khoảng cách 71
DANH MỤC CÁC BẢNG Bảng 1.1: Một số loại cáp truyền Ethernet thông dụng 22
Bảng 1.2: Tập lệnh điều khiển ENC28J60 32
Bảng 1.3: Các module trong thư viện TCP/IP Stack 35
Bảng 2.1: Đặc tính kỹ thuật của PIC 18F4620 40
Trang 10DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT
ARP Address Resolution Protocol Giao thức phân giải địa chỉARPA Advanced Reseach Projecs Agency Cơ quan nghiên dự án nâng caoCSMA/CD Carrier Sense Multiple Access with
Collision Avoidance
Truy cập nhận biết sóng mangPhát hiện xung độtDHCP Dynamic Host Configuration
Protocol Giao thức cấu hình động máy chủ
ICMP Internet Control Message Protocol Giao thức điều khiển truyền tin
trên mạng
MAC Medium Access Control Điều khiển truy nhập môi trường
mạngNIC Network Information Centre Card mạng
RARP Reverse Address Resolution
Protocol Giao thức phân giải ngược địa chỉSCTP Stream Control Transmission
Protocol
Giao thức điều khiển dòng truyền
dẫnSNMP Simple Network Management
Protocol Giao thức quản trị mạngSPI Serial Peripheral Interface Giao diện nối tiếp với thiết bị
ngoại viSTMP Simple Mail Transfer Protocol Giao thức truyền tải thư từTCP Transmission Control Protocol Giao thức điều khiển truyền
thông
UDP User Datagram Protocol Giao thức truyền nhận dữ liệu
dưới dạng các gói tin
PHẦN I:
LÝ THUYẾT TỔNG QUAN CHƯƠNG 1:
TỔNG QUAN VỀ GIAO THỨC TCP/IP
Chương này đi sâu tìm hiểu về mạng và công nghệ Ethernet, giao thứcTCP/IP Tìm hiểu vi mạch Ethernet ENC28J26 hoạt động với chuẩn giao tiếp SPI
Trang 11Giới thiệu bộ thư viện TCP/IP Stack của Microchip và quy trình tạo trang Web.
1.1 Mạng và giao thức
1.1.1 Mạng (Mạng máy tính)
Mạng máy tính hay hệ thống mạng (computer network hay network system)
là một tập hợp các máy tính được kết nối với nhau thông qua các phương tiệntruyền dẫn nhằm cho phép chia sẻ tài nguyên: máy in, máy fax, dữ liệu,…
Vào giữa thập niên 1980, người sử dụng dùng các máy tính độc lập bắt đầuchia sẻ các tập tin bằng cách dùng moderm kết nối với các máy tính khác Cáchthức này được gọi là điểm nối điểm, hay truyền theo kiểu quay số Khái niệm nàyđược mở rộng bằng cách dùng các máy tính là trung tâm truyền tin trong một kếtnối quay số Các máy tính này được gọi là sàn thông báo (bulletin board) Cácngười dùng kết nối đến sàn thông báo này, để lại đó hay lấy đi các thông điệp, cũngnhư gửi lên hay tải về các tập tin Hạn chế của hệ thống là có rất ít hướng truyền tin,
và chỉ với những ai biết về sàn thông báo đó Ngoài ra, các máy tính tại sàn thôngbáo cần một moderm cho mỗi kết nối, khi số lượng kết nối tăng lên hệ thống khôngthề đáp ứng được nhu cầu
Qua các thập niên 1950, 1970 các kỹ sư điện toán của các viện nghiên cứutrên khắp nước Mỹ bắt đầu liên kết máy tính của họ với nhau thông qua công nghệcủa ngành liên lạc viễn thông Những cố gắng này được ARPA hỗ trợ, và mạngmáy tính mà nó cung cấp được gọi là ARPANET Các công nghệ tạo ra Arpanet
đã mở rộng và phát triển sau đó Bộ Quốc phòng Hoa Kỳ đã phát triển các mạngdiện rộng WAN có độ tin cậy cao, nhằm phục vụ các mục đích quân sự và khoahọc Công nghệ này khác truyền tin điểm nối điểm Nó cho phép nhiều máy tínhkết nối lại với nhau bằng các đường dẫn khác nhau Bản thân mạng sẽ xác định dữliệu di chuyển từ máy tính này đến máy tính khác như thế nào Thay vì chỉ có thểthông tin với một máy tính tại một thời điểm, nó có thể thông tin với nhiều máytính cùng lúc bằng cùng một kết nối
Trong thập niên 1990, việc phát triển của công nghệ World Wide Web đãlàm cho ngay cả những người không chuyên nghiệp cũng có thể sử dụng internet
Nó phát triển nhanh đến mức đã trở thành phương tiện liên lạc toàn cầu như ngàynay
Trang 12Hình1.1: Truyền thông qua mạng máy tínhTrong phạm vi một hệ thống mạng, các yêu cầu và dữ liệu từ một máy tínhđược chuyển qua bộ phận trung gian (có thể là dây cáp mạng hoặc đường điệnthoại) tới một máy tính khác Trong hình 1.1, máy tính A phải có khả năng gửithông tin hoặc yêu cầu tới máy tính B Máy tính B phải hiểu được thông điệp củamáy tính A và đáp lại bằng cách gửi hồi âm cho máy tính A.
Một máy tính tương tác với thế giới thông qua một hoặc nhiều ứng dụng.Những ứng dụng này thực hiện các nhiệm vụ cụ thể và quản lý dữ liệu ra và vào.Nếu máy tính đó là một phần của hệ thống mạng, thì một trong số các ứng dụng trên
sẽ có thể giao tiếp với các ứng dụng trên các máy tính khác thuộc cùng hệ thốngmạng Bộ giao thức mạng là một hệ thống các quy định chung giúp xác định quátrình truyền dữ liệu phức tạp Dữ liệu đi từ ứng dụng trên máy này, qua phần cứng
về mạng của máy, tới bộ phận trung gian và đến nơi nhận, thông qua phần cứng củamáy tính đích rồi tới ứng dụng
Như trong hình 1.2 kết cấu vật lý của mạng Internet gồm có mạng chínhchứa các server cung cấp dịch vụ cho mạng, mạng nhánh bao gồm các trạm làmviệc sử dụng dịch vụ do Internet cung cấp "Đám mây Internet" hàm chứa vô vànmạng chính, mạng nhánh và bao phủ toàn thế giới Để một hệ thống phức tạp nhưvậy hoạt động trơn tru và hiệu quả thì điều kiện tiên quyết là mọi máy tính trongmạng, dù khác nhau về kiến trúc, đều phải giao tiếp với mạng theo cùng một quyluật Đó là giao thức TCP/IP
Trang 13Hình 1.2: Mô hình tổng quát của mạng Internet
2.2.2 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ấtvới nhau TCP/IP là viết tắt của Transmission Control Protocol (Giao thức ĐiềuKhiể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 2 giao thức TCP và IP mà thực tế nó là tập hợp của nhiều giaothức Chúng ta gọi đó là 1 hệ giao thức hay bộ giao thức (Suite Of Protocols)
Các giao thức TCP/IP có vai trò xác định quá trình liên lạc trong mạng vàquan trọng hơn cả là định nghĩa “hình dáng” của một đơn vị dữ liệu và những thôngtin chứa trong nó để máy tính đích có thể dịch thông tin một cách chính xác TCP/IP
và các giao thức liên quan tạo ra một hệ thống hoàn chỉnh quản lý quá trình dữ liệuđược xử lý, chuyển và nhận trên một mạng sử dụng TCP/IP Một hệ thống các giaothức liên quan, chẳng hạn như TCP/IP, được gọi là bộ giao thức
Một chuẩn TCP/IP là một hệ thống các quy định quản lý việc trao đổi trêncác mạng TCP/IP Bộ lọc TCP/IP là một phần mềm có chức năng cho phép mộtmáy tính hoà vào mạng TCP/IP
Mục đích của các chuẩn TCP/IP là nhằm đảm bảo tính tương thích của tất cả
Trang 14bộ lọc TCP/IP thuộc bất kỳ phiên bản nào hoặc của bất kỳ hãng sản xuất nào.
Hai đặc điểm quan trọng của TCP/IP tạo ra môi trường phi tập trung gồm:+ Xác nhận mút đầu cuối: hai máy tính đang kết nối với nhau đóng vai tròhai đầu mút ở mỗi đầu của dây truyền Chức năng này xác nhận và kiểm tra sự traođổi giữa 2 máy Về cơ bản, tất cả các máy đều có vai trò bình đẳng
+ Định tuyến động: các đầu mút được kết nối với nhau thông qua nhiềuđường dẫn, và các bộ định tuyến làm nhiệm vụ chọn đường cho dữ liệu dựa trên cácđiều kiện hiện tại
a) Nguyên tắc hoạt động:
Dữ liệu truyền từ một ứng dụng TCP/IP hoặc ứng dụng mạng thông qua mộtcổng TCP hay UDP tới giao thức lớp TCP hoặc UDP Các chương trình có thể truycập mạng qua TCP hoặc UDP, điều này phụ thuộc vào yêu cầu của chương trình
TCP là một giao thức định hướng kết nối Các giao thức định hướng kết nốicung cấp khả năng kiểm soát giao thông và kiểm tra lỗi tinh vi hơn các giao thứckhông định hướng kết nối TCP đảm bảo việc lưu chuyển của dữ liệu và đáng tincậy hơn UDP, nhưng việc có thêm những chức năng này đồng nghĩa rằng TCPchậm hơn UDP
UDP là giao thức không định hướng kết nối Nó nhanh hơn TCP, nhưng mức
độ tin cậy thấp hơn
Khi các gói dữ liệu đi tới cấp Internet, tại đây giao thức IP cung cấp thông tinđịa chỉ logic và gắn thông tin đó vào gói dữ liệu
Gói dữ liệu có IP tiến vào lớp truy cập mạng, tại đây nó chuyển giao cho bộphận phần mềm được thiết kế để tương tác với mạng vật lý Lớp truy cập mạng tạo
ra một hoặc nhiều khung dữ liệu để nó có thể vào mạng vật lý
Khung dữ liệu sẽ được chuyển đổi thành một dải bit để tới bộ phận trunggian mạng
b) Thuộc tính
Địa chỉ logic
Một bộ điều hợp mạng (network adapter) có một địa chỉ vật lý (MAC) cốđịnh và duy nhất Địa chỉ MAC là địa chỉ vật lý của card mạng, được xác định duynhất trên toàn thế giới Mỗi khi một nhà sản xuất chế tạo ra 1 card mạng, phải định
Trang 15địa chỉ MAC duy nhất cho nó Địa chỉ MAC được biểu diễn bằng một số nhị phân
48 bit (hoặc viết ngắn gọn là 12 số hexa) Trong đó 24 bit đầu là mã số của công tysản xuất Card mạng đó, còn 24 bit sau là số seri của từng Card mạng đối với mộthãng sản xuất Như vậy người ta bảo đảm không có hai Card mạng nào trùng nhau
về địa chỉ vật lý, người dùng không thể thay đổi được địa chỉ MAC của card mạng(Tuy nhiên có thể giả mạo được) Địa chỉ vật lý là một con số cho trước gắn vào bộđiều hợp tại nơi sản xuất Trong mạng cục bộ, những giao thức chỉ chú trọng vàophần cứng sẽ vận chuyển dữ liệu theo mạng vật lý nhờ sử dụng địa chỉ vật lý của bộđiều hợp Có nhiều loại mạng và mỗi mạng có cách thức vận chuyển dữ liệu khácnhau Ví dụ, một mạng Ethernet, một máy tính gửi thông tin trực tiếp tới bộ phậntrung gian Bộ điều phối mạng của mỗi máy tính sẽ lắng nghe tất cả các tín hiệutruyền qua lại trong mạng cục bộ để xác định thông tin nào có địa chỉ nhận giốngcủa mình
Tất nhiên, với những mạng rộng hơn, các bộ điều hợp không thể lắng nghetất cả các thông tin Khi các bộ phận trung gian trở nên quá tải với số lượng máytính được thêm mới, hình thức hoạt động này không thể hoạt động hiệu quả
Các nhà quản trị mạng thường phải chia vùng mạng bằng cách sử dụng cácthiết bị như bộ định tuyến để giảm lượng giao thông Trên những mạng có địnhtuyến, người quản trị cần có cách để chia nhỏ mạng thành những phần nhỏ (gọi làtiểu mạng) và thiết lập các cấp độ để thông tin có thể di chuyển tới đích một cáchhiệu quả TCP/IP cung cấp khả năng chia tiểu mạng thông qua địa chỉ logic Mộtđịa chỉ logic là địa chỉ được thiết lập bằng phần mềm của mạng Trong TCP/IP, địachỉ logic của một máy tính được gọi là địa chỉ IP Một địa chỉ IP bao gồm: mã số(ID) mạng, dùng để xác định mạng; ID tiểu mạng, dùng để xác định vị trí tiểu mạngtrong hệ thống; ID máy nguồn (chủ), dùng để xác định vị trí máy tính trong tiểumạng
Hệ thống tạo địa chỉ IP cũng cho phép quản trị mạng đặt ra hệ thống số củamạng một cách hợp lý để khi cần mở rộng có thể dễ dàng bổ sung và quản lý
Định tuyến
Bộ định tuyến là thiết bị đặc biệt có thể đọc được thông tin địa chỉ logic vàđiều khiển dữ liệu trên mạng tới được đích của nó
Trang 16Hình 1.3: Kết nối trong và ngoài mạng LAN [8]
Ở mức độ đơn giản nhất, bộ định tuyến phân chia tiểu vùng LAN từ hệ thốngmạng Dữ liệu cần chuyển tới địa chỉ nằm trong tiểu vùng LAN đó, nên không qua
bộ định tuyến Nếu dữ liệu cần tới máy tính nằm ngoài tiểu vùng LAN của máy gửi
đi (máy chủ), thì bộ định tuyến sẽ làm nhiệm vụ của mình Trong những mạng cóquy mô rộng lớn hơn, như Internet chẳng hạn, sẽ có vô vàn bộ định tuyến và cungcấp các lộ trình khác nhau từ nguồn tới đích
TCP/IP bao gồm các giao thức có chức năng xác định cách các bộ định tuyếntìm lộ trình trong mạng
Giải pháp địa chỉ dạng tên
Mặc dù địa chỉ IP số có thể thân thiện hơn với địa chỉ vật lý của adaptermạng, nhưng IP được thiết kế chỉ đơn giản là nhằm tạo sự thuận tiện cho máy tínhchứ không phải con người Mọi người chắc chắn sẽ gặp phải khó khăn khi nhớ cácđịa chỉ như 111.121.131.146 hay 111.121.131.156 Vì thế, TCP/IP cung cấp một địachỉ dạng ký tự tương ứng với địa chỉ số, những địa chỉ ký tự này được gọi là tênmiền hay DNS (Dịch vụ tên miền) Một số máy tính đặc biệt được gọi là máy chủquản lý tên miền lưu trữ các bảng hướng dẫn cách gắn tên miền với địa chỉ số
Kiểm tra lỗi và kiểm soát giao thông
Trang 17Bộ giao thức TCP/IP cung cấp các thuộc tính đảm bảo mức độ tin cậy củaviệc vận chuyển dữ liệu trên mạng Những thuộc tính này bao gồm việc kiểm tra lỗitrong quá trình vận chuyển (để xác định dữ liệu đã tới nơi chính là cái đã được gửiđi) và xác nhận việc thông tin đã được nhận Lớp vận chuyển của TCP/IP xác địnhcác việc kiểm tra lỗi và xác nhận thông qua giao thức TCP Nhưng giao thức ở cấpthấp hơn lớp truy cập mạng cũng đóng một vai trò trong toàn bộ quá trình kiểm tralỗi.
Hỗ trợ ứng dụng
Bộ giao thức phải cung cấp giao diện cho ứng dụng trên máy tính đểnhững ứng dụng này có thể tiếp cận được phần mềm giao thức và có thể vàomạng Trong TCP/IP, giao diện từ mạng cho tới ứng dụng chạy trên máy ở mạngcục bộ được thực hiện thông qua các kênh logic gọi là cổng (port) Mỗi cổng cómột số đánh dấu
c) Nhiệm vụ và thành phần của giao thức
TCP/IP (Transmission Control Protocol/Internet Protocol) là kết quả nghiêncứu và triển giao thức trong mạng chuyển mạch gói thử nghiệm mang tên Arpanet
do ARPA (Advanced Reseach Projecs Agency) Khái niệm TCP/IP dùng để chỉ cảmột lớp tập giao thức và dịch vụ truyền thông được công nhận thành chuẩn choInternet Cho tới nay TCP/IP đã xâm nhập tới rất nhiều phạm vi ứng dụng khácnhau, trong đó có các máy tính cục bộ và mạng truyền thông công nghiệp
Hình1.4: Kiến trúc giao thức TCP/IPTCP/IP được xem là giản lược của mô hình tham chiếu OSI với bốn lớp,trong mô hình này là (theo thứ tự từ trên xuống):
ApplicationsTransport
Internetwork
Network Interface and Hardware
ApplicationsTCP/UDP
Network Interface and Hardware
ICMPARP/RARPIP
Trang 18Lớp ứng dụng trao đổi dữ liệu với lớp dưới (lớp vận chuyển) qua cổng Việcdù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àochứa bên trong gói dữ liệu Những cổng được đánh bằng số và những ứng dụngchuẩ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…
Lớp vận chuyển:
Lớp vận chuyển có chức năng cung cấp các dịch vụ cho việc thực hiện vậnchuyển dữ liệu giữa các chương trình ứng dụng một cách tin cậy hoàn toàn TCP làgiao thức tiêu biểu nhất, phổ biến nhất phục vụ việc thực hiện chức năng nói trên.TCP hỗ trợ việc trao đổi dữ liệu trên cơ sở dịch vụ có nối Khi dữ liệu nhận, giaothức TCP lấy những gói được gửi từ lớp Internet và đặt chúng theo thứ tự của nó,bởi vì những gói có thể đến vị trí đích theo phương thức không theo một thứ tự, vàkiểm tra nếu nội dung của gói nhận có nguyên vẹn hay không và gửi tín hiệuAcknowledge – chấp nhận tới bên gửi, cho biết gói dữ liệu đã đến đích an toàn Nếukhông có tín hiệu Acknowledge của bên nhận (có nghĩa là dữ liệu chưa đến đíchhoặc có lỗi), bên truyền sẽ truyền lại gói dữ liệu bị mất
Bên cạnh TCP, một giao thức khác cũng được sử dụng cho lớp vận chuyển
đó là UDP (User Data Protocol) Khác với TCP, UDP cung cấp dịch vụ không
Trang 19hướng kết nối cho việc gửi dữ liệu mà không đảm bảo tuyệt đối đến đích, khôngđảm bảo trình tự đến đích của các gói dữ liệu.
Như vậy TCP được coi là một giao thức tin cậy, trong khi UDP được coi làgiao thức không đáng tin cậy Tuy nhiên UDP lại đơn giản hơn và có hiệu suấtnhanh hơn TCP, chỉ đòi hỏi một cơ chế xử lí giao thức tối thiểu và thường đượcdùng làm cơ sở thực hiện các giao thức cao cấp theo yêu cầu riêng của người sửdụng, ví dụ tiêu biểu là giao thức SNMP
Cả hai giao thức UDP và TCP sẽ lấy dữ liệu từ lớp ứng dụng và thêm headervào khi truyền dữ liệu Khi nhận dữ liệu, header sẽ bị gỡ trước khi gửi dữ liệu đếncổng thích hợp Trong header này có một vài thông tin điều khiển liên quan đến sốcổng nguồn, số cổng tới đích, chuỗi số (để hệ thống sắp xếp lại dữ liệu và hệ thốngAcknowledge sử dụng trong TCP) và Checksum (dùng để tính toán xem dữ liệu đếnđích có bị lỗi hay không)
Header của UDP có 8 byte trong khi header của TCP có 20 hoặc 24 byte (tùytheo kiểu byte lựa chọn)
Dữ liệu ở lớp này sẽ được chuyển tới lớp mạng nếu truyền dữ liệu hoặc đượcgửi từ lớp mạng tới nếu nhận dữ liệu
Với giao thức IP, lớp mạng được sử dụng có nhiệm vụ thêm header tới gói
dữ liệu được nhận từ lớp vận chuyển, là một loại dữ liệu điều khiển khác, nó sẽthêm địa chỉ IP nguồn và địa chỉ IP đích – có nghĩa là địa chỉ IP của bên gửi dữ liệu
và bên nhận dữ liệu
Mỗi gói dữ liệu (datagram) của IP có kích thước lớn nhất là 65.535 byte, baogồm cả mào đầu (header) mà có thể dùng 20 hoặc 24 byte, phụ thuộc vào sự lựachọn trong chương trình sử dụng Như vậy gói dữ liệu (datagram) của IP có thể
Trang 20mang 65.515 byte hoặc 65.511 byte, giao thức IP sẽ cắt gói xuống thành nhiều gói
dữ liệu (datagram) nếu thấy cần thiết
Đối với lớp mạng, dữ liệu có thể lên tới 1500 byte, nghĩa là kích thước lớn nhấttrường dữ liệu của khung (frame) được gửi lên mạng MTU (Maximum Transfer Unit) cógiá trị 1500 byte Như vậy hệ điều hành tự động cấu hình giao thức IP để tạo ra gói dữliệu (datagram) của IP có chiều dài 1500 byte mà không phải là 65.535 byte
Hình 1.5 dưới minh họa gói dữ liệu (datagram) được tạo ra từ lớp mạng bằnggiao thức IP Như chúng ta đã đề cập mào đầu (header) được giao thức IP thêm vàobao gồm địa chỉ IP nguồn, địa chỉ IP đích và một vài thông tin điều khiển
Lớp liên mạng:
Lớp liên mạng liên quan tới việc trao đổi dữ liệu giữa hai trạm thiết bị trongcù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ườngtruyền dẫn, kiểm soát lỗi và lưu thông dữ liệu Gói dữ liệu (datagram) được tạo từlớp mạng sẽ được gửi xuống tới lớp liên mạng nếu truyền dữ liệu, hoặc lớp liênmạ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 (LogicLink Control), MAC (Media Access Control) và lớp vật lí Physical
Lớp MAC (điều khiển truy nhập phương tiện truyền thông) có nhiệm vụ lắpráp khung (frame) mà sẽ được gửi lên mạng, thêm địa chỉ MAC nguồn và địa chỉMAC đích Địa chỉ MAC là địa chỉ vật lí của card mạng Những khung (frame) màđích tới mạng khác sẽ dùng địa chỉ MAC của router như là địa chỉ đích
Những lớp LLC và MAC sẽ thêm những mào đầu (header) của chúng tới gói
dữ liệu (datagram) mà nhận được từ lớp Internet Do đó, cấu trúc đầy đủ của khung(frame) được tạo ra từ hai lớp đó được thể hiện trong hình vẽ 1.5
Lớp vật lí đề cập tới giao diện vật lí giữa một thiết bị truyền dữ liệu với môitrường truyền dẫn hay mạng, trong đó có các đặc tính tín hiệu, chế độ truyền, tốc độtruyền và cấu trúc cơ học của các phích cắm, jack cắm Lớp này có nhiệm vụchuyển đổi frame do lớp MAC tạo ra thành tín hiệu điện (đối với hệ thống dây dẫnmạng bằng cable) hoặc thành song từ trường (đối với hệ thống mạng không dây)
Trang 21Hình1.5: Cấu trúc gói dữ liệu TCP/IP
1.1.3 Cấu trúc gói tin TCP/IP và quá trình thiếp lập kết nối của giao thức TCP/IP
a) Cấu trúc địa chỉ IP
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ínhliê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áytí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 (NetworkInformation 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 quamộ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ấutrúc con của nó
Class D 1 1 1 0 Multicast address
Class E 1 1 1 1 0 Reverved for future use
Data
Data
TCP/IP Header
IP Header
TCP/IP Header
IP Header
LLC Header
Lớp mạng
MAC CRCMAC
Header
Trang 22+ Đị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 1.6 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 trongmạ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 bytethứ 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 địachỉ 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ó
Hình1.7: Mạng con và mặt nạ mạng
Trang 23b) Cấu trúc gói tin IP
Gói tin (packet) IP có dạng:
Bit 0 3 4 7 9 15 16 31
lengh Type of service Total length
Hình 1.8: Cấu trúc gói tin IP+ Ver-4 bít: chỉ phiên bản (version) hiện hành của IP đang được dùng, nếutrườ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óitin này
+ IHL (IP Header Length)-4bít: chỉ độ dài phần mào đầu (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ìnhthườ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ềngó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ấtcao, 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ậybì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 mào đầu (header), tínhtheo đơn vị byte
- Indentification-16 bít: cùng với các tham số khác như địa chỉ nguồn(Source Address), địa chỉ đích (Destination Address) dùng để định danh duy nhấtmột gói tin trong thời gian nó tồn tại trên mạng
Trang 24- Flags: Các gói tin khi truyền trên đường đi có thể bị phân thành nhiều góitin nhỏ Trường Flags dùng để điều khiển phân đoạn và lắp ghép 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 đoạn, 1 ứng với gói tin không bị phân đoạn.+ 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 ứngvớ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-13bí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-1byte: quy định thời gian tồn tại tính bằng giây của gói tintrong 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 vùng dữ liệu ở trạm đích TCPứng với giá trị 6, UDP ứ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 ratrong quá trình truyền của nó
- Source IP Address-4byte: Địa chỉ IP của nơi truyền gói tin
- Destination IP Address-4byte: Địa chỉ IP của nơi nhậ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, thông tin giờ hiện tại(timestamp) ở mỗi router
- Padding-độ dài thay đổi: Dùng để đảm bảo phần mào đầu (header) luôn kếtthúc ở một mốc 32 bít
- Data: chứa thông tin lớp trên,chiều dài thay đổi đến 64Kb
c) Cấu trúc gói tin TCP
Đơn vị dữ liệu trong TCP được gọi là phân đoạn mạng (Segment) với cấu trúcnhư sau:
Bit 0 3 4 9 10 15 16 31
Trang 2596 Data
Hình 1.9: Cấu trúc gói tin TCP
- Source Port-2 byte: 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 của byte đầu tiên của phân đoạn mạng (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ó cờ SYN thì đây là số thứ tự của byte đầu tiên
- Acknowledgment Number-2byte: nếu cờ ACK bật thì giá trị của trườngchính là số thứ tự 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 offset-4bit: độ dài của phần header tính theo đơn vị từ 32 bit 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 (Urgent pointer) 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ộ hoá số hiệu tuần tự
+ FIND: không còn dữ liệu từ trạm nguồn
- Window-2byte: số byte dữ liệu bắt đầu từ byte được chỉ ra trong ACKnumber mà trạm nguồn đã sẵn sàng để nhận
- Checksum: kiểm tra cho cả phần mào đầu (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ố từ
16 bit mà số thứ tự gói tin (sequence number) cần dịch trái
- Option-2byte: vùng tuỳ 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 một phân đoạn mạng (segment)
Trang 26- Padding: phần chèn thêm vào mào đầu (header) để đảm bảo phần headerluô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à 536byte.Giá trị này có thể khai báo trong trường Option
Quá trình thiếp lập kết nối của giao thức TCP:
Không giống như giao thức UDP-giao thức có thể lập tức gửi mà không cầnthiết lập kết nối, TCP đòi hỏi phải thiết lập kết nối trước khi bắt đầu gửi dữ liệu vàkết thúc kết nối khi việc gửi dữ liệu hoàn tất Cụ thể các kết nối của TCP có 3 giảipháp: thiết lập kết nối, truyền dữ liệu và kết thúc kết nối
Các trạng thái của kết nối:
- LISTEN: đang đợi yêu cầu kết nối từ một TCP và cổng bất kỳ ở xa (trạngthái này thường do các TCP server đặt)
- SYN-SENT: đang đợi TCP ở xa gửi một gói tin TCP với các cờ SYN vàACK được bật (trạng thái này thường do các TCP client cài đặt)
- SYN-RECEIVED: đang đợi TCP ở xa gửi lại một tin báo nhận sau khi đãgửi cho TCP ở xa đó một tin báo nhận kết nối (connnection acknowledgmen,thường do TCP server đặt)
- ESTABLISHED: cổng đã sẵn sàng nhận/gửi dữ liệu với TCP ở xa (đặt bởiTCP client và server)
- TIME-WAIT: đang đợi qua đủ thời gian để chắc chắn là TCP ở xa nhậnđược đã nhận được tin báo nhận về yêu cầu kết thúc kết nối của nó Một kết nối cóthể ở trạng thái TIME-WAIT trong vòng tối đa 4 phút
Thiết lập kết nối:
Để thiết lập một kết nối, TCP sử dụng một quy trình bắt tay 3 bước Trướckhi client thử kết nối với một server, server phải đăng ký một cổng và mở cổng đócho các kết nối: đây được gọi là mở bị động Một khi mở bị động đã được thiết lậpthì một client có thể bắt đầu mở chủ động Để thiết lập một kết nối, quy trình bắt tay
3 bước xảy ra như sau:
- Máy chủ động được thực hiện bằng các gửi một SYN cho server
- Server trả lời bằng một SYN-ACK
- Cuối cùng, client gửi một ACK lại cho server
Trang 27Hình 1.10: Thiết lập kết nối TCPĐến đây cả client và server đều đã nhận được một tin báo nhận ACK về kết nối.
Truyền dữ liệu:
Một số đặc điểm cơ bản của TCP để phân biệt với UDP:
+ Truyền dữ liệu không lỗi (do có cơ chế sữa lỗi/truyền lại)
+ Truyền các gói dữ liệu theo đúng thứ tự
+ Truyền lại các gói dữ liệu mất trên đường truyền
+ Loại bỏ các gói dữ liệu trùng lặp
+ Cơ chế hạn chế tắc nghẽn đường truyền
Ở hai bước đầu tiên trong ba bước bắt tay, hai máy tính trao đổi một số thứ
tự gói ban đầu (Initial Sequence Number-ISN) Số này có thể chọn một cách ngẫunhiên Số thứ tự này được dùng để đánh dấu các khối dữ liệu gửi từ mỗi máy tính.Sau mỗi byte được truyền đi, số này được tăng lên Nhờ vậy ta có thể sắp xếp lạichúng cho khi tới máy tính kia bất kể các gói tin tới nơi theo thứ tự thế nào Trên lýthuyết, mỗi byte gửi đi đều có một số thứ tự và khi nhận được thì máy tính nhận lạigửi tin báo nhận (ACK) Trong thực tế thì chỉ có byte dữ liệu đầu tiên được gán sốthứ tự trong trường số thứ tự của gói tin và bên nhận sẽ gửi tin báo nhận bằng cáchgửi số thứ tự của byte đang chờ
Ví dụ máy A gửi 4 byte với số thứ tự ban đầu là 100 (theo lý thuyết thì 4byte sẽ có thứ tự là 100, 101, 102 và 103) thì bên nhận sẽ gửi báo nhận có nội dung
là 104, bên nhận đã ngầm thông báo rằng nó đã nhận được các byte 100,101,102 và
103 Trong trường hợp 2 byte cuối bị lỗi thì bên nhận sẽ gửi tin báo nhận với nộidung 102 vì 2 byte 100 và 101 đã nhận thành công Giả sử ta có 10000 byte đượcgửi trong 10 gói tin 1000byte và có 1 gói tin mất trên đường truyền Nếu gói tin bịmất là gói đầu tiên thì bên gửi sẽ phải gửi lại toàn bộ 10 gói tin vì không có cách
Trang 28nào để bên nhận thông báo nó đã nhận được 9 gói tin kia Vấn đề này được giảiquyết trong giao thức SCTP (Stream Control Transmission Protocol-Giao thức điềukhiển dòng truyền dẫn) với việc bổ sung báo nhận chọn lọc
Số thứ tự và tin báo nhận giải quyết được các vấn đề về lặp gói tin, truyền lạinhững gói tin bị hỏng/mất và các gói tin đến sai thứ tự Để phục vụ mục đích kiểmtra, các gói tin có trường giá trị kiểm tra tổng (checksum) Với trình độ hiện tại, kỹthuật kiểm tra tổng trong TCP không đủ mạnh Các tầng liên kết dữ liệu với xácsuất lỗi bit cao có thể cần được bổ sung các khả năng phát hiện lỗi tốt hơn Nếu nhưTCP được thiết kế vào thời điểm này, nhiều khả năng nó sẽ bao gồm trường kiểmtra độ dư tuần hoàn (cyclic rudundancy check-CRC) với độ dài 32 bít Điểm yếunày một phần được bù đắp bằng CRC hay những kỹ thuật khác tại tầng thứ 2 trong
mô hình OSI Tuy nhiên điều này không có nghĩa là trường kiểm tra tổng của TCP
là không cần thiết: thống kê cho thấy các sai sót do cả phần cứng và phần mềm gây
ra giữa các điểm áp dụng kỹ thuật kiểm tra CRT là khá phổ biến và kỹ thuật kiểmtra tổng có khả năng phát hiện phần lớn các lỗi đơn giản này
Điểm cuối cùng là khả năng hạn chế tắc nghẽn Tin báo nhận (hoặc không cótin báo nhận) là tín hiệu về trạng thái đường truyền giữa 2 máy tính Từ đó, hai bên
có thể thay đổi tốc độ truyền nhận dữ liệu cho phù hợp với điều kiện Vấn đề nàythường được đề cập là điều kiển lưu lượng, kiểm soát tắc nghẽn TCP sử dụng một
số cơ chế nhằm đạt được hiệu suất cao và ngăn ngừa khả năng nghẽn mạng Các cơchế này bao gồm: cửa sổ trượt (sliding window), thuật toán slow-start, thuật toántránh nghẽn mạng (congestion avoidance), thuật toán truyền lại và phục hồi nhanh,
… Hiện nay, vấn đề cải tiến TCP trong môi trường truyền dẫn tốc độ cao đang làhướng nghiên cứu được quan tâm
Kích thước cửa sổ TCP là chiều dài (byte) của khối dữ liệu có thể lưu trong
bộ đệm bên nhận Bên gửi chỉ có thể gửi tối đa lượng thông tin chứa trong cửa sổnày trước khi nhận được tin báo nhận
Dãn kích thước cửa sổ: Để tận dụng khả năng truyền dẫn của mạng thì cửa
sổ dùng trong TCP cần được tăng lên Trường điều khiển kích thước cửa sổ của góitin TCP có độ dài 2 byte do đó kích thước tối đa của cửa sổ là 65535 byte Dotrường điều khiển không thể thay đổi nên người ta sử dụng một hệ số dãn nào đó
Trang 29Hệ số này được định nghĩa trong RFC1323 có thể tăng kích thước tối đa của cửa sổlên tới 1GB Việc tăng kích thước cửa sổ chỉ được dùng trong giao thức bắt tay 3pha Giá trị của trường co dãn cửa sổ thể hiện số bít cần được dịch trái đối vớitrường kích thước cửa sổ Hệ số dãn có thể thay đổi từ 0 (không dãn) đến 14 (dãntối đa).
Hầu hết các mạng LAN ngày nay đều được thiết kế để hoạt động dựa trên mộtcấu trúc mạng định trước Điển hình và sử dụng nhiều nhất là các cấu trúc: dạng hình
Trang 30sao, dạng bus, dạng vòng cùng với những cấu trúc kết hợp của chúng.
Ngày 22 tháng 5 năm 1973, Robert Metcalfe thuộc Trung tâm Nghiên cứu
Trang 31Palto Alto của hãng Xerox – PARC, bang California, đã đưa ra ý tưởng hệ thống kếtnối mạng máy tính cho phép các máy tính có thể truyền dữ liệu với nhau và với máy
in lazer Lúc này, các hệ thống tính toán lớn đều được thiết kế dựa trên các máy tínhtrung tâm đắt tiền (mainframe) Điểm khác biệt lớn mà Ethernet mang lại là cácmáy tính có thể trao đổi thông tin trực tiếp với nhau mà không cần qua máy tínhtrung tâm Mô hình mới này làm thay đổi thế giới công nghệ truyền thông
Chuẩn Ethernet 10Mbps đầu tiên được xuất bản năm 1980 bởi sự phối hợpphát triển của 3 hãng : DEC, Intel và Xerox Chuẩn này có tên DIX Ethernet (lấy têntheo 3 chữ cái đầu của tên các hãng) Uỷ ban 802.3 của IEEE đã lấy DIX Ethernetlà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 IEEE802.3 Carrier Sense Multiple Access with Collition Detection (CSMA/CD) AccessMethod vesus Physical Layer Specification Mặc dù không sử dụng tên Ethernetnhưng hầu hết mọi người đều hiểu đó là chuẩn của công nghệ Ethernet Ngày naychuẩn IEEE 802.3 là chuẩn chính thức của Ethernet IEEE đã phát triển chuẩnEthernet trên nhiều công nghệ truyền dẫn khác nhau vì thế có nhiều loại mạngEthernet
a) Cấu trúc liên kết
Một cấu trúc liên kết mạng là sự sắp xếp hình học của các nút và các liên kếtcáp trong mạng LAN, và được sử dụng trong hai cấu hình chung: dạng bus và dạngsao Hai cấu trúc liên kết xác định cách các nút được kết nối với nhau Nút là mộtthiết bị hoạt động kết nối vào mạng, chẳng hạn như một máy tính hoặc máy in Mộtnút cũng có thể là một phần của thiết bị mạng như hub, switch hoặc router Một cấutrúc liên kết bus bao gồm các nút liên kết với nhau trong một loạt với mỗi nút đượckết nối với một dây cáp dài hoặc xe buýt Nhiều nút có truy cập vào đường truyền
và bắt đầu giao tiếp với tất cả các nút khác trên phân đoạn mạng Một kết nối bị mấttại bất cứ nơi nào trong cáp thường sẽ gây ra các phân đoạn toàn bộ được khônghoạt động cho đến khi kết nối được sửa chữa
10BASE-T Ethernet và Fast Ethernet sử dụng một cấu trúc liên kết sao, trong
đó truy cập được kiểm soát bởi một máy tính trung tâm Nói chung một máy tínhđược đặt tại một đầu của phân vùng, và đầu kia là đầu cuối vị trí trung tâm với mộttrung tâm Bởi vì UTP thường chạy kết hợp với hệ thống cáp điện thoại, vị trí trung
Trang 32tâm này có thể là một tủ điện thoại hoặc khu vực khác, nơi nó được thuận tiện đểkết nối các đoạn UTP cho mạng xương sống một Các lợi thế chính của kiểu mạngnày là độ tin cậy cao, vì nếu một trong các phân đoạn của những kết nối điểm-điểm
có một xung đột, nó sẽ chỉ ảnh hưởng đến hai nút vào liên kết đó Người dùng máytính khác trên mạng có thể tiếp tục hoạt động bình thường như xung đột không tồntại
b) Kỹ thuật truyền dẫn
Về mặt logic, Ethernet có cấu trúc bus Cấu trúc mạng vật lí có thể là đườngthẳng hoặc hình sao tùy theo phương tiện truyền dẫn Bốn loại cáp thông dụng nhất:cáp đồng trục dầy, cáp đồng trục mỏng, cáp đôi dây xoắn, cáp quang
Bảng 1.1: Một số loại cáp truyền Ethernet thông dụngTên hiệu Loại cáp Chiều dài tối đa Số trạm tối đa
Với 10BASE5, bộ nối được gọi là vòi hút (vampire tap), đóng vai trò một bộthu phát (transceiver) Bộ thu phát chứa vi mạch điện tử thực hiện chức năng nghengóng đường truyền và nhận biết xung đột Trong trường hợp xung đột được pháthiện, bộ thu phát gửi một tín hiệu không hợp lệ để tất cả các bộ thu phát khác cũngnhận biết được rằng xung đột đã xảy ra Như vậy, chức năng của module giao diệnmạng được giảm nhẹ Cáp nối giữa bộ thu phát và card giao diện mạng được gọi làcáp thu phát, có thể dài tới 50m và chứa tới năm đôi dây xoắn bọc lót riêng biệt(STP) Hai đôi dây cần cho trao đổi dữ liệu, hai đôi cho truyền tín hiệu điều khiển,còn đôi dây thứ năm có thể sử dụng để cung cấp nguồn cho bộ thu phát Một số bộ
Trang 33thu phát cho phép nối tới tám trạm qua các cổng khác nhau, nhờ vậy tiết kiệm được
số lượng bộ nối cũng như công lắp đặt
Với 10BASE2, card giao diện mạng được nối với cáp đồng trục thông qua bộnối thụ động BNC hình chữ T Bộ thu phát được tích hợp trong bảng mạch điện tửcủa module giao diện mạng bên trong máy tính Như vậy, mỗi trạm có một bộ thuphát riêng biệt
Về bản chất, cả hai kiểu dây với cáp đồng trục như nói trên đều thực hiện cấutrúc bus (vật lí cũng như logic), vì thế có ưu điểm là tiết kiệm dây Tuy nhiên, cáclỗi phần cứng như đứt cáp, lỏng bộ phận nối rất khó phát hiện trực tuyến Mặc dù đã
có một số biện pháp khắc phục, phương pháp tin cậy hơn là sử dụng cấu trúc hìnhsao với một bộ chia (hub) hoặc một bộ chuyển mạch (switch) Cấu trúc này thôngthường được áp dụng với cáp đôi dây xoắn, nhưng cũng áp dụng được với cáp đồngtrục
Đa số cấu hình mạng Ethernet có kết nối với thiết bị điều khiển thường sửdụng chuẩn chung 10BASE-T Trong mạng này các trạm được nối với nhau quamột bộ chia giống như cách nối các mạng điện thoại
Ưu điểm của cấu trúc này là việc bổ sung hoặc tách một trạm ra khỏi mạngcũng như việc phát hiện lỗi cáp truyền rất đơn giản
Nhược điểm có thể thấy rõ nhất đó là tốn dây dẫn và công đi dây cũng nhưchi phí cho bộ chia chất lượng cao cũng là một vấn đề Bên cạnh đó, khoảng cáchtối đa cho phép từ một trạm tới bộ chia thường bị hạn chế trong vòng 100 – 150m
Bên cạnh cáp đồng trục và cáp đôi dây xoắn thì cáp quang cũng được sửdụng nhiều trong Ethernet, trong đó đặc biệt là 10BASE-F Với cách ghép nối duynhất là điểm – điểm, cấu trúc mạng có thể là daisy-chain, hình sao hoặc hình cây.Thông thường, chi phí cho các bộ nối và thiết bị đầu cuối rất lớn nhưng khả năngkháng nhiễu tốt và tốc độ truyền cao là các yếu tố quyết định trong nhiều phạm viứng dụng
Trong nhiều trường hợp, ta có thể sử dụng phối kết hợp nhiều loại trong mộtmạng Ethernet Ví dụ, cáp quang hoặc cáp đồng trục dầy có thể sử dụng là đườngtrục chính hay xương sống (backbone) trong cấu trúc cây, với các đường nhánh làcáp mỏng hoặc đôi dây xoắn Đối với mạng quy mô lớn, có thể sử dụng các bộ lặp,
Trang 34nhưng đường dẫn giữa hai bộ thu phát không được phép dài quá 2,5km cũng nhưkhông đi qua quá bốn bộ lặp.
Địa chỉđích
Địa chỉnguồn
Độ dàikiểu gói
Dữ liệu PAD FCS
7 byte 1 byte 6 byte 6 byte 2 byte 46-1500 byte 4 byte
Hình 1.15: Cấu trúc khung MAC theo IEEE 802.3/ Ethernet
Mở đầu (Preamble) của khung MAC là trường 7 byte giống nhau có giá trị
55H, được bên nhận sử dụng để đồng bộ nhịp với bên gửi Việc đồng bộ hóa chỉđược thực hiện một lần cho cả bức điện
Một byte SFD (Start of Frame Delimiter) chứa dãy bit 10101011, đánh dấukhởi đầu khung MAC
Theo 802.3, địa chỉ đích và địa chỉ nguồn có thể là 2 hoặc 6 byte, nhưngchuẩn qui định cho truyền dải cơ sở 10 Mb/s chỉ sử dụng địa chỉ 6 byte Bit cao nhấttrong địa chỉ đích có giá trị 0 cho các địa chỉ thông thường và giá trị 1 cho các địachỉ nhóm Đối với các thông báo gửi tới các trạm (broadcast), tất cả các bit trong địachỉ đích sẽ là 1
Có hai loại địa chỉ Ethernet là các địa chỉ cục bộ và các địa chỉ toàn cầu,được phân biệt bởi bit 46 (bit gần cao nhất) Các địa chỉ cục bộ có thể đổ cứng hoặcđặt bằng phần mềm và không có ý nghĩa ngoài mạng cục bộ Ngược lại, một địa chỉtoàn cầu được IEEE cấp phát, luôn được cố định trong vi mạch để đảm bảo sự thốngnhất trên toàn thế giới Với 46 bit có thể có tổng cộng 7*1013 địa chỉ cục bộ Tuynhiên số lượng các trạm cho phép trong một hệ thống mạng công nghiệp còn phụthuộc vào kiểu cáp truyền, giao thức phía trên cũng như đặc tính của các thiết bịtham gia mạng
Một sự khác nhau giữa Ethernet và IEEE 802.3 là ý nghĩa ô tiếp sau phần địachỉ Theo đặc tả Ethernet, hai byte này chứa mã giao thức chuyển gói phía trên Cụthể, mã 0800 chỉ giao thức IP (Internet Protocol) và mã 0806 chỉ giao thức ARP(Address Resolution Protocol) Theo chuẩn IEEE 802.3, ô này dùng để chỉ số byte
Trang 35dữ liệu (từ 0 đến 1500) Với điều kiện ràng buộc giữa tốc độ truyền v (tính bằng bit/ s), chiều dài bức điện n và khoảng cách truyền l (tính bằng mét) của phương pháp
CSMA/CD
lv < 100.000.000 n (1.1)
Để đảm bảo tốc độ truyền 10Mbit/s và khoảng cách truyền 2500m thì mộtbức điện phải dài hơn 250 bit hay 32 byte Xét tới cả thời gian trễ qua bốn bộ lặp,chuẩn 802.3 qui định chiều dài khung tối thiểu là 64 byte (51,2us), không kể phần
mở đầu và byte SFD Như vậy ô dữ liệu phải có chiều dài tối thiểu là 46 byte Trongtrường hợp dữ liệu thực ngắn hơn 46 byte, ô PAD (Padding) được sử dụng để lấpđầy
Ô cuối cùng trong khung MAC là FCS (Frame Check Sequence) gồm 4 bytechứa mã CRC (Cyclic Redundancy Check) với đa thức phát
1 )
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ấtcủ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ợpxảy ra xung đột
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ănghai 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ạmvẫ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).
Trang 36- 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ủamình, chờ một thời gian ngẫu nhiên và thử gửi lại.
Hình 1.16: Minh họa phương pháp CSMA/CD [12]
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ọatrê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ửitrướ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ệuphả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ảihủ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ôngnhậ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à Ccũ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ờigian 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ùngchờ 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ácphương pháp tiền định, việc ghép thêm hay bỏ đi một trạm trong mạng không ảnhhưở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
Trang 37rộ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 đườngtruyề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ácthì 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
Điều kiện ràng buộc
Khả năng thực hiện phương pháp CSMA/CD bị hạn chế bởi một điều kiệnràng buộc giữa chiều dài dây dẫn, tốc độ truyền thông và chiều dài bức điện Chỉkhi một trạm phát hiện được xung đột xảy ra trong khi bức điện chưa gửi xong mới
có khả năng hủy bỏ bức điện (có thể chỉ đơn giản bằng cách không gửi tiếp cờ hiệukết thúc) Còn nếu bức điện đã được gửi đi xong rồi mới phát hiện xảy ra xung độtthì đã quá muộn, một trạm khác có thể đã nhận được và xử lí bức điện với nội dungsai lệch
Trong trường hợp xấu nhất hai trạm cùng gửi thông tin có thể ở hai đầu củadây dẫn, trạm thứ hai chỉ gửi bức điện trước khi tín hiệu từ trạm thứ nhất tới mộtchút Tín hiệu bị xung đột xảy ra ở đây phải mất thêm một khoảng thời gian nữa
đúng bằng thời gian lan truyền tín hiệu Ts mới quay trở lại tới trạm thứ nhất Như
vậy điều kiện thực hiện phương pháp CSMA/CD là thời gian gửi một bức điện phảilớn hơn hai lần thời gian lan truyền tín hiệu, tức :
(Chiều dài bức điện n/ Tốc độ truyền v) > 2Ts
Trang 38Thời gian lan truyền tín hiệu một lần qua lại đường truyền được gọi là khethời gian Giá trị này được tính cho tối đa 2,5 km đường truyền và bốn bộ lặp là 512thời gian bit hay 51,2 us Sau lần xảy ra xung đột đầu tiên, mỗi trạm sẽ chọn ngẫunhiên 0 hoặc 1 lần khe thời gian chờ trước khi thử gửi lại Nếu hai trạm ngẫu nhiêncùng chọn một khoảng thời gian, hoặc có sự xung đột với một trạm thứ ba, thì số
khe thời gian lựa chọn chờ sẽ là 0, 1, 2 hoặc 3.Sau lần xung đột thứ i, số khe thời
gian chọn ngẫu nhiên nằm trong khoảng từ 0 tới 2i-1 Tuy nhiên, sau mười lần xungđột, số khe thời gian chờ tối đa sẽ được giữ lại ở con số 1023 Sau 16 lần xung độtliên tiếp, các trạm sẽ coi là lỗi hệ thống và báo trở lại lớp giao thức phía trên Thuật
toán nổi tiếng này được gọi là Binary Exponential Backoff (BEB).
1.3 Giới thiệu vi mạch Ethernet ENC28J60
1.3.1 ENC28J60
1 2 3 4 5 6 7 8 9 10 11 12 13
16 17 18 19 20 21 22 23 24 25 26 27
28 VCAP
Vss CLKOUT INT WOL SO SI SCK CS RESET
VSSRX
TPIN+
TPIN-RBIAS
V DD
LEDB VDDOSC OSC2 OSC1 VSSOSC VSSPLL
V DDPLL
V DDRX
VSSTX TPOUT+
bị giao diện điều khiển được với SPI ENC28J60 đảm bảo đầy đủ tất cả các chuẩnđược quy định tại IEEE802.3
Nó cũng cung cấp một DMA nội hỗ trợ truyền dữ liệu nhanh chóng và kiểmtra tính toán, được sử dụng trong các giao thức mạng khác nhau Liên lạc với điềukhiển máy chủ lưu trữ được thực hiện thông qua các chân và ngắt các SPI, với tốc
Trang 39độ truyền dữ liệu 10 Mb/s Hai chân chuyên dụng được sử dụng cho liên kết LED
và mạng
Hình 1.18: Sơ đồ khối chíp ENC28J60 [7]
ENC28J60 bao gồm bảy khối chức năng:
+ Khối giao tiếp SPI: Để ENC28J60 giao tiếp được với vi điều khiển Tốc độgiao tiếp tối đa là 20Mhz
+ Các thanh ghi điều khiển các chức năng của ENC28J60
+ Một bộ đệm là RAM hai chiều dung lượng 8Kbyte dùng để truyền nhận dữliệu
+ Khối Arbiter có chức năng điều khiển quyền truy cập RAM của các khối
Trang 40IEEE 802.3.
+ PHY (Physical Layer) là mạch điện giải mã và mã hóa tín hiệu điện truyềntrên cáp
Ngoài ra còn các khối: Khối dao động, khối ổn áp, khối chuyển mức điện áp
để phù hợp với mức điện áp của các vi điều khiển hoạt động 5V
1.3.2 Giao tiếp thiết bị ngoại vi
a) Bộ tạo dao động
ENC28J60 được thiết kế để hoạt động ở 25 MHz với một mach dao động kếtnối với các chân OSC1 và OSC2 ENC28J60 cũng có thể được điều khiển bởi mộtxung đồng hồ bên ngoài kết nối với chân OSC1
Hình 1.19: Bộ tạo dao động của ENC28J60
b) Chân tạo xung nhịp (CLK)
Chân CLK cung cấp cho người thiết kế hệ thống sử dụng điều khiển máy chủ lưu trữhoặc sử dụng như xung đồng bộ cho các thiết bị khác trong hệ thống CLKOUT có thể chia
ra bởi 1, 2, 3, 4 hoặc 8 Để tạo ra một tín hiệu xung chuẩn,chân CLKOUT ở mức thấp khicấp nguồn Sau khi bật nguồn, OST sẽ bắt đầu đếm Khi OST đếm xong, CLKOUT sẽ bắtđầu đặt tần số mặc định là 6,25 MHz (bằng xung đồng hồ 25 Hz chia cho 4) Tại mọi thờiđiểm ENC28J60 được thiết lập lại bằng phần mềm hoặc RESET thì CLKOUT sẽ khôngthay đổi
c) Kết nối SPI với ENC28J60
OSC1
OSC2 ENC28J60