CHƯƠNG 1: CƠ SỞ LÝ THUYẾT. Quy trình Three Handshake Giả sử host A muốn truyền được dữ liệu qua host B thông qua một kết nối TCP. Host A cần phải thiết lập một kết nối TCP với host B, tiến trình Three - Way Handshake được thực hiện như sau: Máy A gửi cho Máy B segment đầu tiên có cờ SYN được bật lên, giả sử host A set cho segment này có số thứ tự là x, tuy nhiên segment này là segment đầu tiên nên không chứa data. Host B nhận được cờ SYN từ host A sẽ thực hiện respond lại một TCP segment, segment này có cờ SYN và ACK được bật lên như hình 1.
Giả sử host B set sequence segment này là y, segment respond của host B không chứa dữ liệu nhưng vẫn được tính là 1 byte. Host B phải chỉ rõ ACK sequence số thứ tự của byte tiếp theo mà nó muốn nhận từ A. Segment do A gửi qua được tính là 1 byte nên mong muốn nhận được byte tiếp theo là x + 1 do đó ACK được đánh số x + 1. Khi mà A nhận được respond từ B nó sẽ gửi segment có bật cờ ACK về lại cho B, ACK của A gửi đi biểu thị số thứ tự gói tin tiếp theo nó muốn nhận từ B nên ACK = y + 1.
Bộ môn Điện tử Viễn thông – Khoa Điện tử 22 Đồ án viễn thông 2 – Sinh viên Nguyễn Thành Nam Sau khi quá trình Three - Way Handshake được thiết lập, lúc này hai host A và B có thể trao đổi dữ liệu với nhau. Cơ chế điều khiển luồng (Flow control) Transport TCP/IP: Hình CHƯƠNG 1: CƠ SỞ LÝ THUYẾT. Cơ chế Flow Control Nếu host A gửi dữ liệu quá nhanh, host B không xử lý kịp, dữ liệu sẽ dễ bị mất. Để tránh mất dữ liệu host nhận trong phương thức TCP sẽ bật cơ chế điều khiển luồng bằng cách gửi cho host A một thông báo cho biết rằng host B đang không xử lý kịp, chưa sẵn sàng tiếp nhận segment mới.
Khi nhận được thông báo này, host A sẽ dừng gửi segment. Và đợi host B xử lý. Khi xử lý hoàn tất, Host B sẽ gửi một thông báo nó đã sẵn sàng tiếp nhận dữ liệu, host A sẽ tiếp tục gửi segment. Cơ chế ACK (Acknowledgement) của Transport TCP/IP: Hình CHƯƠNG 1: CƠ SỞ LÝ THUYẾT.
Cơ chế ACK báo nhận Bộ môn Điện tử Viễn thông – Khoa Điện tử 23 Đồ án viễn thông 2 – Sinh viên Nguyễn Thành Nam Host A gửi một segment với Window size = 1 sẽ respond lại một ACK 2 từ host B, sau đó Hót A tiếp tục gửi lại yêu cầu gửi tiếp gói ACK 3 và tiến trình tiếp tục diễn ra mỗi lần 1 gói ACK. Để tăng hiệu suất, có thể thiết lập Window size cao hơn như hình 1. Hình CHƯƠNG 1: CƠ SỞ LÝ THUYẾT. ACK với Window Size = 3 Trường hợp xử lý nghẽn khi tăng Window size: Hình CHƯƠNG 1: CƠ SỞ LÝ THUYẾT.
Cơ chế xử lý nghẽn của Transport TCP/IP Giả sử host A gửi segment với Window size = 3, trên đường truyền bị mất gói. Host B chỉ nhận được 2 segment, host B sẽ gửi thông báo cho host A yêu cầu gửi lại với Window size = 2. Các ứng dụng đặc trưng chạy trên Lớp Transport TCP/IP: Transport sẽ đọc thông tin trong gói tin TCP hoặc UDP Header để xác định dữ liệu được đóng gói bên trong mà không cần mở gói để xem nội dung bên trong. Để thực hiện được điều này, chồng giao thức TCP/IP sẽ dùng một số PORT đặc trưng trong TCP/UDP Header để xác nhận giao thức lớp trên được đóng gói trong phần Data.
Bộ môn Điện tử Viễn thông – Khoa Điện tử 24 Đồ án viễn thông 2 – Sinh viên Nguyễn Thành Nam Hình CHƯƠNG 1: CƠ SỞ LÝ THUYẾT. Các ứng dụng đặc trưng chạy trên lớp Transport TCP/IP FTP (chạy nền TCP): port 20 hoặc 21. DNS (đặc biệt chạy cả nền TCP hoặc UDP): sử dụng port 53.v… * So sánh cơ bản giữa TCP và UDP: Từ các thông tin bên trên, ta rút ra được bảng so sánh giữa giao thức UDP và TCP như sau: Hình CHƯƠNG 1: CƠ SỞ LÝ THUYẾT. So sánh UDP và TCP 1.
Lớp Internet TCP/IP Chức năng của lớp Internet TCP/IP này trong mô hình TCP/IP tương tự như lớp Network trong mô hình OSI. Nhiệm vụ chính của lớp này là định tuyến đường truyền, tìm đường đi tối ưu nhất cho gói tin trong một lưu lượng. Cung cấp cách thức truyền tải dữ liệu trên sơ đồ đã định tuyến và cung cấp cách thức đánh địa chỉ logic để định tuyến được đường truyền. Bộ môn Điện tử Viễn thông – Khoa Điện tử 25 Đồ án viễn thông 2 – Sinh viên Nguyễn Thành Nam Giao thức đặc trưng của lớp Internet TCP/IP là giao thức IP – Internet Protocol, một giao thức của chồng giao thức TCP/IP.
Giao thức IP được sử dụng rộng rãi trong mọi hệ thống mạng. Tổng quan về giao thức IP Một số đặc điểm đáng lưu ý của IP protocol: Hoạt động ở lớp Internet trong mô hình TCP/IP tương ứng với lớp Network trong OSI, cung cấp một cơ chế truyền tải lớp 3 trong một sơ đồ mạng đã được định tuyến. Là một giao thức connectionless điển hình, dữ liệu của IP sẽ được truyền theo kiểu best effort, không cần cơ chế thiết lập kết nối, không báo nhận và điều khiển luồng, không được đánh số thứ tự gói tin khi bị chop trên đường truyền Mỗi gói tin IP đến thiết bị Layer 3 sẽ được xử lí độc lập IP sử dụng cơ chế định địa chỉ theo kiểu phân cấp (hierarchical addressing), bao gồm network – id và host – id Không có cơ chế khôi phục lại gói tin bị mất trên đường đi. Cấu trúc của địa chỉ IP và các lớp địa chỉ Cấu trúc của địa chỉ IP: Do mạng máy tính hiện nay vẫn chủ yếu sử dụng địa chỉ IPv4, chính vì vậy trong đồ án này sẽ chỉ tìm hiểu về địa chỉ IPv4.
Để có thể thực hiện truyền tin giữa các máy trên mạng, mỗi máy tính trên mạng TCP/IP cần phải có một địa chỉ xác định gọi là địa chỉ IP. Hiện nay mỗi địa chỉ IP được tạo bởi một số 32 bits (IPv4) và được tách thành 4 vùng, mỗi vùng có một Byte có thể biểu thị dưới dạng thập phân, nhị phân, thập lục phân hoặc bát phân. Cách viết phổ biến nhất hay dùng là cách viết dùng ký tự thập phân. Một địa chỉ IP khi đó sẽ được biểu diễn bởi 4 số thập phân có giá trị từ 0 đến 255 và được phân cách nhau bởi dấu chấm (.
Mỗi giá trị thập phân biểu diễn 8 bits trong địa chỉ IP. Mục đích của địa chỉ IP là để định danh duy nhất cho một host ở trên mạng. IPv4 sử dụng 3 loại địa chỉ trong trường nguồn và đích đó là: Unicast: Để thể hiện một địa chỉ đơn hướng. Địa chỉ đơn hướng là địa chỉ dùng để nhận dạng từng nút một (điểm nút là tập các thiết bị chuyển mạch nằm ở trung tâm như Router chẳng hạn) cụ thể là một gói dữ liệu được gửi tới một địa chỉ đơn hướng sẽ được chuyển tới nút mang địa chỉ đơn hướng đó.
Multicast: Địa chỉ đa hướng. Là địa chỉ dùng để nhận dạng một tập hợp nút nhưng không phải là tất cả. Tập hợp nút bao gồm nhiều nút khác nhau hợp thành, gói dữ liệu IP gửi tới một địa chỉ Multicast sẽ được gửi tới tất cả các Host tham dự trong nhóm Multicast này. Broadcast: Thể hiện tất cả các trạm trên mạng.
Thông thường điều đó giới hạn ở tất cả các Host trên một mạng con địa phương. Địa chỉ broadcast được phân làm 2 loại: Bộ môn Điện tử Viễn thông – Khoa Điện tử 26 Đồ án viễn thông 2 – Sinh viên Nguyễn Thành Nam - Direct broadcast: Ví dụ: 172.255 - Local broadcast: Ví dụ: 255.255 Ví dụ về hai loại broadcast này: xét host có địa chỉ 192.3 - Khi host này gửi địa chỉ 255.255, tất cả các host trong lớp mạng 192.0 sẽ nhận được gói broadcast này (Local broadcast). - Nếu nó gửi broadcast đến địa chỉ 192.255 thì chỉ có các host trong lớp mạng 192.0 mới nhận được gói tin này, các host thuộc 192.0 hay lớp mạng khác đều sẽ không nhận được gói tin đó. Địa chỉ IPv4 được chia thành 2 phần chính: một phần để xác định mạng (net - id) và một phần để xác định host (host - id) như hình 1.25: Hình CHƯƠNG 1: CƠ SỞ LÝ THUYẾT.
Cấu trúc địa chỉ IPv4 Các quy tắc khi tiến hành cấu hình địa chỉ IP: Các lớp mạng xác định số bits được dành cho mỗi phần mạng và phần host. Các Bit của net - id không được phép đồng thời bằng 0.10 với net - id: 0.0 và host - id: 10 là một địa chỉ không hợp lệ. Các bit phần host đồng thời bằng 0 đó là một địa chỉ của lớp mạng.0/24 là một địa chỉ mạng với phần host - id = 0 không thể gán cho thiết bị được. Nếu các bit phần host đồng thời bằng 1 ta được một địa chỉ broadcast.255/25 là một địa chỉ broadcast cũng không thể gán cho thiết bị được.
Các lớp địa chỉ IP của lớp Internet TCP/IP: Có năm lớp mạng là A, B, C, D, E, trong đó ba lớp đầu là được dùng cho mục đích thông thường, còn hai lớp D và E được dành cho những mục đích đặc biệt và tương lai. Trong đó ba lớp chính là A, B, C. Bộ môn Điện tử Viễn thông – Khoa Điện tử 27 Đồ án viễn thông 2 – Sinh viên Nguyễn Thành Nam Lớp A: + Địa chỉ mạng thuộc lớp A sẽ lấy octet (1 byte) đầu tiên làm net-id, 3 octet cuối làm host-id. + Bit đầu tiên của lớp A luôn là 0.
+ Dãy địa chỉ lớp A: 1.0, có 27 mạng trong lớp A.0 được dùng làm địa chỉ loopback. + Tổng số host của lớp A: (224 – 2) do phần host có 24 bit. Hình CHƯƠNG 1: CƠ SỞ LÝ THUYẾT. Cấu trúc địa chỉ lớp A Lớp B: + Địa chỉ mạng thuộc lớp B sẽ lấy 2 octet đầu tiên làm net-id, 2 octet cuối làm host-id, + Hai bit đầu tiên của lớp B luôn là 10.
+ Dãy địa chỉ lớp B: 128.0, có 214 mạng trong lớp B. + Tổng số host của lớp B: (216 – 2) do phần host có 16 bit. Hình CHƯƠNG 1: CƠ SỞ LÝ THUYẾT. Cấu trúc địa chỉ lớp B Lớp C: + Địa chỉ mạng thuộc lớp C sẽ lấy 3 octet đầu tiên làm net-id, 1 octet cuối làm host-id.
+ Ba bit đầu tiên của lớp C luôn là 110.