Bài giảng môn Mạng máy tính

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

pdf121 trang | Chia sẻ: maiphuongdc | Lượt xem: 3272 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Mạng máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
do Header TCP Segment Tiêu đề TCP “giả” 31  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 Cấu trúc gói số liệu TCP(tiếp…) 32 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. Cấu trúc gói số liệu TCP(tiếp…) 33 Cấu trúc gói tin TCP 16-bit Source Port number 16-bit Destination Port number 32-bit Sequence number 32-bit Achnowledgement number 4-bit Offset P R S F 6-bit Reserved 16-bit Window size 16-bit TCP Checksum 16-bit Urgen pointer Options (If any) Pad 32-bit Sequence number Data 0 3 4 7 8 15 16 23 24 31 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. 35 TCP: báo nhận 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. 37 Kết thúc liên kết 38 39 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 40 TCP: cửa sổ trượt 41 TCP: số tuần tự và lời báo nhận 42 43 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 44 Sự đóng gói dữ liệu trong khung dữ liệu UDP trong gói IP 45 Tham khảo  TCP/IP tutorial: RFC 1180  TCP: RFC 793  UDP: RFC 768 LỚP ỨNG DỤNG MẠNG Các ứng dụng DNS Tìm đường đi trên mạng 47 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 48 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… 49 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) 50 Ứ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 51 Ổ đĩ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 DỊCH VỤ TÊN MIỀN DOMAIN NAME SERVICES 53 DNS: nhớ tên thay vì địa chỉ IP 54 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. 55 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 56 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. 57 DNS: không gian tên miền vnn com edu gov com edu gov ukfrvn . 58 . DNS: Cơ sở dữ liệu tên miền vn com ctt www.ctt.com.vn 203.162.50.100 www 203.162.4.10 203.162.50.1 203.162.0.1 63.63.0.1 www – 203.162.50.100 mail – 203.162.50.101 Lab – 203.160.100.1 ctt – 203.162.50.1 aaa – 203.162.70.201 bbb – 203.160.9.7 com – 203.162.4.10 edu – 203.162.4.20 gov – 203.160.5.6 vn – 203.162.0.1 kr – 73.12.44.2 au – 20.60.6.56 59 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. 60 DNS: phân giải tên www.yahoo.com vnn yahoo comvn . Địa chỉ của com server Địa chỉ của yahoo.com server Địa chỉ của www.yahoo.com Địa chỉ của www.yahoo.com Yêu cầu Trả lời 61 62  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 63 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. 64 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. 65  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. 66 67 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   68 IP V6 69 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. 70 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. 71 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). 72 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. 73 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. Các đặc trưng của IPv6 (tiếp…) 74 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. Các đặc trưng của IPv6 (tiếp…) 75 . 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 định luồng dữ liệu của gói tin cho các Router để xử lý QoS. Trường Flow Label cho phép xác định luồng gói tin để các Router có thể đảm bảo chất lượng dịch vụ QoS 4 Việc phân đoạn được thực hiện bởi cả Router và máy chủ gửi gói tin Việc phân đoạn chỉ được thực hiện bởi máy 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 quảng bá để xác định địa chỉ vật lý. Khung ARP Request được thay thế bởi các thông báo Multicast Neighbor Solicitation. 8 Sử dụng giao thức IGMP để quản lý thành viên các nhóm mạng con cục bộ Giao thức IGMP được thay thế bởi các thông báo MLD (Multicast Listener Discovery) 76 So sánh IPv4 và IPv6 (Tiếp…) tt IPv4 IPv6 9 Sử dụng ICMP Router Discovery để xác định địa chỉ cổng Gateway mặc định phù hợp nhất, là tùy chọn. Sử dụng thông báo quảng cáo Router (Router Advertisement) và ICMP Router Solicitation thay cho ICMP Router Discovery, là bắt buộc. 10 Địa chỉ quảng bá truyền thông tin đến tất cả các node trong một mạng con Trong IPv6 không tồn tại địa chỉ quảng bá, thay vào đó là địa chỉ Multicast 11 Thiết lập cấu hình bằng thủ công hoặc sử dụng DHCP Cho phép cấu hình tự động, không sử dụng nhân công hay cấu hình qua DHCP 12 Địa chỉ máy chủ được lưu trong DNS với mục đích ánh xạ sang địa chỉ IPv4 Địa chỉ máy chủ được lưu trong DNS với mục đích ánh xạ sang địa chỉ IPv6 13 Con trỏ địa chỉ được lưu trong IN – ADDR ARPA DNS để ánh xạ địa chỉ IPv4 sang tên máy chủ Con trỏ địa chỉ được lưu trong Ipv6 – INT DNS để ánh xạ địa chỉ từ IPv4 sang tên máy chủ 14 Hỗ trợ gói tin kích thước 576 bytes (có thể phân đoạn) Hỗ trợ gói tin kích thước 1280 bytes (không cần phân đoạn) 77 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 78 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. 79 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. 80 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. 81 So sánh địa chỉ IPv4 và địa chỉ IPv6 82 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 83 Đ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. 84  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. Điều khiển lưu lượng và điều khiển tắc nghẽn 85  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ự đó. Điều khiển lưu lượng và điều khiển tắc nghẽn 86  Giả sử có 13 byte dữ liệu gửi cho máy B . Điều khiển lưu lượng và điều khiển tắc nghẽn 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. 87 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. 88 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. 89 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. 90 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 91 Cơ chế kết nối giữa hai máy trong mạng Internet 92 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. 93 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. 94 Cơ chế phát lại thích nghi (đọc qua) Xác định thời gian trễ toàn phần RTT t RTT Data( ) Ack( ) 95 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 96 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). 97 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

Các file đính kèm theo tài liệu này:

  • pdftcp_ip.pdf
Tài liệu liên quan