Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai
• Khái niệm về TCP và IP
• Mô hình tham chiếu TCP/IP
• So sánh OSI và TCP/IP
• Các giao thức trong mô hình TCP/IP
• Chuyển đổi giữa các hệ thống số
• Địa chỉ IP và các lớp địa chỉ
• NAT
• Mạng con và kỹ thuật chia mạng con
• Bài tập
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Mạng máy tính - Chương 5: TCP/IP - Vũ Quốc Oai
Ví dụ đối với mạng 10.0.0.0 thì những giá trị host hợp lệ là 10.0.0.1 đến 10.255.255.254. 131 Lớp B (Class B) Dành 2 byte cho phần network_id và 2 byte cho phần host_id. 132 Lớp B (Class B) • Hai bit đầu tiên của byte đầu tiên phải là 10. Dạng nhị phân của octet này là 10xxxxxx • Những địa chỉ IP có byte đầu tiên nằm trong khoảng từ 128 (=10000000(2)) đến 191 (=10111111(2)) sẽ thuộc về lớp B • Ví dụ: 172.29.10.1 . 133 Lớp B (Class B) • Phần network_id chiếm 16 bit bỏ đi 2 bit làm ID cho lớp, còn lại 14 bit cho phép ta đánh thứ tự 16384 (=214) mạng khác nhau (128.0.0.0 đến 191.255.0.0). 134 Lớp B (Class B) • Phần host_id dài 16 bit hay có 65536 (=216) giá trị khác nhau. Trừ đi 2 trường hợp đặc biệt còn lại 65534 host trong một mạng lớp B. • Ví dụ đối với mạng 172.29.0.0 thì các địa chỉ host hợp lệ là từ 172.29.0.1 đến 172.29.255.254. 135 Lớp C (Class C) Dành 3 byte cho phần network_id và 1 byte cho phần host_id. 136 Lớp C (Class C) • Ba bit đầu tiên của byte đầu tiên phải là 110. Dạng nhị phân của octet này là 110xxxxx • Những địa chỉ IP có byte đầu tiên nằm trong khoảng từ 192 (=11000000(2)) đến 223 (=11011111(2)) sẽ thuộc về lớp C. • Ví dụ: 203.162.41.235 137 Các lớp địa chỉ IP 138 Các lớp địa chỉ IP 139 Địa chỉ dành riêng 140 Các lớp địa chỉ IP 141 Địa chỉ mạng Các lớp địa chỉ IP 142 Địa chỉ broadcast Các lớp địa chỉ IP Lớp Byte đầu tiên A 0xxxxxxx B 10xxxxxx C 110xxxxx D 1110xxxx E 11110xxx 143 NAT: Network Address Translation • Được thiết kế để tiết kiệm địa chỉ IP. • Cho phép mạng nội bộ sử dụng địa chỉ IP riêng. • Địa chỉ IP riêng sẽ được chuyển đổi sang địa chỉ công cộng định tuyến được. • Mạng riêng được tách biệt và giấu kín IP nội bộ. • Thường sử dụng trên router biên của mạng một cửa. 144 NAT • Địa chỉ cục bộ bên trong (Inside local address): Địa chỉ được phân phối cho các host bên trong mạng nội bộ. • Địa chỉ toàn cục bên trong (Inside global address): Địa chỉ hợp pháp được cung cấp bởi InterNIC (Internet Network Information Center) hoặc nhà cung cấp dịch vụ Internet, đại diện cho một hoặc nhiều địa chỉ nội bộ bên trong đối với thế giới bên ngoài. • Địa chỉ cục bộ bên ngoài (Outside local address): Địa chỉ riêng của host nằm bên ngoài mạng nội bộ. • Địa chỉ toàn cục bên ngoài (Outside global address): Địa chỉ công cộng hợp pháp của host nằm bên ngoài mạng nội bộ. 145 NAT 146 NAT 147 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4 138.76.29.7 mạng cục bộ (vd: mạng gia đình) 10.0.0.0/24 phần còn lại của Internet các Datagram với nguồn hoặc đích trong mạng này có địa chỉ 10.0.0/24 Tất cả datagram đi ra khỏi mạng cục bộ có cùng một địa chỉ IP NAT là: 138.76.29.7, với các số hiệu cổng nguồn khác nhau NAT • Mạng cục bộ chỉ dùng 1 địa chỉ IP đối với bên ngoài: – không cần thiết dùng 1 vùng địa chỉ từ ISP: chỉ cần 1 cho tất cả các thiết bị – có thể thay đổi địa chỉ các thiết bị trong mạng cục bộ mà không cần thông báo với bên ngoài – có thể thay đổi ISP mà không cần thay đổi địa chỉ các thiết bị trong mạng cục bộ – các thiết bị trong mạng cục bộ không nhìn thấy, không định địa chỉ rõ ràng từ bên ngoài (tăng cường bảo mật) 148 NAT Hiện thực: NAT router phải: – các datagram đi ra: thay thế (địa chỉ IP và số hiệu cổng nguồn) mọi datagram đi ra bên ngoài bằng (địa chỉ NAT IP và số hiệu cổng nguồn mới) . . . các clients/servers ở xa sẽ dùng (địa chỉ NAT IP và số hiệu cổng nguồn mới) đó như địa chỉ đích – ghi nhớ (trong bảng chuyển đổi NAT) mọi cặp chuyển đổi (địa chỉ IP và số hiệu cổng nguồn) sang (địa chỉ NAT IP và số hiệu cổng nguồn mới) – các datagram đi đến: thay thế (địa chỉ NAT IP và số hiệu cổng nguồn mới) trong các trường đích của mọi datagram đến với giá trị tương ứng (địa chỉ IP và số hiệu cổng nguồn) trong bảng NAT 149 NAT 150 10.0.0.1 10.0.0.2 10.0.0.3 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 10.0.0.4 138.76.29.7 1: host 10.0.0.1 gửi datagram đến 128.119.40.186, 80 bảng chuyển đổi NAT địa chỉ phía WAN địa chỉ phía LAN 138.76.29.7, 5001 10.0.0.1, 3345 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 S: 138.76.29.7, 5001 D: 128.119.40.186, 802 2: NAT router thay đổi địa chỉ từ 10.0.0.1, 3345 -> 138.76.29.7, 5001 cập nhật bảng S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 3: phản hồi đến địa chỉ : đích 138.76.29.7, 5001 4: NAT router thay đổi địa chỉ datagram đích từ 138.76.29.7, 5001 -> 10.0.0.1, 3345 NAT • Trường số hiệu cổng 16-bit: – Cho phép 60000 kết nối đồng thời chỉ với một địa chỉ phía WAN • NAT còn có thể gây ra tranh luận: – các router chỉ xử lý đến lớp 3 – vi phạm thỏa thuận end-to-end • những người thiết kế ứng dụng phải tính đến khả năng NAT, vd: ứng dụng P2P – sự thiếu thốn địa chỉ IP sẽ được giải quyết khi dùng IPv6 151 Mạng con 152 Mạng con 153 Kỹ thuật chia mạng con • Mượn một số bit trong phần host_id ban đầu để đặt cho các mạng con • Cấu trúc của địa chỉ IP lúc này sẽ gồm 3 phần: network_id, subnet_id và host_id. 154 Kỹ thuật chia mạng con • Số bit dùng trong subnet_id tuỳ thuộc vào chiến lược chia mạng con. Tuy nhiên số bit tối đa có thể mượn phải tuân theo công thức: • Số lượng bit tối đa có thể mượn: – Lớp A: 22 (= 24 – 2) bit -> chia được 222 = 4194304 mạng con – Lớp B: 14 (= 16 – 2) bit -> chia được 214 = 16384 mạng con – Lớp C: 06 (= 8 – 2) bit -> chia được 26 = 64 mạng con 155 Subnet_id <= host_id - 2 Kỹ thuật chia mạng con • Số bit trong phần subnet_id xác định số lượng mạng con. Với số bit là x thì 2x là số lượng mạng con có được. • Ngược lại từ số lượng mạng con cần thiết theo nhu cầu, tính được phần subnet_id cần bao nhiêu bit. Nếu muốn chia 6 mạng con thì cần 3 bit (23=8), chia 12 mạng con thì cần 4 bit (24>=12). 156 Một số khái niệm mới • Ðịa chỉ mạng con (địa chỉ đường mạng): gồm cả phần network_id và subnet_id, phần host_id chỉ chứa các bit 0 • Ðịa chỉ broadcast trong một mạng con: tất cả các bit trong phần host_id là 1. • Mặt nạ mạng con (subnet mask): tất cả các bit trong phần host_id là 0, các phần còn lại là 1. 157 Quy ước ghi địa chỉ IP • Nếu có địa chỉ IP như 172.29.8.230 thì chưa thể biết được host này nằm trong mạng nào, có chia mạng con hay không và có nếu chia thì dùng bao nhiêu bit để chia. Chính vì vậy khi ghi nhận địa chỉ IP của một host, phải cho biết subnet mask của nó • Ví dụ: 172.29.8.230/255.255.255.0 hoặc 172.29.8.230/24 (có nghĩa là dùng 24 bit đầu tiên cho NetworkID). 158 Kỹ thuật chia mạng con • Thực hiện 3 bước: – Bước 1: Xác định lớp (class) và subnet mask mặc nhiên của địa chỉ. – Bước 2: Xác định số bit cần mượn và subnet mask mới, tính số lượng mạng con, số host thực sự có được. – Bước 3: Xác định các vùng địa chỉ host và chọn mạng con muốn dùng 159 Bài tập 1 Cho địa chỉ IP sau: 172.16.0.0/16. Hãy chia thành 8 mạng con và có tối thiểu 1000 host trên mỗi mạng con đó. 160 Bước 1: Xác định class và subnet mask mặc nhiên Giải: • Địa chỉ trên viết dưới dạng nhị phân 10101100.00010000.00000000.00000000 • Xác định lớp của IP trên: Lớp B • Xác định Subnet mask mặc nhiên: 255.255.0.0 161 Bước 2: Số bit cần mượn Cần mượn bao nhiêu bit: N = 3, bởi vì: Số mạng con có thể: 23 = 8. Số host của mỗi mạng con có thể: 2(16–3) – 2 = 213 - 2 > 1000. Xác định Subnet mask mới: 11111111.11111111.11100000.00000000 hay 255.255.224.0 162 Bước 3: Xác định vùng địa chỉ host ST T SubnetID Vùng HostID Broadcast 1 172.16.0.0 172.16.0.1 - 172.16.31.254 172.16.31.255 2 172.16.32.0 172.16.32.1 - 172.16.63.254 172.16.63.255 7 172.16.192.0 172.16.192.1 – 172.16.223.254 172.16.223.255 8 172.16.224.0 172.16.224.1 – 172.16.255.254 172.16.255.255 163 10101100.00010000.00000000.00000000 10101100.00010000.00000000.00000001 Đến 10101100.00010000.00011111.111111101010 1 0. 01 0. 0 1. 11 10101100.00010000.00100000.00000000 10101100.00010000.00100000.00000001 Đến 10101100.00010000.00111111.11111110 10101100.00010000.00111111.11111111 Bài tập 2 Cho 2 địa chỉ IP sau: 192.168.5.9/28 192.168.5.39/28 – Hãy cho biết các địa chỉ network, host của từng IP trên? – Các máy trên có cùng mạng hay không ? – Hãy liệt kê tất cả các địa chỉ IP thuộc các mạng vừa tìm được? 164 Địa chỉ IP thứ nhất: 192.168.5.9/28 Chú ý: 28 là số bit dành cho NetworkID Đây là IP thuộc lớp C Subnet mask mặc nhiên: 255.255.255.0 IP (thập phân) 192 168 5 9 IP (nhị phân) 11000000 10101000 00000101 00001001 165 Thực hiện AND địa chỉ IP với Subnet mask IP 11000000 10101000 00000101 00001001 Subnet mask 11111111 11111111 11111111 11110000 Kết quả AND 11000000 10101000 00000101 00000000 166 Chuyển IP sang dạng thập phân Kết quả AND 11000000 10101000 00000101 00000000 Net ID 192 168 5 0 Host ID 9 167 00001001 Địa chỉ IP thứ hai: 192.168.5.39/28 IP 192 168 5 39 IP (nhị phân) 11000000 10101000 00000101 00100111 Subnet Mask 11111111 11111111 11111111 11110000 AND 11000000 10101000 00000101 00100000 Network ID 192 168 5 32 HostID 7 168 Hai địa chỉ trên có cùng mạng? • 192.168.5.9/28 • 192.168.5.39/28 Net ID của địa chỉ thứ 1 192 168 5 0 Net ID của địa chỉ thứ 2 192 168 5 32 169 Kết luận: Hai địa chỉ trên không cùng mạng Liệt kê tất cả các địa chỉ IP Mạng tương ứng với IP Vùng địa chỉ HostID với dạng nhị phân Vùng địa chỉ HostID với dạng thập phân 1 11000000.10101000.00000101.00000001 Đến 11000000.10101000.00000101.00001110 192.168.5.1/28 Đến 192.168.5.14/28 2 11000000.10101000.00000101.00100001 Đến 11000000.10101000.00000101.00101110 192.168.5.33/28 Đến 192.168.5.46/28 170 Bài tập 3 Hãy xét đến một địa chỉ IP class B, 139.12.0.0, với subnet mask là 255.255.0.0. Một Network với địa chỉ thế này có thể chứa 65534 nodes hay computers. Đây là một con số quá lớn, trên mạng sẽ có đầy broadcast traffic. Hãy chia network thành 5 mạng con. 171 Bước 1: Xác định Subnet mask Để chia thành 5 mạng con thì cần thêm 3 bit (vì 23 > 5). Do đó Subnet mask sẽ cần: 16 (bits trước đây) + 3 (bits mới) = 19 bits Địa chỉ IP mới sẽ là 139.12.0.0/19 (để ý con số 19 thay vì 16 như trước đây). 172 Bước 2: Liệt kê ID của các Subnet mới Subnet mask với dạng nhị phân Subnet mask với dạng thập phân 11111111.11111111.11100000.00000000 255.255.224.0 173 NetworkID của bốn Subnets mới TT Subnet ID với dạng nhị phân Subnet ID với dạng thập phân 1 10001011.00001100.00000000.00000000 139.12.0.0/19 2 10001011.00001100.00100000.00000000 139.12.32.0/19 3 10001011.00001100.01000000.00000000 139.12.64.0/19 4 10001011.00001100.01100000.00000000 139.12.96.0/19 5 10001011.00001100.10000000.00000000 139.12.128.0/19 174 Bước 3: Cho biết vùng địa chỉ IP của các HostID TT Dạng nhị phân Dạng thập phân 1 10001011.00001100.00000000.00000001 10001011.00001100.00011111.11111110 139.12.0.1/19 - 139.12.31.254/19 2 10001011.00001100.00100000.00000001 10001011.00001100.00111111.11111110 139.12.32.1/19 - 139.12.63.254/19 3 10001011.00001100.01000000.00000001 10001011.00001100.01011111.11111110 139.12.64.1/19 - 139.12.95.254/19 4 10001011.00001100.01100000.00000001 10001011.00001100.01111111.11111110 139.12.96.1/19 - 139.12.127.254/19 5 10001011.00001100.10000000.00000001 10001011.00001100.10011111.11111110 139.12.128.1/19 - 139.12.159.254/19 175 Tính nhanh vùng địa chỉ IP • n – số bit làm subnet • Số mạng con: S = 2n • Số gia địa chỉ mạng con: M = 28-n (n≤8) • Byte cuối của IP địa chỉ mạng, ví dụ lớp C: (k-1)*M (với k=1,2,) • Byte cuối của IP host đầu tiên, ví dụ lớp C: (k-1)*M + 1 (với k=1,2,) • Byte cuối của IP host cuối cùng, ví dụ lớp C: k*M - 2 (với k=1,2,) • Byte cuối của IP broadcast, ví dụ lớp C: k*M - 1 (với k=1,2,) 176 Ví dụ tính nhanh vùng địa chỉ IP • Cho địa chỉ: 192.168.0.0/24 • Với n=4 M= 16 (= 28-4) – Network 1: 192.168.0.0. Host range: 192.168.0.1– 192.168.0.14. Broadcast: 192.168.0.15 – Network 2: 192.168.0.16. Host range: 192.168.0.17– 192.168.0.30. Broadcast: 192.168.0.31 – Network 3: 192.168.0.32. Host range: 192.168.0.33– 192.168.0.46. Broadcast: 192.168.0.47 – Network 4: 192.168.0.48. Host range: 192.168.0.49– 192.168.0.62. Broadcast: 192.168.0.63 177 Bài tập 4 • Cho địa chỉ IP: 102.16.10.107/12 – Tìm địa chỉ mạng con? Địa chỉ host – Dải địa chỉ host có cùng mạng với IP trên? – Broadcast của mạng mà IP trên thuộc vào? 178 Bước: Tính subnet mask • 102.16.10.107/12 • Subnet mask: 11111111.11110000.00000000.00000000 • Byte đầu tiên chắc chắn khi dùng phép toán AND ra kết quả bằng 102 không cần đổi 102 sang nhị phân 179 Trả lời câu hỏi 1: Địa chỉ mạng con? • Xét byte kế tiếp là: 16 (10) 00010000 (2) • Khi AND byte này với Subnet mask, ta được kết quả là: 00010000 (2) • Như vậy địa chỉ mạng con sẽ là: 102.16.0.0/12 • Như vậy địa chỉ host sẽ là: 0.10.107 180 Trả lời câu hỏi 2: Dải địa chỉ host? Broadcast? • Dải địa chỉ host sẽ từ: 01100110 00010000 00000000 00000001 (hay 102.16.0.1/12) Đến: 01100110 00011111 11111111 11111110 (hay 102.31.255.254/12) • Broadcast: 102.31.255.255/12 181 Bài tập 5: Cho IP 172.19.160.0/21 • Chia làm 4 mạng con • Liệt kê các thông số gồm địa chỉ mạng, dãy địa chỉ host, địa chỉ broadcast của các mạng con đó 182 Giải BT 5 • Chia làm 4 mạng con nên phải mượn 2 bit • Do /21 nên 2 byte đầu tiên của IP đã cho không thay đổi. Xét byte thứ 3 • 160 = 10100000(2) • Phần 2 bit 00 là nơi ta mượn làm subnet 183 Giải BT 5 (tt) • Xét byte thứ 3 • Mạng con thứ 1: 10100000(2) • Mạng con thứ 2: 10100010(2) • Mạng con thứ 3: 10100100(2) • Mạng con thứ 4: 10100110(2) 184 Giải BT 5 (tt) Địa chỉ mạng Dải địa chỉ host Địa chỉ broadcast 172.19.160.0 172.19.160.1 đến 172.19.161.254 172.19.161.255 172.19.162.0 172.19.162.1 đến 172.19.163.254 172.19.163.255 172.19.164.0 172.19.164.1 đến 172.19.165.254 172.19.165.255 172.19.166.0 172.19.166.1 đến 172.19.167.254 172.19.167.255 185 Bài tập 6: Cho IP 172.16.192.0/18 • Chia làm 4 mạng con • Liệt kê các thông số gồm địa chỉ mạng, dãy địa chỉ host, địa chỉ broadcast của các mạng con đó 186 Giải BT 6 • Chia làm 4 mạng con nên phải mượn 2 bit • Do /18 nên 2 byte đầu tiên của IP đã cho không thay đổi. Xét byte thứ 3 • 192 = 11000000(2) • Phần 2 bit 00 là nơi ta mượn làm subnet 187 Giải BT 6 (tt) • Xét byte thứ 3 • Mạng con thứ 1: 11000000(2) • Mạng con thứ 2: 11010000(2) • Mạng con thứ 3: 11100000(2) • Mạng con thứ 4: 11110000(2) 188 Giải BT 6 (tt) Địa chỉ mạng Dải địa chỉ host Địa chỉ broadcast 172.16.192.0 172.16.192.1 đến 172.16.207.254 172.16.207.255 172.16.208.0 172.16.208.1 đến 172.16.223.254 172.16.223.255 172.16.224.0 172.16.224.1 đến 172.16.239.254 172.16.239.255 172.16.240.0 172.16.240.1 đến 172.16.255.254 172.16.255.255 189
File đính kèm:
- bai_giang_mang_may_tinh_chuong_5_tcpip_vu_quoc_oai.pdf