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

Giao thức 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 (758.86 KB, 121 trang )

Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
ch ơng 1: giới thiệu về giao thức TCP/IP
1.1. Lịch sử phát triển củaTCP/IP và mạng Internet
Mạng Internet là một mạng máy tính toàn cầu, bao gồm hàng chục triệu ng-
ời sử dụng, đợc hình thành từ cuối thập kỷ 60 từ một thí nghiệm của Bộ quốc
phòng Mỹ. Tại thời điểm ban đầu đó là mạng ARPAnet của Ban quản lý dự án
nghiên cứu Quốc phòng. ARPAnet là một mạng thử nghiệm phục vụ các nghiên
cứu quốc phòng, một trong những mục đích của nó là xây dựng một mạng máy
tính có khả năng chịu đựng các sự cố (ví dụ một số nút mạng bị tấn côngvà phá
huỷ nhng mạng vẫn tiếp tục hoạt động). Mạng cho phép một máy tính bất kỳ
trên mạng liên lạc với mọi máy tính khác.
Khả năng kết nối các hệ thống máy tính khác nhau đã hấp dẫn mọi ngời, vả
lại đây cũng là phơng pháp thực tế duy nhất để kết nối các máy tính của các
hãng khác nhau. Kết quả là các nhà phát triển phần mềm ở Mỹ, Anh và Châu
Âu bắt đầu phát triển các phần mềm trên bộ giao thức TCP/IP (giao thức đợc sử
dụng trong việc truyền thông trên Internet) cho tất cả các loại máy. Điều này
cũng hấp dẫn các trờng đại học, các trung tâm nghiên cứu lớn và các cơ quan
chính phủ, những nơi mong muốn mua máy tính từ các nhà sản xuất, không bị
phụ thuộc vào một hãng cố định nào.
Bên cạnh đó các hệ thống cục bộ LAN bắt đầu phát triển cùng với sự xuất
hiện các máy để bàn (Desktop Workstations) vào năm 1983. Phần lớn các máy
để bàn sử dụng Berkeley UNIX, phần mềm cho kết nối TCP/IP đã đợc coi là
một phần của hệ điều hành này. Một điều rõ ràng là các mạng này có thể kết nối
với nhau dễ dàng.
Trong quá trình hình thành mạng Internet, NSFNET (đợc sự tài trợ của Hội
khoa học Quốc gia Mỹ) đóng một vai trò tơng đối quan trọng. Vào cuối những
năm 80, NFS thiết lập 5 trung tâm siêu máy tính. Trớc đó, những máy tính
nhanh nhất thế giới đợc sử dụng cho công việc phát triển vũ khí mới và một vài
hãng lớn. Với các trung tâm mới này, NFS đã cho phép mọi ngời hoạt động
trong lĩnh vực khoa học đợc sử dụng. Ban đầu, NFS định sử dụng ARPAnet để
nối 5 trung tâm máy tính này, nhng ý đồ này đã bị thói quan liêu và bộ máy


hành chính làm thất bại. Vì vậy, NFS đã quyết định xây dựng mạng riêng của
mình, vẫn dựa trên thủ tục TCP/IP, đờng truyền tốc độ 56 Kbps. Các trờng đại
học đợc nối thành các mạng vùng và các mạng vùng đợc nối với các trung tâm
siêu máy tính.
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Ngày nay mạng Internet đã đợc phát triển nhanh chóng trong giới khoa
học và giáo dục của Mỹ, sau đó phát triển rộng toàn cầu, phục vụ một cách đắc
lực cho việc trao đổi thông tin trớc hết trong các lĩnh vực nghiên cứu, giáo dục
và gần đây cho thơng mại.
Internet sử dụng kỹ thuật chuyển mạch gói và dùng giao thức TCP/IP. Ngày
nay nhiều mạng với kiến trúc khác nhau có thể nối vào Internet nhờ các cầu nối
đa giao thức.
1.2. Giao thức TCP/IP
Khái niệm giao thức (Protocol) là một khái niệm cơ bản của mạng truyền
thông. Có thể hiểu một cách khái quát đó là tập hợp tất cả các quy tắc cần thiết
(các thủ tục, các khuôn dạng dữ liệu, các cơ chế phụ trợ....) cho phép các giao
thức trao đổi thông tin trên mạng đợc thực hiện một cách chính xác và an toàn.
Có rất nhiều họ giao thức đang đợc sử dụng trên mạng truyền thông hiện nay
nh IEEE802.X dùng trong mạng cục bộ, CCITT (nay là ITU) dùng cho liên
mạng diện rộng và đặc biệt là họ giao thức chuẩn của ISO (tổ chức tiêu chuẩn
hoá quốc tế ) dựa trên mô hình tham chiếu bảy lớp cho việc kết nối các hệ
thống mở. Trên Internet họ giao thức đợc sử dụng là bộ giao thức TCP/IP . Hai
giao thức đợc dùng chủ yếu ở đây là TCP ( Transmision Control Protocol ) và
IP (Internet Protocol ). TCP là một giao thức kiểu có kết nối (Connection-
Oriented), tức là cần phải có một giai đoạn thiết lập liên kết giữa một cặp thực
thể TCP trớc khi chúng thực hiện trao đổi dữ liệu. Còn giao thức IP là một giao
thức kiểu không kết nối (Connectionless), nghĩa là không cần phải có giai đoạn
thiết lập liên kết giữa một cặp thực thể nào đó trớc khi trao đổi dữ liệu . Khái
niệm TCP/IP không chỉ bị giới hạn ở hai giao thức này. Thờng thì TCP/IP đợc

dùng để chỉ một nhóm các giao thức có liên quan đến TCP và IP nh UDP (User
Datagram Protocol), FTP (File Transfer Protocol), TELNET (Terminal
Emulation Protocol) và v.v...
Để giảm độ phức tạp của việc thiết kế và cài đặt mạng hầu hết các mạng
máy tính hiện có đều đợc phân tích thiết kế theo quan điểm phân tầng . Mỗi hệ
thống thành phần của mạng đợc xem nh là một cấu trúc đa tầng, trong đó mỗi
tầng đợc xây dựng trên cơ sở tầng trớc đó. Số lợng các tầng cùng nh tên và chức
năng của mỗi tầng là tuỳ thuộc vào nhà thiết kế. Họ giao thức của ISO (tổ chức
tiêu chuẩn hoá quốc tế) dựa trên mô hình tham chiếu 7 lớp cho việc kết nối các
hệ thống mở là họ giao thức đợc dùng làm chuẩn để các họ giao thức khác so
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
sánh với nó do vậy trớc khi đi vào nghiên cứu giao thức TCP/IP ta cần xem xét
mô hình 7 lớp OSI.
Trong mô hình OSI mục đích của mỗi tầng là cung cấp các dịch vụ cho
tầng cao hơn tiếp theo, mô tả chi tiết cách thức cài đặt các dịch vụ này. Các tầng
đợc trừu tợng hoá theo cách là mỗi tầng chỉ biết rằng nó liên lạc với tầng tơng
ứng trên máy khác. Trong thực tế thì mỗi tầng chỉ liên lạc với các tầng kề trên
và kề dới nó trên mỗi hệ thống mà thôi.
Trừ tầng thấp nhất trong mô hình mạng không tầng nào có thể chuyển
thông tin một cách trực tiếp với tầng tơng ứng trong mạng máy tính khác. Thông
tin trên máy cần gửi phải đợc chuyển đi qua tất cả các tầng thấp hơn. Thông tin
sau đó lại đợc truyền qua Card mạng tới máy nhận và lại đợc truyền lên qua các
tầng cho đến khi nó đến tầng đã gửi thông tin đi.
1.2.1. Mô hình 7 lớp OSI
Mô hình này bao gồm 7 tầng. Tên gọi và chức năng các tầng đợc trình bày
trong hình 1.1.
Hệ thống mở A
7 Application
6 Presentation

5 Session
4 Transport
3 Network
2 Data link
1 Physical

Hệ thống mở B
ứng dụng 7
Trình diễn 6
Phiên 5
Giao vận 4
Mạng 3
Liên kết dữ liệu 2
Vật lý 1
Hình 1.1: Mô hình 7 lớp OSI
Chức năng của các tầng nh sau:
1. Tầng vật lý (Physical): Liên quan đến nhiệm vụ truyền dòng bits không
có cấu trúc qua đờng truyền vật lý, truy nhập đờng truyền vật lý nhờ các
phơng tiện cơ, điện, hàm, vật lý.
2. Tầng liên kết dữ liệu (Data link): Cung cấp phơng tiện để truyền thông tin
qua liên kết vật lý đảm bảo tin cậy, gửi các khối dữ liệu với các cơ chế
đồng bộ hoá, kiểm soát lỗi và kiểm soát luồng dữ liệu cần thiết.
Vũ Khoa ĐTTT4 K40
Giao thức tầng 7
Giao thức tầng 6
Giao thức tầng 5
Giao thức tầng4
Giao thức tầng 3
Giao thức tầng 2
Giao thức tầng1

Đường truyền vật lý
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
3. Tầng mạng (Network): Thực hiện việc chọn đờng và chuyển tiếp thông tin
với công nghệ chuyển mạch thích hợp, thực hiện kiểm soát luồng dữ liệu
và cắt/ hợp dữ liệu nếu cần.
4. Tầng giao vận (Transport): Thực hiện việc truyền dữ liệu giữa hai đầu
mút (end - to - end), thực hiện cả việc kiểm soát lỗi và kiểm soát luồng
dữ liệu giữa hai đầu mút. Cũng có thể thực hiện việc ghép kênh, cắt / hợp
dữ liệu nếu cần.
5. Tầng phiên (Session): Cung cấp phơng tiện quản lý truyền thông giữa các
ứng dụng, thiết lập, duy trì, đồng bộ hoá và huỷ bỏ các phiên truyền
thông giữa các ứng dụng.
6. Tầng trình diễn (Presentation): Chuyển đổi cú pháp dữ liệu để đáp ứng
yêu cầu truyền dữ liệu của các tầng ứng dụng qua mô hình OSI.
7. Tầng ứng dụng (Application): Cung cấp các phơng tiện để ngời sử dụng
có thể truy cập đợc vào môi trờng OSI, đồng thời cung cấp các dịch vụ
thông tin phân tán.
1.2.2. Giao thức TCP/IP và mô hình 7 lớp OSI
Mạng Internet với họ giao thức TCP/IP đợc minh hoạ tổng quát nh hình 1.2
với các dịch vụ mà nó cung cấp và các chuẩn đợc sử dụng có so sánh với kiến
trúc hệ thống mở OSI để chúng ta có một cách nhìn tổng quát về họ giao thức
này.
Hình 1.2: Giao thức TCP/IP khi so sánh với mô hình OSI
Vũ Khoa ĐTTT4 K40
OSI Model TCP/IP Architectual Model
Application
Presentation
Session
Transport
Network

Data link
Physical
Telnet
FTP
SMTP
DNS
SNMP
Transmision Control
Protocol (TCP)
UserDatagram
Protocol (UDP)
RIP
ICMP
Internet Protocol (IP)
ARP
Ethernet
Tokenbus
Token Ring FDDI
IEEE802.3 IEEE802.4 EEE802.5 ANSI X3 T95
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Trong đó :
TCP: (Transmistion Control Protocol) Thủ tục liên lạc ở tầng giao vận của
TCP/IP. TCP có nhiệm vụ đảm bảo liên lạc thông suốt và tính đúng đắn của dữ
liệu giữa 2 đầu của kết nối, dựa trên các gói tin IP.
UDP: (User Datagram Protocol) Thủ tục liên kết ở tầng giao vận của TCP/
IP. Khác với TCP, UDP không đảm bảo khả năng thông suốt của dữ liệu, cũng
không có chế độ sửa lỗi. Bù lại, UDP cho tốc độ truyền dữ liệu cao hơn TCP.
IP: (Internet Protocol) Là giao thức ở tầng thứ 3 của TCP/IP, nó có trách
nhiệm vận chuyển các Datagrams qua mạng Internet.
ICMP: (Internet Control Message Protocol) Thủ tục truyền các thông tin

điều khiển trên mạng TCP/IP. Xử lý các tin báo trạng thái cho IP nh lỗi và các
thay đổi trong phần cứng của mạng ảnh hởng đến sự định tuyến thông tin truyền
trong mạng.
RIP: (Routing Information Protocol) Giao thức định tuyến thông tin đây là
một trong những giao thức để xác định phơng pháp định tuyến tốt nhất cho
truyền tin.
ARP: (Address Resolution Protocol) Là giao thức ở tầng liên kết dữ liệu.
Chức năng của nó là tìm địa chỉ vật lý ứng với một địa chỉ IP nào đó. Muốn vậy
nó thực hiện Broadcasting trên mạng, và máy trạm nào có địa chỉ IP trùng với
địa chỉ IP đang đợc hỏi sẽ trả lời thông tin về địa chỉ vật lý của nó.
DSN: (Domain name System) Xác định các địa chỉ theo số từ các tên của
máy tính kết nối trên mạng.
FTP: (File Transfer Protocol) Giao thức truyền tệp để truyền tệp từ một
máy này đến một máy tính khác. Dịch vụ này là một trong những dịch vụ cơ
bản của Internet.
Telnet: (Terminal Emulation Protocol) Đăng ký sử dụng máy chủ từ xa
với Telnet ngời sử dụng có thể từ một máy tính của mình ở xa máy chủ, đăng ký
truy nhập vào máy chủ để xử dụng các tài nguyên của máy chủ nh là mình đang
ngồi tại máy chủ.
Vũ Khoa ĐTTT4 K40
FTP File Transfer Protocol
SMTP- Simple Mail Transfer Protocol
DNS Domain Name System
SNMP Simple Network Manage Protocol
ICMP- Internet Control Message Protocol
ARP - Address Resolution Protocol
FDDI - - Fiber Distributed Data Interface
RPI - - Routing Information Protocol
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
SMTP: (Simple Mail Transfer Protocol) Giao thức truyền th đơn giản: là

một giao thức trực tiếp bảo đảm truyền th điện tử giữa các máy tính trên mạng
Internet.
SNMP: (Simple Network Management Protocol) Giao thức quản trị mạng
đơn giản: là dịch vụ quản trị mạng để gửi các thông báo trạng thái về mạng và
các thiết bị kết nối mạng.
1.2.3. Giao thức liên mạng IP
Mục đích chính của IP là cung cấp khả năng kết nối các mạng con thành
liên mạng để truyền dữ liệu. Vai trò của IP tơng tự vai trò của giao thức tầng
mạng trong mô hình OSI. Mặc dù từ Internet xuất hiện trong IP nhng giao thức
này không nhất thiết phải sử dụng trên Internet. Tất cả các máy trạm trên
Internet đều hiểu IP, nhng IP có thể sử dụng trong các mạng mà không có sự
liện hệ với Internet.
IP là giao thức kiểu không kết nối (Connectionless) tức là không cần có giai
đoạn thiết lập liên kết trớc khi truyền dữ liệu. Đơn vị dữ liệu dùng trong giao
thức IP là IP Datagram hay gọi tắt là Datagram.
Một Datagram đợc chia làm hai phần : Phần tiêu đề (Header) và phần chứa
dữ liệu cần truyền (Data). Trong đó phần Header gồm một số trờng chứa các
thông tin điều khiển Datagram.
1.2.3.1.Cấu trúc của IP Datagram
Cấu trúc tổng quát của một IP Datagram nh sau:
DATAGAM HEADER DATAGRAM DATA AREA
Cấu trúc chi tiết của một IP Datagram Header đợc mô tả nh hình 1.3.
Version IHL Type of service Total length
Identification Flags Fragment offset
Time to live Protocol Header checksum
Source IP address
Destination IP address
Options Padding
Datas
:

Hình 1.3: Cấu trúc của Datagram
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Trong đó:
Trờng version (4 bits) cho biết phiên bản của IP đang đợc sử dụng, hiện
nay là IPv4. Trong tơng lai thì địa chỉ IPv6 sẽ đợc sử dụng.
IHL (4 bits) Chỉ thị độ dài phần đầu (Internet Header Length) của
Datagram tính theo đơn vị từ ( 32 bits).
Type of service (8 bits), đặc tả các tham số về dịch vụ. Khuôn dạng của
nó đợc chỉ ra nh sau.
0 1 2 3 4 5 6 7
Precedence D T R Reserved
8 Bits của trờng Service đợc chia ra làm 5 phần cụ thể nh sau :
Precedence (3 bits) chỉ thị quyền u tiên gửi Datagram, các mức u tiên
từ 0 (bình thờng) đến mức cao nhất là 7 (điều khiển mạng) cho phép
ngời sử dụng chỉ ra tầm quan trọng của Datagram.
Ba bit D, T, R nói nên khiểu truyền Datagram, cụ thể nh sau:
Bit D (Delay)chỉ độ trễ yêu cầu.
Bit T (Throughput) chỉ thông lợng yêu cầu.
Bit R (Reliability) chỉ độ tin cậy yêu cầu.
Reserved (2 bits) cha sử dụng.
Total Length (16 bits) : Chỉ độ dài toàn bộ Datagram kể cả phần Header.
Đơn vị tính là Byte.
Identification (16 bits) Trờng này đợc sử dụng để giúp các Host đích lắp
lại một gói đã bị phân mảnh, nó cùng các trờng khác nh Source Address,
Destination Address để định danh duy nhất một Datagram khi nó còn ở
trên liên mạng.
Flags( 3 bits) liên quan đến sự phân đoạn các Datagrams cụ thể nh sau:
0 1 2
0 DF MF

Trong đó các thành phần:
Bit 0 Cha sử dụng lấy giá trị 0.
Bit 1 (DF) DF=0: Thực hiện phân đoạn.
DF=1: Không thực hiện phân đoạn.
Bit 2 (MF) MF=0: Phân đoạn lần cuối.
MF=1: Phân đoạn thêm.
Fragment offset (13 bits): Chỉ vị trí của đoạn (Fragment) ở trong
Datagram. Đơn vị tính là 64 bits (8 Bytes).
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Time to live (8 bits): Cho biết thời gian tồn tại của Datagram trên liên
mạng. Để tránh tình trạng một Datagram bị quẩn trên liên mạng. Nếu sau
một khoảng thời gian bằng thời gian sống mà Datagram vẫn cha đến đích
thì nó bị huỷ.
Protocol (8 bits) Cho biết giao thức tầng trên kế tiếp sẽ nhận vùng dữ liệu
ở trạm đích. Giao thức tầng trên của IP thờng là TCP hoặc UDP.
Header Checksum (16 bits): Đây là mã kiểm soát lỗi 16 bits theo phơng
pháp CRC cho vùng Header nhằm phát hiện các lỗi của Datagram.
Source Address (32 bits) Cho biết địa chỉ IP của trạm nguồn.
Destination Address (32 bits) Cho biết địa chỉ IP của trạm đích. Trong
một liên mạng địa chỉ IP của trạm nguồn và địa chỉ IP của trạm đích là
duy nhất.
Options (độ dài thay đổi) Dùng để khai báo Options do ngời sử dụng yêu
cầu.
Padding (độ dài thay đổi) Là một vùng đệm đợc dùng để đảm bảo cho
phần Header luôn kết thúc ở mức 32 bits. Giá trị của Padding gồm toàn
bit 0.
Data (Độ dài thay đổi) Vùng dữ liệu có độ dài là bội số của 8 bits. Kích
thớc tối đa của trờng Data là 65535 Bytes.
1.2.3.2.Quá trình phân mảnh các gói dữ liệu

Trong quá trình truyền dữ liệu, một gói dữ liệu (Datagram) có thể đợc
truyền đi qua nhiều mạng khác nhau. Một gói dữ liệu nhận đợc từ một mạng
nào đó có thể quá lớn để truyền đi trong một gói đơn của mạng khác, bởi vậy
mỗi loại cấu trúc mạng cho phép một đơn vị truyền cực đại MTU (Maximum
Transmission Unit) khác nhau. Đây chính là kích thớc lớn nhất của một gói mà
chúng có thể truyền đợc. Nếu nh một gói dữ liệu nhận đợc từ một mạng nào đó
mà kích thớc của nó lớn hơn MTU của mạng khác thì nó cần đợc phân mảnh ra
thành gói nhỏ hơn gọi là Fragment để truyền đi, quá trình này gọi là quá trình
phân mảnh. Dạng của một Fragment cũng giống nh dạng của một gói dữ liệu
thông thờng. Từ thứ hai trong phần Header chứa các thông tin để xác định mỗi
Fragment và cung cấp các thông tin để hợp nhất các Fragments này lại thành
các gói nh ban đầu. Trờng định danh (Indentification) dùng để xác định
Fragment này thuộc vào gói dữ liệu nào. Trờng định danh có một giá trị duy
nhất cho mỗi gói dữ liệu đợc vận chuyển. Mỗi thành phần của gói dữ liệu bị
phân mảnh sẽ có cùng giá trị trờng định danh. Điều đó cho phép IP lắp ráp lại
các gói dữ liệu bị phân mảnh một cách phù hợp.
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Hậu quả của việc phân mảnh dữ liệu là các gói bị phân mảnh sẽ đến đích
chậm hơn so với một gói không bị phân mảnh. Vì vậy phần lớn các ứng dụng
đều tránh không sử dụng kỹ thuật này nếu có thể. Vì sự phân mảnh tạo ra các
gói dữ liệu phụ nên cần quá trình sử lý phụ làm giảm tính năng của mạng. Hơn
nữa vì IP là một giao thức không tin cậy nên khi bất kỳ một gói dữ liệu bị phân
mảnh nào bị mất thì tất cả các mảnh sẽ phải truyền lại. Chính vì lý do này nên
phải gửi các gói dữ liệu lớn nhất mà không bị phân mảnh, giá trị này là Path
MTU.
1.2.3.3. Ph ơng pháp đánh địa chỉ trong TCP/IP
Để có thể thực hiện truyền tin giữa các máy trên mạng, mỗi máy tính trên
mạng TCP/IP cần phải có một địa chỉ xác định gọi là địa chỉ IP. Hiện nay mỗi
địa chỉ IP đợc tạo bởi một số 32 bits (IPv4)và đợc tách thành 4 vùng, mỗi vùng

có một Byte có thể biểu thị dới dạng thập phân, nhị phân, thập lục phân hoặc bát
phân. Cách viết phổ biến nhất hay dùng là cách viết dùng ký tự thập phân. Một
địa chỉ IP khi đó sẽ đợc biểu diễn bởi 4 số thập phân có giá trị từ 0 đến 255 và đ-
ợc phân cách nhau bởi dấu chấm (.). Mỗi giá trị thập phân biểu diễn 8 bits trong
địa chỉ IP. Mục đích của địa chỉ IP là để định danh duy nhất cho một host ở trên
mạng .
IPv4 sử dụng 3 loại địa chỉ trong trờng nguồn và đích đó là:
1. Unicast: Để thể hiện một địa chỉ đơn hớng. Địa chỉ đơn hớng là địa chỉ
dùng để nhận dạng từng nút một (điểm nút là tập các thiết bị chuyển
mạch nằm ở trung tâm nh Router chẳng hạn ) cụ thể là một gói dữ liệu đ-
ợc gửi tới một địa chỉ đơn hớng sẽ đợc chuyển tới nút mang địa chỉ đơn
hớng đó.
2. Multicast: Địa chỉ đa hớng. Là địa chỉ dùng để nhận dạng một tập hợp nút
nhng không phải là tất cả. Tập hợp nút bao gồm nhiều nút khác nhau hợp
thành, gói dữ liệu IP gửi tới một địa chỉ Multicast sẽ đợc gửi tới tất cả các
Host tham dự trong nhóm Multicast này.
3. Broadcast: Thể hiện tất cả các trạm trên mạng. Thông thờng điều đó giới
hạn ở tất cả các Host trên một mạng con địa phơng.
Các địa chỉ IP đợc chia ra làm hai phần, một phần để xác định mạng (net
id) và một phần để xác định host (host id). Các lớp mạng xác định số bits đợc
dành cho mỗi phần mạng và phần host. Có năm lớp mạng là A, B, C, D, E, trong
đó ba lớp đầu là đợc dùng cho mục đích thông thờng, còn hai lớp D và E đợc
dành cho những mục đích đặc biệt và tơng lai. Trong đó ba lớp chính là A,B,C.
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Hình vẽ sau cho thấy cấu trúc của một địa chỉ IP.
Mỗi lớp địa chỉ đợc đặc trng bởi một số bits đầu tiên của Byte đầu tiên có
cấu trúc chi tiết nh hình 1.4.
Hình 1.4: Cấu trúc các khuôn dạng địa chỉ
Từ cấu trúc phân lớp địa chỉ ta có thể nhận thấy:

Nhỏ hơn 128 là địa chỉ lớp A. Byte đầu tiên xác định địa chỉ mạng, ba
Bytes còn lại xác định địa chỉ máy trạm.
Từ 128 đến 191 là địa chỉ lớp B. Hai Bytes đầu xác định địa chỉ mạng.
Hai Bytes tiếp theo xác định địa chỉ máy trạm.
Từ 192 đến 223 là địa chỉ lớp C. Ba Bytes đầu xác định địa chỉ mạng.
Bytes còn lại xác định địa chỉ máy trạm.
Vũ Khoa ĐTTT4 K40
class ID Nework ID Host ID
0 31
0 Network ID Host ID
3180 1 7
Khuôn dạng địa chỉ IP lớp A
Khuôn dạng địa chỉ IP lớp B
Khuôn dạng địa chỉ IP lớp C
Khuôn dạng địa chỉ IP lớp D
Khuôn dạng địa chỉ IP lớp E
0
0 Network ID Host ID
31161 2 15
1
0 Network ID Host ID
31
222 3 21
1
1
1
0
1 0 Multicast address
31
2 3 4

1
1
1
0
1 1 Reserved for future use
31
2 3 4
1
1
1
0
0
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Lớn hơn 223 là các địa chỉ dùng để quảng bá hoặc dùng dự trữ cho các
mục đích đặc biệt và ta có thể không cần quan tâm.
Nhìn vào trên hình ta có bảng phân lớp địa chỉ IP nh bảng 1.1.
Network class Số mạng Số Hosts trong mạng
A 126 16.777.214
B 16.382 65.534
C 2.097.150 254
Bảng 1.1: Bảng phân lớp địa chỉ
Tuy nhiên không phải tất cả các số hiệu mạng (net id) đều có thể dùng đ-
ợc. Một số địa chỉ đợc để dành cho những mục đích đặc biệt.
Lớp A có số mạng ít nhất, nhng mỗi mạng lại có nhiều hosts thích hợp với
các tổ chức lớn có nhiều máy tính.
Lớp B có số mạng và số hosts vừa phải.
Còn lớp C có nhiều mạng nhng mỗi mạng chỉ có thể có 254 hosts, thích hợp
với tổ chức có ít máy tính.
Để tiện cho việc quản trị cũng nh thực hiện các phơng pháp tìm đờng trên
mạng. ở các mạng lớn (lớp A) hay mạng vừa (lớp B) ngời ta có thể chia chúng

thành các mạng con (Subnets) . Ví dụ cho rằng một mạng con có địa chỉ lớp B là
191.12.0.50 khi đó coi 191.12.0.0 là địa chỉ toàn mạng và lập địa chỉ 191.12.1.
cho Subnet 1 và 191.12.2 cho Subnet 2.
Có thể dành trọn một nhóm 8 bits để đánh địa chỉ Subnet và một nhóm để
đánh địa chỉ các máy trong từng Subnet. Nh thế tất nhiên là số máy trong một
Subnet sẽ ít đi tơng tự nh trong mạng nhỏ. Sự phân chia này làm giảm kích thớc
của bảng định tuyến trong Router/ Gateway, nghĩa là tiết kiệm dung lợng nhớ và
thời gian xử lý.
Sự phân chia một mạng thành nhiều mạng con phát sinh vấn đề là số lợng
bit dành để đánh địa chỉ mạng con có thể khác nhau và tuỳ thuộc vào nhà quản
trị mạng. Do đó ngời ta đa vào khái niệm Subnet Mask. Subnet Mask cũng
giống nh địa chỉ IP bao gồm 32 bits. Mục đích của điạ chỉ Subnet Mask là để
chia nhỏ một địa chỉ IP thành các mạng nhỏ hơn và theo dõi vùng nào trên địa
chỉ IP đợc dùng để làm địa chỉ cho mạng con (còn đợc gọi là các Subnet) đó
vùng nào dùng làm địa chỉ cho các máy trạm.
Nội dung của một Subnet Mask đợc quy định nh sau :
Các bit 1 : dùng để chỉ định địa chỉ mạng trên địa chỉ IP.
Các bit 0 : dùng để chỉ định địa chỉ máy trạm trên địa chỉ IP.
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Ví dụ đối với mạng A có địa chỉ là 25.0.0.0, nếu dành 8 bits cho Subnet thì
mặt nạ có giá trị là 255.255.0.0 , nếu dành 16 bits cho Subnet thì mặt nạ có giá
trị là 255.255.255.0.
Từ địa chỉ IP ta thực hiện phép toán logic AND với địa chỉ Subnet Mask kết
quả sẽ tạo ra đợc địa chỉ mạng nơi đến. Kết quả này đợc sử dụng để tìm bớc tiếp
theo trong thuật toán tìm đờng trên mạng. Nếu kết quả này trùng với địa chỉ
mạng tại trạm đang làm việc thì sẽ xét tiếp địa chỉ máy trạm để truyền đi. Theo
cấu trúc của Subnet Mask thì ta thấy tất cả các trạm làm việc trong cùng một
mạng con có cùng giá trị Subnet Mask.
Với phơng pháp này số bits dùng để đánh địa chỉ host có thể nhỏ hơn 8 bits

(đối với lớp C) tức là một địa chỉ lớp C có thể phân nhỏ hơn nữa và khi đó các
mạng con này thờng đợc xác định bởi các địa chỉ có thêm phần chú thích số bits
dành cho địa chỉ mạng, ví dụ 203.160.0.0/25 mô tả Subnet 203.160.0.0 (thuộc
lớp C) nhng có 25 bits dùng cho địa chỉ mạng và 7 bits dùng cho địa chỉ Hosts
tức là Subnet này chỉ có tối đa là 128 Hosts chứ không phải là 256 Hosts.
Trong tất cả các lớp địa chỉ mạng cũng nh các Subnets, các điạ chỉ đầu và
cuối của mạng đợc dùng cho các mục đích riêng. Một địa chỉ IP cùng với tất cả
các bits địa chỉ máy trạm có giá trị có là 0 (địa chỉ đầu mạng) đợc dùng để chỉ
chính mạng đó (hay địa chỉ xác định mạng). Ví dụ địa chỉ 203.160.1.0 đợc dùng
để chỉ mạng 203.160.1.0. Còn nếu tất cả các bits địa chỉ trong phần địa chỉ của
trạm đều có giá trị là 1 (địa chỉ cuối mạng) thì địa chỉ này đợc dùng làm địa chỉ
quảng bá. Ví dụ địa chỉ quảng bá của mạng 203.160.1.0 là 203.160.1.255. Một
gói dữ liệu gửi đến địa chỉ này sẽ đợc truyền đến tất cả các máy trạm trên địa
chỉ này.
Trên mạng Internet, việc quản lý và phân phối địa chỉ IP là do NIC
(Network Information Center). Với sự bùng nổ của số máy tính kết nối vào
mạng Internet, địa chỉ IP đã trở thành một tài nguyên cạn kiệt, ngời ta đã phải
xây dựng nhiều công nghệ để khắc phục tình hình này. Ví dụ nh công nghệ cấp
phát địa chỉ IP động nh BOOTP hay DHCP (Dynamic Host Configuration
Protocol). Khi sử dụng công nghệ này thì không nhất thiết mọi máy trên mạng
đều phải có một địa chỉ IP định trớc mà nó sẽ đợc Server cấp cho một địa chỉ IP
khi thực hiện kết nối. Tuy nhiên giải pháp này chỉ là tạm thời trong tơng lai thì
địa chỉ IPv6 sẽ đợcđa vào sử dụng.
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
1.2.3.4.Địa chỉ IPv6
Cấu trúc Header của gói IPv6 đợc trình bày trong hình 1.5.
Version
Number
Priority Flow Lable

