1.37k likes | 1.66k Views
Mạng máy tính. Bộ môn Kỹ thuật máy tính và Mạng Khoa Công nghệ Thông tin Đại học S ư phạm Hà Nội. Chương 4: Tầng mạng. Mục đích: Hiểu các nguyên tắc bên trong dịch vụ tầng mạng: Chọn đường Vấn đề quy mô Cách làm việc của Router Các chủ đề nâng cao: IPv6, mobility
E N D
Mạng máy tính Bộ môn Kỹ thuật máy tính và Mạng Khoa Công nghệ Thông tin Đại học Sư phạm Hà Nội
Chương 4: Tầng mạng Mục đích: • Hiểu các nguyên tắc bên trong dịch vụ tầng mạng: • Chọn đường • Vấn đề quy mô • Cách làm việc của Router • Các chủ đề nâng cao: IPv6, mobility • Ví dụ và cài đặt trong Internet
4.1 Tổng quan 4.2 Mạng Virtual circuit và datagram 4.3 Bên trong Router 4.4 IP: Internet Protocol Định dạng Datagram Địa chỉ IPv4 ICMP IPv6 4.5 Thuật toán dẫn đường Link state Distance Vector Hierarchical routing 4.6 Dẫn đường trong Internet RIP OSPF BGP 4.7 Dẫn đường broadcast và multicast Chương 4: Tầng mạng
Chuyển segment từ host gửi tới host nhận Bên gửi đóng gói segment thành các datagram Bên nhận chuyển các segment tới tầng giao vận Các giao thức tầng mạng có trong mọi host, router Router kiểm tra trường header trong mọi IP datagram chuyển qua nó network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical application transport network data link physical Tầng mạng
Chức năng chính của tầng mạng • Chuyển tiếp: chuyển các gói tin từ đầu vào router sang đầu ra thích hợp của router • Dẫn đường: xác định đường đi của gói tin từ nguồn tới đích. • Các thuật toán dẫn đường Liên hệ: • Dẫn đường: Quá trình lập kế hoạch chuyến đi từ nguồn đến đích • Chuyển tiếp: Quá trình xử lý qua một điểm đơn
Thuật toán dẫn đường Bảng chuyển tiếp cục bộ Giá trị header Đường ra 0100 0101 0111 1001 3 2 2 1 Giá trị trong header của gói tin đến 1 0111 2 3 Ảnh hưởng giữa chọn đường và chuyển tiếp
Thiết lập kết nối • Chức năng quan trọng thứ 3 trong một số kiến trúc mạng: • ATM, frame relay, X.25 • Trước luồng datagram, hai host và các router ở giữa thiết lập một kết nối ảo • Router tham gia • Dịch vụ tầng mạng và tầng giao vận: • Tầng mạng: giữa hai host • Tầng giao vận: giữa hai tiến trình
Ví dụ các dịch vụ cho từng datagram: Truyền đảm bảo Truyền đảm bảo độ trễ nhỏ hơn 40 msec Ví dụ các dịch vụ cho một luồng datagram: Chuyển datagram đúng thứ tự Đảm bảo tốc độ tối thiểu cho luồng Hạn chế sự thay đổi khoảng cách giữa các gói tin Mô hình dịch vụ mạng Q:Mô hình dịch vụ nào cho kênh truyền các datagram từ bên gửi tới bên nhận?
Các mô hình dịch vụ của tầng mạng Đảm bảo ? Kiến trúc mạng Internet ATM ATM ATM ATM Mô hình dịch vụ best effort CBR VBR ABR UBR Phản hồi tắc nghẽn Không (suy ra từ loss) Không tắc nghẽn Không tắc nghẽn Có Không Bandwidth none tốc độ hằng số tốc độ đảm bảo đảm bảo mức tối thiểu none Mất gói Không Có Có Không Không Thứ tự Không Có Có Có Có Thời gian Không Có Có Không Không
4. 1 Tổng quan 4.2 Mạng Virtual circuit và datagram 4.3 Bên trong Router 4.4 IP: Internet Protocol Định dạng Datagram Địa chỉ IPv4 ICMP IPv6 4.5 Thuật toán dẫn đường Link state Distance Vector Hierarchical routing 4.6 Dẫn đường trong Internet RIP OSPF BGP 4.7 Dẫn đường broadcast và multicast Chương 4: Tầng mạng
Dịch vụ hướng kết nối và không hướng kết nối của tầng mạng • Mạng datagram cung cấp dịch vụ không hướng kết nối ở tầng mạng • Mạng VC cung cấp dịch vụ hướng kết nối ở tầng mạng • Tương tự với các dịch vụ của tầng giao vận, nhưng: • Dịch vụ: host tới host • Không cho phép chọn: Mạng cung cấp datagram hoặc VC • Cài đặt: trong phần lõi
Thiết lập mỗi cuộc gọi trước khi dữ liệu có thể truyền Mỗi gói tin mạng một định danh VC (không phải địa chỉ host đích) Mọi router trên đường đi từ nguồn tới đích duy trì trạng thái cho mỗi kết nối đi qua Tài nguyên router, đường truyền (bandwidth, vùng đệm) cấp phát cho VC “Đường đi từ nguồn tới đích giống như mạng điện thoại” Hiệu năng tốt Sự kiện mạng theo đường đi từ nguồn tới đích Virtual circuit
Cài đặt VC Một VC bao gồm: • Đường đi từ nguồn tới đích • VC number, một số cho mỗi đường truyền dọc đường đi • Điểm vào trong bảng chuyển tiếp trong router trên đường đi • Gói tin thuộc về VC mạng số VC. • Số VC phải thay đổi trên mỗi đường truyền. • Số VC mới từ bảng chuyển tiếp
Số VC 22 32 12 3 1 2 Số giao diện Giao diện đến VC # đến Giao diện đi VC # đi 1 12 2 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … … Bảng chuyển tiếp Bảng chuyển tiếp của router phía trên bên trái: Các Router duy trì thông tin trạng thái kết nối!
Sử dụng để thiết lập, duy trì, chấm dứt VC Sử dụng trong ATM, frame-relay, X.25 Không sử dụng trong Internet hiện nay application transport network data link physical application transport network data link physical Virtual circuit: Giao thức báo hiệu 6. Nhận dữ liệu 5. Luồng dữ liệu bắt đầu 4. Cuộc gọi được kết nối 3. Chấp nhận cuộc gọi 1. Khởi đầu cuộc gọi 2. Cuộc gói đến
Không thiết lập cuộc gọi tại tầng mạng Router: không có trạng thái về các kết nối end-to-end Không có khái niệm mức mạng về kết nối Các gói tin chuyển tiếp sử dụng địa chỉ của host đích Các gói tin cùng cặp địa chỉ nguồn-đích có thể đi theo các đường khác nhau application transport network data link physical application transport network data link physical Mạng datagram 1. Gửi dữ liệu 2. Nhận dữ liệu
Bảng chuyển tiếp 4 tỷ điểm vào Dải địa chỉ đíchGiao diện đường truyền 11001000 00010111 00010000 00000000 tới 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 tới 1 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 tới 2 11001000 00010111 00011111 11111111 trường hợp khác 3
Tương ứng tiền tố dài nhất Prefix MatchGiao diện đường truyền 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 Trường hợp khác 3 Ví dụ Giao diện? DA: 11001000 00010111 00010110 10100001 Giao diện? DA: 11001000 00010111 00011000 10101010
Internet Dữ liệu trao đổi giữa các máy tính Dịch vụ co giãn, không yêu cầu thời gian chặt chẽ. Các hệ thống cuối “thông minh” (máy tính) Có thể thích nghi, thực hiện điều khiển, khôi phục lỗi Bên trong mạng đơn giản, phía rìa ngoài mạng phức tạp Nhiều kiểu đường truyền Đặc điểm khác nhau Dịch vụ không thống nhất ATM Phát triển từ điện thoại Cuộc nói chuyện của con người: Yêu cầu thời gian, độ tin cậy chặt chẽ Cần đảm bảo dịch vụ Hệ thống cuối không cần “thông minh” Điện thoại Sự phức nằm bên trong mạng Mạng datagram hay mạng VC
4. 1 Tổng quan 4.2 Mạng Virtual circuit và datagram 4.3 Bên trong Router 4.4 IP: Internet Protocol Định dạng Datagram Địa chỉ IPv4 ICMP IPv6 4.5 Thuật toán dẫn đường Link state Distance Vector Hierarchical routing 4.6 Dẫn đường trong Internet RIP OSPF BGP 4.7 Dẫn đường broadcast và multicast Chương 4: Tầng mạng
Tổng quan về kiến trúc của Router Hai chức năng chính của router • Chạy các giao thức/thuật toán chọn đường (RIP, OSPF, BGP) • Chuyển tiếp các datagram từ đường truyền vào sang đường truyền ra
Chức năng của cổng vào Chuyển tiếp không tập chung: • Dựa vào của datagram, tìm kiếm cổng ra sử dụng bảng chuyển tiếp trong bộ nhớ cổng vào • Mục đích: xử lý cổng vào với tốc độ của đường truyền • Xếp hàng: Nếu các datagram đến nhah hơn tốc độ chuyển tiếp vào trong switch fabric Tầng vật lý: nhận mức bít Tầng liên kết dữ liệu: ví dụ: Ethernet chi tiết trong chương 5
Bộ nhớ Cổng vào Cổng ra Bus hệ thống Chuyển mạch qua bộ nhớ Router thế hệ đầu tiên: • Các máy tính truyền thống chuyển mạch dưới sự điều khiển trực tiếp của CPU • Các gói tin được sao chép vào trong bộ nhớ của hệ thống • Tốc độ bị hạn chế bởi bandwidth của bộ nhớ (2 lần truy nhập bus đối với mỗi datagram)
Chuyển mạch qua bus • Datagram từ bộ nhớ cổng vào chuyển sang bộ nhớ cổng ra thông qua bus dùng chung • Cạnh tranh bus: tốc độ chuyển mạch bị giới hạn bởi bandwidth của của bus • Bus 1 Gbps, Cisco 1900: tốc độ đủ cho các router doanh nghiệp (khác router cho vùng, mạng backbone)
Chuyển mạch qua mạng kết nối • Giải quyết hạn chế vấn đề bandwidth của bus • Mạng Banyan, mạng các kết nối ban đầu được phát triển để kết nối các processor trong multiprocessor • Thiết kế tiên tiến: phân mảnh các datagram thành các cell có độ dài cố định, chuyển mạch các cell qua fabric. • Cisco 12000: chuyển mạch Gbps qua mạng kết nối
Cổng ra • Đệm khi datagram đến fabric nhanh hơn tốc độ truyền • Nguyên tắc lập lịch chọn các datagram đang xếp hàng để truyền
Xếp hàng tại cổng ra • Đệm khi tốc độ đến qua switch vượt quá tốc độ đường ra • Xếp hàng (trễ) và mất gói bởi vì vùng đệm của cổng ra bị tràn!
Xếp hàng ở cổng vào • Fabric chậm hơn cổng vào -> xếp hàng có thể xảy ra ở hàng đợi cổng vào • Head-of-the-Line (HOL) blocking: các datagram xếp hàng tại trước hàng đợi ngăn không cho datagram khác chuyển tiếp • Độ trễ và mất gói khi xếp hàng bởi vì tràn vùng đệm vào!
4. 1 Tổng quan 4.2 Mạng Virtual circuit và datagram 4.3 Bên trong Router 4.4 IP: Internet Protocol Định dạng Datagram Địa chỉ IPv4 ICMP IPv6 4.5 Thuật toán dẫn đường Link state Distance Vector Hierarchical routing 4.6 Dẫn đường trong Internet RIP OSPF BGP 4.7 Dẫn đường broadcast và multicast Chương 4: Tầng mạng
Chức năng tầng mạng của host, router: • Giao thức ICMP • Thông báo lỗi • Báo hiệu của router • Giao thức IP • Quy tắc đánh địa chỉ • Định dạng datagram • Quy tắc điều khiển gói tin • Giao thức dẫn đường • Chọn đường • RIP, OSPF, BGP Bảng chuyển tiếp Tầng mạng của Internet Tầng giao vận: TCP, UDP Tầng mạng Tầng liên kết dữ liệu Tầng vật lý
4. 1 Tổng quan 4.2 Mạng Virtual circuit và datagram 4.3 Bên trong Router 4.4 IP: Internet Protocol Định dạng Datagram Địa chỉ IPv4 ICMP IPv6 4.5 Thuật toán dẫn đường Link state Distance Vector Hierarchical routing 4.6 Dẫn đường trong Internet RIP OSPF BGP 4.7 Dẫn đường broadcast và multicast Chương 4: Tầng mạng
Số phiên bản của giao thức IP 32 bits tổng chiều dài của datagram (byte) Chiều dài header (byte) type of service head. len ver length fragment offset “kiểu” dữ liệu để phân mảnh/ ghép phân mảnh flgs 16-bit identifier Số hop tối đa còn lại (giảm tại mỗi router) upper layer time to live Internet checksum 32 bit địa chỉ IP nguồn 32 bit địa chỉ IP đích Giao thức của tầng trên để chuyển payload Ví dụ: timestamp, bản ghi đường đi (danh sách các router đi qua) Tùy chọn dữ liệu (chiều dài thay đổi, thường là một TCP hoặc UDP segment) Định dạng IP datagram Overhead của TCP? • 20 byte của TCP • 20 byte của IP • = 40 byte + Overhead của tầng ứng dụng
Liên kết mạng có MTU (kích thước truyền tối đa) – frame mức liên kết dữ liệu lớn nhất có thể. Các kiểu liên kết khác nhau, MTU khác nhau Sự phân mảnh IP datagram: Một datagram thành nhiều datagram Chỉ ghép lại tại đích Sử dụng thông tin trong IP header để xác định, xếp thứ tự các phân mảnh Phân mảnh và ghép phân mảnh IP datagram Phân mảnh: Vào: một datagram lớn Ra: 3 datagram nhỏ hơn Ghép phân mảnh
length =1500 length =1500 length =4000 length =1040 ID =x ID =x ID =x ID =x fragflag =0 fragflag =1 fragflag =1 fragflag =0 offset =0 offset =0 offset =370 offset =185 Một datagram lớn chia thành nhiều datagram nhỏ hơn Sự phân mảnh và ghép phân mảnhIP datagram Ví dụ • Datagram: 4000 byte • MTU = 1500 byte 1480 bytes in data field offset = 1480/8
4. 1 Tổng quan 4.2 Mạng Virtual circuit và datagram 4.3 Bên trong Router 4.4 IP: Internet Protocol Định dạng Datagram Địa chỉ IPv4 ICMP IPv6 4.5 Thuật toán dẫn đường Link state Distance Vector Hierarchical routing 4.6 Dẫn đường trong Internet RIP OSPF BGP 4.7 Dẫn đường broadcast và multicast Chương 4: Tầng mạng
Địa chỉ IP: 32-bit định danh cho giao diện của host, router Giao diện: kết nối giữa host/router và liên kết vật lý Thông thường, router có nhiều giao diện host có thể có nhiều giao diện Địa chỉ IP gán cho mỗi giao diện 223.1.1.2 223.1.2.1 223.1.3.27 223.1.3.1 223.1.3.2 223.1.2.2 Địa chỉ IP 223.1.1.1 223.1.2.9 223.1.1.4 223.1.1.3 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1
Địa chỉ IP: Phần subnet (các bít phần cao) Phần host (các bít phần thấp) Khái niệm subnet ? Giao diện của thiết bị mà địa chỉ IP có cùng phần subnet Có thể kết nối với không không cần thông qua router Subnet 223.1.1.1 223.1.2.1 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.1.3 223.1.3.27 LAN 223.1.3.2 223.1.3.1 Mạng chứa 3 subnet
Công thức Để xác định các subnet, tách giao diện của host hoặc router, tạo mạng cô lập. Mỗi mạng cô lập gọi là một subnet. 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 Subnet Subnet mask: /24
Số subnet ? Subnet 223.1.1.2 223.1.1.1 223.1.1.4 223.1.1.3 223.1.7.0 223.1.9.2 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.3.27 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2
Phần host Phần subnet 11001000 0001011100010000 00000000 200.23.16.0/23 Địa chỉ IP: CIDR CIDR:Classless InterDomain Routing • Phần địa chỉ subnet có độ dài tùy ý • Định dạng địa chỉ: a.b.c.d/x, trong đó x là số bít của phần subnet trong địa chỉ
Địa chỉ IP: Cách gán địa chỉ IP? Q: Cách để host có địa chỉ IP? • Khai báo bởi người quản trị • Windows: Control Panel->Network->Configuration->TCP/IP->Properties • UNIX: /etc/rc.config • DHCP:Dynamic Host Configuration Protocol: lấy địa chỉ IP động từ server
Địa chỉ IP: Cách gán địa chỉ IP? Q: Cách xác định subnet từ địa chỉ IP? A: Tính dựa vào phần không gian địa chỉ được cấp Khối của ISP 11001000 00010111 00010000 00000000 200.23.16.0/20 Tổ chức 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Tổ chức 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Tổ chức 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. …. Tổ chức 7 11001000 00010111 00011110 00000000 200.23.30.0/23
200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 200.23.20.0/23 . . . . . . Địa chỉ phân cấp: Gửi kết tập Địa chỉ phân cấp cho phép thông báo hiệu quả thông tin dẫn đường: Tổ chức 0 Tổ chức 1 “Gửi cho tôi gói tin có địa chỉ bắt đầu bằng 200.23.16.0/20” Tổ chức 2 Fly-By-Night-ISP Internet Tổ chức 7 “Gửi cho tôi gói tin có địa chỉ bắt đầu bằng 199.31.0.0/16” ISPs-R-Us
200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 200.23.20.0/23 . . . . . . Địa chỉ phân cấp ISPs-R-Us có hơn một đường đi tới tổ chức 1 Tổ chức 0 “Gửi cho tôi gói tin có địa chỉ bắt đầu bằng 200.23.16.0/20” Tổ chức 2 Fly-By-Night-ISP Internet Tổ chức 7 “Gửi cho tôi gói tin có địa chỉ bắt đầu bằng 199.31.0.0/16 hoặc 200.23.18.0/23” ISPs-R-Us Tổ chức 1
Địa chỉ IP: Các thông tin khác Q: Cách ISP nhận địa chỉ? A: ICANN: Internet Corporation for Assigned Names and Numbers • Cấp phát địa chỉ • Quản lý DNS • Gán tên miền, trả lời yêu cầu DNS
NAT: Network Address Translation Phần còn lại của Internet Mạng cục bộ 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 Tất cả các datagram rời mạng cục bộ có cùng địa chỉ NAT IP nguồn là: 138.76.29.7, khác nhau về giá trị cổng nguồn Các datagram với nguồn hoặc đích trong mạng có địa chỉ 10.0.0/24, địa chỉ nguồn/đích có giá trị như bình thường
NAT: Network Address Translation • Động cơ mạng cục bộ sử dụng 1 địa chỉ IP: • Không cần được cấp phát dải địa chỉ từ ISP: một địa chỉ IP cho tất cả mọi thiết bị • Có thể thay đổi địa chỉ của thiết bị trong mạng cục bộ không cần thông báo với thế giới bên ngoài • Có thể thay đổi ISP không cần thay đổi địa chỉ của các thiết bị trong mạng cục bộ • Các thiết bị trong mạng cục bộ không có địa chỉ rõ ràng đối với thế giới bên ngoài (bảo mật hơn)
NAT: Network Address Translation Thực hiện: NAT router phải: • Các datagram ra ngoài:thay thế (địa chỉ IP nguồn, port #) của mọi datagram ra ngoài thành (địa chỉ NAT IP, port # mới) . . . Client/server ở xa sẽ trả lời sử dụng (địa chỉ NAT IP, port # mới) là địa chỉ đích. • Ghi nhớ (trong bảng phiên dịch NAT) mọi cặp (địa chỉ IP nguồn, port #) thành (địa chỉ NAT IP, port # mới) • Các datagram đi vào:thay thế (địa chỉ NAT IP, port # mới) trong trường địa chỉ đích của mọi datagram đi vào bằng (địa chỉ IP nguồn, port #) tương ứng (chứa trong bảng phiên dịch NAT)
3 1 2 4 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 1: host 10.0.0.1 gửi datagram tới 128.119.40, 80 2: NAT router thay đổi địa chỉ nguồn của datagram từ 10.0.0.1, 3345 thành 138.76.29.7, 5001, cập nhật bảng S: 128.119.40.186, 80 D: 10.0.0.1, 3345 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 NAT: Network Address Translation Bảng phiên dịch NAT Địa chỉ phía WAN Địa chỉ phía LAN 138.76.29.7, 5001 10.0.0.1, 3345 …… …… 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 4: NAT router thay đổi địa chỉ đích của datagram từ 138.76.29.7, 5001 thành 10.0.0.1, 3345 3: Trả lời đến địa chỉ đích: 138.76.29.7, 5001