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

Giao thuc TCP-IP

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 (277.83 KB, 50 trang )

Chơng I Giao thức TCP/IP
CHơNG I GIAO THỉC TCP/IP................................................................................................................2
1.GI I THIệU TCP/IP - GIAO THỉC INTERNET.....................................................................................2
1.KIếN TRểC CẹA TCP/IP ................................................................................................................ 3
Kiến trúc của TCP/IP ...................................................................................................................3
Cơ chế địa chỉ Internet .................................................................................................................7
Địa chỉ lớp A ................................................................................................................................................7
Địa chỉ lớp B .................................................................................................................................................8
Địa chỉ lớp C..................................................................................................................................................8
Mạng con và Subnet mask..............................................................................................................9
TầNG MạNG (NETWORK LAYER)..................................................................................................... 10
Mạng Ethernet và IEEE 802.3.....................................................................................................11
Mạng Token-Pasing Rings (IEEE 802.5).....................................................................................11
Mạng Token-Passing Busses (IEEE 802.4).................................................................................12
TầNG INTERNET (INTERNET LAYER)...............................................................................................13
Gói tin IP......................................................................................................................................13
Thuật toán dẫn đờng ...................................................................................................................15
Dẫn đờng trực tiếp.......................................................................................................................................16
Dẫn đờng gián tiếp......................................................................................................................................18
Thuật toán ...................................................................................................................................................19
Cơ chế thông báo lỗi (Internet Control Message Protocol - ICMP)..........................................21
Gói tin ICMP...............................................................................................................................................21
Điều khiển dòng dữ liệu .............................................................................................................................21
Thông báo lỗi ..............................................................................................................................................22
Định hớng lại...............................................................................................................................................22
Kiểm tra trạm làm việc................................................................................................................................22
TầNG GIAO VậN............................................................................................................................. 23
Giao thức không kết nối (User Datagram Protocol - UDP).......................................................23
Gói thông tin UDP.......................................................................................................................................23
Phân kênh, hợp kênh và Ports......................................................................................................................24
Giao thức điều khiển truyền tin (Transmission Control Protocol - TCP) .................................26


