III. Một số giao thức chính
1. Giao thức TCP/IP
a. Giao thức IP :
• Khái quát về giao thức IP :
TCP UDP SMT P FTP TELNET DNS IP/ICMP medium N medium 1 ....
Giao thức Internet protocol (IP) là giao thức đầu tiên của mô hình OSI nó cũng là một phần của TCP/IP. Mặc dù trong giao thức có từ Internet nhng không có nghĩa là IP chỉ có thể dùng trên Internet. Một điều đơng nhiên là tất cả các máy trên Internet đều có thể hiểu và dùng đợc IP, nhng IP cũng có thể đợc sử dụng ở các mạng chuyên dụng riêng biệt không hề liên quan tới Internet. IP định nghĩa một giao thức, mà không phải là sự kết nối. IP thực sự là một lựa chọng rất tốt cho việc truyền thông theo kiểu máy - tới - máy, tuy rằng IP cũng phải cạnh tranh với các giao thức khác nh IPX của Novell Netware trên các mạng cục bộ nhỏ và trung bình sử dụng Netware nh 1 hệ điều hành cho PC server.
Nhiệm vụ chính của IP là đánh địa chỉ các gói dữ liệu của thông tin giữa các máy tính và quản lý các quá trình xử lý các gói dữ liệu này. Giao thức IP có một định nghĩa hình thức về cách bố trí các gói dữ liệu và khuôn dạng của phần header chứa đựng các thông tin về gói dữ liệu đó. IP đảm nhiệm việc định đờng truyền để xác định gói dữ liệu phải đi đến đâu và có khả năng điều chỉnh đờng truyền trong trờng hợp có trục trặc. Một mục đích quan trọng nữa của IP là làm việc phân phối không tin cậy gói dữ liệu. Sự không tin cậy trong trờng hợp này có nghĩa là việc phân phối gói dữ liệu không đợc bảo đảm, có thể là do trễ trên đờng truyền, mất đ- ờng truyền hoặc bị sai, hỏng trong quá trình phân chia hay lắp ráp lại các mảnh của thông báo. Nếu giao thức IP không có chức năng điều khiển truyền dữ liệu đáng tin cậy thì không thể nào đảm bảo đợc gói dữ liệu truyền đến nơi nhận một cách chính xác. IP không có phần kiểm tra (checksum) cho nội dung dữ liệu, mà chỉ có checksum cho phần thông tin header. Việc kiểm tra và điều khiển truyền đợc mô hình lớp đảm nhiệm.
Giao thức IP cho phép một gói dữ liệu có kích thớc tối đa là 65535 byte, kích thớc này là quá lớn để các mạng có thể xử lý đợc, vì vậy phải có quá
trình phân mảnh và lắp ráp lại thông tin (framentation and resembly Process): Phân mảnh để truyền đi và lắp ráp lại ở nơi nhận.
IP có khả năng tự động tách các gói dữ liệu lớn thành các gói dữ liệu nhỏ hơn nếu cần thiết. Khi một gói dữ liệu đầu tiên đợc tách ra từ một thông báo lớn đến đợc đích thì bộ đếm thời gian cho việc sắp xếp các gói dữ liệu thành thông báo ban đầu đợc khởi động tại lớp IP của máy nhận. Nếu bộ đếm thời gian này đã đạt đến giá trị định trớc mà vẫn cha nhận hết các gói dữ liệu cần thiết thì tất cả các gói dữ liệu đã nhận sẽ bị huỷ bỏ toàn bộ. Nhờ những thông tin là các gói đợc phân mảnh đến chậm hơn một thông báo không bị phân mảnh, vì vậy phần lớn các ứng dụng thờng tránh sử dụng kỹ thuật phân mảnh thông tin nếu có thể.
IP là giao thức phi kết nối, nghĩa là nó không quan tâm đến việc gói dữ liệu đợc chuyển qua nút nào trên đờng truyền, thậm chí nó cũng không quan tâm đến cả các máy gửi hoặc nhận các gói dữ liệu. Các thông tin này đợc chứa trong phần header, do đó quá trình phân tích và chuyển gói dữ liệu không phải phân tích địa chỉ IP của nơi gửi và địa chỉ IP của nơi nhận.
• Các loại địa chỉ IP
IPv4 sử dụng ba loại địa chỉ trong các trờng nguồn và đích:
- Unicast: Để thực hiện một giao diện riêng lẻ từ một hệ thống riêng lẻ. Gói dữ liệu IP gửi tới một địa chỉ đích Unicast sẽ đợc gửi tới một giao diện riêng lẻ trên một IP host riêng lẻ.
- Multicast: Để thực hiện một hoặc nhiều hơn các giao diện, nhng đặc biệt không phải là tất cả. Gói dữ liệu IP gửi tới một địa chỉ multicast sẽ đ- ợc gửi tới tất cả các host tham dự trong nhóm multicast này.
- Broadcast: Thể hiện tất cả các giao diện trên tất cả các host. Thông thờng, điều đó giới hạn ở tất cả các host trên mạng con địa phơng.
Hầu hết các host ứng dụng IP sẽ có một card hoặc một modem mạng riêng lẻ, và giao diện này sẽ phải có một địa chỉ IP riêng lẻ - địa chỉ unicast. Khi có sự liên lạc giữa các host, hầu hết các tải đờng truyền IP (IP traffic) sẽ có các địa chỉ unicast trong cả địa chỉ nguồn và đích.
Địa chỉ multicast đợc dùng để cho phép một host nối (joint) vào nhóm multicast và để nhận tất cả các gói dữ liệu xác định cho nhóm multicast này. Multicasting không đợc sử dụng nhiều trong hầu hết các installation (thiết bị), dù rằng ứng dụng của nó đang phát triểu. Địa chỉ multicast nói chung chỉ đặc biệt dùng trong địa chỉ đích.
Địa chỉ IP Brocast là 255.255.255.255 và biểu diễn tất cả các IP host trên mạng con (subnet). Brocast đợc sử dụng vì sự đa dạng của mục đích , thông thờng để tìm một trạm (station) hoặc các trạm. Một vài IP stack cũ dùng địa chỉ 0.0.0.0 cho Brocast.
b. Giao thức TCP - Giao thức điều khiển truyền :
• Khái quát về giao thức điều khiển truyền :
Giao thức điều khiển truyền Transmission Control Protocol (TCP) là giao thức lớp giao vận có liên quan với IP. Nó cung cấp một số lợng đáng kể các dịch vụ cho lớp IP và các lớp cao hơn. Quan trọng nhất là nó cung cấp một giao thức có hớng kết nối cho các lớp cao hơn, cho phép các ứng dụng có thể đảm bảo một gói dữ liệu gửi ra mạng đã đến đợc nơi nhận một cách chính xác. Về mặt này, TCP đóng vai trò là giao thức cung cấp các cuộc truyền thông tin cậy. Nếu có một gói dữ liệu bị h hỏng (hoặc bị mất) thì TCP sẽ giải quyết vấn đề theo hớng truyền lại gói dữ liệu đó. TCP quản lý việc truyền các gói dữ liệu từ các lớp cao hơn xuống lớp IP, hoặc từ lớp IP lên các lớp giao thức cao hơn. TCP đảm bảo độ u tiên và tính bảo mật của các gói dữ liệu một cách chính xác. TCP có chức năng quản lý việc kết thúc của một ứng dụng cũng nh các sai hỏng của các lớp
vào và ra khỏi lớp TCP. Sự cách ly của tất cả các thiết bị trong các lớp tách biệt cho phép các ứng dụng có thể thiết kế mà không cần quan tâm đến vấn đề điều khiển luồng hoặc độ tin cậy của thông báo. Nếu nh không có giao thức TCP thì bản thân mỗi ứng dụng phải thực hiện các dịch vụ chính nó, điều này sẽ rất lãng phí tài nguyên.
TCP chỉ có trong các thiết bị thực sự xử lý các gói dữ liệu để đảm bảo rằng các gói dữ liệu đợc chuyển từ máy gửi đến máy nhận. TCP không có trong các thiết bị chỉ đơn thuần là chọn đờng cho các gói dữ liệu, vì vậy thờng không có lớp TCP trong gateway. Điều này là tất nhiên vì ở mỗi gateway, gói dữ liệu không cần phải chuyển lên lớp cao hơn lớp IP.
Vì TCP là giao thức hớng kết nối, đảm nhiệm chức năng truyền một gói dữ liệu từ máy gửi đến máy nhận ( gọi là truyền thông đầu cuối- đầu cuối), TCP phải nhận các thông báo truyền thông từ máy nhận để xác nhận, việc nhận gói dữ liệu.
ứng dụng Trình diễn Phiên IP TCP LK dữ liệu Vật lý IP LK dữ liệu Vật lý Gateway IP LK dữ liệu Vật lý Gateway ứng dụng Trình diễn Phiên IP TCP LK dữ liệu Vật lý Mạng con Mạng con
Hình 4: Truyền TCP giữa các mạng
• Các khái niệm cơ bản của TCP :
Giống nh các giao thức lớp giao vận, TCP nhận thông tin của thông báo từ các chơng trình ứng dụng, phân chia nó thành nhiều đoạn (segment) nếu cần thiết, và đóng gói mỗi đoạn thành một gói dữ liệu (datagram). Mỗi gói dữ liệu đợc chuyển tới giao thức lớp mạng (thờng là IP) để truyền và định đờng. Bộ xử lý TCP của nơi nhận thông báo đã nhận từng gói, nếu nó nhận thành công, các gói dữ liệu không có thông báo đã nhận sẽ đợc truyền lại. TCP của nơi nhận lắp ráp lại thông tin của thông báo và chuyển nó tới chơng trình ứng dụng thích hợp khi nó đợc nhận toàn bộ.
Trớc khi các gói dữ liệu đợc gửi tới máy đích, nơi gửi và nơi nhận phải thơng lợng để thiết lập một kết nối logic tạm thời. Kết nối này về đặc trng sẽ ở trạng thái mở trong suốt phiên mở rộng, tơng ứng với chu kỳ mà trong đó ngời sử dụng tác động với phần mềm ứng dụng.
Tiến trình TCP của nơi gửi nhận toàn bộ thông báo thông tin từ ứng dụng và sẽ ngắt nó thành các gói dữ liệu ở lúc nhàn rỗi của nó, đóng gói chúng, và tách chúng khỏi các giao thức lớp mạng (IP) và giao thức mức thấp hơn để phân phối. Kết quả tiến trình TCP nơi gửi it nhất hoặc không cần quan tâm tới tốc độ truyền thông tin. Tuy nhiên, nơi nhận phải đảm bảo một vùng đệm tơng ứng cho các gói dữ liệu đến và cho việc lắp ráp lại thông báo ứng dụng. Do đó TCP cung cấp cho nơi nhận một cơ chế điều khiển luồng trên kết nối. Điều khiển luồng đợc hoàn thành một cách cơ động nhờ vào một tham số cửa sổ, đợc trở lại cùng với mỗi thông báo nhận cuả một gói dữ liệu nhận. Tham số cửa sổ chỉ rõ số byte mà nơi gửi so sánh tham số này với số byte gỉ sau khi gói dữ liêụ đợc thông báo nhận và quyết định thông tin thêm vào là bao nhiêu , để có thể gửi vào thời điểm này. Nếu kích thớc cửa sổ nơi
nhận đã bị đầy bởi các gói dữ liệu quá cảnh, nơi gửi phải đợi cho tới khi nơi nhận thông báo một kích thớc cửa sổ khác không trớc khi gửi tiếp các gói dữ liệu.
TCP không giả thiết rằng các giao thức nằm dới đảm bảo việc phân phối gói dữ liệu. Các thông báo xác nhận rõ ràng phải đợc nhận đối với các gói dữ liệu đã vận chuyển không đợc xác nhận kịp thời , tiến trình TCP gửi sẽ vận chuyển lại các gói dữ liệu và đợi một xác nhận mới tới.
Để giảm thông lợng mạng, đặc biệt cùng với sự chú ý tới các header định đờng và các dữ liệu phí tổn khác, TCP gắn thông tin đIều khiển nh thông báo xác nhận gói dữ liệu và các giá trị tham số cửa sổ với các header hiện tại để phân phối gói dữ liệu .
Một mẫu quan niệm về cách mà trong đó TCP kết hợp các gói dữ liệu ứng dụng với thông tin điều khiển mức giao vận để dùnghiệu quả các tài nguyên truyền.
TCP không tác động trực tiếp với ngời sử dụng máy tính . Đó là vai trò của các chơng trình ứng dụng trong stack giao thức.
Các ứng dụng có thể phát sinh thông tin thông báo trong các khuôn dạng và kích thớc rất khác nhau để đáp ứng tính đa dạng của các mục đích. Nh vậy, phần mềm TCP trên mỗi máy phải có năng lực hoàn thành nội dung thông báo rất đa dạng và ở hiệu quả có thể. Bớc đầu tiên trong tiến trình này là phân chia các thông báo lớn thành nhiều đoạn có kích thớc
Máy A
Máy A Máy B
Máy B Thông tin về trạng thái cuả máy
A. Xác nhận cái mà máy B gửi. (có thể là) Dữ liệu
Thông tin về trạng thái cuả máy B. Xác nhận cái mà máy A gửi.
quản lý đợc, sau đó đóng gói mỗi đoạn cùng với một header. Điều này cho phép nơi nhận xây dựng lại thông báo gốc từ một dãy các gói dữ liệu nhỏ.