Tìm hiểu về cơ cấu làm việc của cơ sở hạ tầng Internet

Jeff Tyson

Một trong những thứ tuyệt vời nhất về Internet là không ai thực sự sở hữu được nó. Nó là một tập hợp (collection) các mạng mang tính toàn cầu, cả lớn và nhỏ. 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.

Thứ Ba, 07/09/2021 17:49
3,26 👨 9.761
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản