34
LỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính trở nên phổ biến với mọi người, nó mang lại cho con người khả năng to lớn và làm được những công việc phi thường : tính toán nhanh, chính xác các phép toán phức tạp, điều khiển tự động và làm việc theo sự lập trình của con người. Máy tính ra đời không chỉ là công cụ giải phóng sức lao động, hỗ trợ tối đa trong sản xuất mà còn là phương tiện học tập, giải trí bổ ích trong đời sống của mọi người. Sự phát triển của máy tính cũng như công nghệ thông tin sẽ mang lại những thành tựu to lớn cho sự phát triển kinh tế của đất nước. Là phương tiện tiếp cận nhanh nhất đến các thành tựu của khoa học kỹ thuật. 1

LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

LỜI MỞ ĐẦUNgày nay,với sự phát triển của khoa học kỹ thuật, máy tính trở nên phổ biến với mọi người, nó mang lại cho con người khả năng to lớn và làm được những công việc phi thường : tính toán nhanh, chính xác các phép toán phức tạp, điều khiển tự động và làm việc theo sự lập trình của con người. Máy tính ra đời không chỉ là công cụ giải phóng sức lao động, hỗ trợ tối đa trong sản xuất mà còn là phương tiện học tập, giải trí bổ ích trong đời sống của mọi người. Sự phát triển của máy tính cũng như công nghệ thông tin sẽ mang lại những thành tựu to lớn cho sự phát triển kinh tế của đất nước. Là phương tiện tiếp cận nhanh nhất đến các thành tựu của khoa học kỹ thuật.

CHƯƠNG I :TỔNG QUAN HỆ THỐNG MẠNG TCP/IP

Mỗi máy trên mạng TCP/IP hay còn gọi là trạm TCP/IP được nhận dạng bằng 1 địa chỉ IP logic. Mỗi trạm hay mỗi thiết bị mạng sử dụng TCP/IP để truyền thông cần có 1 địa chỉ IP duy nhất. Địa chỉ IP cho biết vị trí của 1 hệ thống trong 1 mạng giống như địa chỉ xác định ngôi nhà trên 1 con đường nào đó. Tương tự như 1 khu dân cư. Địa chỉ IP phải là duy nhất trên toàn cầu và phải được viết dưới 1 định dạng chuẩn:Mỗi địa chỉ IP được chia thành 2 phần :

. Phần địa chỉ mạng (Net ID) .

Net ID: Dùng để nhận dạng những hệ thống trong cùng 1 khu vực vật lý còn được gọi là Phân Đoạn (Segment). Mọi hệ thống trong cùng 1 Phân Đoạn phải có cùng Địa Chỉ Mạng và Phần địa chỉ này phải là duy nhất trong số các mạng hiện có.

∙ Phần địa chỉ trạm (Host ID).

1

Page 2: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Host ID: Dùng để nhận dạng 1 trạm làm việc, 1 máy chủ, 1 Router hoặc 1 trạm TCP/IP trong 1 phân đoạn. Phần địa chỉ trạm cũng phải là duy nhất trong 1 mạng.

Giống địa chỉ bưu điện gồm 2 phần: MÃ BƯU ĐIệN – Số NHÀ, TÊN ĐƯỜNG.. Phần đầu tiên, NET ID nhận dạng mạng mà máy tính nối tới, tất cả máy tính trong cùng mạng phải có cùng NET ID giống như mọi nhà trong cùng quận phải có cùng MÃ BƯU ĐIỆN. Phần thứ hai, HOST ID xác định máy tính, router hoặc thiết bị mạng khác trong mạng. HOST ID phải là duy nhất trong 1 mạng giống như Số NHÀ, TÊN ĐƯỜNG phải là duy nhất trong 1 quận. Hai máy tính có thể có cùng HOST ID nếu NET ID của chúng khác nhau, giống như hai ĐƯỜNG có thể cùng tên nếu như chúng thuộc 2 quận khác nhau. Sự kết hợp giữa NET ID và HOST ID phải cho phép nhận dạng duy nhất mỗi máy tính riêng biệt. Các địa chỉ IP có chiều dài 32bit được chia thành 4 dãy. Mỗi dãy gồm 8bit (1Byte), mỗi Byte được phân cách = 1 dấu “.”, 1 Byte là 1 giá trị nằm trong khoảng từ 0-255. Cách biểu diễn như vậy gọi là “Kí hiệu thập phân dấu chấm” (Dotted-Decimal Notation) để cho mọi người sử dụng nhớ địa chỉ 1 cách dễ dàng. Tuy nhiên khi ta xử lý thông tin máy tính lại sử dụng Hệ Nhị Phân (Binary) vì tín hiệu chúng sử dụng để truyền thông chỉ có trạng thái là Bật (1) và Tắt (0) Bảng bên dưới đây sẽ mô tả sự kết hợp

2

Page 3: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

giữa Kí Hiệu Thập Phân (Decimal Notation) và Kí Hiệu Khoa Học (Scientific Notation) với mỗi Bit bên trong 1 Bộ Tám Nhị Phân (BinaryOctet).

Trong 1 Byte , mỗi bit được gán một giá trị. Nếu Bit được đặt là 0 thì nó được gán giá trị 0, nếu Bit được đặt là 1 thì có thể chuyển đổi thành 1 giá trị thập phân. Bit thấp nhất trong Byte tương ứng với 1, Bit cao nhất tương ứng với 128. Vậy giá trị lớn nhất của 1 Byte là 255 tương ứng với trường hợp cả 8 Bit đều được đặt là 1.

Ví dụ: Ta sẽ đổi địa chỉ sau: 10101100 00010000 00000101 01111101 sang dạng Kí Hiệu Thập Phân Dấu Chấm.

3

Page 4: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

2. Địa chỉ IP Public và Địa chỉ Private

2.1 Địa chỉ IP Public.

Mỗi 1 địa chỉ IP ngoài Internet là duy nhất. Để các Network có những địa chỉ duy nhất ngoài Internet, thì Internet Assigned Numbers Authority (IANA) sẽ chia những khoảng địa chỉ không dự trữ thành những phần nhỏ và ủy thác trách nhiệm phân phối địa chỉ cho các tổ chức Đăng Kí Miền khắp thế giới. Những tổ chức đó là Asia-Pacific Network Information Center (APNIC), American Registry for Internet Numbers (ARIN), and Reseaux IP Europesens (RIPE NCC). Những tổ chức này sẽ phân phối những khối địa chỉ đến 1 số nhà các Internet Service Provider (ISP) lớn và các ISP lớn này sau đó sẽ gán những khối nhỏ hơn cho các đại lý và các ISP nhỏ hơn. ISP sẽ cấp 1 IP Public cho mỗi máy tính của bạn để các máy tính này có thể kết nối trực tiếp đến ISP. Các địa chỉ này được cấp 1 cách tự động dến mỗi máy tính khi máy tính kết nối và có thể là địa chỉ tĩnh nếu đường line của bạn thuê riêng hay các tài khoàn Dial-up.

2.2 Địa chỉ IP Private

IANA đã dự trữ một ít địa chỉ IP mà các địa chỉ này không bao giờ được sử dụng trên Internet. Những địa chỉ IP Private này được sử dụng cho những Host yêu cầu có IP để kết nối nhưng không cần được thấy trên các mạng Public. Ví dụ, 1 user kết nối những máy tính trong mạng TCP/IP ở nhà thì ko cần cấp 1 địa chỉ IP Public cho mỗi Host. User có thể

4

Page 5: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

lấy những khoảng IP ở bảng dưới đây để cung cấp địa chỉ cho các Host trong mạng.

Những host có địa chỉ IP Private có thể kết nối đến Internet bằng cách sử dụng 1 Proxy Server hay 1 máy tính chạy Windows Server 2003 đã cấu hình như là 1 Network Address Translation (NAT) Server. Windows Server 2003 cũng tích hợp chức năng Internet Connection Sharing (ICS) để cung cấp dịch vụ NAT đơn giản cho các Client trong mạng Private.

3: Các lớp địa chỉ IP và cấu hình địa chỉ IP

Có 5 lớp địa chỉ IP để tạo các mạng có kích thước khác nhau gồm: Lớp A, Lớp B, Lớp C, Lớp D, Lớp E. TCP/IP hỗ trợ gán địa chỉ lớp A, lớp B, lớp C cho các trạm. Các lớp này có chiều dài phần NET ID và HOST ID khác nhau nên số lượng Mạng và số lượng Trạm trên mỗi mạng cũng khác nhau:

Lớp A: Được gán cho các Mạng có kích thước cực lớn. Trong lớp địa∙ chỉ này Byte đầu tiên xác định NET ID, Bit cao nhất của Byte này luôn

5

Page 6: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

được đặt là 0. 3 Byte còn lại xác định Host ID. Do đó lớp A có thể cấp cho 126 Mạng với 16.777.214 Trạm trên mỗi Mạng.

. Lớp B: Được gán cho các Mạng có kích thước vừa và lớn. Trong lớp địa chỉ này 2 Byte đầu tiên xác định NET ID, 2 Bit cao nhất của Byte đầu tiên luôn được đặt là 1 0. 2 Byte còn lại xác định Host ID. Do đó lớp B có thể cấp cho 16.384 Mạng với 65.534 Trạm trên mỗi Mạng.

. Lớp C: Được gán cho các Mạng có kích thước nhỏ. Trong lớp địa chỉ này 3 Byte đầu tiên xác định NET ID, 3 Bit cao nhất của Byte đầu tiên luôn được đặt là 1 1 0. Byte cuối cùng xác định Host ID. Do đó lớp C có thể cấp cho 2.097.152 Mạng với 254 Trạm trên mỗi Mạng.

Lớp D: Các địa chỉ lớp này sử dụng cho Truyền Đa Hướng (Multicast).∙ 1 nhóm Multicast có thể chứa 1 hoặc nhiều Trạm. Trong lớp này 4 Bit cao nhất của Byte đầu tiên luôn được đặt là 1 1 1 0, các Bit còn lại định nghĩa nhóm Multicast. Địa chỉ lớp D không được chia thành Net ID và Host ID. Các gói (Packets) Multicast được truyền tới 1 nhóm Trạm cụ thể và chỉ có các Trạm đăng kí vào nhóm này mới nhận được gói.

Lớp E: Là lớp địa chỉ thực nghiệm, nó không được thiết kế cho mục∙ đích sử dụng chung. Lớp E được dự phòng cho các ứng dụng tương lai. Các Bit cao nhất của Byte đầu tiên luôn được đặt là 1 1 1 1.

Cấu hìnhđịa chỉ IP:

My network Places → Properties → Local Area connection → Properties→ General → Internet Protocol → Use the follwing IP address→ Địa chỉ IP được đặt tai đây→ OK

Như vậy ta đã đặt được địa chỉ IP cho máy.

Bảng sau đây sẽ mô tả khái quát về các lớp địa chỉ IP:

6

Page 7: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

7

Page 8: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

4. Subnet Mask

Để biết Trạm đích thuộc Mạng cục bộ hay ở xa. Trạm nguồn cần 1 thông tin khác. Thông tin này chính là Subnet Mask. Subnet Mask là 1 địa chỉ 32 bit được sử dụng để che 1 phần của địa chỉ IP. Bằng cách này các máy tính có thể xác định đâu là Net ID và đâu là Host ID trong 1 địa chỉ IP. Mỗi Trạm trong mạng TCP/IP yêu cầu có 1 Subnet Mask.Nó được gọi là Subnet Mask mặc định, nếu nó chưa được chia Subnet (và vì vậy nó chỉ có 1 Subnet Đơn), và được gọi là Subnet Mask tùy ý nếu nó được chia thành nhiều Subnet

Vd: 1 số 32bit tiêu biểu cho 1 Subnet Mask mặc định được dùng bởi những Trạm đã cấu hình với 1 địa chỉ lớp C (vd 192.168.20.50) là : 11111111 11111111 11111111 00000000 (255.255.255.0). Khi 1 trạm có địa chỉ 192.168.20.50 gởi gói tin đến địa chỉ 192.168.50.20. Đầu tiên, Trạm sẽ thực hiện phép tính AND giữa Địa Chỉ cục bộ với Subnet Mask mặc định cục bộ. Bởi vì khi thực hiện phép tính AND 2 số, bất kì số nào

8

Page 9: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

AND với 0 sẽ là 0, và AND với 1 sẽ là chính nó => khi AND 192.168.20.50 với 255.255.255.0 kết quả là 192.168.20.0. Máy trạm sau đó sẽ thực hiện phép tính AND giữa Địa chỉ Đích với Subnet Mask giống trên. TCP/IP sau đó sẽ so sánh kết quả những giá trị từ 2 phép tính AND. Nếu 2 giá trị đồng nhất thì Trạm TCP/IP kết luận đích kia là trên Subnet cục bộ. Nếu 2 giá trị khác nhau thì Trạm xác định đích kia là ở xa. Ta cũng có 1 cách viết khác để xác định Subnet Mask là: Địa chỉ IP / Tiền tố Mạng Tiền tố Mạng được xác định bằng cách cộng tất cả các bit 1 trong d•y 32bit của Subnet Mask.

Vd: 192.168.5.10 có Subnet Mask mặc định là 255.255.255.0.

Đổi qua số nhị phân sẽ là 11111111 11111111 11111111 00000000.

=> Tổng cộng có 24 bit 1. Vậy ta có thể viết dưới dạng: 192.168.5.10 /24

Bảng dưới đây sẽ đưa ra những Subnet Mask mặc định cho các Lớp Mạng:

5. Default Gateway

Khi 1 trạm trong TCP/IP cần truyền thông tin với 1 Trạm trên Mạng khác thì nó phải thông qua 1 Router. Router được gắn nhiều Interface (vd Card Mạng) kết nối đến các Mạng riêng biệt, Routing là quá trình nhận những gói IP tại 1 Interface và gởi những gói này ra 1 Interface khác

9

Page 10: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

hướng về 1 đích cuối cùng. Với 1 host được cấp trên Mạng TCP/IP thì Default Gateway là địa chỉ của Router, nằm trong 1 phạm vi Broadcast, nó được cấu hình để đưa những luồng IP đến Mạng khác. Khi 1 máy tính cố gắng truyền đạt thông tin đến 1 trạm khác trên Mạng IP, máy tính sẽ dùng SUBNET MASK để xác định Trạm đích là Cục Bộ (Local) hay ở Xa (Remote). Nếu đích là 1 trạm trên 1 phân đoạn Mạng Cục Bộ, máy tính sẽ đơn giản gởi 1 gói tin đến Mạng Cục Bộ bằng cách truyền cho tất cả (Broadcast). Nếu đích là 1 Trạm ở Xa, máy tính sẽ đưa gói tin đến Default Gateway đã được xác định trong TCP/IP Properties. Router được ghi rõ tại địa chỉ Default Gateway sau đó sẽ chịu trách nhiệm đưa gói tin đến Mạng 1 cách chính xác.

6. Chia Subnet

Những Subnet Mask được sử dụng bởi nhiều host để xác định đâu là phần chia của 1 địa chỉ IP được xem như là Net ID của địa chỉ đó.Lớp A, B và C sử dụng Subnet Mask mặc định được che lần lượt là 8, 16, 24bit tương đương với những địa chỉ 32bit. 1 Mạng cục bộ được định rõ bởi 1 Subnet Mask hay còn gọi là 1 Subnet. Chia subnet là phương pháp logic chia 1 địa chỉ mạng bằng cách tăng bit 1 sử dụng trong Subnet Mask của 1 Mạng. Phần mở rộng này cho phép bạn chia nhiều Subnet bên trong Mạng ban đầu. + 255.255.0.0 là Subnet Mask mặc định được sử dụng cho những host bên trong lớp B , ví dụ như 131.107.0.0, thì 2 địa chỉ 131.107.1.11 và 131.107.2.11 là giống Subnet. Và những host trong Net này liên lạc với nhau bằng cách gởi gói tin.Broadcast. Nhưng khi Subnet Mask được tăng thêm thành 255.255.255.0 thì rõ ràng 2 địa chỉ 131.107.1.11 và 131.107.2.11 là khác Net. Thì những host này muốn liên lạc với nhau thì phải gởi 1 gói tin IP đến Default Gateway, cái mà nó chịu trách nhiệm routing những gói dữ liệu đến Subnet Đích.

10

Page 11: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

+ Trong khi ban đầu địa chỉ lớp B khi chưa chia Subnet có 65.534 host thì Subnet Mask mới được cấu hình như hình bên dưới cho phép bạn chia thành 256 Subnet với 254 host trên 1 subnet.

+ Ưu điểm của việc chia Subnet là khi chia xong những phân đoạn con có thể trải rộng trên nhiều phân đoạn vật lý (vd mạng có thể gồm 2 phân đoạn là Ethernet và Token Ring). Tuy nhiên ưu điểm chính là giảm lưu lượng mạng vì khi chia Subnet thì lưu lượng các gói tin Broadcast không làmảnh hưởng đến toàn mạng do Router giữa các mạng sẽ chặncác gói tin Broadcast. Xác định Tổng số Host trên 1 Mạng bằng cách ta lấy 2 lũy thừa số bit làm Host ID sau đó trừ cho 2.

Ví dụ : 172.16.0.0 . Thuộc lớp B nên có 16bit làm Net ID(172.16.0.0/16) và 16bit làm Host ID. Do Net ID chưa mở rộng bit nào nên số bit mở rộng = 0 , vậy Tổng số Subnet = 2 lũy thừa 0 = 1 Subnet Vậy nếu 172.16.0.0 viết dưới dạng 172.16.0.0/20. Vậy có nghĩa số bit làm Host ID là 12 và số bit mở rộng thêm vào Net ID là 4. => Tổng Số Host : 2 lũy thừa 12 –2 = 4094 Hosts => Tổng Số Subnet : 2 lũy thừa 4 = 16 Subnets

11

Page 12: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Xác định số Host trên mỗi Subnet: Tính tổng số Host trên 1 Subnet giống như tính tổng số Host trên 1 Mạng. Khi 1 địa chỉ Mạng đã được chia Subnet. Thì tổng số Host trên mỗi Subnet sẽ là 2 lũy thừa x -2 với x là số bit làm Host ID. Ước lượng phạm vi địa chỉ Subnet: Bằng cách sử dụng Kí Hiệu Thập Phân Dấu Chấm, ta có thể ước lượng được phạm vi của những địa chỉ IP trên mỗi Subnet đơn giản bằng cách ta lấy 256 trừ cho giá trị bộ 8 thích hợp trong Subnet Mask

7. Supernetting

Để ngăn sự cạn dần các Net ID của lớp A,B. Các nhà điều hành Internet đã sắp đặt 1 sơ đồ gọi là Supernetting. Supernetting sẽ cho phép nhiều Net gom thành 1 Net. Supernetting đưa ra nhiều thuận lợi hiệu quả cho việc đặt địa chỉ cho các Net.

Ví dụ , giả sử 1 tổ chức cần cung cấp khoảng 2000 Trạm. Con số này là quá lớn đối với 1 lớp C (chỉ có thể cấp cho 254 trạm). Tuy nhiên 1 Net thuộc lớp B có thể cấp tới 16384 Net với 65534 Trạm trên mỗi Net và con số này cũng sẽ nhanh chóng giảm bớt. Bởi vậy nó ko thiết thực để 1 ISP (Internet Service Provider) cấp 1 Net lớp B vì nhu cầu tổ chức kia chỉ chiếm 3% trong tổng số IP của 1 Net trong lớp B , có nghĩa là lãng phí mất 63534 địa chỉ. Bằng cách sử dụng Supernetting, 1 ISP có thể cấp 1 khối những địa chỉ lớp C (1 Net có 254 Hosts) mà nó được xem như 1 Mạng độc lập ở đâu đó giữa lớp B và lớp C. Trong ví dụ này, 1 khối gồm 8 Net thuộc lớp C có thể đáp ứng nhu cầu tổ chức kia bằng cách cấp 2032 host. Supernetting khác với Chia Subnet ở chỗ là Supernetting mượn những Bit ở Net ID đem qua làm Host ID. Ví dụ, giả sử 1 ISP đã cấp cho bạn 1 khối gồm 8 Net lớp C từ 207.46.168.0 dến 207.46.175.0. Gán 1 Subnet Mask là /21 (mặc định là /24) đến các Router tại ISP và đến tất cả các host nằm trong tổ chức của bạn, kết quả là tất cả các

12

Page 13: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

máy đều thấy nhau như là 1 Net bởi vì nhờ vào Net ID bị rút ngắn phát sinh từ subnet mask là /24, phần Net ID của toàn bộ 8 địa chỉ này bây giờ được nhìn thấy như là duy nhất.

II. Các giao thức và khuôn dạng dữ liệu tương ứng

1 . Các giao thức Tầng Mạng(Internet Protocol)

Giao thức liên mạng IP hạt nhân của bộ giao thức TCP/IP. Trong phạm vi đề tài chúng ta chỉ xét tới IP phiên bản 4 (IPv4). IP là một giao thức hướng dữ liệu được sử dụng trong mạng chuyển mạch gói (ví dụ như Ethernet). IP là một giao thức hoạt động theo phương thức không liên kết (connectionless) và không đảm bảo truyền (không có sự trao đổi thông tin điều khiển). Vai trò của IP tương tự như vàitrò của giao thức tầng mạng (network layer) trong mô hình OSI với các chức năng như sau:

Xác định lược đồ địa chỉ Internet. ∙ Di chuyển dữ liệu giữa tầng giao vận và tầng liên kết. ∙ Dẫn đường cho các đơn vị dữ liệu tới các trạm ở xa. ∙ Thực hiện việc cắt và hợp các đơn vị dữ liệu. ∙

13

Page 14: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Giao thức IP sẽ bổ sung phần header vào trước segment được gửi từ tầng giao vận xuống và đơn vị dữ liệu này trong bộ giao thức TCP/IP được gọi là IP packet như hình sau:

Đơn vị dữ liệu của giao thức IP có cấu trúc như sau:

Trong đó phần header bao gồm các thành phần:

Version: chỉ ra phiên bản hiện hành của IP được cài đặt (có giá trị là 4∙ đối với IPv4).

Internet Header Length (IHL) Chỉ độ dài phần đầu của IP packet, tính∙ theo đơn vị từ (word = 32 bit). Độ dài tối thiểu là 5 từ (20 byte).

14

Page 15: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Differentiated Services (DS): Trước đây còn gọi là Type of Services đặc tả các tham số dịch vụ, có dạng cụ thể như sau:

Với ý nghĩa các bit cụ thể:

Precedebce (3 bit): quyền ưu tiên cụ thể là 111 - Network Control,∙ 110 - Internetwork Control, 101 - CRITIC/ECP, 100 - Flash Override, 011 - Flash, 010 - Immediate, 001 - Priority, 000 – Routine.

D (Delay) (1 bit): chỉ độ trễ yêu cầu D = 0 nếu độ trễ bình thường, 1∙ nếu độ trễ thấp.

T (Throughput) (1 bit): chỉ thông lượng yêu cầu T = 0 thông lượng∙ bình thường, 1 nếu thông lượng cao.

R (Reliability) (1bit) chỉ độ tin cậy yêu cầu R = 0 độ tin cậy bình∙ thường, 1 nếu độ tin cậy cao.

C (Cost) (1bit) chỉ hao phí C = 0 normal cost, 1 nếu minimize cost. ∙ Reserved (1bit) để dành. ∙ Total Length trường 16 bit chỉ độ dài toàn bộ datagram bao gồm cả∙

