TCP / UDP làm gì thêm vào ip thô ip?


18

Tôi biết rằng cả TCP và UDP đều được xây dựng dựa trên IP và tôi biết sự khác biệt giữa TCP & UDP, nhưng tôi bối rối về chính xác "ip thô" là gì. Sẽ công bằng khi nói rằng cả TCP & UDP đều triển khai IP, nhưng bản thân IP đó không có khả năng truyền dữ liệu? Hoặc IP là một hình thức giao tiếp cấp độ rất thấp, được trừu tượng hóa thêm bởi TCP và UDP?


2
Để biết thêm một số ý kiến ​​dưới đây (không đủ cho một câu trả lời đầy đủ, chỉ vì mục đích rõ ràng): IP là một giao thức vận chuyển dữ liệu. TCP hoặc UDP là các giao thức vận chuyển dữ liệu quá. TCP và UDP thường ngồi trên IP, vì vậy đối với IP, tải trọng dữ liệu có thể là TCP hoặc UDP. Ethernet thường được sử dụng để mang IP. Vì vậy, ví dụ, khung Ethernet có thể mang và gói IP là tải trọng dữ liệu và gói IP đó có thể mang phân đoạn TCP là tải trọng của nó, v.v. Bạn kết thúc với một chồng các giao thức như thế này goo.gl/1uEYtC
jwbensley

3
IP chắc chắn không truyền dữ liệu - ví dụ, nó mang các gói TCP / UDP đó. Mặc dù vậy, nó thường không sử dụng được. UDP là một giao thức rất thô trên IP, nhưng nó đã thêm số cổng , cho phép nhiều dịch vụ xử lý đồng thời lưu lượng UDP trên một hệ thống. Mặt khác, bạn chỉ có nhiều dịch vụ như bạn có địa chỉ IP.
Luaan

Câu trả lời:


23

IP là giao thức lớp 3 . TCP / UDP là các giao thức lớp 4 . Họ từng phục vụ các mục đích khác nhau.

Lớp 3 phụ trách giao hàng từ đầu đến cuối . Chức năng duy nhất của nó là thêm bất cứ thứ gì cần thiết vào một gói để lấy gói từ máy chủ này sang máy chủ khác.

Lớp 4 phụ trách phân phối dịch vụ đến dịch vụ . Chức năng duy nhất của nó là tách biệt các luồng dữ liệu. Máy tính của bạn có thể có nhiều chương trình đang chạy, mỗi chương trình sẽ gửi / nhận bit trên dây. IE: Bạn có thể có nhiều tab trình duyệt đang chạy, truyền phát radio internet, chạy tải xuống, chạy một số torrent hợp pháp , sử dụng ứng dụng trò chuyện, v.v. ứng dụng độc đáo cần chúng. Đây là một minh họa:

L4 phân tách luồng dữ liệu

IP không thể phân phối một gói đến đúng dịch vụ / ứng dụng. Và TCP / UDP không thể phân phối một gói từ đầu này đến đầu kia.

Cả TCP và IP hoạt động cùng nhau để cho phép cả hai đạt được "mục tiêu cuối cùng" của truyền thông Internet.

Dữ liệu cần lấy từ máy chủ này sang máy chủ khác được tạo bởi các lớp trên của mô hình OSI.

Dữ liệu này được truyền xuống L4, sẽ thêm thông tin cần thiết để phân phối dữ liệu từ dịch vụ này sang dịch vụ khác, như tiêu đề TCP với Cổng nguồn và Cổng đích. Dữ liệu và tiêu đề L4 hiện được gọi là một phân đoạn.

Sau đó, Phân đoạn sẽ được chuyển đến L3, sẽ thêm thông tin cần thiết để phân phối phân đoạn từ đầu đến cuối, giống như tiêu đề IP có nguồn Địa chỉ IP đích. Tiêu đề L3 và phân đoạn bây giờ có thể được gọi là Gói.

Quá trình này được gọi là Đóng gói và Khử đóng gói (hoặc đôi khi là giải mã). Đây là một hình ảnh động về cách thức hoạt động của nó:

Đóng gói và khử đóng gói, được sử dụng với sự cho phép từ Thực tế Network.net

Nếu điều này không có ý nghĩa, tôi khuyên bạn nên đọc thêm về mô hình OSI và cách mỗi lớp có các trách nhiệm khác nhau mà tất cả cùng làm việc để hoàn thành việc di chuyển một gói trên Internet .


7
Lưu ý rằng Internet chỉ theo mô hình OSI một cách lỏng lẻo.
dùng253751

2
inside an IP header is usually a TCP or UDP headerkhông chính xác, tiêu đề TCP / UDP không nằm trong tiêu đề IP, nó nằm trong phần dữ liệu của gói IP.
Eborbob

"Chức năng duy nhất của nó là tách biệt các luồng dữ liệu", trong khi điều đó hầu như đúng với UDP (cũng có một tổng kiểm tra nhưng meh) nó chắc chắn không đúng với TCP.
Peter Green

1
@immibis Đúng, nhưng tôi vẫn chưa thấy việc theo mô hình OSI đã dẫn đến việc triển khai gaping hay hiểu về du lịch. Đối với hầu hết các phần, và đặc biệt đối với ai đó mới tiếp cận các công nghệ Internet, việc tiếp tục suy nghĩ theo các ràng buộc của mô hình OSI là điều có giá trị hơn.
Eddie

@Eborbob Tôi có thể thấy nó sai như thế nào tùy thuộc vào cách nhìn vào câu. Thành thật mà nói, toàn bộ đoạn văn có thể sử dụng một đoạn tua lại, tôi sẽ cố gắng đi đến nó vào tối nay. Cảm ơn đã chỉ ra điều đó.
Eddie

6

IP có thể truyền dữ liệu tốt, vấn đề là những gì xảy ra khi dữ liệu đó đến đầu kia. Thông tin nhận dạng duy nhất là địa chỉ IP của máy chủ lưu trữ và số giao thức. Không ai trong số đó cung cấp bất kỳ cách nào để phân biệt ổ cắm dữ liệu dùng để làm gì.

Các chương trình có thể sử dụng IP trực tiếp thông qua cái gọi là "socket thô" nhưng thiếu một cơ chế thích hợp để quyết định ổ cắm nào gửi dữ liệu để tăng sự lo ngại về bảo mật và hiệu suất (kernel phải gửi dữ liệu tới tất cả các socket thô cho một số giao thức nhất định). Vì lý do này, khả năng mở "ổ cắm thô" thường bị hạn chế ở quyền root (hoặc tương đương với nền tảng của bạn).

UDP là một lớp khá tối thiểu trên IP. Nó thêm số cổng để xác định ổ cắm dữ liệu là gì và tổng kiểm tra (để từ chối các gói bị hỏng). Ứng dụng vẫn chịu trách nhiệm xử lý các gói bị mất, kiểm soát tắc nghẽn và chia dữ liệu thành các gói có kích thước phù hợp.

TCP là một giao thức phức tạp hơn, ngoài việc cung cấp số cổng và tổng kiểm chia các luồng byte thành các gói, sau đó tập hợp lại tại đích của chúng và cung cấp các tính năng khôi phục và kiểm soát tắc nghẽn.


4

IP là giao thức lớp 3 OSI, trong khi TCP và UDP là giao thức lớp 4 OSI. Là giao thức lớp 3, IP có thể mang nhiều giao thức lớp 4 khác nhau. TCP và UDP có lẽ là phổ biến nhất, nhưng chúng không phải là duy nhất. Giao thức lớp 4 là những gì ứng dụng sử dụng làm kết nối đầu cuối của chúng. IP vận chuyển các giao thức lớp 4 từ mạng này sang mạng khác (máy chủ đến máy chủ). Các giao thức lớp 2, như ethernet, vận chuyển các giao thức lớp 3 trên mạng LAN.

Bạn nên nghiên cứu mô hình OSI, nhưng nhận ra rằng đó là mô hình khái niệm và thế giới thực thường không khớp chính xác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.