TCP Segment...............................................................................................................................................28
Cổng, kết nối và điểm kết nối......................................................................................................................29
TầNG ỉNG DễNG CẹA TCP/IP...........................................................................................................30
Dịch vụ tên miền (Domain Name Server - DNS)........................................................................31
?I.1 Đăng nhập từ xa (Telnet)......................................................................................................33
?I.2 Th điện tử (Electronic Mail).................................................................................................33
?I.3 Truyền tệp (File Transfer Protocol - FTP)..........................................................................35
?I.4 Nhóm tin (News groups)......................................................................................................35
?I.5 Tìm kiếm tệp (Archie)...........................................................................................................36
?I.6 Tra cứu thông tin theo thực đơn (Gopher)...........................................................................36
?I.7 Tìm kiếm thông tin theo chỉ số (WAIS).................................................................................36
?I.8 Siêu văn bản (WWW)............................................................................................................36
CHơNG II XâY D NG ỉNG DễNG ......................................................................................................37
?I GIAO DIệN LậP TRìNH................................................................................................................ 37
?I.1 Giao diện lập trình................................................................................................................37
?I.2 Network I/O và file I/O........................................................................................................38
?I.3 Làm việc với Shocket............................................................................................................39
?I.3.1 socket................................................................................................................................................40
?I.3.2 Địa chỉ Socket...................................................................................................................................40
?I.3.3 Một số lời gọi tạo lập socket............................................................................................................42
?I.3.4 Một số lời gọi gửi dữ liệu qua socket...............................................................................................45
?I.3.5 Một số lời gọi nhận dữ liệu từ socket...............................................................................................47
?II Mô HìNH CLIENT-SERVER........................................................................................................47
?II.1 Mô hình Client-Server sử dụng dịch vụ hớng kết nối ........................................................48
?II.2 Mô hình Client-Server sử dụng dịch vụ không kết nối ......................................................49
?III XâY D NG CHơNG TRìNH ........................................................................................................50
Chơng I Giao thức TCP/IP
1. Giới thiệu TCP/IP - giao thức internet
Vào cuối những năm 1960 và 1970, Trung tâm nghiên cứu cấp cao (Advanced
Research Projects Agency - ARPA) thuộc bộ quốc phòng Mĩ (Department of

Defense - DoD) đợc giao trách nhiệm phát triển mạng APARNET. Mạng
APARNET bao gồm những tổ chức quân đội, các trờng đại học và các tổ chức
nghiên cứu và đợc dùng để hỗ trợ cho những dự án nghiên cứu khoa học và quân
đội (Ngày nay, ARPA đợc gọi là DARPA). Năm 1984, DoD chia ARPANET ra
thành 2 phần ARPANET sử dụng cho nghiên cứu khoa học và MILNET sử dụng
cho quân đội. Đầu những năm 1980, một bộ giao thức mới đợc đa ra làm giao
thức chuẩn cho mạng ARPANET và các mạng của DoD mang tên DARPA
Internet protocol suit, nó thờng đợc gọi là bộ giao thức TCP/IP hay còn gọi tắt là
TCP/IP.
Năm 1987, tổ chức nghiên cứu quốc gia Hoa Kỳ (National Science Foundation - NSF)
tài trợ cho việc kết nối 6 trung tâm siêu tính trên toàn liên bang lại với nhau thành một
mạng với tên gọi NSFNET. Về mặt vật lý, mạng này kết nối 13 điểm làm việc bằng đ-
ờng điện thoại cao tốc đợc gọi là NSFNET backbone. Khoảng 8 đờng backbone đã đợc
xây dựng. NSFNET đợc mở rộng với hàng chục mạng địa phơng kết nối vào nó và kết
nối vào mạng Internet của DARPA, cả NSFNET và các mạng con của nó đều sử dụng
bộ giao thức TCP/IP.
Có một số u điểm của TCP/IP nh sau:
Giao thức chuẩn mở thoải mái và sẵn sàng phát triển độc lập với phần cứng và
hệ điều hành. Bởi vì nó đợc hỗ trợ bởi nhiều nhà cung cấp, TCP/IP lý tởng cho
việc hợp nhất phần cứng và phần mềm khác nhau, ngay cả khi truyền thông
trên Internet. Sự độc lập rành mạch với phần cứng vật lý của mạng cho phép
TCP/IP hợp nhất các mạng khác nhau. TCP/IP có thể chạy trên mạng Ethernet,
mạng Token ring, mạng quay số (Dial-up line), mạng X.25 mạng ảo và mọi
loại môi trờng vật lý truyền thông.
Một sơ đồ địa chỉ dùng chung cho phép mỗi thiết bị TCP/IP có duy nhất một
địa chỉ trên mạng ngay cả khi đó là mạng toàn cầu Internet.
Tiêu chuẩn hoá mức cao của giao thức phù hợp với ích lợi của dịch vụ ngời
dùng. Đợc tích hợp vào hệ điều hành UNIX, hỗ trợ mô hình client-server, mô
hình mạng bình đẳng, hỗ trợ kỹ thuật dẫn đờng động.
DARPA hỗ trợ việc nghiên cứu kết nối nhiều loại mạng khác nhau lại thành một

mạng toàn cầu Internet. Ngoài việc sử dụng cho tất cả các máy trên Internet,
TCP/IP còn đợc sử dụng trong mạng nội bộ của một số tổ chức chính phủ hoặc
thơng mại, những mạng này gọi là Intranet. TCP/IP có thể kết nối một số lợng lớn
các máy tính (150.000 máy trên nớc Mĩ, Châu Âu, Châu á) hay chỉ kết nối hai
máy tính trong phòng làm việc.
Chúng ta sẽ nghiên cứu về bộ giao thức truyền thông TCP/IP sau đây.
1. Kiến trúc của TCP/IP
Kiến trúc của TCP/IP
Mặc dầu có nhiều giao thức trong bộ giao thức truyền thông TCP/IP, hai
giao thức quan trọng nhất đợc lấy tên đặt cho bộ giao thức này là TCP
(Transmission Control Protocol) và IP (Internet Protocol).
TCP/IP đợc phân làm 4 tầng
Tầng mạng (Network Layer)
Tầng Internet (Internet Layer)
Tầng giao vận (Transport Layer)
Tầng ứng dụng (Application Layer)
Việc phân tầng 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 hoá 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 hoá 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ỏ nếu 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 tầng đồng mức cung cấp chức

năng nh nhau. Các tầng đồng mức phải sử dụng một giao thức chung.
Một tầng 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ể đợc thi hành bởi một số giao thức. Do vậy, mỗi tầng 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 tầng. Ví dụ cả giao thức truyền file (File Transfer Protocol-FTP) và
giao thức th điện tử (Electronic Mail Protocol) đều cung cấp dịch vụ cho ngời
dùng và cả hai đều thuộc tầng ứng dụng. Mỗi mức ngang hàng giao thức truyền
thông (sự bổ sung của các giao thức cùng mức tơng đơng trên hệ thống khác).
Mỗi mức phải đợc chuẩn hoá để giao tiếp với mức 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 mức 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
tầng trên một máy tính, bởi mỗi tầng lại dính líu tới việc gửi dữ liệu từ ứng dụng
tới một ứng dụng tơng đơng trên một máy khác. Tầng cao hơn dựa vào tầng 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ừ tầng
này xuống tầng thấp hơn cho tới khi đợc truyền qua mạng nhờ giao thức của tầng
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 tầng riêng
lẻ không cần biết các tầng trên và dới nó xử lý ra sao, nó cần biết cách chuyển
thông tin tới các tầng đó. Sự cô lập các hàm truyền thông trên các tầng 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 tầng 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ềm ứng dụng.
FTP (File transfer Protocol): Giao thức truyền tệp cho phép ngời dùng lấy
hoặc gửi tệp tới một máy khác.
Telnet: Chơng trình mô phỏng thiết bị đầu cuối cho phép ngời dùng login vào
một máy chủ từ một máy tính nào đó trên mạng.
SMTP (Simple Mail Transfer Protocol): Một giao thức th tín điện tử.
DNS (Domain Name server): Dịch vụ tên miền cho phép nhận ra máy tính từ
một tên miền thay cho chuỗi địa chỉ Internet khó nhớ.
SNMP (Simple Network Management Protocol): Giao thức quản trị mạng cung
cấp những công cụ quản trị mạng.

RIP (Routing Internet Protocol): Giao thức dẫn đờng động.
ICMP (Internet Control Message Protocol): Nghi thức thông báo lỗi.
UDP (User Datagram Protocol): Giao thức truyền thông không kết nối, cung
cấp dịch vụ truyền không tin cậy nhng tiết kiệm chi phí truyền.
TCP (Transmission Control Protocol): Giao thức hớng kết nối, cung cấp dịch
vụ truyền thông tin tởng.
IP (Internet Protocol): Giao thức Internet chuyển giao các gói tin qua các máy
tính đến đích.
ARP (Address Resolution Protocol): Cơ chế chuyển địa chỉ TCP/IP thành địa
chỉ vật lý của các thiết bị mạng.
Cũng giống nh trong mô hình tham chiếu OSI, dữ liệu gửi từ tầng Application đi
xuống ngăn xếp, mỗi tầng có những định nghĩa riêng về dữ liệu mà nó sử dụng.
Tại nơi gửi, mỗi tầng coi gói tin của tầng trên gửi xuống là dữ liệu của nó và thêm
vào gói tin các thông tin điều khiển của mình sau đó chuyển tiếp xuống tầng dới.
Tại nơi nhận, quá trình diễn ra ngợc lại mỗi tầng lại tách thông tin điều khiển của
mình ra và chuyển dữ liệu lên tầng trên.
Application
Data
Transport
TCP
Header
Data
Internet
IP
Header
TCP
Header
Data
Network
Ethernet

Header
IP
Header
TCP
Header
Data Ethernet
trailer
Cơ chế địa chỉ Internet
Mạng Internet dùng hệ thống địa chỉ IP (32 bit) để "định vị" các máy tính liên
kết với nó. Có hai cách đánh địa chỉ phụ thuộc vào cách liên kết của từng máy
tính cụ thể:
Nếu các máy tính đợc kết nối trực tiếp với mạng Internet thì NIC Network
Information Centre) sẽ cấp cho các máy tính đó một địa chỉ IP (IP Address).
Nếu các máy tính không kết nối trực tiếp với mạng Internet mà thông qua một
mạng cục bộ thì ngời quản trị mạng sẽ cấp cho các máy tính đó một địa chỉ IP
(tuy nhiên cũng dới sự cho phép của NIC)
Hệ thống địa chỉ này đợc thiết kế mềm dẻo qua một sự phân lớp, có 5 lớp địa chỉ
IP là : A, B, C, D, E. Sự khác nhau cơ bản giữa các lớp địa chỉ này là ở khả năng
tổ chức các cấu trúc con của nó.
0 1 2 3 4 8 16 24
Class A
0 Netid Hostid
Class B
1 0 Netid Hostid
Class C
1 1 0 Netid Hostid
Class D
1 1 1 0 Multicast address
Class E
1 1 1 1 0 Reverved for future use

Sau đây chúng ta sẽ thảo luận về 3 lớp địa chỉ chính của TCP/IP đó là các lớp
A,B,C là các lớp đợc sử dụng rộng rãi trên mạng Internet.
Địa chỉ lớp A
Lớp A sử dụng byte đầu tiên của 4 byte để đánh địa chỉ mạng. Nh hình trên, nó đ-
ợc nhận ra bởi bit đầu tiên trong byte đầu tiên của địa chỉ có giá trị 0. 3 bytes còn
lại đợc sử dụng để đánh địa chỉ máy trong mạng.
Có 126 địa chỉ lớp A (đợc đánh địa chỉ trong byte thứ nhất) với số máy tính trong
mạng là 256
3
- 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).
Nguyên nhân chỉ có 126 networks trong khi dùng 8 bit vì bit đầu tiên mang giá trị
0 dùng để định nghĩa lớp A vậy con lại 7 bit đánh số từ 0-127
tuy nhiên ngời ta không sử dụng một địa chỉ chứa toàn các con số 1 hoặc 0 do
vậy, chỉ còn lại 126 mạng lớp A đợc sử dụng. Do vậy giá trị byte đầu tiên của địa
chỉ lớp A sẽ luôn luôn nằm trong khoảng từ 1 tới 126, mỗi một byte trong 3 bytes
còn lại sẽ có giá trị trong khoảng 1 đến 254.
Đối với việc chỉ có 16.777.214 máy trong khi sử dụng 24 bit đánh địa chỉ máy
trong mạng cũng đợc giải thích tơng tự.
Địa chỉ lớp A có dạng: <Network.Host.Host.Host>
với con số thập phân đầu tiên nhỏ hơn 128
Ví dụ: 9. 6. 7. 8 : Nút đợc gán Host ID là 6. 7. 8, nằm trong mạng lớp A có địa chỉ
là 9. 0. 0. 0
Địa chỉ lớp B
Một địa chỉ lớp B đợc nhận ra bởi 2 bit đầu tiên của byte thứ nhất mang giá trị 10.
Lớp B sử dụng 2 byte đầu tiên của 4 byte để đánh địa chỉ mạng và 2 byte cuối
đánh địa chỉ máy trong mạng.
Có 64*256 - 2 = 16.128 địa chỉ mạng lớp B với 65.534 máy cho mỗi một địa chỉ
lớp B.
Địa chỉ lớp B có dạng: <Network.Network.Host.Host>

Byte đầu tiên của một địa chỉ lớp B nằm trong khoảng 128 tới 191.
Ví dụ: 190. 2. 2 . 1 : Nút đợc gán Host ID là 2. 1, nằm trong mạng lớp B có địa
chỉ là 192. 2. 0. 0
Địa chỉ lớp C
Một số tổ chức có quy mô nhỏ có thể xin cấp phát địa chỉ lớp C. Một địa chỉ lớp
C đợc nhận ra với 3 bit đầu mang giá trị 110. Mạng lớp C sử dụng 3 byte đầu để
đánh địa chỉ mạng và 1 byte cuối đánh địa chỉ máy trong mạng. Có 2.097.152 -2
địa chỉ lớp C, mỗi địa chỉ lớp C có 254 máy.
Địa chỉ lớp C có dạng: <Networkr.Network.Network.Host>
Địa chỉ lớp C đợc nhận ra với byte đầu tiên trong khoảng 192 tới 223
Ví dụ: 200. 6. 5. 4 : Nút đợc gán Host ID là 4, nằm trong mạng lớp C có địa chỉ
là 200. 6. 5. 0
Mạng con và Subnet mask
Mạng Internet sử dụng địa chỉ IP 32 bit và phân chia ra các lớp rất mềm dẻo, tuy
nhiên, với một hệ thống địa chỉ nh vậy việc quản lý vẫn rất khó khăn. Nếu nh một
mạng đợc cấp một địa chỉ lớp A thì có nghĩa nó chứa tới 16*1.048.576 máy tính,
do vậy ngời ta dùng mặt nạ bit để phân chia mạng ra thành những mạng con gọi
là Subnet. Subnet mask là một con số 32 bit bao gồm n bit 1 (thờng là các bit cao
nhất) dùng để đánh địa chỉ mạng con và m bit 0 dùng để đánh địa chỉ máy trong
mạng con với n+m=32
0 16
Network Number Host Number
Network Number Subnet Number Host Number
1111111 11111111 11111111 00000000
Mặt nạ subnet phải đợc cấu hình cho mỗi máy tính trong mạng và phải đợc định
nghĩa cho mỗi router. Nh vậy, ta phải dùng cùng một Subnet mask cho toàn bộ
mạng vật lý cùng chung một địa chỉ Internet.
Ví dụ:
Ta có một địa chỉ lớp B 128.001.000.000 và cần chia nó thành 254 mạng con với
254 máy trong mỗi mạng, ta giải quyết vấn đề này bằng Subnet mask nh sau

Network num 10000000 00000001 00000000 00000000 = 128.001.000.000
Subnet mask 11111111 11111111 11111111 00000000 = 255.255.255.000
Mặt nạ trên định nghĩa 254 mạng con với địa chỉ nh sau:
Subnet #1 10000000 00000001 00000001 00000000 = 128.001.001.000
Subnet #2 10000000 00000001 00000010 00000000 = 128.001.002.000
Subnet #3 10000000 00000001 00000011 00000000 = 128.001.003.000
.
.
Subnet #254 10000000 00000001 11111110 00000000 = 128.001.254.000
Số máy trong mạng con thứ nhất sẽ nằm trong khoảng sau:
Subnet #1 10000000 00000001 00000001 00000000 = 128.001.001.000
Low Address 10000000 00000001 00000001 00000001 = 128.001.002.001
High Address 10000000 00000001 00000001 11111110 = 128.001.002.254
Chú ý rằng một địa chỉ chứa toàn số 1 dùng cho boardcasting, chứa toàn số 0
dành cho Subnet mask do vậy, địa chỉ máy của Internet không bao giờ chứa toàn
các con số 1 hoặc 0.
Tầng mạng (Network Layer)
Tầng mạng là tầng thấp nhất của kiến trúc giao thức TCP/IP. Các giao thức trong
tầng này cung cấp biện pháp cho hệ thống chuyển giao dữ liệu giữa các thiết bị đ-
ợc kết nối trực tiếp. Nó mô tả cách sử dụng mạng để truyền một gói thông tin IP.
Không giống những giao thức của tầng cao hơn là sử dụng dịch vụ của tầng dới
nó và cung cấp dịch vụ cho tầng 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ỉ, vv...) để định dạng đúng
thông tin sẽ đợc truyền tuân theo những ràng buộc của mạng. Tầng mạng của
TCP/IP chứa chức năng của tất cả 3 tầng thấp nhất của mô hình tham chiếu OSI
(tầng mạng, tầng liên kết dữ liệu, tầng vật lý). Tầng 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 tầng 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 tầng cao hơn (IP, TCP, UDP, vv...). Mỗi khi có công
nghệ phần cứng xuất hiện, những giao thức tầng 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
tầng 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 trong 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 tên. Đị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 tầng 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áchthức đóng gói để truyền thông tin qua mạng Ethernet.
Khi cài đặt trong UNIX, giao thức của tầng 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.
Mạng Ethernet và IEEE 802.3
Ethernet và IEEE 802.3 là hai chuẩn phổ biến nhất trong kiến trúc mạng cục bộ.
Chúng sử dụng công nghệ gọi là CSMA/CD (Carrier Sense Multiple Access
Control/Collision Detect). Multiple Access có nghĩa là mọi máy tính và thiết bị
mạng có thể truy cập đờng truyền cùng một lúc. Công nghệ Carrier Sense cho
phép các thiết bị nhận biết khi nào đờng truyền đang bận. Trớc khi thiết bị truyền
thông tin, nó kiểm tra đờng truyền, nếu đờng truyền bận, nó đợi một khoảng thời
gian ngẫu nhiên nào đó và tiếp tục. Nếu đờng truyền không bận, nó bắt đầu
truyền dữ liệu của mình. Nếu 2 trạm cùng truyền thông tin một lúc, dữ liệu có thể
bị phá huỷ (collision), Collision Detection điều khiển thiết bị collision controller
gửi tín hiệu jam signal để báo cho mọi thiết bị trên mạng biết điều gì đang sảy
ra. Nếu gặp collision, thiết bị đợi một khoảng thời gian ngẫu nhiên trong 1 - 255.
Nếu gặp collision, lần thứ hai, nó đợi một khoảng trong 1 - 511. Nếu tiếp tục gặp
collision, thiết bị cố gắng thêm 6 lần. Thời gian truyền thông tin trên mạng

Ethernet không thể xác định đợc chính xác vì không ai có thể chắc rằng gói
thông tin không bị collision do vậy thờng ngời ta không dùng Ethernet với các
ứng dụng thời gian thực. Một đặc tính của mạng Ethernet nữa là nó không có cơ
chế báo nhận, khi sử dụng với TCP/IP dịch vụ này đợc tầng transport (TCP) cung
cấp.
Mạng Token-Pasing Rings (IEEE 802.5)
Tolen-Pasing Rings cũng là một công nghệ mạng cục bộ phổ biến, việc điều
khiển lu thông trên mạng này đợc sử dụng bởi một cơ chế gọi là thẻ bài token.
Token là một gói tin đợc chuyển vòng quanh mạng, mỗi thiết bị chỉ đợc quyền
truyền dữ liệu khi nó nhận đợc token.
Một đặc tính chủ yếu của Mạng Token-Pasing Rings là nó phải đợc nối thành
vòng, nếu một nút mạng bị lỗi, toàn bộ mạng sẽ ngừng hoạt động (đối với mạng
Ethernet chỉ một ngừng hoạt động khi nó bị lỗi). Nếu một máy bị tắt, mạng Mạng
Token-Pasing Rings vẫn cần giao diện của nó để truyền thông, Token-ring
Interface board lấy năng lợng từ cáp mạng để hoạt động. Khi thẻ bài bị mất, sau
một thời gian nào đó, một thiết bị điều khiển sẽ sinh một thẻ bài mới.
Mạng Token-Passing Busses (IEEE 802.4)
Token-Passing còn làm việc trên topo bus. Một chuẩn định nghĩa cho mạng này là
IEEE 802.4, là một phần của chuẩn MAP (Manufacturing Automation Protocol).
Chuẩn này sử dụng thiết bị Broadband khác với Baseband sử dụng trong Ethernet
và Token-ring. Baseband chỉ sử dụng một tín hiệu trên đờng truyền trong khi
broadband sử dụng nhiều kênh truyền với các tần số tín hiệu khác nhau trên đờng
truyền.
Một số mạng Broadband sử dụng hai dây dẫn, một để truyền, một để nhận dữ liệu.
Hệ thống khác lại chỉ sử dụng một dây nhng dùng 2 tần số khác nhau để truyền
và nhận. Thông thờng tần số truyên và nhận tạo thành một cặp tần số (tính bằng
MHz) để dễ chuyển đổi giữa tần số gửi và tần số nhận. Tuy sử dụng Broadband
đắt và phức tạp nhng nó làm việc rất tốt với hình ảnh analog và âm thanh.
Tầng Internet (Internet Layer)
Tầng IP cung cấp một hệ thống chuyển giao không kết nối và đôi khi ngời ta còn

gọi là không tin cậy. Không kết nối bởi mỗi gói tin đợc truyền đi trên mạng một
cách độc lập, sự kết hợp dữ liệu của các gói tin đợc cung cấp bởi các dịch vụ lớp
trên. Mỗi gói tin IP chứa địa chỉ nơi gửi và địa chỉ nơi nhận và dựa vào đó nó có
thể đợc truyền trên mạng tới đích. Nhng chính việc dữ liệu có thể đi tới đích trên
nhiều đờng khác nhau tạo nên sự mềm dẻo cho Internet khi một đờng bị dứt hay
một nút nào đó bị quá tải, các gói tin có thể đợc truyền đi theo những con đờng
khác, nếu một gói tin nào có lỗi thì chỉ phải truyền lại gói tin đó thay vào việc
phải truyền lại toàn bộ thông báo. Không tin cậy bởi vì IP không có cơ chế kiểm
tra tính đúng đắn của dữ liệu đợc truyền nhận, dịch vụ tin tởng phải đợc cung cấp
bởi các giao thức lớp trên.
Gói tin IP
0 15
Vers Hlen Service type Total length
Identification Flag Fragment offset
Time to live Protocol Header cheksum
Source IP address
Destination IP address
IP options Padding
IP datagram data (Max 65535 bytes)
Destination
Address
Source
Address
Type
field
IP data CRC
IP header encapsulated in an Ethernet frame
Vers : Dài 4 bits, mô tả chính xác version của IP
Hlen : Dài 4 bits, mô tả độ dài của IP header.
Service type: dài 8 bits mô tả thứ tự u tiên của data.

