1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giao thức TCPIP

13 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Giao thức TCP/IP Giao thức TCP/IP Bởi: Nguyễn Bình Dương Giao thức TCP/IP Giao thức TCP/IP phát triển từ mạng ARPANET Internet dùng giao thức mạng vận chuyển mạng Internet TCP (Transmission Control Protocol) giao thức thuộc tầng vận chuyển IP (Internet Protocol) giao thức thuộc tầng mạng mô hình OSI Họ giao thức TCP/IP giao thức sử dụng rộng rãi để liên kết máy tính mạng Hiện máy tính hầu hết mạng sử dụng giao thức TCP/IP để liên kết với thông qua nhiều hệ thống mạng với kỹ thuật khác Giao thức TCP/IP thực chất họ giao thức cho phép hệ thống mạng làm việc với thông qua việc cung cấp phương tiện truyền thông liên mạng Giao thức IP Tổng quát Nhiệm vụ giao thức IP cung cấp khả kết nối mạng thành liên kết mạng để truyền liệu, vai trò IP vai trò giao thức tầng mạng mơ hình OSI Giao thức IP giao thức kiểu khơng liên kết (connectionlees) có nghĩa khơng cần có giai đoạn thiết lập liên kết trước truyền liệu Sơ đồ địa hóa để định danh trạm (host) liên mạng gọi địa IP 32 bits (32 bit IP address) Mỗi giao diện máy có hỗ trợ giao thức IP phải gán địa IP (một máy tính gắn với nhiều mạng có nhiều địa IP) Địa IP gồm phần: địa mạng (netid) địa máy (hostid) Mỗi địa IP có độ dài 32 bits tách thành vùng (mỗi vùng byte), biểu thị dạng thập phân, bát phân, thập lục phân hay nhị phân Cách viết phổ biến dùng ký pháp thập phân có dấu chấm (dotted decimal notation) để tách vùng Mục đích địa IP để định danh cho máy tính liên mạng Do tổ chức độ lớn mạng (subnet) liên mạng khác nhau, người ta chia địa IP thành lớp, ký hiệu A, B, C, D E Trong lớp A, B, C chứa địa 1/13 Giao thức TCP/IP gán Lớp D dành riêng cho lớp kỹ thuật multicasting Lớp E dành ứng dụng tương lai Netid địa mạng dùng để nhận dạng mạng riêng biệt Các mạng liên kết phải có địa mạng (netid) riêng cho mạng Ở bit byte dùng để định danh lớp địa (0 - lớp A, 10 - lớp B, 110 - lớp C, 1110 - lớp D 11110 - lớp E) Ơ ta xét cấu trúc lớp địa gán lớp A, lớp B, lớp C Cấu trúc địa IP sau: • Mạng lớp A: địa mạng (netid) Byte địa host (hostid) byte • Mạng lớp B: địa mạng (netid) Byte địa host (hostid) byte • Mạng lớp C: địa mạng (netid) Byte địa host (hostid) byte Lớp A cho phép định danh tới 126 mạng, với tối đa 16 triệu host mạng Lớp dùng cho mạng có số trạm cực lớn Lớp B cho phép định danh tới 16384 mạng, với tối đa 65534 host mạng Lớp C cho phép định danh tới triệu mạng, với tối đa 254 host mạng Lớp dùng cho mạng có trạm Cấu trúc lớp địa IP Một số địa có tính chất đặc biệt: Một địa có hostid = dùng để hướng tới mạng định danh vùng netid Ngược lại, địa có vùng hostid gồm tồn số dùng để hướng tới tất host nối vào mạng netid, vùng netid gồm toàn số hướng tới tất host liên mạng 2/13 Giao thức TCP/IP Ví dụ cấu trúc lớp địa IP Cần lưu ý địa IP dùng để định danh host mạng tầng mạng mơ hình OSI, chúng địa vật lý (hay địa MAC) trạm mạng cục (Ethernet, Token Ring…) Trong nhiều trường hợp, mạng chia thành nhiều mạng (subnet), lúc đưa thêm vùng subnetid để định danh mạng Vùng subnetid lấy từ vùng hostid, cụ thể lớp A, B, C ví dụ sau: Ví dụ địa bổ sung vùng subnetid Đơn vị liệu dùng IP gọi gói tin (datagram), có khn dạng Dạng thức gói tin IP Ý nghĩa thơng số sau: 3/13 Giao thức TCP/IP • VER (4 bits): version hành giao thức IP cài đặt, Việc có số version cho phép có trao đổi hệ thống sử dụng version cũ hệ thống sử dụng version • IHL (4 bits): độ dài phần đầu (Internet header Length) gói tin datagram, tính theo đơn vị từ ( 32 bits) Trường bắt buột phải có phần đầu IP có độ dài thay đổi tùy ý Độ dài tối thiểu từ (20 bytes), độ dài tối đa 15 từ 60 bytes • Type of service (8 bits): đặc tả tham số dịch vụ nhằm thông báo cho mạng biết dịch vụ mà gói tin muốn sử dụng, chẳng hạn ưu tiên, thời hạn chậm trễ, suất truyền độ tin cậy Hình sau cho biết ý nghĩ trường bits • • Precedence (3 bit): thị quyền ưu tiên gửi datagram, có giá trị từ (gói tin bình thường) đến (gói tin kiểm sốt mạng) • D (Delay) (1 bit): độ trễ yêu cầu D = gói tin có độ trễ bình thường D = gói tin độ trễ thấp T (Throughput) (1 bit): độ thông lượng yêu cầu sử dụng để truyền gói tin với lựa chọn truyền đường thơng suất thấp hay đường thông suất cao T = thông lượng bình thường T = thơng lượng cao R (Reliability) (1 bit): độ tin cậy yêu cầu R = độ tin cậy bình thường R = độ tin cậy cao Total Length (16 bits): độ dài tồn gói tin, kể phần đầu tính theo đơn vị byte với chiều dài tối đa 65535 bytes Hiện giới hạn lớn tương lai với mạng Gigabit gói tin có kích thước lớn cần thiết Identification (16 bits): với tham số khác (như Source Address Destination Address) tham số dùng để định danh cho datagram khoảng thời gian cịn liên mạng Flags (3 bits): liên quan đến phân đoạn (fragment) datagram, Các gói tin đường bị phân thành nhiều gói tin nhỏ, trường hợp bị phân đoạn 4/13 Giao thức TCP/IP trường Flags dùng điều khiển phân đoạn tái lắp ghép bó liệu Tùy theo giá trị Flags có ý nghĩa gói tin khơng phân đoạn, phân đoạn gói tin phân đoạn cuối Trường Fragment Offset cho biết vị trí liệu thuộc phân đoạn tương ứng với đoạn bắt đầu gói liệu gốc Ý nghĩa cụ thể trường Flags là: bit 0: reserved - chưa sử dụng, lấy giá trị bit 1: (DF) = (May Fragment) = (Don't Fragment) bit 2: (MF) = (Last Fragment) = (More Fragments) Fragment Offset (13 bits): vị trí đoạn (fragment) datagram tính theo đơn vị bytes, có nghĩa phần liệu gói tin (trừ gói tin cuối cùng) phải chứa vùng liệu có độ dài bội số bytes Điều có ý nghĩa phải nhân giá trị Fragment offset với để tính độ lệch byte Time to Live (8 bits): qui định thời gian tồn (tính giây) gói tin mạng để tránh tình trạng gói tin bị quẩn mạng Thời gian cho trạm gửi giảm (thường qui ước đơn vị) datagram qua router liên mạng Thời lượng giảm xuống router với mục đích giới hạn thời gian tồn gói tin kết thúc lần lặp lại vô hạn mạng Sau số điều cần lưu ý trường Time To Live: Nút trung gian mạng khơng gởi gói tin mà trường có giá trị= Một giao thức ấn định Time To Live để thực tìm tài nguyên mạng 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 Protocol (8 bits): giao thức tầng nhận vùng liệu trạm đích (hiện thường TCP UDP cài đặt IP) Ví dụ: TCP có giá trị trường Protocol 6, UDP có giá trị trường Protocol 17 Header Checksum (16 bits): Mã kiểm sốt lỗi header gói tin IP Source Address (32 bits): Địa máy nguồn Destination Address (32 bits): địa máy đích 5/13 Giao thức TCP/IP Options (độ dài thay đổi): khai báo lựa chọn người gửi yêu cầu (tuỳ theo chương trình) Padding (độ dài thay đổi): Vùng đệm, dùng để đảm bảo cho phần header kết thúc mốc 32 bits Data (độ dài thay đổi): Trên mạng cục vậy, hai trạm liên lạc với chúng biết địa vật lý Như vấn đề đặt phải thực ánh xạ địa IP (32 bits) địa vật lý (48 bits) trạm Các giao thức mạng IP Để mạng với giao thức IP hoạt động tốt người ta cần số giao thức bổ sung, giao thức phận giao thức IP giao thức IP dùng đến chúng cần Giao thức ARP (Address Resolution Protocol): Ở cần lưu ý địa IP dùng để định danh host mạng tầng mạng mô hình OSI, chúng khơng phải địa vật lý (hay địa MAC) trạm mạng cục (Ethernet, Token Ring…) Trên mạng cục hai trạm liên lạc với chúng biết địa vật lý Như vấn đề đặt phải tìm ánh xạ địa IP (32 bits) địa vật lý trạm Giao thức ARP xây dựng để tìm địa vật lý từ địa IP cần thiết Giao thức RARP (Reverse Address Resolution Protocol): Là giao thức ngược với giao thức ARP Giao thức RARP dùng để tìm địa IP từ địa vật lý Giao thức ICMP (Internet Control Message Protocol): Giao thức thực truyền thơng báo điều khiển (báo cáo tình trạng lỗi mạng…) gateway nút liên mạng Tình trạng lỗi là: gói tin IP khơng thể tới đích nó, router không đủ nhớ đệm để lưu chuyển gói tin IP, Một thơng báo ICMP tạo chuyển cho IP IP "bọc" (encapsulate) thơng báo với IP header truyền đến cho router trạm đích Các bước hoạt động giao thức IP Khi giao thức IP khởi động trở thành thực thể tồn máy tính bắt đầu thực chức mình, lúc thực thể IP cấu thành tầng mạng, nhận yêu cầu từ tầng gửi yêu cầu xuống tầng Đối với thực thể IP máy nguồn, nhận yêu cầu gửi từ tầng trên, thực bước sau đây: Tạo IP datagram dựa tham số nhận 6/13 Giao thức TCP/IP Tính checksum ghép vào header gói tin Ra định chọn đường: trạm đích nằm mạng gateway chọn cho chặng Chuyển gói tin xuống tầng để truyền qua mạng Đối với router, nhận gói tin qua, thực động tác sau: 1) Tính chesksum, sai loại bỏ gói tin 2) Giảm giá trị tham số Time - to Live thời gian hết loại bỏ gói tin 3) Ra định chọn đường 4) Phân đoạn gói tin, cần 5) Kiến tạo lại IP header, bao gồm giá trị vùng Time - to -Live, Fragmentation Checksum 6) Chuyển datagram xuống tầng để chuyển qua mạng Cuối datagram nhận thực thể IP trạm đích, thực cơng việc sau: 1) Tính checksum Nếu sai loại bỏ gói tin 2) Tập hợp đoạn gói tin (nếu có phân đoạn) 3) Chuyển liệu tham số điều khiển lên tầng Giao thức điều khiển truyền liệu TCP TCP giao thức "có liên kết" (connection - oriented), nghĩa cần phải thiết lập liên kết hai thực thể TCP trước chúng trao đổi liệu với Một tiến trình ứng dụng máy tính truy nhập vào dịch vụ giao thức TCP thông qua cổng (port) TCP Số hiệu cổng TCP thể bytes 7/13 Giao thức TCP/IP Cổng truy nhập dịch vụ TCP Một cổng TCP kết hợp với địa IP tạo thành đầu nối TCP/IP (socket) liên mạng Dịch vụ TCP cung cấp nhờ liên kết logic cặp đầu nối TCP/IP Một đầu nối TCP/IP tham gia nhiều liên kết với đầu nối TCP/IP xa khác Trước truyền liệu trạm cần phải thiết lập liên kết TCP chúng khơng cịn nhu cầu truyền liệu liên kết giải phóng Các thực thể tầng sử dụng giao thức TCP thơng qua hàm gọi (function calls) có hàm yêu cầu để yêu cầu, để trả lời Trong hàm cịn có tham số dành cho việc trao đổi liệu Các bước thực để thiết lập liên kết TCP/IP: Thiết lập liên kết mở theo phương thức: chủ động (active) bị động (passive) Phương thức bị động, người sử dụng yêu cầu TCP chờ đợi yêu cầu liên kết gửi đến từ xa thông qua đầu nối TCP/IP (tại chỗ) Người sử dụng dùng hàm passive Open có khai báo cổng TCP thông số khác (mức ưu tiên, mức an toàn) Với phương thức chủ động, người sử dụng yêu cầu TCP mở liên kết với một đầu nối TCP/IP xa Liên kết xác lập có hàm Passive Open tương ứng thực đầu nối TCP/IP xa Bảng liệt kê vài cổng TCP phổ biến Số hiệu cổng Mô tả Reserved Remote job entry 8/13 Giao thức TCP/IP Echo Discard 11 Systat 13 Daytime 15 Nestat 17 Quotd (quote odd day 20 ftp-data 21 ftp (control) 23 Telnet 25 SMTP 37 Time 53 Name Server 102 ISO - TSAP 103 X.400 104 X.400 Sending 111 Sun RPC 139 Net BIOS Session source 160 - 223 Reserved Khi người sử dụng gửi yêu cầu mở liên kết nhận hai thông số trả lời từ TCP Thông số Open ID TCP trả lời để gán cho liên kết cục (local connection name) cho liên kết yêu cầu Thông số sau dùng để tham chiếu tới liên kết (Trong trường hợp TCP thiết lập liên kết u cầu phải gửi tham số Open Failure để thông báo.) Khi TCP thiết lập liên kết yêu cầu gửi tham số Open Sucsess dùng để thông báo liên kết thiết lập thành công Thông báo dược chuyển đến hai trường hợp bị động chủ động Sau liên kết mở, việc truyền liệu liên kết thực 9/13 Giao thức TCP/IP Các bước thực truyền nhận liệu: Sau xác lập liên kết người sữ dụng gửi nhận liệu Việc gửi nhận liệu thông qua hàm Send receive Hàm Send: Dữ liệu gửi xuống TCP theo khối (block) Khi nhận khối liệu, TCP lưu trữ đệm (buffer) Nếu cờ PUSH dựng tồn liệu đệm gửi, kể khối liệu đến gửi Ngược lại cờ PUSH khơng dựng liệu giữ lại đệm gửi có hội thích hợp (chẳng hạn chờ thêm liệu để gữi với hiệu hơn) Hàm reveive: Ở trạm đích liệu TCP lưu đệm gắn với liên kết Nếu liệu đánh dấu với cờ PUSH tồn liệu đệm (kể liệu lưu từ trước) chuyển lên cho người sữ dụng Còn liệu đến khơng đánh dấu với cờ PUSH TCP chờ tới thích hợp chuyển liệu với mục tiêu tăng hiệu hệ thống Nói chung việc nhận giao liệu cho người sử dụng đích TCP phụ thuộc vào việc cài đặt cụ thể Trường hợp cần chuyển gấp liệu cho người sử dụng dùng cờ URGENT đánh dấu liệu bit URG để báo cho người sử dụng cần phải sử lý khẩn cấp liệu Các bước thực đóng liên kết: Việc đóng liên kết không cần thiết thực hiên theo hai cách: dùng hàm Close dùng hàm Abort Hàm Close: yêu cầu đóng liên kết cách bình thường Có nghĩa việc truyền liệu liên kết hồn tất Khi nhận hàm Close TCP truyền tất liệu cịn đệm thơng báo đóng liên kết Lưu ý người sử dụng gửi hàm Close phải tiếp tục nhận liệu đến liên kết TCP báo cho phía bên biết việc đóng liên kết chuyển giao hết tất liệu cho người sử dụng Hàm Abort: Người sử dụng đóng liên kết bất không chấp nhận liệu qua liên kết Do liệu bị truyền TCP báo cho TCP xa biết liên kết hủy bỏ TCP xa thông báo cho người sử dụng cũa Một số hàm khác TCP: Hàm Status: cho phép người sử dụng yêu cầu cho biết trạng thái liên kết cụ thể, TCP cung cấp thơng tin cho người sử dụng Hàm Error: thông báo cho người sử dụng TCP yêu cầu dịch vụ bất hợp lệ liên quan đến liên kết có tên cho trước lỗi liên quan đến môi trường 10/13 Giao thức TCP/IP Đơn vị liệu sử dụng TCP gọi segment (đoạn liệu), có tham số với ý nghĩa sau: Dạng thức segment TCP Source Por (16 bits): Số hiệu cổng TCP trạm nguồn Destination Port (16 bit): Số hiệu cổng TCP trạm đích Sequence Number (32 bit): số hiệu byte segment trừ bit SYN thiết lập Nếy bit SYN thiết lập Sequence Number số hiệu khởi đầu (ISN) byte liệu ISN+1 Acknowledgment Number (32 bit): số hiệu segment mà trạm nguồn 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 32 bit (32 bit words) TCP header (tham số vị trí bắt đầu nguồn liệu) Reserved (6 bit): dành để dùng tương lai Control bit (các bit điều khiển): URG: Vùng trỏ khẩn (Ucgent Poiter) có hiệu lực ACK: Vùng báo nhận (ACK number) có hiệu lực PSH: Chức PUSH RST: Khởi động lại (reset) liên kết SYN: Đồng hóa số hiệu (sequence number) 11/13 Giao thức TCP/IP FIN: Khơng cịn liệu từ trạm nguồn Window (16 bit): cấp phát credit để kiểm soát nguồn liệu (cơ chế cửa sổ) Đây số lượng byte liệu, byte vùng ACK number, mà trạm nguồn sẵn sàng để nhận Checksum (16 bit): mã kiểm sốt lỗi cho tồn segment (header + data) Urgemt Poiter (16 bit): trỏ trỏ tới số hiệu byte theo sau liệu khẩn Vùng có hiệu lực bit URG thiết lập Options (độ dài thay đổi): khai báo option TCP, có độ dài tối đa vùng TCP data segment Paddinh (độ dài thay đổi): phần chèn thêm vào header để đảm bảo phần header kết thúc mốc 32 bit Phần thêm gồm toàn số TCP data (độ dài thay đổi): chứa liệu tầng trên, có độ dài tối đa ngầm định 536 byte Giá trị điều chỉnh cách khai báo vùng options Giao thức UDP (User Datagram Protocol) UDP (User Datagram Protocol) giao thức theo phương thức không liên kết sử dụng thay cho TCP IP theo yêu cầu ứng dụng Khác với TCP, UDP khơng có chức thiết lập kết thúc liên kết Tương tự IP, khơng cung cấp chế báo nhận (acknowledgment), khơng xếp gói tin (datagram) đến dẫn đến tình trạng trùng liệu mà khơng có chế thơng báo lỗi cho người gửi Qua ta thấy UDP cung cấp dịch vụ vận chuyển không tin cậy TCP Khuôn dạng UDP datagram mô tả với vùng tham số đơn giản nhiều so với TCP segment Dạng thức gói tin UDP UDP cung cấp chế gán quản lý số hiệu cổng (port number) để định danh cho ứng dụng chạy trạm mạng Do chức phức tạp nên UDP thường có xu hoạt động nhanh so với TCP Nó thường dùng cho ứng khơng địi hỏi độ tin cậy cao giao vận 12/13 Giao thức TCP/IP Mơ hình quan hệ họ giao thức TCP/IP 13/13 ... (48 bits) trạm Các giao thức mạng IP Để mạng với giao thức IP hoạt động tốt người ta cần số giao thức bổ sung, giao thức phận giao thức IP giao thức IP dùng đến chúng cần Giao thức ARP (Address... bits) địa vật lý trạm Giao thức ARP xây dựng để tìm địa vật lý từ địa IP cần thiết Giao thức RARP (Reverse Address Resolution Protocol): Là giao thức ngược với giao thức ARP Giao thức RARP dùng để... dùng IP gọi gói tin (datagram), có khn dạng Dạng thức gói tin IP Ý nghĩa thơng số sau: 3/13 Giao thức TCP/IP • VER (4 bits): version hành giao thức IP cài đặt, Việc có số version cho phép có trao

Ngày đăng: 22/12/2022, 16:14

w