Tải bản đầy đủ (.doc) (89 trang)

ĐIỀU KHIỂN THIẾT BỊ TỪ XA QUA MẠNG ETHEMET

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.99 MB, 89 trang )

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......................................................................30
Chương 3: Phần cứng......................................................................................32
3.1. Vi điều khiển PIC...................................................................................................................32

3.1.1. Giới thiệu về vi điều khiển PIC......................................................32
3.1.2. Một số ưu điểm của Microchip PIC.............................................34
3.1.3. Vi điều khiển PIC18F4550...........................................................35
3.3. Cảm biến nhiệt độ LM35......................................................................................................43
3.4. Module Ethernet ENC28J60 và chuẩn giao tiếp SPI.............................................................45

3.4.1. Vi Mạch Ethernet ENC28j60.........................................................45
3.4.2. Sơ đồ chân và sơ đồ khối của ENC28j60.......................................45
3.4.3. Sơ đồ ghép nối vi điều khiển với ENC28j60..................................47
3.4.4. Sơ đồ nguyên lý Module Ethernet..................................................49
3.4.5. Module Ethernet............................................................................50
3.4.6. Chuẩn truyền thông SPI..................................................................51
3.5.3. Điều khiển hiển thị..........................................................................60
3.5.4. Mạch RJ14.....................................................................................62
Chương 4: Trình biên dịch CCS và webserver................................................63
4.1. Trình dịch CCS (PIC C Compiler)............................................................................................63



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


4.1.2. Giới thiệu về CCS..........................................................................64
4.1.3. Tạo PROJECT đầu tiên trong CCS................................................65
4.2. Web động.............................................................................................................................74
4.3. CSS........................................................................................................................................75

4.3.1. Ưu điểm của CSS............................................................................75
4.3.2. Các đặc tính cơ bản của CSS.........................................................76
4.3.3. CSS có tính kế thừa và kết hợp.......................................................77
Chương 5: Sơ đồ khối và mô phỏng................................................................80
5.1. Sơ đồ khối............................................................................................................................80
5.2. Mạch nguyên lý....................................................................................................................82

5.2.1. Khối nguồn ...................................................................................83
5.2.2. Khối công suất (RELAY) ...............................................................83
5.2.3. Khối hiển thị (LCD 16x2)..............................................................84
5.2.4. Khối Key điều khiển đèn (Nút nhấn)..............................................85
5.2.5. Khối đo nhiệt độ và Header giao tiếp với Module Ethernet..........85
5.2.6. Khối reset, Xung thạch anh, Lọc nguồn.........................................86
5.2.7. Khối Vi xử lý trung tâm (Pic 18F4550).........................................86
5.3. Mô Phỏng.............................................................................................................................87

KẾT LUẬN.....................................................................................................87
Tài liệu tham khảo:..........................................................................................88

2



HÌNH ẢNH:

BẢNG:

3


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.

4


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
Vũ Thị Thu Hương

Người Thực Hiện
Nguyễn Văn Vượng - 0541050263

5


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)
6


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

7


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:
o 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
o 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).
8



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
o IEEE 802.3 MAC
 Dùng để chỉ độ dài của Ethernet frame
o 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à 6418=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.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-4F96. 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.2.

Đặ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

9


Hình 1. 1: Mã hóa Manchester
1.3. Các loại khung Ethernet
1.3.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

10


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.3.2. 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.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 một nhóm mới chấp nhận các khung gửi tới địa chỉ này.
11


(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.4.

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ó
12


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

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
13


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.5.2. 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.5.3. 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.
14


• 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.5.4. 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.

15


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

16


17


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.

18


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
19


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

- 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.
2.1.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…
2.1.2. Tầng giao vận (Transport layer)
20


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.
2.1.3. 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).
2.1.4. Lớp liên mạng (Network Interface Layer)
21


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

22


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


2.2.2. 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.
24


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.
2.2.3. 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
25


×