phần header và phần data tính theo byte và có giá trị lớn nhất là 65535 và giá trị nhỏ nhất là 20 byte.

Identification(16 bit) định danh duy nhất cho 1 datagram khi nó vẫn∙ còn trên liên mạng.

15

Page 16: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Flags (3 bit) điều khiển sự phân mảnh. Theo thứ tự từ bit cao xuống ∙bit thấp như sau:

o Reserved: có giá trị 0.

o DF: 0 (May Fragment); 1 (Don’t Fragment).

o MF: 0 (Last Fragment); 1 (More Fragment).

Đồ án môn Network: Giao thức TCP/IP và Mạng Internet Hua Van An S0809G – BachKhoa-Npower 50 Fragment Offset chỉ vị trí củđoạn ∙(fragment) trong datagram tính theo đơnvị 64 bit, có nghĩa mỗi đoạn (trừ đoạn cuối cùng) phải chứa một vùng dữ liệu có độ dài là bội số của 64 bit.

Time To Live (TTL) (8 bit): quy định thời gian tồn tại (tính bằng ∙giây)của

datagram trong liên mạng để tránh tình trạng một datagram bị lặp vô hạn trên liên mạng. Thời gian này được cho bởi trạm gửi và được giảm đi (thường quy ước là 1 đơn vị) khi datagram đi qua mỗi router của liên mạng.

Protocol (8 bit): chỉ ra giao thức tầng trên kế tiếp sẽ nhận vùng dữ ∙liệu ở trạm đích (hiện tại thường là TCP hoặc UDP được cài đặt trên IP).

Header Checksum (16 bit): mã kiểm soát lỗi 16 bit theo phương pháp ∙CRS, chỉ dành cho phần header.

Source address (32 bit): địa chỉ trạm nguồn. ∙ Destination address (16 bit): địa chỉ trạm đích. ∙ Options (độ dài thay đổi): khai báo các lựa chọn do người dùng ∙

yêucầu (tùy theo từng chương trình).

16

Page 17: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Padding (độ dài thay đổi): vùng đệm được dùng để đảm bảo cho ∙phần header luôn kết thúc ở một mốc 32 bits. Data (độ dài thay đổi): vùng dữ liệu có độ dài là bội số của 8 bit và tối đa là 65535 byte.

2 Các giao thức tầng Giao Vận

2.1 Giao Thức TCP.

TCP là một giao thức kiểu có liên kết (Connection – Oriented), tức là phải có giai đoạn thiết lập liên kết giữa một cặp thực thể TCP trước khi truyền dữ liệu. Cũng giống như các giao thức ở tầng giao vận TCP nhận thông tin từ các lớp trên chia nó thành nhiều đoạn nếu cần thiết. 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 tuyến. Bộ xử TCP của nó 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 sẽ được truyền lại. TCP của nơi nhận lắp ráp lại thông tin và chuyển nó tới tầng cao hơn khi nó nhận được 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 trưng sẽ ở trạng thái mở trong suốt phiên truyền.

Đặc điểm giao thức TCP:

Trong bộ giao thức TCP/IP, TCP là giao thức được phát triển như là cách để kết nối các mạng máy tính khác nhau về các phương pháp truyền dẫn và hệ điều hành. TCP thiết lập kết nối hai đường giữa hai hệ thống cần trao đổi thông tin với nhau thông tin trao đổi giữa hai hệ thống được chia thànhcác gói. TCP có những đặc điểm sau:

17

Page 18: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Hai hệ thống cần kết nối với nhau cần phải thực hiện một loạt các sự bắt tay để trao đổi những thông tin về việc chúng muốn kết nối. Quá trình bắt tay đảm bảo ngăn trặn sự tràn và mất mát dữ liệu khi truyền.

Trong phiên truyền thông tin, hệ thống nhận dữ liệu cần phải gửi các xác nhận cho hệ thống phát để xác nhận rằng nó đã nhận được dữ liệu. Các gói tin có thể đến đích không theo thứ tự sắp xếp của dòng dữ liệu liên tục bởi các gói tin đi từ cùng một nguồn tin theo những đường dẫn khác nhau để đi tới cùng một đích. Vì vậy thứ tự đúng của các gói tin phải được đảm bảo sắp xếp lại tại hệ thống nhận. Khi phát hiện gói tin bị lỗi thì nơi gửi chỉ phát lại những gói tin bị lỗi nhằm để tránh loại bỏ toàn bộ dòng dữ liệu. Hình sau đây trình bày phương thức hoạt động của giao thức TCP.

2.1.1 Đặc điểm của Giao thức TCP

2.1.1.1 Điều khiển luồng dữ liệu

18

Page 19: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Trong việc điều khiển luồng dữ liệu phương pháp hay sử dụng là dùng phương pháp cửa sổ trượt. Phương pháp này giúp cho việc nhận luồng dữ liệu hiệu quả hơn. Phương pháp cửa sổ trượt cho phép nới gửi (Sender) có thể gửi đi nhiều gói tin rồi sau đó mới đợi tín hiệu báo nhận ACK (Acknowledgement) của nơi nhận (Receiver).Với phương pháp cửa sổ trượt khi cần truyền các gói tin, giao thức sẽ đặt một cửa sổ có kích cố định lên các gói tin. Những gói tin nào nằm trong vùng cửa sổ ở một thời điểm nhất định sẽ được truyền đi. Hình 36 minh hoạ quá trình này. ở đây kích thước cửa sổ là 4. Tức là mỗi lúc cửa sổ chỉ gửi được 4 gói tin. Đầu tiên cửa sổ gửi sẽ gửi 4 gói tin từ 1 đến 4 và 4 gói tin này sẽ được gửi cho bên nhận. Cửa sổ tiếp tục trượt để gói tin thứ 5 được gửi đi ngay sau khi nhận được tín hiệu ACK của gói tin thứ nhất từ trạm đích qua trình như vậy cứ tiếp tục cho đến khi gói tin cuối cùng được chuyển đi.

19

Page 20: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Trong qua trình gửi và nhận dữ liệu, có thể có một số gói tin mặc dù đã được gửi đi nhưng không có phúc đáp (không nhận được báo nhận) có nghĩa là bên nhận không nhận được thì những gói đó sẽ được truyền lại. Tại bên nhận cũng duy trì một cửa sổ trượt tương tự dùng để nhận và báo nhận các gói tin đã nhận được. TCP cung cấp một kiểu dịch vụ gọi là dịch vụ chuyển luồng đáng tin cậy. TCP xem luồng dữ liệu như là một thứ tự các Bytes dữ liệu được tách thành các Segments. Thường thì mỗi Segment truyền trong liên mạng sẽ được lồng vào một Datagram. Với kỹ thuật cửa sổ trượt, sẽ giải quyết được hai vấn đề quan trọng đó là truyền có hiệu quả và điều khiển luồng dữ liệu. TCP sử dụng kỹ thuật cửa sổ trượt dựa trên

kỹ thuật cửa sổ trượt đã trình bày ở trên. Nó cho phép gửi được nhiều Segment trước khi báo nhận đến từ nơi nhận và do đó làm tăng thông lượng truyền trên mạng. Bên cạnh đó kỹ thuật cửa sổ trượt còn cho phép bên nhận tránh được tình trạng dữ liệu bị mất bằng cách làm giảm lưu lượng dữ liệu gửi đến nếu bộ đệm của nó không chứa thêm nhiều dữ liệu. Kỹ thuật cửa sổ trượt của TCP được tiến hành ở mức Byte chứ không phải ở mức Segment hay Packet như trình bày ở trên. Các Bytes của luồng dữ liệu được đánh số một cách tuần tự và một cửa sổ được định nghĩa bởi ba con trỏ như hình

20

Page 21: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Tại mỗi thời điểm, con trỏ đầu tiên trỏ vào mép bên trái cửa sổ, con trỏ thứ hai trỏ vào mép bên phải cửa sổ và con trỏ thứ ba xác định vị trí các Bytes được gửi đi. Con trỏ bên phải và bên trái cửa sổ xác định kích thước của cửa sổ. Các phần mềm giao thức gửi các gói bên trong cửa sổ không có trễ do đó danh giới bên trong cửa sổ luôn luôn di chuyển từ bên phải qua bên trái.

2.1.1.2 Thiết lập và huỷ bỏ liên kết

Như ta đã biết TCP là một giao thức kiểu có liên kết, tức là cần phải có giai đoạn thiết lập một liên kết giữa một cặp thực TCP trước khi truyền dữ liệu và huỷ bỏ liên kết khi không còn nhu cầu trao đổi dữ liệu nữa.

Thiết lập liên kết TCP∙

Một liên kết có thể được thiết lập theo một trong hai cách chủ động (active) và bị động (passive). Nếu liên kết được thiết lập theo cách bị động thì đầu tiên TCP tại trạm muốn thiết lập liên kết sẽ nghe và chờ yêu cầu liên kết từ một trạm khác. Tuỳ trường hợp của lời gọi hàm mà người sử dụng phải chỉ ra cổng yêu cầu kết nối hoặc có thể kết nối với một cổng bất kỳ.

Với phương thức chủ động thì người sử dụng yêu cầu TCP thử thiết lập một liên kết với một Socket nào đó với một mức ưu tiên và độ an toàn nhất định. Nếu trạm ở xa kia đáp lại bằng một hàm Passive open tương hợp hoặc đã gửi một active open tương hợp thì liên kết sẽ được thiết lập. Nếu liên kết được thiết lập thành công thì thì hàm Open success primitive được dùng để thông báo cho người sử dụng biết(cũng được sử dụng trong trường hợp Passive Open) còn nếu thất bại thì hàm Open failure primitive được dùng để thông báo.

Huỷ bỏ một liênkết:∙

21

Page 22: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Khi không còn nhu cầu trao đổi dữ liệu nữa thì liên kết TCP có thể được huỷ bỏ. Liên kết có thể được huỷ bỏ theo hai cách:

Huỷ bỏ một cách bất thường.

Liên kết được huỷ bỏ một cách bình thường khi toàn bộ dữ liệu đã được truyền hết.

Tức là hai bên không còn nhu cầu trao đổi dữ liệu nữa.

Liên kết có thể bị huỷ bỏ một cách bất thường vì một lý do nào đó(do người sử dụng hoặc do TCP đóng liên kết do không thể duy trì được liên kết). Toàn bộ dữ liệu đang truyền có thể bị mất.

2.1.1.3 Truyền và nhận dữ liệu

Sau khi liên kết được thiết lập giữa một cặp thực thể TCP thì có thể tiến hành việc truyền dữ liệu. Với liên kết TCP dữ liệu có thể được truyền theo cả hai hướng. Khi nhận được một khối dữ liệu cần chuyển đi từ người sử dụng, TCP sẽ lưu giữ nó tại bộ đệm gửi. Nếu cờ PUST được dựng thì toàn bộ dữ liệu trong bộ đệm sẽ được gửi đi hết dưới dạng các TCP Sgment. Còn nếu cờ PUST không được dựng thì toàn bộ dữ liệu vẫn được lưu giữ trong bộ đệm để chờ gửi đi khi có cơ hội thích hợp.

Tại bên nhận, dữ liệu gửi đến sẽ được lưu giữ trong bộ đệm nhận. Nếu dữ liệu đệm được đánh dấu bởi cờ PUST thì toàn bộ dữ liệu trong bộ đệm nhận sẽ được gửi lên cho người sử dụng. Còn nếu dữ liệu không được đánh dấu với cờ PUST thì chúng vẫn được lưutrong bộ đệm. Nếu dữ liệu khẩn cần phải chuyển gấp thì cờ URGENT được dùng và đánh dấu dữ liệu bằng bit URG để báo rằng dữ liệu khẩn cần được chuyển gấp.

2.2 Giao thức UDP

22

Page 23: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

UDP (User Datagram Protocol) là một giao thức kiểu không kết nối, được sử dụng trong một số yêu cầu ứng dụng thay thế cho TCP. Tương tự như giao thức IP, UDP không thực hiện các giai đoạn thiết lập và huỷ bỏ liên kết, không có các cơ chế báo nhận (Acknowledgement) như trong TCP. UDP cung cấp các dịch vụ giao vận không đáng tin cậy. Dữ liệu có thể bị mất, bị lỗi hay bị truyền luẩn quẩn trên mạng mà không hề có thông báo lỗi đến nơi gửi hoặc nơi nhận. Do thực hiện ít chức năng hơn TCP nên UDP chạy nhanh hơn, nó thường được sử dụng trong các dịch vụ không đòi hỏi độ tin vậy cao. Đơn vị dữ liệu dùng trong giao thúc UDP là UDP Datagram. Khuôn dạng của một UDP Datagrram gồm hai phần : Phần tiêu đề (Header) chứa các thông tin điều khiển và phần Data chứa dữ liệu khung dạng của UDP Datagram .

Trong đó :

UDP Source Port (16 bits) : Cho biết địa chỉ cổng của trạm nguồn. Nếu nó không được chỉ ra thì trường này được thiết lập là 0. UDP Destination Port (16 bits) : Cho biết địa chỉ cổng của trạm đích.

UDP Message Length (16 bits): Cho biết kích thước của một UDP Datagram (kể cả phần Header). Kích thước tối thiểu của một UDP Datagram là 8 Bytes (chỉ có phần Header, không có phần dữ liệu). UDP Checksum (16 bits): Là mã kiểm soát lỗi theo phương pháp CRC . Lớp UDP được đặt trên lớp IP, tức là UDP Datagram khi chuyển xuống tầng dưới sẽ được đặt vào IP Datagram để truyền trên liên mạng. IP

23

Page 24: LỜI MỞ ĐẦUdaotao.sict.udn.vn/uploads/2019/11/1574445789-doancoso.docx · Web viewLỜI MỞ ĐẦU Ngày nay,với sự phát triển của khoa học kỹ thuật, máy tính

Datagram này được ghép vào một khung tin rồi được gửi tới liên mạng đến trạmđích. Tại trạm đích các PDU được gửi từ dưới lên trên, qua mỗi tầng phần Header của PDU được gỡ bỏ và cuối cùng chỉ còn lại phần dữ liệu như ban đầu được chuyển cho người sử dụng.

24