Thứ năm 24/05/2018 Trang nhất » Kiến thức » Cẩm Nang Tin Học
mua ten mien dep

Thật tuyệt vời khi có tên miền đẹp để kiếm tiền trên internet !

Việc tìm & Mua Tên Miền Đẹp không còn là khó khăn  0912.999.247

 Mua tên miền đẹp Mua tên miền đẹp

Thiết kế trang web

Giới thiệu

Tư vấn Lựa chọn Dịch vụ Thiết kế website

Bạn đang có nhu cầu lựa chọn nhà cung cấp dịch vụ thiết kế website tai Việt Nam?

Mua ten mien Thuong hieu
Mua tên miền Thương hiệu
Mua tên miền đẹp
Mua tên miền Đẹp

Gói thiết kế website

Ngôn ngữ lập trình web

Mã nguồn website

bảo vệ tên miền

Nguyên lý hoạt động của giao thức TCP/IP và Internet (PhầnII)

Nguyên lý hoạt động của giao thức TCP/IP và Internet (PhầnII)

Nguyên lý hoạt động của giao thức TCP/IP và Internet (PhầnII)

Hệ thống địa chỉ và cơ chế truyền dữ liệu trong mạng Internet: Để một gói dữ liệu có thể đi từ nguồn tới đích, mạng Internet đã dùng một hệ thống đánh địa chỉ tất cả các máy tính nối vào mạng như hình 3.  




Những tên và địa chỉ này được gửi cho máy tính nhận dữ liệu.

Để phân tích hệ thống tên/địa chỉ, hãy bắt đầu từ thấp lên cao:

a. Địa chỉ vật lý, còn gọi là địa chỉ MAC

Sở dĩ có tên gọi như vậy là vì địa chỉ này gắn liền với phần cứng và đại diện cho một thiết bị. Thông thường địa chỉ vật lý được đặt ngay trên bảng mạch máy tính hay trên thiết bị kết nối trực tiếp với máy (modem, card mạng...)

Địa chỉ vật lý được sử dụng như sau:

Thiết bị nhận dữ liệu kiểm tra địa chỉ vật lý đích của gói dữ liệu ở tầng vật lý. Nếu địa chỉ đích này phù hợp địa chỉ vật lý của thiết bị thì gói dữ liệu sẽ được chuyển lên tầng trên, nếu không nó sẽ bị bỏ qua.

b. SAP: Dùng để đại diện cho giao thức bên trên tầng MAC, ở đây là IP.

c. Địa chỉ mạng (network address)

Một thực thể trong mạng được xác định chỉ qua địa chỉ mạng mà không cần địa chỉ vật lý. Dữ liệu được truyền qua mạng chỉ dựa vào địa chỉ mạng. Khi nào dữ liệu tới mạng LAN thì địa chỉ vật lý mới cần thiết để đưa dữ liệu tới đích.

Ví dụ:
Máy gửi có địa chỉ 128.1.6.7 ->địa chỉ mạng là 128.1
Máy nhận có địa chỉ 132.5.8.12 ->địa chỉ mạng là 132.5
Mạng Internet có trách nhiệm dựa vào 2 địa chỉ mạng trên để đưa dữ liệu tới mạng 132.5. Khi tới mạng 132.5 thì dựa vào địa chỉ 8.12 sẽ tìm ra địa chỉ vật lý thực để truyền dữ liệu tới đích. Như vậy có một thắc mắc là: đã có địa chỉ vật lý rồi, tại sao lại cần thêm địa chỉ mạng?

Việc tồn tại 2 loại địa chỉ là do các nguyên nhân:

* 2 hệ thống địa chỉ được phát triển một cách độc lập bởi các tổ chức khác nhau.

* Địa chỉ mạng chỉ có 32 bit sẽ tiết kiệm đường truyền hơn so với địa chỉ vật lý 48 bit.

* Khi mạch máy hỏng thì địa chỉ vật lý cũng mất.

* Trên quan điểm người thiết kế mạng thì sẽ rất hiệu quả khi tầng IP không liên quan gì với các tầng dưới.

Như trên đã nói, từ địa chỉ mạng có thể tìm được địa chỉ vật lý. Công việc tìm kiếm này được thực hiện bởi giao thức ARP (Address Resolution Protocol). Nguyên tắc làm việc của ARP là duy trì một bảng ghi tương ứng địa chỉ IP - địa chỉ vật lý. Khi nhận được địa chỉ IP, ARP sẽ dùng bảng này để tìm ra địa chỉ vật lý. Nếu không thấy, nó sẽ gửi một gói dữ liệu, gọi là ARP request, chứa địa chỉ IP vào mạng LAN. Nếu máy nào nhận ARP request và nhận ra địa chỉ IP của mình thì sẽ gửi lại một gói dữ liệu chứa địa chỉ vật lý của nó.

