Hình 1.3 So sánh mô hình OSI và TCP/IP [5] 1.2 Dịch vụ và giao thức của tầng giao vận -Giao thức tầng giao vận cung cấp kênh truyền logic logical communication giữa các tiến trình ứng dụ
Trang 1TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HỒ CHÍ MINH
BÁO CÁO BÀI TẬP LỚN
MÔN MẠNG MÁY TÍNH
Chủ đề: “Chương 3: Tầng giao vận
3.1 Dịch vụ và nguyên lý tầng giao vận
3.2 Kỹ thuật dồn kênh và phân kênh’’
Người thực hiện:
1.Nguyễn Chân Hòa MSSV: 077205005197 Lớp: CN2303A 2.Bùi Thanh Huy MSSV: 052205011260 Lớp: CN2303A 3.Nguyễn Anh Khoa MSSV: 077205005323 Lớp: CN2303A 4.Trương Đình Hữu Tài MSSV: 077205003418 Lớp: CN2303A
Trang 2Mục lục
Danh mục các từ viết tắt 2
Danh mục hình ảnh 3
Lời mở đầu 4
CHƯƠNG 1: DỊCH VỤ VÀ NGUYÊN LÝ CỦA TẦNG GIAO VẬN 5
1.1 Vị trí trong kiến trúc phân tầng 5
1.2 Dịch vụ và giao thức của tầng giao vận 6
1.3 Mối quan hệ giữa tầng giao vận và tầng mạng 8
1.4 Các giao thức tầng giao vận trên Internet 9
CHƯƠNG 2 KỸ THUẬT DỒN KÊNH VÀ PHÂN KÊNH 11
2.1 Khái niệm 11
2.2 Dồn kênh và phân kênh hoạt động như thế nào 12
CHƯƠNG 3: TỔNG KẾT 15
3.1 Sơ đồ tư duy 15
3.2 Câu hỏi trắc nghiệm 15
Kết luận 18
Danh sách tài liệu tham khảo 19
Trang 3Danh mục các từ viết tắt
FTP: File Transfer Protocol
HTTP: HyperText Transfer Protocol
OSI: Open Systems Interconnection
RFC: Request for Comments
RIP: Routing Information Protocol
SIP: Session Initiation Protocol
SMTP: Simple Mail Transfer Protocol
TCP: Transmission Control Protocol
TCP/IP: Transmission Control Protocol/Internet Protocol UDP: User Datagram Protocol
Trang 4Danh mục hình ảnh
Hình 1.1 Mô hình kiến trúc TCP/IP 5
Hình 1.2 Mô hình kiến trúc OSI 5
Hình 1.3 So sánh mô hình OSI và TCP/IP 6
Hình 1.4 Kênh truyền logic của tầng giao vận 7
Hình 2.1 Mô tả quá trình dồn kênh, phân kênh 11
Hình 2.2 Cấu trúc gói dữ liệu của tầng giao vận 13
Hình 2.3 Minh họa về hoạt động dồn kênh và phân kênh 13
Hình 3.1 Sơ dồ tư duy 15
Trang 5Lời mở đầu
Trong một xã hội hiện đại và phát triển không ngừng nghỉ của khoa học công nghệ Mạng máy tính và truyền thông cũng theo đó mà phát triển liên tục và nhanh chóng Là sinh viên thuộc khối ngành công nghệ thông tin, việc học tập nghiên cứu tìm hiểu về môn học mạng máy tính là điều bắt buộc mà mỗi cá nhân nào cũng cần phải có để trang bị kỹ năng kiến thức cho mình cho các môn học sau hay sâu xa hơn là việc tìm kiếm việc làm sau này Môn mạng máy tính là môn học sơ sở ngành cung cấp cho ta các khái niệm cơ bản, nguyên lý làm việc của các thiết bị trong một hệ thống mạng máy tính và các dịch vụ trong bộ giao thức TCP/IP Trong bài tập lớn này của môn học này tìm hiểu về các tầng của mô hình mạng kiến trúc phân tầng TCP/IP.Nhóm 8
sẽ tìm hiểu nội dương chương 3 về tầng giao vận, nhóm 8 sẽ đi sâu vào tìm hiểu dịch vụ và nguyên lý hoạt động của tầng giao vận cùng với đó là kỹ thuật dồn kênh và phân kênh Đây là những nội dung vô cực kỳ quan trong giúp ta năm vững rõ được, hiểu sâu hơn về cách thức hoạt động cũng như các kỹ thuật của tầng giao vận
Trang 6CHƯƠNG 1: DỊCH VỤ VÀ NGUYÊN LÝ CỦA TẦNG GIAO VẬN 1.1 Vị trí trong kiến trúc phân tầng
-Tầng giao vận ( Transport Layer) nằm ở vị trí thứ 3 trong kiến trúc mô hình TCP/IP truyền thống và vị trí thứ 4 trong mô hình TCP/IP mở rộng, nằm giữa
tầng Ứng dụng( Applicationo Layer) và tầng Mạng ( Network Layer).
Hình 1.1 Mô hình kiến trúc TCP/IP [5]
-Tầng giao vận (Trasport Layer) nằm ở vị trí thứ 4 trong 7 tầng của mô hình
OSI, nằm giữa tầng Phiên (Session Layer) và tầng Mạng (Network Layer)
Hình 1.2 Mô hình kiến trúc OSI [5]
Trang 7Hình 1.3 So sánh mô hình OSI và TCP/IP [5]
1.2 Dịch vụ và giao thức của tầng giao vận
-Giao thức tầng giao vận cung cấp kênh truyền logic (logical communication) giữa các tiến trình ứng dụng (applications) chạy trên các máy chủ (hosts) khác nhau Bằng "kênh truyền logic", có nghĩa là từ quan điểm của ứng dụng, dường như các máy chủ đang chạy các tiến trình đó được kết nối trực tiếp với nhau
-Tuy nhiên trong thực tế, mạng máy tính các máy chủ có thể nằm ở hai nơi
khác nhau trên trái đất hoặc nằm cách rất xa nhau, được kết nối qua nhiều bộ định tuyến (routers) và các loại liên kết (link) khác nhau Các tiến trình ứng dụng sử dụng kênh truyền logic do tầng giao vận cung cấp để gửi thông điệp (message) cho nhau, mà không phải lo lắng về chi tiết của hạ tầng vật lý dùng
để truyền các thông điệp (message) này.Tức là tầng giao vận chỉ cung cấp kênh truyền logic mà không cần quan tâm tới các thiết bị như router, switch hay thiết bị mạng khác
Trang 8
Hình 1.4 Kênh truyền logic của tầng giao vận [1]
-Các giao thức tầng giao vận được hiện thực trong các hệ thống cuối (end system) nhưng không có trong các bộ định tuyến mạng:
-Bên gửi:Tầng giao vận sẽ chuyển đổi các thông điệp (mesage) của tầng ứng dụng nhận từ tiến trình ứng dụng gửi thành các gói tin của tầng giao vận, được gọi là phân đoạn (segment) Điều này được thực hiện bằng việc (có thể) chia nhỏ các thông điệp (message) ứng dụng thành các phần nhỏ hơn và thêm tiêu đề của tầng giao vận vào mỗi phần để tạo thành phân đoạn (segment) Sau đó nó sẽ chuyển phân đoạn (segment) này xuống tầng mạng tại hệ thống cuối gửi, nơi phân đoạn được đóng gói trong một gói tin tầng mạng (datagram) và gửi tới đích
*Điều quan trọng cần chú ý là các bộ định tuyến mạng chỉ hoạt động trên các trường của gói tin tầng mạng; nghĩa là, chúng không kiểm tra các trường của phân đoạn tầng giao vận được đóng gói trong gói tin tầng mạng
Trang 9-Bên nhận: Tầng mạng sẽ trích xuất phân đoạn (segment) của tầng giao vận từ gói tin tầng mạng (datagram) và truyền phân đoạn (segmet) đó lên tầng giao vận Sau đó xử lý phân đoạn (segment) vừa nhận được, và làm cho dữ liệu trong phân đoạn (segment) có sẵn cho ứng dụng nhận
-Có nhiều hơn một giao thức ở tầng giao vận
Vi dụ cụ thể: Internet có hai giao thức là TCP và UDP
1.3 Mối quan hệ giữa tầng giao vận và tầng mạng
-Tầng giao vận nằm ở trên tầng mạng trong mô hình kiến trúc phân tầng Trong khi giao thức tầng giao vận cung cấp đường truyền logic giữa các tiến trình chạy trên các máy chủ khác nhau còn tầng mạng thì thì cung cấp đường truyền logic giữa các máy chủ khác nhau
-Để hiểu rõ hơn ta đi xét ví dụ 1: Giả sử ta có 2 ngôi nhà ở 2 phía Đông và Tây nằm cách xa nhau Trong mỗi nhà có 12 đứa trẻ, hằng tuần chúng gửi thư cho nhau Mỗi bức thư được để trong phong bì riêng, được ghi địa chỉ Sau đó những lá thư ở hai nhà sẽ được dịch vụ bưu chính gửi đi đến những địa chỉ ghi trên phong bì Ở trong mỗi nhà có một dứa trẻ chuyên đi thu thập và phân phát thư cho mỗi đứa trẻ Ann ( ở phía đông) lấy thư từ những đứa trẻ ở nhà mình và đưa cho nhân viên bưu cục (người ghé qua nhà để lấy và chuyển thư) Khi nhận thư từ người này, Ann chuyển tiếp thư cho từng đứa trẻ trong nhà mình và Bill cũng làm điều tương tự
Ở dịch vụ trên dịch vụ bưu chính cung cấp đường truyền logic giữa hai nhà.
Nhân viên bưu điện chịu trách nhiệm truyền thư giữa 2 nhà, còn Ann và Bill cung cấp đường truyền logic giữa những đứa trẻ trong nhà (chịu trách nhiệm thu thập và phân phát thư cho từng người)
Trong ví dụ trên khi so sánh 2 nhà này với hệ thống mạng tính:
Máy tính (hay thiết bị đầu cuối) = Ngôi nhà
Tiến trình = Từng đứa trẻ trong ngôi nhà
Trang 10Thông điệp ứng dụng = Thư trong phong bì.
Giao thức tầng mạng = Dịch vụ bưu chính (gồm nhân viên bưu chính) Giao thức tầng giao vận = Ann và Bill
*Trong ví dụ trên:
-Ann và Bill hoạt động như hoạt động của tầng giao vận :
Ann và Bill nhận thư từ bưu nhân viên bưu cục và thực hiện việc phân phát thư ở chính ngôi nhà của mình, thay vì mỗi gia đình 12 người từng người xuống lấy thư và tranh nhau tìm đúng thư của mình thì Ann và Bill tổng hợp lại thư và gửi chính xác cho từng người nhưng họ không thực hiện việc sắp xếp thư ở các bưu cục (và các trạm trung chuyển trên đường đi) hay gửi thư
từ bưu cục này đến bưu cục khác Tương tự như giao thức tầng của giao vận chỉ hoạt động ở các thiết bị đầu cuối Tại đây, giao thức của tầng giao vận chỉ chuyển dữ liệu từ tiến trình ứng dụng xuống tầng mạng nhưng lại không quan tâm hay can thiệp vào cách dữ liệu được truyền đi như thế nào trong tầng mạng
-Dịch vụ bưu điện hoạt động giống như hoạt động của tầng mạng :
Dịch vụ bưu điện gửi một cục thư (gồm nhiều thư từ nhà ann đến nhà Bill và ngược lại) cái nhiệm vụ này tương đương với nhiệm vụ của tầng mạng phụ trách đưa một gói tin từ máy tính nguồn đến máy tính đích
=>Tầng giao vận cung cấp dịch vụ truyền dữ liệu giữa các tiến trình, trong khi tầng mạng chịu trách nhiệm truyền dữ liệu giữa các thiết bị
1.4 Các giao thức tầng giao vận trên Internet
*Hỗ trợ:
-TCP: Transmission Control Protocol
+Truyền dữ liệu đáng tin cậy
+Truyền theo thứ thứ tự
+Thiết lập kết nối trước khi truyền (hướng kết nối)
Trang 11+ Điều khiển tắc nghẽn
+Điều khiển luồng
+Thiết lập và duy trì kết nối
-UDP: User Datagram Protocol
+Truyền dữ liệu đáng tin cậy
+Không thiết lập kết nối trước khi truyền ( không hướng kết nối)
+Truyền không theo thứ tự
+Không rườm rà, mở rộng “nỡ lực tốt nhất” (best-effort) của IP
*Các dịch vụ không cung cấp hỗ trợ ở tầng giao vận:
-Bảo đảm đỗ trễ
-Bảo đảm băng thông
*Ứng dụng và dịch vụ giao vận:
Ứng dụng Giao thức ứng dụng Giao thức giao vận Elcetionic mail SMTP [RFC 5321] TCP Remote terminal
access
Streaming multimedia HTTP (e.g., YouTube) TCP Internet telephony SIP [RFC 3261], RIP
[RFC 3550], or proprietary ( e.g., Skype)
UDP or TCP
Trang 12CHƯƠNG 2 KỸ THUẬT DỒN KÊNH VÀ PHÂN KÊNH
2.1 Khái niệm
-Dồn kênh (multiplexing):
Thực hiện ở phía gửi: tầng giao vận sẽ nhận dữ liệu từ nhiều tiến trình khác nhau, sau đó tạo phân đoạn (segment) chứa dữ liệu và thêm thông tin số hiệu vào cổng nguồn và số hiệu cổng nguồn đích vào tiêu đề cho phân đoạn (segment) và sau đó gửi phân đoạn (segment) đó xuống tầng mạng
-Phân kênh (demultiplexing):
Thực hiện ở phía nhận: ngược lại với dồn kênh, tầng giao vận sử dụng thông tin header để chuyển các phân đoạn (segment) đã nhận tới đúng tiến trình ứng dụng nhận tương ứng
Hình 2.1 Mô tả quá trình dồn kênh, phân kênh [1]
-Trong hình 2.1 quá trình dồn kênh và phân kênh xảy ra:
+Dồn kênh xảy ra ở bên gửi: Tầng giao vận sẽ lấy dữ liệu từ các socket khác nhau ở các application của process ( p3 hoặc p4) => sau đó sẽ thêm một phần header vào các gói tin vừa nhận được là số hiệu của nguồn, số hiệu cổng đích vào trong tiêu đề và các gói tin này sẽ trở thành phân đoạn (segment) sau đó thì sẽ được tầng mạng chuyển đến bên nhận tương ứng
Trang 13Thông tin nằm trong cái phân đoạn (segment) là thông tin header tầng giao vận (H ) thêm vào đó sẽ được sử dụng bởi tầng giao vận phía nhận để dồnt kênh tức là cái gói tin ở bên nhận sẽ được phát vào đúng cái tiến trình nhận +Quá trình phân kênh (demultiplexing): tầng giao vận sau khi nhận được các segment của p3 và p4 thì nó sẽ căn cứ vào cái số hiệu cổng nguồn và số hiệu cổng đích ở trong tiêu đề của segment để chuyển đến các application đúng p3 chuyển đến p1 và p4 chuyển đến p2
Để hiểu rõ hơn ta đi xét lại ví dụ 1:
Ann ở trong ngôi nhà phía Đông đi thu thập tất cả thư của từng đứa trẻ trong nhà và gom thư lại để gửi cho nhân viên bưu điện giống như quá trình dồn kênh vậy Còn việc Ann nhận thư từ nhân viên bưu cục căn cứ vào đúng địa chỉ ghi trên thư để phân phát thư đúng cho từng đứa trẻ trong nhà thì lại giống như quá trình phân kênh
2.2 Dồn kênh và phân kênh hoạt động như thế nào
-Dồn kênh và phân kênh nhờ hai trường hợp đăc biệt ở đầu segment +Định danh cổng tiến trình gửi:
Số hiệu cổng nguồn (source port number): là một giá trị chưa được sử dụng bởi tiến trình nào (do hệ điều hành gắn, có thể thay đồi tùy thuộc vào tiến trình gửi)
+Định danh cổng tiến trình nhận:
Số hiệu cổng đích (dest port number): là số hiệu của cổng ứng dụng (không thay đổi, luôn cố định), ví dụ Web là 80, Email là 25,…
-Mỗi datagram ở tầng mạng có: địa chỉ IP nguồn và IP đích để xác định máy chủ gửi và máy chủ nhận nhận
-Máy chủ sử dụng địa chỉ IP (tầng mạng sử dụng ): dùng để xác định địa chỉ giữa 2 máy và port number (tầng giao vận sử dụng): dùng để xác định giữa 2 tiến trình khác nhau
Trang 14=> Để chuyển segmet tới socket thích hợp.
Hình 2.2 Cấu trúc gói dữ liệu của tầng giao vận [1]
Hình 2.3 Minh họa về hoạt động dồn kênh và phân kênh [6] Hình 2.3 minh họa về hoạt động dồn kênh phân kênh xảy ra như sau: -Hoạt động dồn kênh :
Máy A có ứng dụng p1 thực hiện yêu cầu HTTP đến máy B Gói tin sẽ được gửi qua tầng giao vận Tại đây tầng giao vận sẽ thêm thông tin như:
+ Địa chỉ nguồn: A + Địa chỉ đích: B
Trang 15+ Số hiệu nguồn: 9157 + Số hiệu đích: 80
Sau đó gói dữ liệu này được gửi từ A qua các tầng và đến B Máy B nhận dữ liệu và đọc địa chỉ nguồn, số hiệu cổng nguồn địa chỉ đích, số hiệu đích để chuyến đến ứng dụng tương ứng ở đây là p4
Tương tự máy C có ứng dụng p2,p3 thực hiên yêu cầu HTPP đến B Gói tin của p2 được gửi qua tầng giao vận, tầng giao vận sẽ thêm các thông tin như: + Địa chỉ nguồn: C + Địa chỉ đích: B
+ Số hiệu nguồn: 5775 + Số hiệu đích: 80
Gói tin của p3 được gửi qua tầng giao tại đây sẽ thêm các thông tin như: + Địa chỉ nguồn: C + Địa chỉ đích: B
+ Số hiệu nguồn: 9157 + Số hiệu đích: 80
Sau đó gói dữ liệu này được gửi đi từ C qua các tầng và gửi B Máy B nhận
dữ liệu và đọc địa chỉ nguồn, số hiệu cổng nguồn địa chỉ đích, số hiệu đích để chuyến đến ứng dụng tương ứng ở đây là p2 với p6; p3 với p5
-Hoạt động phân kênh:
Máy B nhận gói tin từ A có chứa thông tin:
+ Địa chỉ nguồn: A + Địa chỉ đích: B
+ Số hiệu nguồn: 9157 + Số hiệu đích: 80
Tại B tầng giao vận đọc thông tin cổng đích 80 để xác định gói tin thuộc tiến trình nào và gửi đến ứng dụng tương ứng p4 Sau đó máy B phản hồi với địa chỉ nguồn B (IP B, cổng 80) và địa chỉ đích A (IP A, cổng 9157), rồi gửi tới p1 Tại C cũng tương tự dựa vào cổng 5575 để gửi p6 đến p2 vì p2 có cổng nguồn là 5775 và cổng 9157 để gửi p5 đến p3 vì p3 có cổng nguồn 9157
Trang 16CHƯƠNG 3: TỔNG KẾT
3.1 Sơ đồ tư duy
Hình 3.1 Sơ dồ tư duy
3.2 Câu hỏi trắc nghiệm
Câu 1: Các giao thức của tầng giao vận (Transport)?
A Kiểm soát việc truyền tin giữa hai tiến trình trên mạng máy tính
B Kiểm soát nội dung thông điệp trao đổi giữa hai tiến trình và hành vi của môi bên khi nhận được thông điệp
C Kiểm soát việc truyền tin giữa hai máy tính trên mạng máy tính
D Kiểm soát việc truyền dữ liệu giữa hai máy tính trên cùng một môi trường truyền
=> Đáp án A Kiểm soát việc truyền tin giữa hai tiến trình trên mạng máy tính
Trang 17Câu 2: Chức năng đánh số thứ tự cho gói dữ liệu truyền thông được thực hiện bởi tầng chức năng nào ?
A Tầng Application
B Tầng Transport
C Tầng Network
D Tầng Link
=> Đáp án B Transport
Câu 3: Việc chia nhỏ các gói tin tại tầng giao vận trước khi gửi đi có ý nghĩa gì?
A Để phát hiện lỗi truyền thông
B Để nâng cao độ an toàn truyền thông mạng
C Để nâng cao hiệu suất và độ tin cậy trong trao đổi thông tin trên mạng
D Để điều khiển lưu lượng truyền thông, tránh tắc nghẽn
=> Đáp án C Để nâng cao hiệu suất và độ tin cậy trong trao đổi thông tin trên mạng
Câu 4: Tầng giao vận có thể cung cấp chức năng nào?
A Thiết lập số hiệu cổng dịch vụ của thực thể gửi và thực thể nhận
B Phát hiện và xử lý lỗi truyền thông
C Điều khiển lưu lượng truyền thông
D Cả A,B,C đều đúng
=> Đáp án D Cả A,B,C đều đúng
Câu 5:Tầng Transport ngừng nhận các gói dữ liệu vào buffer đã bị đầy bằng:
A Phân đoạn (Segmentation)
B Gửi các gói tin (Packets)
C Gửi các thông báo đã nhận tin (Acknowledgements)
D Quản lý dòng dữ liệu (Flow Control)
E Gửi các gói tin BPDUs