Các giao thức và mô hình TCP/IP
Đã giới thiệu| English | Ý nghĩa |
|---|---|
| protocol/ˈprəʊtəkɒl/ | giao thức |
| TCP/ˌtiː siː ˈpiː/ | giao thức điều khiển truyền |
| UDP/ˌjuː diː ˈpiː/ | giao thức datagram người dùng |
| modularity/ˌmɒdjʊˈlærɪti/ | tính mô-đun |
| link layer/lɪŋk ˈleɪə/ | lớp liên kết |
| abstraction/əbˈstrækʃn/ | Trừu tượng hóa |
| application layer/ˌæplɪˈkeɪʃn ˈleɪə/ | lớp ứng dụng |
| transport layer/ˈtrænspɔːt ˈleɪə/ | lớp vận chuyển |
| port numbers/pɔːt ˈnʌmbəz/ | số cổng |
| internet layer/ˈɪntənet ˈleɪə/ | lớp internet |
| packets/ˈpækɪts/ | bao gói dữ liệu |
| IP address/ˌaɪ ˈpiː əˈdres/ | địa chỉ IP |
| routers/ˈruːtəz/ | bộ định tuyến |
| MAC addresses/mæk əˈdresɪz/ | địa chỉ MAC |
| connection-oriented/kəˈnekʃn ˈɔːrɪəntɪd/ | hướng kết nối |
| connectionless/kəˈnekʃənləs/ | không hướng kết nối |
| layering/ˈleɪərɪŋ/ | phân lớp |
Thông điệp hai từ đã khởi đầu mạng internet
- Vào ngày 29 tháng 10 năm 1969, một sinh viên tại UCLA đã gõ từ LOGIN vào một máy tính tại Stanford, từng ký tự một, trong khi một người bạn đồng hành trên điện thoại xác nhận từng ký tự. Sau L và O, hệ thống đã bị sập.
- Vấn đề không bao giờ nằm ở dây cáp. Đó là vì hai máy tính do hai công ty khác nhau chế tạo không có quy tắc chung về ý nghĩa của một byte, thời điểm phát tín hiệu, hoặc những gì phải làm khi có dữ liệu bị mất.
- Tất cả mọi thứ kể từ đó đều là việc ghi chép lại các quy tắc đó. Một giao thức chính là sự thỏa thuận đó, và internet là một chồng các giao thức.
- Bài học này là lý do tại sao các giao thức tồn tại, tại sao chúng được chia lớp, bốn lớp TCP/IP, và sự khác biệt giữa TCP và UDP.
Giao thức định nghĩa điều gì
- Một giao thức là một tập hợp các quy tắc về cách các thiết bị giao tiếp. Cả hai đầu cuối đều phải tuân theo cùng các quy tắc, hoặc tín hiệu của bên này sẽ vô nghĩa với bên kia.
- Nó định nghĩa định dạng của dữ liệu, địa chỉ nằm ở đâu và phần payload bắt đầu ở đâu; thứ tự của các tin nhắn, ai nói trước và khi nào xác nhận; ý nghĩa của mỗi tin nhắn; thời gian, giới hạn thời gian và gửi lại; và phải làm gì khi xảy ra lỗi.
- Không có một giao thức nào, việc giao tiếp thất bại hoàn toàn, giống như hai người không chia sẻ ngôn ngữ sẽ thất bại.

Các quy tắc được thỏa thuận từ trước, bởi cả hai đầu cuối
Một giao thức mạng là:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Một giao thức xác định định dạng, thứ tự, ý nghĩa, thời gian xử lý và xử lý lỗi của tin nhắn — cả hai đầu phải thống nhất.
Giao thức xác định những gì? Chọn tất cả các đáp án đúng.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Định dạng, thứ tự, ý nghĩa, thời gian xử lý và xử lý lỗi. Tốc độ của dây cáp là một thuộc tính của phần cứng, không phải của thỏa thuận.
Tại sao các giao thức được phân lớp
- Mạng máy tính quá phức tạp để chỉ dùng một bộ quy tắc duy nhất, nên nó được chia thành các lớp, mỗi lớp có một nhiệm vụ tập trung riêng, và chỉ tương tác với lớp ngay trên và lớp ngay dưới. Việc triển khai tạo thành một ngăn xếp.
- Tính mô-đun: một lớp có thể được thay thế mà không cần can thiệp vào các lớp khác, vì vậy việc chuyển từ Ethernet sang Wi-Fi sẽ không ảnh hưởng đến bất kỳ thứ gì ở phía trên lớp liên kết.
- Chuẩn hóa: thiết bị từ các nhà sản xuất khác nhau có thể hoạt động chung với nhau vì giao diện của mỗi lớp đều đã được thống nhất. Trừu tượng: một lập trình viên viết ứng dụng web có thể bỏ qua hoàn toàn những gì các lớp bên dưới xử lý.

Bốn lớp, mỗi lớp có một nhiệm vụ
Một lợi ích của việc chia mạng thành các lớp là:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Mỗi lớp có một nhiệm vụ và một giao diện rõ ràng, vì vậy (ví dụ) Ethernet có thể được thay thế bằng Wi-Fi mà không cần chạm vào các lớp cao hơn.
Bốn lớp TCP/IP
| Lớp | Mục đích | Ví dụ |
|---|---|---|
| lớp ứng dụng | dịch vụ cho các chương trình người dùng, và các giao thức mà chúng sử dụng | HTTP, FTP, SMTP, IMAP |
| lớp vận chuyển | giao nhận đầu cuối giữa các tiến trình, được xác định bởi số cổng | TCP, UDP |
| lớp mạng | truyền gói tin giữa các máy chủ thông qua địa chỉ IP, được chuyển tiếp bởi bộ định tuyến | IP |
| lớp liên kết | gửi bit qua một đường dẫn vật lý, đóng gói với địa chỉ MAC | Ethernet, Wi-Fi |
- Lớp mạng không đảm bảo giao nhận. Đó là nhiệm vụ của lớp vận chuyển, và chỉ khi sử dụng TCP.
Nhấn vào bốn lớp của mô hình TCP/IP
Khám phá từng lớp. Dữ liệu di chuyển XUỐNG theo chồng khi đang gửi (mỗi lớp thêm tiêu đề của nó) và đi LÊN ngược lại khi nhận — và bất kỳ lớp nào cũng có thể thay thế mà không cần chạm vào các lớp khác.
Nối mỗi lớp TCP/IP với nhiệm vụ của nó.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Ứng dụng = giao thức người dùng; Transport = giao tiếp TCP/UDP; Internet = định tuyến IP; Link = bit trên môi trường truyền dẫn.
Lớp internet (IP) đảm bảo rằng mọi gói tin đều đến nơi.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
IP chuyển tiếp gói tin nhưng không đảm bảo giao tiếp. Tính tin cậy được thêm vào phía trên nó, bởi TCP, và UDP cố ý không có tính năng này.
Ví dụ minh họa: một tin nhắn đi xuyên qua internet
- Mô tả những gì xảy ra ở từng lớp khi trình duyệt yêu cầu tải một trang web từ máy chủ.
- Ứng dụng: trình duyệt xây dựng một yêu cầu HTTP cho trang đó.
- Vận chuyển: TCP tách dữ liệu thành các đoạn, thêm số cổng, và sẽ xác nhận cũng như gửi lại nếu có dữ liệu nào bị mất.
- Mạng: IP thêm địa chỉ nguồn và địa chỉ đích vào mỗi gói tin, và bộ định tuyến chuyển tiếp nó từng bước vượt qua các mạng.
- Liên kết: mỗi bước đặt gói tin vào khung với địa chỉ MAC và gửi các bit qua cáp hoặc sóng vô tuyến. Tại máy chủ, các lớp được mở ra theo thứ tự ngược lại.
Sắp xếp các lớp TCP/IP theo thứ tự, từ chương trình người dùng xuống đến đường dây.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
Mỗi lớp bọc lấy lớp ở phía trên; ở đầu kia chúng được tháo ra theo thứ tự ngược lại.
TCP và UDP
- TCP là có kết nối: nó thiết lập kết nối trước, đảm bảo toàn bộ dữ liệu đến đúng và đầy đủ thứ tự, gửi lại gói tin bị mất và kiểm soát luồng dữ liệu. Đáng tin cậy, nhưng tốn kém về tài nguyên và độ trễ. Được sử dụng bởi HTTP, HTTPS, SMTP và FTP.
- UDP là không kết nối: nó gửi rồi quên đi, không có xác nhận, không có thứ tự và không có gửi lại. Tốn ít tài nguyên, không có cam kết nào.
- UDP được dùng cho phát trực tiếp, DNS và trò chơi trực tuyến, nơi tốc độ quan trọng hơn độ tin cậy: một khung hình video được gửi lại sẽ đến muộn hơn thời điểm cần thiết, nên bỏ qua nó tốt hơn là phải chờ đợi.

Đảm bảo và chậm hơn, hoặc nhanh nhưng không đảm bảo
TCP khác với UDP như thế nào?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
TCP thiết lập kết nối và đảm bảo giao tiếp tin cậy, có thứ tự (với phí phụ); UDP là gửi rồi quên.
TCP có định hướng kết nối và đảm bảo giao tiếp có thứ tự, đầy đủ (với phí phụ), trong khi UDP là gửi rồi quên — nhanh hơn nhưng không có đảm bảo giao tiếp.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Đó là lý do tại sao UDP phù hợp với phát trực tiếp, chơi game và DNS, nhưng TCP được sử dụng cho tệp, email và trang web an toàn nơi mọi byte phải đến được.
Phát video trực tiếp sử dụng ____ vì tốc độ quan trọng hơn việc gửi lại các gói tin đã mất.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Một khung gửi lại sẽ đến sau thời điểm nó cần thiết, vì vậy việc bỏ qua nó tốt hơn là chờ đợi. Các đảm bảo của TCP xứng đáng với chi phí của nó cho một trang thanh toán.
Ví dụ minh họa: chọn giao thức vận chuyển
- Một công ty phát trực tiếp một trận đấu bóng đá và cũng bán vé qua trang web. Nên dùng giao thức vận chuyển nào cho mỗi dịch vụ, và tại sao?
- Phát trực tiếp: UDP. Một khung hình bị mất sẽ vô giá trị khi có thể gửi lại, nên tốc độ và độ trễ thấp quan trọng hơn sự đầy đủ, và người xem sẽ thích bỏ qua một khung hình còn hơn phải nhìn hình bị giật lag.
- Trang bán vé: TCP. Every byte của thanh toán và đặt chỗ phải đến đúng, chính xác và có thứ tự, nên các xác nhận và gửi lại là đáng giá trị so với chi phí tài nguyên.
- Tên giao thức, sau đó nêu thuộc tính của dữ liệu quyết định lựa chọn đó.
Điểm số dễ mất
- Một giao thức là một bộ quy tắc, không phải một chương trình hay một sợi cáp. Nêu ít nhất hai thứ mà nó quy định.
- Lợi ích của việc phân lớp là tính mô-đun, chuẩn hóa và trừu tượng, không phải "nó nhanh hơn".
- IP không đảm bảo giao nhận; TCP làm điều đó. Đừng gán tính đáng tin cậy cho lớp mạng.
- UDP không phải "kém hơn". Nó được chọn nơi tốc độ chiến thắng độ tin cậy, và câu trả lời phải nêu rõ loại dữ liệu nào phù hợp với điều kiện đó.
Bạn đã nắm vững
- một giao thức là các quy tắc đã thống nhất về định dạng, thứ tự, ý nghĩa, thời gian và xử lý lỗi, được tuân thủ bởi cả hai đầu.
- các giao thức tạo thành một ngăn xếp các lớp, mang lại tính mô-đun, chuẩn hóa và trừu tượng
- Các lớp TCP/IP: ứng dụng (HTTP, SMTP), vận chuyển (TCP, UDP, số cổng), mạng (địa chỉ IP, bộ định tuyến), liên kết (Ethernet, Wi-Fi, địa chỉ MAC)
- TCP có kết nối, có thứ tự và đáng tin cậy; UDP không kết nối, không có cam kết, dùng cho phát trực tiếp, DNS và game