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

pdf 39 trang ngocly 17/05/2021 1400
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:

  • pdfbai_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

  1. 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 thc tng mng 2
  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 thc tng mng 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 thc tng mng 4
  3. 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 thc tng mng 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 thc tng mng 6
  4. 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à connectionoriented  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 thc tng mng 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 thc tng mng 8
  5. application application transport transport network network data link data link physicalhost A serverphysical B S khác bit gia liên kt ti tng Transport và Network? application application transport transport network network data link data link physical physical 23/08 10/10/2010 Chương 4. Giao thc tng mng 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 thc tng mng 10
  6. 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 thc tng mng 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ườingườ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 thc tng mng 12
  7. 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 thc tng mng 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 thc tng mng 14
  8. 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 thc tng mng 15 Các cơ cấu chuyển mạch (switching fabrics) 23/08 10/10/2010 Chương 4. Giao thc tng mng 16
  9. 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 thc tng mng 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 thc tng mng 18
  10. 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 thc tng mng 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 thc tng mng 20
  11. 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 thc tng mng 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 thc tng mng 22
  12. IP’s Header Dest’s IP: 203.162.4.190 23/08 10/10/2010 Chương 4. Giao thc tng mng 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 thc tng mng 24
  13. 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 thc tng mng 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 thc tng mng 26
  14. IPv4 Addressing: introduction  IP address: Số 32bit đị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 32bit = 4 s 8bit  dng thp 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 thc tng mng 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 thc tng mng 28
  15. IP addressing: Classfull 23/08 10/10/2010 Chương 4. Giao thc tng mng 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 thc tng mng 30
  16. 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 thc tng mng 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 thc tng mng 32
  17. IP addressing: CIDR  Classfull 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 thc tng mng 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 thc tng mng 34
  18. 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 thc tng mng 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 thc tng mng 36
  19. 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 thc tng mng 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 thc tng mng 38
  20. 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 thc tng mng 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 thc tng mng 40
  21. IPv6  IPv4: sử dụng 32bit địa chỉ IP sẽ là không đủ???  IPv6: sử dụng 128bit đị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 thc tng mng 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 thc tng mng 42
  22. 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 thc tng mng 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 thc tng mng 44
  23. 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 thc tng mng 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 thc tng mng 46
  24. 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 thc tng mng 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 thc tng mng 48
  25. 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 thc tng mng 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 thc tng mng 50
  26. 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 thc tng mng 51 A LinkState 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 thc tng mng 52
  27. Dijsktra’s Algorithm 1 Initialization: 2 N = {A} 3 for all nodes v 4 if v k vi A 5 then D(v) = c(A,v) 6 else D(v) = ∞ 7 8 Loop 9 Tìm w không thuc N sao cho D(w) nh nht 10 N = N + w 11 for all v k vi w và không thuc N: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 until tt c nút thuc N 23/08 10/10/2010 Chương 4. Giao thc tng mng 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 thc tng mng 54
  28. 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 ZY) X = Z là nút k tip cn đi ti D (Y,Z) Z c(X,Z) + min {D (Y,w)} = w 23/08 10/10/2010 Chương 4. Giao thc tng mng 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 thc tng mng 56
  29. 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 thc tng mng 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 thc tng mng 58
  30. 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 thc tng mng 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 thc tng mng 60
  31. DV Algorithm: example Y 2 1 X Z 7 23/08 10/10/2010 Chương 4. Giao thc tng mng 61 Một vài so sánh (LS và DV) LinkState 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 thc tng mng 62
  32. 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 thc tng mng 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à “intraAS” routing protocol.  routers tại các AS khác nhau có thể sử dụng intraAS routing protocol khác nhau.  Gateway router:  router đặc biệt trong AS  sử dụng intraAS routing protocol với các routers khác trong AS sử dụng interAS routing protocol với các gateway routers khác. 23/08 10/10/2010 Chương 4. Giao thc tng mng 64
  33. 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 thc tng mng 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 thc tng mng 66
  34. 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 thc tng mng 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).  Twolevel routing: IntraAS: người quản trị có quyền chọn giải thuật cho riêng mạng của mình InterAS: giải thuật duy nhất (interAS routing: BGP) 23/08 10/10/2010 Chương 4. Giao thc tng mng 68
  35. Internet AS Hierarchy Inter-AS border (exterior gateway) routers Intra-AS interior (gateway) routers 23/08 10/10/2010 Chương 4. Giao thc tng mng 69 IntraAS 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 thc tng mng 70
  36. RIP ( Routing Information Protocol)  Sử dụng Distance vector algorithm  Included in BSDUNIX 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 thc tng mng 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 thc tng mng 72
  37. RIP Table processing  RIP routing tables managed by applicationlevel process called routed (daemon)  advertisements được gửi định kỳ, qua UDP packets. 23/08 10/10/2010 Chương 4. Giao thc tng mng 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 thc tng mng 74
  38. 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 thc tng mng 75 OSPF “advanced” features (not in RIP)  Security: các OSPF msgs đều chứa thông tin chứng thực (authenticated).  Multiple samecost 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 thc tng mng 76
  39. Hierarchical OSPF  Twolevel hierarchy: local area, backbone.  Linkstate 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 thc tng mng 77 Internet interAS 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 thc tng mng 78