itprofes
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Bộ giao thức TCP/IP

Go down

Bộ giao thức TCP/IP Empty Bộ giao thức TCP/IP

Bài gửi  admin 24/3/2010, 1:43 pm

Các tầng trong chồng giao thức của bộ giao thức TCP/IP
Bộ giao thức TCP/IP Ap_20090626060421220

Bộ giao thức TCP/IP IP_stack_connections

IP suite stack showing the physical network connection of two hosts via two routers and the corresponding layers used at each hop

Bộ giao thức IP dùng sự đóng gói dữ liệu hòng trừu tượng hóa (thu nhỏ lại quan niệm cho dễ hiểu) các giao thức và các dịch vụ. Nói một cách chung chung, giao thức ở tầng cao hơn dùng giao thức ở tầng thấp hơn để đạt được mục đích của mình. Chồng giao thức Internet gần giống như các tầng cấp trong mô hình của Bộ quốc phòng Mỹ:

Bộ giao thức TCP/IP Untitled
Những tầng gần trên nóc gần với người sử dụng hơn, còn những tầng gần đáy gần với thiết bị truyền thông dữ liệu. Mỗi tầng có một giao thức để phục vụ tầng trên nó, và một giao thức để sử dụng dịch vụ của tầng dưới nó (ngoại trừ giao thức của tầng đỉnh và tầng đáy).

Cách nhìn các tầng cấp theo quan niệm: hoặc là cung cấp dịch vụ, hoặc là sử dụng dịch vụ, là một phương pháp trừu tượng hóa để cô lập các giao thức của tầng trên, tránh quan tâm đến thực chất của vấn đề, như việc truyền tải từng bit qua Ethernet chẳng hạn, và phát hiện xung đột (collision detection), trong khi những tầng dưới không cần phải biết đến chi tiết của mỗi một chương trình ứng dụng và giao thức của nó.

Sự trừu tượng hóa này cho phép những tầng trên cung cấp những dịch vụ mà các tầng dưới không thể làm được, hoặc cố ý không làm. Chẳng hạn IP được thiết kế với độ đáng tin cậy thấp, và được gọi là giao thức phân phát với khả năng tốt nhất (thay vì với "độ tin cậy cao" hoặc "đảm bảo nhất"). Điều đó có nghĩa là tất cả các tầng giao vận đều phải lựa chọn, hoặc là cung cấp dịch vụ đáng tin cậy, hoặc là không, và ở mức độ nào. UDP đảm bảo sự toàn vẹn của dữ liệu (bằng cách dùng kiểm tra tổng (checksum)), song không đảm bảo sự phân phát dữ liệu tới đích; TCP cung cấp cả hai, sự toàn vẹn của dữ liệu, và đảm bảo sự phân phát dữ liệu tới đích (bằng cách truyền tải lại gói dữ liệu, cho đến khi nơi nhận nhận được gói dữ liệu).
Bộ giao thức TCP/IP 350px-UDP_encapsulation.svg
Sample encapsulation of data within a UDP datagram within an IP packet

Mô hình này còn thiếu sót một cái gì đó.

1. Trong liên kết đa điểm, với hệ thống điền địa chỉ riêng của mình (ví dụ như Ethernet), một giao thức để đối chiếu địa chỉ (address mapping protocol) là một cái cần phải có. Những giao thức như vậy được coi là ở dưới tầng IP, song lại ở trên hệ thống liên kết hiện có.
2. ICMP và IGMP hoạt động bên trên IP song không truyền tải dữ liệu như UDP hoặc TCP.
3. Thư viện SSL/TLS hoạt động trên tầng giao vận (sử dụng TCP) song ở dưới các giao thức trình ứng dụng.
4. Ở đây, tuyến liên kết được coi như là một cái hộp kín. Nếu chúng ta chỉ bàn về IP thì việc này hoàn toàn có thể chấp nhận được (vì bản chất của IP là nó có thể truyền tải trên bất cứ cái gì), song nó chẳng giúp được gì mấy, khi chúng ta cân nhắc đến mạng truyền thông như một tổng thể.

Ví dụ thứ ba và thứ tư có thể được giải thích rõ hơn dùng mô hình OSI, trong khi hai ví dụ đầu tiên còn nhiều vấn đề phải đề cập đến.

So sánh với mô hình OSI

Bộ giao thức IP (và chồng giao thức tương ứng) đã được sử dụng, trước khi mô hình OSI được thành lập, và từ đó, rất nhiều lần trong sách in cũng như trong lớp học, chồng giao thức IP đã được so sánh với mô hình OSI rất nhiều lần. Các tầng cấp của OSI cũng thường được dùng để diễn tả chức năng của các thiết bị mạng.

