Tải bản đầy đủ (.docx) (77 trang)

XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN GIA DỤNG QUA MẠNG (Full Code)

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.73 MB, 77 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.dut.edu.vn, E-mail:

LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 0511
ĐỀ TÀI :
XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN CÁC THIẾT BỊ
ĐIỆN GIA DỤNG QUA MẠNG
Mã số : 06T3-23
07T2-08
07T2-44
Ngày bảo vệ : 13/06/2012 – 14/06/2012
SINH VIÊN :
LỚP : 06T3
LỚP : 07T2
CBHD : TS. HUỲNH CÔNG PHÁP
ĐÀ NẴNG, 06/2012
LỜI CẢM ƠN
Lời đầu tiên chúng tôi xin bày tỏ lòng biết ơn sâu sắc đến tất cả quý thầy cô,
những người đã tận tụy dạy dỗ, truyền đạt kiến thức và kinh nghiệm quý báu cho
chúng tôi trong suốt năm năm học qua.
Chúng tôi xin chân thành cảm ơn TS. Huỳnh Công Pháp - thuộc bộ môn Công
nghệ phần mềm, khoa Công nghệ thông tin, trường Đại học Bách khoa Đà Nẵng,
người đã hướng dẫn, tạo điều kiện thuận lợi và giúp đỡ chúng tôi trong suốt thời gian
làm đề tài.
Và để có được kết quả như ngày hôm nay, chúng tôi rất biết ơn gia đình đã
động viên, khích lệ và tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập


cũng như quá trình thực hiện đề tài tốt nghiệp này.
Xin chân thành cám ơn các bạn trong khoa Công nghệ thông tin – khóa 07, đặc
biệt là các bạn lớp 07T2 đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu
có được cho nhóm chúng tôi trong quá trình nghiên cứu và thực hiện đề tài.
Một lần nữa xin chân thành cám ơn!
Đồ án tốt nghiệp GVHD : TS. Huỳnh Công Pháp
SVTH :
2
LỜI CAM ĐOAN
Chúng tôi xin cam đoan :
Những nội dung trong luận văn này là do chúng tôi thực hiện dưới sự

hướng dẫn trực tiếp của thầy TS. Huỳnh Công Pháp.
Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả,

tên công trình, thời gian, địa điểm công bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,
chúng tôi xin chịu hoàn toàn trách nhiệm.
Sinh viên thực hiện
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………

…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
………………………………… ………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
Đà nẵng, ngày tháng năm 2012.
MỤC LỤC
CHƯƠNG I :

MỞ

ĐẦU 12
I.

B

ối



cảnh

đề


t ài 12
II.

M

ục



đích, y

êu

c ầu

thiết

kế

v à



do

ch ọn đề

t


ài

12
II.1. M

ục

đích 12
II.2. Yêu

c ầu

thiết

kế

12
II.3. Lý

do

ch ọn

đề



t ài 13
II.4. Đối


tượng nghi ên

c ứu 13
II.5. Phương

pháp triển

khai 13
II.5.1. V ề mặt





thuyết 13
II.5.2. Công

c ụ

hỗ

trợ 14
CHƯƠNG II:



SỞ

LÝ THUYẾT 15
I.1. Giao


th ức

TCP/IP 15
I.1.1. Gi ới

thiệu

tổng

quan 15
I.1.2. Ki ến

trúc

TCP/IP 16
I.1.2.1. L ớp

truy xuất mạng

(Network

Access

layer) 18
I.1.2.2. L ớp

li ên

m ạng


(Internet Layer) 19
I.1.2.3. L ớp

giao

vận

(Transport

layer) 24
I.1.2.4. L ớp

ứng

dụng

(Application

layer) 31
II.



sở lý

thuyết

mạch 31
II.1. Chip h




trợ

kết nối



Ethernet

-ENC28J60 31
II.1.1 Sơ

đồ

chân

Chip

ENC28J60 31
II.1.2 Các

kh ối phần



cứng

cơ bản


trong

ENC28J60 33
II.1.3



đồ



sử dụng



ENC28J60 để



kết nối

Ethernet 34
II.1.4.

T ập

lện h giao

ti ếp 35

II.2. Chip

ATmega32 35
II.2.1 Gi ới

thiệu 35
II.2.2. T

ại

sao

sử dụng

AVR 36
II.3.

Chip

DS1307 37
CHƯƠNG

III

:

CẤU

TRÚC


PH

ẦN

CỨNG

HỆ



THỐNG 44
I.



đồ

tổng quan

44
I.1 Ngu ồn 44
I.2 Giao

ti ếp

cổng COM 44
I.3 Giao

ti ếp


Ethenet

với

vi điều

khiển 44
I.4 Giao

ti ếp

giữa

các

thiết bị



với

vi

điều

khiển 45
II.




đồ

mạch

nguy ên

lý 45
II.1 M

ạch

nguồn 46
II.1.1 Ngu ồn

5V

46
II.1.2 Ngu ồn

3V

46
II.3 M

ạch

Ethenet 47
II.4 M

ạch


cổng

Serial

port 47
II.5 M

ạch

cổng

RJ45 48
II.6 M ạc

h I S P 4 8
CHƯƠNG

IV:

CẤU

TRÚC

CHƯƠNG



TR ÌNH


H





THỐNG 50
I.

Các

module

chính 50
I.1. Các module

gao

th ức

Tcp/Ip

trong

ENC28j60 50
I.2.

Module

giao


th ức

Ether net 50
I.2.1. C ấu

trúc 1

frame Ethernet 50
I.2.2.

Hàm

x





giao

thức

ethernet 51
I.3. Module

giao

th ức


IP 52
I.3.1. C ấu trúc của

gói

IP như

sau 52
I.3.2. Hàm

x





giao

thức

IP 53
I.4. Module

giao

th ức

ICMP 55
I.5. Module


giao

th ức

UDP 55
I.6. Module

giao

th ức

T CP 56
I.7. Module

giao

th ức

DHCP 59
I.7.1. Giao th ức DHCP 59
I.7.2. Cơ

chế

l àm vi ệc

của

DHCP 59
I.8. Module


giao

th ức

ARP 60
I.8.1. C ấu trúc của

gói

arp 60
I.8.2. Hàm

x





giao

thức arp 61
I.9. Module

giao

th ức

HTTP 62
I.9.1. Ho ạt động


giao

thức HTTP 62
I.9.2. C ấu trúc các bản tin

HTTP 63
II.

Ch ức năng

của hệ

thống 67
II.1 LAMPS

CONTROL 67
II.2 FAN

CONTROL 68
II.3 AUTO TIMES 68
II.4 ANTI-THEFT 68
III.

DEMO 68
III.1. Thi ết

lập

địa


chỉ

tĩnh

cho

Web

Server 68
III.2. Ki ểm

tra

kết nối



từ

PC

tới

mạch

Web

Server 68
III.3 Thi ết


lập

use

–pass trong

l ớ p

ntAVRnet.h 69
III.4 Đăng nhập

trang

web

điều

khiển

của mạch 69
III.5.

Trang

ch ủ

Web Server 69
CHƯƠNG


5

: KẾT

LUẬN VÀ

HƯỚNG

PHÁT

TRIỂN 71
I.

Nh ững

điểm đ ã

đạt

được

của

đề

t ài 71
I.1. Ph ần




thuy ết 71
I.2. Ph ần mạch 71
I.3. Ph ần

chương tr ình 71
II.

Hướng

phát tri ển

trong

tương

lai 72
II.1 S ử dụng

m àn

hình

c ảm ứng

72
II.2 S ử dụng



IC


ATmega128 72
II.3 Tích

h ợp

th êm

các

c ảm

biến 73
II.4 S ử dụng



Camera 73
TÀI

LI ỆU

THAM

KHẢO 74
DANH MỤC HÌNH ẢNH
Hình II.1: So sánh mô hình OSI và TCP/IP 17
Hình II. 1: Mô tà đóng gói IP lên khung Ethernet 20
Hình II. 2. Mô tả họat động của khung ARP 22
Hình II. 3. Gói tin của ARP 23

