Đề tài Giao thức TCP/IP và Mạng Internet

Phụ lục

Lời cảm ơn 1

Lời nhận xét 2

Lời mở đầu 3

Chương I : Tổng Quan Hệ Thống Mạng TCP/IP 5

I. Lịch sử phát triển của TCP/IP và mạng Internet 5

II. Kiến trúc phân tầng của mạng 6

III. Mô hình OSI 8

1. Khái niệm 8

2. Mục đích 10

3. Đặc điểm các tầng trong mô hình OSI 11

IV. Phương thức hoạt động 14

1. Có kết nối (Connection Oriented) 15

2. Không kết nối (Connectionless) 15

V. Bộ giao thức TCP/IP 16

1. Khái niệm 16

2. Mục đích và nguồn gốc 17

3. Đặc điểm 19

VI. TCP/IP và OSI 19

1. So sánh TCP/IP và OSI 19

2. Tổng quát về các giao thức 21

Chương II. Bộ giao thức TCP/IP 22

I. Cấu trúc phân tầng của TCP/IP 23

II. Đóng gói dữ liệu trong TCP/IP 23

Hình 6: Cấu trúc gói Dữ liệu. 24

III. Các tầng trong mô hình TCP/IP 25

1. Tầng ứng dụng (Application Layer) 25

2. Tầng giao vận (Transport Layer) 26

3. Tầng Internet (Internet Layer) 27

4. Tầng liên kết (Link Layer) 28

IV. Địa chỉ IP 29

1. Địa chỉ IP 29

2. Địa chỉ IP Public và Địa chỉ IP Private 32

2.1 Địa chỉ IP Public. 32

2.1 Địa chỉ IP Private 32

3. Các lớp địa chỉ IP 33

4. Subnet Mask 36

5. Default Gateway 38

6. Chia Subnet 38

7. Supernetting 41

8. CIDR (Classless Inter-Domain Routing –Định tuyến liên vùng không phân lớp ) : 42

9. Variable-Length Subnet Masks (Subnet Mask có chiều dài thay đổi): 44

V. Các giao thức và khuôn dạng dữ liệu tương ứng 44

1. Giao thức Tầng Liên kết (Link Layer ) 44

Giao thức Ethernet 44

2. Các giao thức Tầng Mạng 46

2.1 Giao thức IP ( Internet Protocol ) 46

2.2 ARP (address resolution protocol) 50

2.3 RARP (reserve address resolution protocol) 52

2.4 ARP uỷ quyền 54

2.5 Định tuyến cho IP Datagram 55

2.6 Giao thức ICMP 59

3. Các giao thức tầng Giao Vận 61

3.1 Giao Thức TCP. 61

3.2 Giao thức UDP 71

4. Các giao thức trên Tầng Ứng Dụng 72

4.1 HTTP (Hypertext Transfer Protocol) 72

4.2 DNS (Domain Name System) 73

Chương III Định Tuyến Error! Bookmark not defined.

I. Giới thiệu 75

1. Khái niệm 75

2. Mục tiêu của định tuyến. 76

II. Phân loại kỹ thuật định tuyến 77

1. Cơ sở cho việc phân chia các kỹ thuật định tuyến. 77

2. Định tuyến tập trung và định tuyến phân tán. 78

3. Định tuyến tĩnh và định tuyến động. 81

3.3 Giới thiệu một số giao thức định tuyến: 85

• Định tuyến mạng dung giao thức RIP 85

• Định tuyến mạng sử dụng giao thức OSPF 86

• Giao thức EIGRP 86

Chương IV. Mạng Internet. 87

I. Sơ lược lịch sử phát triển của mạng 88

II. Tổ chức của mạng Internet. 93

III. Một số phương thức kết nối Internet phổ biến. 97

1. Các hệ thống dùng dịch vụ điện thoại. 97

1.1. Leased Line (đường dây thuê bao) 97

1.2. Frame Relay và X25 97

1.3. DSL (Digital Subscriber Line) 97

1.4. ISDN ( Integrated Services Digital Network) 98

1.5. ATM (Asynchronous Transfer Mode) 98

1.6. Đường dây điện thoại Analog 98

2. Các hệ thống không dùng dịch vụ điện thoại. 99

2.1. Hệ thống cung cấp cáp quang lặp cục bộ 99

2.2. Modem cáp 99

2.3. Kết nối trực tiếp 99

IV. Các dịch vụ thông dụng của Internet. 100

4.1. Thư điện tử 100

4.2. Mạng thông tin toàn cầu (World Wide Web- WWW) 100

4.3. Dịch vụ truyền tệp - FTP 101

4.4. Dịch vụ truy nhập từ xa -TELNET 102

