Mô hình truyền thông từ PC đến PC Khi truyền dữ liệu máy gửi cần thông báo cho mạng biết địa chỉ của máy nhận để các thông tin được mạng đưa tới đích.. + Giao thức có liên kết :Trước kh
Trang 2™™™™&˜˜˜˜
PHIẾU ĐĂNG KÍ ĐỀ TÀI TỐT NGHIỆP
Niên Khóa 2006 – 2009
GIÁO VIÊN HƯỚNG DẪN : TH.S NGUYỄN VĂN DŨNG
LỚP : Cao Đẳng Điện Tử Viễn Thông
HỌC SINH THỰC HIỆN : 1 VÕ THÚY HẰNG
2 LƯƠNG DUY KHÁNH
TÊN ĐỀ TÀI
MẠNG CỤC BỘ LAN (LOCAL AREA NETWORK)
NỘI DUNG YÊU CẦU CỦA ĐỀ TÀI :
Tổng quan mạng LAN Các thiết bị mạng và giao thức mạng LAN, Cách thức đấu nối các thiết bị mạng, địa chỉ IP Cơ chế NAT, PAT Cấu hình một mạng LAN thực
tế dùng chương trình mô phỏng Packet Tracer 5.0 của hãng Cisco
Thời gian thực hiện từ ngày : 15.6.2009
Thời gian nộp đề tài ngày: 17.7.2009
Ý kiến của giáo viên hướng dẫn :
Đồng ý với nội dung trên
Giám Hiệu Khoa Điện Tử - Tin Học GV Hướng Dẫn
Trang 3Nội dung đồ án đáp ứng được các yêu cầu đặt ra của đề tài Qua nội dung, tác giả đã giúp cho người đọc nắm bắt được các vấn đề cơ bản của mạng Lan, hiểu được việc vận chuyển các gói dữ liệu giữa các lớp mạng và giữa các thiết bị mạng Tác giả cũng giúp cho người đọc hiểu được các thiết bị mạng và cách kết nối giữa chúng, cung cấp cho người đọc biết được cách thức triển khai
để cấu hình cho một mạng Lan hoạt động Do hạn hẹp về kinh phí nên tác giả đã phải sử dụng phần mềm mô phỏng của CISCO để cấu hình cho mạng Lan và kết quả mô phỏng đã đáp ứng được yêu cầu đặt ra cho doanh nghiệp
Về hình thức: Đồ án trình bày theo đúng quy định của một ĐATN, bố cục đồ án cũng như việc phân trang, phân dòng tương đối hợp lý giúp cho người đọc cảm thấy dễ chịu Tuy nhiên đồ án còn sót các lỗi chính tả; câu cú một số đoạn còn lủng củng làm người đọc khó hiểu; một số hình
vẽ còn hơi mờ
Trong quá trình làm đề tài hai em Khánh và Hằng khá tích cực trong việc thu thập tài liệu và triển khai phương án thực hiện Thường xuyên liên hệ với giáo viên hướng dẫn để được trợ giúp Tuy nhiên khi gặp một số khó khăn còn lúng túng và giải quyết hơi thụ động
Điểm đề nghị của giáo viên hướng dẫn với Hội đồng giám khảo:
1 Lương Duy Khánh …… Điểm
2 Võ Thúy Hằng …… Điểm
Tp Hồ Chí Minh, ngày10 tháng 07 năm 2009
Giáo viên hướng dẫn
NGUYỄN VĂN DŨNG
Trang 4Tên Đề Tài:
THIẾT KẾ MẠNG LAN Nhận xét của giáo viên phản biện:
Tp Hồ Chí Minh, ngày… tháng … năm 2009
Giáo viên phản biện
Trang 5
Tp Hồ Chí Minh, ngày… tháng … năm 2009
Hội đồng giám khảo
Trang 6Hình 1: Một mô hình liên kết các máy tính trong mạng 1
Hình 2: Mô hình 7 tầng OSI 4
Hình 3: Kiến trúc TCP/IP 5
Hình 4: Quá trình đóng/mở gói dữ liệu trong TCP/IP 6
Hình 5: Cấu trúc dữ liệu trong TCP/IP 7
Hình 6: Khuôn dạng dữ liệu trong IP 7
Hình 7: Dạng thức của gói tin UDP 9
Hình 8: Cổng truy nhập dịch vụ TCP 10
Hình 9: Dạng thức của segment TCP 12
Hình 10: Mô hình quan hệ họ giao thức TCP/IP 14
Hình 11A : Bảng các lớp địa chỉ Internet 17
Hình 11 B : dãy địa chỉ riêng 17
Hình 11 C : dãy địa chỉ công cộng 18
Hình 12 A :ARP .19
Hình12 X: ARP 30
Hình 13 A : phân phối Packet 30
Hình 13 O : phân phối Packet 35
Hình 14: Mạng phẳng 36
Hình 15: SubNetworks 37
Hình 16 : Chức năng của Subnet Mask 37
Hình 17 : Số lượng Subnet lớp c 39
Hình 18 : Số lượng Subnet lớp B 40
Hình 19 : Số lượng Subnet lớp A 41
Hình 20 : Subnet Mask của thiết bị đầu cuối 42
Hình 21 : Router sử dụng Subnet Mask 43
Hình 22 : Áp dụng Subnet Mask 44
Hình 23 : Các giá trị của Subnet Mask 45
Trang 7Hình 31 : Cấu trúc khung Ethernet .65
Hình 32: khung unicast 66
Hình 33 :hai trạm phía xa nhất trong mạng Ethernet 10Mb/s 69
Hình 34 : Tính năng kỹ thuật của một số loại cáp mạng 73
Hình 35 : cách bấm cáp mạng 75
Hình 36 : chi tiết nối dây 2 chuẩn T568A, T568B 75
Hình 37 : Mô hình liên kết mạng của Repeater .78
Hình 38 : Repeater 78
Hình 39 : Hub 79
Hình 40 : đấu nối mạng qua Hub 79
Hình 41 : bridge 80
Hình 42 : Hoạt động của Bridge 80
Hình 43 : Liên kết mạng với 2 Bridge 81
Hình 44 : switch 82
Hình 45 : Router 83
Hình 46 : Bảng chỉ đường (Routing table) của Router .85
Hình 47 : mô hình subnet của công ty 90
Hình 48 : mô hình mạng của công ty 91
Hình 49 : giao diện của packet tracer 5.0 93
Trang 8ACK (Acknowlegement) : báo nhận
APNIC (Asia Pacific Network Information Center) : tổ chức cung cấp địa chỉ IP
CSMA/CD (Carrier Sense Multiple Access with Collision Detection) : đa truy nhập
đường truyền phát hiện xung đột
F
FCS (Frame Check Sequence) : chuỗi kiểm tra khung
FDDI (Fibre Distributed Data Interface) : giao diện số liệu phân bố theo cáp
quang
FTP (File Transfer Protocol) : giao thức chuyển đổi dữ liệu
I
IEEE (Institute of Electrical Engineers ) : học viện kỹ sư điện
IFG (Incoming Fax Gateway):
IGMP ( Internet Group Multicast Protocol )
IHL ( IP Header Lenght) : độ dài Header của IP
ISO (International Standart Organisation) : tổ chức tiêu chuẩn quốc tế
NOS (Network Operating System) : hệ điều hành mạng
O
Trang 9T
TCP/IP (Transmission Control Protocol/ Internet Protocol) : giao thức điều khiển
truyền dẫn / giao thức Internet
TIA/EIA (Telecommunications Industry Association /Electronics Industry Association)
: hiệp hội công nghiệp viễn thông /hiệp hội công nghiệp điện tử
TTL (Time to Live) : Thời gian duy trì (Internet)
U
UTP (Unshiled Twisted Pair) : cáp xoắn không bọc kim loại
Trang 10Chương I TỔNG QUAN MẠNG MÁY TÍNH
I Kiến thức cơ bản 1
1 Khái niệm và chức năng cơ bản về mạng máy tính 1
1.1 Khái niệm cơ bản 1
1.2 Chức năng cơ bản 2
2 Mô hình truyền thông từ PC đến PC 2
3 Mô hình OSI và Các chức năng chủ yếu của các tầng trong OSI 2
II Bộ giao thức TCP/IP 4
1 Tổng quan về bộ giao thức TCP/IP 4
2 Quá trình đóng gói dữ liệu 6
3 Một số giao thức cơ bản trong bộ giao thức TCP/IP 7
3.1 Giao thức liên mạng IP (Internet Protocol) 7
3.2 Giao thức UDP (User Datagram Protocol ) 9
3.3 Giao thức TCP (Transmission Control Protocol) 10
3.3.1 Các bước thực hiện để thiết lập một liên kết TCP/IP 10
3.3.2 Các bước thực hiện khi đóng một liên kết 12
3.3.3 Một số hàm khác của TCP 12
III Địa chỉ IP 14
1 Định nghĩa 14
2 Một số khái niệm và thuật ngữ liên quan 14
3 Các lớp địa chỉ mạng 16
4 Địa chỉ riêng, địa chỉ công cộng 17
4.1 Địa chỉ riêng 17
4.2 Địa chỉ công cộng 18
5 ARP và quá trình phân phối gói tin từ máy đến máy 19
6 Khảo sát tiến trình phân phối Packet 30
7 Subnet mask và cách chia Subnet mask 36
7.1 Những bất lợi của một mạng phẳng 36
7.2 Những ưu điểm của việc subnet hệ thống mạng 37
7.3 Địa chỉ 2 cấp và 3 cấp 38
7.4 Quá trình tạo subnet 38
7.5 Tính số lượng các host 39
7.5.1 Tính số lượng host cho lớp C 39
7.5.2 Tính tổng số lượng host cho địa chỉ lớp B 40
7.5.3 Tính số lượng host cho địa chỉ lớp A 40
7.6 Cách sử dụng subnet mask của router 42
7.7 Cơ chế vận hành của Subnet mask 44
7.8 Giá trị octet của Subnet mask 45
Trang 113 Mạng hình vòng 59
4 Mạng dạng hỗn hợp 62
II Các phương thức truy nhập đường truyền 62
1 Giao thức CSMA/CD 62
2 Giao thức truyền thẻ bài Tocken bus/Tocken ring 63
2.1 Giao thức truyền thẻ bài Tocken bus 63
2.2 Giao thức truyền thẻ bài Tocken ring 63
III Công nghệ Ethernet 64
1 Giới thiệu chung về Ethernet 64
2 Các đặc tính chung của Ethernet 64
2.1 Cấu trúc khung tin Ethernet 64
2.2 Cấu trúc địa chỉ Ethernet 65
2.3 Các loại khung Ethernet 66
2.4 Hoạt động của Ethernet 67
2.5 Một số khái niệm hoạt động liên quan đến việc truyền khung Ethernet 68
3 Các loại mạng Ethernet 70
3.1 Các hệ thống Ethernet 10 Mb/s 71
3.2 Các hệ thống Ethernet 100 Mb/s 71
3.3 Các hệ thống Gigabit Ethernet 71
4 Các loại cáp dùng cho mạng LAN 72
4.1 Cáp đồng trục 72
4.2 Cáp xoắn 73
4.3 Cáp sợi quang 74
4.4 Cách đấu cáp cho thiết bị mạng theo chuẩn TIA/EIA T568A và T568B 75
4.5 Yêu cầu cho một hệ thống cáp hiện nay 76
Trang 122 Bộ tập trung (Hub) 79
3 Cầu (Bridge) 80
4 Bộ chuyển mạch (Switch) 82
5 Bộ định tuyến (Router) 83
6 Bộ chuyển mạch có định tuyến (Layer 3 Switch) 85
7 Các hệ điều hành mạng 86
7.1 Hệ điều hành mạng UNIX 86
7.2 Hệ điều hành mạng Windows NT 86
7.3 Hệ điều hành mạng Netware của Novell 86
7.4 Hệ điều hành mạng Linux 86
Chương IV THIẾT KẾ MẠNG LAN CHO MỘT CÔNG TY I Yêu cầu đặt ra 89
II Phân tích yêu cầu của công ty 89
III Mô phỏng thiết mạng LAN dùng phần mềm packet tracer 5.0 91
1 Phần mềm Packet Tracer 5.0 91
2 Tìm hiểu khái quát về phần mềm packet tracer 5.0 91
2.1 phần mềm Packet Tracer 5.0 91
2.2 Tìm hiểu Packet Tracer5.0 thông qua một số bài lab 94
IV Thiết kế mạng mạng LAN cho công ty dùng phần mềm Packet Tracer 5.0 91
1 Cấu hình cho mạng nội bộ 105
2 Cấu hình cho Router của nhà cung cấp dịch vụ internet 111
3 cấu hình cho Router của PC American 112
4 Báo cáo kết quả sau khi cấu hình 112
Trang 131.1 Khái niệm cơ bản
Mạng máy tính là một tập hợp các máy tính được nối với nhau bởi đường truyền theo một cấu trúc nào đó và thông qua đó các máy tính trao đổi thông tin qua lại cho nhau
Đường truyền là hệ thống các thiết bị truyền dẫn có dây hoặc không dây dùng để chuyển các tín hiệu điện tử từ máy tính này đến máy tính khác Các tín hiệu điện tử đó biểu thị các giá trị dữ liệu dưới dạng các xung nhị phân (on - off) Tất cả các tín hiệu được truyền giữa các máy tính đều thuộc một dạng sóng điện từ Tùy theo tần số của sóng điện từ có thể dùng các đường truyền vật lý khác nhau để truyền các tín hiệu Ở đây đường truyền được kết nối có thể là dây cáp đồng trục, cáp xoắn, cáp quang, dây điện thoại, sóng vô tuyến v v Các đường truyền dữ liệu tạo nên cấu trúc của mạng 2 khái niệm đường truyền và cấu trúc là những đặc trưng cơ bản của mạng máy tính
Hình 1: Một mô hình liên kết các máy tính trong mạng
Trang 141.2 Lợi ích cơ bản
Các máy tính được kết nối thành mạng cho phép các khả năng :
+ Sử dụng chung các công cụ tiện ích
+ Chia sẽ kho dữ liệu dùng chung
+ Tăng độ tin cậy của hệ thống
+ Trao đổi thông điệp, hình ảnh
+ Dùng chung các thiết bị ngoại vi (máy in, máy fax, modem, …)
+ Giảm thiểu chi phí và thời gian đi lại
2 Mô hình truyền thông từ PC đến PC
Khi truyền dữ liệu máy gửi cần thông báo cho mạng biết địa chỉ của máy nhận
để các thông tin được mạng đưa tới đích Để một mạng máy tính trở thành một môi trường truyền dữ liệu thì nó cần phải có những yếu tố sau:
+ Mỗi máy tính cần phải có một địa chỉ phân biệt trên mạng
+ Việc chuyển dữ liệu từ máy tính này đến máy tính khác do mạng thực hiện thông qua những quy định thống nhất gọi là giao thức của mạng
+ Khi các máy tính trao đổi dữ liệu với nhau thì một quá trình chuyển giao dữ liệu đã được thực hiện hoàn chỉnh Ví dụ như để thực hiện việc truyền một file giữa một máy tính với một máy tính khác cùng được gắn trên một mạng các công việc sau đây phải được thực hiện :
-Máy tính cần truyền cần biết địa chỉ của máy nhận
- Máy tính cần truyền phải xác định được máy tính nhận đã sẵn sàng nhận thông tin
- Chương trình gửi file trên máy truyền cần xác định được rằng chương trình nhận file trên máy nhận đã sẵn sàng tiếp nhận file
- Nếu cấu trúc file trên 2 máy không giống nhau thì một máy phải làm nhiệm vụ chuyển đổi file từ dạng này sang dạng kia
3.Mô hình OSI và Các chức năng chủ yếu của các tầng trong OSI
Mô hình OSI là một cơ sở dành cho việc chuẩn hoá các hệ thống truyền thông,
nó được nghiên cứu và xây dựng bởi ISO Việc nghiên cứu về mô hình OSI được bắt đầu tại ISO vào năm 1971 với mục tiêu nhắm tới việc nối kết các sản phẩm của các
Trang 15+ Giao thức có liên kết :Trước khi truyền dữ liệu 2 tầng đồng mức cần thiết 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ó
+ Nhiệm vụ của các tầng trong mô hình OSI :
sử dụng và môi trường OSI, nó cung cấp các phương tiện cho người sử dụng truy cập và sử dụng các dịch vụ của mô hình OSI
- Tầng trình bày (Presentation layer) : Tầng trình bày chuyển đổi các thông tin từ cú
pháp người sử dụng sang cú pháp để truyền dữ liệu, ngoài ra nó có thể nén dữ liệu truyền và mã hóa chúng trước khi truyền để bảo mật
- Tầng giao dịch (Session layer) : Tầng giao dịch quy định một giao diện ứng dụng
cho tầng vận chuyển sử dụng Nó xác lập ánh xa giữa các tên đặt địa chỉ, tạo ra các tiếp xúc ban đầu giữa các máy tính khác nhau trên cơ sở các giao dịch truyền thông
Nó đặt tên nhất quán cho mọi thành phần muốn đối thoại riêng với nhau
cách thức chuyển giao gói tin trên cơ sở trực tiếp giữa 2 đầu mút (end-to-end) Để bảo đảm được việc truyền ổn định trên mạng tầng vận chuyển thường đánh số các gói tin và đảm bảo chúng chuyển theo thứ tự
Trang 16Hình 2: Mô hình 7 tầng OSI
vạch đường các gói tin trong mạng, các gói tin này có thể phải đi qua nhiều chặng
trước khi đến được đích cuối cùng
- Tầng liên kết dữ liệu (Data link layer): Tầng liên kết dữ liệu có nhiệm vụ xác định
cơ chế truy nhập thông tin trên mạng, các dạng thức chung trong gói tin, đóng gói
tin
- Tầng vật lý (Phisical layer): Tầng vật lý cung cấp phương thức truy cập vào đường
truyền vật lý để truyền các dòng Bit không cấu trúc, ngoài ra nó cung cấp các chuẩn
về điện, dây cáp, đầu nối, kỹ thuật nối mạch điện, điện áp, tốc độ cáp truyền dẫn, giao diện nối kết và các mức nối kết …
II BỘ GIAO THỨC TCP/IP
1 Tổng quan về bộ giao thức TCP/IP
TCP/IP là bộ giao thức cho phép kết nối các hệ thống mạng không đồng nhất với nhau Ngày nay, TCP/IP được sử dụng rộng rãi trong các mạng cục bộ cũng như trên mạng Internet toàn cầu
TCP/IP được xem là giản lược của mô hình tham chiếu OSI với 4 tầng như sau:
- Tầng liên kết mạng (Network Access Layer) tương đương với lớp 1,2 trong OSI
Trang 17Hình 3: Kiến trúc TCP/IP + Tầng liên kết : Tầng liên kết (còn được gọi là tầng liên kết dữ liệu hay là tầng giao
tiếp mạng) là tầng thấp nhất trong mô hình TCP/IP, bao gồm các thiết bị giao tiếp mạng và chương trình cung cấp các thông tin cần thiết để có thể hoạt động, truy nhập đường truyền vật lý qua thiết bị giao tiếp mạng đó
+ Tầng Internet : Tầng Internet (còn gọi là tầng mạng) xử lý qua trình truyền gói tin
trên mạng Các giao thức của tầng này bao gồm: IP (Internet Protocol), ICMP
(Internet Control Message Protocol), IGMP (Internet Group Messages Protocol)
+ Tầng giao vận : Tầng giao vận phụ trách luồng dữ liệu giữa 2 trạm thực hiện các
ứng dụng của tầng trên Tầng này có 2 giao thức chính : TCP (Transmission Control Protocol) và UDP (User Datagram Protocol) TCP cung cấp một luồng dữ liệu tin cậy giữa 2 trạm, nó sử dụng các cơ chế như chia nhỏ các gói tin của tầng trên thành các gói tin có kích thước thích hợp cho tầng mạng bên dưới, báo nhận gói tin, đặt hạn chế thời gian time-out để đảm bảo bên nhận biết được các gói tin đã gửi đi Do tầng này đảm bảo tính tin cậy, tầng trên sẽ không cần quan tâm đến nữa UDP cung cấp một dịch vụ đơn giản hơn cho tầng ứng dụng Nó chỉ gửi các gói dữ liệu từ trạm này tới trạm kia mà không đảm bảo các gói tin đến được tới đích Các cơ chế đảm bảo độ tin
Trang 18nhiều ứng dụng được cung cấp trong tầng này, mà phổ biến là Telnet : sử dụng trong việc truy cập mạng từ xa, FTP (File Transfer Protocol) : dịch vụ truyền tệp, Email : dịch vụ thư tín điện tử, WWW (World Wide Web)
2 Quá trình đóng gói dữ liệu
Cũng tương tự như trong mô hình OSI, khi truyền dữ liệu, quá trình tiến hành từ tầng trên xuống tầng dưới, qua mỗi tầng dữ liệu được thêm vào một thông tin điều khiển được gọi là phần header Khi nhận dữ liệu thì quá trình xảy ra ngược lại, dữ liệu được truyền từ tầng dưới lên và qua mỗi tầng thì phần header tương ứng được lấy đi
và khi đến tầng trên cùng thì dữ liệu không còn phần header nữa
Hình 4: Quá trình đóng/mở gói dữ liệu trong TCP/IP
Hình 4 cho ta thấy lược đồ dữ liệu qua các tầng Trong hình 5 ta thấy tại các tầng khác nhau dữ liệu được mang những thuật ngữ khác nhau:
- Trong tầng ứng dụng dữ liệu là các luồng được gọi là stream
- Trong tầng giao vận, đơn vị dữ liệu mà TCP gửi xuống tầng dưới gọi là TCP segment
Trang 19Hình 5: Cấu trúc dữ liệu trong TCP/IP
3 Một số giao thức cơ bản trong bộ giao thức TCP/IP
3.1 Giao thức liên mạng IP (Internet Protocol) lớp 3
Trang 20Giao thức liên mạng IP là một trong những giao thức quan trọng nhất của bộ giao thức TCP/IP Mục đích của giao thức liên mạng 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 IP là giao thức cung cấp dịch vụ phân phát packet theo kiểu không liên kết và không tin cậy nghĩa 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, không đảm bảo rằng IP packet sẽ tới đích và không duy trì bất kỳ thông tin nào về những packet đã gửi đi Khuôn dạng đơn vị dữ liệu dùng trong IP được thể hiện trên hình 6
+ Version (4 Bit): Chỉ phiên bản (version) hiện hành của IP được cài đặt
+ IHL (IP header length 4 Bit): Chỉ độ dài phần header tính theo đơn vị từ (word – 32 Bit)
+ Type of Service (8 Bit): Đặc tả tham số về yêu cầu dịch vụ
+ Total length (16 Bit): Chỉ độ dài toàn bộ IP datagram tính theo byte Dựa vào trường này và trường header length ta tính được vị trí bắt đầu của dữ liệu trong IP datagram
+ Indentification (16 Bit): Là trường định danh, cùng các tham số khác như địa chỉ nguồn (Source address) và địa chỉ đích (Destination address) để định danh duy nhất cho mỗi datagram được gửi đi bởi 1 trạm Thông thường phần định danh (Indentification) được tăng thêm 1 khi 1 datagram được gửi đi thứ tự gói
+ Flags (3 Bit): Các cờ, sử dụng trong khi phân đoạn các datagram
Bit 0: Reseved (chưa sử dụng, có giá trị 0)
Bit 1: ( DF ) = 0 (May fragment) – có thể phân mảnh
= 1 (Don’t fragment) – không phân mảnh
Bit 2: ( MF) = 0 (Last fragment) – cuối phân mảnh
= 1 (More Fragment) – phân mảnh mới
+ Fragmentation Offset (13 Bit) : Chỉ vị trí của đoạn phân mảnh (Fragment) trong datagram tính theo đơn vị 64 Bit
+ TTL (8 Bit) : Thiết lập thời gian tồn tại của datagram để tránh tình trạng datagram
bị quẩn trên mạng TTL thường có giá trị 32 hoặc 64 được giảm đi 1 khi dữ liệu đi qua mỗi Router Khi trường này bằng 0 datagram sẽ bị hủy bỏ và sẽ không báo lại cho trạm gửi
Trang 21- Time stamp
- Xác định danh sách địa chỉ IP mà datagram phải qua nhưng datagram không bắt buộc phải truyền qua Router định trước
- Xác định tuyến trong đó các Router mà IP datagram phải được đi qua
+ Padding (độ dài thay đổi): Phần chèn thêm vào header để đảm bảo phần header luôn kết thúc ở một mốc 32 Bit Phần thêm này gồm toàn số 0
3.2 Giao thức UDP (User Datagram Protocol ) lớp 4
UDP (User Datagram Protocol) là giao thức theo phương thức không liên kết được sử dụng thay thế cho TCP ở trên IP theo yêu cầu của từng ứng dụng Khác với TCP, UDP không có các chức năng thiết lập và kết thúc liên kết Tương tự như IP, nó cũng không cung cấp cơ chế báo nhận (acknowledgment), không sắp xếp tuần tự các gói tin (datagram) đến và có thể dẫn đến tình trạng mất hoặc trùng dữ liệu mà không
có cơ chế thông báo lỗi cho người gửi Qua đó ta thấy UDP cung cấp các dịch vụ vận chuyển không tin cậy như trong TCP
Hình 7: Dạng thức của gói tin UDP
Khuôn dạng UDP datagram được mô tả với các vùng tham số đơn giản hơn nhiều
Trang 22phức tạp nên UDP thường có xu thế hoạt động nhanh hơn so với TCP Nó thường được dùng cho các ứng dụng không đòi hỏi độ tin cậy cao trong giao vận
3.3 Giao thức TCP (Transmission Control Protocol)
TCP là một giao thức "có liên kết" (connection - oriented), nghĩa là cần phải thiết lập liên kết giữa 2 thực thể TCP trước khi chúng trao đổi dữ liệu với nhau Một tiến trình ứng dụng trong một máy tính truy nhập vào các dịch vụ của giao thức TCP thông qua một cổng (Port) của TCP Số hiệu cổng TCP được thể hiện bởi 2 bytes Một cổng TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP (socket) duy nhất trong liên mạng Dịch vụ TCP được cung cấp nhờ một liên kết logic giữa một cặp đầu nối TCP/IP Một đầu nối TCP/IP có thể tham gia nhiều liên kết với các đầu nối TCP/IP ở xa khác nhau Trước khi truyền dữ liệu giữa 2 trạm cần phải thiết lập một liên kết TCP giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó
sẽ được giải phóng
Hình 8: Cổng truy nhập dịch vụ TCP
Các thực thể của tầng trên sử dụng giao thức TCP thông qua các hàm gọi (function calls) trong đó có các hàm yêu cầu để yêu cầu, để trả lời Trong mỗi hàm còn có các tham số dành cho việc trao đổi dữ liệu
3.3.1 Các bước thực hiện để thiết lập một liên kết TCP/IP
Thiết lập một liên kết mới có thể được mở theo một trong 2 phương thức : chủ động (active) hoặc bị động (passive)
Trang 23lời từ TCP Thông số Open ID được TCP trả lời ngay lập tức để gán cho một liên kết cục bộ (local connection name) cho liên kết được yêu cầu Thông số này về sau được dùng để tham chiếu tới liên kết đó (Trong trường hợp nếu TCP không thể thiết lập được liên kết yêu cầu thì nó phải gửi tham số Open Failure để thông báo)
Khi TCP thiết lập được liên kết yêu cầu nó gửi tham số Open Sucsess được dùng
để thông báo liên kết đã được thiết lập thành công Thông báo này được chuyển đến trong cả 2 trường hợp bị động và chủ động Sau khi một liên kết được mở, việc truyền
dữ liệu trên liên kết có thể được thực hiện
Các bước thực hiện khi truyền và nhận dữ liệu :
Sau khi xác lập được liên kết người sử dụng gửi và nhận dữ liệu Việc gửi và nhận dữ liệu thông qua các hàm Send và receive
+ Hàm Send: Dữ liệu được gửi xuống TCP theo các khối (block) Khi nhận được một
khối dữ liệu, TCP sẽ lưu trữ trong bộ đệm (buffer) Nếu cờ PUSH được dựng thì toàn
bộ dữ liệu trong bộ đệm được gửi, kể cả khối dữ liệu mới đến sẽ được gửi đi Ngược lại cờ
PUSH không được dựng thì dữ liệu được giữ lại trong bộ đệm và sẽ gửi đi khi có cơ hội thích hợp (chẳng hạn chờ thêm dữ liệu nữa để gửi đi với hiệu quả hơn)
+ Hàm receive: Ở trạm đích dữ liệu sẽ được TCP lưu trong bộ đệm gắn với mỗi liên
kết Nếu dữ liệu được đánh dấu với một cờ PUSH thì toàn bộ dữ liệu trong bộ đệm (kể cả các dữ liệu được lưu từ trước) sẽ được chuyển lên cho người sử dụng Còn nếu
dữ liệu đến không được đánh dấu với cờ PUSH thì TCP chờ tới khi thích hợp mới chuyển dữ liệu với mục tiêu tăng hiệu quả hệ thống
Nói chung việc nhận và giao dữ liệu cho người sử dụng đích của TCP phụ thuộc vào việc cài đặt cụ thể Trường hợp cần chuyển gấp dữ liệu cho người sử dụng thì có thể dùng cờ URGENT và đánh dấu dữ liệu bằng Bit URG để báo cho người sử dụng
Trang 243.3.2 Các bước thực hiện khi đóng một liên kết
Việc đóng một liên kết khi không cần thiết được thực hiện theo một trong 2 cách: Dùng hàm Close hoặc dùng hàm Abort
+ Hàm Close : Yêu cầu đóng liên kết một cách bình thường Có nghĩa là việc truyền
dữ liệu trên liên kết đó đã hoàn tất Khi nhận được một hàm Close TCP sẽ truyền đi tất cả dữ liệu còn trong bộ đệm thông báo rằng nó đóng liên kết Lưu ý rằng khi một người sử dụng đã gửi đi một hàm Close thì nó vẫn phải tiếp tục nhận dữ liệu đến trên liên kết đó cho đến khi TCP đã báo cho phía bên kia biết về việc đóng liên kết và chuyển giao hết tất cả dữ liệu cho người sử dụng của mình
+ Hàm Abort : Người sử dụng có thể đóng một liên kết bất và sẽ không chấp nhận dữ
liệu qua liên kết đó nữa Do vậy dữ liệu có thể bị mất đi khi đang được truyền đi TCP báo cho TCP ở xa biết rằng liên kết đã được hủy bỏ và TCP ở xa sẽ thông báo cho người sử dụng của mình
3.3.3 Một số hàm khác của TCP
+ Hàm Status : Cho phép người sử dụng yêu cầu cho biết trạng thái của một liên kết
cụ thể, khi đó TCP cung cấp thông tin cho người sử dụng
+ Hàm Error : Thông báo cho người sử dụng TCP về các yêu cầu dịch vụ bất hợp lệ
liên quan đến một liên kết có tên cho trước hoặc về các lỗi liên quan đến môi trường Đơn vị dữ liệu sử dụng trong TCP được gọi là segment (đoạn dữ liệu), có các tham số với ý nghĩa như sau :
Hình 9: Dạng thức của segment TCP
Trang 25nguồn
- Data offset (4 Bit): Số lượng bội của 32 Bit (32 Bit words) trong TCP header (tham
số này chỉ ra vị trí bắt đầu của nguồn dữ liệu)
- Reserved (6 Bit): Dành để dùng trong tương lai
- Control Bit (các Bit điều khiển) :
+ URG: Vùng con trỏ khẩn (Urgent Poiter) 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ộ hóa số hiệu tuần tự (sequence number)
+ FIN: Không còn dữ liệu từ trạm nguồn
- Window (16 Bit): Cấp phát credit để kiểm soát nguồn 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 (16 Bit): Mã kiểm soát lỗi cho toàn bộ segment (header + data)
- Urgent Pointer (16 Bit): Con trỏ này trỏ tới số hiệu tuần tự của byte đi theo sau dữ liệu khẩn Vùng này chỉ có hiệu lực khi Bit URG được thiết lập
- Options (độ 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 để đảm bảo phần header luôn kết thúc ở một mốc 32 Bit Phần thêm này gồm toàn số 0
- TCP data (độ dài thay đổi): Chứa dữ liệu của tầng trên, có độ dài tối đa ngầm định
Trang 26Hình 10: Mô hình quan hệ họ giao thức TCP/IP
Không gian địa chỉ IP (gồm 2^32 địa chỉ) được chia thành nhiều lớp (class) để
dễ quản lý Đó là các lớp A, B, C, D, E Trong đó các lớp A, B, C được triển khai để đặt cho các Host trên mạng Internet, lớp D dùng cho các nhóm multicast, còn lớp E phục vụ cho mục đích nghiên cứu
2 Một số khái niệm và thuật ngữ liên quan
Địa chỉ mạng (Network Address) : Địa chỉ IP có giá trị 0 cho tất cả các Bit ở phần
địa chỉ máy dành riêng cho địa chỉ mạng Ví dụ : địa chỉ lớp A 10.0.0.0 là địa chỉ mạng chứa máy 10.1.2.1 Địa chỉ lớp B 172.16.0.0 là địa chỉ mạng và 192.16.1.0 là địa chỉ mạng lớp C Router dùng địa chỉ mạng để tìm kiếm đường đi trong bảng định tuyến
Trang 27Ví dụ máy khi không biết địa chỉ IP của nó sẽ gửi yêu cầu đến Server trong mạng cục
bộ bằng địa chỉ Broadcast cục bộ Măc định Router cũng không định tuyến cho địa
chỉ Broadcast cục bộ
Địa chỉ loopback cục bộ(local loopback address): Địa chỉ loopback cục bộ được sử
dụng để thiết bị gửi thông điệp đến chính nó nhằm mục đích kiểm tra hoạt động Địa chỉ loopback tiêu biểu là 127.0.0.1
Tự cấu hình địa chỉ IP (autoconfiguration IP address): Nếu thiết bị không thể lấy
được địa chỉ IP bằng cách cấu hình tĩnh hay động khi khởi động thì nó sẽ tự gán cho mình địa chỉ IP link-local (RFC3927) với thuộc mạng 169.254.0.0/16 Địa chỉ này
được sử dụng cho kết nối cục bộ và không được Router định tuyến
Chỉ danh mạng (Network ID) : Phần địa chỉ mạng của IP được gọi là chỉ danh mạng,
nó sử dụng để Router định tuyến dữ liệu đến 1 mạng khác Hầu hết tất cả các thiết bị trên mạng chỉ có thể truyền thông trực tiếp với những thiết bị trong cùng 1 mạng vì thế cần phải có 1 thiết bị định tuyến dùng chỉ danh mạng đích kết hợp với bảng định
tuyến để truyền dữ liệu đến mạng khác
Điều này cũng đúng khi các thiết bị trên cùng 1 đoạn mạng vật lý, chỉ danh mạng cho phép Router chuyển gói dữ liệu đến đoạn mạng tương ứng Phần chỉ danh máy sẽ giúp Router phân phối frame dữ liệu lớp 2 đến máy đích phù hợp
Chỉ danh máy (Host ID) : Mỗi lớp mạng sẽ chứa 1 số cố định máy Ví dụ lớp mạng
A, Octet thứ nhất dùng cho mạng, 3 Octet còn lại dùng cho địa chỉ máy Địa chỉ đầu tiên là địa chỉ mạng địa chỉ cuối cùng là địa chỉ Broadcast Như vậy :
- Số lượng địa chỉ máy tối đa mà lớp A cung cấp là 224– 2 = 16,777,214
- Đối với mạng lớp B số lượng địa chỉ máy tối đa là 216 – 2 = 65,534
- Đối với mạng lớp C số lượng địa chỉ máy tối đa là 28 – 2 = 254
Trang 28Network_ID (chuyển thành Bit 1) và tất cả các Bit tương ứng với phần Host_ID (chuyển thành Bit 0)
Mặt nạ mặc định của lớp A: Sử dụng cho các địa chỉ lớp A khi không chia mạng con, mặt nạ có giá trị 255.0.0.0 hay /8
Mặt nạ mặc định của lớp B: Sử dụng cho các địa chỉ lớp B khi không chia mạng con, mặt nạ có giá trị 255.255.0.0 hay /16
Mặt nạ mặc định của lớp C: Sử dụng cho các địa chỉ lớp C khi không chia mạng con, mặt nạ có giá trị 255.255.255.0 hay /24
3 Các lớp địa chỉ mạng
Lớp A:
Lớp A dùng Octet thứ nhất để chỉ ra phần địa chỉ mạng, 3 Octet còn lại dùng làm địa chỉ máy Bit đầu tiên của lớp A luôn là “0”, vì thế lớp A biến thiên từ 0 (00000000) đến 127 (01111111) Tuy nhiên có 2 mạng 0 và 127 được sử dụng với mục đích đặc biệt vì thế có tất cả 126 mạng lớp A có Octet thứ nhất từ 1 đến 126
Lớp B:
Lớp B dùng 2 Octet đầu để chỉ ra phần địa chỉ mạng, 2 Octet còn lại dùng làm địa chỉ máy 2 Bit đầu tiên của Octet thứ nhất luôn là “10”, như vậy số bé nhất của lớp
B ở Octet thứ nhất là 128 (10000000), và số lớn nhất là 191 (10111111) Vì thế tất cả các mạng lớp B có Octet thứ nhất là 128 đến 191
Trang 29E 240.0.0.0 ĐẾN 247.255.255.255
Hình 11A : Bảng các lớp địa chỉ Internet
4 Địa chỉ riêng, địa chỉ công cộng
Hình 11 B : dãy địa chỉ riêng
Trong khi các máy kết nối internet đòi hỏi phải có địa chỉ IP toàn cục duy nhất, các máy riêng không kết nối internet có thể sử dụng bất kỳ địa chỉ IP nào hợp lệ có tính duy nhất cục bộ
Năm 1994, tổ chức IETF đưa ra RFC 1597 sau này bổ sung thành RFC 1918, đề xuất sử dụng các khối địa chỉ IP riêng cho các mạng riêng không có yêu cầu kết nối internet
Có 3 khối địa chỉ IP riêng như vậy (1 mạng lớp A, 16 mạng lớp B và 256 mạng lớp C) được sử dụng cho các mạng riêng, các Router trên mạng internet sẽ được cấu hình để bỏ qua các địa chỉ mạng riêng
Trang 30Nếu các mạng riêng có nhu cầu kết nối internet thì ta cần phải dịch (NAT hoặc PAT) địa chỉ IP riêng thành IP công cộng
Hình 11 C : dãy địa chỉ công cộng
Sự ổn định của mạng internet phụ thuộc trực tiếp vào tính duy nhất của địa chỉ
IP gán cho các thiết bị Tổ chức chịu trách nhiệm cung cấp địa chỉ IP cho mạng internet lúc đầu là inter NIC (internet Network information center) Sau đó là IANA với nhiệm vụ cấp địa chỉ sao cho không xảy ra sự tranh chấp đảm bảo tính ổn định và khả năng định tuyến của mạng internet
Để nhận được địa chỉ IP, ta phải liên hệ với nhà cung cấp dịch vụ internet (ISP) ISP sẽ liên hệ với tổ chức đăng ký cấp cao hơn :
+ APNIC (Asia pacific Network information center) cung cấp địa chỉ IP cho Châu Á + ARIN (American registry for internet numbers) cung cấp địa chỉ IP cho Châu Mĩ + RIPE NCC (Réseaux IP européens Network coordination centre) cung cấp địa chỉ
IP cho Châu âu
Với sự phát triển nhanh chóng của mạng internet bắt đầu cạn kiệt, vì thế một số
cơ chế địa chỉ mới được giới thiệu ví dụ cơ chế dịch địa chỉ mạng (NAT), IPV6
Trang 31biết địa chỉ của máy đích ARP cung cấp dịch vụ căn bản ánh xạ địa chỉ IP thành địa chỉ MAC trên mạng ETHERNET
Hình 12 A :ARP
Thuật ngữ phân giải địa chỉ (address resolution ) liên quan đến quá trình gắn kết địa chỉ lớp 3 với địa chỉ lớp 2 của máy đích cục bộ tương ứng Địa chỉ phân giải khi thiết bị gửi thông điệp ARP Broadcast chứa các thông tin đã biết (địa chỉ IP của máy đích và của máy yêu cầu ARP ) thông điệp Broadcast được nhận bởi tất cả các thiết bị trên mạng Broadcast khi máy đích nhận thấy địa chỉ IP của mình trùng với địa chỉ IP đích trong gói ARP request, nó sẽ tiến hành trả lời với địa chỉ MAC của nó trong ARP reply Thủ tục phân giải địa chỉ kết thúc khi thiết bị ban đầu nhận được gói ARP reply (chứa địa chỉ MAC ) từ máy đích và cập nhật ánh xạ IP – MAC và bảng ARP
Trang 32Mỗi thông tin ánh xạ sẽ được làm tươi mỗi khi máy nguồn gửi dữ liệu máy đích Nếu không có nhu cầu gửi dữ liệu thì thông tin này sẽ được duy trì trong khoảng thời gian mặc định là 300 giây
Bảng ARP hay ARP CACHE chứa mẩu tin ánh xạ giữa địa chỉ IP và địa chỉ MAC Mỗi thiết bị trên mạng đều duy trì bản tin ARP trong bộ nhớ Bảng này chứa thông tin ánh xạ IP-MAC khi máy tính muốn gửi dữ liệu đến máy khác trong cùng một mạng, nó sẽ tìm kiếm thông tin trong bảng ARP Nếu tìm thấy máy tính sẽ dùng địa chỉ MAC tương ứng để đóng gói dữ liệu truyền đi trên mạng nhưng nếu không tìm thấy, ARP sẽ được thực hiện để lấy địa chỉ MAC tương ứng của máy đích
Bảng ARP được tạo ra và duy trì động, việc thêm và thay đổi ánh xạ địa chỉ thực hiện trên cục bộ từng máy Các dòng trong bảng ARP thường hết hiệu lực sau một khoảng thời gian mặc định là 5 phút, tuy nhiên nếu máy tính có nhu cầu truyền dữ liệu tiếp tục đến máy đích thì dòng thông tin tương ứng trong bảng ARP sẽ được làm tươi
TCP SYN
TRANSPORT : TCP ! SET UP A SESION TO 192.168.3.2 TCP : IP 1 SENT THIS TCP SYN TO 192.168.3.2
TRANSPORT : I’LL USE TCP
APPLICATION : NETWORK CAN YOU SET RELIABLE CONNECTION
TO 192.168.3.2 FOR ME
LAYER 2 : 0800.0222.2222 LAYER 2 :0800.0222.1111 LAYER 3 : 192.168.3.1 LAYER 3 : 192.168.3.2
Hình12 B : ARP
Trong ví dụ này, một ứng dụng trên máy tính có địa chỉ IP 192.168.3.1 muốn gửi
dữ liệu đến máy tính có địa chỉ IP 192.168.3.2 Ứng dụng muốn sử dụng kết nối tin cậy vì thế nên yêu cầu dịch vụ này từ lớp vận chuyển (transport layer)
Lớp vận chuyển chọn dịch vụ TCP để thiết lập phiên truyền thông (session) TCP khởi tạo phiên truyền thông bằng cách chuyển thông tin header TCP với Bit SYN và địa chỉ IP đích là 192.168.3.2
Trang 33Hình 12 C : ARP
Lớp IP đóng gói dữ liệu SYN của TCP vào gói tin bằng cách gắn thêm vào trước
dữ liệu TCP địa chỉ lớp 3 của máy gửi và máy nhận Sau đó chuyển chúng cho lớp 2
để xử lý tiếp tục
Hình 12 D : ARP
Lớp 2 thực hiện đóng gói dữ liệu lớp 3 (IP Packet) vào trong frame lớp 2 Để làm điều đó, lớp 2 cần ánh xạ địa chỉ IP –MAC của máy đích bằng cách gửi yêu cầu đến chương trình ARP ARP kiểm tra bảng Cache của mình Trong ví dụ này, giả sử rằng máy này chưa bao giờ giao tiếp với các máy khác do đó bảng ARP rỗng Kết quả
là lớp 2 sẽ giữ lại gói tin cho đến khi ánh xạ ARP được tạo ra
Trang 34Hình12 E: ARP
Chương trình ARP xây dựng gói tin ARP request và chuyển nó cho lớp 2, yêu cầu lớp 2 gửi thông tin tới địa chỉ đích là Broadcast (tất các Bit ở phần địa chỉ máy đều là 1 ) Lớp 2 đóng gói ARP request trong frame lớp 2 dùng địa chỉ MAC đích là Broadcast và địa chỉ MAC nguồn là của máy yêu cầu phân giải địa chỉ
Hình12 F: ARP
Khi máy 192.168.3.2 nhận được frame nó sẽ lưu ý địa chỉ Broadcast và thực hiện giải đóng gói frame lớp 2
Trang 37Hình12 L: ARP
Khi máy 192.168.3.1 nhận được frame, nó lưu ý đến địa chỉ MAC đích là của
nó Máy đích sẽ thực hiện giải đóng gói frame lớp 2
Hình12 M: ARP
Phần thông tin ARP reply sẽ được chuyển đến cho chương trình ARP
LAYER 3 : 192.168.3.1 LAYER 3 : 192.168.3.2
PACKING LOT PACKET
ARP REQUEST
ARP :LAYER 2 : I have 192.168.3.2 mapped to 0800.0222.1111
ARP : I’VE JUST GOT AND ARP REPLY FROM 192.168.3.2 LET ME ADD ITS IP AND MAC TO ARP TABLE
Trang 38ARP thực hiện cập nhật bảng Cache ánh xạ IP – MAC tương ứng
Trang 39Hình12 Q: ARP
Để trả lời cho SYN, TCP truyền dữ liệu SYN ACK xuống cho các lớp bên dưới thực hiện đóng gói
LAYER 2 : 0800.0222.2222 LAYER 2 :0800.0222.1111 LAYER 3 : 192.168.3.1 LAYER 3 : 192.168.3.2
DST MAC 0800.0222.2222
ARP REPLY
SRC MAC 0800.0222.1111
SRC IP 192.168.3.2
DST IP 192.168.3.1 SYN ACK
SRC IP 192.168.3.2 SYN ACK
SYN ACK
TCP : GOT THE ACK
DST IP 192.168.3.1
Hình12 R: ARP
Trang 40Hình12 S: ARP
Hình12 T: ARP
Khi quá trình bắt tay 3 bước (three – way handshake ) kết thúc, TCP có thể báo cho ứng dụng biết rằng phiên truyền thông (sesion) đã được thiết lập