Total length: Dài 16 bits (2 bytes), đây là độ dài của datagram (in bytes-có
nghĩa là độ dài vùng data của IP datagram có thể lên tới 65535 bytes).
Identification, flags, fragment offset: Không phải bất kỳ size nào của
datagram cũng đợc truyền trên mạng (ví dụ Ethernet LAN chỉ hỗ trợ cho size
lớn nhất của datagram là 1518 bytes). Do vậy khi size của datagram vợt quá
kích thớc cho phép, nó sẽ bị chia nhỏ ra và các trờng này sẽ đảm bảo rằng các
datagram đã bị phân chia này là từ một datagram ban đầu .
Time to live: Dùng để xác định xem datagram này có bị truyền lặp lại hay
không (thông thờng nó đợc gán là 1, nếu bị lặp lại nó sẽ bị gán là 0)
Protocol: Trờng này cho biết lớp giao thức cao hơn nào sẽ đợc sử dụng (UDP
hay là TCP).
CRC: Trờng này đợc dùng để kiểm tra sự toàn vẹn của header.
IP option: Chứa các thông tin nh: "dò" đờng, bảo mật, xác nhận thời gian.
Padding: Trờng điền thêm các số 0 để đảm bảo header kết thúc tại một địa chỉ
bội của 32
Source IP address, destination IP address: chứa địa chỉ của station gửi và địa
chỉ của station đích.
Gói tin IP chứa một trờng checksum để kiểm tra tính toàn vẹn của IP header, nếu
IP header lỗi, gói tin IP bị loại bỏ và giao thức lớp trên sẽ truyền một gói tin khác.
Tầng IP làm công việc dẫn đờng các gói tin qua mạng Internet từ máy tính này tới
máy tính khác, qua các mạng khác nhau cho tới khi nó đến đợc trạm đích hoặc bị
lỗi. Việc truyền gói tin qua các mạng đợc thực hiện thông qua một thiết bị kết nối
giữa hai mạng gọi là gateway. Khi một thông tin truyền qua các mạng khác nhau,
nó có thể bị chia ra thành nhiều gói nhỏ hơn. Thông tin truyền có thể quá lớn để
có thể truyền trên một gói tin trên một mạng khác. Vấn đề này chỉ gặp phải khi
gateway đợc nối giữa các mạng vật lý khác nhau. Mỗi kiểu mạng có một độ dài
tối đa gói tin của có thể truyền (maximum transmission unit-MTU) nếu thông tin
nhận đợc từ mạng này dài hơn MTU của mạng kia, nó cần phải đợc chia nhỏ ra
thành nhiều mảnh để truyền.
Việc xử lý này gọi là sự phân mảnh. Để trực quan, ta so sánh với việc chuyên

chở hàng bằng tàu hoả mỗi toa tàu có thể chở nhiều hàng hơn một chiếc xe tải sẽ
trở hàng trên đờng, hàng hoá sẽ đợc chia vào nhiều xe tải. Ta có thể so sánh việc
đờng ray khác về vật lý với đờng ôtô Ethernet khác X.25 về vật lý IP phải cắt
gói tin Ethernet thành những gói thông tin nhỏ hơn để truyền qua mạng X.25.
Định dạng của mỗi gói tin chia cắt giống nh với từng bản tin. Word thứ hai của
header chứa thông tin sử dụng cho quá trình tập hợp lại bản tin bao gồm: gói
tin thuộc bản tin nào, vị trí của nó trong dòng, gói tin đã đợc kết nối cha.
Khi những gói tin truyền đến một gateway quá nhanh, chúng có thể bị loại bỏ và
IP trả lại một thông báo lỗi (ICMP).
Thuật toán dẫn đờng
Internet là một mạng chuyển mạch gói, để chuyển các gói tin IP trên mạng, ngời
ta sử dụng thuật toán dẫn đờng. Thuật toán dẫn đờng là một tiến trình lựa chọn
Application
Transport
Internet
Network Interface
Internet
Network Interface
Network Interface
Identical
Datagra
m
Identical
Frame
Identical
Paket
Identical
Message
Physical Net
Host A

Host B
Application
Transport
Internet
Physical Net
Identical
Datagram
Identical
Frame
Gateway G
một đờng để truyền gói tin và việc dẫn đờng đợc thực hiện bởi mọi máy tính trên
mạng. Ngời ta chia việc dẫn đờng ra làm 2 kiểu:
Dẫn đờng trực tiếp (direct routing): Dẫn đờng trực tiếp từ máy tính này sang
máy tính kia chỉ thực hiện đợc khi cả hai máy tính đều kết nối vào một mạng
vật lý.
Dẫn đờng gián tiếp (indirect routing): Khi trạm đích không cùng nằm trên một
mạng với trạm gửi cần thông qua gateway để truyền đi.
Dẫn đờng trực tiếp
Mọi máy tính cùng nằm trên một mạng có cùng một network id và các máy tính
cùng trên một mạng vật lý có thể gửi frame vật lý trực tiếp cho nhau nên việc
truyền thông tin giữa hai máy tính trong cùng một mạng vật lý không cần sử
dụng gateway. Trạm gửi chỉ việc kết khối dữ liệu vào frame, chuyển địa chỉ IP của
trạm đích thành địa chỉ vật lý và gửi trực tiếp nó tới máy nhận.
Một cơ chế sử dụng để chuyển địa chỉ IP thành địa chỉ vật lý là ARP (Address
Rosolusion 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 nhng để 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 bit sang
địa chỉ Ethernet 48 bit. Ngời ta sử dụng hai cơ chế đó là
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ý thoải 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ó P
A
=f(I
A
).
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 toàn 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 để lu 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 broadcasts tới tất cả các máy trên mạng
Ethernet (với địa chỉ FFFFFFFFFFFFF)
Gói thông tin ARP đợc mô tả nh sau:
0 15
Hardware Address Space
Protocol Address Space
Hardware Address Length Protocol Address Length
Operation Code
Source Hardware Address
(Ethernet Address)
(Internet Address)
Source Protocol Address
Target Hardware Address

(Ethernet Address)
Destination
Address
Source
Address
Type or
Length
(ARP) Data
CRC

Không giống phần lớn các giao thức khác, dữ liệu trong ARP không có một định
dạng chuẩn cho header. Để ARP có thể làm việc với nhiều công nghệ khác nhau,
ngời ta dùng một trờng để chứa độ dài của những trờng đi sau nó.
Trong trờng hợp máy trạm không có thiết bị nhớ phụ, nó không biết địa chỉ IP
của chính mình khi khởi động, ngời ta sử dụng cơ chế có tên (RARP) để giải
quyết vấn đề này đó là có một máy chủ chứa bảng địa chỉ IP của các máy trạm,
khi máy trạm khởi động, nó gửi một request tới tất cả các máy và máy chủ trả lời
nó bằng một gói tin chứa địa chỉ IP.
Dẫn đờng gián tiếp
Nếu trạm gửi và trạm nhận nằm trên các mạng khác nhau thì trạm gửi phải đóng
gói thông tin và gửi tới một gateway để chuyển tới đích.
To host on network
Router the datagram
Across this physical port
10.0.0.0 Direct 2
11.0.0.0 Direct 1
12.0.0.0 11.0.0.2 1
13.0.0.0 Direct 3
14.0.0.0 13.0.0.2 3
15.0.0.0 10.0.0.2 2

16.0.0.0 10.0.0.2 2
Gateway 8s routing table
Dữ liệu sẽ chuyển từ gateway này tới gateway khác đến khi nó có thể đợc truyền
trực tiếp tới máy nhận. Thuật toán dẫn đờng thờng sử dụng bảng dẫn đờng
(Internet routing table - IP routing table) trên mỗi máy tính để chứa thông tin về
các máy tính và cách đi đến chúng. Vì việc dẫn đờng đợc thực hiện bởi cả host và
gateway, mỗi thiết bị đều chứa một bảng dẫn đờng. Bảng dẫn đờng chứa thông tin
về các mạng và gateway để kết nối đến đó.
Một kỹ thuật đợc sử dụng để che dấu thông tin và giảm thiểu kích thớc của bảng
dẫn đờng là sử dụng default gateway. Nếu máy tính không tìm thấy địa chỉ đích
trong bảng dẫn đờng của nó thì gói tin đợc chuyển tới một thiết bị là default
gateway. Kỹ thuật này đặc biệt thích hợp với trờng hợp mạng máy tính đợc nối
vào Internet thông qua một máy tính duy nhất.
Thuật toán
Thuật toán dẫn đờng đã đợc trình bày cụ thể ở phần trên, để có cái nhìn trực quan
hơn, ta hãy xem xét thuật toán này dới dạng sơ đồ khối:
Khi có một gói thông tin đến một máy tính hay gateway, thuật toán dẫn đờng
chạy trên máy tính đó sẽ phân tích địa chỉ đích của gói thông tin và quyết định
truyền nó theo đờng tốt nhất tới đích. Việc này bao gồm cả cởi gói, chọn đờng,
cập nhật bảng dẫn đờng, đóng gói ..

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×