Mạng cục bộ và mạng diện rộng có thể phân biệt bởi : Địa ph−ơng hoạt động, tốc độ đ−ờng truyền và tỷ lệ lỗi trên đ−ờng truyền, chủ quản của mạng, đ−ờng đi của thông tin trên mạng, dạng chuyển giao thông tin.
Địa ph−ơng hoạt động: Liên quan đến khu vực quản lý thì mạng sẽ là mạng liên kết các máy tính nằm trong một khu vực nhỏ. Điều đó hạn chế bởi khoảng cách đ−ờng dây cáp đ−ợc dùng để liên kết các máy tính của mạng cục bộ. Ng−ợc lại mạng diện rộng là mạng có khả năng liên kết các máy tính trong một vùng rộng lớn nh− là một thành phố, một đất n−ớc, mạng diện rộng đ−ợc xây dựng để nối hai hoặc nhiều khu vực địa lý riệng biệt.
Tốc độ đ−ờng truyền và tỷ lệ lỗi trên đ−ờng truyền: Do các đ−ờng cáp quang của mạng cục bộ xây dựng trong một khu vực nhỏ cho nên nó ít bị ảnh h−ởng bởi tác động thiên nhiên (nh− là sấm chớp, ánh sáng…). Điều đó cho phép mạng cục bộ có thể truyền dữ liệu với tốc độ cao (Từ 4 đến 16 Mbps) mà chỉ chịu một tỷ lệ lỗi nhỏ (khoảng 1/107-108 ). Ng−ợc lại mạng diện rộng do phải truyền ở những khoảng cách xa. Do vậy nó không thể truyền với tốc độ quá cao (T1 với 1.544 Mbps, E1 với 2.048 Mbps) vì khi đó tỷ lệ lỗi sẽ trở nên khó chấp nhận đ−ợc.
Chủ quản và đíều hành mạng: Do sự phức tạp trong việc xây dựng, quản lý duy trì các đ−ờng truyền đẫn nên khi xây dựng mạng diện rộng ng−ời ta th−ờng sử dụng các đ−ờng truyền đ−ợc thuê từ các công ty viễn thông hay các nhà cung cấp dịch vụ truyền số liệu. Tùy theo cấu trúc của mạng những đ−ờng truyền đó thuộc cơ quan quản lý khác nhau. Còn trong mạng cục bộ thì khi một cơ quan cài đặt mạng cục bộ thì toàn bộ mạng sẽ thuộc quyền quản lý của cơ quan đó.
Đ−ờng đi của thông tin trên mạng: Trong mạng LAN thông tin đ−ợc đi theo con đ−ờng xác định bởi cấu trúc mạng, Còn mạng WAN dữ liệu cấu trúc có thể phức tạp hơn nhiều do việc sử dụng các dịch vụ truyền dữ liệu.
Dạng chuyển giao thông tin: Phần lớn các mạng diện rộng hiện nay đ−ợc phát triển cho việc truyền đồng thời trên đ−ờng truyền nhiều dạng trông tin
khác nhau : Video, tiếng nói, dữ liệu…Trong khi các mạng cục bộ chủ yếu phát triển trong việc truyền dữ liệu thông th−ờng.
Các hệ thống mạng hiện nay ngày càng phức tạp về chất l−ợng, đa dạng về chủng loại và phát triển rất nhanh về chất. Trong sự phát triển đó số l−ợng những nhà sản xuất từ phần mềm, phần cứng máy tính, các sản phẩm viễn thông cũng tăng nhanh với nhiều sản phẩm đa dạng. Chính vì vậy vai trò chuẩn hoá cũng mang ý nghĩa quan trọng. Tại các n−ớc cơ quan chuẩn quốc gia đã đ−a ra những chuẩn về phần cứng và các quy định về giao tiếp nhằm giúp cho các nhà sẩn xuất có thể làm ra các sản phẩm có thể kết nối với các sản phẩm do các hãng khác sản xuất.
Ch−ơng 2 :
Giao thức TCP/IP trong mạng INTERNET và hệ thống tên miền - DNS
2.1. Giao thức TCP/IP.
Giao thức mạng là khái niệm nói đến các cách thức, quy tắc, quy −ớc trao đổi trong quá trình trao đổi thông tin giữa các phần tử mạng. Giao thức truyền thông mạng quy định các mặt nh− : Khuôn dạng dữ liệu, các thủ tục gửi nhận dữ liệu, kiểm soát hiệu quả chất l−ợng truyền tin và sử lý lỗi, sự cố,…Giao thức mạng sẽ càng phức tạp nếu yêu cầu về chất l−ợng truyền tin cao. Bởi vì khi đó các thủ tục truyền tin cần số l−ợng nhiều, đồng thời độ phức tạp cũng lớn hơn. Mỗi một mạng có thể sử dụng một giao thức riêng biệt, tùy vào sự lựa chọn của ng−ời thiết kế. Giao thức đ−ợc biết đến nhiều nhất phải nói đến là họ giao thức TCP/IP sử dụng cho Internet.
TCP/IP ( Transmission Control Protocol/Internet Protocol ) là một dãy giao thức chuẩn, cung cấp truyền thông trong môi tr−ờng đa chủng loại. Nó đ−ợc lấy làm chuẩn truyền thông cho các mạng, từ mạng cục bộ ( LAN ) cho tới mạng Internet.
TCP/IP trở thành giao thức tiêu chuẩn dùng cho khả năng liên kết hoạt động trong nhiều loại máy tính khác nhau. Khả năng liên kết hoạt động là một trong những
−u thế chính của TCP/IP.
Kiến trúc của bộ giao thức TCP/IP đ−ợc chia 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 ).
Hình vẽ sau miêu tả kiến trúc sơ bộ các lớp và các giao thức t−ơng ứng giữa OSI và TCP/IP.
SNMP RIP ICMP FDDI Application Presentation Session Transport Network Data Link Physical Application Transport Internet Network access FTP SMTP DNS
Tranmission User Datagram
Internet Protocol ARP Ethernet Token TELNET Mô hình TCP/IP Token
Hình 2.1 : Mô hình so sánh kiến trúc của TCP / IP với OSI
FTP : File Tranfer Protocol
SNMP : Simple Network Management Protocol. DNS : Domain Name Systems.
SMTP : Simple Mail Transfer Protocol. ICMP : Internet Control Message Protocol. ARP : Address Resolution Protocol.
RIP : Routing Information Protocol.
Vậy thực chất TCP/IP là một họ giao thức cùng làm việc với nhau để cung cấp ph−ơng tiện truyền thông liên mạng. Nó cung cấp tính năng giao tiếp giữa card mạng và ch−ơng trình điều khiển, cung cấp tập hợp các chuẩn cho các cách mà máy tính kết nối và cách mà mạng đ−ợc kết nối. TCP/IP cũng có thể sử dụng để xây dụng mạng riêng, không truy nhập tới mạng Internet. Là một giao thức độc lập với ch−ơng trình điều khiển.
2.1.1. Giao thức IP.
Giao thức lớp liên mạng IP ( Internet Protocol ) là một giao thức kiểu “không liên kết” ( Connectionless ) có nghĩa là không có giai đoạn thiết lập liên kết tr−ớc khi truyền dữ liệu. .Mục đích của IP là cung cấp khả năng kết nối các mạng con thành liên
mạng để truyền dữ liệu. Vai trò của IP t−ơng tự nh− vai trò của tầng mạng trong mô hình OSI. Giao thức IP cung cấp các chức năng sau :
+ Đơn vị cơ sở cho việc truyền dữ liệu ( Basic unit for datagram ). + Đánh số địa chỉ.
+ Chọn đ−ờng.
+ Phân đoạn các datagram.
Đơn vị dữ liệu dùng trong IP là Datagram đ−ợc chia thành 2 phần : Header và Data ( hình vẽ ). Kích th−ớc của Datagram có thể thay đổi tuỳ thuộc vào dữ liệu chứa trong nó và một số tr−ờng khác.
VER HLEN Type of Service Total Lenght
Identification Flags Fragment Offset Time to live Protocol Header Checksum
Source Address Destination Address Options + Padding Data ( Max : 65.535 bytes) Header Bit 0 3 4 7 8 15 16 31 Data
Hình 2.2 : Khuôn dạng của IP Datagram
Trong đó:
• VER ( 4 bits ) : Chỉ phiên bản hiện hành của IP trên mạng.
• HLEN ( 4 bits ) : Chiều dài phần đầu của datagram. Không phải tất cả các tr−ờng trong phần đầu đều đ−ợc sử dụng. Nó đ−ợc tính theo đơn vị từ (32 bit), độ dài tối thiểu là 5 từ (20 byte).
• Type of service ( 8 bits ) : Dùng để đặc tả các tham số và các dịch vụ, nó có dạng nh− sau:
Bit 0 1 2 3 4 5 6 7
Precedence D T R Reserved Trong đó :
Precedence (3 bits) : Chỉ thị về quyền −u tiên gửi Datagram, cụ thể là : 1 1 1 – Network Control ( cao nhất ). 0 1 1 – Flash
1 1 0 – Internetwork Control. 0 1 0 – Immediate 1 0 1 – CRITIC/ECP. 0 0 1 – Priority 1 0 0 – Flas Override. 0 0 0 – Routine D ( Delay ) (1 bit): Chỉ độ trễ yêu cầu
D = 0 : Độ trễ bình th−ờng. D = 1 : Độ 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. T = 1 : Thông l−ợng cao.
R ( Reliability ) : Chỉ độ tin cậy yêu cầu R = 0 : Độ tin cậy bình th−ờng. R = 1 : Độ tin cậy cao.
• Total Length ( 16 bits ) : Chỉ độ dài toàn bộ Datagram, kẻ cả phần header
• Identification ( 16 bits ) : Tham số này dùng để định danh duy nhất cho một datagram trong khoảng thời gian nó vẫn ở trên liên mạng.
• Flags ( 3bits ) : Tr−ờng này liên quan tới sự phân đoạn của datagram, cụ thể là :
Bit 0 : Reserved – ch−a sử dụng, luôn lấy giá trị 0 Bit 1 ( DF ) = 0 ( May Fragment)
= 1 ( Don’t Fragment ) Bit 2 ( MF ) = 0 ( Last Fragment)
Bit 0 1 2
MF DF
O
= 1 ( More Fragment )
• Fragment offset ( 13 bits ) : Chỉ vị trí độ lệch từ đầu gói tới điểm mà tại đó dữ liệu sẽ đ−ợc đặt vào trong đoạn dữ liệu để xây dựng lại gói.
• Time to Live ( 8 bits ) : Quy định thời gian tồn tại của datagram trong liên mạng tránh tình trạng một datagram bị quẩ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 khi datagram đi qua mỗt Router của liên mạng.
• Protocol ( 8 bits ) : Chỉ ra giao thức tầng trên kế tiếp sẽ nhận vùng dữ liệu ở trạm đích ( th−ờng là TCP hoặc UDP đ−ợc cài đặt trên IP ).
• Header Checksum ( 16 bits ) : Mã kiểm soát lỗi 16 bits theo ph−ơng pháp CRC, chỉ cho vùng header.
• Source Address ( 32 bits ) : Địa chỉ của trạm nguồn.
• Destination Address ( 32 bits ) : Địa chỉ của trạm đích.
• Options ( độ dài thay đổi ) : Dùng để khai báo các options do ng−ời gửi yêu cầu.
• 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 bits, và tối đa là 65535 bytes.
Sơ đồ địa chỉ hoá định danh các trạm ( Host ) trong liên mạng bằng địa chỉ IP. Mỗi địa chỉ IP có độ dài 32 bits, đ−ợc tách thành 4 vùng ( mỗi vùng 1 byte ), có thể biểu diễn d−ới dạng thập phân, bát phân, thập lục phân hoặc nhị phân. Cách viết phổ biến nhất là dùng ký pháp thập phân có dấu chấm ( Dotted Decimal Notation ) để tách các vùng. Mục đích của địa chỉ IP là để định danh duy nhất cho một Host bất kỳ trên liên mạng.
Địa chỉ IP
Các địa chỉ IP trên liên mạng Internet đ−ợc quản lý bởi NIC ( Network Information Centre ). Có 2 cách đánh địa chỉ phụ thuộc vào cách liên kết của từng máy tính cụ thể :
• Nếu máy tính đ−ợc kết nối trực tiếp với mạng Internet thì NIC sẽ cấp cho máy tính đó một địa chỉ IP.
• Nếu các máy tính không kết nối trực tiếp với mạng Internet mà thông qua một mạng cục bộ thì ng−ời quản trị mạng sẽ cấp cho các máy tính đó một địa chỉ IP ( tuy nhiên phải d−ới sự cho phép của NIC ).
Hệ thống địa chỉ đ−ợc chia thành 5 lớp, kí hiệu 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ó.
0
Bit 7 8 15 16 23 24 31
Lớp A nhận đ−ợc với bít đầu tiên là 0. Nó sử dụng byte đầu tiên cho số hiệu mạng, còn 3 byte sau cho địa chỉ Host. Nó cho phép định danh tới 126 mạng, với tối đa 16 triệu Host trên mỗi mạng. Lớp này đ−ợc dùng cho các mạng số trạm cực lớn. Địa chỉ lớp A có dạng : < Số hiệu mạng . Host . Host >
1 1 1 1 0
Hình 2.3 : Cấu trúc của các lớp địa chỉ
Reserved for future use
1 1 1 0 Multicast address 1 1 0 Netid Hostid 1 0 Netid Hostid 0 Netid Hostid Lớp A Lớp B Lớp C Lớp D Lớp E
Lớp B đ−ợc nhận bởi hai bit đàu tiên là 1 0. Nó sử dụng 2 byte đầu cho số hiệu mạng, 2 byte sau cho địa chỉ Host. Nó cho phép định danh tới 16384 mạng, với tối đa 65535 Hots trên mỗi mạng. Địa chỉ lớp B có dạng : < Số hiệu mạng . số hiệu mạng . Host . Host >.
Lớp C đ−ợc nhận bởi 3 bít đầu tiên là 1 1 0. Nó sử dụng 3 byte đầu cho số hiệu mạng, 1 byte sau cho địa chỉ Host. Do đó lớp này 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. Lớp này đ−ợc dùng cho các mạng có số trạm ít. Dạng địa chỉ : < Số hiệu mạng . Số hiệu mạng . Số hiệu mạng . Host >.
Lớp D đ−ợc nhận ra với 4 bít đầu tiên là 1 1 1 0. Nó dùng để gửi đơn vị dữ liệu IP tới một nhóm các Host trên một mạng.
Lớp E đ−ợc nhận ra với 5 bit đầu tiên là 1 1 1 1 0. Nó là lớp địa chỉ dự phòng cho t−ơng lai.
Các hạn chế của địa chỉ IP
- Địa chỉ IP không thể đặt 4 bít đầu tiên 1 1 1 1 vì dành cho lớp E.
- Địa chỉ lớp A là 127 ( 0 1 1 1 1 1 1 1 ) cho hàm đặc biệt loop – back. Do đó các tình trình truyền thông qua TCP mà ở lại trên cùng Host, sẽ không gửi các gói tin ra ngoài mạng. Các Router nhận Datagram theo cách này sẽ bị loại bỏ .
- Các địa chỉ không bao giờ đựơc v−ợt ra ngoài phạm vi 255.
Subnet mask
Trong nhiều tr−ờng hợp, một mạng có thể đ−ợc chia thành nhiều mạng con (Subnet), lúc đó có thể đ−a thêm các vùng Subnet để định danh các mạng con. Vùng Subnetid đ−ợc lấy từ vùng Hostid, cụ thể đối với 3 lớp A, B, C đ−ợc thể hiện ở cấu hình d−ới : Bit 0 7 8 15 16 23 24 26 27 31 Hostid Subnetid Netid (Lớp B) (Lớp A) Hostid Subnetid Netid
Netid Subnetid Hostid (Lớp C)
Hình 2 .4 : Bổ sung vùng Subnet
Vậy làm thế nào để một Router hoặc Workstation biết một mạng con đ−ợc sử dụng. Nó sẽ sử dụng mặt nạ mạng con (viết d−ới dạng hệ 10). Ví dụ : 248 (hệ nhị phân 11111000). Do đó địa chỉ IP 130. 40 số mạng con 128 và Host 1027. Một phép toán AND từng bít đ−ợc thực hiện trên địa chỉ IP với mặt nạ mạng con.
Ví dụ :
Hình 2 . 5 : Phân thành mạng con địa chỉ lớp B với mặt nạ mạng
10000001 00000001 00001001 00000001 Address 129.1.9.1 11111111 11111111 11111000 00000000 Mask 255.255.248.0 10000001 00000001 00001000 00000000 Network 129.1
Subnet 8
True Network 129.1.8.0
Các địa chỉ IP đ−ợc dùng để định danh các Host và mạng của mô hình OSI, chúng không phải là các địa chỉ vật lý ( hay địa chỉ MAC ) của các trạm đó trên một mạng cục bộ. Do đó 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 thực hiện ánh xạ giữ địa chỉ IP (32 bits ) và địa chỉ vật lý ( 48 bits ) của một trạm. Giao thức ARP ( Address Resolution Protocol ) đ−ợc xây dựng để chuyển đổi từ địa chỉ IP sang địa chỉ vật lý cần thiết. Và giao thức RARP ( Reverse Address Resolution Protocol ) đ−ợc dùng để chuyển đổi từ địa chỉ vật lý sang địa chỉ IP. Một giao thức khác cũng liên quan trực tiếp đến IP, đó là 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ề tình trạng mạng, các lỗi trên mạng, … ) giữa các Gateway hoặc trạm của liên mạng. Một thông báo ICMP đ−ợc tạo và chuyển cho IP. Sau đó IP sẽ “ bọc ” thông báo đó với một IP header và truyền đến cho Router hoặc trạm đích.
ICMP data Checksum
ICMP Code Message type
8 bits 8 bits 16 bits
20 bytes IP Header
Hình 2. 5 : Cấu trúc ICMP
Loại thông báo ICMP có 13 dạng khác nhau đ−ợc thể hiện ở tr−ờng Message Type, trong đó nó nhận giá trị 0 đối với bản Echo Reply và nhận giá trị 8 đối vớ bản thân Echo Request.
2.1.2. Giao thức TCP.
TCP ( Transmission Control Protocol ) là một giao thức kiểu “ có liên kết ” (connection - oriented), nghĩa là cần phải thiết lập liên kết ( lôgic) giữa một cặp thực thể TCP tr−ớc khi chúng trao đổi dữ liệu với nhau. TCP cũng là giao thức tầng giao vận, giao thức kế tiếp có định h−ớng byte.
Đơn vị dữ liệu sử dụng trong TCP đ−ợc gọi là Segment ( đoạn dữ liệu ), có khuôn dạng nh− sau:
Bit 0 15 16 31
Source Port Destiation Port Sequence Number Acknowledgment Number Data offset U R G A C K P S H R S T S Y N F I N
Checksum Urgent Pointer
Options Padding TCP data
*** TCP data
Reserved Window
Hình 2. 6 : Khuôn dạng của TCP segment.
ý nghĩa của các tham số trong khuôn dạng :
• Source Port ( 16 bits ) : Số hiệu cổng trạm nguồn.
• Destiation Port ( 16 bits ): Số hiệu cổng trạm đích.
• Sequence Number ( 32 bits): Là số hiệu byte đầu tiên của Segment trừ khi bít SYN đ−ợc thiết lập. Nếu bít này đ−ợ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.