Giao thức TCổ phần/IP & lập trình mạng JAVA

Tài liệu Giao thức TCổ phần/IP & lập trình mạng JAVA: ... Ebook Giao thức TCổ phần/IP & lập trình mạng JAVA

doc69 trang | Chia sẻ: huyen82 | Lượt xem: 1763 | Lượt tải: 1download
Tóm tắt tài liệu Giao thức TCổ phần/IP & lập trình mạng JAVA, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» имени В.И.Ульянова(Ленина) (СПбГЭТУ) Направление 552800 - “Информатика и вычислительная техника” Кафедра МО ЭВМ К защите допустить: Руководитель направления д.т.н., проф. А.Р. Лисс ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЫ БАКАЛАВРА Тема: “Протоколы TCP/IP и сетевое программирование в Java” Студентка: Нгуен Тхи Тху Группа: ЛЭТИ01B (3083) Руководитель: Магистр Нго Зуи Хоа Зав. кафедрой МО ЭВМ д.т.н., проф. А.Р. Лисс Санкт-Петербург 2007 г. CƠ QUAN GIÁO DỤC LIÊN BANG Cơ sở giáo dục đại học chuyên nghiệp quốc gia Trường đại học tổng hợp kỹ thuật điện Xanh-Pêtécbua «LETI» mang tên V.I. Ulianôv(Lênin) (СПбГЭТУ) ---------------------------------------- Hướng ngành 552800 - "Tin học và kỹ thuật tính toán" Bộ môn Đảm bảo toán học máy tính Cho phép bảo vệ: Lãnh đạo hướng ngành TSKH, GS. A.R. Lixx LUẬN VĂN TỐT NGHIỆP CHUYÊN NGÀNH BẬC CỬ NHÂN Đề tài: GIAO THỨC TCP/IP VÀ LẬP TRÌNH MẠNG JAVA Sinh viên: Nguyễn Thị Thu Lớp: LETI01B (3083) Giáo viên hướng dẫn: ThS. Ngô Duy Hoà Trưởng bộ môn Đảm bảo toán học máy tính: TSKH, GS. A.R.Lixx Xanh-Pêtécbua 2007 Утверждаю Председатель НМС ЭТУ по направлению 230100 "Информатика и вычислительная техника" профессор Герасимов И.В. _____________________________________________ "_____"__________________2006 САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ЗАДАНИЕ НА ВЫПУСКНУЮ КВАЛИФИКАЦИОННУЮ РАБОТУ БАКАЛАВРА Студенту: Нгуен Тхи Тху 1. Тема работы: Анализ протокола TCP/IP и программирование TCP в JAVA утверждена на заседании НМС ЭТУ по направлению 230100 2006 2. Срок сдачи студентом законченной работы 15 Марта 2007 г 3. Исходные данные к работе - Изучение компюьтерных сетей_________________________________ - Собор материалов ___________________________________________ - сферы изучения темы_________________________________________ 4. Содержание расчетно-пояснительной записки (перечень подлежащих разработке вопросов) - Изучение протоколов и классов - Изутение библиотек при программирование в JAVA - Иклюстрирующие примеры 5. Консультанты по работе (с указанием относящихся к ним разделов работы): Кринкин К.В., к.т.н., ассистент каф. МО ЭВМ 6. Дата выдачи задания " 15 " ноября 2006 г Зав. кафедрой (подпись) Руководитель (подпись) Магистр. Нго Зуи Хоа Задание к исполнению принял (дата, подпись студента) Нгуен Тхи Тху Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» ----------- Ханойский технологический университет О Т З Ы В Р У К О В О Д И Т Е Л Я В К Р Студент: Нгуиен Тхи Тху. Факультет_ Программа Международного Образования – ПМО Кафедра____ МО ЭВМ____________________________Группа : 3083 Направление _552800 «Информатика и вычислительная техника» Присуждаемая степень__Бакалавр Наименование темы: Протоколы TCP/IP и сетевое программирование в Java Руководитель: Нго Зуй Хоа. Преподаватель кафедры ФИТ - ХТУ ПОКАЗАТЕЛИ ОЦЕНКИ ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЫ № Показатели Оценка 5 4 3 0* Профессиональная 1 Оригинальность и новизна полученных результатов, научных, конструкторских и технологических решений Х 2 Степень самостоятельного и творческого участия студента в работе Х 3 Корректность формулирования задачи исследования и разработки Х 4 Уровень и корректность использования в работе методов исследований, математического моделирования, инженерных расчетов и технологий разработки программного и информационного обеспечения Х Справочно- информационная 5 Степень комплексности работы. Применение в ней знаний естественнонаучных, социально-экономических, обще-профессиональных и специальных дисциплин * 6 Использование информационных ресурсов Internet Х 7 Использование современных пакетов компьютерных программ и технологий Х Оформительская 8 Степень полноты обзора состояния вопроса Х 9 Ясность, четкость, последовательность и обоснованность изложения Х 10 Качество оформления пояснительной записки (общий уровень грамотности, стиль изложения, качество иллюстраций, соответствие требованиям стандарта к этим документам) Х 11 Объем и качество выполнения графического материала, его соответствие тексту записки и стандартам Х ИТОГОВАЯ ОЦЕНКА 5 * - не оценивается (трудно оценить) Компьютерные сети широко используются везде в мире. Они стали важной исследовательной областью в мире техноглогий информациии. В этой связи тема диссертация студентки Нгуиен Тхи Тху, посвященная исследования протоколов TCP/IP и создания сетевых приложениий, представляется весьма актуальной. Работа имеет 5 разделов. Первый раздел содержит обзор вычислительных сетей. Во втором разделе приведен краткий обзор модели стеков OSI. В третем разделе описаны стеки модели TCP/IP и набор протоколов: IP, TCP, UDP. В четвертом разделе описаны характеристики сетевого программирования в Java и приведены иллюстрированные програмы. В пятом разделе приведены экспериментальные результаты. С поставленными в работе задачами студентка Нгуиен Тхи Тху успешно справился, проявив самостоятельность, высокий уровень знаний и работоспособность. Работа выполнена на высоком уровне и заслуживает оценку «отлично». Ханой, 01 мая 2007 Руководитель: Нго Зуй Хоа. MỤC LỤC LỜI CẢM ƠN Trước hết, em xin chân thành cảm ơn các thầy cô giáo khoa Công nghệ thông tin Đại học Bách Khoa Hà Nội và Học viện kĩ thuật điện Xanh-Pêtecpua đã giảng dạy, trang bị cho em những kiến thức cần thiết trong thời gian học tập tại khoa. Đặc biệt, em xin chân thành cảm ơn thầy giáo Ngô Duy Hoà, bộ môn Khoa học máy tính, Khoa Công nghệ thông tin trường Đại học Bách Khoa Hà Nội, đã hướng dẫn em ngay từ những bước đầu tiên trong viêc lựa chọn, phát triển đề tài cho đồ án tốt nghiệp. Trong suốt quá trình triển khai đề tài, thầy đã tận tình hướng dẫn, tạo điều kiện thuận lợi, giúp đỡ em hoàn thành đồ án tốt nghiệp. Cuối cùng, em xin cảm ơn gia đình và bạn bè đã động viên và giúp đỡ trong thời gian thực hiện đồ án này. LỜI NÓI ĐẦU Mạng máy tính ngày nay đã trở thành một phần quan trọng trong ngành truyền thông. Trên thế giới, ban đầu chỉ có vài mạng máy tính được đưa vào sử dụng ở các viện nghiên cứu và phục vụ quốc phòng. Cùng với thời gian, khoa học công nghệ phát triển, mạng máy tính đã có mặt ở khắp mọi nơi từ các trường học, các công ty đến các học viện...Mục đích chính của sự ra đời mạng máy tính là để chia sẻ các tài nguyên hệ thống, để trao đổi thông tin. Ta biết rằng trong thời đại thông tin hiện nay, khối lượng thông tin ngày càng phong phú, đa dạng thì vấn đề sắp xếp các khối thông tin khổng lồ một khoa học, dễ truy tìm, dễ trao đổi, sử dụng một cách nhanh chóng là vấn đề cấp bách. Hiện nay, ứng dụng công nghệ thông tin trong sản xuất và phát triển kinh tế là mục tiêu hàng đầu của các quốc gia. Mạng máy tính trở thành một lĩnh vực nghiên cứu, phát triển và ứng dụng cốt lõi của công nghệ thông tin, bao gồm rất nhiều vấn đề từ kiến trúc, đến nguyên lý thiết kế, cài đặt mô hình ứng dụng. Mạng viễn thông nói chung và máy tính nói riêng là công cụ không thể thiếu trong hoạt động của bộ máy nhà nước, các doanh nghiệp, trường học, ... và rất nhiều các lĩnh vực sản xuất khác. Trong thời gian nghiên cứu được sự hướng dẫn của tận tình của thầy NGÔ DUY HOÀ cùng các thầy cô giáo giúp em tìm hiểu về lý thuyết về mạng máy tính, các giao thức truyền thông và các ứng dụng bao gồm những kiến thức cơ bản về các loại mạng, mô hình mạng, kiến trúc mạng, mô hình OSI, TCP/IP ...Với mong muốn tìm hiểu kỹ về công nghệ thông tin, mạng máy tính có thể xây dựng, ứng dụng tối đa các tiện ích mà mạng máy tính mang lại trong lĩnh vực truyền thông và phát phần mềm. Em đã tìm hiểu những vấn đề trên và nghiên cứu về “ Mạng máy tính và TCP/IP” làm đồ án tốt nghiệp của mình. Chương 1. TỔNG QUAN VỀ MẠNG MÁY TÍNH 1.1. Sự hình thành của mạng máy tính Từ những năm 1960 đã xuất hiện các mạng nối các máy tính và các Terminal để sử dụng chung nguồn tài nguyên, giảm chi phí khi muốn thông tin trao đổi số liệu và sử dụng trong công tác văn phòng một cách tiện lợi. Hiện nay với việc tăng nhanh các máy tính mini và các máy tính cá nhân làm tăng yêu cầu truyền số liệu giữa các máy tính, giũa các Terminal, và giữa các Terminal với máy tính là một trong những động lực thúc đẩy sự ra đời và phát triển ngày càng mạnh mẽ các mạng máy tính. Các mạng được nối với nhau bằng đường truyền còn các máy tính xử lí thông tin của người dùng hoặc các trạm cuối được nối trực tiếp vào các nút mạng để khi cần thì trao đổi thông tin qua mạng. Các nút mạng thường là các máy tính nên nó đồng thời đóng vai trò của người sử dụng. Chức năng của nút mạng: Quản lý truyền tin, quản lý mạng. Như vậy các máy tính ghép nối với nhau hình thành mạng máy tính, ở đây ta thấy mạng truyền thông cũng ghép nối các máy tính với nhau nên khái niệm mạng máy tính và mạng truyền thông có thể không phân biệt. Việc hình thành mạng máy tính nhằm đạt các mục đích sau: 1. Tận dụng và làm tăng giá trị của tài nguyên. 2. Chinh phục khoảng cách. 3. Tăng chất lượng và hiệu quả khai thác xử lí thông tin. 4. Tăng độ tin cậy của hệ thống nhờ khả năng thay thế khi xay ra sự cố đối với một máy tính nào đó. Như vậy: Mạng máy tính là tập hợp các máy tính được ghép với nhau bởi các đường truyền vật lý theo một kiến trúc nào đó. 1.2. Các yếu tố của mạng máy tính 1.2.1. Đường truyền vật lý Đường truyền vật lý là thành phần để chuyển các tín hiệu điện tử giữa các máy tính. Các tín hiệu điện tử đó biểu thị giữa các dữ liệu dưới dạng xung nhị phân. Tất cả các tín hiệu truyền giữa các máy tính đều ở dạng sóng điện từ và có tần số trải từ cực ngắn cho tới tới tần số của tia hồng ngoại. 1.2.2. Kiến trúc mạng Kiến trúc mạng máy tính bao gồm cách ghép nối vật lý các máy tính với nhau và các quy tắc, quy ước mà tất cả các thể tham gia trong hệ thống mạng phải tuân theo để đảm bảo cho mạng hoạt động tốt. Cách các máy tính được ghép nối với nhau được gọi là topology của mạng còn các quy ước truyền thông được gọi là giao thức (Protocol). 1.2.3. Giao thức mạng (network protocol) Việc trao đổi thông tin giữa các nút với nhau cần phải tuân theo một số quy tắc, quy ước nhất định nào đó.Tập hợp các quy tắc, quy ước để đảm bảo trao đổi và xử lý thông tin trên mạng gọi là giao thức. Các mạng được thiết kế khác nhau có thể tuân theo một số các giao thức khác nhau, tuy nhiên người ta đưa ra một số các giao thức chuẩn được dùng trên mạng khác nhau. 1.3. Phân loại mạng máy tính Người ta phân loại mạng máy tính khác nhau tuỳ theo các yếu tố chính được chọn như: Khoảng cách địa lý, kỹ thuật chuyển mạch, kiến trúc mạng, cơ chế hoạt động của mạng... Nếu lấy khoảng cách địa lý làm yếu tố chính để phân loại mạng thì mạng được phân thành: mạng cục bộ, mạng đô thị, mạng diện rộng, mạng toàn cầu. + Mạng cục bộ (Local Area Network - LAN) là mạng được cài đặt trong một phạm vi tương đối nhỏ (trong một toà nhà, trong một phòng ban hoặc trong một công ty...) với đường kính giới hạn trong khoảng vài chục Km. + Mạng đô thị (Metropolitan Area Network - MAN) là mạng được cài đặt trong phạm vi một thành phố, một trung tâm kinh tế ... phạm vi cài đặt là hàng trăm Km. + Mạng diện rộng (Wide Area Network - WAN) là mạng có phạm vi hoạt động có thể là cả một vùng, một khu vực và có thể vượt qua cả biên giới một quốc gia... + Mạng toàn cầu (Global Area Network - GAN) phạm vi của mạng trải rộng khắp lục địa của trái đất. Chương 2. KIẾN TRÚC PHÂN TẦNG VÀ MÔ HÌNH OSI 2.1. Kiến trúc phân tầng Để giảm độ phức tạp trong thiêt kế và cài đặt mạng,các mạng máy tính được tổ chức thiết kế theo kiểu phân tầng (layering). Trong hệ thống thành phần của mạng được tổ chức thành một cấu trúc đa tầng, mỗi tầng được xây dựng trên tầng trước đó; mỗi sẽ cung cấp một số dịch vụ cho tầng cao hơn. Số lượng các tầng cũng như chức năng của mỗi tầng là tuỳ thuộc vào nhà thiết kế. Ví dụ cấu trúc phân tầng của mạng SNA của IBM, mạng DECnet của Digital, mạng ARPANET... là có sự khác nhau. Nguyên tắc cấu trúc phân tầng (Số lượng tầng, chức năng của mỗi tầng là như nhau). Tầng i của hệ thống A sẽ hội thoại với tầng i của hệ thống B, các quy tắc và quy ước dùng trong hội thoại gọi là giao thức mức I. Giữa hai tầng kề nhau tồn tại một giao diện (interface) xác định các thao tác nguyên thuỷ của tầng dưới cung cấp nên tầng trên. Trong thực tế dữ liệu không truyền trực tiếp từ tầng i của hệ thống này sang tầng i của hệ thống khác (trừ tầng thấp nhất trực tiếp sử dụng đường truyền vật lý để truyền các sâu bít (0.1) từ hệ thống này sang hệ thống khác). Dữ liệu được truyền từ hệ thống gửi (sender) sang hệ thống nhận (receiver) bằng đường truyền vật lý cứ như vậy dữ liệu lại đi ngược lên các tầng trên. Như vậy khi hai hệ thống liên kết với nhau, chỉ tầng thấp nhất mới có liên kết vật lý còn ở tầng cao hơn chỉ có liên kết logic (liên kết ảo) được đưa vào để hình thức hoá các hoạt động của mạng thuận tiện choviệc thiết kế và cài đặt các phần mềm truyền thông. Như vậy để viết chương trình cho tầng N, phải biết tầng N+1 cần gì và tầng N+1 có thể làm được gì. Hình 2.1 Minh hoạ kiến trúc phân tầng tổng quát Hệ thống A Hệ thống B Tầng N Tầng N-1 Tầng 2 Tầng 1 Tầng N Tầng N-1 Tầng 2 Tâng1 Giao thức tầng N Giao thức tầng N-1 Giao thức tầng 2 Giao thức tầng 1 đường truyền vật lý 2.2. Mô hình OSI Do các nhà thiết kế tự chọn kiến trúc mạng riêng cho mình. Từ đó dẫn đến tình trạng không tương thích giữa các mạng về: Phương pháp truy nhập đường truyền khác nhau, họ giao thức khác nhau... sự không tương thích đó làm trở ngại cho quá trình tương tác giữa các mạng khác nhau. Nhu cầu trao đổi thông tin càng lớn thì trở ngại đó càng không thể chấp nhận được với người sử dụng. Với lý do đó tổ chức chuẩn hoá quốc tế ISO đã thành lập một tiểu ban nhằm xây dựng một khung chuẩn về kiến trúc mạng để làm căn cứ cho các nhà thiết kế và chế tạo các sản phẩm mạng. Năm 1984 tổ chức tiêu chuẩn hoá quốc tế ISO đã đưa ra mô hình tham chiếu cho việc kết nối các hệ thống mở (Reference Model for Open System Inter - connection) hay gọn hơn là OSI Reference Model. Mô hình này dựa trên các hệ thống mở phục vụ cho các ứng phân tán. Để xây dựng mô hình OSI cũng xuất phát từ kiến trúc phân tầng dựa trên các nguyên tắc chủ yếu sau: - Để đơn giản cần hạn chế số tầng. - Tạo ranh giới các tầng sao cho các tương tác và mô tả về dịch vụ là tối thiểu. - Chia các tầng sao cho các chức năng khác nhau được tách riêng biệt với nhau, và các tầng sử dụng công nghệ khác nhau cũng được tách riêng. - Các chức năng giống nhau được đặt cùng một tầng. - Các chức năng được định vị sao cho có thể thiết kế lại mà ảnh hưởng ít nhất tới các tầng kế tiếp nó. - Tạo ranh giới giữa các tầng sao cho có thể chuẩn hoá giao diện tương ứng. - Tạo một tầng khi dữ liệu được xử lí một cách khác biệt. - Cho phép thay đổi các chức năng hoặc giao thức trong một tầng không ảnh hưởng tới các tầng khác. - Mỗi tầng chỉ có một ranh giới với tầng ở trên và dưới nó. Các nguyên tắc tương tự áp dụng cho các tầng con. - Có thể chia một tầng thành nhiều tầng con khi cần thiết. 7. Application layer 6. Presentation layer 5. Session layer 4. Transport layer 3. Network layer 2. Data link layer 1. Physical layer Và kết quả là mô hình OSI gồm 7 tầng với các chức năng và tên gọi như sau: Hình 2.2. Mô hình OSI 2.2.1. Physical layer (Tầng vật lý ) Physical layer là lớp thấp nhất trong mô hình OSI. Tầng này điều khiển dữ liệu thô, không có cấu trúc, gửi và nhận các dòng bits dữ liệu qua các thiết bị truyền dẫn vật lý. Tầng vật lý định nghĩa cách cáp nối với NIC như thế nào. Ví dụ nó định nghĩa connector có bao nhiêu chân và chức năng của mỗi chân cắm. Nó cũng định nghĩa kỹ thuật truyền dẫn được sử dụng để truyền dữ liệu trên mạng. Tầng này cung cấp các chức năng mã hoá và đồng bộ dữ liệu đảm bảo rằng các bits 0 và 1 truyền đi khi nhận vẫn là các bits 0 và 1. Nó cũng được gọi là tầng “Hardware”. 2.2.2. Data link layer (Tầng liên kết dữ liệu ) Tầng data link có nhiệm vụ truyền các khung dữ liệu từ máy tính này sang máy tính khác qua tầng vật lý. Tầng data link thực hiện các chức năng sau: 1. Thành lập và kết thúc liên kết logic giữa hai máy tính . 2. Đóng gói dữ liệu thô từ tầng vật lý thành các frame. 3. Điều khiển các frame dữ liệu: Phân tích các tham số của fram dữ liệu, phát hiện lỗi và gửi lại dữ liệu nếu có lỗi. 4. Quản lý quyền truy cập cáp, xác định khi nào thì máy tính có quyền truy cập cáp. 2.2.3. Network layer (Tầng mạng) Tầng mạng có trách nhiệm địa chỉ hoá, dịch từ địa chỉ logic sang địa chỉ vật lý, định tuyến dữ liệu từ nơi gửi tới nơi nhận. Nó xác định đường truyền nào tốt trên cơ sở các điều kiện của mạng, quyền ưu tiên dịch vụ. Nó cũng quản lý các vấn đề giao thông trên mạng như chuyển mạch, định tuyến và điều khiển sự tắc nghẽn của dữ liệu . 2.2.4. Transport layer (Tầng vận chuyển) Tầng vận chuyển đảm bảo rằng dữ liệu được truyền đi không bị mất và không bị trùng. Chức năng của tầng vận chuyển gồm: 1. Nhận các thông tin từ tầng trên và chia nhỏ thành các đoạn dữ liệu nếu cần. 2. Cung cấp sự vận chuyển tin cậy (End to End) với các thông báo (Acknowledment). 3. Chỉ dẫn cho máy tính không truyền dữ liệu khi buffer là không có sẵn. 2.2.5. Session layer (Tầng phiên) Tầng phiên thành lập một kết nối giữa các tiến trình đang chạy trên các máy tính khác nhau. Các chức năng của tầng phiên gồm: 1. Cho phép tiến trình ứng dụng đăng ký một địa chỉ duy nhất như là NetBIOS name. Tầng session lưu các địa chỉ đó để chuyển sang địa chỉ của NIC từ địa chỉ của tiến trình. 2. Thành lập, theo dõi, kết thúc virtual circuit session giữa hai tiến trình dựa trên địa chỉ duy nhất của nó. 3. Định danh thông báo, thêm các thông tin xác định bắt đầu và kết thúc thông báo. 4. Đồng bộ dữ liệu và kiểm tra lỗi. 2.2.6. Presentation layer (Tầng trình diễn) Tầng trình diễn hoạt động như tầng dữ liệu trên mạng. Tầng này trên máy tính truyền dữ liệu, dịch dữ liệu được gửi từ tầng Application sang dạng format chung. Và tầng này tại máy tính nhận lại chuyển từ format chung sang định dạng của tầng Application. Tầng trình diễn thực hiện các chức năng sau: 1. Dịch các mã ký tự từ ASCII sang EBCDIC. 2. Chuyển đổi dữ liệu, ví dụ từ số Interger sang số dấu phảy động. 3. Nén dữ liệu để giảm lượng dữ liệu truyền trên mạng. 4. Mã hoá và giải mã dữ liệu để đảm bảo sự bảo mật trên mạng. 2.2.7. Application layer (Tầng ứng dụng) Tầng mạng như là giao diện của người sử dụng và các ứng dụng để truy cập các dịch vụ mạng. Tầng ứng dụng cung cấp các chức năng sau: 1. Chia sẻ tài nguyên và các thiết bị. 2. Truy cập file từ xa. 3. Truy cập máy in từ xa. 4. Hỗ trợ RPC. 5. Quản lý mạng. 6. Dịch vụ thư mục. Mô hình OSI cho phép truyền thông giữa các máy tính không giống nhau. Hai hệ thống dù khác nhau thế nào đi chăng nữa đều có thể truyền thông với nhau một cách hiệu quả nếu chung đảm bảo nhữngđiều kiện chung sau: - 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ầng. - Các tầng đồng mức phải cùng chức năng như nhau (nhưng phương thức cung cấp không nhất thiết phải giống nhau). - Các tầng đồng mức phải sử dụng một giao thức chung. Để đảm bảo các điều kiện trên cần phải có các chuẩn. Các chuẩn phải xác định các chức năng và dịch vụ được cung cấp bởi một tầng. Các chuẩn phải xác định các giao thức giữa các tầng đồng mức. Mô hình OSI chính là cơ sở để xây dựng các chuẩn đó. 2.3. Truyền dữ liệu trong mô hình OSI Tiến trình gửi dữ liệu gồm vài dữ liệu muốn gửi qua tiến trình nhận. Dữ liệu đưa xuống tầng ứng dụng, dữ liệu đó gắn thêm phần đầu áp dụng (AH-Application Header) vào phía trước dữ liệu và kết quả đưa xuống cho tầng trình diễn. Tầng trình diễn có thể biến đổi mục dữ liệu này theo nhiều cách khác nhau, thêm phần header vào đầu và đi xuống tầng phiên. Quá trình này được lặp đi lặp lại cho đến khi dữ liệu đi xuống tầng vật lý, ở đó chúng thực sự được truyền sang máy nhận. Máy nhận các phần header khác nhau được loại bỏ từng cái một khi các thông báo truyền lên theo các lớp cho lên tới tiến trình nhận. Như vậy, việc truyền dữ liệu thực hiện theo chiều dọc. Khi tầng giao vận ở máy gửi nhận một thông báo từ tầng phiên gắn một Transport Header và gửi nó qua tầng giao vận nhận. Application Presentation Session Transport Network Data link Physical AH DâT Application Presentation Session Transport Network Data link Physical PH DATA SH DATA TH DATA NH DATA DH DATA PH Bits DATaaaaaaaaaAAATA Gthức lớp ứng dụng Giao thức trình diễn Hình 2.3. Truyền dữ liệu trong mô hình OSI Chương 3. GIAO THỨC MẠNG TCP/IP TCP/IP có một số đặc tính quan trọng sau: Là bộ giao thức chuẩn mở và sẵn có vì: nó không thuộc sở hữu của bất cứ một tổ chức nào; các đặc tả thì sẵn có và rộng rãi. Vì vậy bất kỳ ai cũng có thể xây dựng phần mềm truyền thông qua mạng máy tính dựa trên nó. TCP/IP độc lập với phần cứng mạng vật lý, điều này cho phép TCP/IP có thể được dùng để kết nối nhiều loại mạng có kiến trúc vật lý khác nhau như Ethernet, Token ring, FDDI, X25, ATM... TCP/IP dùng địa chỉ IP để định danh các host trên mạng tạo ra một mạng ảo thống nhất khi kết nối mạng. Các giao thức lớp cao được chuẩn hoá thích hợp sẵn có với người dùng. 3.1. Cấu trúc phân lớp của TCP/IP 3.1.1. Lớp ứng dụng (Application) Đây là lớp cao nhất trong cấu trúc phân lớp của TCP/IP. Lớp này bao gồm tất cả các chương trình ứng dụng sử dụng dịch vụ có sẵn thông qua một TCP/IP internet. Các chương trình ứng dụng tương tác với một trong các giao thức của lớp Transport để truyền hoặc nhận dữ liệu. Mỗi chương trình ứng dụng lựa chọn một kiểu giao thức thích hợp cho công việc của nó. Chương trình ứng dụng chuyển dữ liệu theo mẫu mà lớp Trasport yêu cầu 3.1.2. Transport Layer Nhiệm vụ của lớp Transport là cung cấp sự giao tiếp thông tin giữa các chương trình ứng dụng. Mỗi sự giao tiếp được gọi là end-to-end. Lớp Transport cũng có thể điều chỉnh lưu lượng luồng thông tin. Nó cũng cung cấp một sự vận chuyển tin cậy, đảm bảo rằng dữ liệu đến không bị lỗi. Để làm như vậy, phần mềm giao thức hỗ trợ để bên nhận có thể gửi lại các thông báo xác nhận về việc thu dữ liệu và bên gửi có thể gửi lại các thông báo xác nhận về việc thu dữ liệu và bên gửi có thể truyền lại các gói tin bị mất hoặc bị lỗi. Phần mềm giao thức chia dòng dữ liệu ra thành những đơn vị dữ liệu nhỏ hơn (thường được gọi là Packet) và chuyển mỗi packet cùng với địa chỉ đích tới lớp tiếp theo để tiếp tục quá trình truyền dẫn. 3.1.3. Internet Layer Như chúng ta vừa thấy, lớp Internet xử lý giao tiếp thông tin từ một máy này đến một máy khác. Nó chấp nhận một yêu cầu để gửi một gói từ lớp Transport với một định danh của máy đích mà gói tin sẽ được gửi tới. Nó sẽ bọc gói tin trong một IP Datagram, điền đầy vào trong phần header, sử dụng giải thuật chọn đường để quyết định là giao phát gói tin trực tiếp hay là gửi nó đến các Router, và chuyển datagram tới giao diện phối ghép mạng thích hợp cho việc truyền dẫn. Lớp Internet cũng xử lí các datagram đến, kiểm tra tính hợp lệ của chúng, và sử dụng giải thuật chọn đường để quyết định là Datagram sẽ được xử lí cục bộ hay là được chuyển tiếp đi. Đối với các datagram có địa chỉ cục bộ, thì phần mềm lớp internet sẽ xoá phần header của các Datagram đó, và chọn trong số các giao thức lớp Transport một giao thức thích hợp để xử lí Packet. Trong lớp Internet còn gửi ICMP (Information Control Message Protocol) và các messages điều khiển khi cần thiết xử lí tất cả mọi ICMP Messages. 3.1.4. Network access layer Lớp thấp nhất trong của mô hình phân lớp TCP/IP, chịu trách nhiệm chấp nhận các IP Datagrams và việc truyền phát chúng trên một mạng xác định. Một giao diện phối ghép mạng có thể gồm một bộ điều khiển thiết bị (ví dụ như khi mạnglà mạng cục bộ nhà máy được gắn nối trực tiếp tới) hoặc là một hệ thống con phức tạp sử dụng giao thức Data Link của bản thân nó (ví dụ khi mạng bao gồm các chuyển mạch gói giao tiếp với các host bằng giao thức HDLC. 3.2. Các giao thức củaTCP/IP Ta nghiên cứu chủ yếu đến các giao thức tầng Trantsport và tầng Network. Bao gồm Protocol IP, ICMP, UDP, TCP. 3.2.1. Giao thức IP Internet protocol (IP), là tên gọi giao thức lớp Internet định nghĩa các phương tiện giao phát unreliable, connectionless, và thường được biết với các tên tắt là IP. Trước nhất, giao thức IP định nghĩa những đơn vị của việc truyền dữ liệu được dùng qua một mạng TCP/IP Internet. Vì vậy, nó xác định chính xác khuôn dạng của tất cả dữ liệu khi nó được chuyển qua một mạng TCP/IP Internet. Thứ hai, phần mềm IP thực hiện chức năng chọn đường để chọn ra đường để gửi dữ liệu qua. Thứ ba, để thêm vào tính chính xác để đặc tả kỹ thuật của khuôn dạng dữ liệu và chọn đường thông thường, IP gồm có cả một tập các luật biểu hiện cho ý tưởng của hệ thống giao phát gói tin unreliable. Các luật chỉ rõ việc làm thế nào để các host và các Routers xử lí các gói tin làm thế nào và khi nào các thông báo lỗi sẽ được phát đi, và các điều kiện cho việc huỷ gói tin. IP là phần chủ yếu của thiết kế nên một mạng TCP/IP Internet đôi khi còn được gọi là một mạng dựa trên kỹ thuật IP (IP-bansed technology). Internet Datagram Có rất nhiều sự tương tác giữa một mạng vật lý và một TCP/IP Internet. Trên một mạng vật lý, đơn vị truyền là frame cái chứa một header và dữ liệu, phần header mang nhiều thông tin địa chỉ nguồn đích. Internet gọi những đơn vị truyền cơ sở của nó là Internet Datagram (IP Datagram) hay đơn giản là Datagram. Như một khung mạng vật lý, một Datagram được chia thành vùng header và vùng dữ liệu. Phần header cũng tương tự frame, nó chứa địa chỉ nguồn địa chỉ đích và một trường type dùng định danh nội dung của Datagram. Sự khác nhau header của Datagram chứa địa chỉ IP còn header của frame chứa địa chỉ vật lý. Hình sau mô tả dạng tổng quát của một Datagram. Datagram Header Datagram Data khuôn dạng Datagram VERS HLEN Kiểu dịch vụ Tổng độ dài Identification FLAGS FRAGMENT OFFSET TIME TO LIVE PROTOCOL HEADER CHECKSUM Source IP Addess Destination IP Address IP OPTION (IF ANY) DATA PADDING .............................. Bởi vì quá trình xử lí Datagram là do phần mềm nên nội dung và khuôn b) Đóng gói các Datagram Trường hợp tiếp theo trong một Datagram là rất quan trọng để quyết định làm thế nào các Datagram liên quan tới các khung mạng vật lý. Bắt đầu với câu hỏi “Datagram có thể lớn tới mức nào”. Không giống như các frame mạng vật lý, cái có thể phải được nhận ra bởi phần cứng, các Datagram được xử lí bằng phần mềm. Chúng có thể có bất kì chiều dài nào mà người thiết kế lựa chọn. Khuôn dạng Datagram hiện chỉ phân 16 bits cho trường chiều dài tổng cộng nên giới hạn lớn nhất của chiều dài là Datagram là 65535 octets. Dù sao giới hạn đó có thể được thay đổi ở VERSION của giao thức sau này. Những giới hạn về kích thước Datagram nảy sinh từ thực tế. Chúng ta biết rằng, khi các Datagram chuyển từ máy này sang máy khác, chúng ta phải luôn vận chuyển bằng mạng vật lý bên dưới. Để thực hiện việc vận chuyển trong Internet một cách hiệu quả, giữa chúng ta phải bảo đảm rằng mỗi Datagram qua mạng trong một frame vật lý riêng biệt. Datagram Datagram Data Area Header FRAME FRAME DATA AREA Header Bọc gói tin trong IP một frame. Mạng vật lý coi toàn bộ Datagram gồm cả header như là dữ liệu. Ý nghĩa về việc mang một Datagram trong một frame mạng được gọi là “encapsulation”. Đối với mạng bên dưới, một Datagram giống như bất kỳ messages nào khác được gửi từ một máy này tới máy khác. Phần cứng không nhận ra khuôn dạng Datagram, cũng không hiểu được địa chỉ IP đích. Vì vậy, hình sau mô tả khi một máy gửi một IP Datagram tới một máy khác, toàn bộ Datagram được đặt vào phần dữ liệu của frame mạng. c) Kích thước Datagram,network MTU và sự phân mảnh Trong trường hợp lí tưởng, toàn bộ IP Datagram vừa khít trong một khung vật lý, việc thực hiện truyền dẫn qua một khung vật lý là hiệu quả. Để có những hiệu quả như vậy, những nhà thiết kế IP có thể IP có thể đã lựa chọn một kích thước Datagram tối đa để một Datagram sẽ luôn vưà trong một frame. Nhưng kích thước của frame sẽ được chọn là một Datagram có thể đi qua nhiều mạng vật lý khi nó chuyển qua một Internet tới đích cuối cùng của nó. d)Tái lắp ghép các mảnh Một Datagram sẽ được lắp ghép sau khi đi qua một mạng, hay là các mảnh sẽ được mang tới. Host cuối cùng trước khi lắp ghép? Trong một TCP/IP Internet khi một Datagram đã được phân mảnh thì các mảnh sẽ đi tới đích như thể tới những Datagram riêng biệt tới cùng một đích cuối là nơi chúng được lắp ghép lại. Việc duy trì cho tất cả các mảnh cùng tới một đích cuối có hai bất lợi. Thứ nhất bởi vì các Datagram không được lắp ghép lại ngay lập tức khi chuyển qua một mạng có MTD nhỏ, nên các mảnh nhỏ phải được mang từ nơi phân mảnh tới đích cuối cùng. Việc lắp ghép lại các Datagram tại đích cuối cùng có thể dẫn tới sự không hiệu quả, dù là một số trong các mạng vật lý đã gặp sau việc phân mảnh có MTD lớn hơn, trong khi chỉ các phân mảnh nhỏ đi qua nó. Thứ hai, nếu bất kỳ mảnh nào bị mất, Datagram không thể lắp ghép lại được. Máy nhận khởi tạo một bộ timer lắp ghép khi nó nhận được một mảnh khởi đầu. Nếu timer hết hiệu lực trước khi tất cả các mảnh tới thì máy đang nhận sẽ huỷ các gói mà không xử lí. Vì vậy mà khả năng các Datagram bị mất sẽ tăng khi việc phân mảnh xảy ra, bởi vì khi một mảnh bị mất sẽ tăng khi việc phân mảnh bị mất thì coi như cả Datagram bị mất. Bất chấp một số bất lợi phụ, việc thực hiện lắp ráp tại đích cuối cùng vẫn hoạt động tốt. Nó cho phép mỗi phân mảnh được định tuyến độc lập, và không đòi hỏi các Router trung gian lưu giữ chúng hoặc lắp ghép chúng. e) Điều khiển việc phân mảnh Ba trường trong phần Header của Datagram là Identification, Flags và Fragment offset điều khiển việc phân mảnh và lắp ráp Datagram. Trường Identification chứa một số nguyên duy nhất, định danh Datagram. Nhớ lại rằng khi một Router phân mảnh một Datagram thì nó coppy phần lớn các trường trong Header của Datagram ban đầu vào mỗi mảnh. Trường Identification cũng phải được coppy. Mục đích trước tiên là để cho đích biết mảnh đến nào là của Datagram nào. Khi một mảnh đến, đích dùng trường Identification để cùng với địa chỉ nguồn để xác định Datagram. Các máy tính gửi Datagram phải tạo ra một giá trị duy nhất cho mỗi Datagram. Một kỹ thuật được sử dụng bởi một phần mềm IP giữ một bộ đếm toàn cục (global counter) trong bộ nhớ, tăng nó mỗi lần một Datagram mới được tạo ra, và gán kết quả như._.

Các file đính kèm theo tài liệu này:

  • docDAN209.doc
Tài liệu liên quan