HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA VIỄN THƠNG 1
BỘ MÔN MẠNG VIỄN THÔNG
⎯⎯⎯⎯⎯⎯⎯⎯⎯
TIỂU LUẬN KẾT THÚC MÔN HỌC INTERNET VÀ GIAO THỨC
ĐỀ TÀI: TÌM HIỂU VỀ GIAO THỨC TCP/IP
NHÓM 1
GIẢNG VIÊN HƯỚNG DẪN: NGUYỄN TIẾN BAN
SV thực hiện: Lê Hoài Nam
Trần Hải Long
– B18DCVT299
– B18DCVT270
Nguyễn Quý Chiến – B18DCVT047
Nguyễn Công Huy – B18DCVT196
Lưu Đức Anh
HÀ NỘI – 2021
– B18DCVT015
LỜI MỞ ĐẦU
Chính sự phát triển với tốc độ chóng mặt của các dịch vụ đa phương tiện với
yêu cầu về băng thông và chất lượng dịch vụ cao đã mở ra một kỷ nguyên mới trong
lĩnh vực công nghệ viễn thơng. Cùng với đó, sự phát triển nhanh chóng của các mạng
di động và cố định, các mạng truyền dẫn qua vệ tinh đã làm nảy sinh các ý tưởng về
khả năng hội tụ các mạng này. Đó là khởi nguồn để giao thức TCP/IP ra đời và phát
triển. Các nhà khai thác viễn thông lớn ở Việt nam như VNPT, Vietel v.v. đang từng
bước triển khai các công nghệ này vào mạng của mình.
Bố cục của bài tiểu luận gồm có 5 chương:
Chương 1: Bộ giao thức TCP/IP
Chương 2: Các giao thức tầng giao vận
Chương 3: Các giao thức tầng liên kết
Chương 4: Các giao thức tầng ứng dụng
Chương 5: Các giao thức tầng Internet
Với sự cố gắng và nỗ lực của các thành viên, nhóm em đã hồn thành xong bài
tiểu luận của mình. Do có sự hạn chế về nguồn tài liệu tham khảo và mức độ hiểu biết
của bản thân nên không thể tránh khỏi những thiếu sót trong q trình nghiên cứu.
Chính vì vậy, nhóm em rất mong nhận được những lời góp ý và sự chỉ bảo thêm của
cô giáo và các bạn sinh viên khác để nhóm em có thêm những kiến thức phục vụ cho
học tập cũng như công việc sau này.
Nhóm em xin chân thành cảm ơn.
Thay mặt nhóm tiểu luận
LÊ HOÀI NAM
MỤC LỤC
LỜI NĨI ĐẦU
2
DANH MỤC HÌNH ẢNH
4
THUẬT NGỮ VIẾT TẮT
5
Chương 1: Bộ giao thức TCP/IP
6
1.1 Giới thiệu về giao thức TCP/IP
6
1.2 Mơ hình OSI
6
1.3 Vai trị và chức năng các tầng trong mơ hình TCP/IP
12
1.4 Q trình truyền thơng
15
1.5 Các kiểu truyền dữ liệu
16
Chương 2: Các giao thức tầng giao vận
18
2.1 Transport Control Protocol (TCP)
18
2.2 User Datagram Protocol (UDP)
22
Chương 3: Các công nghệ tầng liên kết
25
3.1 Ethernet
25
3.2 ATM (Asynchronous Transfer Mode)
27
Chương 4: Các giao thức tầng ứng dụng
32
4.1 TFTP
32
4.2 SMTP
33
Chương 5: Giao thức tầng Internet
5.1 Giao thức phân giải địa chỉ ARP
37
37
5.2 Giao thức phân giải địa chỉ ngược RARP (Reverse Address Resolution
Protocol)
40
5.3 Giao thức mạng IP (Internet Protocol)
41
5.4 Giao thức thông báo điều khiển mạng ICMP
45
KẾT LUẬN
48
TÀI LIỆU THAM KHẢO
49
DANH MỤC HÌNH ẢNH
Hình 1.1 Mơ hình chuyển vận các gói tin trong mạng chuyễn mạch gói
9
Hình 1.2 Tương quan Mơ hình OSI và mơ hình TCP/IP
13
Hình 1.3 Mơ hình OSI và mơ hình kiến trúc của TCP/IP
14
Hình 1.4 Đóng gói dữ liệu khi chuyển xuống tầng kề dưới
15
Hình 2.1 TCP Segment
19
Hình 2.2 Quá trình bắt tay 3 bước
21
Hình 2.3 Gói tin UDP
22
Hình 3.1 Mã hõa chuỗi bit
27
Hình 3.2 Mối quan hệ ATM với mơ hình OSI
28
Hình 3.3 Mối quan hệ ATM với mơ hình OSI
28
Hình 3.4 Kiến trúc phân tầng mơ hình ATM
29
Hình 3.5 Vai trị và chức năng của các tầng trong ATM
30
Hình 4.1 Quá trình hai người gửi thư cho nhau
35
Hình 5.1 Mạng IP Private dùng cho mạng cục bộ
42
Hình 5.2 IP Public dùng trong gia định, doanh nghiệp
43
Hình 5.3 Cấu trúc gói tin IP
44
THUẬT NGỮ VIẾT TẮT
ACK
Acknowledgement
Tin báo nhận
ASE
Application Service Element
Phần tử dịch vụ ứng dụng
ATM
Asynchronous Transfer Mode
Công nghệ truyền dẫn không
đồng bộ
Cửa sổ trượt
CWND Congestion window
DNS
Domain Name System
Hệ thống tên miền
DOS
Disk Operating System
Hệ điều hành đĩa
FTP
File Transfer Protocol
Giao thức truyền tập tin
HTTP
Hyper Text Transfer Protocol
Giao thức truyền siêu văn bản
ICMP
Internet Control Message Protocol Giao thức thơng bào kiểm sốt
Internet
SAO
Single Association Object
Đối tượng liên kết đơn
MTU
Maximum Transmission Unit
đơn vị truyền cực đại
SYN
Synchronize
Đồng bộ số thứ tự trong quá trình
kết nối.
SVC
Switch VC
Kênh ảo chuyển mạch
UDP
User Datagram protocol
UNI
User Network Interface
Giao thức giao vận mạng không
kết nối
Giao diện mạng người dùng
TCP
Transmission Control Protocol
Giao thức điều khiển truyền dẫn
PDU
Protocol Data Unit
Đơn vị dữ liệu giao thức
PVC
Permanent VC
Kênh ảo cố định
VPI
Virtual Path Identifier
Liên kết đường dẫn ảo
VCI
Virtual Channel Connectio
Liên kết kênh ảo
Chương 1: Bộ giao thức TCP/IP
1.1 Giới thiệu về giao thức TCP/IP
Là họ các giao thức cùng làm việc với nhau để cung cấp phương tiện truyền
thơng liên mạng. Vì lịch sử của TCP/IP gắn liền với Bộ quốc phòng Mỹ, nên việc
phân lớp giao thức TCP/IP được gọi là mơ hình DOD ( Department of Defense ).
Đây là họ các giao thức được sử dụng phổ biến trên mạng Internet, mang tính mở
nhất , phổ dụng nhất và được hỗ trợ của nhiều hãng kinh doanh. TCP/IP được cài
đặt sẵn trong phần thực thi UNIX BSD (Berkely Standard Distribution). Mơ hình
DOD gồm 4 tầng:
• Tầng ứng dụng (Process/Application Layer): Hỗ trợ các ứng dụng.
• Tầng vận chuyển (Transport Layer): Kết nối các thành phần mạng
• Tầng mạng (Internet Layer): Định tuyến gói dữ liệu giữa các máy chủ
• Tầng giao diện mạng (Network Interface Layer): tương ứng Physical Layer &
Data Link Layer trong OSI.
1.2 Mơ hình OSI
Việc nghiên cứu về OSI được bắt đầu tại ISO vào năm 1971 với các mục tiêu
nhằm nối kết các sản phẩm của các hãng sản xuất khác. Ưu điểm chính của OSI là ở
chỗ nó hứa hẹn giải pháp cho vấn đề truyền thơng giữa các máy tính khơng giống
nhau. Hai hệ thống, dù có khác nhau đều có thể truyền thơng với nhau một các hiệu
quả nếu chúng đảm bảo những điều kiện chung sau đây:
• Chúng cài đặt cùng một tập các chức năng truyền thơng.
• Các chức năng đó được tổ chức thành cùng một tập các tầng. các tầng đồng mức
phải cung cấp các chức năng như nhau.
• Các tầng đồng mức khi trao đổi với nhau sử dụng chung một giao thức.
1.2.1 Các giao thức trong mô hình OSI
Trong mơ hình OSI có hai loại giao thức chính được áp dụng: giao thức có liên
kết (connection - oriented) và giao thức khơng liên kết (connectionless)
• Giao thức có liên kết: trước khi truyền dữ liệu hai tầng đồng mức cần thiết
Bộ giao thức TCP/IP
Page 6
lập một liên kết logic và các gói tin được trao đổi thơng qua liên kết náy, việc có
liên kết logic sẽ nâng cao độ an toàn trong truyền dữ liệu.
• Giao thức khơng liên kết: trước khi truyền dữ liệu khơng thiết lập liên kết logic
và mỗi gói tin được truyền độc lập với các gói tin trước hoặc sau nó.
Như vậy với giao thức có liên kết, quá trình truyền thơng phải gồm 3 giai đoạn phân
biệt:
• Thiết lập liên kết (logic): hai thực thể đồng mức ở hai hệ thống thương lượng
với nhau về tập các tham số sẽ sử dụng trong giai đoạn sau (truyền dữ liệu).
• Truyền dữ liệu: dữ liệu được truyền với các cơ chế kiểm soát và quản lý kèm
theo (như kiểm soát lỗi, kiểm soát luồng dữ liệu, cắt/hợp dữ liệu...) để tăng
cường độ tin cậy và hiệu quả của việc truyền dữ liệu.
• Hủy bỏ liên kết (logic): giải phóng tài nguyên hệ thống đã được cấp phát cho
liên kết để dùng cho liên kết khác.
1.2.2 Các chức năng chủ yếu của các tầng trong mơ hình OSI
1.2.2.1
Tầng 1: vật lý (Physical)
Tầng vật lý (Physical layer) là tầng dưới cùng của mơ hình OSI là. Nó mơ tả các
đặc trưng vật lý của mạng: Các loại cáp được dùng để nối các thiết bị, các loại đầu nối
được dùng , các dây cáp có thể dài bao nhiêu v.v... Mặt khác các tầng vật lý cung cấp
các đặc trưng điện của các tín hiệu được dùng để khi chuyển dữ liệu trên cáp từ một
máy này đến một máy khác của mạng, kỹ thuật nối mạch điện, tốc độ cáp truyền dẫn.
Tầng vật lý không qui định một ý nghĩa nào cho các tín hiệu đó ngồi các giá trị
nhị phân 0 và 1. Ở các tầng cao hơn của mơ hình OSI ý nghĩa của các bit được truyền
ở tầng vật lý sẽ được xác định.
Các giao thức được xây dựng cho tầng vật lý được phân chia thành phân chia
thành hai loại giao thức sử dụng phương thức truyền thông dị bộ (asynchronous) và
phương thức truyền thông đồng bộ (synchronous).
• Phương thức truyền dị bộ: khơng có một tín hiệu quy định cho sự đồng bộ giữa
các bit giữa máy gửi và máy nhận, trong quá trình gửi tín hiệu máy gửi sử dụng
các bit đặc biệt START và STOP được dùng để tách các xâu bit biểu diễn các
Bộ giao thức TCP/IP
Page 7
ký tự trong dịng dữ liệu cần truyền đi. Nó cho phép một ký tự được truyền đi bất kỳ
lúc nào mà khơng cần quan tâm đến các tín hiệu đồng bộ trước đó.
• Phương thức truyền đồng bộ: sử dụng phương thức truyền cần có đồng bộ giữa
máy gửi và máy nhận, nó chèn các ký tự đặc biệt như SYN (Synchronization),
EOT (End Of Transmission) hay đơn giản hơn, một cái "cờ " (flag) giữa các dữ
liệu của máy gửi để báo hiệu cho máy nhận biết được dữ liệu đang đến hoặc đã
đến.
1.2.2.2
Tầng 2: Liên kết dữ liệu (Data link)
Tầng liên kết dữ liệu (data link layer) là tầng mà ở đó ý nghĩa được gán cho các
bít được truyền trên mạng. Tầng liên kết dữ liệu phải quy định được các dạng thức,
kích thước, địa chỉ máy gửi và nhận của mỗi gói tin được gửi đi. Nó phải xác định cơ
chế truy nhập thơng tin trên mạng và phương tiện gửi mỗi gói tin sao cho nó được đưa
đến cho người nhận đã định.
Tầng liên kết dữ liệu có hai phương thức liên kết dựa trên cách kết nối các máy
tính, đó là phương thức "một điểm - một điểm" và phương thức "một điểm - nhiều
điểm". Với phương thức "một điểm - một điểm" các đường truyền riêng biệt được thiết
lâp để nối các cặp máy tính lại với nhau. Phương thức "một điểm - nhiều điểm " tất cả
các máy phân chia chung một đường truyền vật lý.
Tầng liên kết dữ liệu cũng cung cấp cách phát hiện và sửa lỗi cơ bản để đảm bảo
cho dữ liệu nhận được giống hoàn toàn với dữ liệu gửi đi. Nếu một gói tin có lỗi không
sửa được, tầng liên kết dữ liệu phải chỉ ra được cách thơng báo cho nơi gửi biết gói tin
đó có lỗi để nó gửi lại.
Các giao thức tầng liên kết dữ liệu chia làm 2 loại chính là các giao thức hướng
ký tư và các giao thức hướng bit. Các giao thức hướng ký tự được xây dựng dựa trên
các ký tự đặc biệt của một bộ mã chuẩn nào đó (như ASCII hay EBCDIC), trong khi
đó các giao thức hướng bit lại dùng các cấu trúc nhị phân (xâu bit) để xây dựng các
phần tử của giao thức (đơn vị dữ liệu, các thủ tục.) và khi nhận, dữ liệu sẽ được tiếp
nhận lần lượt từng bit một.
1.2.2.3
Tầng 3: Mạng (Network)
Bộ giao thức TCP/IP
Page 8
Tầng mạng (network layer) nhắm đến việc kết nối các mạng với nhau bằng cách
tìm đường (routing) cho các gói tin từ một mạng này đến một mạng khác. Nó xác định
việc chuyển hướng, vạch đường các gói tin trong mạng, các gói này có thể phải đi qua
nhiều chặng trước khi đến được đích cuối cùng. Nó ln tìm các tuyến truyền thơng
khơng tắc nghẽn để đưa các gói tin đến đích.
Tầng mạng cung các các phương tiện để truyền các gói tin qua mạng, thậm chí
qua một mạng của mạng (network of network). Bởi vậy nó cần phải đáp ứng với nhiều
kiểu mạng và nhiều kiểu dịch vụ cung cấp bởi các mạng khác nhau. hai chức năng chủ
yếu của tầng mạng là chọn đường (routing) và chuyển tiếp (relaying). Tầng mạng là
quan trọng nhất khi liên kết hai loại mạng khác nhau như mạng Ethernet với mạng
Token Ring khi đó phải dùng một bộ tìm đường (quy định bởi tầng mạng) để chuyển
các gói tin từ mạng này sang mạng khác và ngược lại.
Việc chọn đường là sự lựa chọn một con đường để truyền một đơn vị dữ liệu
(một gói tin chẳng hạn) từ trạm nguồn tới trạm đích của nó. Một kỹ thuật chọn đường
phải thực hiện hai chức năng chính sau đây:
• Quyết định chọn đường tối ưu dựa trên các thông tin đã có về mạng tại thời
điểm đó thơng qua những tiêu chuẩn tối ưu nhất định.
• Cập nhật các thơng tin về mạng, tức là thông tin dùng cho việc chọn đường,
trên mạng ln có sự thay đổi thường xun nên việc cập nhật là việc cần thiết.
Hình 1.1 Mơ hình chuyển vận các gói tin trong mạng chuyễn mạch gói
Người ta có hai phương thức đáp ứng cho việc chọn đường là phương thức xử lý
tập trung và xử lý tại chỗ.
Bộ giao thức TCP/IP
Page 9
• Phương thức chọn đường xử lý tập trung được đặc trưng bởi sự tồn tại của một
(hoặc vài) trung tâm điều khiển mạng, chúng thực hiện việc lập ra các bảng
đường đi tại từng thời điểm cho các nút và sau đó gửi các bảng chọn đường tới
từng nút dọc theo con đường đã được chọn đó. Thơng tin tổng thể của mạng cần
dùng cho việc chọn đường chỉ cần cập nhập và được cất giữ tại trung tâm điều
khiển mạng.
• Phương thức chọn đường xử lý tại chỗ được đặc trưng bởi việc chọn đường
được thực hiện tại mỗi nút của mạng. Trong từng thời điểm, mỗi nút phải duy
trì các thơng tin của mạng và tự xây dựng bảng chọn đường cho mình. Như vậy
các thơng tin tổng thể của mạng cần dùng cho việc chọn đường cần cập nhập và
được cất giữ tại mỗi nút.
Thông thường các thông tin được đo lường và sử dụng cho việc chọn đường bao
gồm:
• Trạng thái của đường truyền.
• Thời gian trễ khi truyền trên mỗi đường dẫn.
• Mức độ lưu thơng trên mỗi đường.
• Các tài ngun khả dụng của mạng.
Khi có sự thay đổi trên mạng (ví dụ thay đổi về cấu trúc của mạng do sự cố tại một
vài nút, phục hồi của một nút mạng, nối thêm một nút mới... hoặc thay đổi về mức độ
lưu thông) các thông tin trên cần được cập nhật vào các cơ sở dữ liệu về trạng thái của
mạng.
1.2.2.4
Tầng 4: Vận chuyển (Transport)
Tầng vận chuyển cung cấp các chức năng cần thiết giữa tầng mạng và các tầng
trên. nó là tầng cao nhất có liên quan đến các giao thức trao đổi dữ liệu giữa các hệ
thống mở. Nó cùng các tầng dưới cung cấp cho người sử dụng các phục vụ vận
chuyển.
Tầng vận chuyển (transport layer) là tầng cơ sở mà ở đó một máy tính của mạng
chia sẻ thông tin với một máy khác. Tầng vận chuyển đồng nhất mỗi trạm bằng một
địa chỉ duy nhất và quản lý sự kết nối giữa các trạm. Tầng vận chuyển cũng chia các
Bộ giao thức TCP/IP
Page 10
gói tin lớn thành các gói tin nhỏ hơn trước khi gửi đi. Thông thường tầng vận chuyển
đánh số các gói tin và đảm bảo chúng chuyển theo đúng thứ tự.
Tầng vận chuyển là tầng cuối cùng chịu trách nhiệm về mức độ an toàn trong
truyền dữ liệu nên giao thức tầng vận chuyển phụ thuộc rất nhiều vào bản chất của
tầng mạng.
1.2.2.5
Tầng 5: Giao dịch (Session)
Tầng giao dịch (session layer) thiết lập "các giao dịch" giữa các trạm trên mạng,
nó đặt tên nhất quán cho mọi thành phần muốn đối thoại với nhau và lập ánh xa giữa
các tên với địa chỉ của chúng. Một giao dịch phải được thiết lập trước khi dữ liệu được
truyền trên mạng, tầng giao dịch đảm bảo cho các giao dịch được thiết lập và duy trì
theo đúng qui định.
Tầng giao dịch cịn cung cấp cho người sử dụng các chức năng cần thiết để quản
trị các giao dịnh ứng dụng của họ, cụ thể là:
• Điều phối việc trao đổi dữ liệu giữa các ứng dụng bằng cách thiết lập và giải
phóng (một cách lơgic) các phiên (hay cịn gọi là các hội thoại – dialogues)
• Cung cấp các điểm đồng bộ để kiểm sốt việc trao đổi dữ liệu.
• Áp đặt các qui tắc cho các tương tác giữa các ứng dụng của người sử dụng
• Cung cấp cơ chế "lấy lượt" (nắm quyền) trong quá trình trao đổi dữ liệu.
Trong trường hợp mạng là hai chiều luân phiên thì nẩy sinh vấn đề: hai người
sử dụng luân phiên phải "lấy lượt" để truyền dữ liệu. Tầng giao dịch duy trì tương tác
luân phiên bằng cách báo cho mỗi người sử dụng khi đến lượt họ được truyền dữ liệu.
Vấn đề đồng bộ hóa trong tầng giao dịch cũng được thực hiện như cơ chế kiểm tra
phục hồi, dịch vụ này cho phép người sử dụng xác định các điểm đồng bộ hóa trong
dịng dữ liệu đang chuyển vận và khi cần thiết có thể khơi phục việc hội thoại bắt đầu
từ một trong các điểm đó.
Ở một thời điểm chỉ có một người sử dụng đó quyền đặc biệt được gọi các dịch
vụ nhất định của tầng giao dịch, việc phân bổ các quyền này thông qua trao đổi thẻ bài
(token). Ví dụ: Ai có được token sẽ có quyền truyền dữ liệu, và khi người giữ token
trao token cho người khác thi cũng có nghĩa trao quyền truyền dữ liệu cho người đó.
Bộ giao thức TCP/IP
Page 11
1.2.2.6
Tầng 6: Trình bày (Presentation)
Trong giao tiếp giữa các ứng dụng thơng qua mạng với cùng một dữ liệu có thể
có nhiều cách biểu diễn khác nhau. Thơng thường dạng biểu diễn dùng bởi ứng dụng
nguồn và dạng biểu diễn dùng bởi ứng dụng đích có thể khác nhau do các ứng dụng
được chạy trên các hệ thống hoàn toàn khác nhau (như hệ máy Intel và hệ máy
Motorola). Tầng trình bày (Presentation layer) phải chịu trách nhiệm chuyển đổi dữ
liệu gửi đi trên mạng từ một loại biểu diễn này sang một loại khác. Để đạt được điều
đó nó cung cấp một dạng biểu diễn chung dùng để truyền thông và cho phép chuyển
đổi từ dạng biểu diễn cục bộ sang biểu diễn chung và ngược lại.
Tầng trình bày cũng có thể được dùng kĩ thuật mã hóa để xáo trộn các dữ liệu
trước khi được truyền đi và giải mã ở đầu đến để bảo mật. Ngoài ra tầng biểu diễn
cũng có thể dùng các kĩ thuật nén sao cho chỉ cần một ít byte dữ liệu để thể hiện thong
tin khi nó được truyền ở trên mạng, ở đầu nhận, tầng trình bày bung trở lại để được dữ
liệu ban đầu.
1.2.2.7
Tầng 7: Ứng dụng (Application)
Tầng ứng dụng (Application layer) là tầng cao nhất của mơ hình OSI, nó xác
định giao diện giữa người sử dụng và mơi trường OSI và giải quyết các kỹ thuật mà
các chương trình ứng dụng dùng để giao tiếp với mạng.
Để cung cấp phương tiện truy nhập môi trường OSI cho các tiến trình ứng dụng,
Người ta thiết lập các thực thể ứng dụng (AE), các thực thể ứng dụng sẽ gọi đến các
phần tử dịch vụ ứng dụng (Application Service Element - viết tắt là ASE) của chúng.
Mỗi thực thể ứng dụng có thể gồm một hoặc nhiều các phần tử dịch vụ ứng dụng. Các
phần tử dịch vụ ứng dụng được phối hợp trong môi trường của thực thể ứng dụng
thông qua các liên kết (association) gọi là đối tượng liên kết đơn (Single Association
Object - viết tắt là SAO). SAO điều khiển việc truyền thơng trong suốt vịng đời của
liên kết đó cho phép tuần tự hóa các sự kiện đến từ các ASE thành tố của nó.
1.3 Vai trị và chức năng các tầng trong mơ hình TCP/IP
Bộ giao thức TCP/IP
Page 12
Hình 1.2 Tương quan Mơ hình OSI và mơ hình TCP/IP
1.3.1 Tầng ứng dụng (Process/Application Layer)
Tầng ứng dụng cung cấp các dịch vụ dưới dạng các giao thức cho ứng dụng của
người dùng. Một số giao thức tiêu biểu tại tầng này gồm: FTP (File Transfer Protocol),
Telnet (TERminaL NETwork), HTTP (Hyper Text Transfer Protocol), SMTP (Simple
Mail Transfer Protocol), POP3 (Post Office Protocol), DNS (Domain Name System),
DHCP (Dynamic Host Configuration Protocol), SNMP (Simple Network Managament
Protocol).
1.3.2 Tầng vận chuyển (Transport Layer)
Ứng với tầng vận chuyển (Transport Layer) trong mơ hình OSI, tầng Host to
Host thực hiện những kết nối giữa hai máy chủ trên mạng bằng 2 giao thức: giao thức
điều khiển trao đổi dữ liệu TCP (Transmission Control Protocol) và giao thức dữ liệu
người sử dụng UDP (User Datagram Protocol).Giao thức TCP là giao thức kết nối
hướng liên kết (Connection - Oriented) chịu trách nhiệm đảm bảo tính chính xác và độ
tin cậy cao trong việc trao đổi dữ liệu giữa các thành phần của mạng, tính đồng thời và
kết nối song công (Full Duplex). Khái niệm tin độ cậy cao nghĩa là TCP kiểm soát lỗi
bằng cách truyền lại các gói tin bị lỗi. Giao thức TCP cũng hỗ trợ những kết nối đồng
thời. Nhiều kết nối TCP có thể được thiết lập tại một máy chủ và dữ liệu có thể được
truyền đi một cách đồng thời và độc lập với nhau trên các kết nối khác nhau. TCP
cung cấp kết nối song cơng (Full Duplex), dữ liệu có thể được trao đổi trên một kết nối
đơn theo 2 chiều. Giao thức UDP được sử dụng cho những ứng dụng khơng địi hỏi độ
tin cậy cao.
Bộ giao thức TCP/IP
Page 13
1.3.3 Tầng mạng (Internet Layer)
Ứng với tầng mạng (Network Layer) trong mơ hình OSI, tầng mạng cung cấp
một địa chỉ logic cho giao diện vật lý mạng. Giao thức thực hiện của tầng mạng trong
mơ hình DOD là giao thức IP kết nối không liên kết (Connectionless), là hạt nhân hoạt
động của Internet. Cùng với các giao thức định tuyến RIP, OSPF, BGP, tầng tầng
mạng IP cho phép kết nối một cách mềm dẻo và linh hoạt các loại mạng "vật lý" khác
nhau như: Ethernet, Token Ring, X.25... Ngoài ra tầng này còn hỗ trợ các ánh xạ giữa
địa chỉ vật lý (MAC) do tầng Network Access Layer cung cấp với địa chỉ logic bằng
các giao thức phân giải địa chỉ ARP (Address Resolution Protocol) và phân giải địa chỉ
đảo RARP (Reverse Address Resolution Protocol). Các vấn đề có liên quan đến chuẩn
đốn lỗi và các tình huống bất thường liên quan đến IP được giao thức ICMP (Internet
Control Message Protocol) thống kê và báo cáo. Tầng trên sử dụng các dịch vụ do tầng
Liên mạng cung cấp.
Hình 1.3 Mơ hình OSI và mơ hình kiến trúc của TCP/IP
1.3.4 Tầng giao diện mạng (Network Interface Layer)
Tương ứng với tầng Vật lý và Liên kết dữ liệu trong mơ hình OSI, tầng truy
nhập mạng cung cấp các phương tiện kết nối vật lý cáp, bộ chuyển đổi (Transceiver),
Card mạng, giao thức kết nối, giao thức truy nhập đường truyền như CSMA/CD,
Tolen Ring, Token Bus..). Cung cấp các dịch vụ cho tầng Internet phân đoạn dữ liệu
thành các khung.
Bộ giao thức TCP/IP
Page 14
1.4 Q trình truyền thơng
1.4.1 Q trình đóng gói dữ liệu
Cũng như mơ hình OSI, trong mơ hình kiến trúc TCP/IP mỗi tầng có một cấu
trúc dữ liệu riêng, độc lập với cấu trúc dữ liệu được dùng ở tầng trên hay tầng dưới kề
nó. Khi dữ liệu được truyền từ tầng ứng dụng cho đến tầng vật lý, qua mỗi tầng được
thêm phần thông tin điều khiển (Header) đặt trước phần dữ liệu được truyền, đảm bảo
cho việc truyền dữ liệu chính xác. Việc thêm Header vào đầu các gói tin khi đi qua
mỗi tầng trong q trình truyền dữ liệu được gọi là Encapsulation. Quá trình nhận dữ
liệu sẽ diễn ra theo chiều ngược lại, khi qua mỗi tầng, các gói tin sẽ tách thơng tin điều
khiển thuộc nó trước khi chuyển dữ liệu lên tầng trên.
Hình 1.4 Đóng gói dữ liệu khi chuyển xuống tầng kề dưới
• Process/Application Layer: Message (Thơng điệp )
• Host - To- Host Layer: Segment/ Datagram (Đoạn/Bó dữ liệu)
• Internet Layer: Packet (Gói dữ liệu)
1.4.2 Q trình phân mảnh dữ liệu
Dữ liệu có thể được truyền qua nhiều mạng khác nhau, kích thước cho phép
cũng khác nhau. Kích thước lớn nhất của gói dữ liệu trong mạng gọi là đơn vị truyền
Bộ giao thức TCP/IP
Page 15
cực đại MTU (Maximum Transmission Unit). Trong q trình đóng gói Encapsulation,
nếu kích thước của một gói lớn hơn kích thước cho phép, tự động chia thành nhiều gói
nhỏ và thêm thơng tin điều khiển vào mỗi gói. Nếu một mạng nhận dữ liệu từ một
mạng khác, kích thước gói dữ liệu lớn hơn MTU của nó, dữ liệu sẽ được phân mảnh ra
thành gói nhỏ hơn để chuyển tiếp. Quá trình này gọi là quá trình phân mảnh dữ liệu.
Quá trình phân mảnh làm tăng thời gian xử lý, làm giảm tính năng của mạng và
ảnh hưởng đến tốc độ trao đổi dữ liệu trong mạng. Hậu quả của nó là các gói bị phân
mảnh sẽ đến đích chậm hơn so với các gói khơng bị phân mảnh. Mặt khác, vì IP là một
giao thức khơng liên kết, độ tin cậy khơng cao, khi một gói dữ liệu bị phân mảnh bị
mất thì tất cả các mảnh sẽ phải truyền lại. Vì vậy phần lớn các ứng dụng tránh khơng
sử dụng kỹ thuật phân mảnh và 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.5 Các kiểu truyền dữ liệu
1.5.1 Unicast
Đây là một khái niệm chỉ sự trao đổi thông tin trong đó thơng tin được gửi từ
một điểm này đến một điểm khác. Có nghĩa là chỉ có một người gửi và một người
nhận.
Cho đến nay thì việc truyền thơng tin theo cơ chế chỉ một nguồn và một đích
này vẫn chiếm ưu thế trong mạng LAN (ví dụ : Ethernet ) và trong các mạng IP hỗ trợ
chế độ Unicast. Người dùng mạng cũng khá quen thuộc với các ứng dụng sử dụng chế
độ Unicast, như: http, smtp, telnet, ftp... Và các ứng dụng này có sử dụng giao thức
TCP, đây là một giao thức truyền tin tin cậy.
1.5.2 Broadcast
Broadcast là khái niệm chỉ chế độ trao đổi thông tin trong đó thơng tin được gửi
từ một điểm này tới tất cả các điểm khác, có nghĩa là từ một nguồn tới tất cả các đích
có kết nối trực tiếp với nó.
Broadcast cũng được dùng trong mạng LAN, nó được dùng khi muốn gửi cùng
một bản tin tới tất cả các máy tính khác trong mạng LAN (Ví dụ trong thuật toán ARP
: Address Resolution Protocol ). Các giao thức lớp mạng (Lớp 3 trong mơ hình OSI)
cũng có sử dụng một dạng của Broadcast để truyền cùng một bản tin tới tất cả các máy
Bộ giao thức TCP/IP
Page 16
tính trong một mạng logic.
Ví dụ đối với giao thức lớp 3 là IP: 192.168.10.255/24 là một địa chỉ Broadcast
tới mạng 192.168.10.0/24.
1.5.3 Multicast
Còn Multicast lại dùng để chỉ chế độ trao đổi thơng tin trong đó thơng tin được
gửi từ một điểm tới một tập các điểm khác còn lại, tức là một nguồn và nhiều đích
(Nhiều khơng có nghĩa là tất cả ). Một số giao thức lớp 3, ví dụ như giao thức OSPF
cũng dùng Multicast ( với địa chỉ 224.0.0.5 )để truyền đi thông tin cập nhật định tuyến
đến DR và BDR.
Bộ giao thức TCP/IP
Page 17
Chương 2: Các giao thức tầng giao vận
2.1 Transport Control Protocol (TCP)
2.1.1 Định nghĩa
Transmission Control Protocol là một trong những giao thức được sử dụng nhất
trong truyền thông mạng kỹ thuật số và là một phần của bộ ứng dụng giao thức
Internet, thường được gọi là bộ giao thức TCP / IP. Chủ yếu, TCP đảm bảo end-to-end
cung cấp các dữ liệu giữa các nút riêng biệt. TCP làm việc phối hợp với các giao thức
Internet, trong đó xác định vị trí logic của nút từ xa, trong khi vận chuyển TCP và đảm
bảo rằng các dữ liệu được gửi đến đích chính xác.
2.1.2 Cổng của các dịch vụ
Cổng
Ứng dụng
Chức năng
9
Discard
Loại bỏ tất cả cổng dữ liệu đến
19
Chargen
Trao đổi luồng của cổng dữ liệu
20
FTP-Data
Cổng dữ liệu truyền tệp
21
FTP-CMD
Cổng lệnh chuyển tệp
23
Telnet
Cổng đăng nhập từ xa Telnet
25
SMTP
Cổng giao thức chuyển thư đơn giản
53
DOMAIN
Dịch vụ tên miền
79
Finger
Lấy thông tin về người dùng đang hoạt động
80
HTTP
Cổng giao thức truyền siêu văn bản
88
Kerberos
Giao thức xác thực
110
POP3
Cổng dịch vụ truy xuất thư trên PC
161
SMTP
Quản lý mạng
179
BGP
Giao thức cổng biên giới
513
Rlogin
Cổng đăng nhập từ xa
Bộ giao thức TCP/IP
Page 18
2.1.3 Cấu trúc TCP Segment
Định dạng của một đoạn được thể hiện trong hình 2.1
Hình 2.1 TCP Segment
• Địa chỉ cổng nguồn
Đây là trường 16 bit xác định số cổng của chương trình ứng dụng trong máy chủ
đang gửi phân đoạn.
• Địa chỉ cổng đích
Đây là trường 16 bit xác định số cổng của chương trình ứng dụng trong máy chủ
đang nhận phân đoạn.
• Số thứ tự
Trường 32-bit này xác định số được gán cho byte dữ liệu đầu tiên có trong phân
đoạn này. TCP là một giao thức truyền tải dòng. Để đảm bảo kết nối, mỗi byte được
truyền đi đều được đánh số. Số thứ tự cho đích biết byte nào trong chuỗi này bao gồm
byte đầu tiên trong phân đoạn.
Trong quá trình thiết lập kết nối, mỗi bên sử dụng bộ tạo số ngẫu nhiên để tạo số
thứ tự ban đầu (ISN), số này thường khác nhau theo từng hướng.
• Số xác nhận
Bộ giao thức TCP/IP
Page 19
Trường 32-bit này xác định số byte mà người nhận của phân đoạn đang mong
đợi nhận được từ bên kia. Nếu người nhận của phân đoạn đã nhận thành công số byte x
từ bên kia, nó xác định x + 1 là số báo nhận. Xác nhận và dữ liệu có thể được liên kết
với nhau.
• Độ dài tiêu đề
Trường 4 bit này cho biết số lượng từ 4 byte trong tiêu đề TCP. Độ dài của tiêu
đề có thể từ 20 đến 60 byte. Do đó, giá trị của trường này có thể nằm trong khoảng từ
5 (5 x 4 = 20) đến 15 (15 x 4 = 60).
Dành riêng: Đây là trường 6 bit được dành riêng để sử dụng trong tương lai.
• Điều khiển
Trường này xác định 6 bit hoặc cờ điều khiển khác nhau như trong hình sau và
một hoặc nhiều bit này có thể được thiết lập tại một thời điểm. Các bit này cho phép
điều khiển luồng, thiết lập và kết thúc kết nối, hủy kết nối và phương thức truyền dữ
liệu trong TCP. Mô tả ngắn gọn về từng bit như sau:
-
URG - Giá trị của trường con trỏ khẩn cấp là hợp lệ.
- ACK - Giá trị của trường xác nhận là hợp lệ.
- PSH - Đẩy dữ liệu.
- RST - Đặt lại kết nối.
- SYN - Đồng bộ số thứ tự trong q trình kết nối.
- FIN - Ngắt kết nối.
• Kích thước cửa sổ
Trường này xác định kích thước của cửa sổ, tính bằng byte, mà bên kia phải duy
trì. Độ dài của trường này là 16 bit, có nghĩa là kích thước tối đa của cửa sổ là 65,535
byte. Giá trị này thường được gọi là cửa sổ nhận (rwnd) và được xác định bởi người
nhận. Người gửi phải tuân theo lệnh của người nhận trong trường hợp này.
• Con trỏ khẩn cấp
Trường l6-bit này, chỉ hợp lệ nếu cờ khẩn cấp được đặt, được sử dụng khi phân
đoạn chứa dữ liệu khẩn cấp. Nó xác định số phải được thêm vào số thứ tự để có được
số byte khẩn cấp cuối cùng trong phần dữ liệu của phân đoạn.
2.1.4 Quy tình bắt tay 3 bước
Bước 1:
SYN: Các chương trình máy con ( như web browser, ftp, ...) bắt đầu connection
với máy chủ bằng cách gửi 1 packet với cờ "SYN" đến máy chủ : SYN packet này
Bộ giao thức TCP/IP
Page 20
thường được gửi từ các cổng cao ( 1024 -65535 ) của máy con đến những cổng trong
vùng thấp ( 1 -1023 ) của máy chủ . Chương trình trên máy con sẽ hỏi hệ điều hành
cho 1 cổng để mở connection với máy chủ . Những cổng trong vùng này được gọi là
"cổng máy con" ( client port range). Tương tự như vậy, máy chủ sẽ hỏi HĐH để nhận
được quyền chờ tín hiệu trong máy chủ , vùng cổng 1 - 1023 . Vùng cổng này được
gọi là "vùng cổng dịch vụ" ( service port ) . Ví dụ Web Server sẽ ln chờ tín hiệu ở
cổng 80 và IE sẽ connect vào cổng 80 của máy chủ . Ngồi ra trong gói dữ liệu cịn có
thêm địa chỉ IP của máy con và máy chủ ( cả 2 ).
Bước 2:
SYN/ACK : khi yêu cầu mở connection được máy chủ nhận được tại cổng đang
mở , server sẽ gửi lại packet chấp nhận với 2 bit SYN và ACK : SYN/ACK packet
được gửi ngược lại bằng cách đổi 2 IP của server và client, client IP sẽ thành IP đích
và server IP sẽ thành IP bắt đầu . Tương tự như vậy, cổng cũng sẽ thay đổi , server
nhận được packet ở cổng nào thì cũng sẽ dùng cổng đó để gủi lại packet vào cổng mà
client đã gửi . Server gửi lại packet này để thông báo là server đã nhận được tín hiệu
và chấp nhận connection, trong trường hợp server khơng chấp nhận connection, thay vì
SYN/ACK bits được bật, server sẽ bật bit RST/ACK ( Reset Acknowledgement ) và
gởi ngược lại RST/ACK packet . Hoặc ICMP cổng khƠng chấp nhận để thơng báo cho
client rằng u cầu đã bị từ chối . Server bắt buộc phải gửi thơng báo lại bởi vì TCP là
chuẩn tin cậy nên nếu client khơng nhận được thơng báo thì sẽ nghĩ rằng packet đã bị
lạc và gửi lại thÔng báo mới .
Bước 3:
ACK Khi client nhận được SYN/ACK packet thì sẽ trả lời bằng ACK packet :
packet này được gởi với mục đích duy nhất báo cho máy chủ biết rằng client đã nhận
được SYN/ACK packet và lúc này connection đã được thiết lập và dữ liệu sẽ bắt đầu
lưu thơng tự do giữa connection.
Hình 2.2 Q trình bắt tay 3 bước
Bộ giao thức TCP/IP
Page 21
2.2 User Datagram Protocol (UDP)
2.2.1 Định nghĩa.
UDP (User Datagram Protocol) là một trong những giao thức cốt lõi của giao
thức TCP/IP. Dùng UDP, chương trình trên mạng máy tính có thể gửi những dữ liệu
ngắn được gọi là datagram tới máy khác. UDP không cung cấp sự tin cậy và thứ tự
truyền nhận mà TCP làm; các gói dữ liệu có thể đến khơng đúng thứ tự hoặc bị mất mà
khơng có thơng báo. Tuy nhiên UDP nhanh và hiệu quả hơn đối với các mục tiêu như
kích thước nhỏ và yêu cầu khắt khe về thời gian. Do bản chất khơng trạng thái của nó
nên nó hữu dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người yêu cầu.
Cũng như TCP, UDP cũng chuyển phát dữ liệu giữa các ứng dụng. UDP là giao
thức phi kết nối (connectionless), nó khơng kiểm tra dữ liệu như TCP. UDP cung cấp
dịch vụ chuyển phát các datagram với phụ phí thấp vì nó khơng chứa các thơng tin
điều khiển trong phần đầu UDP.
Các ứng dụng cần lựa chọn UDP hoặc TCP khi cần dịch vụ chuyển phát dữ liệu.
Mặc dù UDP cung cấp dịch vụ ít tin cậy hơn (khơng đảm bảo sắp xếp thứ tự gói, kiểm
sốt lỗi hoặc luồng dữ liệu) nhưng tính đơn giản của nó cho phép các ứng dụng tương
tác trực tiếp với giao thức IP.
2.2.2 Định dạng gói tin UDP.
Hình 2.3 Gói tin UDP
Như có thể thấy trên hình 5.3, phần đầu UDP không chứa bất kỳ thông tin điều
khiển nào cả với kích thước chỉ vẻn vẹn 8 byte. Bởi vì khơng chứa thơng tin điều
khiển, UDP kém tin cậy hơn TCP. Các ứng dụng được viết để sử dụng UDP làm giao
thức giao vận phải tự thực hiện một số thủ tục kiểm tra việc chuyển phát dữ liệu. Tuy
nhiên, một số ứng dụng sử dụng UDP khác lại có thể khơng cần thực hiện bất cứ việc
kiểm tra nào. Ví dụ, phần lớn ứng dụng thư điện tử sử dụng giao thức UDP. Chúng chỉ
việc gửi dữ liệu mà không thực hiện kiểm tra để đảm bảo rằng thơng điệp đã tới một
cách ngun vẹn ở máy tính đích.
2.2.3 Các cổng của UDP.
Bộ giao thức TCP/IP
Page 22
2.2.4 Những ứng dụng UDP.
Mặc dù UDP không cung cấp dịch vụ chuyển phát tin cậy, vẫn có nhiều loại ứng
dụng thích hợp với việc sử dụng nó làm giao thức giao vận. Trong bất cứ trường hợp
nào mà TCP trở nên quá phức tạp, quá chậm hoặc đơn giản là không cần thiết, các nhà
phát triển ứng dụng đều có thể sử dụng UDP làm giải pháp thay thế. Các ứng dụng sử
dụng UDP có thể là những ứng dụng mà bản thân nó đã có phương pháp kiểm tra việc
chuyển phát dữ liệu hay những ứng dụng phù hợp với mơ hình truy vấn/trả lời
(query/response).
2.2.5 Các điểm yếu, điểm mạnh của UDP.
So với giao thức TCP, UDP có những nhược điểm sau:
• Thiếu các tín hiệu bắt tay: Trước khi gửi một đoạn, UDP khơng gửi các
tín hiệu bắt tay giữa bên gửi và bên nhận. Vì thế phía gửi khơng có cách
nào để biết datagram đã đến đích hay chưa. Do vậy, UDP khơng chắc
rằng việc thơng số đã đến đích hay chưa.
• Dùng các phiên: Để TCP là hướng mối liên quan, các phiên được duy trì
giữa các host.
• TCP tận dụng các chỉ số phiên (session ID) để duy trì các kết nối giữa
hai host: UDP không hỗ trợ bất kỳ phiên nào do bản chất phi kết nối của
nó.
• Độ tin tưởng: UDP khơng chắc rằng rằng chỉ có một bản sao số liệu tới
đích. Để gửi thơng số tới các hệ thống cuối, UDP phân chia thông số
thành các đoạn nhỏ. UDP không chắc rằng rằng các đoạn này sẽ đến đích
đúng thứ tự như chúng đã được tạo ra ở nguồn. Ngược lại, TCP tận dụng
các số thứ tự cùng với số hiệu cổng và các gói tin xác thực liên tục, điều
này chắc chắn rằng các gói tin đến đích đúng thứ tự mà nó đã được tạo
ra.
Bộ giao thức TCP/IP
Page 23
• Bảo mật: TCP có tính bảo mật cao hơn UDP. Trong nhiều tổ chức,
firewall và router cấm các gói tin UDP, điều này là vì các hacker thường
dùng các cổng UDP.
• Kiểm sốt luồng: UDP khơng có kiểm sốt luồng; kết quả là, một phần
mềm UDP có thiết kế tồi hồn tồn có thể làm giảm băng thơng của
mạng.
Về điểm mạnh:
• Khơng cần cài đặt mối liên quan. UDP là giao thức phi liên kết, vì thế khơng cần
phải thiết đặt quan hệ. Vì UDP khơng cần tận dụng các tín hiệu handshaking, nên hồn
tồn có thể được thời gian trễ. Đó chính là lý do tại sao DNS thường sử dụng giao thức
UDP hơn là TCP-DNS sẽ chậm hơn rất nhiều khi tận sử dụng TCP.
• Về tốc độ thì UDP nhanh chóng so với TCP. Bởi vì điều này nhiều ứng dụng
thường được cài đặt trên giao thức UDP so với TCP.
• Hỗ trợ tình trạng (topology). UDP hỗ trợ các mỗi liên quan 1-1, 1-n, ngược lại TCP
chỉ hỗ trợ quan hệ 1-1.
• Về kích thước header thì UDP chỉ có 8 byte header cho mỗi đoạn, ngược lại TCP
cần các header 20 byte, vì thế UDP dùng băng thơng ít hơn.
Bộ giao thức TCP/IP
Page 24
Chương 3: Các công nghệ tầng liên kết
3.1. Ethernet
3.1.1. Tổng quan
Khởi thủy, một phân đoạn mạng của Ethernet (Ethernet segment) được cài đặt
trên một sợi cable đồng trục dài tối đa 500 m. Các trạm nối vào Ethernet segment bằng
cách “mắc dây” (tab) nối vào nó. Các điểm đấu nối phải cách nhau ít nhất 2,5 m.
Transceiver, một thiết bị nhỏ được gắn trực tiếp vào điểm đấu nối, làm nhiệm vụ nghe
ngóng khi đường truyền rỗi để đưa tín hiệu ra đó khi trạm phát tín hiệu. Transceiver
cũng làm nhiệm vụ nhận tín hiệu đến. Đến lượt transceiver lại được nối đến card mạng
Ethernet, được gắn trong máy trạm. Tất cả những chi tiết luận lý làm nên giao thức
Ethernet được cài đặt trong card mạng này.
Các segment có thể được nối với nhau bởi các repeater. Một repeater là một thiết
bị dùng để chuyển tiếp tín hiệu số. Tuy nhiên, khơng được có hơn 4 repeater được đặt
giữa hai trạm, có nghĩa là một mạng Ethernet nguyên thủy chỉ kéo dài tối đa là 2500
m.
Bất kỳ tín hiệu nào được phát ra Ethernet sẽ được truyền quảng bá ra tồn mạng,
repeater có nhiệm vụ chuyển tín hiệu từ trong segment ra ngồi, và nhận tín hiệu từ
ngồi phát quảng bá vào trong segment.
3.1.2. Khuôn dạng khung thông tin của Ethernet
Bên gửi sẽ bao gói gói tin IP thành khung Ethernet như
sau:
Hình 3.1. Cấu trúc gói tin IP
• Preamble: dài 7 bytes với mẫu 10101010 theo sau bởi 1 byte với mẫu
10101011, được sử dụng để đồng bộ hóa tốc độ đồng hồ giữa bên gởi và bên
nhận.
• Source and dest addresses: Địa chỉ nguồn và đích, gồm 6 bytes. Khung được
nhận bởi tất cả các trạm trong LAN. Khung bị xóa nếu dest. address khơng
trùng với địa chỉ MAC của bất kỳ trạm nào hoặc không phải thuộc dạng
multicast.
• Type: chỉ ra giao thức được sử dụng ở tầng cao hơn, thường là IP, nhưng các
giao thức khác vẫn được hỗ trợ - ví dụ: Novell IPX và AppleTalk.
Bộ giao thức TCP/IP
Page 25