Bài giảng Mạng máy tính - Chương 4: Giao thức TCP/IP - Huỳnh Thanh Hòa
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 TCP/IP - Huỳnh Thanh Hòa", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
bai_giang_mang_may_tinh_chuong_4_giao_thuc_tcpip_huynh_thanh.pdf
Nội dung text: Bài giảng Mạng máy tính - Chương 4: Giao thức TCP/IP - Huỳnh Thanh Hòa
- Chương 4: Giao Thức TCP/IP 1. Gi ới thi ệu chung : TCP (Transmission Control Protocol) là giao th ức thu ộc tầng vận chuy ển và IP (Internet Protocol) là giao th ức thu ộc tầng mạng của mô hình OSI. Họ giao th ức TCP/IP hi ện nay là giao th ức được sử dụng rộng rãi nh ất để liên kết các máy tính và các mạng lại với nhau. Th.S Huỳnh Thanh Hòa
- 2. GIAO THỨC IP : A. Tổng quát : Nhi ệm vụ chính của giao th ức IP là cung cấp kh ả năng kết nối các mạng con thành liên kết mạng để truy ền dữ li ệu, vai trò của IP là vai trò của giao th ức tầng mạng trong mô hình OSI. Giao th ức IP là một giao th ức ki ểu không liên kết (connectionlees) có ngh ĩa là không cần có giai đoạn thi ết lập liên kết tr ước khi truy ền dữ li ệu. Th.S Huỳnh Thanh Hòa
- B. Cấu trúc gói tin IP : Đơn vị dữ li ệu dùng trong IP được gọi là gói tin (datagram), có khuôn dạng Th.S Huỳnh Thanh Hòa
- Cấu trúc gói tin IP • Ý ngh ĩa của thông số nh ư sau: – VER (4 bits): ch ỉ version hi ện hành của giao th ức IP hi ện đượ c cài đặ t. – IHL (4 bits): ch ỉ độ dài ph ần đầ u (Internet header Length) của gói tin datagram. Tr ườ ng này bắt bu ột ph ải có vì ph ần đầ u IP có th ể có độ dài thay đổ i tùy ý. Độ dài tối thi ểu là 5 từ (20 bytes), độ dài tối đa là 15 từ hay là 60 bytes. Th.S Huỳnh Thanh Hòa
- Cấu trúc gói tin IP – Type of service (8 bits): đặ c tả các tham số về dịch vụ nh ằm thông báo cho mạng bi ết dịch vụ nào mà gói tin mu ốn đượ c sử dụng (ví dụ : độ ưu tiên, th ời hạn ch ậm tr ễ, năng su ất truy ền và độ tin cậy. ) Hình sau cho bi ết ý ngh ĩ của tr ườ ng 8 bits này. Th.S Huỳnh Thanh Hòa
- Cấu trúc gói tin IP • Precedence (3 bit): ch ỉ th ị về quy ền ưu tiên gửi datagram, nó có giá tr ị từ 0 (gói tin bình th ường) đế n 7 (gói tin ki ểm soát mạng). • D (Delay) (1 bit): ch ỉ độ tr ễ yêu cầu trong đó • D = 0 gói tin có độ tr ễ bình th ường • D = 1 gói tin độ tr ễ th ấp Th.S Huỳnh Thanh Hòa
- Cấu trúc gói tin IP • T (Throughput) (1 bit): ch ỉ độ thông lượng yêu cầu sử dụng để truy ền gói tin với lựa ch ọn truy ền trên đường thông lượng th ấp hay đường thông lượng cao. • T = 0 thông lượng bình th ường • T = 1 thông lượng cao • R (Reliability) (1 bit): ch ỉ độ tin cậy yêu cầu • R = 0 độ tin cậy bình th ường • R = 1 độ tin cậy cao Th.S Huỳnh Thanh Hòa
- Cấu trúc gói tin IP – Total Length (16 bits): ch ỉ độ dài toàn bộ gói tin bao gồm ph ần dữ li ệu và ph ần đầ u tính theo đơ n vị byte với chi ều dài tối đa là 65535 bytes. – Identification (16 bits): cùng với các tham số khác (nh ư Source Address và Destination Address) tham số này dùng để đị nh danh duy nh ất cho một datagram trong kho ảng th ời gian nó vẫn còn trên liên mạng. Th.S Huỳnh Thanh Hòa
- Cấu trúc gói tin IP – Flags (3 bits): liên quan đế n sự phân đoạn (fragment) các gói tin (datagram). Các gói tin khi đi trên đườ ng đi có th ể bị phân thành nhi ều gói tin nh ỏ, trong tr ườ ng hợp bị phân đoạn thì tr ườ ng Flags đượ c dùng điều khi ển phân đoạn và tái lắp ghép bó dữ li ệu. Tùy theo giá tr ị của Flags sẽ có ý ngh ĩa là gói tin sẽ không phân đoạn hay có th ể phân đoạn. Ngoài ra, Flags còn cho bi ết gói tin này có ph ải là phân đoạn cu ối cùng ? Tr ườ ng Fragment Offset cho bi ết vị trí dữ li ệu thu ộc phân đoạn tươ ng ứng với đoạn bắt đầ u của gói dữ li ệu gốc. Th.S Huỳnh Thanh Hòa
- Cấu trúc gói tin IP Ý ngh ĩa cụ th ể của tr ườ ng Flags là: • bit 0: reserved - ch ưa sử dụng, luôn lấy giá tr ị 0. • bit 1: (DF) = 0 (May Fragment) OR = 1 (Don't Fragment) • bit 2: (MF) = 0 (Last Fragment) OR = 1 (More Fragments) Th.S Huỳnh Thanh Hòa
- – Fragment Offset (13 bits): ch ỉ vị trí của đoạn (fragment) ở trong datagram tính theo đơn vị 8 bytes , có ngh ĩa là ph ần dữ li ệu mỗi gói tin (tr ừ gói tin cu ối cùng) ph ải ch ứa một vùng dữ li ệu có độ dài là bội số của 8 bytes . Điều này có ý ngh ĩa là ph ải nhân giá tr ị của Fragment offset với 8 để tính ra độ lệch byte. Th.S Huỳnh Thanh Hòa
- – Time to Live (8 bits): qui đị nh th ời gian tồn tại (tính bằng giây) của gói tin trong mạng để tránh tình tr ạng một gói tin ở trên mạng quá lâu. Th ời gian này được cho bởi tr ạm gửi và được gi ảm đi (th ường qui ước là 1 đơn vị) khi datagram đi qua mỗi router của liên mạng. Th ời lượng này gi ảm xu ống tại mỗi router với mục đích gi ới hạn th ời gian tồn tại của các gói tin và kết thúc nh ững lần lặp lại vô hạn trên mạng. Th.S Huỳnh Thanh Hòa
- Sau đây là một số điều cần lưu ý về tr ường Time To Live: • Nút trung gian của mạng không được gởi một gói tin mà tr ường này có giá tr ị = 0. • Một giao th ức có th ể ấn đị nh Time To Live để th ực hi ện cu ộc tìm tài nguyên trên mạng trong ph ạm vi mở rộng. • Một giá tr ị cố đị nh tối thi ểu ph ải đủ lớn cho mạng ho ạt độ ng tốt. Th.S Huỳnh Thanh Hòa
- – Protocol (8 bits): ch ỉ giao th ức tầng trên kế ti ếp sẽ nh ận vùng dữ li ệu ở tr ạm đích (hi ện tại th ườ ng là TCP ho ặc UDP đượ c cài đặ t trên IP). Ví dụ: TCP có giá tr ị tr ườ ng Protocol là 6, UDP có giá tr ị tr ườ ng Protocol là 17 – Header Checksum (16 bits): Mã ki ểm soát lỗi ph ần đầ u ho ặc tiêu đề của gói tin IP. – Source Address (32 bits): Đị a ch ỉ của máy ngu ồn. – Destination Address (32 bits): đị a ch ỉ của máy đích Th.S Huỳnh Thanh Hòa
- – Options (độ dài thay đổ i): khai báo các lựa ch ọn do ng ườ i gửi yêu cầu (tu ỳ theo từng ch ươ ng trình). Ví dụ : vấn đề bảo mật. – Padding (độ dài thay đổ i): Vùng đệ m, đượ c dùng để đả m bảo cho ph ần header luôn kết thúc ở một mốc 32 bits – Data (độ dài thay đổ i): Ch ứa dữ li ệu của tầng trên gởi xu ống cần truy ền đi. Lưu ý : đị a ch ỉ IP (32 bits : X.X.X.X) và đị a ch ỉ vật lý (48 bits : FF:FF:FF:FF:FF:FF) của một tr ạm. Th.S Huỳnh Thanh Hòa
- 3. Các giao th ức trong mạng IP : Giao th ức ARP (Address Resolution Protocol): Ở đây cần lưu ý rằng các đị a ch ỉ IP đượ c dùng để đị nh danh các host và mạng ở tầng mạng của mô hình OSI, và chúng không ph ải là các đị a ch ỉ vật lý (hay đị a ch ỉ MAC) . Trên một mạng cục bộ hai tr ạm ch ỉ có th ể liên lạc với nhau nếu chúng bi ết đị a ch ỉ vật lý của nhau. Nh ư vậy vấn đề đặ t ra là ph ải tìm đượ c ánh xạ gi ữa đị a ch ỉ IP (32 bits) và đị a ch ỉ vật lý của một tr ạm. Giao th ức ARP đã đượ c xây dựng để tìm đị a ch ỉ vật lý từ đị a ch ỉ IP khi cần thi ết. Th.S Huỳnh Thanh Hòa
- Th.S Huỳnh Thanh Hòa
- Giao th ức RARP (Reverse Address Resolution Protocol): Là giao th ức ng ược với giao th ức ARP. Giao th ức RARP được dùng để tìm đị a ch ỉ IP từ đị a ch ỉ vật lý. Th.S Huỳnh Thanh Hòa
- Giao th ức ICMP (Internet Control Message Protocol): Giao th ức này th ực hi ện truy ền các thông báo điều khi ển (báo cáo về các tình tr ạng các lỗi trên mạng ) gi ữa các gateway ho ặc một nút ( router , switch, ) của liên mạng. Tình tr ạng lỗi : một gói tin IP không th ể tới đích của nó, ho ặc một router không đủ bộ nh ớ đệ m để lưu và chuy ển một gói tin IP, . Th.S Huỳnh Thanh Hòa
- 4. GIAO THỨC ĐIỀU KHI ỂN TRUYỀNDỮ LI ỆU TCP A. Tổng quát : TCP là một giao th ức "có liên kết" (connection - oriented), ngh ĩa là cần ph ải thi ết lập liên kết gi ữa hai th ực th ể TCP tr ước khi chúng trao đổ i dữ li ệu với nhau. Một ti ến trình ứng dụng trong một máy tính truy nh ập vào các dịch vụ của giao th ức TCP thông qua một cổng (port) của TCP.Số hi ệu cổng TCP được th ể hi ện bởiTh.S2 Huỳnh bytes Thanh Hòa.
- B. Cấu trúc gói tin TCP: Đơ n vị dữ li ệu sử dụng trong TCP đượ c gọi là segment (đoạn dữ li ệu), có các tham số với ý ngh ĩa nh ư sau: Th.S Huỳnh Thanh Hòa
- Gi ải thích : • Source Port (16 bits): Số hi ệu cổng TCP của tr ạm ngu ồn. • Destination Port (16 bit): Số hi ệu cổng TCP của tr ạm đích. • Sequence Number (32 bit): số hi ệu của byte đầ u tiên của segment tr ừ bit SYN đượ c thi ết lập. Nếy bit SYN đượ c thi ết lập thì Sequence Number là số hi ệu tu ần tự kh ởi đầ u (ISN) và byte dữ li ệu đầ u tiên là ISN+1. Th.S Huỳnh Thanh Hòa
- • Acknowledgment Number (32 bit): số hi ệu của segment ti ếp theo mà tr ạm ngu ồn đang ch ờ để nh ận. Ng ầm ý báo nh ận tốt (các) segment mà tr ạm đích đã gửi cho tr ạm ngu ồn. • Data offset (4 bit): số lượng bội của 32 bit (32 bit words) trong TCP header (tham số này ch ỉ ra vị trí bắt đầ u của ngu ồn dữ li ệu). • Reserved (6 bit): dành để dùng trong tương lai Th.S Huỳnh Thanh Hòa
- Control bit (các bit điều khi ển): • URG: Vùng con tr ỏ kh Nn (Urgent Pointer) có hi ệu lực. • ACK: Vùng báo nh ận (ACK number) có hi ệu lực. • PSH: Ch ức năng PUSH. • RST: Kh ởi độ ng lại (reset) liên kết. • SYN: Đồ ng bộ hóa số hi ệu tu ần tự (sequence number). • FIN: Không còn dữ li ệu từ tr ạm ngu ồn. Th.S Huỳnh Thanh Hòa
- • Window (16 bit): cấp phát credit để ki ểm soát ngu ồn dữ li ệu (c ơ ch ế cửa sổ). Đây chính là số lượ ng các byte dữ li ệu, bắt đầ u từ byte đượ c ch ỉ ra trong vùng ACK number, mà tr ạm ngu ồn đã sẵn sàng để nh ận. • Checksum (16 bit): mã ki ểm soát lỗi cho toàn bộ segment (header + data) • Urgent Pointer (16 bit): con tr ỏ này tr ỏ tới số hi ệu tu ần tự của byte đi theo sau dữ li ệu kh Nn. Vùng này ch ỉ có hi ệu lực khi bit URG đượ c thi ết lập. Th.S Huỳnh Thanh Hòa
- • Options (độ dài thay đổ i): khai báo các option của TCP, trong đó có độ dài tối đa của vùng TCP data trong một segment. • Padding (độ dài thay đổ i): ph ần chèn thêm vào header để đả m bảo ph ần header luôn kết thúc ở một mốc 32 bit. Ph ần thêm này gồm toàn số 0. • TCP data (độ dài thay đổ i): ch ứa dữ li ệu của tầng trên, có độ dài tối đa ng ầm đị nh là 536 byte. Giá tr ị này có th ể điều ch ỉnh bằng cách khai báo trong vùngTh.S Huỳnh options. Thanh Hòa
- 5. GIAO THỨC UDP (USER DATAGRAM PROTOCOL) : A. Tổng quát : UDP (User Datagram Protocol) là giao th ức theo ph ương th ức không liên kết được sử dụng thay th ế cho TCP ở trên IP theo yêu cầu của từng ứng dụng. UDP không có các ch ức năng thi ết lập và kết thúc liên kết. Th.S Huỳnh Thanh Hòa
- B. Cấu trúc gói tin UDP : Th.S Huỳnh Thanh Hòa
- Gi ải thích : • Source Port: Đị a ch ỉ cổng ngu ồn, là số hi ệu của ti ến trình gởi gói tin đi. • Destination Port: Đị a ch ỉ cổng đích, là số hi ệu của ti ến trình sẽ nh ận gói tin. • Length: Tổng chi ều dài của segment, tính luôn cả ph ần header. • Checksum: Là ph ần ki ểm tra lỗi. • Data: Ph ần dữ li ệu hai bên gởi cho nhau. Th.S Huỳnh Thanh Hòa
- THANKS Th.S Huỳnh Thanh Hòa