Bài giảng Mạng máy tính - Chương 4: Giao thức tầng mạng (Network Layer) - Trần Quang Hải Bằng
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chương 4: Giao thức tầng mạng (Network Layer) - Trần Quang Hải Bằng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_mang_may_tinh_chuong_4_giao_thuc_tang_mang_network.pdf
Nội dung text: Bài giảng Mạng máy tính - Chương 4: Giao thức tầng mạng (Network Layer) - Trần Quang Hải Bằng
- Chương 4. Giao thức tầng mạng (network layer) Trần Quang Hải Bằng Faculty of Information Technology University of Communication and Transport (Branch 2) Office location: Administration building, Block D3, Room 6 Office phone: 38962018 Cell phone: N/A Email: tqhbang@utc2.edu.vn Ch4. The Network Layer 4.1 Giới thiệu và chức năng của tầng mạng. 4.2 Network service model (VC and Datagram). 4.3 Thiết bị tầng mạng Bộ định tuyến (router). 4.4 Giao thức IP (Internet Protocol). 4.5 Giải thuật chọn đường (Routing Algorithms). 4.6 Chọn đường trong mạng Internet. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 2
- Chức năng của tầng mạng Truyền các gói tin (packets) từ sending application host tới receiving host. transport network segment packets (datagrams). data link network physical network data link network data link physical data link Network layer được cài đặt tại router physical physical và cả end system. network data link physical network Chức năng: data link physical chọn đường (path selection): có nhiều network network data link đường đi, gói tin sẽ đi theo đường nào? data link physical physical chuyển mạch (switching, forwarding): network data link application chuyển gói tin từ cổng vào tới cổng ra của physical transport network router một cách thích hợp. data link physical thiết lập liên kết (call setup): một số kiến trúc mạng cần thiết lập kênh truyền trước khi truyền. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 3 Routing & switching in routers routing algorithm local forwarding table header value output link 0100 3 0101 2 0111 2 1001 1 value in arriving packet’s header 0111 1 3 2 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 4
- Ch4. The Network Layer 4.1 Giới thiệu và chức năng của tầng mạng. 4.2 Network service model (VC and Datagram). 4.3 Thiết bị tầng mạng Bộ định tuyến (router). 4.4 Giao thức IP (Internet Protocol). 4.5 Giải thuật chọn đường (Routing Algorithms). 4.6 Chọn đường trong mạng Internet. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 5 Network service model Tầng mạng cung cấp dịch vụ cho tầng Transport: tin cậy vào tầng network? các gói tin có đến đích đúng thứ tự đã gửi? thời gian truyền có được đảm bảo? có phản hồi về tình trạng nghẽn mạng? Hai model cơ bản của tầng mạng: kênh ảo (virtual circuit) lược đồ (gam) dữ liệu (datagram) 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 6
- Virtual Circuit Thiết lập liên kết trước khi truyền dữ liệu và huỷ bỏ liên kết sau khi truyền xong. VC setup: trước khi truyền, tầng mạng phải thiết lập một kênh truyền ảo (VC) từ sender tới receiver (đã biết địa chỉ). Data transfer: dữ liệu được truyền qua VC. VC teardown: một khi sender hoặc receiver muốn ngắt VC, nó thông báo cho network layer biết, network layer sẽ huỷ bỏ VC. Còn được gọi là connection oriented Mỗi gói tin chứa thêm thông tin về kênh mà nó sẽ đi qua (VC identifier number). Các routers/packet switches trên kênh ảo (VC) luôn nắm giữ trạng thái của kênh đi qua nó. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 7 Virtual Circuit: Signaling protocol Giao thức truyền các thông điệp giữa end system và network layer để yêu cầu thiết lập, huỷ bỏ VC; giữa các thiết bị chuyển mạch (switches) để thiết lập VC. Được sử dụng trong mạng ATM, Frame Relay, X.25. application 6. Receive data application transport 5. Data flow begins transport network 4. Call connected 3. Accept call network data link 1. Initiate call 2. incoming call data link physical physical 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 8
- application application transport transport network network data link data link physicalhost A serverphysical B S khác bi t gi a liên k t t i t ng Transport và Network? application application transport transport network network data link data link physical physical 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 9 Datagram network Không thiết lập kênh truyền. Các thiết bị chuyển mạch không cần nắm giữ trạng thái các kênh. Gói tin được truyền dựa trên địa chỉ của receiving host. Đường đi của các gói tin giữa hai host có thể khác nhau. application application transport transport network network data link 1. Send data 2. Receive data data link physical physical 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 10
- Network taxonomy (review) communication networks switched broadcast networks networks (vd. Radio, Broadcast TV) circuit-switched packet-switched networks networks (vd. telephone) datagram virtual circuit- networks switched FDM TDM (vd. Internet) networks (vd. ATM) 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 11 Datagram or VC network: why? Internet ATM Mạng máy tính: Mạng điện thoại (chuyển mạch kênh). dịch vụ nhạy cảm. Tương tác người người đòi hỏi: không giới hạn thời gian. thời gian truyền. Các hệ thống cuối “thông minh” độ tin cậy. (computer): dịch vụ phải được đảm bảo. có khả năng thích nghi, kiểm Các thiết bị cuối đơn giản, dường như soát, khôi phục lỗi. cố định: kiến trúc bên trong mạng đơn điện thoại. giản nhưng kết nối các mạng mức độ phức tạp nằm bên trong phức tạp. mạng. Nhiều dạng liên kết mạng dẫn đến một dịch vụ thuần nhất (kênh) là không thích hợp. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 12
- Ch4. The Network Layer 4.1 Giới thiệu và chức năng của tầng mạng. 4.2 Network service model (VC and Datagram). 4.3 Thiết bị tầng mạng Bộ định tuyến (router). 4.4 Giao thức IP (Internet Protocol). 4.5 Giải thuật chọn đường (Routing Algorithms). 4.6 Chọn đường trong mạng Internet. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 13 Bộ định tuyến – router Thực thi các giải thuật chọn đường (routing algorithms). Chuyển tiếp (forwarding) các gói tin từ cổng vào tới cổng ra thích hợp. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 14
- Input ports Physical layer: bit-level reception Data link layer: Decentralized switching : e.g., Ethernet sử dụng forwarding table có trong input port memory để tra cứu output port queuing: nếu các gam dữ liệu (datagram) đến nhanh quá, cần phải xếp hàng chờ xử lý. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 15 Các cơ cấu chuyển mạch (switching fabrics) 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 16
- Output ports Buffering : khi datagram được gửi ra nhanh hơn tốc độ xử lý, cần đưa vào bộ đệm. Scheduling discipline : cơ chế lựa chọn datagram từ bộ đệm để tiếp tục gửi đi. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 17 Ch4. The Network Layer 4.1 Giới thiệu và chức năng của tầng mạng. 4.2 Network service model (VC and Datagram). 4.3 Thiết bị tầng mạng Bộ định tuyến (router). 4.4 Giao thức IP (Internet Protocol). 4.5 Giải thuật chọn đường (Routing Algorithms). 4.6 Chọn đường trong mạng Internet. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 18
- The Internet (TCP/IP) network layer Network layer được thực thi tại end system cũng như tại router! Transport layer: TCP, UDP Routing protocols IP protocol •path selection •addressing conventions •RIP, OSPF, BGP •datagram format Network •packet handling conventions layer routing table ICMP protocol •error reporting •router “signaling” Link layer physical layer 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 19 IP datagram format IP protocol version 32 bits number total datagram header length head. type of length (bytes) ver length (bytes) len service for “type” of data fragment 16-bit identifier flgs fragmentation/ offset reassembly max number time to upper Internet remaining hops live layer checksum (decremented at 32 bit source IP address each router) 32 bit destination IP address upper layer protocol to deliver payload to Options (if any) E.g. timestamp, 6 = TCP; 17 = UDP record route data taken, specify (variable length, list of routers typically a TCP to visit. or UDP segment) 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 20
- IP datagram example Sender’s MAC address Receiver’s MAC address Type of upper layer’s protocol ( 0x0800 = IP ) 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 21 IP version: 4 TOS Total length: Id IP’s Header Header length: 20 bytes 72 bytes Flags & Fragment’s offset TTL Transport’s protocol: UDP Checksum Source’s IP: 192.168.1.10 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 22
- IP’s Header Dest’s IP: 203.162.4.190 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 23 Phân tích gói tin tầng Internet Transport Địa chỉ MAC của sender & receiver ? Địa chỉ IP của sender và receiver ? Độ dài tổng của IP datagram ? What are your TTL của IP datagram? Source’s IP, destination’s IP ? answers ? Giao thức sử dụng ở tầng Application ? 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 24
- IP Fragmentation & Reassembly Fragmentation: gam dữ liệu (datagram) lớn được chia thành nhiều gam dữ liệu nhỏ. fragmentation: in: one large datagram Do mỗi đường truyền giữa out: 3 smaller datagrams các nút (link) có tốc độ giới hạn, chỉ cho phép truyền đơn vị dữ liệu có kích thước tối đa là MTU (Max Transfer Unit) reassembly Reassembly: Các gam dữ liệu nhỏ được hợp nhất thành gam dữ liệu lớn (ngược lại) tại điểm đến cuối cùng 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 25 Example length ID fragflag offset =4000 =x =0 =0 4000 byte datagram gam dữ liệu lớn được chia thành MTU = 1500 bytes nhiều gam dữ liệu nhỏ hơn length ID fragflag offset =1500 =x =1 =0 1480 bytes in data field length ID fragflag offset =1500 =x =1 =185 offset = 1480/8 length ID fragflag offset =1040 =x =0 =370 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 26
- IPv4 Addressing: introduction IP address: Số 32 bit định danh giao diện mạng (interface) . Interface (NIC Network Interface Card): giao diện kết nối mạng từ nút mạng tới mạng. host interface: mỗi máy tính thường có một NIC, cho phép nối vào một đường liên kết. router interface: router thường có nhiều giao diện mạng. 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 32 bit = 4 s 8 bit d ng th p phân d nh : 223.1.1.3 223.1.3.27 223.1.1.1 = 11011111 00000001 00000001 00000001 223.1.3.1 223.1.3.2 223 11 1 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 27 Mạng & mạng con (subnet) Internet = network of networks. 223.1.1.1 Địa chỉ IP bao gồm 2 phần: 223.1.2.1 Các bit cao dành cho network. 223.1.1.2 Các bit thấp dành cho host. 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 Network: LAN Mạng tạo bởi các interface có 223.1.3.1 223.1.3.2 phần network trong IP addr giống nhau. Các host cùng network có thể network = 3 IP networks trao đổi dữ liệu không cần thông qua router. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 28
- IP addressing: Class full 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 29 Subnet Đôi khi cần chia nhỏ một mạng thành các mạng nhỏ hơn (subnet) Ví dụ: 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 30
- Subnet mask Một interface trong mạng cần có: IP address Mặt nạ mạng con (subnet mask): Là một số 32 bit bao gồm các bit cao = 1 và các bit thấp = 0. Các bit 1 quy định subnet, các bit 0 quy định địa chỉ host. từ subnet mask có thể xác định ranh giới giữa địa chỉ mạng và địa chỉ của interface (host). Ví dụ: Subnet gồm các host 192.168.10.x, một host có thể có thông số như sau: IP = 192.168.10.1 SM = 255.255.255.0 (111111111.11111111.11111111.00000000) Kiểm tra xem hai IP có cùng một subnet không? (IP1 XOR IP2) AND SM = 0? 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 31 Network addr, Broadcast và loopback Để ám chỉ một mạng, thay địa chỉ host bằng các bit 0, ví dụ: 192.168.10.0 Broadcast: Địa chỉ host thay bằng các bit 1, vd: 192.168.10.255 Các gói tin có ip đích dạng broadcast sẽ được gửi cho mọi host trong mạng. Loopback ip: 127.x.x.x các gói tin được coi như được gửi tới từ nút khác. thường dùng 127.0.0.1 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 32
- IP addressing: CIDR Class full addressing: sự phân lớp cứng nhắc, không còn thích hợp nữa. CIDR (Classless InterDomain Routing): Vị trí ngăn cách giữa net addr và host addr tuỳ ý. addr format: a.b.c.d/x, với x là số lượng bit dành cho net addr. network host part part 11001000 00010111 00010000 00000000 200.23.16.0/23 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 33 IP addresses: how to get one? Làm thế nào để có địa chỉ IP cho host? Người quản trị hệ thống thiết lập (TCP/IP properties trong Windows 2000/XP). RARP (Reverse Address Resolution Protocol): RARP server cung cấp IP cho client dựa trên bảng cấu hình sẵn có (từ địa chỉ vật lý (MAC) IP). BOOTP (BOOTstrap Protocol): BOOTP server cung cấp IP cho client dựa trên bảng cấu hình sẵn có. DHCP (Dynamic Host Configuration Protocol): Giao thức cấp phát địa chỉ IP động. DHCP server phụ trách việc cấp phát/thu hồi IP cho/từ các DHCP client. Client có thể nhận IP khác nhau tuỳ thời điểm kết nối. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 34
- Phân cấp địa chỉ Internet ISP ICANN : Internet ISP's block 11001000 00010111 0001 0000 00000000 200.23.16.0/20 Corporation for Organization 0 11001000 00010111 0001000 0 00000000 200.23.16.0/23 Assigned Names Organization 1 11001000 00010111 0001001 0 00000000 200.23.18.0/23 Organization 2 11001000 00010111 0001010 0 00000000 200.23.20.0/23 and Numbers . . Organization 7 11001000 00010111 0001111 0 00000000 200.23.30.0/23 Organization 0 200.23.16.0/23 Organization 1 “Send me anything 200.23.18.0/23 with addresses Organization 2 beginning . Fly-By-Night-ISP 200.23.16.0/20” 200.23.20.0/23 . . . . Internet Organization 7 . 200.23.30.0/23 “Send me anything ISPs-R-Us with addresses beginning 199.31.0.0/16” 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 35 NAT: Network Address Translation rest of local network Internet (e.g., home network) 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 All datagrams leaving local Datagrams with source or network have same single source destination in this network NAT IP address: 138.76.29.7, have 10.0.0/24 address for different source port numbers source, destination (as usual) 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 36
- NAT: Network Address Translation (cont) Một LAN chỉ sử dụng một IP duy nhất khi giao tiếp với mạng ngoài. Từ đó: Không cần tìm dải IP từ ISP để cấp phát cho các thiết bị mạng trong (máy trạm) vì chỉ dùng 1 IP. Thay đổi IP của máy trạm nội bộ mà không ảnh hưởng tới mạng ngoài. Thay đổi ISP mà không cần thay đổi địa chỉ các thiết bị mạng trong. Các thiết bị mạng trong không “nhìn thấy” được từ mạng ngoài. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 37 NAT: Implementation NAT router: outgoing datagrams: replace (source IP address, port #) of every outgoing datagram to (NAT IP address, new port #) . . . remote clients/servers will respond using (NAT IP address, new port #) as destination addr. remember (in NAT translation table) every (source IP address, port #) to (NAT IP address, new port #) translation pair incoming datagrams: replace (NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 38
- NAT example NAT translation table 1: host 10.0.0.1 2: NAT router WAN side addr LAN side addr changes datagram sends datagram to 138.76.29.7, 5001 10.0.0.1, 3345 source addr from 128.119.40, 80 10.0.0.1, 3345 to 138.76.29.7, 5001, S: 10.0.0.1, 3345 updates table D: 128.119.40.186, 80 10.0.0.1 1 S: 138.76.29.7, 5001 2 D: 128.119.40.186, 80 10.0.0.4 10.0.0.2 138.76.29.7 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 S: 128.119.40.186, 80 3 D: 138.76.29.7, 5001 4: NAT router 10.0.0.3 3: Reply arrives changes datagram dest. address: dest addr from 138.76.29.7, 5001 138.76.29.7, 5001 to 10.0.0.1, 3345 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 39 ICMP (Internet Control Message Protocol) Giao tiếp ở mức mạng giữa các Type Code description hosts, routers 0 0 echo reply (ping) thông báo lỗi (vd: không tìm được 3 0 dest. network unreachable đường đi, không gửi tin được tới host, port ). 3 1 dest host unreachable 3 2 dest protocol unreachable echo request/reply. 3 3 dest port unreachable ICMP có thể coi là một thành 3 6 dest network unknown phần của IP 3 7 dest host unknown về mặt kiến trúc, ICMP thuộc về 4 0 source quench (congestion tầng ứng dụng. control not used) sử dụng UDP. 8 0 echo request (ping) ICMP msg 9 0 route advertisement 10 0 router discovery được đóng gói trong IP datagrams/packet. 11 0 TTL expired 12 0 bad IP header type + code + 8 bytes of IP datagram. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 40
- IPv6 IPv4: sử dụng 32 bit địa chỉ IP sẽ là không đủ??? IPv6: sử dụng 128 bit địa chỉ. phần tiêu đề (header) cung cấp khả năng xử lý nhanh hơn, chất lượng hơn (QoS). 40 bytes header. không cho phép phân mảnh (fragmentation). ICMP v6. [RFC 1885] 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 41 IPv6: datagram format ver: phiên bản (6=v6, 4#v4!!). priority: thứ tự các gói tin trong cùng flow. flow: nhãn của luồng mà gói tin thuộc về các ứng dụng đòi hỏi chất lượng cao flow. ứng dụng không đòi hỏi chất lượng không được coi là flow. next header: giao thức tầng trên. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 42
- IPv6 datagram analysis (example) Receiver’s MAC Sender’s MAC Type: 0x86DD (IPv6) 0000: 00 A0 24 6F B6 A3 00 A0 24 6F B7 02 86 DD 60 00 $o $o `. 0010: 00 00 00 CB 06 40 5F 15 50 00 82 C0 0E 00 00 BD @_.P 0020: 00 A0 24 6F B7 02 5F 15 50 00 82 C0 0E 00 00 BD $o _.P 0030: 00 A0 24 6F B6 A3 23 3F 04 06 63 A9 BC 4A 1E 41 $o #? c J.A 0040: B0 80 80 18 43 80 74 8A 00 00 01 01 08 0A 00 0A C.t 0050: 96 D9 00 00 14 D5 4C 61 73 74 20 6C 6F 67 69 6E Last login 0060: 3A 20 54 75 65 20 4A 61 6E 20 20 37 20 31 37 3A : Tue Jan 7 17: 0070: 30 33 3A 34 36 20 66 72 6F 6D 20 61 6C 69 63 65 03:46 from alice 0080: 2D 76 36 2E 69 70 76 36 0D 0A 57 61 72 6E 69 6E -v6.ipv6 Warnin 0090: 67 3A 20 6E 6F 20 4B 65 72 62 65 72 6F 73 20 74 g: no Kerberos t 00A0: 69 63 6B 65 74 73 20 69 73 73 75 65 64 2E 0D 0A ickets issued 00B0: 4F 70 65 6E 42 53 44 20 31 2E 32 20 28 49 50 4E OpenBSD 1.2 (IPN 00C0: 47 4B 45 52 29 20 23 31 3A 20 46 72 69 20 4E 6F GKER) #1: Fri No 00D0: 76 20 31 35 20 30 38 3A 30 33 3A 34 32 20 50 53 v 15 08:03:42 PS 00E0: 54 20 31 39 39 36 0D 0A 0D 0A 57 65 6C 63 6F 6D T 1996 Welcom 00F0: 65 20 74 6F 20 4F 70 65 6E 42 53 44 2E 0D 0A 0D e to OpenBSD 0100: 0A A3 5F 44 A9 _D. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 43 IPv6 datagram analysis (example) cnt. TCP at upper layer Flow label Payload length: 203 (bytes) Hops Limit: 64 0000: 00 A0 24 6F B6 A3 00 A0 24 6F B7 02 86 DD 60 00 $o $o `. 0010: 00 00 00 CB 06 40 5F 15 50 00 82 C0 0E 00 00 BD @_.P 0020: 00 A0 24 6F B7 02 5F 15 50 00 82 C0 0E 00 00 BD $o _.P 0030: 00 A0 24 6F B6 A3 23 3F 04 06 63 A9 BC 4A 1E 41 $o #? c J.A 0040: B0 80 80 18 43 80 74 8A 00 00 01 01 08 0A 00 0A C.t 0050: 96 D9 00 00 14 D5 4C 61 73 74 20 6C 6F 67 69 6E Last login 0060: 3A 20 54 75 65 20 4A 61 6E 20 20 37 20 31 37 3A : Tue Jan 7 17: 0070: 30 33 3A 34 36 20 66 72 6F 6D 20 61 6C 69 63 65 03:46 from alice 0080: 2D 76 36 2E 69 70 76 36 0D 0A 57 61 72 6E 69 6E -v6.ipv6 Warnin 0090: 67 3A 20 6E 6F 20 4B 65 72 62 65 72 6F 73 20 74 g: no Kerberos t 00A0: 69 63 6B 65 74 73 20 69 73 73 75 65 64 2E 0D 0A ickets issued 00B0: 4F 70 65 6E 42 53 44 20 31 2E 32 20 28 49 50 4E OpenBSD 1.2 (IPN 00C0: 47 4B 45 52 29 20 23 31 3A 20 46 72 69 20 4E 6F GKER) #1: Fri No 00D0: 76 20 31 35 20 30 38 3A 30 33 3A 34 32 20 50 53 v 15 08:03:42 PS 00E0: 54 20 31 39 39 36 0D 0A 0D 0A 57 65 6C 63 6F 6D T 1996 Welcom 00F0: 65 20 74 6F 20 4F 70 65 6E 42 53 44 2E 0D 0A 0D e to OpenBSD 0100: 0A A3 5F 44 A9 _D. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 44
- IPv6 – Analysis (example 2) 0000: 33 33 00 00 00 09 08 00 2B B5 A7 A8 86 DD 67 00 33 + g. 0010: 00 00 00 20 11 FF FE 80 00 00 00 00 00 00 00 00 0020: 08 00 2B B5 A7 A8 FF 02 00 00 00 00 00 00 00 00 + 0030: 00 00 00 00 00 09 02 09 02 09 00 20 21 A1 01 01 ! 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0050: 00 00 00 00 00 10 F2 9B F3 73 Địa chỉ IPv6 của máy gửi và máy nhận ? Payload length của IPv6 datagram ? What are your Hops limit value ? answers ? Transport protocol ? Source port # and Dest port # at transport layer ? 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 45 IPv6: chuyển đổi IPv4 IPv6 Chuyển đổi tất cả các hosts, routers sang sử dụng IPv6: không thể!!! Chuyển đổi dần dần: tồn tại các nút mạng IPv4 và IPv6. IPv6 có khả năng xử lý gói tin IPv4. Tunneling: gói tin IPv6 được coi như phần data (payload) của IPv4 khi đi qua các nút mạng IPv4. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 46
- Tunneling A B E F Logical view: tunnel IPv6 IPv6 IPv6 IPv6 A B C D E F Physical view: IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 Flow: X Src:B Src:B Flow: X Src: A Dest: E Dest: E Src: A Dest: F Dest: F Flow: X Flow: X Src: A Src: A data Dest: F Dest: F data data data A-to-B: E-to-F: B-to-C: B-to-C: IPv6 IPv6 IPv6 inside IPv6 inside IPv4 IPv4 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 47 Ch4. The Network Layer 4.1 Giới thiệu và chức năng của tầng mạng. 4.2 Network service model (VC and Datagram). 4.3 Thiết bị tầng mạng Bộ định tuyến (router). 4.4 Giao thức IP (Internet Protocol). 4.5 Giải thuật chọn đường (Routing Algorithms). 4.6 Chọn đường trong mạng Internet. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 48
- Forwarding & routing routing algorithm local forwarding table header value output link 0100 3 0101 2 0111 2 1001 1 value in arriving packet’s header 0111 1 3 2 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 49 Network: graph abstraction 5 v 3 w 2 5 u 2 1 3 z 1 x y 2 Network = Graph = G(N,E). 1 N = tập hợp các routers = { u, v, w, x, y, z }. E = tập các đường nối giữa các routers. = { (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } Trọng số = chi phí (cost): độ trễ, độ nghẽn mạng, cước phí Đường đi tốt = đường đi có “chi phí” thấp nhất. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 50
- Routing Algorithm classification Thông tin tập trung hay phân tán? Tĩnh hay động? Tập trung: Tĩnh: mỗi router phải nắm giữ thông tin toàn đường đi ít thay đổi bộ mạng (topology, link cost ) Động: “link state” algorithms Phân tán: đường đi thay đổi thường xuyên router nắm được chi phí truyền tin tới các router được nối trực tiếp với mình (hàng các thông tin dẫn xóm) đường được cập quá trình tính toán mang tính chất lặp đi nhật định kỳ. lặp lại, trao đổi thông tin giữa các link cost thay đổi. routers. “distance vector” algorithms 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 51 A Link State Routing Algorithm Giải thuật Dijkstra: tất cả các nút mạng có thông tin như nhau về các liên kết của toàn bộ mạng. cho phép tìm đường đi từ một nút tới tất cả các nút còn lại. Ký hiệu: c(i,j): chi phí phải trả để đi từ i tới j (trực tiếp) D(v): giá trị hiện tại của chi phí phải trả để đi từ đỉnh xuất phát tới đỉnh v. p(v): đỉnh trước đỉnh v trên đường đi ngắn nhất N: tập hợp đỉnh mà đường đi ngắn nhất đã được xác định. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 52
- Dijsktra’s Algorithm 1 Initialization: 2 N = {A} 3 for all nodes v 4 if v k v i A 5 then D(v) = c(A,v) 6 else D(v) = ∞ 7 8 Loop 9 Tìm w không thu c N sao cho D(w) nh nh t 10 N = N + w 11 for all v k v i w và không thu c N: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 until t t c nút thu c N 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 53 Dijkstra’s algorithm: example Step N D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F) 0 A 2,A 5,A 1,A ∞ ∞ 1 AD 2,A 4,D 2,D ∞ 2 ADE 2,A 3,E 4,E 3 ADEB 3,E 4,E 4 ADEBC 4,E 5 ADEBCF 5 B 3 C 2 5 A 2 1 F 3 1 D E 2 1 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 54
- Distance Vector Routing Algorithm Distance Table data structure mỗi nút mạng có một bảng khoảng cách. hàng dành cho các đích có thể đến được. cột dành cho các nút có thể đến trực tiếp (hàng xóm) Ví dụ: tại nút X, với đích Y đến qua nút Z: chi phí cho đư ng đi (X Z Y) X = Z là nút k ti p c n đi t i D (Y,Z) Z c(X,Z) + min {D (Y,w)} = w 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 55 Distance Table: example cost to destination via B 1 C E 7 D () A B D A 8 2 1 A 1 14 5 E D 2 n B o 7 8 5 i E D t a D (C,D) = c(E,D) + min {D (C,w)} n i w t s = 2+2 = 4 e C 6 9 4 E D d D (A,D) = c(E,D) + min {D (A,w)} w D 4 11 = 2 2+3 = 5 loop! E B D (A,B) c(E,B) + min {D (A,w)} = w = 8+6 = 14 loop! 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 56
- Distance table routing table cost to destination via E D () A Outgoing link B D to use, cost A 1 14 5 A A,1 n B n o 7 8 5 B D,5 o i i t t a a n n i i t t s s e C 6 9 4 e C D,4 d d D 4 11 2 D D,4 Distance table Routing table 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 57 DV Algorithm: Initialization At all nodes, X: 1 Initialization: 2 for all adjacent nodes v: 3 D X (*,v) = infinity /* the * operator means "for all rows" */ 4 D X (v,v) = c(X,v) 5 for all destinations, y 6 send min D X (y,w) to each neighbor /* w over all X's neighbors */ w 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 58
- DV Algorithm: Loop 8 loop 9 wait (until I see a link cost change to neighbor V 10 or until I receive update from neighbor V) 11 12 if (c(X,V) changes by d) 13 /* change cost to all dest's via neighbor v by d */ 14 /* note: d could be positive or negative */ 15 for all destinations y: D X (y,V) = DX (y,V) + d 16 17 else if (update received from V wrt destination Y) 18 /* shortest path from V to some Y has changed */ 19 /* V has sent a new value for its min w DV(Y,w) */ 20 /* call this received new value is "newval" */ 21 for the single destination y: D X (Y,V) = c(X,V) + newval 22 X 23 if we have a new minw D (Y,w)for any destination Y 24 send new value of min D X (Y,w) to all neighbors w 26 forever 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 59 DV Algorithm: example Y 2 1 X Z 7 X Y c(X,Y) + min {D (Z,w)} D (Z,Y) = w = 2+1 = 3 X Z c(X,Z) + min {D (Y,w)} D (Y,Z) = w = 7+1 = 8 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 60
- DV Algorithm: example Y 2 1 X Z 7 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 61 Một vài so sánh (LS và DV) Link State Distance Vector Cần nắm được thông tin toàn Chỉ nắm giữ thông tin liên bộ mạng quan tới các nút “hàng xóm” n nút, E links, nE msgs được msgs chỉ được gửi cho các nút gửi mỗi lần “hàng xóm”. O(n 2), nE msgs tốc độ hội tụ có thể khác nhau tuỳ từng tình huống, đôi khi rơi vào trạng thái lặp vô hạn. Thông tin dẫn đường của nút Mỗi nút chỉ tính toán bảng dẫn đường cho riêng mình. này được sử dụng bởi nút khác. Một nút gặp sự cố có thể gây ảnh hưởng tới các nút khác. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 62
- Hierarchical Routing Dẫn đường theo từng mức mạng, do: Quy mô mạng Internet là rất lớn: một nút không thể chứa tất cả các bản ghi cho mọi đích! việc cập nhật bảng dẫn đường tốn kém! Nhu cầu mạng tự trị Internet = network of networks người quản trị mạng muốn điều khiển việc dẫn đường (routing) trong mạng họ quản lý. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 63 Hierarchical Routing (cont) Phân vùng routers, tạo thành các “autonomous systems” (AS) routers trong cùng AS sử dụng chung giao thức tìm đường, gọi là “intra AS” routing protocol. routers tại các AS khác nhau có thể sử dụng intra AS routing protocol khác nhau. Gateway router: router đặc biệt trong AS sử dụng intra AS routing protocol với các routers khác trong AS sử dụng inter AS routing protocol với các gateway routers khác. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 64
- Hierarchical Routing (cont) C.b Gateways: B.a •perform inter-AS A.a routing amongst b A.c c a a themselves C b a B •perform intra-AS routers with other d c routers in their A b AS network layer inter-AS, intra-AS link layer routing in gateway A.c physical layer 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 65 Hierarchical Routing (cont) Inter-AS C.b routing between B.a A.a A and B Host b A.c c h2 a a C b a B Host d Intra-AS routing h1 c A b within AS B Intra-AS routing within AS A 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 66
- Ch4. The Network Layer 4.1 Giới thiệu và chức năng của tầng mạng. 4.2 Network service model (VC and Datagram). 4.3 Thiết bị tầng mạng Bộ định tuyến (router). 4.4 Giao thức IP (Internet Protocol). 4.5 Giải thuật chọn đường (Routing Algorithms). 4.6 Chọn đường trong mạng Internet. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 67 Routing in the Internet Internet = nhiều Autonomous Systems (AS) : Stub AS : các công ty nhỏ: một kết nối với AS khác. Multihomed AS : công ty lớn: nhiều liên kết tới AS khác. Transit AS : nhà cung cấp (móc nối các AS với nhau). Two level routing: Intra AS: người quản trị có quyền chọn giải thuật cho riêng mạng của mình Inter AS: giải thuật duy nhất (inter AS routing: BGP) 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 68
- Internet AS Hierarchy Inter-AS border (exterior gateway) routers Intra-AS interior (gateway) routers 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 69 Intra AS Routing Tên gọi khác: Interior Gateway Protocols (IGP) Các giao thức chính: RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco proprietary) 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 70
- RIP ( Routing Information Protocol) Sử dụng Distance vector algorithm Included in BSD UNIX Distribution in 1982 Đơn vị đo khoảng cách: số lượng chặng (hop, tối đa = 15 hops) Routing table được trao đổi 30 giây một lần thông qua RIP response msg (RIP advertisement), mỗi msg chứa tối đa 25 bản ghi. v1: RFC 1058; v2: RFC 1723 destination hops u v u 1 A B w v 2 w 2 x 3 x y 3 z C D z 2 y 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 71 RIP: Example z w x y A D B C Destination Network Next Router Num. of hops to dest. w A 2 y B 2 z B 7 x 1 . . Routing table in D 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 72
- RIP Table processing RIP routing tables managed by application level process called route d (daemon) advertisements được gửi định kỳ, qua UDP packets. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 73 RIP Table example Destination Gateway Flags Ref Use Interface 127.0.0.1 127.0.0.1 UH 0 26492 lo0 192.168.2. 192.168.2.5 U 2 13 fa0 193.55.114. 193.55.114.6 U 3 58503 le0 192.168.3. 192.168.3.5 U 2 25 qaa0 224.0.0.0 193.55.114.6 U 3 0 le0 default 193.55.114.129 UG 0 143454 Three attached class C networks (LANs) Router only knows routes to attached LANs Default router used to “go up” Route multicast address: 224.0.0.0 Loopback interface (for debugging) 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 74
- OSPF (Open Shortest Path First) “open”: publicly available; RFC 2178 Uses Link State algorithm LS packet dissemination Topology map at each node Route computation using Dijkstra’s algorithm OSPF advertisement carries one entry per neighbor router Advertisements disseminated to entire AS (via flooding) Carried in OSPF messages directly over IP (rather than TCP or UDP 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 75 OSPF “advanced” features (not in RIP) Security: các OSPF msgs đều chứa thông tin chứng thực (authenticated). Multiple same cost paths: Cho phép truyền tin theo nhiều đường có cùng chi phí với cùng một phiên truyền tin. Diff. cost metrics for diff. TOS: Cho phép nhiều đơn vị đo khác nhau cho từng loại dịch vụ (e.g., satellite link cost set “low” for best effort; high for real time) Integrated unicast and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF Hierarchical OSPF in large domains. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 76
- Hierarchical OSPF Two level hierarchy: local area, backbone. Link state advertisements only in area each nodes has detailed area topology; only know direction (shortest path) to nets in other areas. Area border routers: “summarize” distances to nets in own area, advertise to other Area Border routers. Backbone routers: run OSPF routing limited to backbone. Boundary routers: connect to other AS’s. 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 77 Internet inter AS routing: BGP BGP (Border Gateway Protocol): RFC 1771; RFC 1772; RFC 1773 R4 R5 BGP R3 AS3 (OSPF intra-AS AS1 AS2 routing) (RIP intra-AS (OSPF routing) BGP intra-AS routing) R1 R2 23/08 10/10/2010 Chương 4. Giao th c t ng m ng 78