Hình II. 4. Trường của khung ARP 24
Hình II. 5. Đóng gói UDP vào khung Ethernet 26
Hình II. 6. Sự phân kênh và hợp kênh của ARP 26
Hình II. 8. Định dạng Gói TCP 29
Hình II. 9. Khung TCP 30
Hình II. 10. Sơ đồ chân chip ENC28J60 31
Hình II. 11. Cấu trúc phần cứng trong ENC28J60 33
Hình II. 12. ENC kết nối Internet 34
Hình II. 13. IC ATmega32 36
Hình II. 14. Hai gói cấu tạo chip DS1307 37
Hình II. 15. Mạch ứng dụng đơn giản của DS1307 38
Hình II. 16. Tổ chức bộ nhớ của DS1307 39
Hình II. 17. Tổ chức các thanh ghi thời gian 40
Hình II. 18. Số BCD 40
Hình II. 19. Cấu trúc DS1307 43
Hình III. 1: Mô hình tổng quan hệ thống 44
Hình III. 2: Sơ đồ mạch nguyên lý 45
Hình III. 3. Nguồn 5V 46
Hình III. 4. Nguồn 3V 46
Hình III. 5. Mạch IC ENC28J60 47
Hình III. 6. Mạch cổng Serial port 47
Hình III. 7. Mạch cổng RJ45 48
Hình III. 8. Mạch ISP 48
Hình IV. 1. Lưu đồ dữ liệu vào ra 50
HÌnh IV. 2. Cấu trúc Frame Enthernet 50
Hình IV. 3. các hàm xử lý trong giao thức ethenet 51
Hình IV. 4. Cấu trúc gói IP 52
Hình IV. 5 : Cấu trúc bản tin ICMP 55
Hình IV. 6. Cấu trúc giao thức UDP 55
Hình IV. 7. Cấu trúc header giao thức TCP 56

Hình IV. 8. Lưu đồ trạng thái kết nối 57
Đồ án tốt nghiệp
GVHD : TS. Huỳnh Công Pháp
Hình IV. 9: Cấu trúc gói ARP 60
Hình IV. 10 : Devices control 67
Hình IV.11: Địa chỉ tĩnh của Web Server 68
Hình IV. 12: Kết nối từ PC đến mạch Web Server 69
Hình IV. 13: Thiết lập User name và password đăng nhập hệ thống 69
Hình IV. 14: Giao diện đăng nhập 69
Hình IV. 15: Giao diện điều khiển chính 70
Hình V. 1 :Màn hình cảm ứng 72
Hình V. 2:Chíp ATmega128 72
Hình V. 3 : Camera quan sát 73
DANH MỤC BẢNG
Bảng 1. Chức năng của các chân chip ENC28J60 32
Bảng 2. Bảng hướng dẫn giao tiếp SPI cho chíp ENC28J60 35
SVTH :
10
DANH MỤC CÁC TỪ VIẾT TẮT
TCP
Transmission Control Protocol
IP
Internet Protocol
UDP
User Datagram Protocol
ARP Address Resolution Protocol
RARP
Reverse Address Resolution Protocol
CDMA/CD
Carrier Sense Multiple Access Collision Detect

LAN
Local Area Network
OSI
Open Systems Interconnection
ICMP Internet Control Message Protocol
IGMP
Internet Group Message Protocol
FTP File Transfer Protocol
SMTP
Simple Mail Transfer Protocol
TELNET
TErminaL NETwork
SNMP Simple Network Management Protocol
IC Integrated Circuit
PC
Personal Computer
AVR
Automatic Voltage Regulator
Đồ án tốt nghiệp GVHD : TS. Huỳnh Công Pháp
CHƯƠNG I : MỞ ĐẦU
I. Bối cảnh đề tài
Ngày nay các thiết bị điện được sử dụng rộng rãi và là nhu cầu không thể thiếu
trong đời sống của con người. Việc sử dụng các thiết bị năng luợng điện này sao cho
hiệu quả, dễ dàng, tập trung là rất khó khăn. Hơn nữa việc sử dụng các thiết bị điện
này trong không gian rộng lớn sao cho tiết kiệm,an toàn luôn là vấn đề quan tâm hàng
đầu của nước ta.Với vấn đề đó nhóm em đã “Xây dựng hệ thống điều khiển các thiết
bị điện qua mạng Internet”. Hệ thống giúp cho chúng ta có thể quản lý các thiết bị
tập trung, dễ dàng và hiệu quả và nhanh chóng hơn. Ngoài ra hệ thống còn tích hợp
các cảm biến, cài đặt thời gian hoạt động tự động cho các thiết bị giúp chúng ta sử
dụng nguồn năng lượng điện tiết kiệm và an toàn hơn.

II. Mục đích, yêu cầu thiết kế và lý do chọn đề tài
II.1. Mục đích
Mục đích của đồ án tốt nghiệp này là xây dựng 1 hệ thông điều khiển từ xa một
số thiết bị trong nhà qua mạng Internet, hệ thống mà qua mạng internet cho dù chúng
ta đang ở đâu, dùng bất kỳ máy tính nào có kết nối internet cũng có thể điều khiển
được các thiết bị của hệ thống, chúng ta có thể điều khiển tắt bật các thiết bị từ xa
(đèn,quạt,hệ thống chống trộm….), giám sát được an ninh và quản lý nguồn năng
lượng điện an toàn, hiệu quả hơn.
II.2. Yêu cầu thiết kế
• Thiết kế Web Server với AVR có tính ổn định cao :
- Nhiều PC có thể điều khiển web server cùng lúc.
- Dễ dàng phát triển theo nhu cầu.
• Điều khiển được các thiết bị điện :
- Đóng ngắt tự động theo thời gian.
- Đóng ngắt tự động theo thông số môi trường.
- Điều khiển từ xa qua mạng Internet.
II.3. Lý do chọn đề tài
- Đam mê lĩnh vực vi điều khiển, công nghệ thông tin và ứng dụng rộng
rãi của nó trong thực tế.
- Đề tài ứng dụng điều khiển xa rất thiết thực với những kỹ sư ngành cơ
điện tử, công nghệ thông tin khi muốn điều khiển những hệ thống lớn
trong nhà máy và xí nghiệp, trong những hệ thống có tính công nghệ cao,
hệ thống nhà thông minh….
II.4. Đối tượng nghiên cứu
- Cách thức truyền dữ liệu qua giao thức TCP/IP và Web Server.
- Chip điều khiển ENC28J60 và ATmega32.
- Ngôn ngữ lập trình C cho AVR.
- Thiết kế mạch trên Orcad 16.5.
II.5. Phương pháp triển khai
II.5.1. Về mặt lý thuyết

- Tìm hiểu các lớp kiến trúc và các module của trong giao thức TCP/IP.
- Tìm hiểu kiến trúc AVR qua IC ATmega32.
- Tìm hiểu lập trình Asembly và lập trình C cho AVR.
- Tìm hiểu các linh kiện điện tử liên quan : IC ENC28J60, IC 7805, ISP,

MAX 232, IC AMS 1117, RELAY, SENSOR….
- Tìm hiểu các công nghệ liên quan đến hệ thống tự động báo cháy,
chống trộm, an toàn và tiết kiệm nguồn năng lượng điện.
- Đưa ra một số định hướng để phát triển đề tài.
II.5.2. Công cụ hỗ trợ
- Orcad 16.5 để thiết kế mạch nguyên lý và mạch in.
- Proteus 7.8 mô phỏng vài chức năng cơ bản của thiết bị.
- AVR Studio và WinAVR để hổ trợ lập trình C cho AVR.
- Free Commander và notepad ++ để quản lý và lập trình AVR.
- Hyper Terminal và Comman Prompt để kiểm tra kết nối mạng giữa
mạch và PC.
- Burn-E Programmer để nạp chương trình vào IC.
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
I. Cơ sở lý thuyết Ethernet
I.1. Giao thức TCP/IP
I.1.1. Giới thiệu tổng quan
Mô hình TCP/IP chỉ có 4 lớp. Mô hình tham chiếu của TCP/IP không trực tiếp
giống mô hình của OSI. Mặc dù mỗi mô hình mạng đều có chung một mục đích là để
truyền thông dễ dàng giữa các mạng, giữa các loại máy tính chạy trên nền hệ điểu
hành khác nhau. Nhưng mỗi mô hình mạng đều có đặc điểm riêng và cách thực thi
cũng chút ít khác nhau. Mô hình OSI do ISO tạo ra trong một thời gian dài, nó được
dùng làm mô hình chuẩn cho các mô hình khác. Còn TCP/IP ra đời do yêu cầu cấp
thiết của chính phủ Mỹ trước tình hình lúc bấy giờ, do đó sự phát triển của TCP/IP
không bị đè nặng bởi những yêu cầu chặt chẻ như OSI.
Do đặc tính của OSI là một mô hình tham khảo nên việc áp dụng OSI vào thực

tế là khó có thể thực hiện (hiệu suất kém vì dữ liệu khi truyền trong mạng phải qua tất
cả các lớp của mô hình OSI). Do đó, OSI chỉ là một tiêu chuẩn để các nhà nghiên cứu
dựa vào đó để phát triển các mô hình khác tối ưu hơn. Có rất nhiều mô hình khác nhau
đã được phát minh, tuy nhiên hiện nay trên thế giới cùng với sự phát triển như vũ bão
của Internet thì mô hình TCP/IP là được sử dụng phổ biến nhất.
Bộ giao thức TCP/IP là rất quan trọng trong việc lựa chọn cách thức truyền
thông nhằm hạn chế lỗi và tăng hiệu quả. TCP/IP có các đặc điểm nổi bậc sau:
- Độc lập với cầu hình mạng: TCP/IP có thể dùng cho mạng bus, start, ring, cho
mạng cục bộ, mạng diện rộng hay các liên mạng.
- Độc lập với phần cứng vật lý của mạng: TCP/IP có thể dung cho Ethernet,
token-ring hay bất cứ loại phần cứng nào.
- Là một chuẩn giao thức mở: TCP/IP có thể thực hiện trên nhiều hệ điều hành
(Operating System – OS) khác nhau, nên nó thích hợp dung cho các mạng hỗn tạp các
loại phần cứng và phần mềm như Internet.
- Định địa chỉ một cách tổng quát: mỗi trạm trên mạng TCP/IP có một địa chỉ
IP duy nhất được dùng để liên lạc với bất kì trạm nào khác trên mạng.
- Hỗ trợ đắc lực mạng theo mô hình Client – Server.
- Các protocol chuẩn lớp ứng dụng: TCP/IP không những cung cấp cho lập

trình
viên phương pháp để truyền dữ liệu giữa các ứng dụng mà còn cung cấp cơ sở

của
nhiều giao thức lớp ứng dụng.
I.1.2. Kiến trúc TCP/IP
Phát triển từ mô hình tham chiếu OSI, TCP/IP được phân làm 4 lớp:
 Lớp truy xuất mạng (Network Access layer).
 Lớp liên mạng (Internet Layer).
 Lớp giao vận (Transport layer).
 Lớp ứng dụng (Application layer).

Việc phân lớp này đảm bảo một số nguyên tắc sau:
 Một lớp được tạo ra khi cần đến mức trừu tượng hóa tương ứng.
 Mỗi lớp cần thực hiện các chức năng được định nghĩa rõ ràng.
 Việc chọn chức năng cho mỗi lớp cần chú ý tới việc định nghĩa các quy
tắc chuẩn hóa quốc tế.
 Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất ( tham số

cho chương
trình con là ít).
 Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng một

lớp và đủ
nhỏ để mô hình không quá phức tạp.
 Một mức có thể được phân thành các lớp nhỏ cần thiết.
 Các mức con có thể lại bị loại bỏ.
 Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo đảm
những nguyên tắc chung (cài đặt cùng một giao thức truyền thông).
 Các chức năng được tổ chức thành một tập các lớp đồng mức cung cấp
chức năng như nhau. Các lớp đồng mức phải sử dụng giao thức chung.
Một lớp không định nghĩa một giao thức đơn, nó định nghĩa một chức năng
truyền thông có thể thi hành bởi một số giao thức. Do vậy, mỗi lớp có thể chứa nhiều
giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho chức năng của lớp. Mỗi
lớp phải được chuẩn hóa để giao tiếp với lớp tương đương với nó. Trên lý thuyết, giao
thức chỉ liên quan tới lớp của nó mà không quan tâm tới lớp trên hoặc dưới của nó.
Tuy nhiên phải có sự đồng ý để làm sao chuyển dữ liệu giữa các lớp trên một máy
tính, bởi mỗi lớp lại liên quan tới việc gửi dữ liệu từ ứng dụng này tới một ứng dụng
tương đương trên một máy khác. Lớp cao hơn dựa vào lớp thấp hơn để chuyển dữ liệu
qua mạng phía dưới. Dữ liệu chuyển xuống ngăn xếp từ lớp này xuống lớp thấp hơn
cho tới khi được truyền qua mạng nhờ giao thức của lớp vật lý. Tại nơi nhận, dữ liệu
đi lên ngăn xếp tới ứng dụng nhận. Những lớp riêng lẻ không cần biết các lớp trên và

dưới nó xử lý ra sao, nó chỉ cần biết cách chuyển thông tin tới lớp đó mà thôi. Sự cô
lập các hàm truyền thông trên các lớp khác nhau giảm thiểu sự tích hợp công nghệ của
đầu vào mỗi bộ giao thức.
Tương quan hai mô hình OSI model và TCP/IP model :
Hình II.1: So sánh mô hình OSI và TCP/IP
Giải thích :
- TCP (Transmission Control Protocol): một nghi thức có cầu nối (connection-
oriented) cung cấp khả năng truyền dòng dữ liệu không lỗi, hai chiều song công (full
duplex) cho các quá trình của người sử dụng.
- UDP (User Datagram Protocol): một khi thức không thiết lập cầu nối
(connectionless) cho các quá trình của user. Do đó, nó không dảm bảo dữ liệu khi
truyền có đến nơi chính xác hay không.
- ICMP (Internet Control Message Protocol): nghi thức sử lý lỗi và điều khiển
thông tin giữa các gateway và các host.
- IP (Internet Protocol): đây là protocol cung cấp dịch vụ phân phối các packet
cho TCP, UDP và ICMP.
- ARP (Adress Resolution Protocol): protocol ánh xạ một địa chỉ Internet vào

trong
một địa chỉ phần cứng.
- RARP (Reverse Address Resolution Protocol): ánh xạ một địa chỉ phần cứng
thành một địa chỉ Internet.
I.1.2.1. Lớp truy xuất mạng (Network Access layer)
TCP/IP không định nghĩa lớp này mà dung chung với các chuẩn khác đã tồn tại
như IEEE, X25…(RS232, Ethernet, X21/X21 bis, X35…). Bản chất của lớp này là
việc qui định các đại lượng tín hiệu, các phương cách giao tiếp để truyền các dòng bit
trên kênh truyền.
Không giống những giao thức của lớp cao hơn là sử dụng dịch vụ của lớp dưới
nó và cung cấp dịch vụ cho lớp trên, giao thức của tấng mạng cấn phải biết chi tiết của
mạng vật lý phía dưới (cấu trúc của gói, địa chỉ ) để định dạng đúng thông tin sẽ được

truyền tuân theo những ràng buộc của mạng. Lớp mạng của TCP/IP chứa chức năng
của tất cả 2 lớp thấp nhất của mô hình tham chiếu OSI (lớp liên kết dữ liệu và lớp vật
lý). Lớp mạng thường không được người dùng để ý tới vì thiết kế của TCP/IP che dấu
những chức năng của lớp thấp nhất này và những điều cần biết cho người sử dụng
cũng như người lập trình chỉ là những giao thức của các lớp cao hơn (IP, TCP,
UDP ). Mỗi khi có công nghệ phần cứng mới xuất hiện, những giao thức của lớp
mạng phải được phát triển để TCP/IP có thể sử dụng phần cứng mới (thông thường đó
chính là các trình điều khiển của chính nhà cung cấp phần cứng đó). Các chức năng
trình diễn trong lớp này bao gồm đóng gói gói thông tin IP thành các “Frame” được
truyền dẫn trên mạng và chuyển địa chỉ IP thành địa chỉ vật lý sử dụng bởi mạng máy
tính. Một số các điểm mạnh của TCP/IP là địa chỉ của nó được phối hợp sao cho trên
mạng Internet không có một thiết bị mạng nào cùng địa chỉ. Địa chỉ này phải được
chuyển đổi thích hợp với địa chỉ mạng vật lý nơi mà dữ liệu được truyền đi.
Hai ví dụ RFCs mô tả giao thức sử dụng cho lớp mạng là :
- RFC 826, giao thức chuyển đổi địa chỉ chuyển đổi địa chỉ IP thành địa chỉ
Ethernet.
- RFC 894, một chuẩn cho việc truyền gói tin IP qua mạng Ethernet mô tả cách
thức đóng gói để chuyển thông tin qua mạng Ethernet.
Khi cài đặt trong UNIX, giao thức của lớp này được xem như sự phối hợp của chương
trình để điều khiển thiết bị và các chương trình liên quan. Những đơn vị tương ứng với
những thiết bị mạng làm nhiệm vụ đóng gói dữ liệu và chuyển giao cho mạng.
I.1.2.2. Lớp liên mạng (Internet Layer)
Lớp này định nghĩa đơn vị dữ liệu để truyền và định tuyến cho các đơn vị dữ
liệu đó. IP là một protocol quan trọng nhất của bộ TCP/IP vì tất cả các protocol trong
bộ TCP/IP đều phải dùng đến nó và tất cả dữ liệu phải lưu chuyển qua nó.
Gói tin IP (Internet Protocol) :
IP là một nghi thức không kết nối (connectionless protocol), tức là không thiết
lập một giao tiếp trực tiếp (end-to-end) trước khi truyền dữ liệu. IP không đảm bảo
phân phát chính xác dữ liệu đến đích, các gói dữ liệu có thể đến đích không đúng thứ
tự, có thể bị sao chép hay thất lạc (do đó IP phải kết hợp với TCP). Đơn vị dữ liệu của

IP là datagram có chứa địa chỉ IP của nguồn và đích. IP có nhiệm vụ tìm đường cho
datagram nên có thể phân mảnh hay hợp nhất các datagram để thích hợp với kích

thước packet lớn nhất cho phép trên đường truyền.
Định dạng IP datagram header (32 bits header) :
Version Header
length
Type of service Total length of datagram
Identification Flags Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Option:
Strick source route
Loose source route
Record route
Time stamp
Security
Data (max 65535 bytes)
Hình II. 1: Mô tà đóng gói IP lên khung Ethernet
- Verision (VER) 4bits: đánh số phiên bản của IP, phiên bản hiện hành là 4

(IPv4)
với giá trị nhị phân là 0100.
- Header length (HLEN) 4bits: định nghĩa chiều dài của IP header chỉ ra bội
số của 4 bytes. Dung 4bits tức giá trị tối đa là 15 tương đương 60bytes.
SVTH :
21
- Service type (1 bytes): định nghĩa cách mà datagram được quản lý. Nó bao


gồm
các bits định nghĩa thứ tự ưu tiên của datagram. Nó cũng chứa các bit làm rõ loại

dịch
vụ phía gởi mong muốn độ tin cậy, trễ…
- Total length (2 bytes): định nghĩa chiều dài tổng thể của một datagram. Tối

đa là
65535 bytes.
- Identification: được dung với các phân đoạn. Một datagram khi đi qua các

mạng
khác nhau có thể được chia thành các đoạn để phù hợp với kích thước khung của
mạng. khi xảy ra hiện tượng này thì mỗi đoạn được định danh với một số thứ tự trong
trường này.
- Flags: các bits trong cờ có quan hệ với phân đoạn. Ví dụ datagram có thể
hoặc không có phân đoạn, có thể đoạn đầu, đoạn giữa hoặc đoạn cuối…
- Fragmentation offset: đây là một con trỏ chỉ ra độ lệch của dữ liệu trong
datagram gốc (nếu đã được phân đoạn).
- Time to live: định nghĩa số bước nhảy tối đa một datagram có thể đi qua trước

khi bị
drop (loại bỏ). Máy chủ nguồn khi tạo ra datagram sẽ khởi động giá trị trong
trường này. Kế tiếp khi datagram qua Internet, mỗi router mà datagram đi qua sẽ giảm
giá trị đi 1. nếu giá trị này bằng 0 trước khi đến đích cuối cùng thì datagram sẽ bị drop.
- Protocol: định nghĩa loại dữ liệu nghi thức nào của lớp trên đóng gói trong
datagram (TCP, UDP, ICMP…).
- Header checksum (16 bits): dung kiểm tra header chứ không kiểm tra phần
còn lại của gói.

- Source address (4 bytes): địa chỉ IP nguồn của datagram.
- Destination address (4 bytes): địa chỉ IP của đích cần gởi datagram đến.
- Options: trường chọn lựa cho nhiều chức năng đối với IP datagram. Nó có thể
mang các thông tin về kiểm soát định tuyến như: timing, quản lý và cân bằng.
IP lại chứa 4 nghi thức giúp đỡ là: ARP, RARP, ICMP và IGMP.
H o s t A H o s t B H o s t C H o s t D
H o s t A H o s t B H o s t C H o s t D
- ARP (Adrees Resolution Protocol) được dùng để quảng bá tìm địa chỉ vật lý

từ địc
chỉ IP. Protocol này được dùng trong mạng nội bộ vì định dạng địa chỉ vật lý

của
mạng phhụ thuộc vào phần cứng mạng.
- RARP (Reverse Address Resolution Protocol) để tìm địa chỉ IP khi đã biết địa
chỉ vật lý.
- ICMP (Internet Control Message Protocol) là cơ chế được dùng bởi máy chủ


router. ICMP cho phép IP thông báo phía gửi nếu datagram không được phát đúng.
Đặc trưng nhất của ICMP là tiện ích ping thường được các lập trình viên dùng kiểm tra
các node có còn hoạt động hay không.
- IGMP (Internet Group Message Protocol): nghi thức IP liên quan đến 2 thông

tin là
unicasting và multicasting. Unicasting là thông tin giữa một người gởi và một

người
nhận. nó là thông tin một – một. Tuy nhiên, một số quá trình thỉnh thoảng cần


gởi
một thông điệp đến nhiều người nhận đồng thời. Trường hợp này là multicasting,

tức
là thông tin một – nhiều. multicasting có rất nhiều ứng dụng.
Gói tin ARP (Adrees Resolution Protocol)
Một cơ chế sử dụng để chuyển địa chỉ IP thành địa chỉ vật lý là ARP (Address
Resolution Protocol). Khi hai máy tính cùng nối vào một mạng vật lý, chúng biết được
địa chỉ IP của nhau nhưng để truyền thông giữa hai máy, chúng phải biết được địa chỉ
vật lý của nhau. ARP giải quyết vấn đề chuyển từ địa chỉ IP 32 bits sang địa chỉ
Ethernet 48 bits. Người ta sử dụng hai cơ chế đó là: ARP request và ARP reply.
A R P R e q u e s t
A R P R e p l y
Hình II. 2. Mô tả họat động của khung ARP
Chuyển giao trực tiếp: địa chỉ vật lý là một hàm của địa chỉ IP ví dụ sử dụng
trên mạng token ring proNET-10 là mạng cho phép đặt địa chỉ IP và địa chỉ vật lý
thỏai mái. Người ta có thể đặt địa chỉ IP là 192.5.48.3 và địa chỉ vật lý là 3, khi đó ta
có Pa= f(Ia).
Chuyển giao địa chỉ động được thực hiện bằng cách máy tính muốn gửi thông
tin gửi một thông báo tới tòan bộ các máy tính trên mạng, trong thông báo đó có chứa
địa chỉ IP của máy tính nó cần liên lạc, mọi máy sẽ nhận được thông báo và máy nào
thấy địa chỉ IP của mình thì trả lại một thông báo chứa địa chỉ vật lý. Khi đó hai máy
tính có thể “ nói chuyện” với nhau.
Ngoài ra, người ta còn sử dụng bảng chỉ đường để lưu trữ tạm thời các địa chỉ
sử dụng mới nhất ( Address Reslution Cache) để tăng tốc độ của việc chuyển giao địa
chỉ.
Một gói thông tin ARP là một Ethernet Frame được truyền trực tiếp từ máy này
tới máy khác. Vì không phải sử dụng IP, gói tin này không có địa chỉ IP cũng như
không cần được dẫn đường, nó phải được gửi broadcast tới tất cả các máy trên mạng
Ethernet (với địa chỉ FFFF_FFFF_FFFF).

Gói thông tin ARP được mô tả như sau
0
7 8 1 5 1 6 3 1
H a r d w a r e T y p e P ro t o c o l T y p e
H a r e w a r e le n P ro t o c o l le n A R P o p e r a t io n
S e n d e r M A C a d d r e s s ( b y t e s 0 - 3 )
S e n d e r M A C a d d r e s s ( b y t e s 4 - 5 ) S e n d e r I P a d d r e s s ( b y t e s 0 - 1 )
S e n d e r I P a d d r e s s ( b y t e s 2 _ 3 ) D e s t M A C a d d r e s s ( b y t e s 0 - 1 )
D e s t M A C a d d r e s s ( b y t e s 2 - 5 )
D e s t I P a d d r e s s ( b y t e s 0 - 3 )
Hình II. 3. Gói tin của ARP
 Protocol type: 0x0800 cho IP (0000.1000.0000.0000).
 Hardware len = 6 bytes cho ethernet.
 Protocol len = 4 bytes cho IP.
 ARP operation:
o 1= yêu cầu
o 2 = đáp lại
o 3/4 = RARP yêu cầu/đáp lại
Destination

Address 6 bytes
Source Add
6 bytes
Frame type
2 bytes
(ARP) Data
28 bytes
CRC
4 byte
Hình II. 4. Trường của khung ARP

- Địa chỉ đích (ethernet destination address):
- FF:FF:FF:FF:FF:FF là địa chỉ broadcast cho ARP request.
- Địa chỉ nguồn (ethernet source address) là địa chỉ của ARP yêu cầu.
- Frame type:
+ ARP yêu cầu hoặc đáp lại (ARP request/rely) : 0x0806
+ RARP yêu cầu hoặc đáp lại (RARP request/rely): 0x08035
+ IP: 0x0800
I.1.2.3. Lớp giao vận (Transport layer)
- Lớp vận chuyển có 2 nhiệm vụ như sau :
+ Cung cấp dịch vụ cho lớp quá trình bên trên nó và các ứng dụng cùng
với giao diện thích hợp cho mạng.
+ Phân phát message của các lớp trên giữa các host.
- Lớp giao thức ngay trên lớp Internet là Host to Host Transport Layer hay

thường
gọi là Transport Layer. Hai giao thức quan trọng này là Transmission Control
Protocol (TCP) và User Datagram Protocol (UDP). TCP cung cấp dịch vụ chuyển giao
thông tin kết nối (connection oriented), nó bao gồm cả kiểm tra và sửa lổi. UDP cung
cấp dịch vụ kém tin cậy hơn (unreliable) và không thể thiết lập liên kết trước
(connectionless). Cả hai giao thức đều chuyển giao thông tin giữa lớp ứng dụng và lớp

×