ทำ คว มรู้จักกับโพรโทคอล · 2. โพรโทคอล...

10
บทความวิชาการ : ทำ�คว�มรู้จักกับโพรโทคอล Stream Control Transmission Protocol 73 วารสารเทคโนโลยีสารสนเทศ ปีที ่ 9 ฉบับที ่ 2 กรกฎาคม - ธันวาคม 2556 Vol. 9, No. 2, July - December 2013 Information Technology Journal ทำ�คว�มรู้จักกับโพรโทคอล Stream Control Transmission Protocol Introduction to Stream Control Transmission Protocol บทคัดย่อ โพรโทคอล SCTP (Stream Control Transmission Protocol) เป็นโพรโทคอลในชั้นทรานสปอร์ตที่พัฒนามาจากพื้นฐาน การทำางานของ TCP และ UDP ที่มีการใช้งานมาอย่าง ยาวนาน โดยมีการเพิ่มความสามารถต่างๆ ลงไป เช่น Multi- homing คือการส่งข้อมูลหลายๆ อินเตอร์เฟซพร้อมๆ กัน Multi-streaming คือการส่งแยกข้อมูลที ่จะส่งออกเป็นหลายๆ สตรีมพร้อมๆ กัน ฯลฯ ซึ่งทำาให้ประสิทธิภาพของ SCTP นั้น สูงกว่า TCP และ UDP โดย SCTP ได้รับความนิยมมีการนำา ไปใช้งานอย่างกว้างขวางในช่วงหลายปีหลังนี้ ดังนั้น ในบทความนี้ได้มีการกล่าวถึงโพรโทคอล SCTP ในด้าน ต่างๆ รวมทั้งมีคุณสมบัติใดบ้างที่เหนือกว่า TCP และ UDP คำ�สำ�คัญ: SCTP มัลติโฮมมิ่ง มัลติสตรีมมิ่ง ชั้นทรานสปอร์ต Abstract SCTP (Stream Control Transmission Protocol) is a protocol in transport layer. It is developed based on TCP and UDP that have been used for many decades. Addition features are added to SCTP, for example, multi-homing which enables concurrent transfers of data through multiple interfaces and multi-streaming which divides a single data stream to multiple data streams. Therefore, SCTP has a higher performance than TCP and UDP, and is widely used in พงษ์พิสิฐ วุฒิดิษฐโชติ (Pongpisit Wuttidittachotti)* various environments in the last several years. This paper presents the overview of SCTP in many aspects and indicates which features of those of SCTP are better than TCP and UDP. Keywords: SCTP, Multi-homing, Multi-streaming, Transport layer. 1. บทนำา ก�รใช้ง�นระบบเครือข่�ยนั้นมีม�อย่�งย�วน�น และได้ รับคว�มนิยมม�กขึ้นเรื่อยๆ ดังจะเห็นได้ว่�ในชีวิตประจำ�วัน ของเร�นั้นมีคว�มเกี่ยวข้องกับก�รใช้ง�นระบบเครือข่�ยไม่ ท�งตรงก็ท�งอ้อม โดยจุดเริ่มต้นของก�รสื่อส�รที่เป็นที่นิยม ในปัจจุบันคือเครือข่�ยอินเทอร์เน็ต ที่มีพื้นฐ�นม�จ�กก�ร สื่อส�รด้วยเทคโนโลยี IP (Internet Protocol) [1] จ�กนั้นได้ มีก�รนำ�เทคโนโลยี IP ที่ใช้ง�นในอินเทอร์เน็ตนั้นไปใช้ง�น ในวงกว้�งม�กขึ้น เช่น ในวงก�รโทรคมน�คมนั้นมีก�รใช้ Voice over IP (VoIP) เข้�ม�ทดแทนระบบโทรศัพท์แบบ ดั้งเดิม (Plain old telephone service: POTS) โดย Internet Engineering Task Force (IETF) ได้กำ�หนดสถ�ปัตยกรรม สำ�หรับก�รขนส่งด้วยระบบสัญญ�ณ (SIGnaling TRANsport: SIGTRAN) [2] โดยสถ�ปัตยกรรม SIGTRAN นี้ถูกออกแบบ ม�เพื่อรองรับก�รส่งสัญญ�ณโทรศัพท์ในสภ�พแวดล้อมทีเครือข่�ยแบบดั้งเดิม (Legacy networks) และเครือข่�ย IP (IP-networks) ทำ�ง�นร่วมกัน แต่เนื่องด้วยสัญญ�ณโทรศัพท์ มักจะมีคว�มต้องก�รในก�รมีให้ใช้ง�น (Availability) สูง และ เวล�ที ่ใช้ในก�รนำ�ส่งสัญญ�ณเสียงน้อยกว่�ทร�ฟิก (Traffic) ชนิดอื่นๆ เช่น ทร�ฟิกขน�ดใหญ่ (Bulk traffic) จึงมีคว�ม จำ�เป็นที่จะต้องมีโพรโทคอลชั้นทร�นสปอร์ต (Transport protocol) หรือชั้นนำ�ส่งข้อมูลตัวใหม่ขึ้นม� โดยมีก�รกำ�หนด ร�ยละเอียดของโพรโทคอลตัวใหม่ในระหว่�งก�รกำ�หนด ม�ตรฐ�นของสถ�ปัตยกรรม SIGTRAN เช่น คว�มต้องก�ร ในเรื่องคว�มส�ม�รถในก�รมีให้ใช้ง�น (Availability) ของ โทรศัพท์นั ้นสูงถึง 99.9998% [2] ซึ ่งหม�ยคว�มว่� ในหนึ ่งปี ระบบส�ม�รถหยุดทำ�ง�นได้เพียงสูงสุด 10 น�ที นอกจ�ก นี้ก�รส่งสัญญ�ณโทรศัพท์ยังมีข้อกำ�หนดที่เข้มงวดในเรื่อง ของเวล� โพรโทคอลชั้นทร�นสปอร์ตในขณะนั้น คือ User Datagram Protocol (UDP) (RFC 768) [3] และ Transmission Control Protocol (TCP) (RFC 793) [4] ซึ่งมีก�รใช้ง�นม� * ภาควิชาเทคโนโลยีสารสนเทศ คณะเทคโนโลยีสารสนเทศ มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าพระนครเหนือ

Upload: others

Post on 15-Jul-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ทำ คว มรู้จักกับโพรโทคอล · 2. โพรโทคอล SCTP 2.1 ภาพรวมของ SCTP ชั้นให้บริก รทร

บทความวชาการ : ทำ�คว�มรจกกบโพรโทคอล Stream Control Transmission Protocol

73วารสารเทคโนโลยสารสนเทศปท 9 ฉบบท 2 กรกฎาคม - ธนวาคม 2556Vol. 9, No. 2, July - December 2013 Information Technology Journal

ทำ�คว�มรจกกบโพรโทคอล Stream Control

Transmission ProtocolIntroduction to Stream

Control Transmission Protocol

บทคดยอ

โพรโทคอลSCTP (Stream Control Transmission Protocol)

เปนโพรโทคอลในชนทรานสปอรตทพฒนามาจากพนฐาน