4.5. Dịch vụ tra cứu theo chỉ mục - Gopher 102

4.6. Dịch vụ nhóm tin - USENET 102

4.7. Dịch vụ tìm kiếm thông tin diện rộng WAIS (Wide Area Information Service). 103

4.8. Dịch vụ hội thoại trên Internet - IRC 104

Kết Luận 105

Danh mục từ viết tắt 108

Mục lục các hình 110

 

 

doc116 trang | Chia sẻ: netpro | Lượt xem: 8390 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Giao thức TCP/IP và Mạng Internet, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ng rất rộng rãi so với các giao thức khác như FDDI, Token Ring…Ethernet được dùng để gửi những khối dữ liệu giữa điểm nguồn và điểm đích được xác định dựa vào địa chỉ MAC (Media Access Control). Đặc điểm của giao thức Ethernet Cấu trúc của một đơn vị dữ liệu trong giao thức Ethernet (gọi là Ethernet frame) có cấu trúc như sau: (đơn vị tính theo byte). PRE SOF DA SA Length/Type Data Payload FCS 7 1 6 6 2 46-1500 4 Hình 19 : Ethernet frame Header Preamble (PRE): Phần mở đầu gồm 7 byte và không được tính vào kích thước của Ethernet. Tất cả các byte trong phần mở đầu này đều có giá trị 10101010 và nó được dùng để đồng bộ đồng hồ giữa nơi nhận và gửi frame. SOF (Start frame delimiter) gồm 1 byte và không được tính vào kích thước của Ethernet. Byte này có giá trị 101010111 và được sử dụng để đánh dấu bắt đầu của một frame. Đối với những hệ thống Ethernet hiện nay hoạt động ở tốc độ 100 Mbps hoặc 1000Mbps không còn cần tới PRE và SOF. DA (Destination Address) có độ dài 6 byte là địa chỉ nơi MAC của Ethernet card nơi đến. Ở chế độ hoạt động bình thường Ethernet chỉ tiếp nhấn những frame có địa chỉ nơi đến trùng với địa chỉ (duy nhất) của nó hoặc địa chỉ nơi đến thể hiện một thông điệp quảng bá. Tuy nhiên hầu hết các Ethernet card hiện nay đều có thể được đặt ở chế độ đa hỗn tạp (promiscuous mode) và khi đó nó sẽ nhận tất cả các frame xuất hiện trong mạng LAN. SA (Source Addresss) có độ dài 6 byte là địa chỉ MAC của card nguồn. Length/Type (Độ dài/Loại) 2 byte chỉ ra độ dài (đối với IEEE 802.3 MAC frame) và loại của Ethernet frame chỉ giao thức của tầng cao hơn (đối với DIX Ethernet.(DEC- Intel – Xerox) – phổ biến hơn). Ví dụ như với DIX Ethernet frame có giao thức tầng trên là IP thì 2 byte này sẽ có giá trị là 0800h và ARP là 0806h. Data Payload: Phần thông tin dữ liệu có độ dài từ 46 tới 1500 byte. Trailer (FCS - Frame Check Sequence): 32 bit sửa lỗi CRC. Ethernet sử dụng phương thức truy nhập đường truyền CSMA/CD, do vậy những frame lỗi do xảy ra xung đột (collision) trên đường truyền là không thể tránh khỏi. Tuy nhiên, nếu như tỉ lệ những frame lỗi vượt quá một mức nào đó (ví dụ như 1% tổng số frame) có nghĩa là hệ thống mạng đã có vấn đề. Những Ethernet frame lỗi bao gồm: Frame có độ lớn nhỏ hơn 64 byte. (normal collision – xảy ra khá phổ biến). Frame có độ lớn lớn hơn 1518 byte. Frame có độ lớn phù hợp nhưng có phần CRC bị sai lệch (late collision – nếu có nhiều frame dạng này tức là hệ thống mạng đang gặp vấn đề nghiêm trọng). 2. Các giao thức Tầng Mạng 2.1 Giao thức IP ( Internet Protocol ) Giao thức liên mạng IP hạt nhân của bộ giao thức TCP/IP. Trong phạm vi đề tài chúng ta chỉ xét tới IP phiên bản 4 (IPv4). IP là một giao thức hướng dữ liệu được sử dụng trong mạng chuyển mạch gói (ví dụ như Ethernet). IP là một giao thức hoạt động theo phương thức không liên kết (connectionless) và không đảm bảo truyền (không có sự trao đổi thông tin điều khiển). Vai trò của IP tương tự như vài trò của giao thức tầng mạng (network layer) trong mô hình OSI với các chức năng như sau: Xác định lược đồ địa chỉ Internet. Di chuyển dữ liệu giữa tầng giao vận và tầng liên kết. Dẫn đường cho các đơn vị dữ liệu tới các trạm ở xa. Thực hiện việc cắt và hợp các đơn vị dữ liệu. Giao thức IP sẽ bổ sung phần header vào trước segment được gửi từ tầng giao vận xuống và đơn vị dữ liệu này trong bộ giao thức TCP/IP được gọi là IP packet như hình sau: Hình 20 : IP Packet. Đơn vị dữ liệu của giao thức IP có cấu trúc như sau: Bit offset 0–3 4–7 8–15 16–18 19–31 0 Version Header length Differentiated Services Total Length 32 Identification Flags Fragment Offset 64 Time to Live Protocol Header Checksum 96 Source Address 128 Destination Address 160 Options + Padding 160 /192+ Data (max 65535 bytes) Hình 21 : Cấu trúc đơn vị dữ liệu IP. Trong đó phần header bao gồm các thành phần: Version: chỉ ra phiên bản hiện hành của IP được cài đặt (có giá trị là 4 đối với IPv4). Internet Header Length (IHL)  Chỉ độ dài phần đầu của IP packet, tính theo đơn vị từ (word = 32 bit). Độ dài tối thiểu là 5 từ (20 byte). Differentiated Services (DS): Trước đây còn gọi là Type of Services đặc tả các tham số dịch vụ, có dạng cụ thể như sau: bit 0 – 2 3 5 5 6 7 Precedence D T R C Reserved Hình 22: Tham số Differentiated Services Với ý nghĩa các bit cụ thể: Precedebce (3 bit): quyền ưu tiên cụ thể là 111 - Network Control, 110 - Internetwork Control, 101 - CRITIC/ECP, 100 - Flash Override, 011 - Flash, 010 - Immediate, 001 - Priority, 000 – Routine. D (Delay) (1 bit): chỉ độ trễ yêu cầu D = 0 nếu độ trễ bình thường, 1 nếu độ trễ thấp. T (Throughput) (1 bit): chỉ thông lượng yêu cầu T = 0 thông lượng bình thường, 1 nếu thông lượng cao. R (Reliability) (1bit) chỉ độ tin cậy yêu cầu R = 0 độ tin cậy bình thường, 1 nếu độ tin cậy cao. C (Cost) (1bit) chỉ hao phí C = 0 normal cost, 1 nếu minimize cost. Reserved (1bit) để dành. Total Length  trường 16 bit chỉ độ dài toàn bộ datagram bao gồm cả phần header và phần data tính theo byte và có giá trị lớn nhất là 65535 và giá trị nhỏ nhất là 20 byte. Identification (16 bit) định danh duy nhất cho 1 datagram khi nó vẫn còn trên liên mạng. Flags (3 bit) điều khiển sự phân mảnh. Theo thứ tự từ bit cao xuống bit thấp như sau: Reserved: có giá trị 0. DF: 0 (May Fragment); 1 (Don’t Fragment). MF: 0 (Last Fragment); 1 (More Fragment). Fragment Offset chỉ vị trí của đoạn (fragment) trong datagram tính theo đơn vị 64 bit, có nghĩa mỗi đoạn (trừ đoạn cuối cùng) phải chứa một vùng dữ liệu có độ dài là bội số của 64 bit. Time To Live (TTL)  (8 bit): quy định thời gian tồn tại (tính bằng giây) của datagram trong liên mạng để tránh tình trạng một datagram bị lặp vô hạn trên liên mạng. Thời gian này được cho bởi trạm gửi và được giảm đi (thường quy ước là 1 đơn vị) khi datagram đi qua mỗi router của liên mạng. Protocol  (8 bit): chỉ ra 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). Header Checksum  (16 bit): mã kiểm soát lỗi 16 bit theo phương pháp CRS, chỉ dành cho phần header. Source address (32 bit): địa chỉ trạm nguồn. Destination address (16 bit): địa chỉ trạm đích. Options (độ dài thay đổi): khai báo các lựa chọn do người dùng yêu cầu (tùy theo từng chương trình). 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): vùng dữ liệu có độ dài là bội số của 8 bit và tối đa là 65535 byte. 2.2 ARP (address resolution protocol) Giao thức phân giải địa chỉ ARP là phương pháp tìm địa chỉ tầng liên kết (hay địa chỉ vật lý) khi biết địa chỉ tầng Internet (IP) hoặc một vài kiểu địa chỉ tầng mạng khác. ARP được sử dung không chỉ để chuyển đổi địa chỉ đối với IP và Ethernet mà nó được cài đặt để làm việc với nhiều loại địa chỉ của các tầng các loại mạng khác nhau. Tuy nhiên, do sự phổ biến của IPv4 và Ethernet nên ARP chủ yếu được dùng để chuyển đổi từ địa chỉ IP thành địa chỉ MAC. Nó cũng được sử dụng đối với IP dựa trên các công nghệ LAN khác Ethernet như FDDI, Token Ring, IEEE 802.11 hay ATM. Trong thực tế, khi truyền thông với máy chủ thay vì truy vấn địa chỉ vật lý của máy chủ, giao thức ARP sẽ sử dụng bộ đệm ARP (ARP cache). Bộ đệm lưu trữ các địa chỉ IP gần nhất đã được phân giải. Nếu địa chỉ MAC của địa chỉ IP đích được tìm thấy trong bộ đệm thì địa chỉ này sẽ được sử dụng để truyền thông. Cấu trúc của một đơn vị dữ liệu giao thức ARP như sau: Bit offset 0 – 7 8 – 15 16 – 32 0 Hardware type (HTYPE) Protocol type (PTYPE) 32 Hardware length (HLEN) Protocol length (PLEN) Operation (OPER) 64 Sender hardware address (SHA) 96 Sender hardware address (SHA) Sender protocol address (SPA) 128 Sender protocol address (SPA) Target hardware address (THA) 160 Target hardware address (THA) 192 Target protocol address (TPA) Hình 23: Cấu trúc một đơn vị dữ liệu ARP. Hardware type (HTYPE)  Mỗi giao thức tầng liên kết (link layer) sẽ được gán một số để phân biệt (ví dụ như Ethernet là 1).. Protocol type (PTYPE) Dùng để phân biệt giao thức tầng Internet, ví dụ như với IP là 0x0800. Hardware length (HLEN) Độ dài tính theo byte của địa chỉ vật lý. Đối với Ethernet giá trị này là 6. Protocol length (PLEN) Độ dài tính theo byte của địa chỉ logic. Đối với IP giá trị này là 4.. Operation  Xác định hành động mà bên gửi gói tin đang thực hiện: 1 cho request, 2 cho reply, 3 cho RARP request và 4 cho RARP reply. Sender hardware address (SHA) Địa chỉ vật lý của trạm gửi. Sender protocol address (SPA) Địa chỉ logic của trạm gửi (ví dụ như địa chỉ IP). Target hardware address (THA) Địa chỉ vật lý của trạm đích. Trường này được để trống đối với gói tin request. Target protocol address (TPA)  Địa chỉ logic của trạm đích. 2.3 RARP (reserve address resolution protocol) Là giao thức ngược lại so với ARP, tìm địa chỉ logic khi biết địa chỉ vật lý. Cấu trúc của một đơn vị dữ liệu của giao thức RARP hoàn toàn tương tự như ARP, ngoại trừ trường Operation. Đối với gói dữ liệu ARP thì Operation có giá trị 1 nếu là request, 2 nếu reply. Đối với gói dữ liệu RARP thì Operation có giá trị 3 nếu là request và 4 nếu là reply. Các máy tính thường lưu trữ địa chỉ IP của nó trên bộ nhớ thứ cấp, nơi mà hệ điều hành có thể tìm thấy khi khởi động. Nhưng với những máy tính không thường xuyên làm việc với bộ nhớ thứ cấp (chẳng hạn chúng lưu giữ tập tin trên một máy Server ở xa) thì chúng không biết địa chỉ IP của mình. Vì vậy một máy tính không có ổ đĩa cứng khi khởi động phải liên lạc với Server để biết được địa chỉ IP của nó trước khi kết nối vào hệ thống sử dụng TCP/IP. Máy tính có thể nhận biết được địa chỉ vật lý của nó từ phần cứng giao tiếp mạng được cài đặt trên nó. Từ địa chỉ vật lý này, các máy tính không có bộ nhớ thứ cấp có thể tìm ra địa chỉ IP của nó thông qua giao thức RARP. Khuôn dạng của thông báo RARP về cơ bản giống khuông dạng của thông báo ARP, chỉ khác về cách thức khai báo một số trường trong đó. Cũng như thông báo ARP, một thông báo RARP cũng được đóng trong một khung thông tin mạng và được gửi từ máy này đến máy khác. Phần tiêu đề của khung tin có chứa một trường kiểu mang giá trị 8035 ở hệ 16 cho phép phân biệt khung tin chứa thông báo RARP với các khung tin dạng khác. Hình 24 minh hoạ cách thức mà một máy sử dụng RARP để xác định địa chỉ IP của nó. Để biết địa chỉ IP của mình, đầu tiên máy A quảng bá một yêu cầu RARP đến tất cả các máy khác. A cung cấp địa chỉ vật lý của nó trong gói tin RARP. Tất cả các máy trên mạng đều nhận được yêu cầu này nhưng chỉ có máy nào cung cấp dịch vụ RARP mới tiến hành xử lý và trả lời yêu cầu này. Những máy đó được gọi là các RARP Server. Trong một mạng con nói chung cần phải có một máy tính như vậy. Hình 24 : Sơ đồ xác định IP của máy sủ dụng RARP. 2.4 ARP uỷ quyền ARP uỷ quyền là phương pháp mà trong đó một máy thường là một Router trả lời các yêu cầu ARP cho các máy khác bằng cách cung cấp địa chỉ vật lý của chính nó. Bằng cách tạo ra một máy khác, Router chấp nhận trách nhiệm chuyển các gói. Mục đích của ARP uỷ quyền là cho phép một khu vực sử dụng một địa chỉ mạng với nhiều địa chỉ vật lý. ARP uỷ quyền cho phép một địa chỉ mạng được chia sẻ giữa hai mạng vật lý. Router R trả lời cho các yêu cầu ARP ở mỗi mạng cho các Hosts ở các mạng khác bằng cách đưa ra địa chỉ vật lý của nó và sau đó nó sẽ chuyển tiếp các gói khi nó nhận được. Router R biết máy nào nằm ở mạng vật lý nào và dùng ARP uỷ quyền để tạo ra ảo giác rằng chỉ có một mạng tồn tại. Để làm được việc đó R lưu giữ vị trí của các Hosts và cho phép tất cả các Hosts trong mạng liên lạc với nhau như là kết nối trực tiếp. Như trong hình, H1 muốn gửi một gói đến H4 nó sẽ dùng yêu cầu ARP để hỏi địa chỉ vật lý của H4. Do R có phần mềm ARP uỷ quyền nó thu được yêu cầu ARP và sẽ quyết định gửi đi trả lời ARP bằng địa chỉ vật lý của nó. H1 sẽ gửi gói đến R, khi R nhận được Datagram nó sẽ gửi Datagram đến H4. Hình 25 : ARP uỷ quyền nối hai mạng vật lý có cùng địa chỉ mạng. 2.5 Định tuyến cho IP Datagram Việc định tuyến cho IP Datagram trong liên mạng rất phức tạp. Thuật toán định tuyến IP sẽ tính toán và lựa chọn đường đi nào thích hợp nhất để gửi một Datagram qua các mạng vật lý đến trạm đích là nơi nhận Datagram. Các phần mềm định tuyến sẽ tiến hành phân tích các vấn đề như: xem xét kiểu mạng, chiều dài của Datagram hay các kiểu dịch vụ được mô tả trong Datagram Header để tìm đường đi tốt nhất. Trong vấn đề định tuyến người ta phân ra làm hai loại, đó là định tuyến trực tiếp và định tuyến gián tiếp. Việc truyền tin giữa hai máy được gọi là trực tiếp nếu hai máy này cùng được nối vào một mạng vật lý. Chuyển gián tiếp được thực hiện khi khi hai máy không cùng kết nối vào một mạng vật lý. Vì vậy việc truyền các gói tin được thông qua các Router. Để kiểm tra xem máy gửi và nhận Datagram có cùng trong một mạng vật lý hay không thì bên gửi tách lấy phần địa chỉ mạng của máy đích trong Datagram. Việc xác định địa chỉ mạng được thực hiện đơn giản bằng cách xem xét 4 bis đầu tiên của địa chỉ IP và như vậy nó sẽ xác định được bao nhiêu bits được dùng để đánh địa chỉ mạng. Địa chỉ này được dùng để so sánh với địa chỉ mạng của máy gửi nếu bên nhận và bên gửi cùng kết nối vào một mạng vật lý thì quá trình chuyển gói sẽ là trực tiếp không cần sử dụng Router. Khi đó máy gửi sẽ tìm địa chỉ vật lý của máy nhận bằng cách tìm trong ARP table hoặc dùng ARP request. Nếu hai máy không cùng trong một mạng vật lý thì khi đó gói dữ liệu sẽ được chuyển đến Router. Sự chuyển này cũng dùng địa chỉ vật lý. Router này sẽ phân phát các gói đến đích cuối cùng hoặc gửi nó đến Router tiếp theo. Tuy nhiên cần chú ý rằng địa chỉ vật lý của Router không phải là địa chỉ của đích cuối cùng do đó việc chuyển các gói không phải là trực tiếp. Khi chuyển một Datagram đến đích cuối cùng có thể sử dụng cả hai phương pháp chọn đường trực tiếp hoặc gián tiếp. Ví dụ như khi chuyển các Datagram qua mạng. Trạm khởi đầu sẽ chuyển nó đến Router để từ đó chuyển đến đích cuối cùng. Nó là chọn đường gián tiếp. Nhưng khi các gói này đến Router cuối cùng thì nó phải chuyển trực tiếp đến đích. Nếu một Router nhận được một Datagram mà nó chưa phải là đích cuối cùng nó sẽ giảm trường TTL đi, nếu TTL>0 nó sẽ gửi Datagram đi dựa vào địa chỉ IP của đích cuối cùng và thông tin trong bảng chọn tuyến. Router phân phát các gói theo nguyên lý không kết nối tức là không một Router nào thiết lập phiên truyền với một Router khác trên mạng. Bảng định tuyến (Routing table) Bảng định tuyến là nơi lưu giữ thông tin về các đích có thể đến được và cách thức để đến địa chỉ đó. Khi phần mền IP Routing tại một trạm hay một Router nhận được yêu cầu truyền một gói dữ liệu thì trước hết nó phải tham khảo bảng định tuyến của nó để quyết định xem sẽ phải gửi Datagram đến đâu. Tuy nhiên không phải bảng thông tin chọn đường của mỗi trạm (hay Router) là chứa tất cả các thông tin về các tuyến đường có thể đến được. Trong mỗi bảng thông tin chọn đường bao gồm các cặp (N,G) trong đó N là địa chỉ IP của mạng đích, còn G là địa chỉ của Router tiếp theo trên đường đến mạng N. Như vậy, mỗi Router sẽ không biết được đường truyền đầy đủ để đi đến đích. Trong bảng định tuyến còn có thông tin về các cổng có thể với đến nhưng không cùng nằm trên một mạng vật lý, phần thông tin này được che khuất đi và được gọi là Default Router. Khi không tìm thấy thông tin của địa chỉ đích cần đến thì các gói dữ liệu sẽ được gửi đến cổng truyền ngầm định. Việc thiết lập bảng định tuyến sử dụng hai phương pháp là phương pháp chọn tuyến động và phương pháp chọn tuyến tĩnh. Phương pháp chọn tuyến tĩnh có các đường truyền được tính toán trước và được nạp vào mạng khi mạng khởi động. Phương pháp này không quan tâm đến các thông số đường truyền tức thời và cấu hình (Topology) của mạng nên còn được gọi là thuật toán chọn tuyến phi thích nghi. Phương pháp chọn tuyến động hay còn gọi là phương pháp chọn tuyến thích nghi cho phép thay đổi đường truyền gói dựa vào các thay đổi của thông số truyền tải và cấu hình của mạng. Phương pháp chọn tuyến động hay được sử dụng hơn phương pháp chọn tuyến tĩnh do có nhiều ưu điểm hơn. Quá trình gửi một Datagram từ trạm nguồn đến trạm đích gồm các bước sau: khi một trạm muốn gửi Datagram đến một trạm khác trên liên mạng, đầu tiên nó sẽ đóng gói Datagram và gửi đến một Router gần nhất. Datagram cần gửi có thể sẽ phải qua nhiều Routers trước khi đến đích. Khi khung tin đến Router đầu tiên, phần mềm IP sẽ lấy Datagram đã được đóng gói ra, lựa chon Router tiếp theo cần phải qua. Sau đó Datagram lại được đặt vào khung rồi được gửi qua mạng vật lý đến Router thứ hai. Quá trình này cứ thế tiếp tục cho đến khi Datagram đến được đích cuối cùng. Hình 26 chỉ ra lược đồ quá trình chọn tuyến cho Datagram: Hình 26 : IP routing. 2.6 Giao thức ICMP Giao thức ICMP cung cấp cơ chế thông báo lỗi và các tình huống không mong muốn cũng như điều khiển các thông báo trong bộ giao thức TCP/IP. Giao thức này được tạo ra để thông báo các lỗi dẫn đường cho trạm nguồn. ICMP phụ thuộc vào IP để có thể hoạt động và là một phần không thể thiếu của bộ giao thức TCP/IP. Tuy nhiên nó không phải giao thức dùng để truyền tải dữ liệu nên thường được coi nằm trong tầng Internet (Internet layer) mà không phải là tầng giao vận (transport layer). Chức năng của ICMP như sau: Cung cấp thông báo phản hồi và trả lời để kiểm tra độ tin cậy của kết nối giữ hai trạm. Điều này được thiết lập bởi câu lệnh PING (Packet internet gropher). Trong khi truyền các gói tin Ping, cũng được biết đến như các gói tin ICMP echo requests, và ICMP echo replies. ICMP bao gồm rất nhiều các loại thông điệp khác nhau cho những mục đích đa dạng khác nhau. Bảng sau sẽ là danh sách các loại thông điệp quan trọng và thường sử dụng : Hình 27: ICMP Message Type. Địch hướng lại lưu lượng để cung cấp việc dẫn đường hiệu quả hơn khi một bộ dẫn đường quá tải dõ lưu lượng qua nó quá lớn. Gửi thông báo về thời gian quá khi datagram của trạm nguồn đã vượt quá TTL và bị loại bỏ. Gửi quảng cáo dẫn đường để xác định địa chỉ của các bộ dẫn đường trên đoạn mạng. Cung cấp các thông báo quá hạn thời gian. Xác định subnet mask nào được sử dụng trên đoạn mạng. Dữ liệu của gói ICMP sẽ được đóng gói bởi giao thức IP và Ethernet như trong hình vẽ sau: Hình 28: Ethernet Frame. Đơn vị dữ liệu của ICMP bao gồm 2 phần: Header và Data. Phần Data trong Window có độ lớn là 32 và theo ngay sau phần Header. Header được bắt đầu sau bit thứ 160 của gói tin IP (trừ khi phần IP Option được sử dụng) có cấu trúc như sau: bit 160 – 167 168 – 175 176 – 183 184 – 191 160 Type Code Checksum 192 ID Sequence Hình 29 : Cấu trúc Header của ICMP. Trong đó: Type (8 bit): Loại gói tin ICMP. Code (8 bit): Chi tiết về các đặc điểm của gói tin ICMP. Checksum( 16 bit) Mã sửa lỗi CRC. ID & Sequence (32 bit): Có giá trị trong trường hợp ICMP Echo Request và Echo Reply. 3. Các giao thức tầng Giao Vận 3.1 Giao Thức TCP. TCP là một giao thức kiểu có liên kết (Connection – Oriented), tức là phải có giai đoạn thiết lập liên kết giữa một cặp thực thể TCP trước khi truyền dữ liệu. Cũng giống như các giao thức ở tầng giao vận TCP nhận thông tin từ các lớp trên chia nó thành nhiều đoạn nếu cần thiết. Mỗi gói dữ liệu được chuyển tới giao thức lớp mạng (thường là IP) để truyền và định tuyến. Bộ xử TCP của nó nhận thông báo đã nhận từng gói, nếu nó nhận thành công, các gói dữ liệu không có thông báo sẽ được truyền lại. TCP của nơi nhận lắp ráp lại thông tin và chuyển nó tới tầng cao hơn khi nó nhận được toàn bộ. Trước khi các gói dữ liệu được gửi tới máy đích nơi gửi và nơi nhận phải thương lượng để thiết lập một kết nối logic tạm thời. Kết nối này về đặc trưng sẽ ở trạng thái mở trong suốt phiên truyền. Đặc điểm giao thức TCP : Trong bộ giao thức TCP/IP, TCP là giao thức được phát triển như là cách để kết nối các mạng máy tính khác nhau về các phương pháp truyền dẫn và hệ điều hành. TCP thiết lập kết nối hai đường giữa hai hệ thống cần trao đổi thông tin với nhau thông tin trao đổi giữa hai hệ thống được chia thành các gói. TCP có những đặc điểm sau: Hai hệ thống cần kết nối với nhau cần phải thực hiện một loạt các sự bắt tay để trao đổi những thông tin về việc chúng muốn kết nối. Quá trình bắt tay đảm bảo ngăn trặn sự tràn và mất mát dữ liệu khi truyền. Trong phiên truyền thông tin, hệ thống nhận dữ liệu cần phải gửi các xác nhận cho hệ thống phát để xác nhận rằng nó đã nhận được dữ liệu. Các gói tin có thể đến đích không theo thứ tự sắp xếp của dòng dữ liệu liên tục bởi các gói tin đi từ cùng một nguồn tin theo những đường dẫn khác nhau để đi tới cùng một đích. Vì vậy thứ tự đúng của các gói tin phải được đảm bảo sắp xếp lại tại hệ thống nhận. Khi phát hiện gói tin bị lỗi thì nơi gửi chỉ phát lại những gói tin bị lỗi nhằm để tránh loại bỏ toàn bộ dòng dữ liệu. Hình sau đây trình bày phương thức hoạt động của giao thức TCP. Hình 30 : TCP cung cấp kết nối từ đầu cuối đến đầu cuối. Đơn vị dữ liệu sử dụng trong giao thức TCP được gọi là Segment. Khuôn dạng của Segment được mô tả như hình sau : Bit 0 15 16 31 Sourse Port Destination Port Sequence Number Acknowledgment Number Data Offset (4 bits) Reserved (6 bits) URG ACK PSH RST SYN FIN Window (16 bits) Checksum Urgent poier Option Padding TCPdata H×nh 31 : Khu«n d¹ng TCP Segment. Các tham số của khuôn dạng trên có ý nghĩa như sau: Source Port (16 bits): Số hiệu của cổng nguồn. Destination Port (16 bits): Số hiệu cổng của trạm đích. Số hiệu này là địa chỉ thâm nhập dịch vụ lớp giao vận (CCISAP Addess) cho biết dịch vụ mà TCP cung cấp là dịch vụ gì. TCP có số lượng cổng trong khoảng 0 ¸ 216 - 1 tuy nhiên các cổng nằm trong khoảng từ 0 ¸ 1023 là được biết nhiều nhất vì nó được sử dụng cho việc truy cập các dịch vụ tiêu chuẩn, ví dụ 23 là dịch vụ Telnet, 25 là dịch vụ mail . . . . Sequence Number (32 bits): Số hiệu của Byte đầu tiên của Segment trừ khi bit SYN được thiết lập. Nếu 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. Tham số này có vai trò như tham số N(S) trong HDLC. Acknowledgment Number (32 bits): Số hiệu của Segment tiếp theo mà trạm nguồn dang chờ để nhận. Ngầm ý báo đã nhận tốt các Segment mà trạm trạm đích đã gửi cho trạm nguồn. Tham số này có vai trò như tham số N(R) trong HDLC. Data offset (4bits): Số lượng từ 32 bit trong TCP header (Tham số này chỉ ra vùng bắt đầu của vùng dữ liệu ). Reserved (6 bits): Dành để dùng trong tương lai. Control bits: Các bits điều khiển Từ trái sang phải: URG : Vùng con trỏ khẩn 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ộ các số liệu tuần tự (sequence number). FIN : Không còn dữ liệu từ trạm nguồn . Window (16bits): Cấp phát credit để kiểm soát luồng 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 (16bits): Mã kiểm soát lỗi (theo phương pháp CRC) cho toàn bộ Segment. Urgent Pointer (16 bits) : Con trỏ này trỏ tới số liệu tuần tự của Byte đi theo sau dữ liệu khẩn, cho phép bên nhận biết được độ dài của dữ liệu khẩn. Vùng này chỉ có hiệu lực khi bit URG được thiết lập . Option (độ 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 để bảo đảm phần Header luôn kết thúc ở một mốc 32 bits. Phần thêm này gồm toàn số 0. Việc kết hợp địa chỉ IP của một máy trạm và số cổng được sử dụng tạo thành một Socket. Các máy gửi và nhận đều có Socket riêng. Số Socket là duy nhất trên mạng. 3.1.1 Đặc điểm của Giao thức TCP 3.1.1.1 Điều khiển luồng dữ liệu Trong việc điều khiển luồng dữ liệu phương pháp hay sử dụng là dùng phương pháp cửa sổ trượt. Phương pháp này giúp cho việc nhận luồng dữ liệu hiệu quả hơn. Phương pháp cửa sổ trượt cho phép nới gửi (Sender) có thể gửi đi nhiều gói tin rồi sau đó mới đợi tín hiệu báo nhận ACK (Acknowledgement) của nơi nhận (Receiver).Với phương pháp cửa sổ trượt khi cần truyền các gói tin, giao thức sẽ đặt một cửa sổ có kích cố định lên các gói tin. Những gói tin nào nằm trong vùng cửa sổ ở một thời điểm nhất định sẽ được truyền đi. Hình 36 minh hoạ quá trình này. ở đây kích thước cửa sổ là 4. Tức là mỗi lúc cửa sổ chỉ gửi được 4 gói tin. Đầu tiên cửa sổ gửi sẽ gửi 4 gói tin từ 1 đến 4 và 4 gói tin này sẽ được gửi cho bên nhận. Cửa sổ tiếp tục trượt để gói tin thứ 5 được gửi đi ngay sau khi nhận được tín hiệu ACK của gói tin thứ nhất từ trạm đích qua trình như vậy cứ tiếp tục cho đến khi gói tin cuối cùng được chuyển đi. H×nh 32 : Ho¹t ®éng cña cöa sæ tr­ît. Trong qua trình gửi và nhận dữ liệu, có thể có một số gói tin mặc dù đã được gửi đi nhưng không có phúc đáp (không nhận được báo nhận) có nghĩa là bên nhận không nhận được thì những gói đó sẽ được truyền lại. Tại bên nhận cũng duy trì một cửa sổ trượt tương tự dùng để

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

  • docle_thi_thanh_hien_network_1659.doc