Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
MỤC LỤC LUẬN VĂN TỐT NGHIỆP
DK Thiet bi qua mang Internet
www.elabvn.com
CHƯƠNG 1. GIỚI THIỆU
1.1. Giới thiệu
Điều khiển từ xa đã và đang là một xu hướng phát triển mang tính quy luật. Sự
phát triển nhanh chóng của khoa học kỹ thuật nói chung và ngành điện tử-viễn thông
nói riêng là nền tảng cho xu hướng này. Vì sự tiện lợi của nó, điều khiển từ xa có thể
được sử dụng ở bất kỳ nơi nào. Người sử dụng có thể ở bất kì đâu trên thế giới cũng có
thể điều khiển được những bộ phận ngoại vi ở nhà, công sở hay ở một nơi nào đó được
định sẵn….Lúc này không còn giới hạn về khoảng cách nữa.
Trong kỹ thuật điều khiển từ xa, môi trường truyền dẫn có thể là dây dẫn điện
hay không khí với tín hiệu truyền có thể là tín hiệu điện hồng ngoại hay sóng vô
tuyền....Đặc biệt, kỹ thuật hồng ngoại hay vô tuyến được khai thác triệt để trong việc
chế tạo các thiết bị đầu xa. Tuy nhiên kỹ thuật điều khiển dùng tia hồng ngoại và vô
tuyến bị hạn chế về khoảng cách và băng thông. Để khắc phục nhược điểm trên có thể
sử dùng phương pháp khác là điều khiển từ xa qua mạng ethernet, Internet hoặc LAN.
Ý tưởng của nó là sử dụng mạng có sẵn để truyền tín hiệu điều khiển, nhờ đó mà vấn
đề khoảng cách được khắc phục.
Như ta đã biết, ngày nay mạng lưới Internet-Ethernet đã phát triển và phổ biến
khắp nơi trên thế giới. Có thể xem sự bùng nổ của Internet ngày nay cũng giống như
sự bùng nổ của tivi vào những năm 40-50 của thế kỉ trước. Chính điều này càng làm
cho Internet ngự trị trong mọi ngóc ngách của cuộc sống, và do đó việc điều khiển từ
xa qua mạng trở nên dễ dàng, thuận tiện hơn và là một nhu cầu tất yếu của cuộc sống
hiện đại ngày nay.
Điều khiển từ xa qua mạng có 2 ưu điểm nổi bậc:
Thứ nhất chúng ta có thể sử dụng mạng Internet có sẵn.
DK Thiet bi qua mang Internet
www.elabvn.com
Thứ hai có thể sử dụng nhiều nơi và có nhiều ứng dụng mà con người
không thể tiếp cận một cách trực tiếp được.
Các thiết bị điều khiển từ xa qua mạng đang từng bước xâm nhập vào trong các
sinh hoạt gia đình do tính đơn giản tiện dụng, độ tin cậy tương đối ổn định. Bộ điều
khiển có thể làm một số công việc trong gia đình khi ta đang ở xa nhà như: mở máy
bơm nước, tắt bếp điện, tắt mở bóng đèn...
1.2. Phương án thực hiện
Thiết kế của đề tài nhằm xây dựng hệ thống điều khiển từ xa thông qua mạng
internet. Mô hình của hệ thống được mô tả như hình sau.
Internet
SwitchIP
tĩnh
Device1
Device 2
IP tĩnh...
remote client
Device N
IP tĩnh
DK Thiet bi qua mang Internet
www.elabvn.com
Thiết kế gồm 2 phần chính:
Phần thứ nhất: là phần giao tiếp người dùng tại máy đầu xa để điều khiển
thiết bị. Trong đề tài, phần này được thiết kế là một software sẽ được cài
đặt trên máy tính đầu xa (remote host) để tạo giao diện cho người dùng,
truyền các lệnh điều khiển qua mạng tới thiết bị và nhận các khung dữ liệu
báo trạng thái từ thiết bị đến người dùng. Phần mềm này được viết bằng
ngôn ngữ Visual Basic trên môi trường hệ điều hành Window, hỗ trợ lập
trình mạng và giao diện đẹp. Phần thiết kế software sẽ được nói kỹ ở các
chương sau.
Phần thứ hai: là Thiết bị giao tiếp mạng và điều khiển. Để giao tiếp được
mạng Ethernet. Thiết bị được thiết kế gồm 1 chip Ethernet controller dùng
để tạo khung Ethernet, truy xuất mạng, điều khiển thiết bị giao tiếp với
chip vật lý giao tiếp mạng (ở đây ta sử dụng IC ENC28J60 của Microchip
hỗ trợ chuẩn IEEE 802.3).
DK Thiet bi qua mang Internet
www.elabvn.com
CHƯƠNG 2. LÝ THUYẾT MẠNG ETHERNET
2.1. Tổng quan về Ethernet
Nguồn gốc của Ethernet được phát triển từ những thí nghiệm đối với cáp đồng
trục được thực hiện ở tốc độ 3 Mbps và sử dụng nghi thức CSMA/CD (carrier sense
multiple access collision detect) cho mạng LAN vào năm 1970 bởi tập đoàn Xerox. Sự
thành công của đề án này đã sớm gây sự chú ý và đã dẫn đến sự phát triển của Ethernet
10 Mps bởi ba tập đoàn: Digital Equipment, Intel, Xerox.
Thành ngữ Ethernet có nguồn gốc với mạng LAN ( Local-Area Network) và việc
sử dụng chuẩn IEEE 802.3. Chuẩn này được biết với nghi thức CSMA/CD. Có ba tốc
độ được được dùng cho mạng Ethernet với đường truyền là cáp đồng trục, cáp đôi hay
sợi quang.
10Mbps—10 base-T Ethernet.
100Mbps— Ethernet tốc độ cao (Fast Ethernet).
1000Mbps—Gigabit Ethernet.
Ethernet 10-Gigabit đã phát triển và được đưa ra cùng chuẩn IEEE 802.3ae cuối
2001 và đầu 2002. Nó cũng tương thích với chuẩn IEEE 802.3.
Ethernet được tạo ra phần lớn từ kỹ thuật mạng LAN (hiện tại đang được sử dụng
cho gần 85% cho mạng LAN để nối PC và các máy trạm-workstations). Bởi vì ghi
thức của nó có một số đặc điểm sau:
Dễ dàng sử dụng, thực hiện, quản lý và bảo trì.
Cho phép thực hiện mạng tốc độ thấp.
Cung cấp rất đa dạng mô hình mạng (topology).
Bảo mật thành công việc kết nối chung.
DK Thiet bi qua mang Internet
www.elabvn.com
2.2. Mô hình tham chiếu OSI
Một hình OSI (Open Systems Interconnection) là một mô hình cho phép hai hệ
thống khác nhau bất kì thông tin với nhau bất chấp cấu trúc bên dưới. Mục đích của
mô hình OSI là mở rộng thông tin giữa hai hệ thống khác nhau mà không cần thay đổi
logic phần cứng và phần mền bên dưới của mỗi hệ thống. Mô hình OSI không phải là
một nghi thức, nó chỉ là một mô hình để hiểu và thiết kế kiến trúc mạng cho linh động,
vững chắc và liên thông.
Mô hình OSI là cấu trúc phân lớp để thiết kế các hệ thống mạng cho phép thông
tin qua tất cả các loại hệ thống máy tính. Nó bao gồm 7 lớp riêng biệt nhưng có mối
liên quan với nhau, mỗi lớp định nghĩa một phân đoạn xử lý khi chuyển dịch thông tin
qua mạng. Hình sau mô tả mô hình 7 lớp của OSI.
Hình 2-1 mô hình OSI 7 lớp
Quá trình xử lý tại lớp 7, kế tiếp chuyển tứ lớp này sang lớp khác theo thứ tự. Tại
mỗi lớp (ngoại trừ lớp 7 và lớp 1), header của lớp tương ứng sẽ được cộng vào đơn vị
dữ liệu trước khi chuyển xuống cho lớp dưới kế tiếp. Khi đơn vị dữ liệu được định
dạng đi qua lớp vật lý, nó đổi thành tín hiệu điện từ và vận chuyển dọc theo liên kết
vật lý.
Khi đạt đến đích, tín hiệu đi vào lớp 1 và được đổi ngược thành bit. Các đơn vị
dữ liệu kế tiếp được chuyển lên qua các lớp OSI. Khi mỗi khối dữ liệu tới lớp kế cao
DK Thiet bi qua mang Internet
www.elabvn.com
hơn, các đầu và đuôi được gắn lúc trước sẽ được loại bỏ tại các lớp tương ứng. Khi nó
đến lớp 7 thì thông điệp trở thành dạng thích hợp cho ứng dụng.
2.2.1. Lớp vật lý (Physical Layer)
Chức năng lớp vật lý là truyền một dòng bit trên một môi trường vật lý. Nó liên
quan đến các qui định vế điện và cơ của giao tiếp và môi trường truyền. Nó cũng định
nghĩa các thủ tục và các chức năng mà các thiết bị vật lý và các giaor tiếp phải thực
thi.
2.2.2. Lớp liên kết dữ liệu (Data Link Layer)
Lớp này có nhiệm vụ chia nhỏ dữ liệu đưa xuống từ lớp mạng thành các frame
dữ liệu (một frame thường dài từ vài trăm byte đến hàng ngàn byte) để truyền đi và tổ
chức nhận sao cho đúng thứ tự các frame. Lớp này cũng cung cấp khả năng truyền
không lỗi trên đường truyền vật lý cho các lớp cao hơn. Vấn đề đặt ra ở đây là phải xác
định cơ chế để xác nhận 1 frame có truyền thành công hay không ? (Acknowledge
frame) và xử lý nhiễu (truyền lại).
Lớp liên kết dữ liệu liên quan đến sự truyền, kiểm tra lỗi và điều khiển luồng dữ
liệu. Chức năng chính của lớp liên kết dữ liệu họat động như một lưới chắn bảo vệ cho
các lớp cao hơn, điều khiển quá trình truyền và nhận. Kiểm tra lỗi và điều khiển lớp
vật lý như là chức năng chính để đảm bảo các lớp trên nhận dữ liệu từ lớp mạng không
có lỗi. Chuẩn IEEE 802 chia lớp lien kết dữ liệu thành hai lớp con là: Logical Link
Control (LLC) và Media Access Control (MAC).
Lớp con Logical Link Control (LLC) có nhiệm vụ bảo vệ lớp trên từ bất cứ
phương pháp truy cập cụ thể nào hoặc truy cập đường truyền cụ thể nào. Các lớp trên
không lo lắng về cách kết nối của chúng tới mạng Ethernet bởi vì LLC điều khiển giao
diện này.
Lớp con Media Acess Control (MAC) có nhiệm vụ cho một vài họat động. Trên
đường truyền lớp con MAC có trách nhiệm trong việc nhận dữ liệu từ lớp lớp con
DK Thiet bi qua mang Internet
www.elabvn.com
Logical Link Control và đóng các gói sẵn sàng cho việc truyền. Lớp MAC xác định
các kênh đường truyền rảnh. Nếu đường truyền rảnh MAC sẽ truyền dữ liệu trên cáp
và luôn giám sát trạng thái của lớp vật lý cho việc báo hiệu có xung đột. Nếu có xung
đột, MAC cũng điều khiển quá trình thu hồi dữ liệu và truyền lại. MAC giải quyết
tranh chấp cho môi trường dung chung. Nó bao gồm các quy định đồng bộ, cờ và kiểm
soát lỗi cần thiết để truyền thông tin từ vị trí này đến vị trí khác, cũng như các địa chỉ
vật lý của trạm nhận. Các nghi thức MAC được dung cụ thể với từng LAN (Ethernet,
Token ring, Token bus).
2.2.3. Lớp mạng (Network Layer)
Điều khiển hoạt động của các subnet, tức là tìm đường cho một packet đi từ
nguồn đến đích (truyền dữ liệu giữa 2 máy bất kì trong mạng).
Vấn đề lớn nhất của lớp này là tìm đường (Routing), giải quyết xung đột
(Collsision Detect), giải quyết vấn đề địa chỉ (Addressing), vấn đề tính chi phí
(Accounting).
Lớp mạng đảm nhận dữ liệu từ lớp giao vận và thêm các thông tin phù hợp cho
gói và cung cấp đường truyền phù hợp cũng như những mức kiểm tra lỗi. Dữ liệu được
định dạng cho phù hợp với đường truyền.
2.2.4. Lớp giao vận (Transport Layer)
Chức năng cơ bản của lớp này là chia nhỏ gói dữ liệu được đưa từ lớp bên trên
xuống thành những đơn vị nhỏ hơn để truyền qua mạng với sự đảm bảo là dữ liệu sẽ
tới nơi một cách chính xác (kiểm tra số sepuence, error detection – phát hiện lỗi, flow
control – điều khiển luồng). Lớp này cung cấp cho các lớp bên trên phương tiện truyền
các message độc lập với các lớp bên dưới (end to end – hai hệ thống thực sự kết nối
với nhau).
Lớp giao vận đảm bảo sự tối ưu cho việc truyền dữ liệu từ nguồn đến đích bằng
cách điều khiển luồng dữ liệu của mạng và thực hiện sự yêu cầu đảm bảo dịch vụ cho
DK Thiet bi qua mang Internet
www.elabvn.com
lớp phiên. Lớp giao vận xác định kích cở của gói dựa trên số lượng dữ liệu được gởi
và kích thướt gói lớn nhất cho phép truyền trên đường truyền. Nếu dữ liệu gởi lớn hớn
gói có kích thướt tối đa, nó sẽ thực hiện chia dữ liệu thành các thích thướt phù hợp một
cách tuần tự. Nó đồng thời thêm các thông tin như điều khiển lỗi để phù hợp với tỉ lệ
dữ liệu của một gói.
Khi nhận dữ liệu từ lớp mạng, lớp giao vận sẽ đảm bảo rằng dữ liệu nhận được
đúng thứ tự và kiểm tra lặp và mất khung.
2.2.5. Lớp phiên (Session Layer)
Cung cấp những phương tiện cho phép 2 thực thể của lớp ứng dụng có thể tổ
chức và đồng bộ cuộc đối thoại và quản lý sự trao đổi thiông tin giữa chúng (các dịch
vụ để các quá trình có thể trao đổi với nhau, tạo và kết thúc kết nối giữa các quá trình
trên các máy khác nhau). Lớp phiên liên quan đến sự giao tiếp giữa hai thiết bị viễn
thông. Lớp này tạo ra những qui luật cho việc khởi động và kết thúc giao tiếp giữa hai
thiết bị, cũng như sự phục hồi lỗi. Nếu có lỗi và sự giao tiếp lỗi được phát hiện, lớp
phiên sẽ truyền lại dữ liệu để hoàn thành quá trình giao tiếp. Lớp phiên yêu cầu một sự
phục vụ tốt từ lớp giao vận để không yêu cầu truyền lại, hoặc truyền hai hướng, yêu
cầu nhiều sự giám sát (monitoring) và hồi tiếp (feedback).
2.2.6. Lớp trình bày (Presentation Layer)
Lớp này biểu diễn những thông tin được truyền (được hiểu là cú pháp và ngữ
nghĩa). Nó đồng nhất các thông tin giữa các hệ thống với nhau. Lớp trình bày giải
quyết các vấn đề liên quan đến thông dịch dữ liệu và thay đổi mã giữa các thiết bị, mà
chúng định dạng dữ liệu khác nhau. Ngoài ra, lớp này cũng điều khiển sự thông dịch
sự khác nhau giữa các thiết bị và các tập tin định dạng (file formats), cũng như cung
cấp dịch vụ thao tác trên dữ liệu như nén và mã hóa (compression & cryptography).
DK Thiet bi qua mang Internet
www.elabvn.com
2.2.7. Lớp ứng dụng (Application Layer)
Đưa các ứng dụng thiết thực cho người sử dụng, ứng với mỗi ứng dụng có một
nghi thức khác nhau. Lớp ứng dụng là lớp giao tiếp giữa người dùng và mạng. Lớp này
ảnh hưởng trực tiếp đến những chương trình ứng dụng dành cho người sử dụng (user
application programs) để cung cấp cách thức truy cập mạng. Lớp ứng dụng thường liên
quan với các ứng dụng như: FTP (truyền nhận file), Telnet (giải quyết sự khác nhau
phần cứng cũng như phần lõi giữa các terminal), e-mail (truyền nhận mail), file
sharing…
2.3. Sơ lược về chuẩn IEEE 802.3
Chuẩn IEEE 802.3 là một phần của họ chuẩn cho mạng cục bộ và metropolitan.
Mối quan hệ giữa các thành viên của chuẩn được trình bày bên dưới.
Hình 2-2 Họ chuẩn của mạng cục bộ.
Các chuẩn này liên quan đến lớp vật lý và lớp data link được định nghĩa bởi
International Organization Standardization (ISO).
DK Thiet bi qua mang Internet
www.elabvn.com
2.4. Cấu trúc khung Ethernet IEEE 802.3
Chuẩn IEEE 802.3 định nghĩa một khung định dạng dữ liệu cơ bản cho tất cả
công việc mà MAC thực hiện. Thêm vào đó, một vài chức năng lựa chọn được thêm
vào cho khung dữ liệu. Một khung dữ liệu gồm có 7 trường như hình vẽ.
Hình 2-3 Cấu trúc Frame Ethernet
Phần đầu khung Preamble
Preamble chỉ ra sự bắt đầu của một khung truyền. Nó gồm một dãy các giá trị bit
0 và 1 xen kẽ nhau để báo hiệu cho trạm nhận (receiving stations) rằng có khung đang
tới. Và nó cũng cung cấp một phương tiện để đồng bộ hóa những phần khung nhận của
lớp vật lý nhận với một luồng bits vào.
Preamble bao gồm 7 bytes như sau:
10101010 - 10101010 - 10101010 - 10101010 - 10101010 - 10101010 - 10101010
Start Frame Delimiter (DFD)
SFD là một chuỗi 8 bit (1 byte) 10101011. Nó theo sau Preamble và chỉ ra sự bắt
đầu của chuỗi thông tin với hai bit cuối là 11. Sau byte này chính là địa chỉ.
Destination Address (DA) – Địa chỉ đích
Địa chỉ đích bao gồm 6 bytes để xác nhận trạm sẽ nhận khung. Nó chứa địa chỉ
vật lý (physical address) của đích sắp đến của gói. Địa chỉ vật lý của hệ thống là một
DK Thiet bi qua mang Internet
www.elabvn.com
mẫu bit được mã hóa trên NIC (Network Interface Card). Nếu gói phải đi qua mạng
LAN này đến mạng LAN khác để đến đích của nó, trường DA chứa địa chỉ vật lý của
router nối mạng LAN hiện hành và mạng LAN kế. Khi gói đạt đến mạng đích, trường
DA chứa đại chỉ vật lý của thiết bị đích.
Trong chuỗi bits này, bit phía bên trái của trường DA chỉ ra địa chỉ đơn
(individual address) nếu là bit 0 hoặc địa chỉ nhóm (group address) nếu là bit 1. Bit thứ
hai bên trái chỉ ra DA được quản lý cục bộ hay quản lý toàn cục. Những bit còn lại
được gán để xác nhận một trạm đơn, nhóm trạm hoặc tất cả trạm trên mạng (network).
Source Address (SA) – Địa chỉ nguồn
Địa chỉ nguồn bao gồm 6 bytes chứa địa chỉ vật lý của thiết bị cuối cùng chuyển
tiếp gói. Thiết bị đó có thể là trạm đang gởi hoặc router mới xảy ra nhất để nhận và
chuyển tiếp gói. Địa chỉ nguồn thì luôn luôn là địa chỉ đơn và bit phía trái thì luôn là
bit 0.
Length/type of PDU field
Lengh/type field gồm 2 bytes. Chỉ ra số byte trong PDU (Protocol Data Unit)
đang đến. Nếu chiều dài của PDU là cố định, trường này được dung chỉ ra loại hoặc
nền của các giao thức khác. Ví dụ, Novel và Internet dùng nó để làm rõ nghi thức
mạng đang dung PDU.
Data field – Trường dữ liệu (802.2 frame)
Trường dữ liệu gồm tuần tự n bytes. Chiều dài tối thiểu và lớn nhất của dữ liệu là
từ 46 bytes đến 1500 bytes. Dữ liệu được gởi qua lớp mạng với một vài thông tin điều
khiển. Nếu dữ liệu có chiều dài ít hơn 46 byte trong một gói, một cơ chế đặt biệt sẽ
đệm để đủ tối thiểu 46 bytes. PDU được tạo ra bởi lớp phụ ở trên (LLC) rồi lien kết
đến khung 802.3.
Frame Check Sequence (CRC)
DK Thiet bi qua mang Internet
www.elabvn.com
Frame Check Sequence bao gồm 4 bytes. Một vùng chứa 32 bits mã kiểm tra lổi
và phát hiện sai theo mã CRC-32 và tính trên tất cả các trường (fields) ngoại trừ
Preamble, SFD, FCS.
2.5. Lớp con MAC và phương thức truy cập CSMA/CD
2.5.1. Media Access Control (MAC)
Lớp con MAC nằm ở lớp 2 trong mô hình OSI. Có chức năng là giải quyết tranh
chấp cho môi trường dùng chung. Nó bao gồm các quy định đồng bộ, kiểm soát lỗi cần
thiết để chuyển thông tin từ vị trí này đến vị trí khác, cũng như các địa chỉ vật lý của
trạm để đảm bảo khung dữ liệu được truyền nhận đúng trạm.
Hình 2-4 Vị trí lớp con MAC trong mô hình OSI
MAC Control là 1 lớp con (sublayer) tùy chọn nằm trong lớp Data link (trong mô
hình 7 lớp của OSI). Nó được sử dụng chung với lớp con CSMA/CD MAC. MAC
Control cung cấp khả năng điều khiển thời gian thực và thao tác hoạt động của lớp con
MAC. Lớp con MAC Control sử dụng các dịch vụ không kết nối (connectionless) của
lớp con MAC ở phía dưới để truyền khung điều khiển và khung dữ liệu. MAC Control
không cung cấp bất kỳ cơ chế nào để đảm bảo khung truyền không bị mất mát. Các cơ
chế để đảm bảo truyền khung không bị mất mát, như truyền lại các khung bị lỗi, bị hủy
bỏ…, sẽ được MAC Control Client (Logic link control…) hổ trợ. Vì hoạt động của
DK Thiet bi qua mang Internet
www.elabvn.com
MAC Control là tùy chọn, nên MAC Control Client không thể nhận biết được sự tồn
tại của thực thể MAC Control trong một trạm.
Hoạt động của lớp con MAC control trong suốt đối với CSMA/CD MAC. Ở
mạng Ethernet lớp con MAC sử dụng phương thức truy cập CSMA/CD (Carrier Sense
multiple access with collision detect) để truy cập kênh truyền với 2 chế độ truyền là:
song công (full duplex) và bán song công (half duplex).
2.5.2. Phương thức truy cập CSMA/CD
Khi có nhiều người sử dụng cùng truy cập 1 kênh truyền dùng chung mà không
có quy luật thì sẽ dẫn đến xung đột. Điều này sẽ dẫn đến dữ liệu sẽ bị sai và trở thành
nhiễu. Do đó một mạng LAN cần có một cơ chế để quản lý lưu lượng, tối thiểu hóa
các xung đột và cực đại hóa các khung được phân phối thành công. Cơ chế truy cập
được dùng trong mạng Ethernet theo chuẩn IEEE-802.3 là Carrier Sense Multiple
Access with Collision Detect (CSMD/CD), tạm dịch là “Đa truy cập cảm nhận sóng
mang có phát hiện xung đột”.
Thiết kế ban đầu là phương thức đa truy cập (Multiple Access - MA) trong đó
mỗi trạm truy cập đến một liên kết là ngang bằng nhau và bình quyền. Với MA thì
không có quản lý lưu lượng, bất cứ trạm nào muốn truyền thì sẽ truyền và dựa vào xác
nhận để kiểm tra khung đã truyền là thành công hay không.
Trong một hệ thống CSMA, bất cứ trạm nào muốn truyền trước tiên phải lắng
nghe sóng mang bằng cách kiểm tra điện áp. Nếu không có điện áp trên đường truyền
thì đường truyền xem như là rảnh và nó có thể bắt đầu truyền. CSMA có thể giảm
thiểu số xung đột nhưng tất nhiên không thể loại bỏ chúng một cách hoàn toàn. Xung
đột vẫn xảy ra nếu một trạm chưa cảm nhận được tín hiệu sóng mang từ một trạm khác
nào đó trên đường truyền do hiện tượng trễ của truyền sóng.
Để khắc phục tình trạng như trên cần phải có bộ phát hiện xung đột Collision
Detect – CD. Trong CSMA/CD một trạm muốn phát thì phải chắc chắn là đường
truyền rảnh, rồi mới truyền dữ liệu. Trong lúc truyền dữ liệu, trạm luôn kiểm tra xem
DK Thiet bi qua mang Internet
www.elabvn.com
có điện áp cao vượt trội hay không, nếu có tức là có xung đột xảy ra. Nếu phát hiện có
xung đột, trạm sẽ ngưng truyền và đợi một lượng thời gian ngẫu nhiên nếu đường
truyền rảnh nó sẽ thực hiện truyền lại.
2.5.3. Chế độ bán song công (Half Duplex Ethernet)
Half – Duplex Ethernet là mô hình truyền thống của Ethernet sử dụng giao thức
CSMA/CD (Carrier Sense Multiple Access/Collision Detect). Với CSMA/CD hay
nhiều hơn các trạm chia sẽ một đường truyền chung. Để truyền một frame, một trạm
phải chờ cho một khoảng thời gian rảnh trên đường truyền khi không có một trạm
khác đang truyền. Sau đó nó truyền frame bằng cách thông báo (broadcast) nó trên
đường truyền để mà nó nghe tất cả các trạm trên mạng. Nếu một trạm khác cố gắng
truyền để truyền dữ liệu tại cùng một thời điểm, một đụng độ xuất hiện. Trạm truyền
sau đó cố ý truyền một Jam để bảo đảm tất cả các trạm được thông báo frame truyền bị
lỗi vì một đụng độ. Trạm sau đó giữ cho một khoảng thời gian ngẫu nhiên trước khi nổ
lực để truyền lại. Tiến trình được lặp lại cho đến khi frame truyền thành công.
Các nguyên tắc cơ bản cho việc truyền một frame:
Mạng được quan sát bởi một “carrier”, hoặc sự hiện diện của một trạm truyền.
Tiến trình này thì được biết như “carrier sense”.
Nếu một carrier tích cực được phát hiện, sau đó đường truyền được trì hoãn.
Trạm tiếp tục quan sát mạng cho đến khi carrier ngừng.
Nếu một carrier không được phát hiện, và khoảng không có carrier thì bằng
hoặc lớn hơn khỏang thời gian chung giữa hai khung dữ liệu (interframe gap),
sau đó trạm lặp tức bắt đầu truyền lại frame.
Trong khi trạm đang truyền frame, nó quan sát đường truyền có đụng độ hay
không.
Nếu một đụng độ được phát hiện, trạm truyền ngừng gửi khung dữ liệu (frame
data) và gửi một chuỗi jame 32 bits. Nếu đụng độ được phát hiện rất sớm
trong lúc truyền frame, thì trạm truyền sẽ hoàn thành việc truyền preamble
DK Thiet bi qua mang Internet
www.elabvn.com
của frame trước khi bắt đầu truyền chuỗi jame. Chuỗi jame được phát đi để
đảm bảo chiều dài của đụng độ đủ để thông báo tới các trạm khác.
Sau khi gửi chuỗi jame, trạm truyền chờ một khoảng thời gian ngẫu nhiên
được chọn từ bộ phát random number trước khi bắt đầu tiến trình truyền lại.
Tiến trình này gọi là “backoff”. Có thể một đụng độ được lặp lại bị giảm đi do
trạm đang đụng độ chờ một khoảng thời gian ngẫu nhiên trước khi truyền lại.
Nếu đụng độ xuất hiện lại, thì việc truyền được lặp lại, nhưng thời gian trì
hoãn ngẫu nhiên được tăng với mỗi nỗ lực truyền lại. Điều này làm giảm khả
năng đụng độ của trạm khác.
Tiến trình này lặp lại đến khi một trạm truyền một frame không có đụng độ.
Ngay khi một trạm thành công truyền một frame, nó sẽ reset lại collision
counter nó sử dụng để tăng thời gian backoff sau mỗi lần đụng độ đã lặp lại.
Slot Time
Slot time là một thông số cho mạng hoạt động half – duplex Ethernet. Nó được
xác định là 512 bits time cho mạng Ethernet hoạt động tại 10 và 100 Mb/s, và 4096 bit
time cho Gigabit Ethernet. Để mà cho mỗi nơi truyền tin cậy trong việc phát hiện đụng
độ, thời gian truyền nhỏ nhất cho một frame phải ít nhất là một slot time, và thời gian
yêu cầu cho đụng độ để truyền đến tất cả các trạm trên mạng phải nhỏ hơn một slot
time. Vì thế, một trạm không thể hoàn thành truyền frame trước khi phát hiện rằng một
đụng độ đã xuất hiện.
Các tín hiệu đã truyền bởi các khoảng trì hoãn đụng độ các trạm Ethernet khi
chúng truyền suốt trên mạng. Các khoảng truyền bao gồm thời gian yêu cầu cho tín
hiệu truyền qua các phần cáp, và thời gian trì hoãn đụng độ logic khi các tín hiệu
chuyển qua các thành phần điện trong Network Interface Cards (NICs) và các hub. Đối
với các phần cáp dài hơn và nhiều hub trên trạm, nó cho tín hiệu truyền từ một mạng
cuối đến mạng khác. Thời gian một tín hiệu truyền giữa hai trạm có khoảng cách xa
nhất trong mạng được biết như là “propagation delay” lớn nhất của mạng.
DK Thiet bi qua mang Internet
www.elabvn.com
Một trạm phát hiện rằng frame mà nó đang truyền đã bắt gặp một đụng độ, các
tín hiệu của nó phải truyền qua mạng đến trạm khác phát hiện các đụng độ. Trạm này
phải truyền một chuỗi jame để chỉ một đụng độ đã được phát hiện. Chuỗi jame này
phải truyền qua lại mạng trước khi được phát hiện bởi trạm đang truyền. Tổng một
vòng truyền tối đa (“round trip propagation delay) và thời gian yêu cầu để truyền một
chuỗi jame là các thành phần xác định chiều dài của Ethernet slot time.
Slot time là một thông số quan trọng vì:
512 bits slot time thiết lập kích cỡ nhỏ nhất của một Ethernet frame là 64
bytes. (4096 bits slot time cho Gigabit Ethernet yêu cầu một vùng mở rộng
được thêm vào frame để kích cỡ truyền nhỏ nhất là 512 bytes). Bất kỳ
frame có chiều dài ít hơn 64 bytes thì được xem như là một “collision
fragment” hay “runt frame”, và tự động được bỏ ra bởi trạm nhận.
Slot time thiết lập một giới hạn kích cỡ của một mạng trong giới hạn phần
chiều dài cáp tối đa và số lần lặp lại có thể trên đường dẫn. Nếu kích cỡ
của mạng quá lớn, một hiện tượng được biết như “late collisions” có thể
xuất hiện. Đụng độ trễ được xem như một lỗi trong mạng bởi vì đụng độ
đến quá trễ trong việc truyền frame tự động đối xử bởi chức năng điều
khiển truy cập đường truyền Ethernet. Frame đang được truyền sẽ bị bỏ,
yêu cầu một phần mềm ứng dụng phát hiện mất và bắt đầu truyền lại.
Slot time đảm bảo nếu có một đụng độ sắp xuất hiện, nó sẽ được phát hiện
trong 512 bits đầu tiên (4096 cho Gigabit Ethernet) của frame truyền. Một
phần cứng Ethernet đơn giản giữ frame truyền lại sau một đụng độ.
Đối với Gigabit Ethernet, slot time phải được tăng từ 512 đến 4096 bits time. Vì
Gigabit Ethernet có tốc độ data cao hơn, tín hiệu truyền chỉ cho một khoảng cách rất
nhỏ trong phạm vi 512 bits time. Tại tốc độ một slot time 512 bits sẽ được hỗ trợ một
mạng kích cỡ tối đa khoảng 20 mét. Một mạng nhỏ là không thực tế, vì thế chấp nhận
của việc mở rộng một sóng mang được giới thiệu tăng slot time đến 4096 bits. Việc
DK Thiet bi qua mang Internet
www.elabvn.com
tăng kích cỡ của slot time và việc giới hạn số lần lặp lại trong một mạng, kích cỡ một
mạng 200 mét có thể được hỗ trợ bởi Gigabit Ethernet.
Backoff
Backoff là quá trình xử lý một trạm đang truyền tính toán chờ bao lâu sau một
đụng độ trước khi nỗ lực truyền lại frame. Nếu tất cả các trạm đã chờ cùng khoảng
thời gian trước khi truyền lại, sau đó đụng độ khác sẽ chắc chắn xuất hiện. Điều này
được tránh bằng cách mỗi trạm phát một số ngẫu nhiên để tín khoảng thời gian nó phải
chờ trước khi kiểm tra sóng mang. Khoảng thời gian này được biết như là “backoff
delay” của trạm.
Thuật backoff thực hiện trong Ethernet là “truncated binary exponential
backoff”. Sau một đụng độ, mỗi trạm phát một số ngẫu nhiên nằm trong tầm chỉ rõ của
giá trị. Sau đó nó chờ số slot time trước khi nỗ lực truyền lại. Tầm giá trị tăng theo số
mũ sau mỗi lần truyền lại bị hỏng. Nỗ lực lần đầu có tầm là 0 đến 1, lần thứ hai là 0
đến 3, lần ba là 0 đến 7 và cứ thế tiếp tục. Nếu đụng độ lặp lại, thì tầm tiếp tục mở
rộng đến 10 nỗ lực khi nó đi từ 0 đến 1023. Sau đó tầm của giá trị nằm giữa từ 0 đến
1023. Nếu một trạm không thành công trong việc truyền sau 16 lần nỗ lực, thì MAC
thông báo “excessive collision error”. Frame được truyền lại sau đó bị bỏ đi, ta cần
phần mềm ứng dụng phát hiện mất frame và bắt đầu một sự truyền lại.
Các kết quả binary exponential backoff trong khoảng trì hoãn nhỏ nhất trước khi
truyền lại khi lưu lượng trên LAN là thấp. Khi lưu lượng cao, đụng độ lặp lại là
nguyên nhân làm tầm tăng lên, vì thế làm giảm cơ hội đụng độ sau đó. Trong một
mạng, nơi mà lưu lượng có mức độ cao, đụng độ lặp lại sẽ bắt đầu gây ra lỗi quá đụng
độ (excessive collision error) được phát đi. Lỗi quá đụng độ để chỉ ra rằng lưu lượng
tải đã tăng đến điểm mà nó không thể có khả năng được giữ trên một mạng Ethernet
đơn lẻ.
Capture Effect
DK Thiet bi qua mang Internet
www.elabvn.com
Khi mạng đang hoạt động dưới một tải lớn, thuật toán binary exponential backoff
có thể trình bày một sự không công bằng được biết như “capture effect”. Vấn đề nảy
sinh từ việc nắm giữ của collision counter. Mỗi trạm sẽ cập nhật bộ đếm đụng độ một
cách độc lập của nó và chỉ sau một nỗ lực truyền lại. Chỉ có thành công bộ đếm đụng
độ trở về zero sau khi phát một gói thành công. Điều này cho thuận lợi một trạm đơn
bật cho phép nó “capture” mạng được một khoảng thời gian mở rộng.
Một ví dụ của hiệu ứng bắt gồm hai trạm có nhiều data để gửi và có thể gửi data
nhanh như được cho phép. Cả hai đụng độ với nỗ lực truyền lại đầu tiên và chọn
backoff là 0 hoặc 1. Trạm A chọn 0, và trạm B chọn 1. Trạm A truyền lại trong lúc
trạm B chờ một slot time. Sau khi trạm A hoàn thành việc truyền của nó và hết khoảng
interframe gap, cả hai trạm sẵn sàng truyền lại và đụng độ xuất hiện. Đây là đụng độ
đầu tiên của trạm A đối với frame này, vì thế nó chọn một backoff là 0 hoặc 1. Tuy
nhiên, đây là đụng độ lần thứ hai của trạm B cho frame này, vì thế nó chọn một
backoff giữa 0 và 3. Vì vậy trạm A có khả năng truyền cao hơn trong lúc trạm B chờ
lại. Nếu điều này xảy ra thì lấy số giống như vậy và lại đụng độ, cho nên lấy các số lẻ
cho trạm B (lấy số chẵn thì xấu hơn).
Một kịch bản giống như vậy có thể lặp đi lặp lại chỉ có thể kết thúc khi hàng của
trạm A là nỗ lực cuối cùng hoặc khi trạm cuối cùng trạm B tiến tới nỗ lực thứ 16. Sau
16 lần nỗ lực trạm B sẽ reset lại bộ đếm đụng độ của nó cho phép nó trở lại cạnh tranh
nhiều hơn. Nhưng nó cũng bỏ ra frame nó đã nỗ lực truyền lại, yêu cầu nó xếp hàng
frame cho việc truyền lại bằng phần mềm.
Vào năm 1994 một thuật toán backoff mới được gọi là “binary logarithm
arbitration method” (BLAM) được đưa ra để làm giảm vấn đề hiệu ứng bắt. Một nhóm
làm việc IEEE 802.3w được tạo ra để thêm BLAM như một đặc điểm không bắt buộc
cho chuẩn Ethernet. Mặc dù kết quả mô phỏng chứng minh rằng BLAM đưa ra một cải
tiến xác định trên thuật toán binary exponential backoff, công việc để kết hợp nó vào
trong chuẩn Ethernet không bao giờ được hoàn thành vì một thay đổi (dịch) trong rõ
nét ở full – duplex Ethernet và thiếu sự chú ý cập nhật phần cứng half – duplex.
DK Thiet bi qua mang Internet
www.elabvn.com
2.5.4. Chế độ song công Ethernet (Full – Duplex)
Tiêu chuẩn IEEE 802.3x xác định một mode thứ hai của hoạt động Ethernet,
được gọi là “full – duplex”, bỏ qua nghi thức CSMA/CD. Nghi thức CSMA/CD là
“half – duplex”. Điều này chỉ rõ rằng một trạm có thể truyền data hay nhận data,
nhưng không cùng một lúc. Mode full – duplex cho phép hai trạm đồng thời chuyển
data trên một liên kết điểm điểm cung cấp đường truyền và nhận độc lập. Từ đó mỗi
trạm có thể truyền và nhận data cùng một lúc, thông lượng của liên kết được gấp đôi
lên. Một trạm 10 Mb/s hoạt động ở mode full – duplex cung cấp băng thông tối đa 20
Mb/s. Một trạm 100 Mb/s cung cấp băng thông 200 Mb/s.
Hoạt động full – duplex bị giới hạn đến chuẩn sau:
Đường truyền vật lý phải là cáp hỗ trợ truyền và nhận đồng thời mà không
nhiễu. Các phương tiện truyền chỉ rõ gặp yêu cầu này là: 10-Base-T,
10Base-FL, 100Base-TX, 100Base-FX, 100Base-T2, 1000Base-CX,
1000Base-SX, 1000Base-LS, và 1000Base-T. Phương tiện truyền không
thể hỗ trợ full – duplex: 10Base5, 10Base2, 10Base-FP, 10Base-FB và
100Base-T4.
Hoạt động full – duplex bị giới hạn liên kết điểm--điểm nối chính xác hai
trạm. Từ đó không có sự cạnh trạnh cho việc chia sẽ đường truyền, đụng
độ không có thể xuất hiện và nghi thức CSMA/CD là không cần thiết.
Frame có thể được truyền, giới hạn chỉ bởi yêu cầu khoảng cách giữa nhỏ
nhất giữa các frame liên tiếp.
Cả hai trạm trên lên kết phải có khả năng và cấu hình cho hoạt động full –
duplex.
Hoạt động full – duplex có một vài thuận lợi:
Thông lượng là gấp đôi cho phép truyền và nhận đồng thời.
Hiệu suất của liên kết tăng bởi sự loại bỏ khả năng đụng độ.
DK Thiet bi qua mang Internet
www.elabvn.com
Các phân đoạn chiều dài thì không giới hạn hơn bởi sự yêu cầu half –
duplex Ethernet đảm bảo đụng độ được truyền đến tất cả các trạm trong
khoảng yêu cầu 512 bits time. Ví dụ, 100Base-FX được giới hạn phần
chiều dài 412 mét trong mode half – duplex, nhưng có thể hỗ trợ phần
chiều dài 2km trong mode full – duplex.
Ở mode full – duplex , chuẩn Ethernet thêm vào hoạt động điều khiển luồng
(flow control) đó là “PAUSE” frame. PAUSE frame cho phép một trạm cuối tạm thời
ngừng lưu thông từ nơi khác đến trạm.
2.6. Giao thức TCP/IP
2.6.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:
DK Thiet bi qua mang Internet
www.elabvn.com
Độc lập với cầu hình mạng: TCP/IP có thể dung 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.
2.6.2. Kiến trúc của 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ế.
DK Thiet bi qua mang Internet
www.elabvn.com
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. Các ứng dụng mới có thể thêm vào mà không cần thay đổi
lớp vật lý của mạng, phần cứng có thể được bổ sung mà không cần viết lại các phần
mền ứng dụng.
Các lớp kiến trúc mô hình TCP/IP và các nghi thức tương ứng như sau:
DK Thiet bi qua mang Internet
www.elabvn.com
OSI TCP/IP TCP/IP Protocol StackApplication
layer Process/Application layer
FTP, SMTP, TELNET, SNMPPresentation
layer
Session layer
Transport layer Transport layer TCP or UDP
Network layer Internet layer IP, ARP, RARP, ICMP
DataLink layer Network Access layer
Network interface card Transmission mediaPhysical layer
Tương quan hai mô hình OSI model và TCP/IP model
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.
DK Thiet bi qua mang Internet
www.elabvn.com
2.6.3. 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.
DK Thiet bi qua mang Internet
www.elabvn.com
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.
2.6.4. 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ó.
2.6.4.1. 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 datagramIdentification Flags Fragment
offsetTime to live Protocol Header checksum
Source addressDestination address
Option:Strick source routeLoose source route
Record routeTime stamp
SecurityData (max 65535 bytes)
IP datagram header
DK Thiet bi qua mang Internet
www.elabvn.com
Destination Address4 bytes
Source Address4 bytes
Type Field2 byte
IP data46 – 1500 bytes
CRC4 bytes
Hình 2-5 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.
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…).
DK Thiet bi qua mang Internet
www.elabvn.com
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.
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 dung bởi máy chủ và
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.
2.6.4.2. Địa chỉ IP
Địa chỉ IP gồm 32 bits, thường được mô tả ở dạng thập phân và mỗi byte cách
nhau bởi dấu “.” là danh hiệu duy nhất trên mạng. Địa chì này có 2 phần: phần địc chỉ
mạng và địa chỉ nội bộ. Có 3 lớp địa chỉ A, B, C dành cho 3 loại mạng lớn, vừa và
nhỏ; 1 lớp địa chỉ multicasting (lớp D) và một lớp dự trữ (E).
DK Thiet bi qua mang Internet
www.elabvn.com
Trong đó có một lớp địa chỉ đặc biệt dùng để kiểm tra thiết bị mạng là:
127.x.x.x (loopback)
Bit trọng số
Lớp(Class)
Phạm vi địa chỉ Kích thướckhông gian địa chỉ
0xxx A 0.0.0.0 – 127.255.255.255 224 = 1677721610xx B 128.0.0.0 – 191.255.255.255 216 = 65536110x C 192.0.0.0 – 223.255.255.255 28 = 2561110 D 224.0.0.0 – 239.255.255.2551111 E 240.0.0.0 – 255.255.255.255
Không gian địa chỉ IP
Khi một mạng phức tạp có địa chỉ thuộc lớp A, B hoặc C có một vài subnet tham
dự để tạo cấu trúc mạng thì local sẽ được chia làm 2 phần: subnet address và host
address. Kích thước và việc gán trọng số của subnet part được quản lý bởi tổ chức nội
bộ.
Để phân biệt các subnet cho các host và router thì cần dùng một subnetsmask. Đó
là bộ 32 bits, bit 1 phủ phần network và subnet, bit 0 dùng để mask out số host trong
địa chỉ IP.
Class A 0 Net ID Host IDClass B 1 0 Net ID Host IDClass C 1 1 0 Net ID Host IDClass D 1 1 1 0 Multicast addressClass E 1 1 1 1 Reserved for future use
Khuôn dạng địa chỉ liên mạng – Subnet address
Các địa chỉ đặc biệt:
DK Thiet bi qua mang Internet
www.elabvn.com
Nhận dạng mạng: Địa chỉ IP tham khảo tới một mạng co phần local part là
zero. Tương tự đối với một subnet. Các địa chỉ này không được gán cho
host và router.
Quảng bá trên mạng: Địa chỉ 255.255.255.255 có một mục đích đặc biệt,
đó là dung để gởi một message tới mỗi host trên mạng nội bộ. broadcasts
thường dùng khi một host cần định vị tới một server. Cũng có thể gởi một
massega tới mỗi host trên mạng ở xa bằng cách đặt local part ở địa chỉ lên
“1”.
Quảng bá trên subnet: Một broadcasts có thể định hướng tới một subnet
đặc biệt. Khi đó host address trong địa chỉ IP được đặc lên “1”; còn nếu
muốn phát rên toàn nút mạng (node) thì cả subnet address và host address
được đặc lên “1”.
Địa chỉ tự khóa (loopback address): Đối nghịch với địa chỉ quảng bá là
các message không được rời khỏi local host. Khi đó thường dung một
loopback address, có nghĩa là “node” dùng để kiểm tra phần mềm mạng.
đó là địa chỉ bắt đầu bằng “127.xxx.xxx.xxx”.
This host on network: Địa chỉ 0.0.0.0 có nghĩa là bản thân host là phần tử
của mạng. với các host trên cùng một mạng cục bộ chỉ có phần host
address là mang số của host trên mạng nà, còn các phần khác là zero.
Hệ thống tên vùng: Để có thể tra tìm tên – địa chỉ của một host nào đó,
người ta dung hệ thống tên vùng giữ ở một server gọi là nameserver.
2.6.4.3. 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.
DK Thiet bi qua mang Internet
www.elabvn.com
Hình 2-6 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).
DK Thiet bi qua mang Internet
www.elabvn.com
Gói thông tin ARP được mô tả như sau:
Hình 2-7 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 Address6 bytes
Source Address6 bytes
Frame type2 bytes
(ARP) Data28 bytes
CRC4 bytes
Hình 2-8 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.
DK Thiet bi qua mang Internet
www.elabvn.com
Frame type:
o ARP yêu cầu hoặc đáp lại (ARP request/rely) : 0x0806
o RARP yêu cầu hoặc đáp lại (RARP request/rely): 0x08035
o IP: 0x0800
2.6.5. 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
Internet. Chương trình ứng dụng có thể lựa chọn dịch vụ nào thích hợp với ứng dụng
của nó.
IP phân phát một datagram từ một máy chủ nguồn đến máy chủ đích, tạo thành
một nghi thức máy chủ-máy chủ. Các hệ đểu hành ngày nay trợ giúp môi trường xữ lý
nhiều người sử dụng. Một chương trình thực thi gọi là process. Một máy chủ đang
nhận một datagram cũng có thể chạy nhiều process đồng thời.
Các nghi thức giao vận của bộ nghi thức TCP/IP định nghĩa một tập kết nối khái
niệm cho các process riêng được gọi là các ports nghi thức, hay đơn giản hơn là ports.
Một ports nghi thức là mộ điểm đến (thường là một bộ đệm) để chứa dữ liệu dùng cho
một process cụ thể. Giao tiếp giữa các processes và càc ports tương ứng được cung cấp
bởi hệ điều hành của máy chủ.
DK Thiet bi qua mang Internet
www.elabvn.com
IP là một nghi thức máy chủ - máy chủ, có nghỉa là nó có thể nhận phát gói từ
một thiết bị vật lý đến thiết bị vật lý khác. Các nghi thức mức giao vận của TCP/IP là
các nghi thức port to port làm việc ớ phía trên của các nghi thức IP để phân phát gói từ
port gốc đến port đích tại cuối truyến.
Mỗi port được định nghĩa bằng một số nguyên dương được mang trong header
của gói lớp giao vận. Một khung tại lớp giao vận dùng địa chỉ port 16 bits, đủ dùng
cho các ports từ 0 đến 65535.
2.6.5.1. Giao thức UDP (User Datagram Protocol)
UDP (User Datagram Protocol) là một nghi thức không tin cậy, chỉ cố gắng hết
mình để phân phát dữ liệu. UDP chỉ cung cấp cơ bản cần thiết cho phân phát end-to-
end. Nó không cung cấp bất cứ chức năng đánh số thứ tự nào và do đó không thể làm
rõ gói nào bị hỏng khi báo cáo về lỗi. UDP có thể khám phá ra một lỗi đã xuất hiện tức
là ICMP có thể thông báo phía gửi là một user datagram đã hỏng và bị loại. Tuy nhiên
nó không có khả năng biết là gói nào bị mất. UDP cho phép truyền dữ liệu trên mạng
với chi phí thấp do sự phân phát dữ liệu không tin cậy. Các dịch vụ dùng UDP là
TFTP, DSN, SNMP…
Gói thông tin UDP:
Mỗi gói thông tin UDP gọi là một Datagram được phân làm 2 phần header và
data trong đó header chứa thông tin về địa chỉ cổng nguồn, địa chỉ cổng đích, độ dài
của gói và checksum.
Chech sum: 16 bits là số bù 1 của tổng bù 1của các 2 bytes trong phần header, dữ
liệu và phần header giả (pseudo header) . Nếu phần header và text chứa một số lẻ bytes
thì byte cuối cùng được đệm vào bên phải với 0 để đủ 16 bit cho mục đích Checksum.
Phấn đệm thì không được truyền như một phần của header.
DK Thiet bi qua mang Internet
www.elabvn.com
Hình 2-9 Đóng gói UDP vào khung Ethernet
Phân kênh, hợp kênh và Ports.
Phân kênh, hợp kênh chính là việc lựa chọn những tiến trình ứng dụng trong một
số lớn các tiến trình sử dụng giao thức UDP, người ta chọn ra những ứng dụng tương
ứng với gói thông tin chuyển đến.
Hình 2-10 Sự phân kênh và hợp kênh của ARP
Việc này giải quyết bằng “cơ chế cổng” Port mechanism cơ chế này gắn mỗi ứng
dụng với một con số gọi là port number và mỗi gói thông tin mà nó gửi đi đều mang
một trường SOURCE PORT.
Tại nơi nhận, dựa vào thông tin trường DESTINATION PORT mà gói thông tin
đó được truyền đến cổng tương ứng với ứng dụng. Ví dụ mọi bảng TCP/IP đều có dịch
DK Thiet bi qua mang Internet
www.elabvn.com
vụ FTP (File Transfer Protocol) gắn với cổng 21 và TFTP (Trivial File Transfer
Protocol) gắn với cổng 69 của UDP.
Việc sử dụng các port number cũng có nhiều cách.
o Dùng những cổng dành riêng cho từng ứng dụng đã được đăng ký trước
(Well-known port assignment).
o Một port number sẽ được sinh ra khi có một ứng dụng đòi hỏi (Dynamic
binding).
Cách tiếp cận kết hợp các kiểu trên (Hybrid) trong đó người ta vừa sử dụng Well-
known port assignment cho một số port number vừa có thể định nghĩa các port number
khác khi cần thiết. Một khung tại lớp giao vận dùng địa chỉ port 16 bits, đủ dùng cho
các ports từ 0 đến 65535.
Vì sao người lập trình ứng dụng lựa chọn UDP như một dịch vụ giao vận? Có
một số lý do:
Một số lượng lớn các gói thông tin nhỏ được truyền, thông tin cho việc kết nối và
sửa lỗi có thể lớn hơn nhiều so với thông cần truyền. Trong trường hợp này, UDP là
giải pháp hiệu quả nhất.
Những ứng dụng kiểu “Query-Respon” cũng rất phù hợp với UDP, câu trả lời có
thể dùng làm sự xác nhận của một câu hỏi. Nếu không nhận được sự trả lời sau một
thời gian nào đó, ứng dụng chỉ cần gửi đi một câu hỏi khác.
Một số ứng dụng đã tự nó cung cấp công nghệ riêng để chuyển giao thông tin
cậy, và không đòi hỏi dịch vụ này của transport layer.
Đây là giao thức đơn giản và truyền nhanh, nên nó thường được sử dụng trong
các ứng dụng điều khiển thời gian thực. Do đó trong Luận Văn này chọn giao thức
UDP làm giao thức truyền khung điều khiển của lớp trên.
DK Thiet bi qua mang Internet
www.elabvn.com
2.6.5.2. Giao thức TCP (Transmission Control Protocol)
TCP (Transmission Control Protocol) là một nghi thức tin cậy. TCP là một nghi
thức port-to-port tin cậy và định hướng kết nối. TCP tạo ra một mạch ảo giữa phía gửi
và nhận trong suốt quá trình truyền.TCP bắt đầu truyền bằng cách thông báo cho phía
nhận biết (thiết lập kết nối) và khi kết thúc truyền thì gửi một kết thúc kết nối. Nó cố
gắng phân phát dữ liệu đến đích, kiểm tra lỗi, truyền lại nếu cần, thông báo lỗi cho lớp
trên nếu truyền không thành công. Do đó, việc sử dụng TCP cũng làm tăng chi phí.
TCP cung cấp đầy đủ các dịch vụ lớp giao vận đối với áp dụng. TCP là một nghi
thức port to port tin cậy và định hướng kết nối. TCP tạo ra một mạch ảo giửa phía gửi
và nhận trong suốt quá trình truyền. TCP bắt đầu truyến bằng cách thông báo cho phía
nhận biết (thiết lập kết nối) và khi kết thúc truyền thì gửi kết thúc kết nối.
Sự tin cậy của TCP đảm bảo bằng việc phát hiện lỗi và truyền lại các khung bị
hỏng: tất cả các đọan phải được nhận và xác nhận trước khi xem như cuộc truyến là
hòan thành và mạch ảo được lọai bỏ.
Tại đầu gửi, TCP chia cuộc truyền thành các đơn vị dữ liệu nhỏ hơn và đóng gói
thành các khung gọi là đọan. Mỗi đọan bao gồm việc đánh số nhằm sềp lại theo thứ tự
khi nhận. Các đọan được tải qua mạng bên trong các IP datagram. Tại đầu nhận, TCP
gom mỗi datagram khi chúng đến và xếp lại theo thứ tự dựa vào các số đã được đánh.
TCP gởi trên internet các datagram. Header của Internet Protocol mang những
trường thông tin bao gồm địa chỉ nguồn và đích của máy chủ. TCP header theo sau
header của internet và cung cấp thông tin cụ thể tới nghi thức TCP.
DK Thiet bi qua mang Internet
www.elabvn.com
Hình 2-11 Định dạng Gói TCP
Source port: 16 bits địa chỉ nguồn.
Destination: 16 bits địa chỉ đích.
Sequence Number: 32 bits một dòng dữ liệu từ chương trình áp dụng có thể
được chia thành hai hay hoặc nhiều đọan TCP. Số thứ tự chỉ ra vị trí của dữ liệu
trong dòng dữ liệu gốc.
Acknowledgment Number: 32 bits dùng để xác nhận có nhận dữ liệu từ thiết
bị khác. Số này chỉ xác nhận khi bit ACK trong trường điều khiển được đặt.
Trong trường hợp này, số thứ tự chỉ ra mong đợi kế tiếp.
Data offset: 4 bits chỉ ra nơi dữ liệu bắt đầu.
Reserved: 6 bits dành cho tương lai.
Control bits: 6 bits (từ trái sang phải).
URG: khi được đặt chỉ ra tính hợp lệ của trường urgent pointer. Cả bit urgent và
con trỏ chỉ ra rằng dữ liệu trong đọan là khẩn cấp.
ACK: khi được đặt chỉ ra tính hợp lệ của trường Acknowledgment number. Cả
hai đều được dùng với nhau và có chức năng khác nhau tùy vào lọai đọan.
PSH: được dùng thông báo phía gửi là cần một tốc độ trung bình cao hơn.
RST: dùng để xóa kết nối khi có nhấm lẫn số thứ tự.
DK Thiet bi qua mang Internet
www.elabvn.com
SYN: dùng để đồng bộ việc đánh số cho ba lọai đọan: yêu cấu kết nối, khẳng
định kết nối(với bit ACK), và xác nhận khẳng định (với bit ACK được đặt).
FIN: được dùng cho kết thúc nối cho ba đọan và xác nhận của khẳng định kết
thúc.
Window: 16 bits số dữ liệu được chỉ ra trong trường acknowledgment mà phía
gửi đang đảm nhận.
Chech sum: 16 bits là số bù 1 của tổng số bù 1 của 16 bytes trong phần header
và text. Nếu phần header và text chứa một số lẻ bytes header và text được kiểm
tra, thì byte cuối cùng được đệm vào bên phải với 0 để đủ 16 bytes cho mục
đích Checksum. Phần đệm thì không được truyền như một phần của header.
Trong khi tính checksum, tự bản thân của trường checksum được thay thế với 0
(có nghĩa là chechsum sẽ thay thế những bit 0 này).
Chechsum cũng bao gồm 96 bit header giả (Pseudo header) được thêm vào đầu
header của TCP. Header giả này chứa địa chỉ nguồn ,địa chỉ đích, nghi thức, chiều dài
TCP. Phần này được đưa ra để bảo vệ TCP trong việc truyền lạc khung. Những thông
tin này được mang bởi Internet Protocol và được truyền qua TCP/Network interface
trong arguments hoặc kết quả của việc gọi bởi TCP trên IP.
Hình 2-12 Khung TCP
TCP length là chiều dài byte của header và chiều dài dữ liệu nhưng nó không
bao gồm 12 bytes header giả .
Urgent pointer (16 bits): Trường này giao tiếp với giái trị hiện hành của Urgent
pointer như là một mức offset từ số tuần tự trong khung. Urgent pointer luôn chỉ
DK Thiet bi qua mang Internet
www.elabvn.com
đến giá trị số bytes dữ liệu khẩn. Gía trị của trường này được tính khi tín hiệu
điều khiển URG được đặt.
2.6.6. Lớp ứng dụng (Application Layer)
Gồm các ứng dụng truyền trên mạng như truyền thư (Simple Mail Transfer
Protocol – SMTP), truyền file (File Transfer Protocol – FTP), truy xuất từ xa (Telnet),
quản lý mạng (Simple Network Manegement Protocol – SNMP)…
DK Thiet bi qua mang Internet
www.elabvn.com
CHƯƠNG 3. ENC28J60 – MICROCHIP STAND-ALONE
ETHERNET CONTROLLER WITH SPI INTERFACE
3.1. Mô tả tổng quan
ENC28J60 là IC giao tiếp mạng Ethernet ở lớp vật lý tương ứng trong mô
hình OSI. Nó hỗ trợ tuyền song công trên kênh truyền có băng thông từ 10-
20Mbps. Đồng thời nhằm tránh xung đột trên kênh truyền, ENC28J60 làm việc
trên protocol CSMA/CD để phát hiện và tối thiểu hóa xung đột. ENC28J60 được
giao tiếp với các thiết bị khác theo chuẩn SPI.
The ENC28J60 is a stand-alone Ethernet controller with an industry
standard Serial Peripheral Interface (SPI). It is designed to serve as an Ethernet
network interface for any controller equipped with SPI. The ENC28J60 meets all
of the IEEE 802.3 specifications. It incorporates a number of packet filtering
schemes to limit incoming packets. It also provides an internal DMA module for
fast data throughput and hardware assisted checksum calculation, which is used in
various network protocols. Communication with the host controller is
implemented via an interrupt pin and the SPI, with clock rates of up to 20 MHz.
Two dedicated pins are used for LED link and network activity indication.
ENC28J60 có các thông số sau:
• IEEE 802.3 compatible Ethernet controller• Integrated MAC and 10BASE-T PHY• Supports one 10BASE-T port with automaticpolarity detection and correction• Supports Full and Half-Duplex modes• Programmable automatic retransmit on collision• Programmable padding and CRC generation
DK Thiet bi qua mang Internet
www.elabvn.com
• Programmable automatic rejection of erroneouspackets• SPI Interface with clock speeds up to 20 MHz• 8-Kbyte transmit/receive packet dual port SRAM• Configurable transmit/receive buffer size• Hardware-managed circular receive FIFO• Byte-wide random and sequential access withauto-increment• Internal DMA for fast data movement• Hardware assisted• Supports Unicast, Multicast and BroadcastPackets• Loopback mode• Two programmable LED outputs for LINK, TX,RX, collision and full/half-duplex status• Six interrupt sources and one interrupt output pin• 25 MHz clock input requirement• Clock out pin with programmable prescaler• Operating voltage of 3.1V to 3.6V (3.3V typical)• 5V tolerant inputs• Temperature range: -40°C to +85°C Industrial,0°C to +70°C Commercial (SSOP only)• 28-pin SPDIP, SSOP, SOIC, QFN packages
DK Thiet bi qua mang Internet
www.elabvn.com
3.2. Sơ đồ chân
DK Thiet bi qua mang Internet
www.elabvn.com
3.3. Sơ đồ khối
DK Thiet bi qua mang Internet
www.elabvn.com
Chip ENC28J60 có bảy khối chức năng chính:
1. An SPI interface that serves as a communication channel between the host
controller and the ENC28J60.
2. Control Registers which are used to control and monitor the ENC28J60.
3. A dual port RAM buffer for received and transmitted data packets.
4. An arbiter to control the access to the RAM buffer when requests are made
from DMA, transmit and receive blocks.
5. The bus interface that interprets data and commands received via the SPI
interface.
DK Thiet bi qua mang Internet
www.elabvn.com
6. The MAC (Medium Access Control) module that implements IEEE 802.3
compliant MAC logic.
7. The PHY (Physical Layer) module that encodes and decodes the analog
data that is present on the twisted pair interface.
3.1.1. Nhóm thanh ghi điều khiển
DK Thiet bi qua mang Internet
www.elabvn.com
3.3.1.1. Chức năng của thanh ghi
DK Thiet bi qua mang Internet
www.elabvn.com
DK Thiet bi qua mang Internet
www.elabvn.com
3.4. Giao tiếp với VĐK
3.1.1. Truyền gói
3.4.1.1. Thiết lập việc truyền
3.4.1.2. Tiến trình gởi
3.4.1.3. Trạng thái truyền
3.1.1. Nhận gói
Mô hình bus trong mạng CSMA/CD cho phép mỗi nút nhận mọi gói được
gởi lên mạng. Bộ lọc nhận sẽ xác định gói nào được phép lưu vào bộ đệm nhận.
Không phải mọi gói đều được quan tâm, chỉ có những gói có địa chỉ đích thỏa bộ
lọc nhận mới được chuyển vào bộ nhớ. NIC đưa ra một số lựa chọn cho bộ lọc
nhận và cách quản lý một gói hoàn chỉnh cho việc lưu trữ gói đang đến.
3.4.1.4. Tiến trình nhận
3.4.1.5. Bộ đệm thu
DK Thiet bi qua mang Internet
www.elabvn.com
1.2. Chuẩn SPI
The ENC28J60 is designed to interface directly with the Serial Peripheral
Interface (SPI) port available on many microcontrollers. The implementation
used on this device supports SPI mode 0,0 only. In addition, the SPI port
requires that SCK be at Idle in a low state; selectable clock polarity is not
supported. Commands and data are sent to the device via the SI pin, with
data being clocked in on the rising edge of SCK. Data is driven out by the
ENC28J60 on the SO line, on the falling edge of SCK. The CS pin must be
held low while any operation is performed and returned high when finished.
DK Thiet bi qua mang Internet
www.elabvn.com
DK Thiet bi qua mang Internet
www.elabvn.com
DK Thiet bi qua mang Internet