การทำางานของ TCP และUDP ทมการใชงานมาอยาง

ยาวนานโดยมการเพมความสามารถตางๆลงไปเชนMulti-

homing คอการสงขอมลหลายๆ อนเตอรเฟซพรอมๆ กน

Multi-streamingคอการสงแยกขอมลทจะสงออกเปนหลายๆ

สตรมพรอมๆกนฯลฯซงทำาใหประสทธภาพของSCTPนน

สงกวาTCPและUDPโดยSCTPไดรบความนยมมการนำา

ไปใชงานอยางกวางขวางในชวงหลายปหลงน ดงนน

ในบทความนไดมการกลาวถงโพรโทคอล SCTP ในดาน

ตางๆรวมทงมคณสมบตใดบางทเหนอกวาTCPและUDP

คำ�สำ�คญ: SCTPมลตโฮมมงมลตสตรมมงชนทรานสปอรต

Abstract

SCTP (Stream Control Transmission Protocol) is a

protocol in transport layer. It is developed based on TCP and

UDP that have been used for many decades. Addition features

are added to SCTP, for example, multi-homing which enables

concurrent transfers of data through multiple interfaces and

multi-streaming which divides a single data stream to

multiple data streams. Therefore, SCTP has a higher

performance than TCP and UDP, and is widely used in

พงษพสฐวฒดษฐโชต(Pongpisit Wuttidittachotti)*

various environments in the last several years. This paper

presents the overview of SCTP in many aspects and indicates

which features of those of SCTP are better than TCP and UDP.

Keywords: SCTP, Multi-homing, Multi-streaming, Transport

layer.

1. บทนำา

ก�รใชง�นระบบเครอข�ยนนมม�อย�งย�วน�น และได

รบคว�มนยมม�กขนเรอยๆ ดงจะเหนไดว�ในชวตประจำ�วน

ของเร�นนมคว�มเกยวของกบก�รใชง�นระบบเครอข�ยไม

ท�งตรงกท�งออม โดยจดเรมตนของก�รสอส�รทเปนทนยม

ในปจจบนคอเครอข�ยอนเทอรเนต ทมพนฐ�นม�จ�กก�ร

สอส�รดวยเทคโนโลย IP (Internet Protocol) [1] จ�กนนได

มก�รนำ�เทคโนโลย IP ทใชง�นในอนเทอรเนตนนไปใชง�น

ในวงกว�งม�กขน เชน ในวงก�รโทรคมน�คมนนมก�รใช

Voice over IP (VoIP) เข�ม�ทดแทนระบบโทรศพทแบบ

ดงเดม (Plain old telephone service: POTS) โดย Internet

Engineering Task Force (IETF) ไดกำ�หนดสถ�ปตยกรรม

สำ�หรบก�รขนสงดวยระบบสญญ�ณ (SIGnaling TRANsport:

SIGTRAN) [2] โดยสถ�ปตยกรรม SIGTRAN นถกออกแบบ

ม�เพอรองรบก�รสงสญญ�ณโทรศพทในสภ�พแวดลอมท

เครอข�ยแบบดงเดม (Legacy networks) และเครอข�ย IP

(IP-networks) ทำ�ง�นรวมกน แตเนองดวยสญญ�ณโทรศพท

มกจะมคว�มตองก�รในก�รมใหใชง�น (Availability) สง และ

เวล�ทใชในก�รนำ�สงสญญ�ณเสยงนอยกว�ทร�ฟก (Traffic)

ชนดอนๆ เชน ทร�ฟกขน�ดใหญ (Bulk traffic) จงมคว�ม

จำ�เปนทจะตองมโพรโทคอลชนทร�นสปอรต (Transport

protocol) หรอชนนำ�สงขอมลตวใหมขนม� โดยมก�รกำ�หนด

ร�ยละเอยดของโพรโทคอลตวใหมในระหว�งก�รกำ�หนด

ม�ตรฐ�นของสถ�ปตยกรรม SIGTRAN เชน คว�มตองก�ร

ในเรองคว�มส�ม�รถในก�รมใหใชง�น (Availability) ของ

โทรศพทนนสงถง 99.9998% [2] ซงหม�ยคว�มว� ในหนงป

ระบบส�ม�รถหยดทำ�ง�นไดเพยงสงสด 10 น�ท นอกจ�ก

นก�รสงสญญ�ณโทรศพทยงมขอกำ�หนดทเขมงวดในเรอง

ของเวล� โพรโทคอลชนทร�นสปอรตในขณะนน คอ User

Datagram Protocol (UDP) (RFC 768) [3] และ Transmission

Control Protocol (TCP) (RFC 793) [4] ซงมก�รใชง�นม�

* ภาควชาเทคโนโลยสารสนเทศ คณะเทคโนโลยสารสนเทศ มหาวทยาลยเทคโนโลยพระจอมเกลาพระนครเหนอ

Page 2: ทำ คว มรู้จักกับโพรโทคอล · 2. โพรโทคอล SCTP 2.1 ภาพรวมของ SCTP ชั้นให้บริก รทร

บทความวชาการ : ทำ�คว�มรจกกบโพรโทคอล Stream Control Transmission Protocol

74 ว�รส�รเทคโนโลยส�รสนเทศ ปท 9 ฉบบท 2 กรกฎาคม - ธนวาคม 2556Vol. 9, No. 2, July - December 2013Information Technology Journal

อย�งย�วน�นตงแตป ค.ศ. 1980 และค.ศ. 1981 ต�มลำ�ดบ

ยงมคว�มส�ม�รถไมเพยงพอตอคว�มตองก�รดงกล�ว

จงมก�รพฒน�โพรโทคอลตวใหมทชอ Stream Control

Transmission Protocol (SCTP) (RFC 4960) [5] ทม

คณลกษณะต�งๆ ทดขนในก�รสนบสนนก�รนำ�สงสญญ�ณ

เชน SCTP ถกออกแบบม�ใหมประสทธภ�พใหทนท�น

(Robust) ตอก�รทลงคเสยห�ย (Link failures) และชวย

บรรเท�ปญห�เกยวกบเรองก�รใหบรก�รแบบรบสงขอมล

ภ�ยในเวล�ทกำ�หนด (Timeliness) ของ TCP ทมในปจจบน

นอกเหนอจ�กแอพพลชนระบบสญญ�ณ (Signaling

applications) เร�ยงส�ม�รถใชประโยชนจ�กฟงกชนต�งๆ

ของ SCTP ได โดย IETF ไดตดสนใจทจะสร�งม�ตรฐ�นของ

SCTP สำ�หรบก�รใชง�นอนเทอรเนตทวไปดวย ซงทำ�ให

SCTP นนมคว�มทจำ�เปนในก�รใชทรพย�กรรวมกนกบผใช

เครอข�ย TCP อย�งเปนธรรม โดย SCTP จะส�ม�รถทำ�ง�น

รวมกบ TCP (TCP-friendly) ได ดงนน IETF จงตดสนใจท

จะรวมกลไกต�งๆ ททำ�ง�นเหมอน TCP (TCP-like

mechanisms) เข�ไปเปนสวนหนงของ SCTP ดวย ใน

บทคว�มนจงไดนำ�เสนอเรองร�วเกยวกบโพรโทคอล SCTP

ในแงมมต�ง ๆ กน

2. โพรโทคอล SCTP

2.1 ภาพรวมของ SCTP

ชนใหบรก�รทร�นสปอรตของ SCTP (SCTP transport

service layer) แสดงในภ�พท 1 [6] อยในตำ�แหนงระหว�ง

แอพพลเคชนของผใชทใช SCTP (SCTP user application

layer) และบรก�รเครอข�ย (Network service layer) ทกำ�ลง

ใชอย เนองดวย SCTP นนจะขนอยกบก�รอนเตอรเฟซกบ

ปล�ยท�งหรอเรยกว� endpoint ทเปน SCTP (SCTP end-

points) 2 จด โดยมสวนทตดตอกบก�รเขยนโปรแกรม

แอพพลเคชนทชดเจน (APIs: application programming

interfaces) ททำ�ง�นในระหว�งชน SCTP transport service

และชน SCTP user application นอกจ�กนแตละ endpoint ยง

ส�ม�รถมไดหล�ยหม�ยเลข IP address

SCTP ส�ม�รถใชง�นไดหล�ย ๆ เสนท�ง (Multiple paths)

และหล�ยๆ สตรม (Multiple streams) พรอมกนเพอสง

ขอคว�มข�มระหว�ง 2 endpoint โดยใน SCTP ขอมลจะถก

สงผ�นระหว�ง endpoint โดยผ�นก�รเชอมตอทเรยกว�

“association” โดยท association นนจะเรมตนก�รทำ�ง�นดวย

“ก�รเรมตน (initiation)” และมก�รบำ�รงรกษ�จนกว�ขอมล

ทงหมดไดถกสงไปและไดรบเรยบรอยแลว เมอขอมลทงหมด

นนไดรบแลว association นนกจะสนสดผ�น “ก�รปด (shutdown)”

ภ�ยใน SCTP ขอมลของผใชและข�วส�รเกยวกบก�ร

ควบคม (Control information) จะถกประกอบอยในชงค

(Chunk) ซงอ�จจะมม�กกว� 1 ชงค โดยชงคคอหนวยของ

ขอมล (Unit of information) ทใชในแพคเกต SCTP โดยท

ชงคและสวนหวทใชรวมกน (Common Header) นนจะ

ประกอบดวยหนวยขอมลโพรโทคอล (Protocol data unit:

PDU) หรอเรยกว� “แพคเกต SCTP” (SCTP packet) ในแพค

เกต SCTP นนมชงคของขอมล (Data chunks) และชงคของ

ก�รควบคม (Control chunks) โดย SCTP ไดจดเตรยมก�ร

สงขอคว�มแบบเรยงลำ�ดบ (Ordered message delivery)

ภ�ยใน “สตรม SCTP” (SCTP streams) และก�รสนบสนน

เครอข�ยททนท�นตอคว�มบกพรอง (Fault tolerance) ใน

สภ�พแวดลอมของ multi-homing (ดในหวขอท 2.1.1)

SCTP ถกพฒน�ขนเพอรองรบก�รสงขอมลทไมเหม�ะท

จะสงดวย TCP โดย IETF-SIGTRAN ซงเปนกลมก�รทำ�ง�น

เพอแกปญห�ก�รขนสงของสญญ�ณสำ�หรบก�รสอส�รดวย

แพคเกตบนระบบโทรศพทบนเครอข�ย IP (Packet-based

PSTN signaling over IP Networks) โดยไดเผยแพรออกส

ส�ธ�รณะชนเมอเดอนตล�คม ค.ศ.2000 ใน RFC2960 [5]

โดย SCTP มลกษณะก�รทำ�ง�นทคล�ยคลงกบ TCP แตได

เพมคณสมบตหล�ยประก�รเพอแกปญห�ต�งๆ ทพบใน

ภาพท 1 ตำาแหนงทอยของ SCTP ใน IP Stack

Page 3: ทำ คว มรู้จักกับโพรโทคอล · 2. โพรโทคอล SCTP 2.1 ภาพรวมของ SCTP ชั้นให้บริก รทร

บทความวชาการ : ทำ�คว�มรจกกบโพรโทคอล Stream Control Transmission Protocol

75วารสารเทคโนโลยสารสนเทศปท 9 ฉบบท 2 กรกฎาคม - ธนวาคม 2556Vol. 9, No. 2, July - December 2013 Information Technology Journal

TCP ซงคณสมบตเหล�นนไดแก

2.1.1 Multi-homing

SCTP นนออกแบบม�เพอจดก�รกบระบบสญญ�ณ

ในระบบโทรคมน�คมบน IP ซงเปนระบบทตองมคว�มล�ช�

ของสญญ�ณ (Delay) ตำ�เปนอย�งม�ก ซงนบหนวยเปนมลล

วน�ท Multi-homing (ภ�พท 2 [7]) อนญ�ตใหในเครอง

คอมพวเตอร 1 เครองมไดหล�ยๆ อนเตอรเฟซ (Multiple

interfaces) สำ�หรบก�รทำ�เสนท�งสำ�รอง (Redundant link)

เพอทจะใชทดแทนในกรณทเสนท�งหลก (Primary path) เสย

ห�ย โดยไมตองรอเปนเวล�น�น ก�รทำ�ง�นของ SCTP จะ

มอนเตอรเฟซหลกทใชง�นเปนเสนท�งหลกซงเรยกว�

primary path และอนเตอรเฟซทเหลอจะเปนเสนท�งทสอง

ซงเรยกว� secondary path หรอ alternative paths ในกรณท

มหล�ยๆ อนเตอรเฟซ ถ�เสนท�งของ primary path เสยห�ย

ไมส�ม�รถใชง�นไดไมว�จะดวยเหตผลใดกต�ม secondary

path กจะถกใชง�นแทน

เมอ primary path ส�ม�รถใชง�นไดอกครง ก�รสอส�รก

จะกลบม�ใชเสนท�งหลก โดยทแอพพลเคชนไมจำ�เปนตอง

สนใจกบประเดนน ในขณะทสร�งก�รเชอมตอ (Connection)

อนเตอรเฟซทเปน primary และ secondary จะถกตรวจสอบ

และเฝ�ดอยตลอดเวล� โดยใชขบวนก�รของ heartbeat/

heartbeat acknowledgement ซงจะทำ�หน�ทตรวจสอบ

แอดเดรส (Validates addresses), และดแลรกษ�ก�รคำ�นวณ

ค� Round Trip Time (RTT) สำ�หรบแตละแอดเดรส โดยค�

RTT แสดงใหเหนว� primary path นนทำ�ง�นช�กว� secondary

path หรอไม และอนญ�ตใหก�รสอส�รย�ยไปยงอนเตอรเฟซ

ทเปน secondary ได

2.1.2 Multi-streaming

ก�รทำ�ง�นของ TCP ใน 1 connection จะมไดเพยง

แค data stream เดยวเท�นน ทำ�ใหขอมลทงหมดตองผ�นไป

บนสตรมนนเท�นน สวนก�รทำ�ง�นของ SCTP อนญ�ตให

ใน 1 connection หรอ 1 association มหล�ยสตรมพรอมกน

ได (Multiple simultaneous data streams) (ภ�พท 3 [8]) ซง

เรยกวธก�รนว� Multi-streaming [6] แตละ message ทสง

data stream ส�ม�รถทจะมปล�ยท�งทแตกต�งกนได อย�งไร

กต�ม แตละ message กตองดแลรกษ�ขอบเขตของขอคว�ม

(Message boundaries) ของตนเอง เชน ระบบไมส�ม�รถสง

สวนทเหมอนกนของขอคว�มไปยงสตรมอนๆ ได หนง

ขอคว�มตองสงผ�นไปยง 1 สตรมเท�นน

ใน TCP เมอมก�รรนระบบก�รสงขอมลแบบเรยง

ลำ�ดบ (Ordered data delivery system) ถ�มแพคเกตใดแพคเกต

หนงผดลำ�ดบไป (Out of order) หรอห�ยไป จะทำ�ใหสตรมนน

ถกบลอก (Block) (ภ�พท 4-ก [9]) เพอจะไดทำ�ก�รแกปญห�

ของลำ�ดบขอมล ซงเรยกว� “Head-of-Line Blocking” ใน

SCTP ก�รใชง�น multi-streams (ภ�พท 4-ข [9]) จะมเพยง

แคสตรมทไดรบผลกระทบเท�นนทจะถกบลอก สวนสตรม

อนๆ ยงคงส�ม�รถใชสงขอมลไดปรกต

โดยก�รใช multi-streams กบ SCTP นน ประเดน

เกยวกบเวบเบร�เซอรทมเพยงแคคว�มส�ม�รถในก�ร

จดก�รกบก�รเชอมตอ 2 ก�รเชอมตอพรอมกนไดถกกำ�จด

ออกไป ไคลเอนตหรอเวบเซรฟเวอรส�ม�รถเปดสตรมเพม

เตมขนม� และสงภ�พ ขอคว�ม ฯลฯ ผ�นแตละสตรม โดย

ลดค�เวล�หนวง (Latency) โดยรวม นอกจ�กนยงส�ม�รถ

ลดค�ใชจ�ย (Overhead) ทเซรฟเวอรซงมกจะมก�รเชอมตอ

ทแบงแยกเปนจำ�น�นม�กเพอตองก�รทจะตอบสนองก�ร

รองขอ

ภาพท 2 Multi-homing

ภาพท 3 Multi-streaming

Page 4: ทำ คว มรู้จักกับโพรโทคอล · 2. โพรโทคอล SCTP 2.1 ภาพรวมของ SCTP ชั้นให้บริก รทร

บทความวชาการ : ทำ�คว�มรจกกบโพรโทคอล Stream Control Transmission Protocol

76 ว�รส�รเทคโนโลยส�รสนเทศ ปท 9 ฉบบท 2 กรกฎาคม - ธนวาคม 2556Vol. 9, No. 2, July - December 2013Information Technology Journal

สตรมมงของ SCTP ยงจะชวยใหมโครงสร�งพนฐ�น

(Infrastructures) ทเชอมตอกบวธก�รของก�รสอส�รทหล�ก

หล�ยพรอมๆ กนได เชน ในภ�พท 3 สตรมท 1 อ�จจะ

เปนก�รสอส�รดวยเสยง สตรมท 2 อ�จจะเปนก�รสงวดโอ

สตรมท 3 อ�จเปนโปรแกรมทใชรวมกน และอนๆ ตอไป โดย

ก�รเปดใช SCTP เพอตอบสนองคว�มตองก�รในอน�คตของ

กลม SIGTRAN ทำ�ใหนกพฒน�ส�ม�รถทำ�ง�นเชอมตอกบ

SCTP ไดง�ยขน โดยสงทนกพฒน�ตองทำ�คอเพยงแค

เกยวของกบสตรมท เหม�ะสมท ใชสงข�วส�รไปยง

แอพพลเคชนเท�นน

2.2 รปแบบของแพคเกต SCTP

สวนนจะอธบ�ยถงรปแบบของแพคเกต SCTP (SCTP

packet format) ซงร�ยละเอยดแสดงดงภ�พท 5 [8]

สวนหว (Common header) ประกอบดวย [6]:

• แอดเดรสของพอรตทตนท�ง (Source port address)

• แอดเดรสของพอรตทปล�ยท�ง (Destination port address)

• แทกก�รตรวจสอบ (Verification tag)

• ก�รตรวจสอบของแพคเกตทงหมด (The checksum of

the entire packet)

หม�ยเลขพอรตตนท�ง (Source port) จะถกใชโดย endpoint

ทไดรบแพคเกตเพอระบใหทร�บว�แพคเกต SCTP นนขน

อยกบ association ใด หม�ยเลขพอรตปล�ยท�ง (Destination

port) คอพอรตของผรบ SCTP ทตองสงแพคเกตไป แตละ

endpoint จะกำ�หนดแทกก�รตรวจสอบ (มค� 32 บต) ทระบ

association โดยค�ก�รตรวจสอบ (Checksum) ทำ�หน�ทเปน

เครองมอตรวจสอบคว�มสมบรณของขอมลสำ�หรบแตละ

แพคเกต SCTP

ฟลดภ�ยในชงคส�ม�รถอธบ�ยไดดงน

• ฟลดชนดของชงค (Chunktype): ระบชนดของฟลดท

ถกสง

• ฟลดแฟลกของชงค (Chunk flag): ระบว�บตใดบ�งจะ

ถกนำ�ม�ใชใน association

• คว�มย�วของชงค (Chunk length): ระบขน�ดของชงค

ทงหมดมค�กไบต

• ขอมลของชงค (Chunk data): รวมขอมลจรง (Actual

data payload) ของชงคทงหมด

ต�มทระบไวในภ�พท 5 มสม�ชก N ชงค (จำ�นวนของ

ชงค) ทระบไวในแพคเกต SCTP 1 แพคเกต จำ�นวน N จะ

ถกกำ�หนดโดยขน�ดของหนวยสงสงสด (MTU: maximum

transmission unit) ทสงผ�นไดเสนท�งทใชสงนน ใน SCTP

อนญ�ตใหมก�รมลตเพลกซหล�ย ๆ ชงคในหนงแพคเกตท

มขน�ดเท�กบคว�มจเตม MTU (Chunks are multiplexed in

one packet to full MTU capacity) โดยมขอยกเวนสำ�หรบ

ชงคของก�รเรมตน (INIT) และชงคตอบกลบก�รเรมตน

ภาพท 4 Head-of-Line Blocking

ภาพท 5 รปแบบของแพคเกต SCTP

Page 5: ทำ คว มรู้จักกับโพรโทคอล · 2. โพรโทคอล SCTP 2.1 ภาพรวมของ SCTP ชั้นให้บริก รทร

บทความวชาการ : ทำ�คว�มรจกกบโพรโทคอล Stream Control Transmission Protocol

77วารสารเทคโนโลยสารสนเทศปท 9 ฉบบท 2 กรกฎาคม - ธนวาคม 2556Vol. 9, No. 2, July - December 2013 Information Technology Journal

(INIT ACK) เร�ส�ม�รถแบงชงคออกไดเปน 14 ชนด

ประกอบไปดวย ชงคของขอมลและชงคสำ�หรบควบคมอก

13 ชนด ชงคของขอมลนนประกอบไปดวยขอมลทเกดขน

จรง คว�มหม�ยและพ�ร�มเตอรของชงคควบคมไดสรปไว

ใน [6]

2.3 ฟงกชน SCTP: ตดตามขบวนการการสง

(Tracking the Transmission Process) [6]

สวนนจะอธบ�ยขนตอนก�รขนสงขอมลซงประกอบดวย

3 ขนตอนหลกของ SCTP association: ก�รเรมตน (initiation)

(ภ�พท 6 [6]) ก�รสงขอมล (data transmission) (ภ�พท 7

[6]) และก�รปดหรอก�รสนสด (shutdown) (ภ�พท 8 [6])

โดยในทน endpoint ทเรมตนสร�ง association จะเรยกว�

“โหนด A” สวน endpoint ทไดรบก�รรองขอก�รจดตง

association จะเรยกว� “โหนด B”

หม�ยเหต: ชงคยกเลก (ABORT) และชงคขอผดพล�ด

(ERROR) ส�ม�รถสร�งโดย endpoint ฝงใดกไดและส�ม�รถ

สงในเวล�ใดกไดในระหว�งชวง association ซงทงสองกรณ

จะทำ�ให endpoint ปดทนท

2.3.1 ขนตอนเรมตน Association (Association

Initiation)

1. โหนด A สร�งชงค INIT และสงไปยงโหนด B ใน

ขณะเดยวกน โหนด A จะเรมใชตวนบเวล� INIT (INIT timer)

2. ถ�โหนด B ประสงคทจะยอมรบ association นก

สร�งชงค ACK INIT พรอมดวยคกก จ�กนนจะสงชงค ACK

INIT พรอมกบคกกกลบไปยงโหนด A

3. โหนด A ไดรบชงค ACK INIT และหยดตวจบ

เวล� INIT จ�กนน โหนด A จะสร�งชงค COOKIE ECHO

สงกลบยงโหนด B และโหนด A จะเรมตวจบเวล�คกก

(cookie timer) ในขณะทสงไปนน ชงคขอมลอ�จจะรวมไป

ในแพคเกตนดวย

4. โหนด B ตรวจสอบคว�มถกตองของคกก หลง

จ�กก�รตรวจสอบกจะสง COOKIE ACK กลบไปยงโหนด A

5. โหนด A ไดรบ COOKIE ACK และเข�สขนตอน

ตอไปของก�รสงขอมล

2.3.2 ข นตอนก�รส งข อม ล ใน Associat ion

(Association Data Transmission)

โหนด A และโหนด B ส�ม�รถสงขอมลไดอย�งตอ

เนอง ตลอดกระบวนก�รก�รสงขอมล ชงค HEARTBEAT และ

ชงค HEARTBEAT ACK จะถกแลกเปลยนระหว�งโหนดใน

ทกๆ ชวงเวล�ทแนนอนซงควบคมโดยตวจบเวล�ก�รเตน

ของหวใจ (Heartbeat timer) โดยชงคเหล�นใชเพอทดสอบ

ก�รเชอมตอของ endpoint เพอทจะรกษ�คว�มถกตองของ

ก�รสงขอมล

6. โหนด A และโหนด B แลกเปลยนชงคขอมล

7. หลงจ�กทไดรบแตละชงคขอมล ปล�ยท�งทได

รบจะตอบกลบดวยชงค SACK (Selective Acknowledgement)

ภาพท 6 การเรมตน association ใน SCTP โดยใชวธการ

แบบ Four-Way Handshake

ภาพท 7 ขบวนการการสงขอมลใน SCTP

Page 6: ทำ คว มรู้จักกับโพรโทคอล · 2. โพรโทคอล SCTP 2.1 ภาพรวมของ SCTP ชั้นให้บริก รทร

บทความวชาการ : ทำ�คว�มรจกกบโพรโทคอล Stream Control Transmission Protocol

78 ว�รส�รเทคโนโลยส�รสนเทศ ปท 9 ฉบบท 2 กรกฎาคม - ธนวาคม 2556Vol. 9, No. 2, July - December 2013Information Technology Journal

เพอแจงใหผรบทร�บ

8. ขอมลจะถกสงจนกว�จะมปล�ยท�งฝงใดฝงหนง

ตดสนใจทจะปด association โดยก�รสงชงค SHUTDOWN

รวมไปเปนสวนหนงของแพคเกตนน

2.3.3 ก�รปดหรอก�รสนสด Association (Association

Shutdown)

ชงค SHUTDOWN ส�ม�รถทจะสงโดยโหนดใดกได

ระหว�งสองโหนดทสอส�รกนอย ในทน พจ�รณ�ทโหนด A

ว�เปนผเรมตนขบวนก�รก�รปด (Shutdown process)

9. โหนด A สงชงค SHUTDOWN ไปยงโหนด B

และเรมตวนบเวล� shutdown (Shutdown timer)

10. โหนด B จะตอบกลบหลงจ�กไดรบชงค SHUT-

DOWN โดยก�รสร�งชงค SHUTDOWN ACK สงกลบไป

ยงโหนด A

11. เมอโหนด A ไดรบ SHUTDOWN ACK และ

ตอบสนองดวยก�รปดตวนบเวล� shutdown จ�กนนโหนด

A จะสร�งชงค SHUTDOWN COMPLETE สงกลบไปยง

โหนด B

ในทง 3 ขนตอน คอ ก�รเรมตน ก�รสงขอมลและ

ก�รปด จะทำ�ง�นผ�น SCTP API ท เชอมตอกบชน

แอพพลเคชนและชนทร�นสปอรต

โพรโทคอลชนทร�นสปอรตในเครอข�ย IP เชน TCP และ

UDP ไดรบประโยชนจ�กซอกเกต API โดยทซอกเกต API

ไดเตรยมก�รออกแบบทเปนม�ตรฐ�นทส�ม�รถอนเต

อรเฟซข�มหล�กหล�ยระบบปฏบตก�รและหล�กหล�ย

แพลตฟอรมได โดยส�ม�รถดร�ยละเอยดของซอกเกตของ

API ทใชในก�รแนะนำ�บรก�รของ SCTP ในแอพพลเคชนท

ใช TCP และ UDP เปนพนฐ�นไดท [6]

2.4 ประโยชนทเพมขนของ SCTP เมอเทยบกบ TCP

ร�ยละเอยดก�รเปรยบเทยบระหว�ง TCP UDP และ

SCTP นน ส�ม�รถอ�นเพมเตมไดจ�ก [8] ในบทคว�มนจะ

นำ�เสนอสวนทสำ�คญดงน [7]

2.4.1 ก�รอนญ�ตใหก�รเชอมตอแบบปดไดครงหนง

(Allow half-closed connections)

ก�รเชอมตอแบบปดไดครงหนงส�ม�รถเกดขนได

เมอด�นหนงของก�รสนทน�เชอว�ก�รเชอมตอนนถกปดไป

แลว แตในขณะทอกฝงหนงเชอว�มนยงคงเปดอย ใน TCP

ใชคำ�สงทตองก�รสนสดในลกษณะ 4 ทศท�ง (four-way)

ประกอบดวยก�รสงขอคว�ม FIN และ FIN-ACK ทงสอง

ทศท�ง ก�รเชอมตอแบบเปดไดครงหนง (Half-open) อ�จ

ยงคงมอยได ถ�สองขอคว�มสดท�ย คอ FIN และ FIN-ACK

ไมไดสง (ภ�พท 9-ก) ทำ�ให SCTP กำ�จดโอก�สทจะเกด

เหตก�รณนขน โดยใชวธก�รปดแบบ 3 ท�ง (three-way

shutdown) (ภ�พท 9-ข) ซงประกอบดวยก�รขอปดก�รเชอม

ตอ (SHUTDOWN) ก�รยนยนก�รปดก�รเชอมตอ (SHUT-

DOWN-ACK), และก�รแสดงปดก�รเชอมตอเรยบรอยแลว

(SHUTDOWN-COMPLETION) เมอขบวนก�รนเรมขน ทง

สองฝ�ยจะยตก�รสอส�รทนท ห�กตองก�รสงขอมลเพมเตม

จะตองทำ�ก�รสร�งก�รเชอมตอใหมอกครง

2.4.2 ก�รสงวนขอบเขตของขอคว�ม (Preservation

of message boundaries)

ห�กไคลเอนตสงขอคว�มขน�ด 100 ไบตและขน�ด

50 ไบต ข�วส�รจะถกนำ�เสนอไปยงเซรฟเวอรกบขอบเขต

ของขอคว�มทสงวนไว (Preserved message boundaries) แต

ในก�รทำ�ง�นกบ TCP ขอคว�มอ�จถกสง/รบ โดยขอคว�ม

จะมขน�ด 150 ไบต ดงตวอย�งภ�พท 10-ก ขอคว�มทได

รบจะมเพยงแค 1 ขอคว�ม ซงก�รทำ�แบบนจะบงคบให

แอพพลเคชนตองแยกขอคว�มกลบไปยงรปแบบเดมทม�

จ�กตนท�ง แตในก�รทำ�ง�นกบ SCTP และ UDP (ภ�พท

10-ข) ขอคว�มจะถกสงเปน 100 ไบตและ 50 ไบต ต�มลำ�ดบ

โดยในก�รทำ�ง�นกบ SCTP และ UDP จะมก�รดแลรกษ�

ขอบเขตของขอคว�มและแอพพลเคชนไมตองทำ�ก�รแยก

ขอคว�มนทปล�ยท�งอกครง

ภาพท 8 ขบวนการการปด association ใน SCTP

Page 7: ทำ คว มรู้จักกับโพรโทคอล · 2. โพรโทคอล SCTP 2.1 ภาพรวมของ SCTP ชั้นให้บริก รทร

บทความวชาการ : ทำ�คว�มรจกกบโพรโทคอล Stream Control Transmission Protocol

79วารสารเทคโนโลยสารสนเทศปท 9 ฉบบท 2 กรกฎาคม - ธนวาคม 2556Vol. 9, No. 2, July - December 2013 Information Technology Journal

2.4.3 ก�รปองกนโจมตดวยก�รสง SYN เปนจำ�นวน

ม�ก (Protect against SYN flooding attacks)

เพอใหเข�ใจถงก�รโจมตดวยก�รสง SYN เปน

จำ�นวนม�ก เร�ตองดทวธก�รเชอมตอทเปนแบบฉบบทจด

ตงขน โดยก�รใชง�น TCP ไคลเอนตเรมสอส�รโดยก�รสง

ก�รรองขอซงโครไนซ หรอแพคเกต SYN ท�งฝงเซรฟเวอร

จะตอบสนองดวยก�รยอมรบโดยสงกลบแพคเกต SYN-ACK

และในทสดไคลเอนตกจะตอบกลบแพคเกตทไดรบ โดยสง

แพคเกต ACK กลบไปทเซรฟเวอร ซงเร�เรยกขบวนก�รน

ว� “ก�รจบมอแบบส�มท�ง (Three-way handshake)” (ภ�พ

ท 11-ก) เมอทงส�มขนตอนเสรจสมบรณจะส�ม�รถเรมตน

ก�รสอส�รได ในท�งตรงกนข�มกบ SCTP ซงใช “ก�รจบมอ

แบบสท�ง (Four-way handshake)” (ภ�พท 11-ข) แตอ�จจะ

เรมสงข�วส�รไดตงแตขนตอนทส�ม โดยก�รทำ�ง�นคอ

ไคลเอนตทใช SCTP จะเรมก�รสอส�รโดยก�รสงแพคเกต

INIT เมอฝงเซรฟเวอรไดรบจะตอบกลบไปดวยแพคเกต

INIT-ACK และ cookie (บรบทเฉพ�ะทระบก�รเชอมตอ) ฝง

ไคลเอนตเมอไดรบแลว จะสงค� cookie ของเซรฟเวอรทได

รบม�ตอนแรกกลบไปยงเซรฟเวอร นอกจ�กนฝงไคลเอนต

ยงส�ม�รถสงข�วส�รเพมเตมหลงจ�กก�รสง COOKIE-

ECHO ท�งฝงเซรฟเวอรเมอไดรบ COOKIE-ECHO แลวก

จะตอบกลบดวย COOKIE-ACK กลบไปยงฝงไคลเอนต

ภาพท 9 การปดการเชอมตอ

ภาพท 10 การสงวนขอบเขตของขอความ

ภาพท 11 การสรางการเชอมตอ

Page 8: ทำ คว มรู้จักกับโพรโทคอล · 2. โพรโทคอล SCTP 2.1 ภาพรวมของ SCTP ชั้นให้บริก รทร

บทความวชาการ : ทำ�คว�มรจกกบโพรโทคอล Stream Control Transmission Protocol

80 ว�รส�รเทคโนโลยส�รสนเทศ ปท 9 ฉบบท 2 กรกฎาคม - ธนวาคม 2556Vol. 9, No. 2, July - December 2013Information Technology Journal

ก�รโจมตดวยก�รสง SYN (ภ�พท 12) เปนจำ�นวนม�ก

เกดขนเมอไคลเอนต 1 เครองหรอหล�ยๆ เครองสงแพคเกต

SYN ไปยงเซรฟเวอร ซงจะทำ�ใหเซรฟเวอรเป�หม�ยนน

จดสรรทรพย�กรไวใหสำ�หรบแตละก�รรองขอและมกจะเกน

ขดคว�มส�ม�รถของเซรฟเวอรทจะรบได ทำ�ใหเซรฟเวอร

ตองมก�รรบตเครองหรออ�จมผลทเลวร�ยกว�นนได เมอ

ทำ�ง�นกบ TCP เซรฟเวอรจะมก�รจดสรรทรพย�กรให

เรยบรอยแลวสำ�หรบแตละก�รเชอมตอ ภ�ยในก�รเชอมตอ

แบบ TCP endpoint ทงสองฝงตองทำ�ก�รจดสรรพอรต

ชวคร�ว (Ephemeral port) หนวยคว�มจำ� และก�รประมวล

ผลของ CPU สำ�หรบก�รเชอมตอใหมแตละก�รเชอมตอ ก�ร

เชอมตอดวย TCP เรมตนเมอมก�รรบแพคเกต SYN แลว

จะมก�รจดสรรทรพย�กรสำ�หรบก�รเชอมตอนน ในขณะท

ก�รทำ�ง�นดวย UDP ซงเปนโพรโทคอลแบบ connection-less

ไมไดใชขบวนก�รแบบน สวนก�รใช SCTP เซรฟเวอรจะไม

ทำ�ก�รจดสรรทรพย�กรสำ�หรบก�รเชอมตอนนจนกว�จะได

รบ COOKIE-ECHO แลวหลงจ�กนน ไคลเอนตทใช SCTP

ตองทำ�ก�รจดสรรทรพย�กรทใชเพอใหส�ม�รถทจะสง

ข�วส�รได

2.4.4 ก�รเลอกตอบกลบ (Selective acknowledgements)

ในม�ตรฐ�น TCP ทกๆ ขอคว�มหรอแพคเกตของ

ข�วส�รตองมก�รพจ�รณ�โดยตองมก�รยนยนก�รไดรบ

ขอคว�มหรอแพคเกตนน (Acknowledgement) ตองมก�รสง

ใหม (Resend) เมอจำ�เปนและตองถกประมวลผลในก�รลำ�ดบ

(In the order) ทแพคเกตเหล�นนถกสงม� สวนก�รใชง�น

SCTP นน ท�งฝงผรบมคว�มส�ม�รถในก�รเลอกตอบกลบ

สำ�หรบขอคว�มทสญห�ยไป (Missing) ไมเปนต�มลำ�ดบท

สงม�จ�กตนท�ง (Disordered) หรอซำ� (Duplicated) เนองจ�ก

ธรรมช�ตของก�รสอส�รโทรคมน�คม แอพพลเคชนสวน

ใหญจะจบลงทก�รทงขอคว�มใดๆ ทไมซงโครไนซกน

(Unsynchronized) หรอเรยกง�ยๆ ว�ขอมลทไมตรงกนนน

จะถกทงไป ดงนนจงมคว�มจำ�เปนทตองมก�รทงขอมลบ�ง

สวนจ�กก�รสงและขอมลทไดรบ ซงหม�ยถงว�บ�งสวนของ

คำ�บ�งสวนของวดโอ หรอบ�งชนสวนของก�รรเฟรช

(refresh) ไวทบอรดจะถกละเลยไป แอพพลเคชนและผใชอ�จ

สงเกตเหนเพยงเลกนอยในก�รข�ดห�ยไปของเสยง วดโอ

หรอก�รรเฟรช ซงสงนถกเรยกว�เวล�หนวง (Jitter) ในโลก

ก�รสอส�รโทรคมน�คม ผลรวมเวล�หนวงทนอยม�กๆ มก

เปนทตองก�รม�กกว�ก�รกว�ก�รสงแพคเกตใหมอกครง

และก�รทตองประมวลผลใหมอกครงนนจะทำ�ผลรวมของ

เวล�หนวงมค�เพมขนเปนสองเท� ซงโดยปรกตแลว ผใช

มกสงเกตเหนคว�มล�ช�นไดอย�งชดเจน

2.4.5 ก�รนำ�สงขอมลแบบไมเรยงลำ�ดบ (Unordered

data delivery)

เนองจ�กธรรมช�ตของเครอข�ย มคว�มเปนไปได

ว�แพคเกตทงหมดทถกสงไปอ�จเดนท�งข�มเครอข�ยโดย

ไมไดใชเสนท�งเดยวกน อ�จมเวล�ล�ช�เนองจ�กก�รใช

เสนท�งหนงทมคว�มล�ช�ม�กกว�เวล�ล�ช�ทเสนท�ง

อนๆ ฝงผรบเมอไดรบขอคว�มนนอ�จไดรบขอคว�มทม

ลำ�ดบไมเหมอนกบขอคว�มเดมทสงม� ก�รนำ�สงขอมลแบบ

ไมเรยงลำ�ดบทเกดในเหตก�รณน จะส�ม�รถแกไขปญห�

ไดโดยก�รเรยงลำ�ดบขอคว�มนนใหมใหถกตอง ในก�รใช

ง�นคณลกษณะก�รถ�ยโอนขอมลทเชอถอ (Reliable data

transfer) ไดของ TCP ตองก�รใหแพคเกตเหล�นนถก

ประมวลผลต�มลำ�ดบทจดสงม� ถ�มแพคเกตใดห�ยไปหรอ

ผดลำ�ดบไป ตองมก�รเรยงลำ�ดบแพคเกตใหมกอนทก�ร

ประมวลผลจะส�ม�รถดำ�เนนก�รตอไปได

ภ�พท 13 ถ�เร�ใช TCP เมอขอคว�มท 3 ไดรบกอน

ก�รประมวลผลทงหมดจะหยด และรอขอคว�มท 2 เมอได

รบขอคว�มท 2 กเรมก�รประมวลผล จ�กนน ขอคว�มท 3

ภาพท 12 การโจมตดวยการสง SYN เปนจำานวนมาก

ภาพท 13 การสงขอมลทไมเรยงลำาดบ

Page 9: ทำ คว มรู้จักกับโพรโทคอล · 2. โพรโทคอล SCTP 2.1 ภาพรวมของ SCTP ชั้นให้บริก รทร

บทความวชาการ : ทำ�คว�มรจกกบโพรโทคอล Stream Control Transmission Protocol

81วารสารเทคโนโลยสารสนเทศปท 9 ฉบบท 2 กรกฎาคม - ธนวาคม 2556Vol. 9, No. 2, July - December 2013 Information Technology Journal

จงจะถกประมวลผล ในก�รทำ�ง�นของ SCTP อนญ�ตใหม

ก�รนำ�สงขอมลแบบไมเรยงลำ�ดบและเนองจ�กมก�รสงแบบ

หล�ยสตรม ในกรณทเกดปญห�น จะมเพยงแคสตรมเดยว

เท�นนทไดรบผลกระทบและถกบลอกชวคร�ว SCTP จะ

ประมวลผลขอคว�มในลำ�ดบทไดรบขอคว�มนน จะไมรอก�ร

เรยงลำ�ดบของขอคว�มเหล�นนทสงม� ในโหมดก�รก�รถ�ย

โอนแบบมคว�มน�เชอถอของ SCTP จะมหล�ยๆ โซลชน

ดสกแบบเครอข�ย (Networked disk solutions) ทไดมก�ร

จดเตรยมบรก�รเรยงลำ�ดบขอมลไว คว�มส�ม�รถของ

SCTP เพยงแคสงขอมลแบบง�ยๆ เมอลดภ�ระโอเวอรเฮด

ทไมจำ�เปนในก�รเรยงลำ�ดบขอมลใหมของเซรฟเวอร

2.5 Concurrent Multi-streaming (CMT) SCTP

ก�รทำ�ง�นของ SCTP แบบดงเดมนน จะสงขอมลโดยใช

อนเตอรเฟซใดอนเตอรเฟซหนงในก�รสงขอมล ซงเรยกว�

เสนท�งหลก (Primary path) สวนเสนท�งอนๆ จะเปนเสนท�ง

สำ�รอง (Secondary path) ซงจะมก�รใชง�นเมอเสนท�งหลก

ไมส�ม�รถใชง�นได จะเหนไดว�เร�ใชเสนท�งสำ�รองนนไม

ไดเตมประสทธภ�พ จงมแนวคว�มคดในก�รใชเสนท�ง

ทงหมดทมใหสงขอมลไดพรอม ๆ กน ซงเรยกว� Concurrent

Multi-streaming (CMT) [10] หรอ CMT-SCTP ซงเปน

ก�รพฒน�ตอยอดคว�มส�ม�รถของ SCTP แบบดงเดม โดย

CMT-SCTP จะส�ม�รถทำ�ง�นไดดในกรณทเสนท�ง (Paths)

ทใชง�นนนมแบนดวดท ดเลย (Delay) และค�อตร�คว�ม

ผดพล�ด (Error rates) ทเหมอนกนหรอใกลเคยงกน ก�รท

เสนท�งใดเสนท�งหนงมคณสมบตแตกต�งออกไป ซงจรงๆ

แลวกเปรยบเสมอนกบกรณทเกดขนจรงในก�รใชง�น [11]

คอ ก�รทเร�ใชคอมพวเตอรเครองเดยวเชอมตอกบผให

บรก�ร (Internet service provider: ISP) หล�ยๆ ร�ยพรอม

กน ยงคงเปนประเดนทตองไดรบก�รแกไข และยงมประเดน

อนๆ อกม�ก

2.6 การนำาไปใชงานและคณลกษณะทสนบสนน

มก�รนำ� SCTP (SCTP implementations) (ร�ยละเอยด

แสดงดงต�ร�งท 1 [11]) ไปใชง�นในระบบหล�ยๆ ปฏบต

ก�ร เชน Linux (mainline kernel 2.6.36), FreeBSD (release

kernel 8.12), MacOS X, Windows (SctpDrv) และ Solaris

(OpenSolaris 2009.06) รวมถง sctplib (เปนไลบ�รสำ�หรบ

SCTP และไลบ�รสำ�หรบซอกเกต API ทมชอเสยงทรจกเปน

อย�งดในก�รนำ� SCTP ไปใชง�น) นอกจ�กนยงรวมถง

โปรแกรมจำ�ลองก�รทำ�ง�นของเครอข�ย (Network Simulator)

เชน OMNeT++/INET simulation model ซงไดเตรยมฟงกชน

ต�งๆ ของ SCTP ไวสำ�หรบก�รทดสอบ

3. สรป

ก�รทำ�ง�นของโพรโทคอลในชนทร�นสปอรตเปนสงท

จำ�เปนอย�งยงทมผลสำ�เรจตอก�รสงขอมลในระบบเครอ

ข�ย ในบทคว�มนไดนำ�เสนอตงแตคว�มเปนม� โครงสร�ง

ของแพคเกต SCTP คณลกษณะต�งๆ ของ SCTP เมอเทยบ

กบ TCP และ UDP และสดท�ยไดพดถง CMT-SCTP ท

ส�ม�รถสงขอมลไดหล�ยๆ อนเตอรเฟซพรอมกนๆ ซง

คณสมบตเหล�นทำ�ให SCTP มประสทธภ�พสงกว� TCP

ตารางท 1 การนำา SCTP ไปใชงานและคณลกษณะทสนบสนน

Page 10: ทำ คว มรู้จักกับโพรโทคอล · 2. โพรโทคอล SCTP 2.1 ภาพรวมของ SCTP ชั้นให้บริก รทร

บทความวชาการ : ทำ�คว�มรจกกบโพรโทคอล Stream Control Transmission Protocol

82 ว�รส�รเทคโนโลยส�รสนเทศ ปท 9 ฉบบท 2 กรกฎาคม - ธนวาคม 2556Vol. 9, No. 2, July - December 2013Information Technology Journal

และ UDP โดยบทคว�มนชวยใหผสนใจหรอผศกษ�เกยวกบ

ระบบเครอข�ยไดรจกโพรโทคอลใหม ซงในทนคอ SCTP ใน

ชนทร�นสปอรต นอกเหนอจ�ก TCP และ UDP ทรจกและ

มก�รใชง�นม�อย�งย�วน�น ซง SCTP นถอว�เปนแนวโนม

และทศท�งในอน�คตของชนทร�นสปอรตทจะมก�รนำ�ไปใช

ง�นในเครอข�ยประเภทต�งๆ อย�งกว�งขว�ง ดงจะเหนได

ว�หล�ยๆ ระบบปฏบตก�รหลกในทองตล�ดมก�รตดตง

โพรโทคอล SCTP ใหใชง�นกนแลว

4. เอกสารอางอง

[1] J. Postel. “Internet Protocol.” RFC 791, Internet

Engineering Task Force, September, 1981.

[2] L. Ong, et al. “Framework architecture for signaling

transport.” RFC 2719, Internet Engineering Task Force,

October, 1999.

[3] J. Postel. “User Datagram Protocol.” RFC 768, Internet

Engineering Task Force, August, 1980.

[4] J. Postel. “Transmission Control Protocol.” RFC 793,

Internet Engineering Task Force, September, 1981.

[5] R. Stewart. “Stream Control Transmission Protocol.”

RFC 4960, Internet Engineering Task Force, September,

2007.

[6] The International Engineering Consortium, “Stream

Control Trans-mission Protocol (SCTP).” Web

ProForum Tutorials.

[7] P. Stalvig. “Introduction to the Stream Control

Transmission Pro-tocol (SCTP): The next generation

of the Transmission Control Protocol (TCP).” White

Paper, F5 Networks, Inc., October, 2007.

[8] A. L. Caro Jr. et al. “SCTP: A Proposed Standard for

Robust In-ternet Data Transport”, IEEE Computer

Society, Vol. 36 , Issue. 11, pp. 56- 63, November, 2003.

[9] R. Stewart and Q. Xie. Stream Control Transmission

Protocol (SCTP): A Reference Guide. Addison Wesley,

2002.

[10] J. R. Iyengar, P. D. Amer, and R. Stewart. “Concurrent

Multipath Transfer Using SCTP Multihoming Over

Independent End-to-End Paths.” IEEE/ACM Trans. Net.,

Vol. 14, No 5, pp. 951–964, October, 2006.

[11] T. Dreibholz et al. “Stream Control Transmission

Protocol: Past, Current, and Future Standardization

Activities.” IEEE Communications Magazine, Vol. 49,

Issue 4, pp. 82–88, April, 2011.