Vậy từ địa chỉ vật lý, một máy tính trong mạng có thể biết địa chỉ IP của mình hay không? Câu trả lời là có. Giao thức gọi là RARP (Reverse Address Resolution Protocol) thực hiện công việc này. Giả sử trong mạng có một máy cần biết địa chỉ IP của mình, nó gửi một gói dữ liệu cho tất cả các máy trong mạng LAN. Mọi máy trong mạng đều có thể nhận gói dữ liệu này, nhưng chỉ có RARP server mới trả lại thông báo chứa địa chỉ mạng của máy đó.

Trên thực tế, khi muốn nhập vào một địa chỉ Internet nào đó, bạn hay đánh vào dòng chữ như "WWW.hotmail.com" mà ít thấy những dòng địa chỉ số khô khốc. Vậy có điều gì mâu thuẫn? Chẳng sao cả, Internet đã dùng một hệ thống gọi là DNS (Domain Name System) để đặt tên cho một host và cung cấp một số giao thức để chuyển đổi từ địa chỉ chữ ra địa chỉ số và ngược lại. Cách tổ chức tên của DNS tuân theo dạng hình cây như hình 4.

Một máy tính trong mạng sẽ ứng với một nút của cây. Như ở cây trên, máy ở lá FPT sẽ có địa chỉ hoàn chỉnh là fpt.com.vn. Mỗi nút trên cây biểu diễn một miền (domain) trong hệ thống DNS; mỗi miền lại có một hay nhiều miền con. Tại mỗi miền này đều phải có máy chủ DNS tương ứng quản lý hệ thống tên trong miền đó. Để hiểu rõ hơn hoạt động của DNS, lấy một ví dụ sau:

Một máy trạm có tên là test.fpt.com.vn muốn biết địa chỉ IP của máy www.microsoft. com, quá trình hỏi của nó như sau:

Khi máy test.fpt.com.vn gửi yêu cầu hỏi về máy www. microsoft.com tới DNS của miền fpt.com.vn, DNS xác định là tên đó không nằm trong miền mà nó quản lý và gửi ngược lên cho miền ở mức cao hơn là com.vn. Tại đây, DNS cũng không tìm được thông tin thoả mãn nên phải hỏi ngược lên DNS của miền vn.

Quá trình cứ thế tiếp diễn đến khi câu hỏi được gửi tới DNS của miền microsoft.com và tại đây câu hỏi được giải đáp.

Để hoạt động hiệu quả như trên, mỗi máy chủ DNS lưu trữ một cơ sở dữ liệu gồm các bản ghi chứa thông tin:

+ Tên của DNS cấp cao hơn

+ Địa chỉ IP

+ Địa chỉ dạng chữ tương ứng

Chỉ số của bản ghi được lấy từ địa chỉ IP tương ứng, nhờ đó từ địa chỉ IP có thể dễ dàng tìm ra địa chỉ chữ.

d. Protocol ID chỉ ra giao thức của tầng giao vận. Trên Internet trường này là TCP hoặc UDP.

e. Port là một số đặc trưng cho một chương trình chạy trên Internet. Ví dụ, chương trình lấy thư điện tử qua giao thức IMAP có port=143, truyền file có port =21, v.v...

f. Username là tên người đăng kí sử dụng chương trình.

ở phần II có nói tại router, IP sử dụng các thông tin điều khiển trong header của gói dữ liệu IP để quyết định đường đi tiếp theo của gói này. Có rất nhiều thông tin điều khiển nhưng ở đây chỉ xin phân tích các thông tin quan trọng.

- Đầu tiên là địa chỉ đích. Nếu địa chỉ đích trùng với địa chỉ của router đó thì gói dữ liệu được truyền trực tiếp cho host B. Nếu không trùng thì dữ liệu sẽ được truyền đến router tiếp theo trên đường đi. Vấn đề là router nào được chọn. Có 2 khả năng để lựa chọn router, tức là 2 khả năng để dẫn đường:

+ Thứ nhất là tuân theo một cách nghiêm ngặt source routing. Dữ liệu sẽ được truyền cho router tiếp theo trong source routing. Nhưng dữ liệu chỉ được truyền đi khi router được chọn có trong bảng các router có thể đến được của router hiện tại, bằng không sẽ sinh ra lỗi.

+ Thứ hai là "quên đi" source routing và tìm đường mới tới đích. Router tiếp theo được chọn dựa trên sự tìm đường này. Thông thường sự tìm đường dựa trên thuật toán Dijstra tìm kiếm theo chiều rộng. Trên thực tế, cách này đang được sử dụng rộng rãi và có thể trở thành chuẩn trong tương lai.

- Các gói dữ liệu IP thường có kích thước phụ thuộc vào mạng con. Các mạng con khác nhau thì kích thước gói IP của chúng cũng khác nhau. Vậy giả sử mạng A truyền được gói dữ liệu có kích thước lớn nhất là 1024 byte, mạng B truyền được gói dữ liệu có kích thước lớn nhất là 256 byte thì gói dữ liệu từ mạng A có kích thước 1024 byte qua mạng B như thế nào?

Để giải quyết vấn đề này, IP cung cấp khả năng phân và gom mảnh gói dữ liệu. Đây chính là lúc IP sử dụng trường flags và offset trong gói dữ liệu IP. Trường flags thực chất là các cờ thông báo gói dữ liệu này có bị phân mảnh hay không, trường offset chứa giá trị tương đối của gói con trong gói to ban đầu. Khi phân mảnh các cờ được bật lên, đồng thời trường offset được thiết lập giá trị. Dựa vào các dữ liệu trên, IP có thể dễ dàng gom mảnh gói dữ liệu, hồi phục khối dữ liệu to ban đầu.

Kiểm soát lỗi

Qua các phần trên ta thấy quá trình dữ liệu đi trên mạng đã khá rõ ràng nhưng trên một mạng rộng lớn như Internet thì có gì đảm bảo dữ liệu sẽ tới đích một cách an toàn? Điều gì xảy ra nếu trên đường đi các gói dữ liệu bị mất, tắc nghẽn, lạc đường...? Đây chỉ đơn thuần là các sự cố, nhưng thật đáng tiếc là nó lại rất hay xảy ra trên thực tế, do đó một yêu cầu đặt ra là phải có cơ chế thông báo và sửa lỗi trên mạng. Khi có lỗi, tầng IP đơn thuần huỷ bỏ dữ liệu và thông báo lỗi. Thông báo lỗi được thực hiện qua một giao thức gọi là ICMP (Internet Control Message Protocol). ICMP có thể coi là bạn đồng hành với IP và có một số đặc điểm sau:

- Dùng IP để truyền thông báo qua mạng

- Không có chức năng sửa lỗi mà chỉ đơn thuần là máy thông báo lỗi. Chức năng sửa lỗi là của tầng trên (tầng TCP)

- Thông báo lỗi về gói dữ liệu IP nhưng lại không thể thông báo lỗi về gói dữ liệu của chính mình

- Nếu gói dữ liệu IP bị phân mảnh thì khi xảy ra lỗi, ICMP chỉ thông báo lỗi của mảnh đầu tiên

Nói rằng việc sửa lỗi là của TCP nhưng thật ra TCP chẳng sửa lỗi gì cả, khi có lỗi xảy ra nó chỉ làm mỗi một việc là truyền lại. Hãy xem nó làm việc đó như thế nào. TCP truyền dữ liệu theo cơ chế "flow window". Tất cả các byte truyền đều được đánh số thứ tự và TCP quản lý việc truyền dữ liệu dựa vào số thứ tự đó.

Giả sử có 13 byte dữ liệu gửi cho máy B (hình 5) .
 




Byte 0 đã gửi đi và được xác nhận là tới nơi. Sự xác nhận này được thực hiện bằng cách khi nhận được dữ liệu gửi đến, máy B sẽ gửi một thông báo về cho máy gửi. Thông báo đó có chứa số thứ tự của byte được chấp nhận chứa trong trường ACK.

Byte 1, 2 đã được gửi nhưng chưa có xác nhận, các byte 3, 4, 5 trong khung sẽ được truyền đi, các byte từ 6 trở đi không thể được truyền. Giá trị window limit được tính bằng công thức sau:

Window limit=SND UNA + SND WND
SND UNA = số byte đã gửi đi nhưng chưa được xác nhận

SND WND= số byte trong ô, giá trị này được lấy từ trường window trong gói dữ liệu TCP dùng để xác nhận các byte đã tới nơi. Giá trị này chính là số dữ liệu mà máy B có thể chấp nhận.

Máy B bây giờ lại gửi một thông báo thừa nhận có ACK=3, Window=6. Lúc này dữ liệu có dạng như hình 6.
 




Các byte 0, 1, 2 đã được xác nhận, cửa sổ đã mở rộng ra, window limit nhận giá trị 3+6 =9. Như vậy số byte có thể truyền đi được điều khiển bởi máy B, điều này giúp giảm đi sự tắc nghẽn giao thông trên mạng và làm cho máy B có thể chủ động xử lý dữ liệu đến một cách trôi chảy.

Khi có lỗi xảy ra trên đường truyền và phải truyền lại dữ liệu thì TCP không chờ đợi thông báo xác nhận từ phía máy B mà nó làm theo cách sau: khi truyền một gói dữ liệu, TCP bấm giờ và nếu thời gian hết mà không thấy thông báo xác nhận thì nó tiến hành truyền lại.

Như vậy thời gian để bấm giờ hết sức quan trọng. Ban đầu thời gian này được thiết lập xung quanh khoảng thời gian kể từ khi TCP A gửi dữ liệu đi đến khi nhận được thông báo xác nhận. Nhưng về sau do cách tính này không hợp lý nên người ta đã đưa ra nhiều cách thiết lập khác nhau. Một trong các cách tính được dùng phổ biến hiện nay là thuật toán của Phil Karn. Nội dung căn bản của thuật toán là mỗi khi hết thời gian thì khoảng thời gian bấm đồng hồ tăng lên gấp một số lần cho trước.

NVT=A x VT

NVT: giá trị thời gian mới để bấm đồng hồ

A : hằng số, thường lấy bằng 2

VT: giá trị thời gian cũá

Cơ chế kết nối giữa hai máy trong mạng Internet

Chặng cuối cùng trong hoạt động của mạng Internet là cơ chế kết nối giữa hai máy. Để toàn bộ các hoạt động truyền tin giữa hai máy trong mạng có thể diễn ra thì phải hình thành kênh liên lạc hay một kết nối giữa chúng. Quá trình đó diễn ra như sau (hình 7):
 




1: ULP B giả sử là một chương trình mail server ở Mỹ. Do là server nên lúc nào nó cũng chờ đợi sự kết nối.

2: ULP A là chương trình nhận thư điện tử của bạn. Để kết nối, bạn gửi yêu cầu kết nối xuống cho tầng TCP.

3: TCP chuẩn bị một gói dữ liệu TCP với cờ SYN=1 yêu cầu có sự đồng bộ hoá, SEQ có thể lấy bất kì giá trị nào, ở đây là =100 và gửi cho TCP B.

4: Sau khi nhận gói dữ liệu có SYN=1, TCP B gửi trả lại một thông báo có SYN=1, ACK=101, SEQ có thể lấy bất kì giá trị nào, ở đây là =177.

5: TCP A nhận được gói dữ liệu từ TCP B sẽ gửi tiếp một gói dữ liệu có ACK=178.

6: TCP A chuyển chấp nhận kết nối lên chương trình A.

7: Sau khi nhận nốt gói dữ liệu có ACK=178, TCP B chuyển chấp nhận kết nối lên chương trình B.

Sự kết nối giữa 2 module TCP ở các bước 3, 4, 5 gọi là cơ chế bắt tay 3 bước (three way handshake).

Quá trình đóng một kết nối cũng thực hiện tương tự.

Tác giả bài viết: Bích Hường

Tổng số điểm của bài viết là: 0 trong 0 đánh giá
Click để đánh giá bài viết

Những tin mới hơn

Những tin cũ hơn

 

HỎI MUA TÊN MIỀN NÀY
Hãy gọi: 0913.210.565
Mua tên miền &rgb(2, 7, 3);ẹp
 

 

Giới thiệu

Tư vấn Lựa chọn Dịch vụ Thiết kế website

Bạn đang có nhu cầu lựa chọn nhà cung cấp dịch vụ thiết kế website tai Việt Nam?

Cẩm nang Thiết kế web

chiến lược đầu tư tên miền
mua ten mien dep

Bạn cần tên miền đẹp để kinh doanh thành công trên internet ?

Hãy gọi  0912.999.247 hoặc liên hệ tổng đài tên miền 24/7: (04) 22667766 - (08) 6657.6644

www.tenmienviet.vn - www.muatenmien.vn  Mua tên miền đẹp Mua tên miền đẹp - www.nganhangtenmien.vn