Các mạng này kết nối với nhau theo nhiều cách khác nhau để tạo thành một thực
thể đơn nhất, cái mà chúng ta vẫn được biết đến với tên gọi Internet. Trong thực
tế, tên này được xuất phát từ ý tưởng của các mạng kết nối chéo (interconnected
networks), được lấy từ hai chữ này mà ra.
Từ những ngày đầu tiên được thành lập vào năm 1969, Internet
đã phát triển lớn mạnh từ 4 hệ thống máy tính chủ đến hàng chục triệu chiếc như
vậy. Mặc dù không ai sở hữu riêng Internet nhưng nó không có nghĩa nó không cần
kiểm tra và duy trì dưới nhiều hình thức khác nhau. Internet Society, một nhóm
phi lợi nhuận được thành lập vào năm 1992, đã giám sát việc hình thành các chính
sách và giao thức để định nghĩa cách chúng ta sẽ sử dụng và tương tác với
Internet như thế nào.
Trong bài này, chúng tôi sẽ giới thiệu cho các bạn những vấn đề cơ bản về cấu
trúc của Internet. Bạn sẽ biết thêm được những vấn đề cơ bản về Hệ thống máy chủ
tên miền (DNS), các điểm truy cập mạng (NAP) và các mạng xương sống. Tuy nhiên
đầu tiên chúng tôi sẽ giới thiệu về cách kết nối máy tính của bạn với các máy
tính khác như thế nào.
Internet: Kiến trúc mạng
Mỗi máy tính được kết nối với Internet đều được coi là một phần của mạng, thậm
chí cả máy tính ở nhà của bạn. Ví dụ, bạn có thể sử dụng một modem và quay số để
kết nối đến một
Internet Service Provider (ISP). Ở nơi làm việc, bạn có thể là
một phần nằm trong mạng nội bộ
Local Area Network (LAN) của công ty, nhưng bạn
vẫn có thể kết nối với Internet bằng cách sử dụng một ISP mà công ty của bạn đã
ký kết hợp đồng cung cấp dịch vụ này. Khi kết nối với ISP của mình thì bạn sẽ
trở thành một phần trong mạng của họ. ISP sau đó có thể kết nối với một mạng lớn
hơn và lại trở thành một phần của mạng đó. Internet đơn giản là mạng của các
mạng (network of networks).
Hầu hết các công ty truyền thông lớn đều có các mạng xương sống chuyên dụng của
chính họ để kết nối giữa các vùng địa lý khác nhau. Trong mỗi vùng này, các công
ty có điểm hiện diện -
Point of Presence (POP). POP là một địa điểm mà những
người dùng nội bộ có thể truy cập vào mạng công ty thông qua một số điện thoại
nội bộ hoặc đường truyền riêng. Thứ làm kinh ngạc ở đây là không có vấn đề kiểm
soát mạng mà thay vì đó là một số mạng mức cao kết nối với nhau thông qua các
Network Access Point (NAP).
Khi máy tính của bạn kết nối Internet, nó đã trở thành một phần của mạng
Ví dụ về mạng Internet
Đây là một ví dụ. Hãy hình dung rằng công ty A là một ISP lớn. Trong mỗi một
thành phố lớn, công ty A này đều có một POP. POP trong mỗi thành phố đều có các
hệ thống đường truyền có kết nối modem để khách hành của ISP này có thể quay số
tới. Công ty này lắp đặt các đường truyền bằng cáp quang từ một công ty điện
thoại để kết nối các POP này với nhau.
Tiếp theo, công ty B cũng là một ISP. Công ty B xây dựng tòa nhà lớn trong các
thành phố lớn và các tập đoàn nằm trên những máy chủ Internet của họ trong các
tòa nhà này. Công ty B lớn đến nỗi nó có thể chạy chính các đường cáp quang của
họ giữa các tòa nhà để chúng được kết nối với nhau.
Trong kịch bản này, tất cả các khách hành của công ty A có thể trao đổi với nhau
và tất cả các khách hàng của công ty B cũng có thể trao đổi với nhau, nhưng vẫn
chưa có cách nào để trao đổi giữa các khách hàng của hai công ty này với nhau.
Chính vì vậy, Công ty A và Công ty B cùng có một thỏa thuận kết nối qua NAP
trong các thành phố khác, khi đó lưu lượng giữa 2 công ty này được lưu thông
giữa các mạng tại NAP.
Trong thực tế, có đến hàng tá các nhà cung cấp dịch vụ Internet lớn có kết nối
với nhau tại các NAP trong nhiều thành phố khác nhau, và có đến hàng tỉ tỉ byte
dữ liệu được truyền đi truyền lại giữa các mạng với nhau qua các NAP này.
Internet chính là một collection các mạng công ty khổng lồ đã thỏa thuận kết nối
với nhau tại các NAP. Theo cách này, mỗi một máy tính nằm trong Internet đều có
khả năng kết nối được với nhau.
Chức năng của Router
Tất cả những mạng này đều dựa vào các NAP, mạng xương sống và các router để
truyền thông với nhau. Ở đây có một vấn đề khó tin về quá trình một thông báo có
thể rời một máy tính này và di chuyển hầu như khắp thế giới thông qua các mạng
khác nhau, đến được một máy tính khác trong một lượng thời gian rất ngắn (tính
theo phân số của giây).
Các Router chỉ ra nơi để gửi thông tin từ một máy tính này đến máy tính khác,
chúng chính là các máy tính đặc biệt dùng để gửi thông báo của bạn đến được các
đích theo hàng nghìn đường khác nhau. Một router có hai vấn đề tách biệt nhưng
có liên quan với nhau:
-
Bảo đảm thông tin không đi vào những nơi không cần thiết và cần phải có
một số lượng phân vùng lớn dữ liệu để tránh cản trở các kết nối của
những địa chỉ không liên quan (những địa chỉ không phải là đích đến).
-
Bảo đảm cho các thông tin đến được đúng đích như dự định
Trong quá trình thực thi hai công việc này, các router còn có tác dụng trong
việc giao tiếp giữa hai mạng máy tính tách biệt nhau. Nó sẽ nối hai mạng này với
nhau, gửi các thông tin từ mạng này sang mạng kia và ngược lại. Bảo vệ các mạng,
ngăn chặn lưu lượng trên một mạng không cần thiết tràn vào một mạng khác. Không
quan tâm về số lượng các mạng được gắn kèm, hoạt động và chức năng cơ bản của
các router hoàn toàn giống nhau. Internet là một mạng lớn được thiết lập từ hàng
chục nghìn mạng nhỏ hơn nên sự sử dụng các router là tuyệt đối cần thiết.
Mạng xương sống
National Science Foundation (NSF) đã xây dựng một mạng xương sống tốc độ cao vào
năm 1987. Mạng xương sống này có tên gọi
NSFNET, nó là một đường trục T1 để kết
nối 170 mạng nhỏ hơn với nhau và hoạt động với tốc độ 1,544 Mbps. IBM, MCI và
Merit đã làm việc với NSF để tạo mạng xương sống và đã phát triển lên các hệ
thống đường trục T3 (45Mbps) những năm sau đó.
Mạng xương sống điển hình là các đường trục cáp quang. Các đường trục này có
nhiều cáp quang được kết hợp với nhau để tăng dung lượng. Cáp quang được thiết
kế dưới các kiểu khác nhau dựa vào sóng mang quang học, chẳng hạn như OC-3,
OC-12 hoặc OC-48. Đường OC-3 có khả năng truyền tải đến 155Mbps còn OC-48 có thể
truyền tải 2.488 Mbps (2,488 Gbps). So với modem 56K truyền thống thì bạn có thể
thấy được tốc độ của mạng xương sống nhanh hơn cỡ nào.
Ngày nay có nhiều công ty hoạt động trên các mạng xương sống dung lượng cao của
chính họ, tất cả các mạng này đều kết nối với các NAP trên toàn thế giới. Theo
cách này, mọi người trên Internet dù bất cứ nơi đâu, họ và những gì công ty họ
sử dụng đều có khả năng truyền thông với nhau. Toàn bộ Internet là một sự thỏa
thuận khổng lồ giữa các công ty để truyền thông dễ dàng.
Giao thức Internet: Địa chỉ IP
Mỗi máy tính trên mạng đều có một số nhận diện duy nhất được gọi là
địa chỉ IP.
IP là tên được viết tắt của Internet Protocol, đây là một ngôn ngữ mà các máy
tính sử dụng nhằm mục đích truyền thông với nhau trên Internet. Một giao thức
chính là cách đã được định nghĩa từ trước mà ai đó muốn sử dụng một dịch vụ để
truyền thông với dịch vụ đó. “Ai đó” ở đây có thể là một người, nhưng thường nó
là một chương trình máy tính như trình duyệt web chẳng hạn.
Một địa chỉ IP điển hình có dạng:
216.27.61.137
Để làm cho nó dễ dàng hơn trong việc ghi nhớ, các địa chỉ IP được trình bày
theo định dạng hệ thập phân giống như trên. Tuy nhiên các máy tính lại truyền
thông theo dạng nhị phân. Hệ thập phân của địa chỉ IP trên sẽ được trình bày
trong dạng nhị phân khi các máy tính làm việc:
11011000.00011011.00111101.10001001
Bốn số trong một địa chỉ IP được gọi là các bộ tám (
octet), vì chúng được thể
hiện bằng 8 số nhị phân. Nếu sử dụng tất cả các vị trí này cùng nhau thì bạn sẽ
có 32 bit, đó là lý do tại sao các địa chỉ IP được gọi là các số 32 bit. Do một
trong 8 vị trí này đều có hai trạng thái khác nhau (1 và 0), nên nó có thể thể
hiện được 28 hay 256 sự kết hợp. Chính vì vậy mỗi octet có thể gồm các giá trị
từ 0 đến 255. Sự kết hợp của 232 này bạn sẽ có được 4.294. 967.296 giá trị.
Trong số gần 4,3 tỉ sự kết hợp này có một vài giá trị nào đó bị hạn chế trong sử
dụng, nó sẽ không như một địa chỉ IP điển hình. Ví dụ như, địa chỉ 0.0.0.0 được
dành riêng cho mạng mặc định và địa chỉ 255.255.255.255 được sử dụng cho quảng
bá.
Các octet thực hiện một mục đích khác với việc phân chia một cách đơn giản các
số. Chúng được sử dụng để tạo
các lớp địa chỉ IP có thể được gán cho một doanh
nghiệp, chính phủ hoặc một thực thể nào đó dựa trên kích thước và nhu cầu. Các
octet được chia thành hai phần: Phần
Net và phần
Host. Phần Net luôn chứa octet
đầu. Nó được sử dụng để phân biệt mạng mà máy tính nằm trong đó. Host (đôi khi
được nói đến như một Nút -
Node) để phân biệt các máy tính trong mạng với nhau.
Phần Host luôn chứa các octet còn lại. Có 5 lớp IP cộng với các địa chỉ đặc biệt
nào đó. Để tìm hiểu thêm về địa chỉ IP chúng tôi sẽ dành riêng một bài nào đó để
chỉ cho các bạn rõ về địa chỉ IP là gì.
Giao thức Internet: Hệ thống tên miền (DNS)
Khi Internet ngay từ thủa sơ khai, nó đã xem xét đến một số lượng các máy tính
nhỏ được kết nối với nhau bằng các modem và đường điện thoại. Bạn chỉ có thể tạo
các kết nối bằng cách cung cấp địa chỉ IP của máy tính mà bạn muốn thiết lập một
liên kết với nó. Ví dụ, một địa chỉ IP điển hình có thể là 216.27.22.162. Mọi
thứ đều sẽ hoạt động tốt nếu chỉ có một vài host, tuy nhiên nó sẽ trở nên cồng
kềnh và khó nhớ khi ngày càng nhiều hệ thống online.
Giải pháp đầu tiên để giải quyết vấn đề này là một file văn bản đơn giản được
dùy trì bởi Network Information Center dùng để ánh xạ hóa các tên thành địa chỉ
IP. Càng ngày văn bản này trở lên quá lớn trong việc quản lý. Năm 1983, Đại học
Wisconsin đã tạo được
Domain Name System (DNS), để ánh xạ hóa các tên văn bản
thành địa chỉ IP một cách tự động. Theo cách này, bạn chỉ cần nhớ đến tên miền
www.quantrimang.com thay vì phải nhớ địa chỉ IP của nó.
URL: Uniform Resource Locator
Khi bạn sử dụng Web hoặc gửi một email, bạn thường sử dụng tên miền để thực hiện
điều đó. Ví dụ,
Uniform Resource Locator (URL) "
http://www.quantrimang.com" có
chứa tên miền quantrimang.com. Mỗi lần sử dụng một tên miền, bạn sẽ dụng các máy
chủ DNS của Internet để thông dịch tên miền mà con người có khả năng đọc thành
các địa chỉ IP mã máy.
Các tên miền cấp 1, được gọi là tên miền mức đầu tiên bao gồm .COM, .ORG, .NET,
.EDU và .GOV. Bên trong mỗi tên miền cấp 1 này lại có một danh sách lớn các miền
cấp thứ hai. Ví dụ như trong miền mức đầu tiên .COM ở đây là:
QuanTriMang.com
Mỗi một miền trong miền hàng đầu top-level .COM phải là duy nhất. Từ gần bên
trái nhất và sau www, chính là tên host. Nó chỉ định tên của một máy nào đó (với
địa chỉ IP cụ thể) trong một miền. Một miền nào đó được cho có thể gồm đến hàng
triệu tên host miễn là chúng đều duy nhất bên trong miền đó.
Các máy chủ DNS chấp nhập yêu cầu từ các chương trình và máy chủ tên khác để
chuyển đổi các tên miền thành địa chỉ IP. Khi một yêu cầu nào đó được đưa ra,
máy chủ DNS có thể thực hiện một trong bốn thứ dưới đây:
1. Có thể trả lời yêu cầu cho một địa chỉ IP vì nó đã biết địa chỉ IP cho miền
được yêu cầu.
2. Có thể liên lạc với máy chủ DNS khác và tìm ra địa chỉ IP cho tên đã được yêu
cầu. Có thể phải thực hiện việc tìm kiếm này nhiều lần.
3. Nó có thể báo rằng: “Không biết địa chỉ IP cho miền mà bạn yêu cầu nhưng đây
là địa chỉ IP cho một máy chủ DNS mà nó biết.”
4. Có thể trả về một thông báo lỗi vì tên miền yêu cầu không hợp lệ hay không
tồn tại.
Một ví dụ về DNS
Hãy giả dụ rằng bạn đánh URL
www.quantrimang.com
vào trình duyệt của mình. Trình
duyệt sẽ liên lạc với DNS server để lấy về địa chỉ IP. DNS server sẽ bắt đầu
công việc tìm kiếm địa chỉ IP của nó bằng cách liên lạc với một trong các máy
chủ DNS gốc (root DNS server). Các máy chủ gốc biết địa chỉ IP của tất cả các
máy chủ DNS mà nó quản lý miền cấp 1 (COM, .NET, .ORG, …). DNS server của bạn sẽ
hỏi máy chủ gốc về www.quantrimang.com, máy chủ gốc sẽ nói nó không biết địa chỉ
IP cho
www.quantrimang.com nhưng đây là địa chỉ IP cho máy cho DNS .COM.
Sau đó máy chủ tên miền của bạn sẽ gửi một truy vấn đến máy chủ DNS .COM yêu cầu
xem nó có biết địa chỉ IP cho www.quantrimang.com hay không. Máy chủ DNS cho
miền .COM biết các địa chỉ IP cho máy chủ tên miền đang quản lý miền
www.quantrimang.com, vì vậy nó gửi trả về các vấn đề được yêu cầu.
Máy chủ tên miền của bạn sẽ liên hệ với máy chủ DNS về
www.quantrimang.com và
hỏi xem nó có biết địa chỉ IP cho
www.quantrimang.com
hay không. Và ở đây máy
chủ DNS về
www.quantrimang.com sẽ đáp trả địa chỉ IP cho máy chủ DNS của bạn,
sau đó máy chủ DNS sẽ trả nó về trình duyệt, và có thể liên lạc với máy chủ về
www.quantrimang.com để lấy được nội dung của trang.
Một trong những khía cạnh làm cho những thao tác trên làm việc là có rất nhiều
máy chủ DNS. Rất nhiều máy chủ DNS ở các mức, chính vì vậy nếu một máy chủ DNS
nào đó bị lỗi thì vẫn có nhiều máy chủ khác quản lý các yêu cầu. Khía cạnh khác
là việc lưu trữ. Khi một máy chủ DNS nào đó giải quyết một yêu cầu thì sẽ lưu
địa chỉ IP mà nó nhận. Khi đã tạo một yêu cầu cho máy chủ DNS gốc về miền .COM
thì nó sẽ biết địa chỉ IP cho máy chủ DNS đang quản lý miền .COM, vì vậy sẽ
không bị rối với các máy chủ DNS gốc về các thông tin đó. Các máy chủ DNS có thể
thực hiện nhiệm vụ này với mọi yêu cầu và việc lưu trữ này cũng giúp ích khi gặp
một số vấn đề xảy ra.
Máy chủ (Server) và máy khách (Client) Internet
Tất cả các máy tính trên Internet đều là máy chủ hoặc máy khách. Tuy nhiên có sự
phân biệt giữa chúng. Các máy tính có khả năng cung cấp dịch vụ cho các máy tính
khác được gọi là máy chủ. Còn máy tính mà được sử dụng để kết nối đến các dịch
vụ đó là máy khách. Có nhiều máy chủ Web, email server, FTP server và chính vì
vậy nó mới có thể phục vụ được nhiều nhu cầu của tất cả người dùng trên toàn thế
giới.
Khi bạn kết nối đến
www.quantrimang.com để đọc các trang thông tin, bạn sẽ là
một người dùng đang dùng máy khách của mình đề truy cập vào máy chủ chứa nội
dung trang này. Máy chủ tìm trang mà bạn yêu cầu và gửi nó đến cho bạn. Các máy
khách truy cập vào máy chủ thực hiện như vậy với một ý định cụ thể, vì vậy các
máy khách hướng yêu cầu của chúng đến một máy chủ phần mềm cụ thể đang chạy trên
máy chủ. Ví dụ, nếu bạn đang chạy một trình duyệt web trên máy của mình, nó sẽ
thông báo cho máy chủ Web trên máy chủ chứ không phải máy chủ email.
Một máy chủ có một địa chỉ IP tĩnh không thay đổi thường xuyên còn máy tính ở
nhà của bạn khi thực hiện quay số hay ADSL qua một modem có địa chỉ IP thay đổi
được gán bởi ISP mỗi lần kết nối. Địa chỉ IP đó là duy nhất với phiên làm việc
hiện tại của bạn và có thể khác nhau trong những lần kết nối tiếp theo. Theo
cách này, một ISP chỉ cần một địa chỉ IP cho mỗi một modem mà nó hỗ trợ chứ
không phải mỗi một IP cho một khách hàng.
Các cổng và HTTP
Bất kỳ máy chủ nào cung cấp các dịch vụ có sẵn đều sử dụng các cổng có đánh số -
một trong những dịch vụ có sẵn trên máy chủ. Ví dụ, nếu một máy chủ đang chạy
Web server và một máy chủ giao thức truyền tải file FTP, máy chủ Web sẽ có sẵn
trên cổng 80, và máy chủ FTP sẽ có sẵn trên cổng 21. Các máy khách kết nối tới
dịch vụ ở một địa chỉ IP nào đó và trên một số cổng cụ thể.
Khi một client kết nối với dịch vụ trên một cổng nào đó thì nó có thể truy cập
vào dịch vụ bằng cách sử dụng một giao thức nào đó. Các giao thức thường là các
văn bản và đơn giản mô tả cách client và máy chủ sẽ truyền thông với nhau như
thế nào. Mọi Web server trên Internet đều thích nghi với giao thức
hypertext
transfer protocol (HTTP).
Các mạng, router, NAP, ISP, DNS và các máy chủ khác, tất cả làm cho Internet
được hiện hữu. Hoàn toàn không ngạc nhiên khi bạn nhận ra rằng tất cả các thông
tin này đều được gửi khắp thế giới trong một phần mili giây. Chúng là các thành
phần rất quan trọng trong đời sống hiện đại, không có chúng sẽ không hề có
Internet. Và không có Internet, đời sống sẽ rất khó khăn cho chúng ta.