IP Networking M04 IPv4 and Basic Subnetting

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 64

IP Networking Basics

่ ง
หัวข้อเรือ
TCP/IP Protocols
WWW
TCP/IP Protocol Stack
ที่มาของ TCP/IP
▪ พัฒนาขึ้นในปี 1969 โดยเริม
่ ใช้ในทางการทหาร
▪ ประกอบด้วย TCP (Transport Control Protocol) และ IP
(Internet Protocol) นิยมเรียกสั้นๆ ว่า IP
▪ TCP/IP เป็นมาตรฐานระบบเปิด (Open Standard)
▪ พัฒนาโครงข่ายเพื่อทดลองใช้ซึ่งกลายมาเป็น Internet ในปัจจุบัน
• ระบบที่เชื่อมต่อกับ Internet ใช้ TCP/IP เป็นหลัก
• ความนิยมของ Internet ทาให้เกิด Application ต่างๆ มากมาย
มาตรฐาน TCP/IP กับ OSI
OSI Model TCP/IP Model TCP/IP Model
(7 layers) (RFC 1122 ปี 1989) (5 layers)

Application

Transport

Internetwork

Network
Interface
IPv4 Address
Protocols and Addressing

HTTP/
HTTPS

Port Number

IP Address

MAC Address
TCP and UDP Port Numbers
IANA Well-Known Port : 0-1023 (server ports)
Registered Ports : 1024-49151 (client ports)
Dynamic and/or Private Ports : 49152-65535 (client ports)

Applications
FTP Telnet DHCP HTTP DNS SNMP

20,21 23 67,68 80 53 53 161,162


TCP UDP

6 17
IP

Ethernet

Reference https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
MAC Address
หรือเรียกว่า Hardware address หรือ Physical address
“MAC address” มีความยาว 48-bit
• ff-ff-ff-ff-ff-ff ทุกบิทมีค่าเป็น 1 เป็น Broadcast MAC address
• 00-00-f8-75-5b-a6 กาหนดให้กับ network interface card (NIC) โดยจะไม่ซา้ กัน
• 24-bit แรก กาหนดให้เป็นหมายเลขของผู้ผลิต (vendor)
24 bits 24 bits

Vendor Code Serial Number


00-00-f8-75-5b-a6
เช่น “00-00-f8” คือ vendor code ของ Digital Equipment Corporation (DEC)
Protocols and Addressing

HTTP/
HTTPS

Port Number

IP Address

MAC Address
IPv4 Address

Internet Header
Network ID and Host ID

32 Bits

Network ID Host ID

w. x. y. z
เช่น: 131.107.3.24
IPv4 Address Types

Public IP หรือเรียกว่า Real IP


• ใช้สื่อสารระหว่างเครือข่าย หรืออินเตอร์เน็ต
• ขอลงทะเบียนกับหน่วยงานที่กากับดูแล IP Address ในแต่ละประเทศหรือภูมิภาค
• Public IP Address มีหมายเลขที่ไม่ซา้ กัน
• ในประเทศไทยหน่วยงานที่กากับดูแลคือ thnic.net และ APNIC

Private IP
• หมายถึง IP Address ที่ใช้กับเครือข่ายภายใน เช่น Intranet
• Private IP Address สามารถกาหนดขึ้นใช้ได้เอง โดยทั่วไปใช้กับ Intranet ในหน่วยงาน
• เทคนิคที่เรียกว่า NAT (Network Address Translation) ทาให้อุปกรณ์ที่ใช้ Private IP
Address สามารถสื่อสารข้ามเครือข่าย หรือใช้งานอินเตอร์เน็ตได้
IPv4 Address Classes
และ Netmask
IPv4 Address Classes
Network Host ID
Class A ID
0
w x y z
อัตราส่วน IPv4 address space
ของแต่ละ class
Network ID Host ID
Class B 10
w x y z

Class C Network ID Host ID


110

w x y z
Multicast Group
Class D
111 0
w x y z
Class E Reserved for research
IP Addresses - Class A
Network Host ID
ID
Class A 0

• ขึ้นต้นด้วย binary ‘0’ w x y z


• อีก 7 บิทที่เหลือใน octet แรกต้องไม่เป็น 0 ทั้งหมด
• ช่วงแอดเดรส 1.0.0.0 - 126.255.255.255
• 01111111 (127) สงวนไว้สาหรับ loopback address (127.0.0.1)

Private class A address


10.0.0.0 – 10.255.255.255
IP Addresses - Class B
Network ID Host ID
Class B 10
w x y z
• ขึ้นต้นด้วย binary ’10’
• ช่วงแอดเดรส 128.0.0.0 - 191.255.255.255
• ใช้ 2 octets แรกเป็น network ID
• 214 = 16,384 class B addresses

Private class B address


172.16.0.0 – 172.31.255.255
IP Addresses - Class C
Network ID Host ID
Class C 110
w x y z
• ขึ้นต้นด้วย binary ’110’
• ช่วงแอดเดรส 192.0.0.0 - 223.255.255.255
• ใช้ 3 octets แรกเป็น network ID
• 221 = 2,097,152 class C addresses

Private class C address


192.168.0.0 – 192.168.255.255
สรุปภาพรวม IPv4 Address Classes
Range of Number Number of Hosts
First-Octet of Networks per Network

Class A 1 – 126 126 16,777,214

Class B 128 – 191 16,384 65,534

Class C 192 – 223 2,097,152 254

Class D 224 – 239 Multicast Address

Class E 240 – 255 Reserved for Research purpose


Netmask
IP Address 131.107. 16.200
Netmask 255.255. 0.0

Network ID 131.107. y.z


Host ID w.x. 16.200

Netmask (หรือ Subnet mask) เป็นตัวเลขที่กาหนดคู่กับ IP Address เพื่อ


บ่งบอกว่าส่วนไหนของ IP Address คือ Network ID และ Host ID

Netmask ใช้เพื่อวิเคราะห์เปรียบเทียบระหว่าง IP Address 2 เบอร์ว่าอยู่ภายใต้


network เดียวกันหรือไม่
Default Netmasks (No Subnetting)

Address ในรูปของ
Class
ตาเหน่ง bit “1“ บ่งบอก Network ID เลขฐานสิบ

Class A 11111111 00000000 00000000 00000000 255.0.0.0


Class B 11111111 11111111 00000000 00000000 255.255.0.0
Class C 11111111 11111111 11111111 00000000 255.255.255.0
การเขียน Netmask

Netmask เขียนได้ 2 แบบ


Binary Decimal
1000 0000 128
255.0.0.0 หรือ /8 1100 0000 192
255.240.0.0 หรือ /12 1110 0000 224
1111 0000 240
255.255.128.0 หรือ /17 1111 1000 248
255.255.255.224 หรือ /27
1111 1100 252
1111 1110 254
255.255.255.252 หรือ /30 1111 1111 255
การแปลงเลขฐานสองและเลขฐานสิบ (Binary to Decimal)

128 64 32 16 8 4 2 1 : bit values


0 0 0 0 0 0 0 0 =0
1 1 0 0 0 0 0 0 = 192
1 1 1 0 0 0 0 0 = 224
1 1 1 1 0 0 0 0 = 240
1 1 1 1 1 1 0 0 = 252
1 1 1 1 1 1 1 1 = 255
ตัวอย่าง IP Address และ Netmask

Decimal Form :
IP Address 131.185. 15.22 131.185.15.22 ; IP address
Netmask 255.255. 0.0 255.255.0.0 ; Netmask
Network Address 131.185. 0.0
131.185.0.0 ; Network address

Binary Form:
10000011 10111001 00001111 00010110
11111111 11111111 00000000 00000000
10000011 10111001 00000000 00000000
IPv4 Addressing Guideline
IPv4 Addressing Guideline
❑ IP address ที่ขึ้นต้นด้วย 127 สงวนไว้สาหรับ loopback address (127.0.0.1)

❑ Network ID และ Host ID ต้อวไม่เป็น 255 พร้อมกันทั้งหมด


(255.255.255.255 คือ broadcast address ของ network 0.0.0.0)

❑ Network ID และ Host ID ต้อวไม่เป็น 0 พร้อมกันทั้งหมด


(0.0.0.0 หมายถึง network นี้เท่านั้น)

❑ Host ID ต้องไม่ซา้ กันภายใน Network เดียวกัน


ตัวอย่าง IPv4 Address
Network ID Host ID
110
ตัวอย่าง class C address w x y z
netmask 255.255.255.0 (/24)

192.168.10.0 Network Address


192.168.10.1 IP Address เบอร์แรก
192.168.10.254 IP Address เบอร์สุดท้าย
192.168.10.255 Broadcast Address

Host ID เป็น “0” ทุกบิท เป็น Network Address


Host ID เป็น “1” ทุกบิท เป็น Broadcast Address
ตัวอย่าง Network Address
1 3

2
Router Router

1.118.73.0/30

192.168.1.0/24 192.168.2.0/24
ตัวอย่าง IP Address สาหรับ Hosts
1 3

IP address :192.168.1.2 IP address : 192.168.2.2


Netmask: 255.255.255.0 192.168.1.1 192.168.2.1 Netmask: 255.255.255.0
Default gateway: 192.168.1.1 Default gateway: 192.168.2.1
2

IP address : 192.168.1.3 1.118.73.1 1.118.73.2 IP address : 192.168.2.3


Netmask: 255.255.255.0 Netmask: 255.255.255.0
Default gateway: 192.168.1.1 1.118.73.0/30 Default gateway: 192.168.2.1

192.168.1.0/24 192.168.2.0/24
IP address : 192.168.1.254 IP address : 192.168.2.254
Netmask: 255.255.255.0 Netmask: 255.255.255.0
Default gateway: 192.168.1.1 Default gateway: 192.168.2.1
การออกแบบ IPv4 Address
(Subnetting)
ตัวอย่าง IPv4 Address
Network ID Host ID
110
ตัวอย่าง class C address w x y z
1 netmask 255.255.255.0 (/24)

192.168.10.0 2 Network Address

192.168.10.1 4 IP Address เบอร์แรก

192.168.10.254 5 IP Address เบอร์สุดท้าย


192.168.10.255 3 Broadcast Address

Host ID เป็น “0” ทุกบิท เป็น Network Address


Host ID เป็น “1” ทุกบิท เป็น Broadcast Address
วิเคราะห์จานวน Subnets และจานวน Hosts/Subnet

1. ความต้องการ จานวน network (subnet)


❑ 1 network ต่อ 1 วง LAN
❑ 1 network ต่อ 1 WAN link
2. ความต้องการ จานวน host ในแต่ละ subnet
❑ 1 address ต่อ 1 host
❑ 1 address ต่อ 1 router interface
Router Router
ขั้นตอนการออกแบบ IPv4 Subnetting
Fast Method Network ID 16 บิท

หาคาตอบของคาถาม 5 ข้อต่อไปนี:้
1. ต้อวการกี่ subnets? เพื่อจะได้จานวนบิทของ subnet ที่ต้องยืม
จาก host ID และคานวณค่า subnet mask
2. จานวน hosts ต่อ subnet ที่ได้จากการใช้ subnet mask ค่าใหม่?
3. หมายเลข subnet address ที่ได้?
4. หมายเลข broadcast address ของแต่ละ subnet?
5. ช่วงของหมายเลข IP address ที่สามารถกาหนดให้กับ hosts ใน
subnet นัน้ ได้?
Step 1 – หาจานวน Subnet bits
1. หาจานวน Subnet bits เพื่อให้ได้ Subnet mask

2 = จานวน subnets ที่ได้ทั้งหมด


x
โดย X คือจานวนบิท “1” ของ subnet mask ที่เพิ่ มขึ้น

ตัวอย่าง หากต้องการ 4 subnets


นั่นคือ 22 = 4
โดย x=2 หมายถึง บิท “1” ใน subnet mask จะเพิ่มขึ้น 2 บิท เช่น

11111111.11000000.00000000.00000000 (จาก /8 เป็น /10)


11111111.11111111.11000000.00000000 (จาก /16 เป็น /18)
ตัวอย่าง
Step 2 – หาจานวน Host bits
2. จานวน Hosts ในแต่ละ Subnet

2y -2 = จานวนแอดเดรสของ hosts ที่ใช้ได้ ในแต่ละ subnet


โดย y คือจานวนบิท “0” ของ subnet mask ที่เหลืออยู่

จากตัวอย่างก่อนหน้านี้ subnet mask /18

11111111.11111111.11000000.00000000

บิท “0” เหลืออยู่ 14 บิท นั่นคือ

214-2 = 16,386-2 = 16,384 hosts/subnet


ตัวอย่าง
Step 3 – Subnet address ของแต่ละ network
3. หมายเลข Subnet addresses ของแต่ละ subnetwork

256-subnet mask = “Block Size”


จากตัวอย่างขั้นตอนก่อนหน้านี้ ได้ subnet mask
11111111.11111111.11000000.00000000 (หรือ /18)
หรือ subnet mask ในรูปแบบเลขฐานสิบ 255.255.192.0

256-192 = 64 คือ block size


ซึ่งจะได้ block ของ network address เป็นเลข 0, 0+64=64, 64+64=128, 128+64=192,…
เช่น 172.16.0.0/18 เป็น subnet แรก
172.16.64.0/18 เป็น subnet ที่สอง
172.16.128.0/18 เป็น subnet ที่สาม
ตัวอย่าง
Step 4 – Broadcast address ของแต่ละ network
4. หาค่า Broadcast Address ของแต่ละ Subnetwork

Broadcast address จะมี host ID เป็น “1” ทุกบิท


ข้อสังเกตุคือ จะเป็นแอดเดรสสุดท้ายของแต่ละ subnet
Network ID Host ID
172.16.nnhhhhhh.hhhhhhhh/18
ตัวอย่าง 172.16.00111111.11111111/18
172.16.0.0/18 เป็น network address ของ subnet แรก
จะมี broadcast address 172.16.63.255
172.16.64.0/18 เป็น network address ของ subnet ที่สอง
จะมี broadcast address 172.16.127.255
172.16.128.0/18 เป็น network address ของ subnet ที่สาม
จะมี broadcast address 172.16.191.255
ตัวอย่าง
Step 5 – ช่วงแอดเดรสสาหรับ Hosts ในแต่ละ network
5. ช่วงแอดเดรสสาหรับ Hosts ใน subnetwork
เป็นแอดเดรสที่ host ID ไม่เป็น “0” หรือ “1” พร้อมกันทุกบิท
ข้อสังเกตุคือ จะเป็นแอดเดรสที่อยู่ระหว่าง network address และ broadcast address

ตัวอย่าง
172.16.00000000.00000000/18
172.16.0.0/18 เป็น network address ของ subnet แรก 172.16.00000000.00000001
มี broadcast address 172.16.63.255 172.16.00000000.00000010
172.16.00111111.11111110
ช่วงแอดเดรสที่ใช้ได้คือ 172.16.0.1 – 172.16.63.254 172.16.00111111.11111111
172.16.64.0/18 เป็น network address ของ subnet ที่สอง
มี broadcast address 172.16.127.255
ช่วงแอดเดรสที่ใช้ได้คือ 172.16.64.1 – 172.16.127.254

ตัวอย่าง
แบบฝึกหัดทบทวน
แบบฝึกหัด
1. ข้อใดบ้างคือ IP Address ที่อยู่ใน Class C? Range of
First-Octet

❑ 1.1.1.1
Class A 1 – 126
❑ 200.1.1.1
❑ 128.128.128.128 Class B 128 – 191

❑ 224.1.1.1
Class C 192 – 223
❑ 223.223.223.255
Class D 224 – 239

Class E 240 – 255


แบบฝึกหัด
2. ตัวเลขฐานสิบหลักแรกของ IP Address ใน Class A Range of
First-Octet

อยู่ในช่วงใด?
Class A 1 – 126
❑ 0-127
❑ 0-126 Class B 128 – 191
❑ 1-127
Class C 192 – 223
❑ 1-126
❑ 128-191
❑ 128-192 Class D 224 – 239

Class E 240 – 255


แบบฝึกหัด
3. ข้อใดคือ IP address ที่ไม่ได้อยู่ใน network 10.1.1.0/24 ?
❑ 10.1.1.2
❑ 10.1.1.100
❑ 10.10.10.1
❑ 10.1.2.1
❑ 10.2.1.1

แนวการวิเคราะห์
IPv6
IPv6 Protocol
• Internet Protocol version 6 (IPv6)
ได้รับการพัฒนาขึ้นมาเพื่อทดแทน IPv4
เนื่องจากปัจจุบน
ั แอดเดรสของ IPv4 กาลังจะหมดลง
โดย IPv6 ถูกออกแบบให้มีความยาวถึง 128 บิท (IPv4 ยาว 32 บิท)

• IPv6 ได้รับการปรับ header ให้มีความกระชับเพื่อเพิ่มประสิทธิภาพในการส่งต่อ packets ทาให้


สามารถตอบสนองต่อการขยายตัวและความต้องการใช้งานเทคโนโลยีบนเครือข่ายอินเทอร์เน็ตใน
อนาคตได้เป็นอย่างดี
• เน้นเรื่องความปลอดภัยมากขึ้นด้วย IPSec

• เนื่องจาก IPv6 มีรูปแบบแอดเดรสยาวและอยู่ในรูปเลขฐานสิบหก จึงให้ความสาคัญเรื่อง


Auto-configuration
• Stateful auto-configuration โดยใช้ DHCPv6
• Stateless auto-configuration โดยอาศัยอุปกรณ์เครือข่าย เช่น router ในการกาหนด Prefix ให้กับโฮสต์
ความยาวของ IPv6 Addresses

• IPv4 address
• 32 bits หรือ 4 bytes
• 4,200,000,000 แอดเดรสโดยประมาณ

• IPv6 address
• 128 bits หรือ 16 bytes (ยาว 4 เท่าของ IPv4)
• 3.4x1038 แอดเดรสโดยประมาณ
• 5x1028 แอดเดรสต่อประชากรโลก 1 คน
ตัวอย่างของ IPv6 Address
2001:0000:0000:34fe:0000:0000:00ff:0321
สามารถลดรูปเป็น 2001:0:0:34fe:0:0:ff:321
หรือ 2001::34fe:0:0:ff:321
Loop back address ::
“ ” ใช้แทนตาแหน่งทีม
่ ี 0 ติดกันมาก
ที่สุดในแอดเดรส
0000:0000:0000:0000:0000:0000:0000:0001
ลดรูปเป็น 0:0:0:0:0:0:0:1 หรือ ::1

สัญลักษณ์ "::" จะไม่ใช้แทนตาแหน่งที่มี :0: เพียงจุดเดียว


ตัวอย่างเช่น:
2001:db8:0:1:1:1:1:1
2001:db8::1:1:1:1:1
รูปแบบของ IPv6 Address และ Prefix
รูปแบบของ IPv6 address และ Prefix
Site prefix Subnet Host ID

IPv6 Prefix เทียบได้กับ netmask ของ IPv4


Prefix คือ จานวนบิทของส่วนที่เป็น network ใน IPv6 address

2001:0db8:0000:0001:0000:0000:c71b:87a7/
Prefix length

64 Network (64 bits) Host (64 bits)

2001:0db8:0000:0001:0000:0000:0000:0000
/64
Distribute Site Prefix + Subnet
Site prefix Subnet Host ID
(48 bits) (16 bits) (64 bits)

64-bit prefix 64-bit host ID

64-bit prefix เพื่อกาหนดให้กับแต่ละ network ได้มาจาก


• 48-bit site prefix จาก ISP 2001:BEEF:0:0::/64
(Router’s prefix)
• 16-bit subnet สาหรับการแบ่ง subnetwork

หลังจากตั้งค่า prefix ให้กับพอร์ตของ routers ที่ต่ออยู่กับ link


ของ network
• Routers จะประกาศ prefix ของพอร์ตนั้นไปให้กับ hosts
• Hosts จะใส่ค่า host ID ของตนเอง และได้เป็น IPv6 address 128
bits
Host กาหนด host ID ได้อย่างไร
Site prefix Subnet Host ID
(48 bits) (16 bits) (64 bits)

64-bit host ID

Host ID หรือเรียกอีกอย่างว่า Interface-ID


1. modified EUI-64 โดยการเอา layer 2 address (MAC address)
มาดัดแปลงให้เป็น host ID
2. Autogenerate ใช้การสุ่มค่า host ID ในแต่ละครั้ง
3. DHCPv6 server ทาหน้าที่แจก IPv6 address
4. Manual โดยผู้ดูแลระบบกาหนดให้กับ host แต่ละเครื่อง
5. CGA (Cryptographically generated addresses) สร้างจากรหัส
กุญแจ
ชนิดของ IPv6 Address
ชนิดของ IPv6 Address
• Unicast (global, public)
• IPv4: เช่น 203.11.22.33/24
Unicast
• IPv6: 2xxx:: , 3xxx::
• Broadcast (To all )
• IPv4: เช่น 203.11.22.255/24
• IPv6: does not exist
• Multicast (to a group)
• IPv4: [224.x.x.x - 239.x.x.x] เช่น 224.0.0.1
Multiicast
• IPv6: FFxx:: เช่น FF02::1 [all nodes multicast address]
• Anycast
• Address of a set of interfaces
Anycast
ชนิดของ IPv6 Address
• Private (unique on a LAN)
• IPv4: 192.168.x.x, 10.x.x.x, 172.16.x.x – 172.31.x.x
• IPv6: “Unique Local Address” FC00:: FD00::
• Link-Local (unique on a segment)
• IPv4: 169.254.x.x
• IPv6: FE8x::/10 – FEBx::/10
• Loopback
• IPv4: 127.0.0.1
• IPv6: ::1
การทางานร่วมกันระหว่าง IPv4 และ IPv6
การทางานร่วมกันระหว่าง IPv4 และ IPv6
เป้าหมาย: Native
• โดยการปรับมาใช้ IPv6 อย่างเดียว (ไม่รองรับ IPv4)

ไม่สามารถเปลี่ยนทั้งหมดได้โดยพร้อมกัน
• IPv4 และ IPv6 จึงต้องใช้งานร่วมกันได้

มี 3 รูปแบบสาหรับ transition technology


• Dual Stack
• แต่ละโหนดได้รับการกาหนดทั้ง IPv6 และ IPv4
• Tunnel
• ส่งข้อมูล IPv6 ผ่านโครงข่าย IPv4
• ส่งข้อมูล IPv4 ผ่านโครงข่าย IPv6
• Translation (NAT)
• Translate จาก IPv6 address ให้เป็น IPv4 address
• Translate จาก IPv4 address ให้เป็น IPv6 address
Dual Stack คืออะไร
• Dual stack หมายถึงการที่อุปกรณ์สามารถสื่อสารด้วย IPv4 และ IPv6 ได้พร้อมกัน
• ต้องได้รับการกาหนด dual stack ที่ปลายทางทั้งสองด้าน
• การสื่อสารจะแยกกัน กล่าวคือ IPv4 ↔ IPv4 และ IPv6 ↔ IPv6 ไม่สามารถข้ามกันได้

IPv4 only IPv4 only

IPv4 compatible data


Router Internet Router
IPv6 compatible data

IPv6 only IPv6 only


Tunneling Scenarios
Translation Techniques
เมื่อต้องการเชื่อมต่อข้ามระหว่าง IPv4 และ IPv6 ใช้หลักการ
ของ Network Address Translation (NAT) เป็น gateway
ที่อยู่ระหว่าง IPv4 และ IPv6 host

เช่น
• NAT64
• NAT46
• Dual-Stack Lite (DS-Lite)
ตัวอย่างการใช้งาน NAT64

• สาหรับเครือข่ายที่ให้บริการการเชื่อมต่อแบบ IPv6 เพียงอย่างเดียว


• จาเป็นที่ต้องใช้ DNS64 เพื่อช่วยในการแปลงจาก A RRs เป็น AAAA RRs

You might also like