1. Trang chủ
  2. » Luận Văn - Báo Cáo

Lập trình mô phỏng hoạt động điều khiển luồng trong TCPIP

39 49 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Ngày nay, trên khắp thế giới, Internet đã mang lại lợi ích vô cùng to lớn cho loài người. Các công ti, tổ chức đã nhận thấy khả năng tăng trưởng và hiệu quả bằng việc đầu tư mạnh các hoạt động trên Internet. Sự phát triển và thay đổi mạnh mẽ của công nghệ Internet đã dẫn tới việc các ứng dụng truyền thông gia tăng và phát triển một cách chóng mặt. Các ứng dụng có tốc độ cao cùng với yêu cầu trao đổi lượng thông tin vô cùng lớn trên mạng Internet trong khi khả năng đáp ứng cho dù được tăng cường không ngừng nhưng cũng không thể đáp ứng đủ nhu cầu to lớn ấy. Đó chính là nguyên nhân chính dẫn tới hiện tượng tắc nghẽn và giảm hiệu suất truyền thông trên mạng Trên thực tế sự bùng nổ và phát triển của các mạng máy tính và các ứng dụng trên mạng đã gặp phải nhiều vấn đề nghiêm trọng liên quan tới tắc nghẽn mạng. Theo thống kê thì thường các cổng(gateway) Internet sẽ làm mất khoảng 10% của các gói tin đến chúng. Điều này thực sự là nguy hại khi thông tin luôn đòi hỏi tính toàn vẹn và chính xác của nó. Như vậy vấn đề điều khiển lưu lượng trên mạng để tránh tắc nghẽn và sử dụng hiệu quả tài nguyên mạng càng trở lên hết sức quan trọng và cần thiết để đáp ứng được nhu cầu truyền thông của người dùng. Trong mạng Internet bộ giao thức TCP/IP được sử dụng từ những ngày đầu tiên và giữ vai trò quyết định đối với sự hoạt động của mạng. Giao thức TCP sử dụng cơ chế điều khiển luồng, điều khiển tắc nghẽn và lỗi từ hai đầu của kết nối để vận chuyển thông tin trên Internet một cách hiệu quả và tin cậy. Mục đích của đề tài này là lập trình mô phỏng hoạt động điều khiển luồng trong TCP/IP để thấy được cơ chế vận hành của giao thức TCP/IP.

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ- VIỄN THƠNG BÁO CÁO: MẠNG MÁY TÍNH Đề tài: Lập trình mơ hoạt động điều khiển luồng TCP/IP Nhóm sinh viên thực hiện: Lê Xuân Cường 20155213 Trần Phú Hà 20166037 Lê Thế Đức 20151016 Nguyễn Thanh Lộc 20152304 Trịnh Minh Quang 201 Giảng viên hướng dẫn: Thầy Trần Quang Vinh Hà Nội, 5-2019 Mục lục Danh mục hình ảnh Lời mở đầu Chương Giới thiệu chung 1.1 Sự đời phát triển mạng internet 1.2 Mơ hình tham chiếu OSI TCP/IP 1.3 Mơ hình TCP/IP 1.3.1 Cách thức truyền liệu qua giao thức TCP 10 1.3.2 Cấu trúc gói tin TCP 11 1.3.3 Thiết lập kết thúc kết nối TCP 14 1.4 Điều khiển luồng 16 1.4.1 Khái niệm điều khiển luồng 16 1.4.2 Điều khiển luồng giao thức TCP/IP 17 Chương Mô 25 2.1 Phương pháp yêu cầu 25 2.1.1 Đặc tả Stop and Wait 25 2.1.2 Đặc tả Go Bank N ARQ 25 2.1.3 Đặc tả Selective Repeat ARQ 26 2.2 Kết 27 2.2.1 Stop and Wait 27 2.2.2 Go Bank N 29 Tài liệu tham khảo 38 Danh mục hình ảnh Hình 1.1 Mơ hình giao thức OSI Hình 1.2 Mơ hình giao thức TCP/IP Hình 1.3 Cấu trúc Header gói tin TCP 12 Hình 1.4 Cấu trúc gói tin TCP 13 Hình 1.5 Phát lại theo chế dừng đợi 18 Hình 1.6 Nguyên tắc hoạt động chế cửa sổ trượt 21 Hình 1.7 Nguyên tắc hoạt động Go-back-N ARQ 22 Hình 1.8 Nguyên tắc hoạt động selective repeat…………………………………….222 Lời mở đầu Ngày nay, khắp giới, Internet mang lại lợi ích vơ to lớn cho lồi người Các cơng ti, tổ chức nhận thấy khả tăng trưởng hiệu việc đầu tư mạnh hoạt động Internet Sự phát triển thay đổi mạnh mẽ công nghệ Internet dẫn tới việc ứng dụng truyền thông gia tăng phát triển cách chóng mặt Các ứng dụng có tốc độ cao với yêu cầu trao đổi lượng thông tin vô lớn mạng Internet khả đáp ứng cho dù tăng cường không ngừng đáp ứng đủ nhu cầu to lớn Đó nguyên nhân dẫn tới tượng tắc nghẽn giảm hiệu suất truyền thông mạng Trên thực tế bùng nổ phát triển mạng máy tính ứng dụng mạng gặp phải nhiều vấn đề nghiêm trọng liên quan tới tắc nghẽn mạng Theo thống kê thường cổng(gateway) Internet làm khoảng 10% gói tin đến chúng Điều thực nguy hại thơng tin ln địi hỏi tính tồn vẹn xác Như vấn đề điều khiển lưu lượng mạng để tránh tắc nghẽn sử dụng hiệu tài nguyên mạng trở lên quan trọng cần thiết để đáp ứng nhu cầu truyền thông người dùng Trong mạng Internet giao thức TCP/IP sử dụng từ ngày giữ vai trò định hoạt động mạng Giao thức TCP sử dụng chế điều khiển luồng, điều khiển tắc nghẽn lỗi từ hai đầu kết nối để vận chuyển thông tin Internet cách hiệu tin cậy Mục đích đề tài lập trình mơ hoạt động điều khiển luồng TCP/IP để thấy chế vận hành giao thức TCP/IP Chương Giới thiệu chung 1.1 Sự đời phát triển mạng internet Nguồn gốc Internet hệ thống mạng máy tính quốc phịng Mỹ, có tên gọi mạng ARPANET Đó mạng thí nghiệm thiết kế đưa vào sử dụng năm 1969 để tạo điều kiện thuận lợi cho việc hợp tác khoa học cơng trình nghiên cứu quốc phịng ARPANET sử dụng truyền thơng bình đẳng (peer-to-peer), máy tính hệ thống có khả “nói chuyện” với máy tính thành viên khác Bất kỳ mạng máy tính dựa sở thiết kế ARPANET mô tả tập hợp trung tâm điện tốn tự quản, mang tính địa phương tự điều hành, chúng liên kết dạng “vơ phủ có điều tiết” Sự phát triển thiết kế mạng ARPANET đơn yêu cầu quân sự: mạng phải có khả chống lại cơng vơ hiệu hố số lớn trạm thành viên Mạng Internet nguyên thuỷ thiết kế nhằm mục đích phục vụ việc cung cấp thông tin cho giới khoa học, nên cơng nghệ cho phép hệ thống liên kết với thơng qua cổng điện tử Theo cách đó, có hàng ngàn hệ máy tính hợp tác, nhiều hệ thống dịch vụ thư điện tử có thu phí trở thành thành viên Internet Cũng từ hệ thống Internet đời, gồm mạng máy tính liên kết với phạm vi toàn giới, tạo điều kiện thuận lợi cho dịch vụ truyền thông liệu, đăng nhập từ xa, truyền tệp tin, thư tín điện tử nhóm thơng tin Mạng máy tính hai hay nhiều máy tính kết nối với theo cách cho chúng trao đổi thơng tin qua lại với Mạng máy tính đời xuất phát từ nhu cầu muốn chia sẻ dùng chung liệu Khơng có hệ thống mạng liệu máy tính độc lập muốn chia sẻ với phải thông qua việc in ấn chép qua đĩa mềm, CD ROM… gây nhiều bất tiện cho người dùng Mạng ARPANET tiền thân mạng Internet Khi mạng vệ tinh vơ tuyến đời giao thức sử dụng không đáp ứng yêu cầu liên mạng, cần phải có mơ hình kiến trúc mới, có khả liên kết nhiều mạng với cách suốt Kiến trúc gọi giao thức TCP/IP Việc xây dựng hệ thống phần mềm để kết nối máy tính thành mạng nhỏ kết nối mạng nhỏ thành mạng toàn cầu Internet tốn phức tạp, để thực cơng việc phức tạp này, người ta chia hệ thống phần mềm thành lớp, hay tầng (Layer) theo số nguyên tắc định khoa học Các lớp tương tác với lớp Trong mạng khác nhau, số tầng, tên tầng, nội dung tầng chức tầng khác nhau; nhiên, mục đích tầng sử dụng dịch vụ tầng cung cấp, để cung cấp dịch vụ định cho tầng cao hơn, cho tầng sử dụng dịch vụ nó, không cần phải quan tâm tới thao tác chi tiết mà dịch vụ phải thực Hai mô hình mạng phổ biến sử dụng lớp mơ hình tham chiếu OSI (Open System Interconnection) giao thức TCP/IP (Transmission Control Protocol/Internet Protocol) 1.2 Mơ hình tham chiếu OSI TCP/IP Mơ hình OSI (Open Systems Interconnection) hay cịn gọi mơ hình lớp International Organization for Standardization (OSI) đưa vào năm 1971 với mục tiêu nhắm đến việc kết nối sản phẩm hãng sản xuất khác nhau, phá vỡ độc quyền sản xuất, (Ví dụ: Máy IBM nói chuyện với máy IBM, máy IBM sử dụng ứng dụng phần mềm IBM cung cấp…) phối hợp hoạt động chuẩn hóa lĩnh vực viễn thơng hệ thống thơng tin.Năm 1984 mơ hình tham chiếu OSI thức đưa giới thiệu ghi tiêu chuẩn ISO/IEC 7498-1 Hiǹ h 1.1 Mơ hình giao thức OSI Mỗi tầng cấp có đặc tính sử dụng chức tầng nó, đồng thời cho phép tầng sử dụng chức Mơ hình tham chiếu OSI cấu trúc có tầng, xác định yêu cầu cho giao tiếp hai máy tính:  Tầng vật lý (Physical Layer): Tầng vật lý có chức sau  Tầng vật lý định nghĩa tất đặc tả điện vật lý cho thiết bị Trong bao gồm việc bố trí chân cắm(pin), hiệu điện chuẩn cáp (cable) Một số thiết bị tầng vật lý tập trung (Hub), lặp (repeater), thiết bị tiếp hợp (network adapter) …  Thiết lập ngắt mạch kết nối điện (electrical connection) với môi trường truyền dẫn phương tiện truyền thông (transmission medium)  Tham gia vào quy trình mà tài ngun truyền thơng chia sẻ hiệu nhiều người dùng, chẳng hạn giải tranh chấp tài nguyên (contention) điều khiển lưu lượng  Điều biến biến đổi kiểu liệu bằngtín hiệu kỹ thuật số thiết bị người dùng tín hiệu tương tự truyền qua kênh truyền thơng Các q trình truyền gói tin liên kết cho trước nhận gói tin từ liên kết cho trước điều khiển phần mềmđiều khiển thiết bị (device driver) dành cho cạc mạng, phần sụn (firmware) hay chipset chuyên dụng Những thứ thực chức liên kết liệu chẳng hạn bổ sung nhãn mào đầu (packet header) để chuẩn bị cho việc truyền gói tin đó, thực truyền frame liệu qua môi trường vật lý Dữ liệu hoạt động lớp gọi Bit  Tầng liên kết liệu (Data-Link Layer): Tầng liên kết liệu cung cấp phương tiện có tính chức quy trình để truyền liệu thực thể mạng, phát sửa chữa lỗi tầng vật lý có Cách đánh địa mang tính vật lý, nghĩa địa MAC mã hóa cứng vào thẻ mạng (network card) chúng sản xuất Hệ thống xác định địa không phân cấp (flat scheme), ví dụ điển hình môi trườngEthernet Trong mạng cục theo tiêu chuẩn IEEE 802 số mạng theo tiêu chuẩn khác, chẳng hạn FDDI, tầng liên kết liệu chia thành gồm tầng con: tầng MAC (Media Access Control - Điều khiển truy nhập đường truyền) tầng LLC (Logical Link Control - Điều khiển liên kết lôgic) theo tiêu chuẩn IEEE 802.2 Tầng liên kết liệu nơi mà thiết bị chuyển mạch (switches) hoạt động Kết nối cung cấp nút mạng nối nội với Dữ liệu tầng gọi khung truyền (Frame)  Tầng mạng (Network Layer): Tầng mạng cung cấp chức qui trình cho việc truyền chuỗi liệu có độ dài khác nhau, từ nguồn tới đích, thơng qua nhiều mạng, trì chất lượng dịch vụ (quality of service) mà tầng giao vận yêu cầu, chịu trách nhiệm xây dựng tuyến đường tốt cho liệu Tầng mạng thực chức định tuyến Các thiết bị định tuyến (router) hoạt động tầng này, gửi liệuđịnh tuyến khắp mạng mở rộng, làm cho khả liên kết mạng trở nên khả thi IP giao thức tảng cho hoạt động tầng mạng Dữ liệuở tầng gọi gói tin (Packet) Giao thức IP (Internet Protocol) có chức năng:  Định nghĩa cấu trúc gói liệu đơn vị sở cho việc truyền liệu internet  Định nghĩa phương thức đánh địa IP  Truyền liệu tầng vận chuyển tầng mạng  Định tuyến để truyền gói liệu mạng Thực việc phân mảnh hợp gói liệu nhúng/tách chúng gói liệu tầng liên kết  Tầng giao vận (Transport Layer): tầng thứ tư bảy tầng mơ hình OSI Tầng chịu trách nhiệm đáp ứng đòi hỏi dịch vụ tầng phiên đưa yêu cầu dịch vụ tầng mạng (Network Layer) Tầng giao vận cung cấp dịch vụ chuyên dụng chuyển liệu người dùng đầu cuối, nhờ tầng quan tâm đến việc cung cấp dịch vụ truyền liệu đáng tin cậy hiệu Tầng giao vận kiểm soát độ tin cậy kết nối cho trước  Tầng phiên (Session layer): Là tầng thứ năm bảy tầng mơ hình OSI Tầng đáp ứng yêu cầu dịch vụ tầng trình diễn gửi yêu cầu dịch vụ tới tầng giao vận Tầng kiểm soát phiên hội thoại máy tính  Tầng trình diễn (Presentation layer): Tầng trình diễn hoạt động tầng liệu mạng Tầng máy tính truyền liệu làm nhiệm vụ dịch liệu gửi từ tầng Application sang dạng Format chung Và máy tính nhận, lớp lại chuyển từ Format chung sang định dạng tầng Application  Tầng ứng dụng (Application Layer): Tầng ứng dụng tầng gần với người sử dụng Nó cung cấp phương tiện cho người dùng truy nhập thông tin liệu mạng thông qua chương trình ứng dụng Tầng giao diện để người dùng tương tác với chương trình ứng dụng, qua với mạng Một số ví dụ ứng dụng tầng bao gồm Telnet, giao thức truyền tập tin FTP giao thức truyền thư điện tử SMTP, IMAP, POP3, giao thức truy cập mạng HTTP, HTTPS… 1.3 Mơ hình TCP/IP Mặc dù mơ hình OSI thừa nhận đẹp hợp lý mặt mơ hình, thực tế có chuẩn khác mang tính kỹ thuật sử dụng Internet TCP/IP (Transmission Control Protocol/Internet Protocol) [2] Hiǹ h 1.2 Mơ hình giao thức TCP/IP Là giao thức truyền thông cài đặt chồng giao thức mà Internet hầu hết mạng máy tính thương mại chạy Bộ giao thức đặt tên theo hai giao thức TCP (Giao thức Điều khiển Giao vận) IP (Giao thức Liên mạng) Mơ hình gồm tầng:  Network Access Layer: Phương pháp sử dụng để chuyển gói tin từ tầng mạng tới máy chủ (host) khác Tầng gộp từ hai tầng vật lý tầng liên kết liệu mơ hình OSI, tầng nơi gói tin chặn (intercepted) để gửi qua mạng riêng ảo (Virtual Private Network)  Internet Layer: Chức tương tự mơ hình OSI  Transport Layer: Chức tương tự mơ hình OSI Trách nhiệm tầng giao vận kết hợp khả truyền thông điệp trực tiếp (end-to-end) không phụ nguồn Trong trường hợp tổng qt, nút đích có đệm với dung lượng W gói cho liên kết gửi ACK cho nút nguồn đệm chỗ trống Nút đích xóa gói tin đệm truyền thành cơng đến nút đường truyền hay khỏi mạng 24 Chương Mô 2.1 Phương pháp u cầu Sử dụng ngơn ngữ matlab để lập trình mô phương pháp: Stop and Wait, Go Bank N ARQ, Selective Repeat ARQ Đối với phương pháp yêu cầu đầu vào phần 2.1.1 Đặc tả Stop and Wait  Đầu vào: - Tốc độ bit (Rb): Để biểu thị tốc độ phát tối đa bên pháp - Chiều dài gói tin (L): Chiều dài gói tin - Số gói tin gửi (pkt): Số lượng gói tin cần gửi - Phần trăm gửi gói tin khơng bị lỗi: tỉ lệ mà bên nhận nhận gói tin Nghĩa bên phát bit ‘1’ bên thu nhận bit ‘1’ - Phần trăm gói tin khơng bị mất: tỉ lệ phần trăm gói tin nhận bên thu trường hợp tin sai - Trễ lan truyền (prop): trể truyền sóng phía phát phía thu - Time Out: độ trễ thời gian để bên phát chờ tín hiệu phản hổi bên thu gửi tới, vượt thời gian bên phát gửi lại gói tin  Đầu ra: - Xuất trình phát, thu tin thơng báo bên phát - Hiệu suất phương pháp 2.1.2 Đặc tả Go Bank N ARQ  Đầu vào: - Tốc độ bit (Rb): Để biểu thị tốc độ phát tối đa bên pháp - Chiều dài gói tin (L): Chiều dài gói tin - Số gói tin gửi (pkt): Số lượng gói tin cần gửi 25 - Phần trăm gửi gói tin khơng bị lỗi: tỉ lệ mà bên nhận nhận gói tin Nghĩa bên phát bit ‘1’ bên thu nhận bit ‘1’ - Phần trăm gói tin khơng bị mất: tỉ lệ phần trăm gói tin nhận bên thu trường hợp tin sai - Trễ lan truyền (prop): trể truyền sóng phía phát phía thu - Time Out: độ trễ thời gian để bên phát chờ tín hiệu phản hổi bên thu gửi tới, vượt thời gian bên phát gửi lại gói tin - Kích thước sổ: số cửa sổ mà bên phát bên thu đáp ứng  Đầu ra: - Xuất trình phát, thu tin thông báo bên phát - Hiệu suất phương pháp 2.1.3 Đặc tả Selective Repeat ARQ  Đầu vào: - Tốc độ bit (Rb): Để biểu thị tốc độ phát tối đa bên pháp - Chiều dài gói tin (L): Chiều dài gói tin - Số gói tin gửi (pkt): Số lượng gói tin cần gửi - Phần trăm gửi gói tin khơng bị lỗi: tỉ lệ mà bên nhận nhận gói tin Nghĩa bên phát bit ‘1’ bên thu nhận bit ‘1’ - Phần trăm gói tin khơng bị mất: tỉ lệ phần trăm gói tin nhận bên thu trường hợp tin sai - Trễ lan truyền (prop): trể truyền sóng phía phát phía thu - Time Out: độ trễ thời gian để bên phát chờ tín hiệu phản hổi bên thu gửi tới, vượt thời gian bên phát gửi lại gói tin - Kích thước sổ: số cửa sổ mà bên phát bên thu đáp ứng  Đầu ra: - Xuất q trình phát, thu tin thơng báo bên phát - Hiệu suất phương pháp 26 2.2 Kết 2.2.1 Stop and Wait  Code Mô Phỏng: function [ TIME ] = StopAndWait_HS(T_l, P_Eff, P_Lost, prop, NumberOfPacket, TimeOut) % P_Eff xs sai % P_Lost xs mat pkt = 1; PacketNumber = zeros(NumberOfPacket, 1); while (pkt

Ngày đăng: 07/12/2021, 11:37

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w