Hai cái có liên quan ít nhiều, song không phải là hoàn toàn giống nhau. Điểm khác biệt đầu tiên dễ thấy nhất là số lượng của các tầng cấp. Mô hình của Bộ Quốc Phòng Mỹ (DoD model), với chồng giao thức IP, chỉ có bốn hoặc năm tầng (tầng liên kết có thể được coi như là một tầng riêng biệt, song cũng có thể được phân tách ra thành hai tầng, tầng vật lý và tầng liên kết dữ liệu, trong khi đó mô hình OSI lại dùng bảy tầng. So sánh tên của chúng một cách chặt chẽ cho chúng ta thấy rằng, hai tầng "mới" có tên là tầng trình diễn và tầng phiên. Nhiều sự so sánh đã gộp hai tầng này lại với tầng ứng dụng của OSI, và coi nó tương tự như tầng ứng dụng của giao thức IP.

Tương tự như chồng giao thức IP, các tầng dưới của mô hình OSI không có nhiều chức năng, đủ để nắm bắt được thực trạng công việc của bộ giao thức IP. Chẳng hạn, chúng ta cần phải có một "tầng liên kết mạng" gắn vào khoảng trống giữa tầng mạng và tầng giao vận, để chỉ ra nơi tồn tại của ICMP (Internet Control Message Protocol - Giao thức điều khiển thông điệp Internet) và IGMP (Internet Group Management Protocol - Giao thức quản lý nhóm Internet). Thêm vào đó, chúng ta cũng cần phải có một tầng ở giữa tầng mạng và tầng liên kết dữ liệu dành cho ARP (Address Resolution Protocol - Giao thức tìm địa chỉ) và RARP (Reverse Address Resolution Protocol - Giao thức tìm địa chỉ ngược lại). Không những thế, nó còn chịu ảnh hưởng của việc thiết kế chỉ nhắm vào một cài đặt đơn giản của mạng lưới, với một tầng liên kết dữ liệu mà thôi (chẳng hạn người dùng ADSL dùng giao thức đường hầm (tunnelling protocol) để "đào hầm" thông vào mạng lưới của công ty liên hiệp, dùng IP trên PPTP, hơn là dùng IP trên PPPoA, thông qua liên kết ADSL).

Một ví dụ cho thấy mô hình OSI có tác dụng là việc chỉ ra nơi thích hợp nhất của SSL/TLS. Thông thường SSL/TLS được dùng như một giao thức phiên (session protocol), tức là một giao thức tầng cấp trên (upper layer protocol) dành cho TCP hoặc UDP, song lại là một giao thức tầng cấp dưới (lower layer protocol) đối với rất nhiều các giao thức khác (HTTP, SFTP v.v..), hoặc bất cứ một chương trình ứng dụng nào hoạt động trên một stunnel hoặc trên một mạng riêng ảo bảo an (secure virtual private network).
Bộ giao thức TCP/IP Abc
Chim bồ câu đưa thư (Carrier pigeon) cũng có thể được nhóm vào tầng vật lý, song đây là cách dùng không được chấp nhận (ngoại tiêu chuẩn).

Có một vài những câu dễ nhớ để giúp các bạn nhớ được tên và trật tự của những tầng cấp trong mô hình OSI.

Các tầng

Sau đây là miêu tả từng tầng trong bộ giao thức TCP/IP.

Tầng ứng dụng

Tầng ứng dụng là nơi các chương trình mạng thường dùng nhất làm việc nhằm liên lạc giữa các nút trong một mạng.

Giao tiếp xảy ra trong tầng này là tùy theo các ứng dụng cụ thể và dữ liệu được truyền từ chương trình, trong định dạng được sử dụng nội bộ bởi ứng dụng này, và được đóng gói theo một giao thức tầng giao vận.

Do chồng TCP/IP không có tầng nào nằm giữa ứng dụng và các tầng giao vận, tầng ứng dụng trong bộ TCP/IP phải bao gồm các giao thức hoạt động như các giao thức tại tầng trình diễn và tầng phiên của mô hình OSI. Việc này thường được thực hiện qua các thư viện lập trình.

Dữ liệu thực để gửi qua mạng được truyền cho tầng ứng dụng, nơi nó được đóng gói theo giao thức tầng ứng dụng. Từ đó, dữ liệu được truyền xuống giao thức tầng thấp tại tầng giao vận.

Hai giao thức tầng thấp thông dụng nhất là TCP và UDP. Mỗi ứng dụng sử dụng dịch vụ của một trong hai giao thức trên đều cần có cổng. Hầu hết các ứng dụng thông dụng có các cổng đặc biệt được cấp sẵn cho các chương trình phục vụ (server)(HTTP - Giao thức truyền siêu văn bản dùng cổng 80; FTP - Giao thức truyền tệp dùng cổng 21, v.v..) trong khi các trình khách (client) sử dụng các cổng tạm thời (ephemeral port).

Các thiết bị định tuyến và thiết bị chuyển mạch không sử dụng tầng này nhưng các ứng dụng điều chỉnh thông lượng (bandwidth throttling) thì có dùng.

Tầng giao vận

Trách nhiệm của tầng giao vận là kết hợp các khả năng truyền thông điệp trực tiếp (end-to-end) không phụ thuộc vào mạng bên dưới, kèm theo kiểm soát lỗi (error control), phân mảnh (fragmentation) và điều khiển lưu lượng. Việc truyền thông điệp trực tiếp hay kết nối các ứng dụng tại tầng giao vận có thể được phân loại như sau:

* 1. định hướng kết nối (connection-oriented), ví dụ TCP
* 2. phi kết nối (connectionless), ví dụ UDP

Tầng giao vận có thể được xem như một cơ chế vận chuyển thông thường, nghĩa là trách nhiệm của một phương tiện vận tải là đảm bảo rằng hàng hóa/hành khách của nó đến đích an toàn và đầy đủ.

Tầng giao vận cung cấp dịch vụ kết nối các ứng dụng với nhau thông qua việc sử dụng các cổng TCP và UDP. Do IP chỉ cung cấp dịch vụ phát chuyển nỗ lực tối đa (best effort delivery), tầng giao vận là tầng đâu tiên giải quyết vấn đề độ tin cậy.

Ví dụ, TCP là một giao thức định hướng kết nối. Nó giải quyết nhiều vấn đề độ tin cậy để cung cấp một dòng byte đáng tin cậy (reliable byte stream):

* dữ liệu đến đích đúng thứ tự
* sửa lỗi dữ liệu ở mức độ tối thiểu
* dữ liệu trùng lặp bị loại bỏ
* các gói tin bị thất lại/loại bỏ được gửi lại
* có kiểm soát tắc nghẽn giao thông dữ liệu

Tuy các giao thức định tuyến động (dynamic routing protocol) khớp về kỹ thuật với tầng giao vận trong bộ giao thức TCP/IP (do chúng chạy trên IP), nhưng chúng thường được xem là một phần của tầng mạng. Một ví dụ là giao thức OSPF (số hiệu giao thức IP là 89).

Giao thức mới hơn, SCTP (Stream Control Transmission Protocol|), cũng là một cơ chế giao vận định hướng kết nối "đáng tin cậy". Giao thức này định hướng dòng (stream-oriented), chứ không định hướng byte như TCP, và cung cấp nhiều dòng đa công (multiplexed) trên một kết nối. Nó còn hỗ trợ multi-homed, trong đó một đầu của kết nối có thể được đại diện bởi nhiều địa chỉ IP (đại diện cho nhiều giao diện vật lý), sao cho, nếu một giao diện vật lý thất bại thì kết nối vẫn không bị gián đoạn. Giao thức này ban đầu được phát triển dành cho các ứng dụng điện thoại (để vận chuyển SS7 trên giao thức IP), nhưng nó cũng có thể được sử dụng cho các ứng dụng khác.

UDP là một giao thức datagram phi kết nối. Cũng như IP, nó là một giao thức nỗ lực tối đa hay "không đáng tin cậy". Vấn đề duy nhất về độ tin cậy mà nó giải quyết là sửa lỗi dữ liệu (dù chỉ bằng một thuật toán tổng kiểm yếu). UDP thường được dùng cho các ứng dụng như các phương tiện truyền thông theo dòng (streaming media) chứa âm thanh và hình ảnh, v.v.., trong đó, vấn đề gửi đến đúng giờ có vai trò quan trọng hơn độ tin cậy, hoặc cho các ứng dụng truy vấn/đáp ứng đơn giản như tra cứu tên miền, trong đó, phụ phí của việc thiết lập một kết nối đáng tin cậy lớn một cách không cân xứng.

Giao thức DCCP hiện đang được phát triển bởi IETF (Internet Engineering Task Force). Nó cung cấp nội dung điều khiển lưu lượng của TCP, trong khi đối với người dùng, nó giữ bề ngoài như mô hình dịch vụ datagram của UDP.

Cả TCP và UDP được dùng cho một số ứng dụng bậc cao (high-level). Các ứng dụng tại các địa chỉ mạng cho trước được phân biệt bởi cổng TCP hay UDP của nó. Theo quy ước, các cổng "nổi tiếng" được liên kết với một số ứng dụng cụ thể. (Xem Danh sách cổng TCP và UDP.)

RTP (Real-time Transport Protocol - giao thức giao vận thời gian thực) là một giao thức datagram được thiết kế cho dữ liệu thời gian thực (real-time), chẳng hạn hình và tiếng được truyền theo dòng (streaming audio and video). RTP là một giao thức tầng phiên sử dụng định dạng gói tin UDP làm căn bản. Tuy nhiên, nó được đặt vào tầng giao vận của chồng giao thức TCP/IP.

Tầng mạng

Theo định nghĩa ban đầu, tầng mạng giải quyết các vấn đề dẫn các gói tin qua một mạng đơn. Một số ví dụ về các giao thức như vậy là X.25, và giao thức Host/IMP của mạng ARPANET.

Với sự xuất hiện của khái niệm liên mạng, các chức năng mới đã được bổ sung cho tầng này, đó là chức năng dẫn đường cho dữ liệu từ mạng nguồn đến mạng đích. Nhiệm vụ này thường đòi hỏi việc định tuyến cho gói tin quan một mạng lưới của các mạng máy tính, đó là liên mạng.

Trong bộ giao thức liên mạng, giao thức IP thực hiện nhiệm vụ cơ bản dẫn đường dữ liệu từ nguồn tới đích. IP có thể chuyển dữ liệu theo yêu cầu của nhiều giao thức tầng trên khác nhau; mỗi giao thức trong đó được định danh bởi một số hiệu giao thức duy nhất: giao thức ICMP (Internet Control Message Protocol) là giao thức 1 và giao thức IGMP (Internet Group Management Protocol) là giao thức 2.

Một số giao thức truyền bởi IP, chẳng hạn ICMP (dùng để gửi thông tin chẩn đoán về truyền dữ liệu bằng IP) và IGMP (dùng để quản lý dữ liệu đa truyền (multicast)), được đặt lên trên IP nhưng thực hiện các chức năng của tầng liên mạng, điều này minh họa một sự bất tương thích giữa liên mạng và chồng TCP/IP và mô hình OSI. Tất cả các giao thức định tuyến, chẳng hạn giao thức BGP (Border Gateway Protocol), giao thức OSPF, và giao thức RIP (Routing information protocol|), đều thực sự là một phần của tầng mạng, mặc dù chúng có thể có vẻ thuộc về phần trên của chồng giao thức.

Tầng liên kết

Tầng liên kết - phương pháp được sử dụng để chuyển các gói tin từ tầng mạng tới các máy chủ (host) khác nhau - không hẳn là một phần của bộ giao thức TCP/IP, vì giao thức IP có thể chạy trên nhiều tầng liên kết khác nhau. Các quá trình truyền các gói tin trên một liên kết cho trước và nhận các gói tin từ một liên kết cho trước có thể được điều khiển cả trong phần mềm điều vận thiết bị (device driver) dành cho cạc mạng, cũng như trong phần sụn (firmware) hay các chipset chuyên dụng. Những thứ đó sẽ thực hiện các chức năng liên kết dữ liệu chẳng hạn như bổ sung một tín đầu (packet header) để chuẩn bị cho việc truyền gói tin đó, rồi thực sự truyền frame dữ liệu qua một môi trường vật lý.

Đối với truy nhập Internet qua modem quay số, các gói IP thường được truyền bằng cách sử dụng giao thức PPP. Đối với truy nhập Internet băng thông rộng (broadband) như ADSL hay modem cáp, giao thức PPPoE thường được sử dụng. Mạng dây cục bộ (local wired network') thường sử dụng Ethernet, còn mạng không dây cục bộ thường dùng chuẩn IEEE 802.11. Đối với các mạng diện rộng (wide-area network), các giao thức thường được sử dụng là PPP đối với các đường T-carrier hoặc E-carrier, Frame relay, ATM (Asynchronous Transfer Mode), hoặc giao thức packet over SONET/SDH (POS).

Tầng liên kết còn có thể là tầng nơi các gói tin được chặn (intercepted) để gửi qua một mạng riêng ảo (virtual private network). Khi xong việc, dữ liệu tầng liên kết được coi là dữ liệu của ứng dụng và tiếp tục đi xuống theo chồng giao thức TCP/IP để được thực sự truyền đi. Tại đầu nhận, dữ liệu đi lên theo chồng TCP/IP hai lần (một lần cho mạng riêng ảo và lần thứ hai cho việc định tuyến).

Tầng liên kết còn có thể được xem là bao gồm cả tầng vật lý - tầng là kết hợp của các thành phần mạng vật lý thực sự (hub, các bộ lặp (repeater), cáp mạng, cáp quang, cáp đồng trục (coaxial cable), cạc mạng, cạc HBA (Host Bus Adapter) và các thiết bị nối mạng có liên quan: RJ-45, BNC, etc), và các đặc tả mức thấp về các tín hiệu (mức hiệu điện thế, tần số, v.v..).
admin
admin
Thiếu Úy III
Thiếu Úy III

Tổng số bài gửi : 627
Diem : 6559
Thank : 4
Join date : 24/03/2010
Đến từ : Bỉm Sơn - Thanh hóa

https://itprofes.forumvi.com

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết