วันเสาร์ที่ 18 เมษายน พ.ศ. 2552

well known port

...well known port

ความรู้ทั่วไปเกี่ยวกับ Portสำหรับพวก Application ในชั้น layer สูงๆ
ที่ใช้ TCP (Transmission Control Protocol) หรือ UDP (User Datagram Protocol)
จะมีหมายเลข Port หมายเลขของ Port จะเป็นเลข 16 bit เริ่มตั้งแต่ 0 ถึง 65535

หมายเลข Port ใช้สำหรับตัดสินว่า service ใดที่ต้องการเรียกใช้ ในทางทฤษฎี หมายเลข Port แต่ละหมายเลขถูกเลือกสำหรับ service ใดๆ ขึ้นอยู่กับ OS (operating system) ที่ใช้ ไม่จำเป็นต้องเหมือนกัน
แต่ได้มีกำหนดขึ้นให้ใช้ค่อนข้างเป็นมาตรฐานเพื่อให้มีการติดต่อการส่งข้อมูลที่ดีขึ้น ทาง Internet Assigned Numbers Authority (IANA) เป็นหน่วยงานกลางในการประสานการเลือกใช้ Port ว่า Port หมายเลขใดควรเหมาะสำหรับ Service ใด และได้กำหนดใน Request For Comments (RFC') 1700

ตัวอย่างเช่น เลือกใช้ TCP Port หมายเลข 23 กับ Service Telnet และเลือกใช้ UDP Port หมายเลข 69 สำหรับ Service Trivial File transfer Protocol (TFTP)

ตัวอย่างต่อไปนี้เป็นบางส่วนของ File/etc/services แสดงให้เห็นว่า หมายเลข Port แต่ละหมายเลขได้ถูกจับคู่กับ Transport Protocol หนึ่งหรือสอง Protocol ซึ่งหมายความว่า UPP หรือ TCP อาจจะใช้ หมายเลข Port เดียวกันก็ได้ เนื่องจากเป็น Protocol ที่ต่างกัน
หมายเลข Port ถูกจัดแบ่งเป็น 2 ประเภท ตามที่ได้กำหนดใน RFC' 1700
คือ
well known Ports และ
Registered Ports
- Well Known Ports คือจะเป็น Port ที่ระบบส่วนใหญ่ กำหนดให้ใช้โดย Privileged User (ผู้ใช้ที่มีสิทธิพิเศษ) โดย port เหล่านี้ ใช้สำหรับการติดต่อระหว่างเครื่องที่มีระบบเวลาที่ยาวนาน
วัตถุประสงค์เพื่อให้ service แก่ผู้ใช้ (ที่ไม่รู้จักหรือคุ้นเคย) แปลกหน้า จึงจำเป็นต้องกำหนด Port ติดต่อสำหรับ Service นั้นๆ

- Registered Ports จะเป็น Port หมายเลข 1024 ขึ้นไป ซึ่ง IANA ไม่ได้กำหนดไว้ตัวอย่างการใช้ Portแต่ละ Transport layer segment จะมีส่วนย่อยที่ประกอบไปด้วยหมายเลข Port ของเครื่องปลายทาง โดยที่เครื่องปลายทาง (Destination hostt) จะใช้ Port นี้ในการส่งข้อมูลให้ไหลกับ Application ได้ถูกต้อง หน้าที่ในการส่งหรือแจกจ่าย Segment ของข้อมูลให้ตรงกับ Application เรียกว่าการ "Demultiplexing" ในทางกลับกันเครื่องต้นทาง (Source host) หน้าที่ในการรวบรวมข้อมูลจาก Application และเพิ่ม header เพื่อสร้าง segment เรียกว่า "Multiplexing" หรือถ้ายกตัวอย่างเป็นภาษาทั่วๆ ไป คือ ในแต่ละบ้านจะมีคน 1 คนรับผิดชอบเก็บจดหมายจากกล่องจดหมาย ถ้าเป็นการ Demultiplexing คนๆ นั้นจะแจกจ่ายจดหมายที่จ่าหน้าซองให้สอดคล้องกับบุคคลนั้นๆ ในบ้าน ในทางตรงกันข้าม ถ้าเป็นการ Multiplexing คนๆ นั้นก็จะรวบรวมจดหมายจากสมาชิกในบ้านและทำหน้าที่ส่งออกไป Demultiplexing ตามหมายเลข Port จะอยู่ใน 32 bit แรกของ TCP และ UDP header โดยที่ 16 bit แรกเป็นหมายเลข Port ของเครื่องต้นทาง ขณะที่ 16 bit ต่อมาเป็นหมายเลข Port ของ เครื่องปลายทางTCP หรือ UDP จะดูที่ข้อมูลหมายเลข Port ใน header เพื่อพิจารณาว่า Application ใดที่ต้องการข้อมูลนั้นๆ หมายเลข Port ทั้งต้นทางและปลายทางจำเป็นต้องมีเพื่อให้ เครื่องปลายทางมีความสามารถที่จะรัน process มากกว่า 1 process ในเวลาเดียวกันตามที่ได้กล่าวในข้างต้น
"Well know Ports" เป็น Port ที่ค่อนข้างมาตรฐาน ทำให้เครื่องที่อยู่ไกลออกไป (Remote Computer) สามารถรู้ได้ว่าจะติดต่อกับทาง Port หมายเลขอะไรสำหรับ Service เฉพาะนั้นๆ

อย่างไรก็ตามยังมี Port อีกประเภทที่เรียกว่า Dynamically Allocated Port ซึ่ง Port ประเภทนี้ไม่ได้ถูก assign ไว้แต่เดิม แต่จะถูก assign เมื่อจำเป็น Port ประเภทนี้ให้ความสะดวกและความคล่องตัวสำหรับระบบที่มีผู้ใช้หลายๆคนพร้อมๆคน ระบบจะต้องให้ความมั่นใจว่าจะไม่ assign หมายเลข Port ซ้ำกันยกตัวอย่าง สมมติว่ามีผู้ใช้ต้องการใช้ Service Telnet ทางเครื่องต้นทางจะทำการ assign ให้ หมายเลข Dynamic Port (เช่น 3044) โดยที่หมายเลข Port ปลายทางคือ 23 เครื่องจะ assign หมายเลข Port ปลายทางเป็น23 เพราะว่า เป็น Well Known Port สำหรับ Service Telnet จากนั้นเครื่องปลายทางจะทำการตอบรับกลับโดยใช้ Port หมายเลข 23 เป็นหมายเลขต้นทาง และ หมายเลข Port 3044 เป็นหมายเลข ปลายทางกลุ่มของหมายเลข Port และ หมายเลข IP เราเรียกว่า Socket ซึ่งจะเป็นตัวบ่งชี้ที่เฉพาะเจาะจงสำหรับ Network process หนึ่งเดียวที่มีอยู่ในทั้งระบบ Internet คู่ของ Socket ที่ประกอบด้วย Socket หนึ่งตัว สำหรับต้นทาง และอีกตัว สำหรับปลายทาง สามารถใช้บรรยายถึงคุณลักษณะของ Connection oriented protocols ถ้าผู้ใช้คนที่ 2 ต้องการใช้ Service Telnet จากเครื่องปลายทางเครื่องเดียวกัน ผู้ใช้นั้นก็จะได้รับการ assign หมายเลข Port ต้นทางที่แตกต่างกันออกไป โดยมีหมายเลข Port ปลายทางเหมือนกันกับผู้ใช้คนแรกดังรูปที่ 4 จะเห็นได้ว่าการจับคู่ของหมายเลข Port และหมายเลข IP ทั้งต้นทางและปลายทางสามารถทำให้แยกความแตกต่างของ Internet connection ระหว่างเครื่องต้นทางและเครื่องปลายทางได้Active และ Passive Portsสิ่งสุดท้ายที่จะต้องกล่าวถึงเกี่ยวกับ Port ก็คือ ความแตกต่างระหว่าง Active และ Passive Portในการใช้การติดต่อด้วย TCP สามารถกระทำได้ 2 วิธีคือ Passive และ Active Connection Passive connection คือ การติดต่อที่ Application process สั่งให้ TCP รอหมายเลข Port สำหรับการร้องขอการติดต่อจาก Source Host เมื่อ TCP ได้รับการร้องขอแล้วจึงทำการเลือกหมายเลข Port ให้ แต่ถ้าเป็นแบบ Active TCP ก็จะให้ Application process เป็นฝ่ายเลือกหมายเลข Port ให้เลย

  • ตัวอย่างโปรโตคอลในลำดับชั้นแอปพลิเคชั่น (Well - Known Prots)
    Port number.....Service ...................Description

  • 20 ........FTP(Data) .....File Transfer Protocol and Data Used for transferring files

  • 21..FTP (Control) ..File Transfer Protocol and Control Used for transferring files

  • 23..................TELNET ........... used to gain “remote control” over another Machine on the network

  • 25..................SMTP .............Simple Mail Transfer Protocol, used for transferring e-mail between e-mail servers

  • 69..................TFTP..............Trivial File Transfer Protocol, used for transferring Files without a secure login

  • 80..............HTTP(World Wide Web) .....HyperText Transfer Protocol, use for transferring HTML (Web Pages)

  • 110..POP3.Post Office Protocol, version3, used for transfening e-mail form and e-mail server to and e-mail client

  • 119 ........NNTP ........Network News Transfer Protocol, used to transfer Usenet news group messages from a news server To a news reader program

  • 137................... NETBIOS-NS ................Net BIOS Name Service, Used by Misrosoft Networking

  • 138.................NETBIOS-DG.............NetBIOS Datagram Service,sed for transporting data by Microsoft Networking

  • 139.........NETBIOS-SS....NetBIOS session Service,used by Microsoft Networking

  • 161............SNMP..........Simple Network Management Protocol, used to monitor network devices remotely

  • 443...............HTTPS .......................HyperText Transfe-Protocol, Secure

วันอาทิตย์ที่ 5 เมษายน พ.ศ. 2552

การคำนวนหาเลข IP เครื่อง

/26= 2^2 = 4 และ/2^6=64
11111111.11111111.11111111.11000000
มีตารางดังนี้
.......................Subnet/Network...............Broadcast.......................IP Usage
0..00000000............0................................63...................................1-63.....
1..01000000.............64..............................127..................................65-126..
2..10000000.............128.............................191.................................129-190..
3..11000000..............192.............................255................................193-254..

/27=2^3=8และ /2^5=32

11111111.11111111.11111111.11100000
มีตารางดังนี้
.........................Subnet/Network..................Broadcast......................IP Usage..
0...00000000...............0.....................................31.................................. 1-30..
1...00000001.................32..................................63...................................33-62.
2...00000010................64...................................95..................................65-94.
3...00000011.................96...................................127...............................97-126.
4...00000100.................128................................159...............................129-158.
5...00000101..................160...............................181.................................161-180.
6...00000110...................182...............................213................................183-212.
7...00000111...................214................................245................................215-244.
..............................................................................................................................................



/28 = 2^4 =16 และ2^4=16

11111111.11111111.11111111.11110000
มีตารางดังต่อไปนี้
........................Subnet/Network..................Broadcast...................IPUsage
0...00000000............0...................................15..............................1-14......
1...00000001.............16..................................31..............................17-30....
2...00000010..............32................................63...............................33-62...
3...00000011..............64.................................79...............................65-78...
4...00000100..............80...............................95..................................81-94...
5...00000101...............96................................127...............................97-126...
6...00000110...............128................................159.............................129-154..
7...00000111...............160................................191...............................161-190...
8...00001000...............192................................207.............................192-206...
9...00001001...............208................................223..............................209-222..
10..00001010...............224...............................239.............................225-238..
11..00001011...............240...............................254..............................241-253..
12..00001100..............256................................271..............................254-270..
13..00001101.............272................................287................................273-286..
14..00001110...............288..............................303................................387-302..
15..00001111..................304...........................319...............................305-318..
16..00010000...............320.............................335..............................321-334..
...........................................................................................................
/29 = 2^5=32, 2^3=8

11111111.11111111.11111111.11111000
.......เลขฐาน ............Network ID..........broad cast.......IP Usage
0.....00000000.........0........................7..................1 -6
1.....00100000.........8.......................15.................9-14
2.....01000000.........16.....................23.................17-22
3.....01100000.........24.....................31.................25-30
4.....10000000.........32.....................39.................33-38
5.....10100000.........40.....................47.................41-46
6.....11000000.........48.....................55.................49-54
7.....11000000.........56.....................63.................57-62 8.....00001000.........64.....................71.................65-70
9.....00001001.........72.....................79.................73-78
10...00001010.........80.....................87................. 81-86
11...00001011.........88.....................95.................89-94
12...00001100.........96.....................103...............97-102
13...00001101........104....................111...............105-110
14...00001110........112....................119...............113-118
15...00001111........120....................127...............121-126
16...00010000........128....................135...............129-134
17...00010001........136....................143...............137-142
18...00010010........144....................151...............145-150
19...00010011........152....................159...............153-158
20...00010100........160....................167...............161-166
21...00010101........168....................175...............169-174
22...00010110........176....................183...............177-182
23...00010111........184....................191...............185-190
24...00011000........192....................199...............193-198
25...00011001........200....................207...............201-206
26...00011010........208....................215...............209-214
27...00011011........216....................223...............217-222
28...00011100........224....................231...............225-230
29...00011101........232....................239...............233-240
30...00011110........240....................247...............241-246
31...00011111........248....................255...............249-256



..........................................

/30.......255.255.255.252=2^6=64 และ 2^2=4
11111111.11111111.11111111.11111100
บิต........เลขฐานสอง...............Network ID............Broadcast..........IP Usage
0..........00000000.......................0............................3.........................1-2
1...........00000001.......................4............................7..........................5-6
2...........00000010.......................8...........................11.........................9-10
3...........00000011.......................12..........................15........................13-14
4...........00000100.......................16.........................19.........................17-18
5...........00000101........................20........................23.........................21-22
6...........00000110........................24........................27..........................25-26
7...........00000111.........................28........................31..........................29-30
8..........00001000.........................32........................35.........................33-34
9..........00001001..........................36.......................39.........................37-38
10........00001010..........................40.......................43.........................41-42
11.........00001011..........................44.......................47.........................45-46
12.........00001100.........................48.......................51..........................49-50
13.........00001101..........................52.......................55..........................53-54
14.........00001110..........................56......................59...........................57-58
15.........00001111..........................60.......................63...........................61-62
16.........00010000.........................64.......................67...........................65-66
17.........00010001..........................68.......................71...........................69-70
18........00010010...........................72.......................75...........................73-74
19........00010011...........................76.......................79...........................77-78
20.......00010100...........................80.......................83..........................81-82
21.......00010101............................84.......................87...........................85-86
22.......00010110............................88.......................91...........................89-90
23.......00010111............................92.......................95...........................93-94
24.......00011000...........................96.......................99...........................97-98
25.......00011001............................100....................103.........................101-102
26.......00011010............................104....................107..........................105-106
27.......00011011.............................108....................111..........................109-110
28.......00011100............................112.....................115.........................113-114
29.......00011101............................116......................119.........................117-118
30.......00011110............................120.....................123.........................121-122
31.......00011111.............................124.....................127..........................125-126
32.......00100000...........................128.....................131..........................129-130
33.......00100001............................132....................135..........................133-134
34.......00100010............................136....................139..........................137-138
35.......00100011.............................140...................143..........................141-142
36.......00100100............................144....................147..........................145-146
37.......00100101.............................148....................151..........................149-150
38.......00100110.............................152....................155.........................153-154
39.......00100111.............................156....................159.........................157-158
40......00101000.............................160....................163.........................161-162
41......00101001..............................164....................167..........................165-166
42......00101010..............................168....................171..........................169-170
43......00101011...............................172....................175..........................173-174
44......00101100...............................176...................179...........................177-178
45......00101101...............................180...................183...........................181-182
46......00101110...............................184....................187..........................185-186
47......00101111................................188....................191..........................189-190
48.....00110000...............................192....................195..........................193-194
49.....00110001...............................196.....................199.........................197-198
50.....00110010...............................200....................203.........................201-202
51......00110011...............................204....................207.........................205-206
52......00110100..............................208....................211..........................209-210
53......00110101...............................212....................215..........................213-214
54......00110110...............................216....................219..........................217-218
55......00110111...............................220....................223..........................221-222
56......00111000..............................224....................227...........................225-226
57.......00111001..............................228....................231...........................229-230
58.......00111010..............................232....................235..........................233-234
59.......00111011..............................236....................239..........................237-238
60.......00111100.............................240....................243..........................241-242
61.......00111101..............................244.....................247..........................245-246
62.......00111110..............................248.....................251..........................249-250
63.......00111111...............................252....................255..........................253-254