Giới thiệu chung về mạng máy tính

44 246 0
Giới thiệu chung về mạng máy tính

Đ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

Giới thiệu chung về mạng máy tính Giới thiệu chung về mạng máy tính Giới thiệu chung về mạng máy tính Giới thiệu chung về mạng máy tính Giới thiệu chung về mạng máy tính Giới thiệu chung về mạng máy tính Giới thiệu chung về mạng máy tính Giới thiệu chung về mạng máy tính

Tầng Data Link - Liên kết liệu Các nguyên tắc 1.1 Chức năng: - Cung cấp giao diện cho tầng mạng (network) Tạo khung (frame): packet + header + trailer Quản lý lỗi: phát lỗi / sửa chữa lỗi Quản lý dòng liệu - flow control: tương quan tốc ñộ truyền tốc ñộ nhận Quan hệ packets frames 1.2 Giao diện với network layer: (a) Virtual communication (b) Actual communication - Các loại hình dịch vụ tầng liên kết liệu - Un-acknowledged connectionless service / dịch vụ không liên kết, không thông báo ñã nhận o Sửa phát lỗi lớp o Đường truyền tốt, ví dụ LAN o Hoặc ứng dụng thời gian thực cần giảm ñộ trễ thông tin (delay / latency) voice, video - Acknowledged connectionless service / dịch vụ không liên kết, có thông báo ñã nhận Ví dụ: hệ thống không dây - Acknowledged connection-oriented service / dịch vụ có liên kết, có thông báo ñã nhận 03 pha: thiết lập kết nối - truyền khung liệu - kết thúc kết nối giải phóng phương tiện liên quan (buffer, kết nối, tham số truyền nhận) - Ví dụ: Hai router frame -> kiểm tra lỗi -> tầng kiểm tra ñúng khung cần -> tách packet -> tầng -> chọn ñường ñi (routing) -> tầng -> tạo frame -> truyền khung 1.3 Tạo khung - frame Cách thức phân biệt khung nhận dòng bit từ lớp vật lý Các phương pháp: Chèn ñộ dài Flag bytes byte stuffing (chèn/nhồi byte) Flag ñầu, cuối bit stuffing Trên thực tế kết hợp phương pháp với Cách 1: ñếm số bit byte khung (ñộ dài) A character stream (a) Without errors (b) With one error Cách 2: byte ñặc biệt làm cờ flag ñể phân biệt ñầu khung liệu Byte stuffing: thêm byte ñặc biệt (ESC) vào byte flag nằm phần liệu, nhận ñược xóa ñi trước ñưa tầng 3 Ví dụ giao thức PPP Cách 3: bit stuffing - Phân biệt khung dãy bit (bit partern) - flag bits - Chèn bit flag bits xuất liệu - Xóa bit chèn ñầu nhận trước ñưa lên tầng mạng 1.4 Quản lý lỗi Error Control = vận chuyển bàn giao khung liệu lỗi, ñúng trình tự gửi cho tầng mạng Hai cách thức: Error Correcting: Sửa chữa lỗi (truyền thống) ñường truyền kém, khả truyền lại bị hạn chế băng thông Error Detecting: Phát lỗi, băng thông ñủ, thay sửa phát lỗi gửi lại Thuật toán Hamming ñể sửa chữa lỗi: XOR Chèn bit kiểm tra (Check bits / Parity bits) Các liệu hợp lệ: 0000000000, 0000011111, 1111100000, 1111111111 Sử dụng Hamming code ñể sửa lỗi kéo dài (bùng nổ) Thuật toán CRC (Cyclic Redundant Check) phát lỗi: Dùng biểu diễn ña thức lý thuyết ña thức CRC bit: 110001 x5 + x4 + CRC 16 bit : x15 + x14 + CRC 32 bit: Các chế quản lý lỗi: - Ack/NACK (NegativeACK): gửi lại máy gửi thông tin phản hồi ñầu nhận ñã nhận hay không nhận ñược - Quá thời hạn (time-out): cho trường hợp gói tin thông báo nhận bị thất lạc - Số thứ tự (sequence numbers): phân biệt khung tin gửi lại khung gửi ban ñầu - ARQ (Automatic Repeat Request): Stop and Wait, Selective Reject, Go-back n 1.5 Quản lý truyền nhận - Flow Control Flow Control = Máy gửi không làm ngập máy nhận ñạt tốc ñộ gửi tối ña Máy gửi hạn chế gửi cho ñến máy nhận cho phép Các phương thức quản lý: a Dừng chờ (Stop and Wait) Gửi chờ Ack gửi tiếp Ví dụ giao thức S-W ñơn giản: khung, ñúp khung: /* Giao thức Stop-and-Wait cho kênh liệu chiều từ nơi gửi ñến nơi nhận Giả thiết kênh truyền thông lỗi Giả thiết máy nhận có nhớ hữu hạn khả xử lý hữu hạn, ñó giao thức phải ñảm bảo không bị tắc luồng liệu tốc ñộ gửi cao tốc ñộ nhận */ typedef enum {frame_arrival} event_type; /* khai báo biến - kiểu kiện */ #include "protocol.h" /* có file khai báo protocol.h */ void sender2(void) { frame s; packet buffer; event_type event; */ /* Quá trình xảy máy gửi */ /* buffer cho khung ñi */ /* buffer cho gói */ /* frame_arrival khả while (true) { from_network_layer(&buffer);/* kiểm tra buffer gói tin lớp mạng ñể gửi */ s.info = buffer; /* copy vào s ñể truyền */ to_physical_layer(&s); /* gửi khung tin tầng PHY */ wait_for_event(&event); /* không xử lý cho ñến nhận thông báo */ } } void receiver2(void) { frame r, s; /* buffers cho khung frames */ event_type event; /* frame_arrival khả */ while (true) { wait_for_event(&event); /* frame_arrival khả năng*/ from_physical_layer(&r); /* lấy nội dung từ PHY */ to_network_layer(&r.info); /* chuyển liệu vào tầng mạng */ to_physical_layer(&s); /* gửi khung giả (dummy) báo cho máy gửi */ } } Xét tình phức tạp hơn: - Tầng mạng máy A lấy packet cho tầng data link Máy B nhận ñúng gói tin truyền tới tầng mạng B, gửi khung thông báo ACK ngược lại A - Khung ACK bị thất lạc hoàn toàn - Tâng data link A bị hết thời hạn (times out), không nhận ñược ACK cho (sai) khung ñã gửi bị bị hỏng gửi lại khung khác - Khung ñúp tới ñược tầng data link máy B ñược gửi lên tầng mạng, liệu bị hỏng Ví dụ: có thông báo nhận + gửi lại: PAR (Positive Acknowledgement with Retransmission) / ARQ (Automatic Repeat reQuest) /* Giao thức PAR truyền liệu kênh chiều không ổn ñịnh */ #define MAX_SEQ /* ñặt cho giao thức */ typedef enum {frame_arrival, cksum_err, timeout} event_type; #include "protocol.h" void sender3(void) { seq_nr next_frame_to_send; /* số thứ tự khung ñi */ frame s; /* biến số tùy ý */ packet buffer; /* buffer cho gói tin ñi */ event_type event; next_frame_to_send = 0; /* khởi tạo số thứ tự ñia */ from_network_layer(&buffer); /* lấy gói tin ñầu tiên */ while (true) { s.info = buffer; /* dựng khung ñể truyền */ s.seq = next_frame_to_send; /* ñặt số thứ tự vào khung */ to_physical_layer(&s); /* gửi vào tầng vật lý */ start_timer(s.seq); /* trả lời lâu, thông báo time out */ wait_for_event(&event); /* frame_arrival, cksum_err, timeout */ if (event == frame_arrival) { from_physical_layer(&s); /* lấy ACK */ if (s.ack == next_frame_to_send) { stop_timer(s.ack); /* tắt timer */ from_network_layer(&buffer); /* lấy gói tin tiếp ñể gửi */ inc(next_frame_to_send); /* ñảo lại next_frame_to_send */ } } } } void receiver3(void) { seq_nr frame_expected; frame r, s; event_type event; frame_expected = 0; while (true) { wait_for_event(&event); /* khả năng: frame_arrival, cksum_err */ if (event == frame_arrival) { /* khung hợp lệ ñến */ from_physical_layer(&r); /* nhận khung */ if (r.seq == frame_expected) { /* ñúng giá trị ñang chờ ñợi */ to_network_layer(&r.info); /* truyền lên tầng mạng */ inc(frame_expected); /* chờ ñợi số thứ tự khác */ } s.ack = - frame_expected; /* cho kquả khung yêu cầu */ to_physical_layer(&s); /* gửi ACK */ } } } Đối với ñường truyền hai chiều full duplex, áp dụng kỹ thuật piggyback (cõng) truyền ACK frame liệu ñể tiết kiệm băng thông dành riêng cho hai chiều liệu b Cửa sổ trượt - Sliding window Cửa sổ gửi, cửa sổ nhận, tự dịch chuyển theo khe thời gian, tự ñiều chỉnh kích cỡ Áp dụng kỹ thuật khác Khung cửa sổ trượt kích thước 1, với số thứ tự 3-bit (a) Ban ñầu (b) Sau khung ñầu tiên ñược gửi (c) Sau khung ñầu tiên ñược nhận (d) Sau ACK ñầu tiên nhận ñược 10 Fast Ethernet 802.3u Nhu cầu tăng tốc ñộ Ethernet 10Mb/s -> ñịnh tiêu chuẩn hay phát triển cũ? - Tiêu chuẩn mới: 100V-AnyLAN: không phát triển - Trên cũ: IEEE 802.3u - Fast Ethernet: giữ nguyên tiêu chuẩn 802.3 (kiến trúc, giao diện, trình), thêm vào ñặc tả PHY số giao diện khác ñể ñạt tốc ñộ cao Không dùng loại cáp ñồng trục: 10Base5, 10Base2 Sử dụng cáp xoắn ñôi, cáp quang The original fast Ethernet cabling 100Base-T4: 100Base-T4 cáp xoắn ñôi CAT3, 04 cặp dây cáp ñiện thoại -> sử dụng lại hệ thống cáp cũ 01 cặp dây vào hub, 01 cặp dây ñi ra, 02 cặp dây chuyển theo hướng vào Xung nhịp 25Mhz (so với 20Mhz Ethernet 10Mbps) Không dùng Manchester coding (một nhịp ñồng hồ - 02 trạng thái), sử dụng mã hóa 8B/6T: xung nhịp ñồng hồ có 03 trạng thái 0,1,2 -> 03 cặp dây mã hóa tới 27 tín hiệu -> thừa cho tín hiệu bit (24=16) -> ñạt ñược tốc ñộ 25 x = 100Mb/s Do cặp dây -> full-duplex Chế ñộ tự ñiều chỉnh 10/100Mb/s - Auto-Negotiation 30 Sơ ñồ mã hóa 8B/6T - ánh xạ bit với nhịp Sơ ñồ sử dụng cặp dây 100Base-T4: Sơ ñồ mã hóa 8B -> 6T: 31 Tiêu chuẩn 100Base-X bao gồm 100Base-TX cho cáp xoắn ñôi 100Base-Fx cho cáp quang 100Base-TX: Sử dụng cáp xoắn ñôi UTP CAT với xung nhịp 125Mhz 02 ñôi dây: 01 ñôi vào, 01 ñôi ñi 32 Mã hóa theo sơ ñồ 4B/5B: nhịp ñồng hồ có 02 trạng thái, 05 nhịp 32 tín hiệu (05bit) dùng 16 tín hiệu ñể mã hóa tín hiệu bit (0000, 0001 -> 1111), lại tín hiệu ñồng 125/5 x 4=100 Mb/s full-duplex 100Base-FX: sử dụng 02 sợi cáp quang multi-mode - 01 sợi vào, 01 sợi ñi -> full-duplex 100Mb/s Đóng gói PCS (Physical Code SubLayer) Idle code-groups: nhóm mã chờ Nhóm chờ (/I/) ñược truyền tải dòng bit, cung cấp dãy bit liên tục ñể thiết lập trì ñồng thời gian Do PCS phát hành biên dịch Control code-groups: nhóm mã quản lý Đi theo cặp (/J/K/, /T/R/) ñể phân tách gói tin tầng (MAC) Do PCS phát hành biên dịch Start-of-Stream Delimiter (/J/K/): SSD PCS tạo xử lý End-of-Stream delimiter (/T/R/): ESD bao gồm dãy /T/R/ 33 34 Tổng kết tính tầng vật lý 100Base-T baud (bit/s) Gigabit Ethernet Mục ñích gấp 10 lần tốc ñộ so với Fast Ethernet Dựa tảng tiêu chuẩn 802.3 cũ Ethernet (cấu trúc khung, giao diện, thủ tục, ñộ dài max khung, vv) Thay ñổi tiêu chuẩn vật lý (mã hóa, xung nhịp - clocking) ñể ñặt ñược tốc ñộ Gigabit Đặt tên IEEE 802.3z (10Gigabit 802.3az) 02 chế ñộ kết nối: - Full-duplex: nối với switch, cổng nối thiết bị, buffer -> collision - Half-dulplex: nối hub -> collision Bình thường với Ethernet ta có minSizeFrame=64 byte, ñộ dài ñoạn cáp (multi-drop) 2500 mét, tốc ñộ tăng lên 100 lần giữ nguyên minSizeFrame ñộ dài cáp phải nhỏ ñi 100 lần -> 25 mét -> 02 kỹ thuật ñưa vào tiêu chuẩn: - Carrier Extension: phần cứng tự tăng thêm cho khung tối thiểu 512 byte, hiệu suất sử dụng nhỏ (9%) 35 - Frame Bursting: chập frame vào làm lần truyền, 512 byte thêm vào cho ñủ Hiệu suất sử dụng băng thông cao nhiều Phần cứng tự thực việc tăng thêm kích thước, suốt ñối với phần mềm -> ñộ dài cáp lên tới 200 mét (25 x 512/64) MAC Frame với Gigabit Carrier Extension Giới hạn hoạt ñộng Half-Duplex 36 Gigabit Ethernet quy ñịnh cho cáp xoắn ñôi cáp quang Cáp quang sử dụng ñèn laser thay cho LED xung nhịp bật tắt x 125 = 1000Mhz 44 [...]... Dạng ñịa chỉ a) Individual Address Địa chỉ của một máy trên mạng b) Group Address Địa chỉ kép cho một/nhiều máy trên mạng Hai dạng ñịa chỉ kép (multicast address): 1) Multicast-Group Address: Do tầng cao hơn ñịnh ra cho một nhóm máy liên quan lô-gich với nhau 2) Broadcast Address: Tất cả các máy trên mạng này Địa chỉ ñích gồm toàn bộ bit 1 là tất cả các máy gắn với kênh vật lý Trường Length/Type 19 Trường... loại cáp mạng (ví dụ: 10BASE-T4, 10BASE2) - Full-Duplex: tín hiệu hai chiều ñồng thời - 2 kênh truyền song song Có ñiều kiện: (ví dụ: 10BASE-T, 10BASE-FL, and 100BASE-TX/FX) - Tầng vật lý (PHY-cáp mạng) phải ñáp ứng truyền và nhận ñồng thời - PHY liên kết chỉ hai nút mạng - Các thiết bị mạng phải ñáp ứng gửi và nhận ñồng thời Các loại thiết bị mạng DTE: Data Terminal Equipment - thiết bị ñầu cuối mạng. .. bits truyền cho ñủ 50 µsec -> làm tròn lên 512 bits or 64 bytes Nếu tốc ñộ mạng tăng lên, thì một là ñộ dài minimum của khung phải tăng lên, hai là ñộ dài cáp mạng lớn nhất phải giảm ñi tương ứng Nếu mạng LAN tốc ñộ 1Gb/s với ñộ dài nhất là 2500 mét thì ñộ dài minimum của khung phải là 640 bytes và khoảng cách lớn nhất giữa hai máy tính là 250 mét Minimum frame length determination The minimum frame length... ADMINISTERED ADDRESS Bit ñầu tiên (LSB - Least Significant Bit) có tại ñịa chỉ ñích, chỉ ra là ñịa chỉ riêng biệt hay ñịa chỉ nhóm Nếu là 0 thì là ñịa chỉ ñơn của một máy trên mạng Nếu là 1 thì là ñịa chỉ của 0, 1 hoặc nhiều, hoặc tất cả các máy kết nối vào LAN Đối với ñịa chỉ nguồn bit này là không dùng ñến và gán là 0 Bit thứ hai dùng ñể phân biệt các ñịa chỉ theo mức quản lý nội bộ hay là toàn cầu 1... LAN 4.1 Lịch sử: Aloha (Hawai) - không tranh chấp media Ether (ánh sáng - môi trường truyền sóng) Ethernet Xerox - 1980 Ethernet DIX (DEC, Intel, Xerox) - 1.0 Ethernet Novel Ethernet IEEE 802.3 4.2 Giới thiệu chung: CSMA/CD 12 Carrier Sense - nghe ngóng ñường truyền - luôn kiểm tra tình trạng kênh mang (tín hiệu) có bận hay không Multi Access - ña truy nhập - nhiều thiết bị/người dùng có thể gửi/nhận... xaddressSize + 48)] bit tính theo byte Trường kiểm tra lỗi (Frame Check Sequence -FCS) - 32 bit Theo thuật toán CRC - cyclic redundancy check (CRC), tính theo tất cả các trường trừ preamble, SFD, FCS, extension, bao gồm source address, destination address, length, LLC data and pad, sử dụng ña thức: G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 +x+1 Tính như sau: i) Bù ñủ... tiếp 23 3) Bỏ ñi hoặc gửi lại tầng mạng (Network Management) tất cả các khung không có ñịa chỉ ñích là máy nhận c) Trong mô hình half duplex, sẽ hoãn truyền các dòng bit khi kênh vật lý bị bận d) Thêm vào giá trị FCS cho khung gửi ra và kiểm tra có chẵn 8 bit hay không e) Kiểm tra lỗi của khung truyền ñến bằng FCS và chẵn 8 bit f) Hoãn truyền khung các bit theo quy ñịnh về khoảng lặng giữa các khung (interframe... lại sau khi có tranh chấp theo khoảng thời gian nhất ñịnh i) Trong mô hình half duplex, tăng cường thêm tranh chấp bằng cách gửi các bit jam ñể ñảm bảo tất cả máy tính phát hiện ra tranh chấp (tín hiệu báo tranh chấp ñủ thời gian lan truyền khắp mạng) j) Bỏ ñi các khung nhận không ñủ ñộ dài minimum (46+18=64 byte) k) Thêm vào các trường preamble, Start Frame Delimiter, DA, SA, Length/Type, FCS cho các... half duplex tốc ñộ >100 Mb/s 24 25 26 Độ dài (bytes) lớn nhất và nhỏ nhất của khung IEEE 802.3 - Max: 1500 Bites, do DIX ñặt ra do hạn chế về RAM - Min: 46 Bytes - tính thời gian ñi một vòng (round-trip) cho tín hiệu trên ñoạn cáp lớn nhất ñảm bảo phát hiện tranh chấp Mạng LAN 10-Mbps ñộ dài lớn nhất là 2500 (m) và 04 repeaters (quy ñịnh tiêu chuẩn 802.3), thời gian ñi một vòng (round-trip time) bao gồm... Communication Equipment - thiết bị kết nối mạng trung gian (router/repeater/hub/bridge) Manchester coding: (a) Binary encoding (b) Manchester encoding (c) Differential Manchester encoding 13 Quan hệ với mô hình ISO/OSI: các giao diện Medium Dependent Interfaces (MDI): giao diện vật lý (cáp mạng) Attachment Unit Interface (AUI) Do hầu hết các DTE cách cáp mạng một khoảng cách nhất ñịnh -> giao diện ... mạng */ to_physical_layer(&s); /* gửi khung giả (dummy) báo cho máy gửi */ } } Xét tình phức tạp hơn: - Tầng mạng máy A lấy packet cho tầng data link Máy B nhận ñúng gói tin truyền tới tầng mạng. .. Individual Address Địa máy mạng b) Group Address Địa kép cho một/nhiều máy mạng Hai dạng ñịa kép (multicast address): 1) Multicast-Group Address: Do tầng cao ñịnh cho nhóm máy liên quan lô-gich... ñồng thời - PHY liên kết hai nút mạng - Các thiết bị mạng phải ñáp ứng gửi nhận ñồng thời Các loại thiết bị mạng DTE: Data Terminal Equipment - thiết bị ñầu cuối mạng (PC/NIC/Terminal) DCE: Data

Ngày đăng: 26/12/2015, 05:18

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan