Appendix

TCP PROTOCOL
IP PROTOCOL

TCP Transmission Control Protocol (TCP) :

จะใช้ลำดับของสัญญาณตอบรับ (acknowledgment) ด้วยการส่ง packet ใหม่เมื่อจำเป็น เพื่อการให้บริการการเชื่อมต่อเสมือน และการส่งสัญญาณที่สามารถเชื่อถือได้ว่าถูกต้อง

Source port: หมายเลขของพอร์ต ต้นทาง

Destination port: หมายเลขของพอร์ต ปลายทาง

Sequence number: คือลำดับของหมายเลข ซึ่งเป็นเลขฐาน 8 ชุดแรก(ยกเว้น SYN จะถูกนำมาแสดง) ถ้า SYN ถูกนำมาแสดงด้วย

sequence number: จะหมายถึง ลำดับหมายเลขในการเริ่มกำหนดค่า (ISN : initial sequence number) และเลขฐาน 8 ชุดแรกก็จะเป็น ISN + 1

Acknowledgment number: หาก ACK control ถูกตั้งค่า ข้อมูลส่วนนี้จะประกอบไปด้วย ค่าของ sequence number ซึ่งผู้ส่งได้คาดไว้ว่าจะได้รับเป็นตัวต่อไป เมื่อมีการติดต่อกันเกิดขึ้น ค่านี้จะถูกส่งไปเสมอ

:Data offset มีจำนวน 4 บิต ใน 32 บิต ของส่วนหัวของ TCP ซึ่งจะบ่งบอกถึงจุดเริ่มต้นของข้อมูล ส่วนหัวของ TCP จะเป็นเลขจำนวนเต็ม 32 บิต

Reserved มีจำนวน 6 บิต ซึ่งสำรองไว้ใช้ในอนาคต. มีค่าเป็น 0

Control bits: มีจำนวน 6 บิต

U (URG) Urgent pointer field significant.

A (ACK) Acknowledgment field significant.

P (PSH) Push function.

R (RSH) Reset the connection.

S (SYN) Synchronize sequence numbers.

F (FIN) No more data from sender.

Window: มีจำนวน 16 บิต เป็นเลขฐาน 8 ซึ่งผู้ส่งของส่วนนี้กำลังรับ การเริ่มต้นด้วยเลขฐาน 8 บ่งบอกถึงส่วนของ Acknowledgment

Checksum: มีจำนวน 16 บิต ซึ่งผลของการบวกของ 16 บิต ใน ส่วนหัว และ text ด้วยวิธี 1's complement

Urgent Pointer: มีจำนวน 16 บิต ส่วนนี้มีไว้ติดต่อสื่อสารกับค่าของ urgent pointer ปัจจุบัน ด้วยค่า offset ที่เป็น บวก จาก sequence number ใน segment นี้. urgent pointer จะชี้ไปที่ sequence number ของเลขฐาน 8 ที่มาตาม urgent data

Options: Options อาจถูกส่งไปส่วนท้ายของ TCP header Options จะถูกรวมใน checksum

IP (INTERNET PROTOCOL)

เป็น PROTOCAL หนึ่งใน PROTOCAL TCP/IP ที่ทำหน้าที่ในการ ROUTE DATAGRAM จาก HOST หนึ่งไปยังอีก HOST หนึ่ง โดยที่ IP จะสร้าง HEADER เพิ่มจาก UPPER-LAYER ที่ส่งมาให้ (เช่น TCP) โดยที่ IP FRAME HEADER จะประกอบด้วย ROUTING INFORMATION และ CONTROL INFORMATION สำหรับในการส่งแต่ละ DATAGRAM โดยมีรายละเอียดดังนี้

 

VERSION (4 BITS) จะบอกถึง VERSION NUMBER ของ PROTOCOL เพื่อที่จะได้ทราบถึง FORMAT ของ INTERNET HEADER

IHL (4 BITS) INTERNET HEADER LENGTH เป็นความยาวของ INTERNET HEADER เพื่อที่จะได้ทราบถึงจุดเริ่มต้นของ DATA โดย 1 HEADER จะยาว 32 BITS และค่าต่ำสุดของ IHL จะเท่ากับ 5 นั่นคือจะต้องมี HEADER LENGTH เท่ากับ 5 * 32 = 160 BITS (20 OCTETS) ซึ่งก็คือไม่มีส่วนของ OPTION + PADDING นั่นเอง

TYPE OF SERVICE ( 8 BITS) จะบอกถึงระดับคุณภาพของบริการที่ต้องการ เนื่องจาก NETWORK จะให้บริการตามลำดับความสำคัญที่เหนือกว่า ในกรณีที่ช่วงเวลานั้นมี LOADING สูง เพื่อเป็นแนวทางในการตัดสินใจ ROUTING เช่น ถ้า ROUTER มีหลายทางเลือกที่จะไปที่ NEXT HOP มันจะเลือก NETWORK ที่มี DATA RATE สูง ถ้า THROUGHPUT OPTION เป็น HIGH THROUGHPUT ซึ่ง TYPE OF SERVICE สามารถกำหนดค่าต่างๆได้ดังนี้

BIT 0 - 2 : PRECEDENCE

111 : NETWORK CONTROL

110 : INTERNETWORK CONTROL

101 : CRITIC / ECP 100 : FLASH OVERRIDE

011 : FLASH

010 : IMMEDIATE (ตัวที่ได้รับสิทธิที่ดีกว่า IP จะให้ความสำคัญกว่า)

001 : PRIORITY

000 : ROUTINE

BIT 3 = DELAY 0 : NORMAL DELAY

1 : LOW DELAY (ลด DELAY ที่ DATAGRAM นั้นผ่าน)

BIT 4 = THROUGHPUT

0 : NORMAL THROUGHPUT

1 : HIGH THRUOGHPUT ( ต้องการ THROUGHPUT ที่สูงที่สุด)

BIT 5 = RELIABILITY 0 : NORMAL RELIABLITY

1 : HIGH RELIABILITY (ลดความน่าจะเป็นที่ DATAGRAM นั้นจะสูญหายหรือถูกทำลาย)

BIT 6- 7 : RESERVED FOR FUTURE USE

TOTAL LENGTH ( 16 BITS) บอกถึงความยาวของข้อมูล (รวมทั้ง INTERNET HEADER และ DATA) หน่วยเป็น BYTES (OCTETS) โดยสามารถมีความยาวได้ถึง 65,535 BYTES ซึ่งจริงๆ แล้วจะไม่มี HOST หรือ NETWORK ใด จะใช้ถึงขนาดนั้น HOST ส่วนมากจะเตรียมไว้ที่ 576 BYTE

IDENTITICATION (16 BITS) IDENTIFYING VALUE เป็น SEQUENCE NUMBER ที่ถูกกำหนดโดยผู้ส่งซึ่ง NUMBER นี้จะต้อง UNIQUE เพื่อที่จะได้สามารถรวบรวม FRAGMENTS ของ DATAGRAMS ได้

FLAG (3 BITS) เป็น CONTROL FLAG ที่เกี่ยวกับ FRAGMENT ประกอบด้วย 3 BITS คือ

BIT 0 : RESERVED ไว้ (และต้องมีค่าเป็น 0)

BIT 1 : DON'T FRAGMENT BIT

ถ้ามีค่า = 0 : MAY FRAGMENT

ถ้ามีค่า = 1 DON'T FRAGMENT

แต่ละ NETWORK ในINTERNET จะมี MAXIMUM PACKET SIZE ต่างกัน ดังนั้น ROUTER อาจจะต้องทำการแบ่ง DATAGRAM ที่เข้ามาออกเป็นส่วนย่อยๆ เรียกว่า FRAGMENTS ก่อนที่จะส่งต่อไปยัง NETWORK ถัดไปดังนั้น ถ้า BIT นี้มีค่า = 1 จะไม่ให้มีการแบ่ง DATAGRAM นั้นเนื่องจากที่ปลายทางไม่มีความสามารถในการรวบรวม FRAGMENT นอกจากนี้ถ้า DATAGRAM นั้นใหญ่กว่า MAXIMEM SIZE ของ ROUTE NETWORK มันจะถูกยกเลิกไป (DATAGRAM FRAGMENT จะถูกรวบรวมที่ DESTINATION ไม่ใช่ทำที่ ROUTER)

BIT 2 : MORE FRAGMENT BIT (ใช้ในFRAGMENTATION และ REASSMBLY)

ถ้ามีค่า = 0 : LAST FRAGMENT

ถ้ามีค่า = 1 : MORE FRAGMENTS

FRAGMENT OFFSET (13 BITS)จะบอกว่า FRAGMENT นี้อยู่ที่ส่วนใดของ DATAGRAM โดยวัดเป็น 8 BYTES (64 BITS) ซึ่ง FIRST FRAGMENT จะมี OFFSET = 0

TIME TO LIVE (TTL) (8 BITS) จะระบุถึงเวลาที่มากที่สุดที่ DATAGRAM นั้นจะอยู่ใน INTERNET SYSTEM (วัดเป็นวินาที) ซึ่ง TTL จะถูกลดค่าลงไปทุกๆ ROUTER ที่ PROCESS DATAGRAM นั้น (HOP COUNT) และเมื่อ TTL มีค่าเป็น 0 นั่นคือมันส่งไปไม่ถึงปลายทาง มันจะถูกทำลายไป ดังนั้น TTL มักจะมีค่าเท่ากับ LIMIT ของเวลาที่ DATAGRAM นั้นจะอยู่ได้

PROTOCOL (8 BITS) จะระบุถึง PROTOCAL LEVEL ถัดไปที่สูงกว่าที่จะใช้ส่วนที่เป็น DATA

HEADER CHECK SUM (16 BITS) CHECK SUM สำหรับ HEADER เท่านั้น เนื่องจากบาง HEADER FIELD มีการเปลี่ยนแปลงระหว่างการส่ง เช่น TTL จึงมีการ RECOMPUTED และ ตรวจสอบใหม่ ณ.จุดที่ INTERNET HEADER ถูก PROCESSED ในแต่ละ ROUTER เพื่อเป็นการตรวจสอบหาข้อผิดพลาด

SOURCE ADDRESS/DESTINATION ADDRESS

NAME : ระบุถึง OBJECT ที่ต้องการ

ADDRESS : ระบุถึงตำแหน่งที่อยู่ของ OBJECT นั้น

ROUTE : ระบุถึงวิธีที่จะไปให้ถึง OBJECT นั้น

PROTOCOL LEVEL ที่สูงกว่า IP จะเป็นผู้ที่ทำการ MAPPING จาก NAMES มาเป็น ADDRESS ให้ จากนั้น INTERNET

MODLUE ก็จะ MAPS INTERNET ADDRESS เป็น LOCAL NET ADDRESS สุดท้าย ใน LEVELที่ต่ำกว่า (เช่น GATEWAYS) ก็จะทำการ MAPPING จาก LOCAL NET ADDRESS เพื่อที่จะทำการ ROUTES ออกไปอีกที

OPTION + PADDING อาจจะมีหรือไม่มีใน DATAGRAM ก็ได้ เช่นอาจจะมี SECRUITY OPTION สำหรับ DATAGRAMS นั้นๆ

DATA IP DATA หรือ HIGHER LAYER PROTOCOL HEADER

 

Other.. Appendix Download Ftp.exe Reference FTP Code Reference FTP Command Conclution Result Steps Prepare Response FTP Transmission Mode File Structure Transport Information FTP Model Abstract