Pay load Length Next Header Hop limit
Source IP Address ( 128 Bits)
Destination IP Address (128 Bits)
Hình 1.5: Cấu trúc Header gói IPv6
Cấu trúc của gói IPv6 không hoàn toàn tơng thích một cách trực tiếp với
cấu trúc của gói IPv4, nó có cấu trúc để cho việc truyền dẫn càng nhanh càng
tốt, và nó vẫn cùng hoạt động với IPv4.
IPv6 có một số đặc điểm chính sau đây:
128 bits địa chỉ thay cho 32 bits địa chỉ.
Thiết lập và cấu hình đơn giản : IPv6 có thể tự động đặt cấu hình các địa
chỉ cục bộ.
Định dạng Header đơn giản một vài trờng đã đợc bỏ đi hoặc trở thành
không bắt buộc. Sự định dạng Header mới này cải thiện tính năng của bộ
định tuyến và dễ dàng thêm các loại Header mới.
Cải tiến sự trợ giúp đối với các tuỳ chọn và các mở rộng.
Sự trợ giúp đối với việc xác nhận đúng và sự mã hoá dữ liệu. Sự trợ giúp
đối với việc xác nhận đúng, tính chân thật của dữ liệu, tính bí mật của dữ
liệu là một phần của kiến trúc IPv6.
Không giống nh IPv4 các gói dữ liệu trong IPv6 nói chung không bị phân
mảnh. Nếu sự phân mảnh đợc yêu cầu nó sẽ đợc thực hiện không phải
bằng các bộ định tuyến mà bằng nguồn của các gói dữ liệu. Đối với một
gói dữ liệu bị phân mảnh, Host nguồn sẽ sinh ra một giá trị tự nhận diện
duy nhất.
IPv6 có 128 bits địa chỉ dài hơn bốn lần so với IPv4 nên khả năng theo lý
thuyết có thể cung cấp một không gian địa chỉ lớn hơn nhiều. Đây là không gian
địa chỉ cực lớn với mục đích không chỉ cho Internet mà còn cho tất cả các mạng
máy tính, các hệ thống viễn thông, hệ thống điều khiển và thậm chí còn cả các
vật dụng trong gia đình. Địa chỉ IPv6 đợc phân ra là 3 loại chính nh sau :
1. Unicast Address: Địa chỉ đơn hớng là địa chỉ dùng để nhận dạng từng nút
một (điểm nút là tập các thiết bị chuyển mạch nằm ở trung tâm nh Router

Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
chẳng hạn) cụ thể là một gói dữ liệu đợc gửi tới một địa chỉ đơn hớng sẽ
đợc chuyển tới nút mang địa chỉ đơn hớng đó.
2. Anycast Address: Địa chỉ bất kỳ hớng nào. Là địa chỉ dùng để nhận dạng
một tập hợp nút bao gồm nhiều nút khác nhau hợp thành, cụ thể là một
gói số liệu đợc gửi tới một địa chỉ bất cứ hớng nào sẽ đợc chuyển tới một
nút gần nhất trong tập hợp nút mạng địa chỉ Anycast đó.
3. Multicast Address : Địa chỉ đa hớng. Là địa chỉ dùng để nhận dạng một
tập hợp nút. Tập hợp nút bao gồm nhiều nút khác nhau hợp thành, cụ thể
là một gói số liệu đợc gửi tới một địa chỉ đa hớng sẽ đợc chuyển tới tất cả
các nút trong địa chỉ Multicast đó.
1.2.3.5. Giao thức ARP
Khi hai máy trên mạng Internet muốn kết nối với nhau thì chúng phải
biết điạ chỉ của nhau, địa chỉ đợc sử dụng là địa chỉ Internet. Tuy nhiên nếu hai
máy cùng trong một mạng vật lý thì chúng không thể sử dụng địa chỉ IP để liên
lạc với nhau, chúng chỉ có thể kết nối với nhau khi chúng biết đợc địa chỉ vật lý
của nhau. Vấn đề đặt ra là làm sao một trạm hay một Router có thể ánh xạ địa
chỉ IP (32 bits hoặc 128 bits ) sang địa chỉ vật lý (48 bits) khi chúng cần gửi một
gói dữ liệu qua mạng vật lý. Trớc kia trong các hệ thống sử dụng giao thức TCP/
IP thì phải có một bảng chỉ ra sự liên quan giữa địa chỉ IP và địa chỉ vật lý (địa
chỉ MAC) tuy nhiên ngày vấn đề này đợc giải quyết thông qua giao thức xác
định địa chỉ ARP (Address Resolution Protocol). Giao thức ARP cho phép một
trạm có thể biết đợc địa chỉ vật lý của một trạm khác trên cùng một mạng vật lý
khi nó biết địa chỉ IP của trạm kia.
Hình 1.6 minh hoạ điều đó.
Vũ Khoa ĐTTT4 K40
192.1.1.1
192.1.1.2
192.1.1.5 192.1.1.4

ARP request
ARP response
ResponseNo response
No response
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Hình 1.6: Giao thức ARP
Khi một máy trạm có địa chỉ 129.1.1.1 muốn biết địa chỉ vật lý của máy
trạm có địa chỉ 129.1.1.4 thì nó gửi đi một gói tin đặc biệt có chứa địa chỉ IP
129.1.1.4 đến tất cả các trạm khác (Sử dung chế độ Broadcast) để yêu cầu trả lời
cho biết địa chỉ vật lý của máy này. Tất cả các trạm trên mạng đều nhận đợc
thông báo này nhng chỉ có trạm có địa chỉ IP là 129.1.1.4 nhận ra địa chỉ IP của
nó nên nó gửi cho máy 129.1.1.1 một phúc đáp trả lời địa chỉ vật lý của nó.
Tuy nhiên nếu bất cứ lúc nào muốn kết nối, mỗi máy trạm đều phải thực
hiện quảng bá yêu cầu ARP nh vậy sẽ làm tăng khả năng tắc nghẽn trên mạng vì
tất cả các máy trong mạng đều nhận đợc yêu cầu này và phải xử nó. Để tránh
tình trạng này trên mỗi máy trạm đều có thiết kế một vùng nhớ gọi là ARP table
hoặc ARP cache. Bảng này sẽ lu giữ địa chỉ IP tơng ứng với địa chỉ vật lý của
các máy trạm gần nhất mà nó nhận đợc và đợc cập nhật tự động khi nhận đợc
trả lời ARP. Trớc khi gửi đi một yêu cầu ARP thì một máy trạm sẽ tìm trong
ARP table xem có địa chỉ vật lý nào tơng ứng với điạ chỉ IP mà nó muốn kết nối
hay không, nếu có thì nó sẽ gửi dữ liệu mà không phải phát yêu cầu ARP. Bên
cạnh đó để giảm việc phát đi các yêu cầu ARP thì khi một máy trạm nào trả lời
một yêu cầu ARP nó sẽ tự động cập nhật địa chỉ IP và địa chỉ vật lý của nơi yêu
cầu vào ARP table. Các ARP table này tuỳ theo cấu trúc khác nhau mà có ph-
ơng pháp cập nhật hoặc loại bỏ địa chỉ khác nhau. Hình 1.7 chỉ ra các để thực
hiện một yêu cầu ARP.
Hình 1.7: Các bớc thực hiện ARP
1. Trớc khi thực hiện kết nối thì máy trạm phải biết địa chỉ MAC tơng ứng
với địa chỉ IP.
2. Nó sẽ tìm trong ARP table xem có địa chỉ nào phù hơp không.

Vũ Khoa ĐTTT4 K40
IP 1
ARP request
ARP table
(ARP cache)
Data link
2, 5
3
4
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
3. ARP table sẽ trả lời địa chỉ MAC (nếu có).
4. Nếu địa chỉ MAC không có trong ARP table thì máy đó sẽ phát ra yêu
cầu ARP lên trên mạng, nếu địa chỉ MAC có trong ARP table thì kết nối
đợc thực hiện.
5. Cùng với việc nhận đợc trả lời ARP thì ARP table đợc cập nhật.
Khuôn dạng của một gói tin ARP cũng nh RARP dùng cho mạng Ethernet
đợc mô tả nh hình 1.8.
Bit 0 Bit 16
Type of Hardware(16bits)
Type of Protocol(16bits)
Length of Hardware
Address
Length of Protocol
Address
Operation(16bits)
Hardware address of the source station
IP address of the source station
Hardware address of the destination station
IP address of the destination station
Hình 1.8: Khuôn dạng gói tin ARP/RARP

ý nghĩa của các trờng trong khuôn dạng nh sau:
Type of Hardware (16bits): Mô tả kiểu giao diện phần cứng, thờng đợc dùng
để chỉ các mạng LAN hoạt động theo các chuẩn IEEE 802. Trờng này mang
giá trị 1 đối với các mạng Ethernet.
Type of Protocol (16bits): Mô tả kiểu địa chỉ giao thức cao cấp (IP, IPX
Apple Talk), trờng này mang giá trị 0800 ở hệ 16 đối với địa chỉ IP.
Length of Hardware Address: Chỉ thị độ dài địa chỉ phần cứng.
Length of Protocol Address: Chỉ thị độ dài địa chỉ của giao thức cao cấp.
Operation (16bits): Cho biết gói tin ARP/RARP là gói mang thông tin hỏi
hay phúc đáp:
Operation = 1: ARP Request.
= 2: ARP Response.
= 3: RARP Request.
= 4: RARP Response.
Hardware address of the source station: Địa chỉ vật lý của trạm gửi.
IP address of the source station: Địa chỉ IP của nơi gửi.
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Hardware address of the destination station: Địa chỉ vật lý của đích, trờng
này thờng đợc thiết lập là 0 trong các ARP Reqest, và đợc điền vào bằng các
thủ tục phúc đáp của trạm đích.
IP address of the destination station: Địa chỉ IP của nhận, nó đợc thiết lập bởi
trạm nguồn.
Khi các gói tin ARP đợc truyền trên mạng tuỳ theo cấu trúc của các mạng
khác nhau mà có các khung dữ liệu gửi đi tơng ứng. Các khung dữ liệu này đợc
phân biệt với các khung tin loại khác bằng một trờng kiểu trong phần tiêu đề
của khung. Với mạng Ethernet, khung tin ARP có trờng kiểu mang giá trị 0806
ở hệ 16.
1.2.3.6. Giao thức RARP(Reverse ARP)
Các máy tính thờng lu trữ địa chỉ IP của nó trên bộ nhớ thứ cấp, nơi mà hệ

điều hành có thể tìm thấy khi khởi động. Nhng với những máy tính không thờng
xuyên làm việc với bộ nhớ thứ cấp (chẳng hạn chúng lu giữ tập tin trên một máy
Server ở xa) thì chúng không biết địa chỉ IP của mình. Vì vậy một máy tính
không có ổ đĩa cứng khi khởi động phải liên lạc với Server để biết đợc địa chỉ IP
của nó trớc khi kết nối vào hệ thống sử dụng TCP/IP.
Máy tính có thể nhận biết đợc địa chỉ vật lý của nó từ phần cứng giao tiếp
mạng đợc cài đặt trên nó. Từ địa chỉ vật lý này, các máy tính không có bộ nhớ
thứ cấp có thể tìm ra địa chỉ IP của nó thông qua giao thức RARP.
Khuôn dạng của thông báo RARP về cơ bản giống khuông dạng của thông
báo ARP, chỉ khác về cách thức khai báo một số trờng trong đó.
Cũng nh thông báo ARP, một thông báo RARP cũng đợc đóng trong một
khung thông tin mạng và đợc gửi từ máy này đến máy khác. Phần tiêu đề của
khung tin có chứa một trờng kiểu mang giá trị 8035 ở hệ 16 cho phép phân biệt
khung tin chứa thông báo RARP với các khung tin dạng khác. Hình 1.9 minh
hoạ cách thức mà một máy sử dụng RARP để xác định địa chỉ IP của nó.
Để biết địa chỉ IP của mình, đầu tiên máy A quảng bá một yêu cầu RARP
đến tất cả các máy khác. A cung cấp địa chỉ vật lý của nó trong gói tin RARP.
Tất cả các máy trên mạng đều nhận đợc yêu cầu này nhng chỉ có máy nào cung
cấp dịch vụ RARP mới tiến hành xử lý và trả lời yêu cầu này. Những máy đó đ-
ợc gọi là các RARP Server. Trong một mạng con nói chung cần phải có một
máy tính nh vậy.
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Hình 1.9 Giao thức RARP
1.2.3.7. ARP uỷ quyền
ARP uỷ quyền là phơng pháp mà trong đó một máy thờng là một Router
trả lời các yêu cầu ARP cho các máy khác bằng cách cung cấp địa chỉ vật lý của
chính nó. Bằng cách tạo ra một máy khác, Router chấp nhận trách nhiệm
chuyển các gói. Mục đích của ARP uỷ quyền là cho phép một khu vực sử dụng
một địa chỉ mạng với nhiều địa chỉ vật lý.

Nh hình 1.10 ARP uỷ quyền cho phép một địa chỉ mạng đợc chia sẻ giữa
hai mạng vật lý. Router R trả lời cho các yêu cầu ARP ở mỗi mạng cho các
Hosts ở các mạng khác bằng cách đa ra địa chỉ vật lý của nó và sau đó nó sẽ
chuyển tiếp các gói khi nó nhận đợc. Router R biết máy nào nằm ở mạng vật lý
nào và dùng ARP uỷ quyền để tạo ra ảo giác rằng chỉ có một mạng tồn tại. Để
làm đợc việc đó R lu giữ vị trí của các Hosts và cho phép tất cả các Hosts trong
mạng liên lạc với nhau nh là kết nối trực tiếp.
Hình 1.10: ARP uỷ quyền nối hai mạng vật lý có cùng địa chỉ mạng
Vũ Khoa ĐTTT4 K40
A
192.1.1.2
192.1.1.5 192.1.1.4
RARP request
RARP response
Response
Main Network
Hidden Network
H1 H2
H3
Router
H4 H5
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Nh trong hình, H1 muốn gửi một gói đến H4 nó sẽ dùng yêu cầu ARP để
hỏi địa chỉ vật lý của H4. Do R có phần mềm ARP uỷ quyền nó thu đợc yêu cầu
ARP và sẽ quyết định gửi đi trả lời ARP bằng địa chỉ vật lý của nó. H1 sẽ gửi
gói đến R, khi R nhận đợc Datagram nó sẽ gửi Datagram đến H4.
1.2.3.8.Định tuyến cho IP Datagram
Việc định tuyến cho IP Datagram trong liên mạng rất phức tạp. Thuật toán
định tuyến IP sẽ tính toán và lựa chọn đờng đi nào thích hợp nhất để gửi một
Datagram qua các mạng vật lý đến trạm đích là nơi nhận Datagram. Các phần

mềm định tuyến sẽ tiến hành phân tích các vấn đề nh: xem xét kiểu mạng, chiều
dài của Datagram hay các kiểu dịch vụ đợc mô tả trong Datagram Header để tìm
đờng đi tốt nhất.
Trong vấn đề định tuyến ngời ta phân ra làm hai loại, đó là định tuyến trực
tiếp và định tuyến gián tiếp. Việc truyền tin giữa hai máy đợc gọi là trực tiếp nếu
hai máy này cùng đợc nối vào một mạng vật lý. Chuyển gián tiếp đợc thực hiện
khi khi hai máy không cùng kết nối vào một mạng vật lý. Vì vậy việc truyền các
gói tin đợc thông qua các Router.
Để kiểm tra xem máy gửi và nhận Datagram có cùng trong một mạng vật
lý hay không thì bên gửi tách lấy phần địa chỉ mạng của máy đích trong
Datagram. Việc xác định địa chỉ mạng đợc thực hiện đơn giản bằng cách xem
xét 4 bis đầu tiên của địa chỉ IP và nh vậy nó sẽ xác định đợc bao nhiêu bits đợc
dùng để đánh địa chỉ mạng. Địa chỉ này đợc dùng để so sánh với địa chỉ mạng
của máy gửi nếu bên nhận và bên gửi cùng kết nối vào một mạng vật lý thì quá
trình chuyển gói sẽ là trực tiếp không cần sử dụng Router. Khi đó máy gửi sẽ
tìm địa chỉ vật lý của máy nhận bằng cách tìm trong ARP table hoặc dùng ARP
request. Nếu hai máy không cùng trong một mạng vật lý thì khi đó gói dữ liệu
sẽ đợc chuyển đến Router. Sự chuyển này cũng dùng địa chỉ vật lý. Router này
sẽ phân phát các gói đến đích cuối cùng hoặc gửi nó đến Router tiếp theo. Tuy
nhiên cần chú ý rằng địa chỉ vật lý của Router không phải là địa chỉ của đích
cuối cùng do đó việc chuyển các gói không phải là trực tiếp.
Khi chuyển một Datagram đến đích cuối cùng có thể sử dụng cả hai phơng
pháp chọn đờng trực tiếp hoặc gián tiếp. Ví dụ nh khi chuyển các Datagram qua
mạng. Trạm khởi đầu sẽ chuyển nó đến Router để từ đó chuyển đến đích cuối
cùng. Nó là chọn đờng gián tiếp. Nhng khi các gói này đến Router cuối cùng thì
nó phải chuyển trực tiếp đến đích.
Nếu một Router nhận đợc một Datagram mà nó cha phải là đích cuối cùng
nó sẽ giảm trờng TTL đi, nếu TTL>0 nó sẽ gửi Datagram đi dựa vào địa chỉ IP
của đích cuối cùng và thông tin trong bảng chọn tuyến. Router phân phát các
Vũ Khoa ĐTTT4 K40

Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
gói theo nguyên lý không kết nối tức là không một Router nào thiết lập phiên
truyền với một Router khác trên mạng.
Bảng định tuyến (Routing table)
Bảng định tuyến là nơi lu giữ thông tin về các đích có thể đến đợc và cách
thức để đến địa chỉ đó. Khi phần mền IP Routing tại một trạm hay một Router
nhận đợc yêu cầu truyền một gói dữ liệu thì trớc hết nó phải tham khảo bảng
định tuyến của nó để quyết định xem sẽ phải gửi Datagram đến đâu. Tuy nhiên
không phải bảng thông tin chọn đờng của mỗi trạm (hay Router) là chứa tất cả
các thông tin về các tuyến đờng có thể đến đợc.
Trong mỗi bảng thông tin chọn đờng bao gồm các cặp (N,G) trong đó N là
địa chỉ IP của mạng đích, còn G là địa chỉ của Router tiếp theo trên đờng đến
mạng N.
Nh vậy, mỗi Router sẽ không biết đợc đờng truyền đầy đủ để đi đến đích.
Trong bảng định tuyến còn có thông tin về các cổng có thể với đến nhng không
cùng nằm trên một mạng vật lý, phần thông tin này đợc che khuất đi và đợc gọi
là Default Router. Khi không tìm thấy thông tin của địa chỉ đích cần đến thì các
gói dữ liệu sẽ đợc gửi đến cổng truyền ngầm định.
Việc thiết lập bảng định tuyến sử dụng hai phơng pháp là phơng pháp chọn
tuyến động và phơng pháp chọn tuyến tĩnh. Phơng pháp chọn tuyến tĩnh có các
đờng truyền đợc tính toán trớc và đợc nạp vào mạng khi mạng khởi động. Phơng
pháp này không quan tâm đến các thông số đờng truyền tức thời và cấu hình
(Topology) của mạng nên còn đợc gọi là thuật toán chọn tuyến phi thích nghi.
Phơng pháp chọn tuyến động hay còn gọi là phơng pháp chọn tuyến thích nghi
cho phép thay đổi đờng truyền gói dựa vào các thay đổi của thông số truyền tải
và cấu hình của mạng. Phơng pháp chọn tuyến động hay đợc sử dụng hơn phơng
pháp chọn tuyến tĩnh do có nhiều u điểm hơn.
Quá trình gửi một Datagram từ trạm nguồn đến trạm đích gồm các bớc
sau: khi một trạm muốn gửi Datagram đến một trạm khác trên liên mạng, đầu
tiên nó sẽ đóng gói Datagram và gửi đến một Router gần nhất. Datagram cần

gửi có thể sẽ phải qua nhiều Routers trớc khi đến đích. Khi khung tin đến
Router đầu tiên, phần mềm IP sẽ lấy Datagram đã đợc đóng gói ra, lựa chon
Router tiếp theo cần phải qua. Sau đó Datagram lại đợc đặt vào khung rồi đợc
gửi qua mạng vật lý đến Router thứ hai. Quá trình này cứ thế tiếp tục cho đến
khi Datagram đến đợc đích cuối cùng. Hình 1.11 chỉ ra lợc đồ quá trình chọn
tuyến cho Datagram:
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Hình 1.11 Lợc đồ IP routing
Vũ Khoa ĐTTT4 K40
Header
và checksum
hợp lệ
Giảm TTL
TTL>0?
Tìm địa chỉ mạng
đích ở trong bảng
chọ đường
Router mặc
định có sẵn
Có địa chỉ
vật lý?
Gửi đi yêu cầu ARP
và chờ phúc đáp
Gửi gói đến Router
tiếp theo dựa vào
bảng chọn đường
Huỷ gói
Gửi thông báo
ICMP đến nơi

gửi gói
Nếu tìm thấy
Router, tìm địa chỉ
trong ARP table
Nhận được phúc
đáp ARP, thêm
vào ARP table
Tìm thấy
Router ?
No
Yes
No
Yes
No
Yes
Yes
No
No
Yes
Nhận được gói
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
1.2.3.9.Quá trình gửi, nhận Datagrams
Đối với IP ở trạm nguồn, khi nhận đợc một Primitive Send (Hàm dịch vụ
nguyên thuỷ yêu cầu gửi dữ liệu) của tầng trên, nó sẽ thực hiện các bớc sau:
Tạo một IP Datagram dựa trên các tham số của Primitive Send.
Tính Checksum và ghép vào phần Header của Datagram.
Ra quyết định chọn đờng.
Chuyển Datagram xuống tầng dới để truyền qua mạng.
Khi một Gateway nhận đợc một Datagram, nó sẽ thực hiện các bớc sau:
Tính Checksum, nếu không hợp lý thì loại bỏ Datagram.

Giảm thời gian sống TTL (Time to Live) của Datagram. Nếu thời gian
sống đã hết thì Datagram đó bị loại bỏ.
Ra quyết định chọn đờng.
Nếu thấy cần thiết thì thực hiện phân đoạn cho Datagram.
Sửa đổi lại IP Header, bao gồm Time to Live (TTL), Fragmentation và
Checksum.
Chuyển Datagram xuống tầng dới để truyền qua mạng.
Khi nhận đợc Datagram, IP ở trạm đích sẽ thực hiện các bớc sau:
Tính Checksum, nếu không hợp lý thì loại bỏ Datagram .
Tập hợp lại các đoạn nếu Datagram đã bị phân mảnh.
Chuyển dữ liệu và các tham số lên tầng trên.
1.2.4. Giao thức TCP
TCP là một giao thức kiểu có liên kết (Connection Oriented), tức là phải
có giai đoạn thiết lập liên kết giữa một cặp thực thể TCP trớc khi truyền dữ liệu.
Cũng giống nh các giao thức ở tầng giao vận TCP nhận thông tin từ các lớp
trên chia nó thành nhiều đoạn nếu cần thiết. Mỗi gói dữ liệu đợc chuyển tới giao
thức lớp mạng (thờng là IP) để truyền và định tuyến. Bộ xử TCP của nó nhận
thông báo đã nhận từng gói, nếu nó nhận thành công, các gói dữ liệu không có
thông báo sẽ đợc truyền lại. TCP của nơi nhận lắp ráp lại thông tin và chuyển nó
tới tầng cao hơn khi nó nhận đợc toàn bộ.
Trớc khi các gói dữ liệu đợc gửi tới máy đích nơi gửi và nơi nhận phải th-
ơng lợng để thiết lập một kết nối logic tạm thời. Kết nối này về đặc trng sẽ ở
trạng thái mở trong suốt phiên truyền.
Đặc điểm giao thức TCP
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Trong bộ giao thức TCP/IP TCP là giao thức đợc phát triển nh là cách để
kết nối các mạng máy tính khác nhau về các phơng pháp truyền dẫn và hệ điều
hành. TCP thiết lập kết nối hai đờng giữa hai hệ thống cần trao đổi thông tin với
nhau thông tin trao đổi giữa hai hệ thống đợc chia thành các gói. TCP có những

đặc điểm sau:
1. Hai hệ thống cần kết nối với nhau cần phải thực hiện một loạt các sự bắt
tay để trao đổi những thông tin về việc chúng muốn kết nối. Quá trình bắt
tay đảm bảo ngăn trặn sự tràn và mất mát dữ liệu khi truyền.
2. Trong phiên truyền thông tin, hệ thống nhận dữ liệu cần phải gửi các xác
nhận cho hệ thống phát để xác nhận rằng nó đã nhận đợc dữ liệu.
3. Các gói tin có thể đến đích không theo thứ tự sắp xếp của dòng dữ liệu
liên tục bởi các gói tin đi từ cùng một nguồn tin theo những đờng dẫn
khác nhau để đi tới cùng một đích. Vì vậy thứ tự đúng của các gói tin
phải đợc đảm bảo sắp xếp lại tại hệ thống nhận.
4. Khi phát hiện gói tin bị lỗi thì nơi gửi chỉ phát lại những gói tin bị lỗi
nhằm để tránh loại bỏ toàn bộ dòng dữ liệu.
Hình 1.12 trình bày phơng thức hoạt động của giao thức TCP.
Hình 1.12: TCP cung cấp kết nối từ đầu cuối đến đầu cuối
Vũ Khoa ĐTTT4 K40
Application
TCP
Secssion
Presentation
IP
Dadalink
Physical
Sending
Application
TCP
Secssion
Presentation
IP
Dadalink
Physical

IP
Dadalink
Physical
IP
Dadalink
Physical
Receiving
Subnet Subnet
TCP End to End Commmunication
Router Router
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
Đơn vị dữ liệu sử dụng trong giao thức TCP đợc gọi là Segment. Khuôn dạng
của Segment đợc mô tả nh hình 1.13.
Bit 0 15 16
31
Sourse Port Destination Port
Sequence Number
Acknowledgment Number
Data
Offset
(4 bits)
Reserved
(6 bits)
U
R
G
A
C
K
P

S
H
R
S
T
S
Y
N
F
I
N
Window (16 bits)
Checksum Urgent poier
Option Padding
TCPdata
Hình 1.13: Khuôn dạng TCP Segment
Các tham số của khuôn dạng trên có ý nghĩa nh sau:
Source Port (16 bits): Số hiệu của cổng nguồn.
Destination Port (16 bits): Số hiệu cổng của trạm đích. Số hiệu này là địa
chỉ thâm nhập dịch vụ lớp giao vận (CCISAP Addess) cho biết dịch vụ
mà TCP cung cấp là dịch vụ gì. TCP có số lợng cổng trong khoảng
0ữ2
16
-1 tuy nhiên các cổng nằm trong khoảng từ 0ữ1023 là đợc biết
nhiều nhất vì nó đợc sử dụng cho việc truy cập các dịch vụ tiêu chuẩn, ví
dụ 23 là dịch vụ Telnet, 25 là dịch vụ mail . . . .
Sequence Number (32 bits): Số hiệu của Byte đầu tiên của Segment trừ
khi bit SYN đợc thiết lập. Nếu bit SYN đợc thiết lập thì Sequence
Number là số hiệu tuần tự khởi đầu (ISN) và Byte dữ liệu đầu tiên là
ISN+1. Tham số này có vai trò nh tham số N(S) trong HDLC.

Acknowledgment Number (32 bits): Số hiệu của Segment tiếp theo mà
trạm nguồn dang chờ để nhận. Ngầm ý báo đã nhận tốt các Segment mà
trạm trạm đích đã gửi cho trạm nguồn. Tham số này có vai trò nh tham số
N(R) trong HDLC.
Data offset (4bits): Số lợng từ 32 bit trong TCP header (Tham số này chỉ
ra vùng bắt đầu của vùng dữ liệu ).
Reserved (6 bits): Dành để dùng trong tơng lai.
Control bits: Các bits điều khiển
Từ trái sang phải:
Vũ Khoa ĐTTT4 K40
Đồ án tốt nghiệp Chơng 1: Giao thức TCP/IP
URG : Vùng con trỏ khẩn có hiệu lực.
ACK : Vùng báo nhận (ACK number) có hiệu lực .
PSH: Chức năng PUSH.
RST: Khởi động lại (reset) liên kết.
SYN : Đồng bộ các số liệu tuần tự (sequence number).
FIN : Không còn dữ liệu từ trạm nguồn .
Window (16bits): Cấp phát credit để kiểm soát luồng dữ liệu (cơ chế cửa
sổ). Đây chính là số lợng các Byte dữ liệu bắt đầu từ Byte đợc chỉ ra
trong vùng ACK number, mà trạm nguồn đã sẵn sàng để nhận.
Checksum (16bits): Mã kiểm soát lỗi (theo phơng pháp CRC) cho toàn bộ
Segment.
Urgent Pointer (16 bits) : Con trỏ này trỏ tới số liệu tuần tự của Byte đi
theo sau dữ liệu khẩn, cho phép bên nhận biết đợc độ dài của dữ liệu
khẩn. Vùng này chỉ có hiệu lực khi bit URG đợc thiết lập .
Option (độ dài thay đổi): Khai báo các option của TCP, trong đó có độ
dài tối đa của vùng TCP data trong một Segment .
Padding (độ dài thay đổi): Phần chèn thêm vào Header để bảo đảm phần
Header luôn kết thúc ở một mốc 32 bits. Phần thêm này gồm toàn số 0.
Việc kết hợp địa chỉ IP của một máy trạm và số cổng đợc sử dụng tạo thành

một Socket. Các máy gửi và nhận đều có Socket riêng. Số Socket là duy nhất
trên mạng.
1.2.4.1.Điều khiển luồng dữ liệu
Trong việc điều khiển luồng dữ liệu phơng pháp hay sử dụng là dùng ph-
ơng pháp cửa sổ trợt. Phơng pháp này giúp cho việc nhận luồng dữ liệu hiệu quả
hơn.
Phơng pháp cửa sổ trợt cho phép nới gửi (Sender) có thể gửi đi nhiều gói tin
rồi sau đó mới đợi tín hiệu báo nhận ACK (Acknowledgement) của nơi nhận
(Receiver).Với phơng pháp cửa sổ trợt khi cần truyền các gói tin, giao thức sẽ
đặt một cửa sổ có kích cố định lên các gói tin. Những gói tin nào nằm trong
vùng cửa sổ ở một thời điểm nhất định sẽ đợc truyền đi. Hình 1.14 minh hoạ
quá trình này. ở đây kích thớc cửa sổ là 4. Tức là mỗi lúc cửa sổ chỉ gửi đợc 4
gói tin. Đầu tiên cửa sổ gửi sẽ gửi 4 gói tin từ 1 đến 4 và 4 gói tin này sẽ đợc gửi
cho bên nhận. Cửa sổ tiếp tục trợt để gói tin thứ 5 đợc gửi đi ngay sau khi nhận
đợc tín hiệu ACK của gói tin thứ nhất từ trạm đích qua trình nh vậy cứ tiếp tục
cho đến khi gói tin cuối cùng đợc chuyển đi.
Vũ Khoa ĐTTT4 K40

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

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