Bài giảng Mạng máy tính - Chương 4: Giao thức tầng mạng (Network layer)

ppt 105 trang hapham 3080
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)", để 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:

  • pptbai_giang_mang_may_tinh_chuong_4_giao_thuc_tang_mang_network.ppt

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)

  1. Chương 4. Giao thức tầng mạng (network layer) Quang Dieu Tran, PhD Faculty of Information Technology University of Communication and Transport (Branch in Ho Chi Minh City) Email: dieutq@gmail.com Website: sites.google.com/sites/tranlectures
  2. 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. Chương 4. Giao thức tầng mạng 2
  3. 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. Chương 4. Giao thức tầng mạng 3
  4. 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 Chương 4. Giao thức tầng mạng 4
  5. 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. Chương 4. Giao thức tầng mạng 5
  6. 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) Chương 4. Giao thức tầng mạng 6
  7. 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ó. Chương 4. Giao thức tầng mạng 7
  8. 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 Chương 4. Giao thức tầng mạng 8
  9. 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 Chương 4. Giao thức tầng mạng 9
  10. 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 Chương 4. Giao thức tầng mạng 10
  11. 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) Chương 4. Giao thức tầng mạng 11
  12. 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. Chương 4. Giao thức tầng mạng 12
  13. 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. Chương 4. Giao thức tầng mạng 13
  14. 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. Chương 4. Giao thức tầng mạng 14
  15. 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ý. Chương 4. Giao thức tầng mạng 15
  16. Các cơ cấu chuyển mạch (switching fabrics) Chương 4. Giao thức tầng mạng 16
  17. 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. Chương 4. Giao thức tầng mạng 17
  18. 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. Chương 4. Giao thức tầng mạng 18
  19. 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 Chương 4. Giao thức tầng mạng 19
  20. 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) Chương 4. Giao thức tầng mạng 20
  21. IP datagram - example Sender’s MAC address Receiver’s MAC address Type of upper layer’s protocol ( 0x0800 = IP ) Chương 4. Giao thức tầng mạng 21
  22. 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 Chương 4. Giao thức tầng mạng 22
  23. IP’s Header Dest’s IP: 203.162.4.190 Chương 4. Giao thức tầng mạng 23
  24. 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 ? Chương 4. Giao thức tầng mạng 24
  25. 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 Chương 4. Giao thức tầng mạng 25
  26. 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 Chương 4. Giao thức tầng mạng 26
  27. 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 1 1 1 Chương 4. Giao thức tầng mạng 27
  28. 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. bangtqh@utc2.edu.vn Chương 4. Giao thức tầng mạng 28
  29. IP addressing: Class-full Chương 4. Giao thức tầng mạng 29
  30. Subnet ◼ Đôi khi cần chia nhỏ một mạng thành các mạng nhỏ hơn (subnet) ◼ Ví dụ: Chương 4. Giao thức tầng mạng 30
  31. 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? Chương 4. Giao thức tầng mạng 31
  32. 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 Chương 4. Giao thức tầng mạng 32
  33. 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 Chương 4. Giao thức tầng mạng 33
  34. 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. Chương 4. Giao thức tầng mạng 34
  35. Phân cấp địa chỉ Internet - ISP ICANN: Internet ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Corporation for Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Assigned Names Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 and Numbers . . Organization 7 11001000 00010111 00011110 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” Chương 4. Giao thức tầng mạng 35
  36. 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) Chương 4. Giao thức tầng mạng 36
  37. 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. Chương 4. Giao thức tầng mạng 37
  38. 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 Chương 4. Giao thức tầng mạng 38
  39. 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 Chương 4. Giao thức tầng mạng 39
  40. ICMP (Internet Control Message Protocol) ◼ Giao tiếp ở mức mạng giữa các hosts, routers Type Code description 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. Chương 4. Giao thức tầng mạng 40
  41. 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] Chương 4. Giao thức tầng mạng 41
  42. 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. Chương 4. Giao thức tầng mạng 42
  43. 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. Chương 4. Giao thức tầng mạng 43
  44. 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. Chương 4. Giao thức tầng mạng 44
  45. 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 ? Chương 4. Giao thức tầng mạng 45
  46. 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. Chương 4. Giao thức tầng mạng 46
  47. 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 Chương 4. Giao thức tầng mạng 47
  48. 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. Chương 4. Giao thức tầng mạng 48
  49. 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 Chương 4. Giao thức tầng mạng 49
  50. 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. Chương 4. Giao thức tầng mạng 50
  51. 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 Chương 4. Giao thức tầng mạng 51
  52. 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. Chương 4. Giao thức tầng mạng 52
  53. 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 Chương 4. Giao thức tầng mạng 53
  54. 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 Chương 4. Giao thức tầng mạng 54
  55. 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 Chương 4. Giao thức tầng mạng 55
  56. 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 B 7 8 5 E D D (C,D) c(E,D) + min {D (C,w)} = w = 2+2 = 4 C 6 9 4 E 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! Chương 4. Giao thức tầng mạng 56
  57. Distance table → routing table cost to destination via E D () Outgoing link A B D to use, cost A 1 14 5 A A,1 B 7 8 5 B D,5 C 6 9 4 C D,4 D 4 11 2 D D,4 Distance table Routing table Chương 4. Giao thức tầng mạng 57
  58. 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 Chương 4. Giao thức tầng mạng 58
  59. 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) = D X (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 Chương 4. Giao thức tầng mạng 59
  60. 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 Chương 4. Giao thức tầng mạng 60
  61. DV Algorithm: example Y 2 1 X Z 7 Chương 4. Giao thức tầng mạng 61
  62. 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(n2), 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. Chương 4. Giao thức tầng mạng 62
  63. 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ý. Chương 4. Giao thức tầng mạng 63
  64. 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. bangtqh@utc2.edu.vn Chương 4. Giao thức tầng mạng 64
  65. 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 Chương 4. Giao thức tầng mạng 65
  66. 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 Chương 4. Giao thức tầng mạng 66
  67. 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. Chương 4. Giao thức tầng mạng 67
  68. 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) Chương 4. Giao thức tầng mạng 68
  69. Internet AS Hierarchy Inter-AS border (exterior gateway) routers Intra-AS interior (gateway) routers Chương 4. Giao thức tầng mạng 69
  70. 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) Chương 4. Giao thức tầng mạng 70
  71. 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 Chương 4. Giao thức tầng mạng 71
  72. 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 Chương 4. Giao thức tầng mạng 72
  73. RIP Table processing ◼ RIP routing tables managed by application-level process called route-d (daemon) ◼ advertisements được gửi định kỳ, qua UDP packets. Chương 4. Giao thức tầng mạng 73
  74. 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) Chương 4. Giao thức tầng mạng 74
  75. 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 Chương 4. Giao thức tầng mạng 75
  76. 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. Chương 4. Giao thức tầng mạng 76
  77. 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. Chương 4. Giao thức tầng mạng 77
  78. 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 Chương 4. Giao thức tầng mạng 78
  79. Các thiết bị liên kết mạng ◼ Card mạng (Network Interface Card - NIC) ◼ Modem ◼ Repeater (Bộ chuyển tiếp) ◼ Hub (Bộ tập trung) ◼ Bridge (Cầu nối) ◼ Switch (Bộ chuyển mạch) ◼ Router (Bộ định tuyến) ◼ Gateway (Cổng nối) 79 Chương 4. Giao thức tầng mạng 79
  80. Biểu diễn của các thiết bị mạng trong sơ đồ mạng 80 Chương 4. Giao thức tầng mạng 80
  81. Card mạng ◼ Kết nối giữa máy tính và cáp mạng để phát hoặc nhận dữ liệu với các máy tính khác thông qua mạng. ◼ Kiểm soát luồng dữ liệu giữa máy tính và hệ thống cáp. ◼ Mỗi NIC (Network Interface Adapter Card) có một mã duy nhất gọi là địa chỉ MAC (Media Access Control). MAC address có 6 byte, 3 byte đầu là mã số nhà sản xuất, 3 byte sau là số serial của card. 81 Chương 4. Giao thức tầng mạng 81
  82. Card mạng (tt) 82 Chương 4. Giao thức tầng mạng 82
  83. Modem ◼ Là tên viết tắt của hai từ điều chế (MOdulation) và giải điều chế (DEModulation). ◼ Điều chế tín hiệu số (Digital) sang tín hiệu tương tự (Analog) để gởi theo đường điện thoại và ngược lại. ◼ Có 2 loại là Internal và External. 83 Chương 4. Giao thức tầng mạng 83
  84. Modem 84 Chương 4. Giao thức tầng mạng 84
  85. Repeater (bộ chuyển tiếp) ◼ Khuếch đại, phục hồi các tín hiệu đã bị suy thoái do tổn thất năng lượng trong khi truyền. ◼ Cho phép mở rộng mạng vượt xa chiều dài giới hạn của một môi trường truyền. ◼ Chỉ được dùng nối hai mạng có cùng giao thức truyền thông. ◼ Hoạt động ở lớp Physical. 85 Chương 4. Giao thức tầng mạng 85
  86. Repeater (bộ chuyển tiếp) 86 Chương 4. Giao thức tầng mạng 86
  87. Hub (bộ tập trung) ◼ Chức năng như Repeater nhưng mở rộng hơn với nhiều đầu cắm các đầu cáp mạng. ◼ Tạo ra điểm kết nối tập trung để nối mạng theo kiểu hình sao. ◼ Tín hiệu được phân phối đến tất cả các kết nối. ◼ Có 3 loại Hub: thụ động, chủ động, thông minh. 87 Chương 4. Giao thức tầng mạng 87
  88. Hub (bộ tập trung)  Hub thụ động (Passive Hub): chỉ đảm bảo chức năng kết nối, không xử lý lại tín hiệu.  Hub chủ động (Active Hub): có khả năng khuếch đại tín hiệu để chống suy hao.  Hub thông minh (Intelligent Hub): là Hub chủ động nhưng có thêm khả năng tạo ra các gói tin thông báo hoạt động của mình giúp cho việc quản trị mạng dễ dàng hơn. 88 Chương 4. Giao thức tầng mạng 88
  89. Hub (bộ tập trung) 89 Chương 4. Giao thức tầng mạng 89
  90. Bridge (cầu nối) ◼ Dùng để nối 2 mạng có giao thức giống hoặc khác nhau. ◼ Chia mạng thành nhiều phân đoạn nhằm giảm lưu lượng trên mạng. ◼ Hoạt động ở lớp Data Link với 2 chức năng chính là lọc và chuyển vận. ◼ Dựa trên bảng địa chỉ MAC lưu trữ, Brigde kiểm tra các gói tin và xử lý chúng trước khi có quyết định chuyển đi hay không. 90 Chương 4. Giao thức tầng mạng 90
  91. Bridge (cầu nối) Bridge Hub Hub 91 Chương 4. Giao thức tầng mạng 91
  92. Switch (bộ chuyển mạch) ◼ Là thiết bị giống Bridge và Hub cộng lại nhưng thông minh hơn. ◼ Có khả năng chỉ chuyển dữ liệu đến đúng kết nối thực sự cần dữ liệu này làm giảm đụng độ trên mạng. ◼ Dùng để phân đoạn mạng trong các mạng cục bộ lớn (VLAN). ◼ Hoạt động ở lớp Data Link. 92 Chương 4. Giao thức tầng mạng 92
  93. Switch (bộ chuyển mạch) 93 Chương 4. Giao thức tầng mạng 93
  94. Switch (bộ chuyển mạch) 94 Chương 4. Giao thức tầng mạng 94
  95. Router (Bộ định tuyến) ◼ Dùng để ghép nối các mạng cục bộ lại với nhau thành mạng rộng. ◼ Lựa chọn đường đi tốt nhất cho các gói tin hướng ra mạng bên ngoài. ◼ Hoạt động chủ yếu ở lớp Network. ◼ Có 2 phương thức định tuyến chính:  Định tuyến tĩnh: cấu hình các đường cố định và cài đặt các đường đi này vào bảng định tuyến.  Định tuyến động: ◼ Vectơ khoảng cách: RIP, IGRP, EIGRP, BGP ◼ Trạng thái đường liên kết: OSPF 95 Chương 4. Giao thức tầng mạng 95
  96. Router (Bộ định tuyến) 96 Chương 4. Giao thức tầng mạng 96
  97. Gateway (Proxy - cổng nối) ◼ Thường dùng để kết nối các mạng không thuần nhất, chủ yếu là mạng LAN với mạng lớn bên ngoài chứ không dùng kết nối LAN – LAN. ◼ Kiểm soát luồng dữ liệu ra vào mạng. ◼ Hoạt động phức tạp và chậm hơn Router. ◼ Hoạt động từ tầng thứ 4→7 97 Chương 4. Giao thức tầng mạng 97
  98. Phương tiện truyền dẫn ◼ Cáp đồng trục ◼ Cáp xoắn đôi ◼ Cáp quang ◼ Wireless 98 Chương 4. Giao thức tầng mạng 98
  99. Cáp đồng trục (coaxial) ◼ Cấu tạo ◼ Phân loại  Thinnet/Thicknet  Baseband/ Broadband ◼ Thông số kỹ thuật  Chiều dài cáp  Tốc độ truyền  Nhiễu  Lắp đặt/bảo trì  Giá thành  Kết nối 99 Chương 4. Giao thức tầng mạng 99
  100. Cáp đôi dây xoắn Unshielded Twisted Pair (UTP) Cable 100 Chương 4. Giao thức tầng mạng 100
  101. Cáp đôi dây xoắn Shielded Twisted Pair (STP) Cable 101 Chương 4. Giao thức tầng mạng 101
  102. Chuẩn cáp 568A & 568B Chương 4. Giao thức tầng mạng Giới thiệu 102102
  103. Phương thức bấm Cáp Chương 4. Giao thức tầng mạng Giới thiệu 103103
  104. Cáp quang (Fiber optic) ◼ Thành phần & cấu tạo  Dây dẫn  Nguồn sáng (LED, Laser)  Đầu phát hiện (Photodiode, photo transistor) ◼ Phân loại  Multimode stepped index  Multimode graded index  Single mode (mono mode) ◼ Thông số kỹ thuật Lớp phủ  Chiều dài cáp  Tốc độ truyền  Nhiễu  Lắp đặt/bảo trì  Giá thành  Kết nối Lõi Lớp đệm 104 Chương 4. Giao thức tầng mạng 104
  105. Cáp quang (Fiber optic) 105 Chương 4. Giao thức tầng mạng 105