Bài giảng Nhập môn Mạng máy tính - Mô hình TCP/IP

pdf 121 trang hoanguyen 4970
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn Mạng máy tính - Mô hình TCP/IP", để 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_nhap_mon_mang_may_tinh_mo_hinh_tcpip.pdf

Nội dung text: Bài giảng Nhập môn Mạng máy tính - Mô hình TCP/IP

  1. Mô hình TCP/IP 1
  2. 2.3. Mô hình TCP/IP 2.3.1. Giới thiệu:  Vào cuối những năm 1960 và đầu 1970, Trung tâm nghiên cứu cấp cao (Advanced Research Projects Agency - ARPA) thuộc bộ quốc phòng Mĩ (Department of Defense - DoD) được giao trách nhiệm phát triển mạng ARPANET bao gồm mạng của những tổ chức quân đội, các trường đại học và các tổ chức nghiên cứu và được dùng để hỗ trợ cho những dự án nghiên cứu khoa học và quân đội Đầu những năm 1980, một bộ giao thức mới được đưa ra làm giao thức chuẩn cho mạng ARPANET và các mạng của DoD mang tên DARPA Internet protocol suit, thường được gọi là bộ giao thức TCP/IP hay còn gọi tắt là TCP/IP (Transmission Control Protocol/Internet Protocol). 2
  3. 2.3. Mô hình TCP/IP 2.3.2. Kiến trúc bộ giao thức TCP/IP  Bộ giao thức TCP/IP được phân làm 4 tầng Tầng ứng dụng (Application Layer) Tầng giao vận (Transport Layer) Tầng Internet (Internet Layer) Tầng truy cập mạng (Network access Layer) 3
  4. Các lớp tương ứng giữa OSI và TCP/IP Application Presentation Application Session Transport Transport Network Internetnet Data link Network Physical access 4
  5. 2.3. Mô hình TCP/IP 2.3.2. Kiến trúc bộ giao thức TCP/IP Các giao thức tương ứng với các lớp trong kiến trúc của TCP/IP FTP TELNET SMTP DNS SNM Application P Layer RIP Transsmission User Datagram Transport Control Protocol Protocol Layer Internet ICMP Layer Internet Protocol ARP Network access Layer Ethernet Token Token Bus Fiber Ring
  6. 2.3. Mô hình TCP/IP 2.3.2. Kiến trúc bộ giao thức TCP/IP Các giao thức tương ứng với các lớp trong kiến trúc của TCP/IP FTP (File transfer Protocol): Giao thức truyền tệp cho phép người dùng lấy hoặc gửi tệp tới một máy khác. Telnet: Chương trình mô phỏng thiết bị đầu cuối cho phép người dùng login vào một máy chủ từ một máy tính nào đó trên mạng. SMTP (Simple Mail Transfer Protocol): Một giao thức thư tín điện tử. DNS (Domain Name server): Dịch vụ tên miền cho phép nhận ra máy tính từ một tên miền thay cho chuỗi địa chỉ Internet khó nhớ. SNMP (Simple Network Monitoring Protocol): Giao thức quản trị mạng cung cấp những công cụ quản trị mạng từ xa. RIP (Routing Internet Protocol): Giao thức dẫn đường động. ICMP (Internet Control Message Protocol): Nghi thức thông báo lỗi. UDP (User Datagram Protocol): Giao thức truyền không kết nối cung cấp dịch vụ truyền không tin cậy nhưng tiết kiệm chi phí truyền. 6
  7. 2.3. Mô hình TCP/IP 2.3.2. Kiến trúc bộ giao thức TCP/IP Các giao thức tương ứng với các lớp trong kiến trúc của TCP/IP TCP (Transmission Control Protocol): Giao thức hướng kết nối cung cấp dịch vụ truyền thông tin tưởng. IP (Internet Protocol): Giao thức Internet chuyển giao các gói tin qua các máy tính đến đích. ARP (Address Resolution Protocol): Cơ chế chuyển địa chỉ TCP/IP thành địa chỉ vật lý của các thiết bị mạng. 7
  8. 2.3. Mô hình TCP/IP 2.3.2. Kiến trúc bộ giao thức TCP/IP Các giao thức tương ứng với các lớp trong kiến trúc của TCP/IP Cũng giống như trong mô hình tham chiếu OSI, dữ liệu gửi từ tầng Application đi xuống ngăn xếp, mỗi tầng có những định nghĩa riêng về dữ liệu mà nó sử dụng. Tại nơi gửi, mỗi tầng coi gói tin của tầng trên gửi xuống là dữ liệu của nó và thêm vào gói tin các thông tin điều khiển của mình sau đó chuyển tiếp xuống tầng dưới. Tại nơi nhận, quá trình diễn ra ngược lại, mỗi tầng lại tách thông tin điều khiển của mình ra và chuyển dữ liệu lên tầng trên. 8
  9. Application DATA Transport TCP DATA Header Internet IP Header TCP DATA Header Ethernet Ethernet IP Header TCP DATA Network Header Trailer Header 9
  10. Application Application Layer Layer Identical Transport Message Transport Layer Layer Identical Packet Internet Internet Layer Layer Identical Datagram Network access Network access Layer Layer Identical Frame Physical Net
  11. 2.3. Mô hình TCP/IP 2.3.2. Kiến trúc bộ giao thức TCP/IP Cơ chế địa chỉ Internet  Mạng Internet dùng hệ thống địa chỉ IP (32 bit) để "định vị" các máy tính liên kết với nó.  Hệ thống địa chỉ này được thiết kế mềm dẻo qua một sự phân lớp. Có 5 lớp địa chỉ IP là : A, B, C, D, E. Sự khác nhau cơ bản giữa các lớp địa chỉ này là ở khả năng tổ chức các cấu trúc con của nó. 11
  12. 2.3. Mô hình TCP/IP 2.3.2. Kiến trúc bộ giao thức TCP/IP Cơ chế địa chỉ Internet Class A 0 Netid Hostid Class B 1 0 Netid Hostid Class C 1 1 0 Netid Hostid Class D 1 1 1 0 Multicast address Class E 1 1 1 1 0 Netid 12
  13. Địa chỉ lớp A, B  Lớp A Cho phép định danh 126 mạng với tối đa 16 triệu host trên mỗi mạng. Lớp này dùng cho mạng có số trạm cực lớn: 16.777.214  Địa chỉ lớp A: 0.0.0.0 – 127.255.255.255 0 1 7 8 15 16 23 24 31 0 Netid Hostid  Lớp B Cho phép định danh tới 16128 mạng với tối đa 65534 host trên mỗi mạng.  Địa chỉ lớp 128: 0.0.0.0 – 191.255.255.255 0 1 7 8 15 16 23 24 31 13 1 0 Netid Hostid
  14. Địa chỉ lớp C, D, E  Lớp C Cho phép định danh tới 2 triệu mạng với tối đa 254 host trên mỗi mạng. 0 1 7 8 15 16 23 24 31 1 1 0 Netid Hostid  192.0.0.0 – 223.255.255.255  Lớp D Dùng để gửi các IP datagram tới một nhóm các host trên một mạng. 0 1 7 8 15 16 23 24 31 1 1 1 0 Netid Hostid  Lớp E Dự phòng và dùng trong tương lai. 0 1 7 8 15 16 23 24 31 1 1 1 1 0 Multicast address 14
  15. Cơ chế địa chỉ Internet  Để dễ dàng cho việc sử dụng địa chỉ IP, người ta dùng 4 số thập phân tương ứng với 4 nhóm 8 bit ví dụ 190.002.002.001  Địa chỉ lớp A có số thập phân đầu tiên <128  Địa chỉ lớp B có số thập phân đầu tiên trong khoảng 128 191  Địa chỉ lớp C có số thập phân đầu tiên 192 223 15
  16. Mạng con và mặt nạ mạng con  Mạng Internet sử dụng địa chỉ IP 32 bit và phân chia ra các lớp rất mềm dẻo. Tuy nhiên, với một hệ thống địa chỉ như vậy việc quản lý vẫn rất khó khăn.  Nếu như một mạng được cấp một địa chỉ lớp A thì có nghĩa nó chứa tới 16*1.048.576 máy tính  Do vậy người ta dùng mặt nạ bit để phân chia mạng ra thành những mạng con gọi là Subnet. 16
  17. Mạng con và mặt nạ mạng con  Mặt nạ mạng con (Subnet mask) là một con số 32 bit bao gồm n bit 1 (thường là các bit cao nhất) dùng để đánh địa chỉ mạng con và m bit 0 dùng để đánh địa chỉ máy trong mạng con với n+m=32 Network Number Host Number Network Number Subnet Number Host Number 1111 1111 1111 1111 1111 1111 0000 0000 17
  18. Đặt địa chỉ IP và Subnet mask 18
  19. Mô hình TCP/IP 4 lớp DNS, TFTP, TLS/SSL, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SNMP, SSH, TELNET, ECHO, BitTorrent, RTP, PNRP, rlogin, 4. Application ENRP, Routing protocols like BGP, which for a variety of reasons run over TCP, may also be considered part of the application or network layer. 3. Transport TCP, UDP, DCCP, SCTP, IL, RUDP, Routing protocols like OSPF, which run over IP, are also to be considered part of the network layer, as they provide path selection. ICMP and IGMP run over IP are considered part of the network layer, as they provide control information. 2. Internet IP (IPv4, IPv6) ARP and RARP operate underneath IP but above the link layer so they belong somewhere in between. 1. Network Ethernet, Wi-Fi, token ring, PPP, SLIP, FDDI, ATM, Frame Relay, access SMDS, 19
  20. Mô hình TCP/IP 5 lớp 5. Application layer DHCP • DNS • FTP • HTTP • IMAP4 • IRC • NNTP • XMPP • MIME • POP3 • SIP • SMTP • SNMP • SSH • TELNET • BGP • RPC • RTP • RTCP • TLS/SSL • SDP • SOAP • L2TP • PPTP • 4. Transport layer TCP • UDP • DCCP • SCTP • GTP • 3. Network layer IP (IPv4 • IPv6) • ICMP • IGMP • RSVP • IPsec • 2. Data link layer ATM • DTM • Ethernet • FDDI • Frame Relay • GPRS • PPP • ARP • RARP • 1. Physical layer Ethernet physical layer • ISDN • Modems • PLC • SONET/SDH • G.709 • Wi-Fi • 20
  21. Chức năng lớp vận chuyển  Vận chuyển và điều tiết việc truyền dữ liệu một cách chính xác và tin cậy  Các công cụ điều khiển  Cửa sổ trượt (sliding windows)  Các số tuần tự (sequencing numbers)  Lời báo nhận (acknowledgments)  Sự phân đoạn (segmentation) 21
  22. Cổng (port) TCP và UDP sử dụng số hiệu cổng (hoặc socket) để truyền dữ liệu lên giao thức lớp trên 22
  23. Các số hiệu cổng  Số nguyên dương chiều dài 2 byte: giá trị trong khoảng 0 – 65535  1023 : có thể sử dụng  Sử dụng số hiệu cổng để chọn đúng ứng dụng  Số hiệu cổng của máy gởi được gán tự động, thường có giá trị lớn hơn 1023 23
  24. Số hiệu cổng ứng dụng telnet 24
  25. TCP  TCP cung cấp mạch ảo giữa hai máy  Đặc điểm nổi bật  Định hướng kết nối (connection-oriented)  Tin cậy (reliable)  Chia dữ liệu thành các đoạn ở máy gửi  Ráp các đoạn thành dữ liệu tại máy nhận  Gửi lại dữ liệu bị mất 25
  26. Hoạt động của giao thức  TCP yêu cầu thiết lập kết nối trước khi gửi dữ liệu.  Kết nối TCP gồm 3 giai đoạn: 1. Thiết lập kết nối (connection establishment) 2. Chuyển dữ liệu (data transfer) 3. Ngắt kết nối (connection termination) 26
  27. 3.2. Một số giao thức cơ bản của TCP/IP 3.2.1. Giao thức TCP  TCP là một giao thức hướng liên kết (Connection Oriented), tức là trước khi truyền dữ liệu, thực thể TCP phát và thực thể TCP nhận thương lượng để thiết lập một kết nối logic tạm thời, tồn tại trong quá trình truyền số liệu. TCP nhận thông tin từ tầng trên, chia dữ liệu thành nhiều gói theo độ dài quy định và chuyển giao các gói tin xuống cho các giao thức tầng mạng (Tầng IP) để định tuyến.  TCP phải quản lý đúng số tuần tự tính theo byte của dòng số liệu.  TCP tối ưu hóa khả năng băng thông của mạng bằng cách giám sát và điều khiển lưu lượng số liệu từ thực thể nhận. 27
  28. Giao thức TCP (tiếp ) Đặc điểm  Đối thoại khi thu phát: Mỗi khi gửi một gói số liệu, bên nhận phải thông báo nhận đúng sau một khoảng thời gian nhất định. Nếu không, gói số liệu được coi là nhận sai và được phát lại.  Kiểm tra số liệu thu, phát: Số liệu gửi được kiểm tra bằng thuật toán qui định. Byte kiểm tra (checksum) được gửi cùng với số liệu phát và được so sánh với byte kiểm tra tính lại khi thu. Trường hợp sai lệch, nghĩa là có lỗi xẩy ra trên đường truyền, thực thể thu thông báo kết quả cho thực thể phát và yêu cầu gửi lại.  Kiểm tra số tuần tự: Các gói TCP được truyền thành các gói IP và các gói IP có thể đến đích không theo thứ tự phát (IP là giao thức không hướng kết nối) nên thực thể TCP nhận phải thiết lập lại thứ tự các gói số liệu thu được, hủy bỏ các gói trùng lặp và chuyển các gói số liệu đó theo đúng trật tự phát cho các ứng dụng.  Điều khiển lưu lượng: Mỗi thực thể của kết nối TCP đều có một vùng đệm hạn chế. Thực thể TCP nhận chỉ cho phép thực thể phát gửi một lượng số liệu đủ với vùng đệm thu của mình. Do đó ngăn chặn thực thể TCP phát nhanh, làm tràn vùng đệm của thực thể TCP thu chậm. 28
  29. Mô hình hoạt động của giao thức TCP A B Application Application Entities TxM TxM Buffer Buffer TCP TCP TCP Buffer Buffer System Network 29
  30. Cấu trúc gói số liệu TCP IP Source Pseudo Tiêu đề TCP “giả” IP Destination Header Protocol Length Header TCP Data Segment 30
  31. Cấu trúc gói số liệu TCP(tiếp )  Source Port và Destination Port: Số hiệu cổng TCP. Cùng với địa chỉ IP nguồn và địa chỉ IP đích trong gói số liệu IP, số hiệu cổng TCP định danh duy nhất hai tiến trình ở hai đầu kết nối TCP.  Sequence number: Số tuần tự phát, định danh byte đầu tiên của phần số liệu thuộc gói số liệu TCP trong dòng số liệu từ thực thể TCP gửi đến thực thể TCP nhận. Số tuần tự phát là khoảng cách tương đối của byte đầu tiên phần số liệu với phần đầu của dòng byte; là số không dấu 32 bit, có giá trị từ 0 đến 232 – 1.  Acknowlegement: Vị trí tương đối của byte cuối cùng đã nhận đúng bởi thực thể gửi gói ACK + 1. Giá trị của trường này còn được gọi là số tuần tự thu. Giá trị trường này đúng khi cờ ACK=1.  Data Offset: Khoảng cách tương đối của trường số liệu với phần tiêu đề TCP (TCP header) tính theo từ 32 bit. Thường có giá trị =5 vì độ dài phần TCP header thông thường =20byte  Reserved: Dự tữ luôn đặt = 0.  FLAGs: Có 6 bit cờ trong phần tiêu đề TCP. Một hoặc nhiều cờ có thể được thiết lập tại cùng một thời điểm 31
  32. Cấu trúc gói số liệu TCP(tiếp )  Window size: độ lớn cửa sổ, qui định tổng số byte số liệu mà thực thể thu có thể nhận được. (đồng nghĩa với độ lớn bộ đệm thu), khởi đầu từ giá trị trường số tuần tự thu (Acknowledgement Number) Checksum: byte kiểm tra, là giá trị bù 1 của tổng các 16 bit trong phần đầu và phần số liệu TCP. Giá trị này tính cả 12 byte tiêu đề giả của TCP. Urgent Pointer: Vị trí tương đối của byte trong trường số liệu TCP cần được xử lý đầu tiên. Giá trị trường này đúng khi bit cờ URG=1. Options: Tùy chọn. Tùy chọn duy nhất được dùng hiện nay là qui định về độ dài lớn nhất MSS (Maximum Segment Size) của một gói số liệu TCP. Pad: Chèn thêm vào phần tiêu đề để độ lớn của nó là bội của 4 byte. Data: Dữ liệu của ứng dụng TCP. 32
  33. Cấu trúc gói tin TCP 0 3 4 7 8 15 16 23 24 31 16-bit Source Port number 16-bit Destination Port number 32-bit Sequence number 32-bit Achnowledgement number 4-bit 6-bit 16-bit Window size Reserved Offset P R S F 16-bit TCP Checksum 16-bit Urgen pointer Options (If any) Pad 32-bit Sequence number Data 33
  34. Thiết lập và kết nối TCP  Phương thức bắt tay ba bước: (Three-way Handshake) Bước 1: Mở chủ động được thực hiện bằng cách gửi một SYN cho server. Bước 2: Server trả lời bằng một SYN-ACK. Bước 3: Cuối cùng, client gửi một ACK lại cho server. Khi đó, cả client và server đều đã nhận được một tin báo nhận (acknowledgement) về kết nối. 34
  35. TCP: báo nhận 35
  36. Kết thúc liên kết  Kết thúc liên kết: Khi có nhu cầu kết thúc liên kết TCP, ví dụ A gửi yêu cầu kết thúc liên kết với FIN=1. Vì liên kết TCP là song công (Full-Duplex) nên mặc dù nhận được yêu cầu kết thúc liên kết của A, thực thể B vẫn có thể tiếp tục truyền cho đến khi B không còn số liệu để gửi và thông báo cho A bằng yêu cầu kết thúc liên kết với FIN=1. Khi thực thể TCP đã nhận được thông điệp FIN và sau khi đã gửi thông điệp FIN của mình, liên kết TCP thực sự kết thúc. Như vậy cả hai trạm phải đồng ý giải phóng liên kết TCP bằng cách gửi cờ FIN=1 trước khi chấm dứt liên kết xẩy ra, việc này bảo đảm dữ liệu không bị thất lạc do đơn phương đột ngột chấm dứt liên lạc. 36
  37. Kết thúc liên kết 37
  38. TCP: Chuyển dữ liệu  Chuyển dữ liệu theo thứ tự  Chuyển lại gói bị mất  Loại bỏ các gói trùng trong quá trình truyền  Sửa lỗi  Điều khiển tránh tắc nghẽn trong quá trình truyền 39
  39. TCP: cửa sổ trượt 40
  40. TCP: số tuần tự và lời báo nhận 41
  41. UDP  Đặc điểm  Định hướng không kết nối  Không tin cậy: không đảm bảo thứ tự, có thể mất gói, hoặc trùng gói  Truyền thông điệp (user datagram)  Không ráp dữ liệu tại máy nhận  Không có lời báo nhận 43
  42. Sự đóng gói dữ liệu trong khung dữ liệu UDP trong gói IP 44
  43. Tham khảo  TCP/IP tutorial: RFC 1180  TCP: RFC 793  UDP: RFC 768 45
  44. LỚP ỨNG DỤNG MẠNG Các ứng dụng DNS Tìm đường đi trên mạng
  45. Chức năng  Là lớp gần người sử dụng nhất, cung cấp dịch vụ trực tiếp cho người dùng thông qua các giao diện  FTP  Thư điện tử  WWW  DNS 47
  46. Các ứng dụng giao tiếp  Trực tiếp  Các ứng dụng mạng  Client/server: WEB, FTP, Mail  Gián tiếp  Các ứng dụng riêng lẻ  Bộ chuyển hướng: xử lý văn bản, máy in mạng, ổ đĩa mạng 48
  47. Bộ chuyển hướng  Làm việc với hệ điều hành  Cho phép truy cập các tài nguyên từ xa thông qua tên trên máy cục bộ  Thí dụ  NetBEUI  Novell IPX/SPX  NFS (TCP/IP) 49
  48. Ứng dụng Client/Server • Client là bên yêu cầu dịch vụ • Server là bên cung cấp dịch vụ cho các client 50
  49. Ổ đĩa mạng • Bộ chuyển hướng ánh xạ ổ đĩa trên máy cục bộ với thư mục trên máy ở xa 51
  50. DỊCH VỤ TÊN MIỀN DOMAIN NAME SERVICES
  51. DNS: nhớ tên thay vì địa chỉ IP 53
  52. Chức năng  Lưu trữ và liên kết các thông tin liên quan đến tên miền.  Chuyển đổi tên miền (tên của máy tính) sang địa chỉ IP.  Quản lý danh sách các máy chủ chuyển thư điện tử cho từng miền. 54
  53. Hệ thống quản lý tên miền  DNS server là một máy trên mạng có nhiệm vụ quản lý tên miền và đáp ứng các yêu cầu của client  Có nhiều DNS server liên kết với nhau, chia sẻ và quản lý truy vấn đến CSDL tên miền  CSDL tên miền có cấu trúc phân cấp 55
  54. Cấu trúc CSDL tên miền  Kiến trúc tên miền không bắt buộc các tên miền phải tuân theo quy cách đặt tên, tuy nhiên, chúng được quản lý một cách tập trung  cú pháp của tên không cho biết đối tượng được đặt tên là gì: ví dụ www.ptithcm.edu.vn là một máy tính, trong khi ptithcm.edu.vn lại là tên miền. 56
  55. DNS: không gian tên miền . com edu gov vn fr uk vnn com edu gov 57
  56. DNS: Cơ sở dữ liệu tên miền 63.63.0.1 . vn – 203.162.0.1 kr – 73.12.44.2 203.162.0.1 au – 20.60.6.56 vn 203.162.4.10 com – 203.162.4.10 edu – 203.162.4.20 com gov – 203.160.5.6 ctt – 203.162.50.1 203.162.50.1 aaa – 203.162.70.201 bbb – 203.160.9.7 ctt www – 203.162.50.100 www mail – 203.162.50.101 www.ctt.com.vn Lab – 203.160.100.1 58 203.162.50.100
  57. Nguyên tắc hoạt động của DNS Server  DNS server đáp trả các yêu cầu xác định địa chỉ hoặc tên miền.  theo nguyên tắc, mỗi một yêu cầu phải được thực hiện theo chiều từ trên xuống trong cấu trúc phân cấp của các DNS, tuy nhiên, làm như thế sẽ khiến cho đường truyền bị chiếm dụng rất nhiều.  mỗi một máy tính phân giải tên/địa chỉ (ví dụ: gateway, router) phải có khả năng liên lạc được với ít nhất một DNS.  Nếu một DNS không phân giải được một tên hoặc địa chỉ, nó sẽ chuyển địa chỉ ấy lên DNS ở mức cao hơn cho đến khi nào địa chỉ này được phân giải thì thôi. 59
  58. DNS: phân giải tên www.yahoo.com Yêu cầu . Trả lời vn Địa chỉ com của com serverĐịa chỉ của yahoo.com vnn server yahoo Địa chỉ của www.yahoo.com Địa chỉ của www.yahoo.com 60
  59.  ví dụ: yêu cầu truy cập đến www.cs.purdue.edu từ it- lab.ptithcm.edu.vn sẽ theo tiến trình như sau: vn edu purdue.edu cs.purdue.edu 62
  60. Ghi nhớ các yêu cầu DNS  để tối ưu thao tác tìm và phân giải tên miền, các DNS dùng cơ chế ghi nhớ (cache) tên trong từng yêu cầu gửi đến chúng.  khi có một yêu cầu về tên miền mới, DNS sẽ kiểm tra vùng nhớ (cache) của nó, nếu có thông tin về tên miền được yêu cầu, nó sẽ trả lời lại nhưng đồng thời đánh dấu thông tin này là “không được kiểm tra” – non-authoritative, nghĩa là thông tin về tên miền này có thể đã không còn phù hợp nữa. 63
  61. Tìm tên miền trong hệ thống tên miền 1. Nếu có thông tin về tên miền được hỏi trong bảng thông tin tài nguyên mạng cục bộ, gửi trả lời về cho client. 2. Tìm DNS tốt nhất để hỏi thông tin. 3. Gửi các yêu cầu truy vấn tên miền cho các DNS này cho đến khi có thông tin phản hồi. 4. Phân tích thông tin phản hồi, có các trường hợp sau:  nếu có phần trả lời cho yêu cầu hoặc nó chỉ ra rằng tên hoặc địa chỉ đang yêu cầu là sai, DNS sẽ lưu thông tin này lại, đồng thời gửi phần trả lời lại cho client.  nếu thông tin phản hồi chỉ ra một DNS khác có thông tin tốt hơn về tên miền cần phân giải, DNS sẽ ghi nhớ thông tin này, sau đó quay lại bước 2. 64
  62.  nếu thông tin phản hồi mang một tên đại diện (CNAME) nhưng tên này chưa phải là tên cần phân giải, DNS sẽ ghi nhớ CNAME, lấy SNAME ở bản ghi CNAME tương ứng trong bảng thông tin tài nguyên mạng hiện hành làm tên đại diện rồi quay trở về bước 1.  nếu thông tin phản hồi cho biết server được hỏi bị hỏng hoặc có một thông tin không thích hợp, DNS sẽ xoá thông tin của server được hỏi trong danh sách thông tin mà mình quản lý rồi quay trở về bước 3. 65
  63. Tham khảo  RFC 1034 – Domain Names: Concepts and Facilities  RFC 1035 – Domain Names: Implementation and Specification  RFC 1591 – Domain Name System Structure and Delegation   67
  64. IP V6 68
  65. Giao thức IPv6 (Internet Protocol Version Number 6)  Giao thức IPng (Next General Internet Protocol) là phiên bản mới của giao thức IP được IETF (Internet Engineering Task Force) đề xướng và năm 1994, IESG (Internet Engineering Steering Group) phê chuẩn với tên chính thức là IPv6. IPv6 là phiên bản kế thừa phát triển từ IPv4. 69
  66. Nguyên nhân ra đời của IPv6  Do Internet phát triển mạnh, nhu cầu sử dụng địa chỉ IP tăng dẫn đến không gian địa chỉ ngày càng bị thu hẹp và tình trạng thiếu hụt địa chỉ tất yếu sẽ xảy ra trong vài năm tới.  Việc phát triển quá nhanh của mạng Internet dẫn đến kích thước các bảng định tuyến trên mạng ngày càng lớn.  Cài đăt IPv4 bằng thủ công hoặc bằng giao thức cấu hình địa chỉ trạng thái DHCP (Dynamic Host Configuration Protocol), khi mà nhiều máy tính và các thiết bị kết nối vào mạng thì cần thiết phải có một phương thức cấu hình địa chỉ tự động và đơn giản hơn.  Trong quá trình hoạt động IPv4 đã phát sinh một số vấn đề về bảo mật và QoS.  Mặc dù có các chuẩn đảm bảo chất lượng dịch vụ QoS trong IPv4 trường IPv4 TOS (Type of Service), nhưng hạn chế về mặt chức năng, cần thiết hỗ trợ tốt hơn cho các ứng dụng thời gian thực. 70
  67. Các đặc trưng của IPv6 1. Đơn giản hoá Header: Một số trường trong Header của IPv4 bị bỏ hoặc chuyển thành các trường tuỳ chọn. Giảm thời gian xử lý và tăng thời gian truyền. 2. Không gian địa chỉ lớn: Độ dài địa chỉ IPv6 là 128 bit, gấp 4 lần độ dài địa chỉ IPv4. gian địa chỉ IPv6 không bị thiếu hụt trong tương lai. 3. Khả năng địa chỉ hoá và chọn đường linh hoạt: IPv6 cho phép nhiều lớp địa chỉ với số lượng các node. Cho phép các mạng đa mức và phân chia địa chỉ thành các mạng con riêng lẻ. Có khả năng tự động trong việc đánh địa chỉ. Mở rộng khả năng chọn đường bằng cách thêm trường “Scop” vào địa chỉ quảng bá (Multicast). 71
  68. Các đặc trưng của IPv6 (tiếp ) 4. Tự động cấu hình địa chỉ: Khả năng tự cấu hình của IPv6 được gọi là khả năng cắm và chạy (Plug and Play). Tính năng này cho phép tự cấu hình địa chỉ cho giao diện mà không cần sử dụng các giao thức DHCP. 5. Khả năng bảo mật: IPsec bảo vệ và xác nhận các gói tin IP: + Mã hóa dữ liệu: Phía gửi sẽ tiến hành mã hóa gói tin trước khi gửi. + Toàn vẹn dữ liệu: Phía nhận có thể xác nhận gói tin nhận được để đảm bảo rằng dữ liệu không bị thay đổi trong quá trình truyền. + Xác nhận nguồn gốc dữ liệu: Phía nhận có thể biết được phía gửi gói tin. Dịch vụ này phụ thuộc vào dịch vụ toàn vẹn dữ liệu. + Antireplay: Phía nhận có thể phát hiện và từ chối gói tin gửi lại. 72
  69. Các đặc trưng của IPv6 (tiếp ) 6. Chất lượng dịch vụ QoS (Quanlity Of Service):IPv6 Header có thêm một số trường mới để xử lý và xác định lưu lượng trên mạng. Do cơ chế xác nhận gói tin ngay trong Header nên việc hỗ trợ QoS có thể thực hiện được ngay cả khi gói tin được mã hóa qua IPsec. 7. Giao thức phát hiện lân cận NDP (Neighbor Discovery Protocol) của IPv6 là một dãy các thông báo ICMPv6 cho phép quản lý tương tác giữa các node lân cận, thay thế ARP trong IPv4. Các thông báo ICMPv4 Router Discovery và ICMPv4 Redirect được thay bởi các thông báo Multicast, Unicast Neighbor Discovery. 8. Khả năng mở rộng: Thêm vào trường Header mở rộng tiếp ngay sau Header, IPv6 có thể được mở rộng thêm các tính năng mới một cách dễ dàng. 73
  70. Các đặc trưng của IPv6 (tiếp ) 9. Tính di động: IPv4 không hỗ trợ cho tính di động, IPv6 cho phép nhiều thiết bị di động kết nối vào Internet theo chuẩn của PCMCIA (Personal Computer Memory Card International Association) qua mạng công cộng nhờ sóng vô tuyến. 74
  71. . So sánh IPv4 và IPv6 tt IPv4 IPv6 1 Độ dài địa chỉ là 32 bit (4 byte) Độ dài địa chỉ là 128 bit (16 byte) 2 IPsec chỉ là tùy chọn IPsec được gắn liền với IPv6. 3 Header của địa chỉ IPv4 không có trường xác Trường Flow Label cho phép xác định định luồng dữ liệu của gói tin cho các Router luồng gói tin để các Router có thể đảm bảo để xử lý QoS. chất lượng dịch vụ QoS 4 Việc phân đoạn được thực hiện bởi cả Việc phân đoạn chỉ được thực hiện bởi máy Router và máy chủ gửi gói tin chủ phía gửi mà không có sự tham gia của Router 5 Header có chứa trường Checksum Không có trường Checksum trong IPv6 Header 6 Header có chứa nhiều tùy chọn Tất cả các tùy chọn có trong Header mở rộng 7 Giao thức ARP sử dụng ARP Request Khung ARP Request được thay thế bởi các quảng bá để xác định địa chỉ vật lý. thông báo Multicast Neighbor Solicitation. 8 Sử dụng giao thức IGMP để quản lý thành viên Giao thức IGMP được thay thế bởi các 75 các nhóm mạng con cục bộ thông báo MLD (Multicast Listener Discovery)
  72. So sánh IPv4 và IPv6 (Tiếp ) tt IPv4 IPv6 Sử dụng thông báo quảng cáo Router Sử dụng ICMP Router Discovery để xác (Router Advertisement) và ICMP Router 9 định địa chỉ cổng Gateway mặc định phù Solicitation thay cho ICMP Router hợp nhất, là tùy chọn. Discovery, là bắt buộc. Địa chỉ quảng bá truyền thông tin đến tất cả Trong IPv6 không tồn tại địa chỉ quảng bá, 10 các node trong một mạng con thay vào đó là địa chỉ Multicast Thiết lập cấu hình bằng thủ công hoặc sử Cho phép cấu hình tự động, không sử dụng 11 dụng DHCP nhân công hay cấu hình qua DHCP Địa chỉ máy chủ được lưu trong DNS với Địa chỉ máy chủ được lưu trong DNS với 12 mục đích ánh xạ sang địa chỉ IPv4 mục đích ánh xạ sang địa chỉ IPv6 Con trỏ địa chỉ được lưu trong IN – Con trỏ địa chỉ được lưu trong Ipv6 – INT 13 ADDR ARPA DNS để ánh xạ địa chỉ DNS để ánh xạ địa chỉ từ IPv4 sang tên IPv4 sang tên máy chủ máy chủ Hỗ trợ gói tin kích thước 576 bytes (có Hỗ trợ gói tin kích thước 1280 bytes (không 14 thể phân đoạn) cần phân đoạn) 76
  73. Các lớp địa chỉ IPv6  Phương pháp biểu diễn địa chỉ IPv6: Địa chỉ IPv6 được biểu diễn bằng chuỗi số Hexa được chia thành các nhóm 16 bit tương ứng với bốn chữ số Hexa, ngăn cách nhau bởi dấu “:”. Ví dụ một địa chỉ IPv6 : 4021 : 0000 : 240E : 0000 : 0000 : 0AC0 : 3428 : 121C. có thể thu gọn bằng cách thay các nhóm 0 liên tiếp bằng kí hiệu “::”. Ví dụ: 12AB : 0000 : 0000 : CD30 : 0000 : 0000 : 0000 : 0000 /60 có thể viết là 12AB : 0 : 0 : CD30 : 0 : 0 : 0 : 0 /60 hoặc 12AB :: CD30 : 0 : 0 : 0 : 0 /60 hoặc 12AB : 0 : 0 : CD30 :: /60 . Không được viết 12AB :: CD30 /60 hay 12AB :: CD30 :: /60 77
  74. Phân loại địa chỉ IPv6  Địa chỉ Unicast: Là địa chỉ của một giao diện. Một gói tin được chuyển đến địa chỉ Unicast sẽ chỉ được định tuyến đến giao diện gắn với địa chỉ đó  Địa chỉ Anycast: Là địa chỉ của một tập giao diện thuộc của nhiều node khác nhau. Mỗi gói tin tới địa chỉ Anycast được chuyển tới chỉ một trong tập giao diện gắn với địa chỉ đó (là giao diện gần node gửi nhất và có Metrics nhỏ nhất).  Địa chỉ Multicast: Địa chỉ của tập các giao diện thuộc về nhiều node khác nhau. Một gói tin gửi tới địa chỉ Multicast sẽ được gửi tất cả các giao diện trong nhóm. 78
  75. Biểu diễn địa chỉ IPV6  Tương phản với IPv4, địa chỉ IPv6 có chiều dài là 128bit. Điều đó cho phép có thể biểu diễn đến 3.4x10 mũ 38 (340.000.000.000.000.000.000.000.000.000.000.000.000) địa chỉ.  Một địa chỉ IPv6 thường được viết thành 8 nhóm, mỗi nhóm gồm có 4 số hex và mỗi nhóm được tách biệt với nhau bằng dấu “:”. Ví dụ như sau thể hiện điều này 2001:0f68:0000:0000:0000:0000:1986:69af. Địa chỉ IPv6 chỉ có thể được viết vắn tắt bằng việc giảm thiểu các số 0.  Nguyên tắc 1: một dãy bốn số 0 liên tục có thể được thay thế bằng hai dấu “::”. Bằng cách đó địa chỉ IPv6 ở trên có thể được viết tắt như sau: 2001:0f68::0000:0000:0000:1986:69af.  Nguyên tắc 2: các số 0 trong một nhóm có thể được bỏ qua. Nếu một khối 4 số bắt đầu của nó là số 0 thì số 0 này có thể được lược bỏ bớt để lại là 3 số 0 trong khối. Nếu khối ba số đó cũng lại bắt đầu với một số 0 đứng đầu thì ta có thể tiếp tục loại bỏ. Và cứ như vậy đến khi gặp số khác 0 trong nhóm thì dừng. Trường hợp nếu 4 số trong nhóm đều là 0 thì số được giữ lại cuối cùng là một số 0. 79
  76. Biểu diễn địa chỉ IPV6  2001:0f68:0000:0000:0000:0000:1986:69af 2001:f68:000:000:000:000:1986:69af 2001:f68:00:00:00:00:1986:69af 2001:f68:0:0:0:0:1986:69af 2001:f68::1986:69af  Chú ý: trong mỗi dòng, ta đã lược bỏ bớt một số 0 trong mỗi nhóm. Khi mà các phần còn lại là các con số 0 chúng ta lại có thể áp dụng thay thế 4 số 0 liên tiếp bằng hai dấu “::”. Điều này chỉ có thể thực hiện được nếu bốn số 0 đi liền nhau mà thôi. Nếu không thỏa mãn điều kiện đó thì chúng ta phải để nguyên các số 0. 80
  77. So sánh địa chỉ IPv4 và địa chỉ IPv6 81
  78. Câu hỏi (chuẩn bị thảo luận )  Các đặc trưng của IPv6  Chất lượng dịch vụ và bảo mật trong IPv6  Cấu trúc khuôn dạng Datagram Ipv6  Header mở rộng  So sánh IPv4 header và IPv6 header  Lớp địa chỉ IPv6, biểu diễn, các loại địa chỉ IPv6  So sánh địa chỉ IPv4 và địa chỉ IPv6 82
  79. Điều khiển lưu lượng và điều khiển tắc nghẽn  Cơ chế cửa sổ động Cơ chế cửa sổ là một trong các phương pháp điều khiển số liệu trong mạng thông tin máy tính.Độ lớn của cửa sổ chính bằng số gói tin được gửi liên tục mà không cần chờ thông báo phản hồi về kết quả nhận các gói tin đó.  Ví dụ: nếu độ lớn cửa sổ W=3 thì sau khi gửi 3 gói tin liên tiếp nhau, thực thể phát phải chờ trả lời về kết quả nhận 3 gói tin nói trên, trước khi gửi gói tin tiếp theo.  Độ lớn cửa sổ quyết định hiệu suất trao đổi số liệu trong mạng. Nếu chọn độ lớn của sổ cao => có thể gửi được nhiều số liệu trong cùng một đơn vị thời gian.  Khi việc truyền số liệu có lỗi => số liệu gửi lại phải lớn => hiệu suất sử dụng đường truyền thấp. 83
  80. Điều khiển lưu lượng và điều khiển tắc nghẽn  Gọi p là số gói tin được truyền thực sự đến đich.  q là tổng số số gói tin được truyền.  H = p/q (tỉ lệ giữa số liệu được truyền thực sự trên tổng số dữ liệu được truyền.)  Giao thức TCP cho phép thay đổi độ lớn cửa sổ một cách tự động, phụ thuộc vào độ lớn bộ đệm thu của thực thể TCP nhận.  Để thực hiện cơ chế cửa sổ động, TCP đảm bảo: + Phản hồi về số tuần tự thu tiếp theo trong trường ACK, nghĩa là khẳng định tổng số byte nhận đúng cho đến thời điểm gửi gói trả lời này. + Thông báo tổng số Byte có thể nhận được, tương ứng với độ lớn bộ nhớ đệm của thực thể thu. 84
  81. Điều khiển lưu lượng và điều khiển tắc nghẽn  Kiểm soát lỗi: Khi có lỗi, lớp IP đơn thuần huỷ bỏ dữ liệu và thông báo lỗi. Thông báo lỗi được thực hiện qua một giao thức gọi là ICMP (Internet Control Message Protocol). ICMP có thể coi là bạn đồng hành với IP và có một số đặc điểm sau:  Dùng IP để truyền thông báo qua mạng  Không có chức năng sửa lỗi mà chỉ đơn thuần là máy thông báo lỗi. Chức năng sửa lỗi là của lớp trên (lớp TCP)  Thông báo lỗi về gói dữ liệu IP nhưng lại không thể thông báo lỗi về gói dữ liệu của chính mình  Nếu gói dữ liệu IP bị phân mảnh thì khi xảy ra lỗi, ICMP chỉ thông báo lỗi của mảnh đầu tiên TCP truyền dữ liệu theo cơ chế "flow window". Tất cả các byte truyền đều được đánh số thứ tự và TCP quản lý việc truyền dữ liệu dựa vào số thứ tự đó. 85
  82. Điều khiển lưu lượng và điều khiển tắc nghẽn  Giả sử có 13 byte dữ liệu gửi cho máy B . Byte 0 đã gửi đi và được xác nhận là tới nơi. Sự xác nhận này được thực hiện bằng cách khi nhận được dữ liệu gửi đến, máy B sẽ gửi một thông báo về cho máy gửi. Thông báo đó có chứa số thứ tự của byte được chấp nhận chứa trong trường ACK. 86
  83. Cơ chế cửa sổ trượt  Byte 1, 2 đã được gửi nhưng chưa có xác nhận, các byte 3, 4, 5 trong khung sẽ được truyền đi, các byte từ 6 trở đi không thể được truyền. Giá trị window limit được tính bằng công thức sau: Window limit = SND UNA + SND WND SND UNA = số byte đã gửi đi nhưng chưa được xác nhận SND WND= số byte trong ô, giá trị này được lấy từ trường window trong gói dữ liệu TCP dùng để xác nhận các byte đã tới nơi. Giá trị này chính là số dữ liệu mà máy B có thể chấp nhận. Máy B bây giờ lại gửi một thông báo thừa nhận có ACK=3, Window=6. Lúc này dữ liệu có dạng như hình 2. 87
  84. Cơ chế cửa sổ trượt Các byte 0, 1, 2 đã được xác nhận, cửa sổ đã mở rộng ra, window limit nhận giá trị 3+6 =9. Như vậy số byte có thể truyền đi được điều khiển bởi máy B, điều này giúp giảm đi sự tắc nghẽn giao thông trên mạng và làm cho máy B có thể chủ động xử lý dữ liệu đến một cách trôi chảy. 88
  85. Cơ chế truyền dữ liệu của TCP  Khi có lỗi xảy ra trên đường truyền và phải truyền lại dữ liệu thì TCP không chờ đợi thông báo xác nhận từ phía máy B mà nó làm theo cách sau: khi truyền một gói dữ liệu, TCP bấm giờ và nếu thời gian hết mà không thấy thông báo xác nhận thì nó tiến hành truyền lại.  Như vậy thời gian để bấm giờ hết sức quan trọng. Ban đầu thời gian này được thiết lập xung quanh khoảng thời gian kể từ khi TCP A gửi dữ liệu đi đến khi nhận được thông báo xác nhận. Nhưng về sau do cách tính này không hợp lý nên người ta đã đưa ra nhiều cách thiết lập khác nhau. Một trong các cách tính được dùng phổ biến hiện nay là thuật toán của Phil Karn. Nội dung căn bản của thuật toán là mỗi khi hết thời gian thì khoảng thời gian bấm đồng hồ tăng lên gấp một số lần cho trước. 89
  86. Cơ chế kết nối giữa hai máy trong mạng Internet  NVT=A x VT NVT: giá trị thời gian mới để bấm đồng hồ A : hằng số, thường lấy bằng 2 VT: giá trị thời gian của cơ chế kết nối giữa hai máy trong mạng Internet 90
  87. Cơ chế kết nối giữa hai máy trong mạng Internet 91
  88. Cơ chế kết nối giữa hai máy trong mạng Internet 1. ULP B giả sử là một chương trình mail server ở Mỹ. Do là server nên lúc nào nó cũng chờ đợi sự kết nối. 2. ULP A là chương trình nhận thư điện tử của bạn. Để kết nối, bạn gửi yêu cầu kết nối xuống cho tầng TCP. 3. TCP chuẩn bị một gói dữ liệu TCP với cờ SYN=1 yêu cầu có sự đồng bộ hoá, SEQ có thể lấy bất kì giá trị nào, ở đây là =100 và gửi cho TCP B. 4. Sau khi nhận gói dữ liệu có SYN=1, TCP B gửi trả lại một thông báo có SYN=1, ACK=101, SEQ có thể lấy bất kì giá trị nào, ở đây là =177. 5. TCP A nhận được gói dữ liệu từ TCP B sẽ gửi tiếp một gói dữ liệu có ACK=178. 6. TCP A chuyển chấp nhận kết nối lên chương trình A. 7: Sau khi nhận nốt gói dữ liệu có ACK=178, TCP B chuyển chấp nhận kết nối lên chương trình B. 92
  89. Cơ chế phát lại thích nghi  Để đảm bảo kiểm tra phát hiện và khắc phục lỗi trong việc trao đổi số liệu qua mạng diện rộng, được kết nối từ nhieu mạng khác nhau, TCP phải có cơ chế đồng hồ kiểm tra phát (time-out) và cơ chế phát lại (retransmission) mềm dẻo, thay đổi phụ thuộc vào thời gian trễ của môi trường truyền dẫn cụ thể. Thời gian trễ toàn phần RTT (Round-trip_time), được xác định từ thời điểm bắt đầu phát gói tin cho đên khi nhận được trả lời về kết quả nhận của thực thể đối tác (xem hình vẽ), là yếu tố quyết định giá trị của đồng hồ kiểm tra phát T•out. Hiển nhiên Tout ≥ RTT. 93
  90. Cơ chế phát lại thích nghi (đọc qua) Data( ) RTT Ack( ) t Xác định thời gian trễ toàn phần RTT 94
  91. Cơ chế phát lại thích nghi  Cơ chế phát lại thích nghi dựa trên việc xác định thời gian trễ toàn phần RTT theo thời gian. Bằng việc sử dụng các hàm xác định thời gian của hệ điều hành, hoàn toàn xác định được thời gian trễ toàn phần của một kết nối TCP tại các mốc thời gian nhất định.  Có thể tính RTT theo công thức sau: RTT = ((α*Old_RTT) + (1 – α)*New_RTT), trong đó 0 ≤ α ≤ 1, Từ đó có thể tính được thời gian kiểm tra phát Tout theo công thức: Tout = β*RTT, với β=2 95
  92. Cơ chế điều khiển tắc nghẽn số liệu  Hiện tượng tắc nghẽn số liệu được thể hiện trước hết ở việc gia tăng thời gian trễ RTT của một gói số liệu (bất kỳ) khi truyền qua mạng.  Để hạn chế khả năng dẫn đến tắc nghẽn số liệu trong mạng, người ta điều khiển lưu lượng số liệu trao đổi trên mạng theo một số chiến lược sau: 1. “Bắt đầu chậm” (Slow Start); hoặc 2. “Tránh tắc nghẽn” (Congestion Avoidance); hoặc 3. “Phát lại nhanh” (Fast Retransmission); và 4. ”Khôi phục nhanh“ (Fast Recovery). 96
  93. Thuật toán “Bắt đầu chậm”  Định nghĩa thêm khái niệm “cửa sổ tắc nghẽn” (congestion window), gọi là cwnd, cho thực thể TCP phát.  Khi kết nối TCP được thiết lập, cwnd được gán trị = 1 đơn vị gói số liệu có độ dài được thông báo bởi thực thể TCP đối tác, hoặc có độ dài mặc định là 536 byte/512byte. 1. Thực thể TCP bắt đầu phát với cwnd = 1 2. Mỗi khi nhận được thông báo trả lời ACK => cwnd = cwnd + 1 1. Khi xuất hiện tình trạng tắc nghẽn số liệu thể hiện qua việc gia tăng RTT 2. Thực thể phát TCP cần biết rằng độ lớn cửa sổ cwnd đã quá lớn => cần phải điều chỉnh phù hợp. 97
  94. Thuật toán “Tránh tắc nghẽn số liệu”  Đặc trưng hiện tượng tắc nghẽn số liệu là thời gian trễ RTT tăng.  Nguyên nhân chính dẫn đến RTT tăng là: a. Hiện tượng mất gói tin tại một hệ định tuyến nào đó ( chẳng hạn do thiếu bộ nhớ nhận), => dẫn đến time-out => thực thể phát phải thực hiện phát lại gói số liệu bị mất; b. Thực thể phát nhận được nhiều lần các thông báo trả lời ACK cho biết tại trạm nhận, các gói tin đã đến không đúng theo thứ tự phát.  Thuật toán tránh tắc nghẽn chính là giảm lưu lượng gói tin phát vào kênh TCP được thiết lập, từ đó sẽ hạn chế tình trạng rớt/mất mát gói tin. 98
  95. Kết hợp cả hai thuật toán “bắt đầu chậm” (Slow Start) và “tránh tắc nghẽn”  Thuật toán “bắt đầu chậm” (Slow Start) và “tránh tắc nghẽn” (Congestion Avoidance) là những kỹ thuật điều khiển lưu lượng, tránh tắc nghẽn gói tin hoạt động độc lập, song có quan hệ mật thiết với nhau và thường cài đặt cùng nhau.  Giải pháp kết hợp cả hai thuật toán này như sau:  Gán cwnd=1  Ssthresh=65525 Byte //ssthresh là ngưỡng trên của thuật toán bắt đầu chậm  Thực thể phát TCP không bao giờ phát > giá trị cwndmin và rwnd (độ lớn cửa sổ thu đã được thực thể thu thông báo trước đó): W = min {cwnd, rcnd}  Khi xuất hiện hiện tượng tắc nghẽn số liệu đặt W=W/2 (không nhỏ hơn hai gói số liệu) lưu giữ trong trường ssthresh và đặt cwnd = 1 đơn vị gói tin.  Mỗi khi nhận được thông báo ACK giá trị cwnd được tăng lên, phụ thuộc thuật toán bắt đầu chậm hay thuật toán tránh tắc nghẽn được thực hiện: 99
  96. Kết hợp cả hai thuật toán “bắt đầu chậm” (Slow Start) và “tránh tắc nghẽn”  Nếu wcnd thuật toán bắt đầu chậm được thực hiện.  Ngược lại, nếu wcnd = ssthresh, => thuật toán tránh tắc nghẽn được thực hiện: wcnd=wcnd+1/wcnd, với mỗi ack nhận được.  Nhận xét: Có thể thấy rằng độ gia tăng giá trị cửa sổ phát trong trường hợp điều khiển tránh tắc nghẽn là tuyến tính, trong khi ở thuật toán bắt đầu chậm (không có tắc nghẽn) là tăng theo hàm số mũ. Điều này đảm bảo băng thông được cấp phát, tăng hiệu suất trao đổi gói tin trên kết nối TCP khi áp dụng thuật toán bắt đầu chậm và vẫn đề phòng tránh được hiện tượng tắc nghẽn gói tin hiệu quả. 100
  97. Thuật toán phát lại nhanh  Thực thể TCP thực hiện phát lại gói tin trong các trường hợp sau: + Nhận được thông báo NAK (thu sai) + Đồng hồ quản lý phát lại kích hoạt (time-out)  Thuật toán phát lại nhanh (Fast retranssmision) cho phép thực thể phát lại nhanh mà không cần chờ đồng hồ “time-out”, trong trường hợp nhận được nhiều hơn 3 thông báo ACK lặp lại (duplicated ACK).  Thông báo ACK lặp lại được sinh ra khi : Thực thể nhận thông báo gói tin đến không đúng theo thứ tự phát và nêu số thứ tự gói tin chờ nhận.  Trong thực tế: chỉ cần từ một đến 2 thông báo lặp lại ACK là đủ để gói tin bị thất lạc (packet lost) đến và được xử lý đúng thứ tự. => khi nhận được nhiều hơn 3 thông báo ACK lặp lại => đồng nghĩa với việc rớt gói tin (packet loss), trong trường hợp này, gói tin đó cần được phát lại nhanh. 101
  98. Thuật toán khôi phục nhanh  Thuật toán khôi phục nhanh (Fast Recovery) qui định việc thực hiện thuật toán tránh tắc nghẽn ngay sau khi thực hiện phát lại nhanh. Điều này nhằm mục đích: + Tránh cho lưu lượng số liệu trong kết nối TCP không bị thay đổi đột ngột – nếu thực hiện thuật toán bắt đầu chậm + Đảm bảo thông lượng số liệu đạt được phù hợp với bối cảnh thực tế: việc phát, thu có lỗi.  Thuật toán phát lại nhanh và khôi phục nhanh thường được cài đặt lại cùng nhau như sau: 102
  99.  Sau khi nhận được 3 thông báo ACK lặp lại liên tiếp nhau, thực thể phát thiết lập ssthresh=wcnd/2 (không nhỏ hơn hai đơn vị gói số liệu smss) và phát lại gói tin bị mất;  Tăng cwnd=cwnd+3*smss. tăng “nhân tạo” cửa sổ phát wcnd tương ứng với 3 gói tin đã “rời” khỏi mạng, hay nói cách khác: chúng không còn chiếm giữ tài nguyên của mạng (thực chất là: ba gói tin đã được nhận trong bộ đệm của thực thể nhận, tương ứng với 3 thông báo ACK lặp lại).  Với mỗi thông báo ACK lặp lại, tăng wcnd = wcnd + 1*smss, tương ứng với một gói tin được phát vào mạng (và như được lưu giữ trong bộ đệm của thực thể nhận).  Thực hiện phát môt gói tin, nếu thỏa mãn W = min{cwnd, rcnd}. 103
  100.  Sau khi nhận được thông báo trả lời ACK không bị lặp lại, nghĩa là thông báo về số gói số liệu được nhận đúng trong khoảng thời gian cho đến thời điểm đó – bao gồm thời gian chờ xử lý lỗi (phát lại thông báo ACK cho đên khi thực thể phát phát lại gói tin bị mất) và thời gian sau khi phát lại cho đến khi gói số liệu phát lại được nhận đúng – thực thể TCP thiết lập lại giá trị cửa sổ wcnd được giữ trong trường ssthresh và thực hiện phát bình thường trở lại với qui tắc: w = min{cwnd,rcnd} 104
  101. Câu hỏi ? 1. Vai trò và chức năng của TCP : 2. Trình bày các đặc điểm của TCP 3. Điều khiển lưu lượng và điều khiển tắc nghẽn 4. Trình bày các cơ chế cửa sổ động, phát lại thích nghi, điều khiển tắc nghẽn. 5. Thiết lập và huỷ bỏ liên kết: 6. Độ tin cậy và điều khiển luồng của TCP: 105
  102. Thư điện tử
  103. Phân phối thư điện tử  Hệ thống nhận và phân phối thư điện tử (xem phần bài giảng về thư điện tử). Mail server MSa Mail server MSb SMTP Internet SMTP SMTP POP3 SMTP POP3 User A (Sender) User B (Receipient) 107
  104. Phân tích một phiên gửi thư  Phiên gửi email giữa người gửi và SMTP server:  R: 220 USC-ISIF.ARPA Simple Mail Transfer Service Ready S: HELO LBL-UNIX.ARPA R: 250 USC-ISIF.ARPA S: MAIL FROM:mo@LBL-UNIX.ARPA R: 250 OK S: RCPT TO:fred@USC-ISIF.ARPA R: 251 User not local; will toward to Jones@USC-ISI.ARPA S: DATA R: 354 Start mail input; end with . S: Blah blah blah S: etc. etc. etc. S: . R: 250 OK S: QUIT R: 221 USC-ISIF.ARPA Service closing transmission channel 108
  105. MX records  MX records được đưa vào bảng thông tin tài nguyên mạng trong DNS cho phép xác định tên máy sẽ nhận thư chuyển đi.  Tương ứng với một tên máy nhận thư, có thể có nhiều hướng chuyển thư, hệ thống sẽ lựa chọn các hướng chuyển có thể dựa vào tham số ưu tiên: giá trị ưu tiên càng nhỏ thì mức ưu tiên càng cao.  máy chuyển thư sẽ thử gửi thư trên các hướng theo thứ tự: nếu theo 1 hướng không thành công thì thử hướng gửi kế tiếp.  cách chuyển thư gián tiếp như thế này cho phép gửi thư được cả cho những mạng không dùng giao thức IP. 109
  106. Ví dụ  Giả sử chúng ta có một bảng các MX record như sau: A.EXAMPLE.ORG IN MX 10 A.EXAMPLE.ORG A.EXAMPLE.ORG IN MX 15 B.EXAMPLE.ORG A.EXAMPLE.ORG IN MX 20 C.EXAMPLE.ORG A.EXAMPLE.ORG IN WKS 10.0.0.1 TCP SMTP B.EXAMPLE.ORG IN MX 0 B.EXAMPLE.ORG B.EXAMPLE.ORG IN MX 10 C.EXAMPLE.ORG B.EXAMPLE.ORG IN WKS 10.0.0.2 TCP SMTP C.EXAMPLE.ORG IN MX 0 C.EXAMPLE.ORG C.EXAMPLE.ORG IN MX 10.0.0.3 TCP SMTP D.EXAMPLE.ORG IN MX 0 D.EXAMPLE.ORG D.EXAMPLE.ORG IN MX 10 C.EXAMPLE.ORG D.EXAMPLE.ORG IN WKS 10.0.0.4 TCP SMTP  Trường WKS (Well-known Service) cho biết loại dịch vụ TCP/IP nào được hỗ trợ bởi giao thức nào. Ở đây chúng ta có dịch vụ gửi thư SMTP sẽ chạy trên IP 110
  107. Ví dụ 1 Máy chủ SMTP tại D.EXAMPLE.ORG đang thực hiện gửi 1 thông điệp đến A.EXAMPLE.ORG  Trong bảng MX, từ yêu cầu trên chúng ta có thông tin là A.EXAMPLE.ORG có 3 MX record. Hơn nữa, trong cả 3 mục, đều không có D.EXAMPLE.ORG trong đó. Tuy nhiên, vì các mục đều cho biết có hỗ trợ SMTP (xem WKS), do đó phải xem xét cả 3 mục được cung cấp. Theo thứ tự ưu tiên, máy chủ SMPT trên buộc phải thử gửi thư tới A.EXAMPLE.ORG trước. Nếu không thực hiện được thì nó có thể (không nhất thiết) thử gửi tới B.EXAMPLE.ORG. Nếu cả B.EXAMPLE.ORG không trả lời thì nó có thể thử tiếp đến C.EXAMPLE.ORG. 111
  108. Ví dụ 2 Máy chủ SMTP tại B.EXAMPLE.ORG đang thực hiện gửi 1 thông điệp đến A.EXAMPLE.ORG  Trong trường hợp này, chúng ta vẫn có 3 RR có liên quan đến A.EXAMPLE.ORG, nhưng trong trường hợp này, máy chủ gửi thư phải bỏ qua phần mục có thông tin của chính nó cũng như mục có chứa thông tin về C.EXAMPLE.ORG (do MX RR của C.EXAMPLE.ORG có mức ưu tiên cao hơn RR cho B.EXAMPLE.ORG). Và như thế, chỉ còn lại RR cho A.EXAMPLE.ORG, nghĩa là thông điệp sẽ chỉ được gửi trực tiếp đến A.EXAMPLE.ORG mà thôi. 112
  109. Internet Control Message Protocol  ICMP được sử dụng để điều khiển việc đánh địa chỉ, dò tìm các máy tính láng giềng và quản lý thành viên nhóm trong mạng.  ICMP cũng có các thông báo lỗi và hỗ trợ cho việc phân tích tình trạng mạng.  ICMP được gửi đi theo định dạng gói tin IP chuẩn IP header ICMP types ICMP code CheckSum Body of ICMP message 113
  110. Các thông điệp ICMP 1 Destination Unreachable Error Message 2 Packet Too Big Error Message 3 Time Exceeded Error Message 4 Parameter Problem Error Message 128 Echo Request Message 129 Echo Reply Message 130 Group Membership Query 131 Group Membership Report 132 Group Membership Termination 133 Router Solicitation 134 Router Advertisement 135 Neighbour Solicitation 136 Neighbour Advertisement 114 137 Redirect Message
  111.  lỗi destination unreachable xảy ra trong trường hợp không có kết nối thực đến máy, hoặc do kết nối đang yêu cầu bị cấm bởi quản trị mạng, hoặc không được phép thực hiện thao tác định tuyến, hoặc địa chỉ máy không có thực.  trong IPV6, nếu việc chia nhỏ gói tin (fragmentation) không được phép, thì trong trường hợp các kết nối mạng trên đường truyền không hỗ trợ cho các gói tin có kích thước xác định sẽ dẫn đến lỗi packet too big.  mỗi một gói tin có thời hạn sống (time-to-live), nếu TTL đã hết thì thông báo lỗi Time Exceeded sẽ được trả về.  các chức năng hỏi/đáp trong trình ping cho phép từ một máy tính có thể kiểm tra sự tồn tại của một máy tính khác.  group membership được sử dụng trong các ứng dụng theo cơ chế multicasting. 115
  112. Tìm đường trên Internet 116
  113. Tìm đường  ARP cho phép tìm các máy tính trong cùng một mạng con. Trong một số trường hợp, chúng ta cần thực hiện kết nối trực tiếp đến một máy tính ở các mạng khác.  ICMP cho phép thông báo sự hiện diện của một router trên mạng qua các thông số max hop và reachability timeout (nếu máy không nhận được các phản hồi thích hợp trong thời gian quy định, có thể suy ra rằng mạng có vấn đề)  các máy tính trên mạng cũng có thể gửi các yêu cầu tìm định tuyến (router solicitation) lên mạng, và sẽ có một router trực tiếp trả lời yêu cầu này 117
  114. Chuyển hướng left router right router Site D  trong trường hợp trên, qua thông tin thông báo hiện diện của router, sẽ có một định tuyến đến site D qua router bên trái, đây là tuyến không hiệu quả 120
  115.  router bên trái được chỉ định và cài đặt cơ chế phát hiện vấn đề nêu trên và điều chỉnh lại thông tin định tuyến sau khi gửi đi gói tin đầu tiên, router này sẽ gửi thông báo chuyển hướng (redirect) sang router bên phải cho máy gửi tin để báo việc gửi tin phải được thực hiện sang router bên phải. 121