TCP/IP มีจุดประสงค์ของการสื่อสารตามมาตรฐาน สามประการคือ

 

TCP/IP (Transmission Control Protocol/Internet Protocol)TCP/IP (Transmission Control Protocol/Internet Protocol) เป็นระบบโปรโตคอล การสื่อสารพื้นฐานของระบบอินเตอร์เน็ต มันสามารถใช้เป็น โปรโตคอลในการสื่อสารภายใน เครือข่ายส่วนบุคคล เรียกว่า intranet และ extranet เมื่อมีการติดต่อโดยตรงกับ internet เครื่องคอมพิวเตอร์จะได้รับการคัดลอกโปรแกรม TCP/IP เช่นเดียวกับคอมพิวเตอร์อื่น ๆ เพื่อทำให้ส่งข้อ
TCP/IP เป็นโปรแกรม 2 เลเยอร์ TCP (Transmission Control Protocol) เป็นเลเยอร์ที่สูงกว่า ทำหน้าที่จัดการแยกข้อความหรือไฟล์แลปรกอบให้เหมือนเดิม IP (Internet Protocol) เป็นเลเยอร์ที่ต่ำกว่า ทำหน้าที่จัดการส่วนของที่อยู่ของแต่ละชุดข้อมูล เพื่อทำให้มีปลายทางที่ถูกต้อง เครื่องคอมพิวเตอร์ที่ทำหน้าที่เป็น Gateway บนเครือข่ายจะตรวจที่อยู่นี้เพื่อหาจุดหมายในการส่งข้อความ ชุดข้อมูลอาจจะใช้เส้นทางไปยังปลายทางต่างกัน แต่ทั้งหมดจะได้รับการประกอบใหม่ที่ปลายทาง

TCP/IP ใช้ในแบบ client/server ในการสื่อสาร (ระหว่างคอมพิวเตอร์) ซึ่งผู้ใช้คอมพิวเตอร์ ( client) เป็นผู้ขอและการบริการได้รับจากคอมพิวเตอร์เครื่องแม่ข่ายในระบบเครือข่าย การสื่อสารของ TCP/IP เป็นแบบจุดต่อจุด ( point -to- point) หมายความว่าการสื่อสารแต่ละครั้งเกิดจากจุดหนึ่ง (เครื่อง host เครื่องหนึ่ง) ไปยังจุดอื่นหรือเครื่อง host เครื่องอื่นในเครือข่าย TCP/IP และโปรแกรมประยุกต์ระดับสูงอื่น ที่ใช้ TCP/IP สามารถเรียกว่า " Stateless" เพราะการขอแต่ละ client ได้รับการพิจารณาเป็นการขอใหม่โดยไม่สัมพันธ์กับการขอเดิม ( แต่แตกต่างจากการสนทนาทางโทรศัพท์) การที่เป็นพาร์ทของเครือข่ายอิสระแบบ "Stateless" ดังนั้นทุกคนสามารถใช้พาร์ทได้อย่างต่อเนื่อง (หมายเหตุ เลเยอร์ของ TCP จะไม่ " Stateless" ถ้ายังทำการส่งข้อความใดข้อความหนึ่ง จะทำการส่ง
ผู้ใช้อินเตอร์เน็ต จำนวนมากคุ้นเคยกับการประยุกต์เลเยอร์ระดับสูง โดยใช้ TCP/IP เพื่อเข้าสู่ระบบอินเตอร์เน็ท ทั้งนี้รวมถึง World Wide Web's Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP) ซึ่งในการเข้าสู่เครื่องคอมพิวเตอร์ในระยะไกล และ Simple Mail Transfer Protocol (SMTP) Protocol เหล่านี้ จะเป็นชุดเดียวกับ TCP/IP ในลักษณะ " Suite" เครื่องคอมพิวเตอร์ส่วนบุคคล มักจะเข้าสู่อินเตอร์เน็ต ผ่าน Serial Line Internet Protocol (SLIP) หรือ Point-To-Point Protocol (PPP) โปรโตคอล แบบนี้จะควบคุมชุดข้อมูลของ IP ดังนั้น จึงสามารถใช้ส่งผ่านการติดต่อด้วยสายโทรศัพท์ ผ่านโมเด็ม Protocol ที่สัมพันธ์กับ TCP/IP ได้แก่ User Datagram Protocol (UDP) สำหรับใช้แทน TCP/IP ในกรณีพิเศษ ส่วนโปรโตคอลอื่นที่ใช้โดยเครื่อง host ของเครือข่ายสำหรับการแลกเปลี่ยนสารสนเทศกับ router ได้แก่ Internet Control Message Protocol (ICMP) Interior Gateway Protocol (IGP) Exterior Gateway Protocol (EGP) และ Border Gateway Protocol (BGP)

ผู้ใช้ระบบเครือข่ายคอมพิวเตอร์ส่วนใหญ่คงเคยได้ยินเรื่องราวของ NetBIOS กันมาบ้าง หลายคนอาจจะเกิดความสับสน ไม่เว้นแม้แต่ผู้ดูแลระบบเครือข่ายขององค์กรเอง เหตุผลหนึ่งอาจจะเป็นเพราะมีศัพท์ที่เกี่ยวข้องมากมาย เช่น NetBIOS, NetBEUI, CIFS, SMB เหล่านี้ล้วนแต่สร้างความสับสนตั้งแต่ยังไม่เริ่มศึกษา และอีกเหตุผลหนึ่งอาจจะเป็นเพราะว่า มีการนำ NetBIOS ไปใช้อย่างหลากหลายแต่ขาดมาตรฐานควบคุมที่ดี อย่างไรก็ตาม หากกล่าวถึงเรื่องความปลอดภัยบนเครือข่ายอินเทอร์เน็ตในปัจจุบัน ก็จำเป็นต้องอ้างถึงเรื่องของ NetBIOS อย่างแน่นอนความเป็นมาของ NetBIOS

NetBIOS ย่อมาจาก Network Basic Input/Output System ถูกพัฒนาขึ้นโดย Sytec สำหรับ IBM เมื่อปี 1983 ถูกออกแบบมาให้ทำงานกับเครือข่ายที่มีขนาดเล็กเท่านั้น

ในปี 1985 IBM ได้นำเทคโนโลยี Token-Ring ออกมาใช้งาน ซึ่งได้นำ NetBIOS และ NetBEUI (NetBIOS Extened User Interface) มาใช้ใน Token-Ring ด้วย ปี 1986 Novell ได้แนะนำ Advanced Netware 2.0 ซึ่งได้รวมแพ็กเก็จ NetBIOS ลงไปด้วย

• ปี 1987 IBM ได้แนะนำ PC LAN Support Program สำหรับเครื่อง Personal System (PS/2) ซึ่งได้รวม NetBIOS เข้าไปด้วยเช่นกัน

• เดือนมีนาคม ปี 1987 RFC 1001 Protocol Standard for a NetBIOS Service on a TCP/UDP Transport ได้ถูกเผยแพร่

• เช่นเดียวกัน ในปี 1987 Microsoft แนะนำ LAN Manager ซึ่งรันอยู่บน NetBIOS frame แนะนำ NetBIOS

NetBIOS ถูกออกแบบมาเพื่อเป็น protocol ที่เป็นตัวเชื่อม ( interface) ระหว่างระบบปฏิบัติการกับฮาร์ดแวร์ เพื่อให้ application สามารถสื่อสารกับเครือข่ายได้โดยเป็นอิสระจากฮาร์ดแวร์ ทั้งนี้ application จะสามารถเข้าถึงเลเยอร์สูงสุดของ OSI model ได้เท่านั้น ซึ่งทำให้ application ที่สร้างขึ้นมาสามารถทำงานได้ในเครือข่ายที่มี network environment ไม่เหมือนกัน ทั้งนี้ NetBIOS จะทำหน้าที่ขนส่งข้อมูลไปยัง application ที่อยู่บนเครื่องอื่นในเครือข่ายให้

ในช่วงเริ่มต้นนั้น NetBIOS ถูกออกแบบให้ทำงานได้กับ IBM's PC LAN เท่านั้น แต่ปัจจุบัน NetBIOS ได้กลายเป็นพื้นฐานของ network application ไปแล้ว โดย NetBIOS เป็นโปรโตคอลที่ถูกใช้งานอย่างแพร่หลาย มันสามารถทำงานได้บน Ethernet, Token ring, IBM PC Network

NetBIOS ถูกออกแบบมาให้เป็นตัวเชื่อม เป็นส่วนขยายของ BIOS ที่ช่วยให้สามารถติดต่อใช้งานบริการบนเครือข่ายได้ จึงกล่าวได้ว่า NetBIOS ถูกออกแบบให้เป็น Application Program Interface (API) ในขณะเดียวกัน NetBIOS ก็ถือว่าเป็นโปรโตคอลได้เช่นเดียวกันกับ TCP/IP เพราะมีชุดของโปรโตคอลชั้นล่างลงไปที่สามารถทำงานร่วมกันแนะนำ

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

•  ความสามารถในการแก้ไขปัญหาที่เกิดขึ้นในระบบเครือข่าย เช่นในกรณีที่ผู้ส่งและผู้รับยังคงมีการติดต่อกันอยู่ แต่โหนดกลางทีใช้เป็นผู้ช่วยรับ-ส่งเกิดเสียหายใช้การไม่ได้ หรือสายสื่อสารบางช่วงถูกตัดขาด กฎการสื่อสารนี้จะต้องสามารถจัดหาทางเลือกอื่นเพื่อทำให้การสื่อสารดำเนินต่อไปได้โดยอัตโนมัติ

•  มีความคล่องตัวต่อการสื่อสารข้อมูลได้หลายชนิดทั้งแบบที่ไม่มีความเร่งด่วน เช่น การจัดส่งแฟ้มข้อมูล และแบบที่ต้องการรับประกันความเร่งด่วนของข้อมูล เช่น การสื่อสารแบบ real-time และทั้งการสื่อสารแบบเสียง ( Voice) และข้อมูล ( data)

รูปที่ 1 ขั้นตอนการ Encapsulation และ Demultiplexing

ข้อมูลที่ผ่านการ Encapsulate ในแต่ละเลเยอร์มีชื่อเรียกแตกต่างกัน ดังนี้

  • ข้อมูลที่มาจาก User หรือก็คือข้อมูลที่ User เป็นผู้ป้อนให้กับ Application เรียกว่า User Data
  • เมื่อแอพพลิเคชั่นได้รับข้อมูลจาก user ก็จะนำมาประกอบกับส่วนหัวของแอพพลิเคชั่น เรียกว่า Application Data และส่งต่อไปยังโปรโตคอล TCP
  • เมื่อโปรโตคอล TCP ได้รับ Application Data ก็จะนำมารวมกับ Header ของ โปรโตคอล TCP เรียกว่า TCP Segment และส่งต่อไปยังโปรโตคอล IP
  • เมื่อโปรโตคอล IP ได้รับ TCP Segment ก็จะนำมารวมกับ Header ของ โปรโตคอล IP เรียกว่า IP Datagram และส่งต่อไปยังเลเยอร์ Host-to-Network Layer
  • ในระดับ Host-to-Network จะนำ IP Datagram มาเพิ่มส่วน Error Correction และ flag เรียกว่า Ethernet Frame ก่อนจะแปลงข้อมูลเป็นสัญญาณไฟฟ้า ส่งผ่านสายสัญญาณที่เชื่อมโยงอยู่ต่อไป

รูปที่ 2 โครงสร้าง TCP/IP

1. ชั้นโฮสต์-เครือข่าย ( Host-to-Network Layer)
โพรโตคอลสำหรับการควบคุมการสื่อสารในชั้นนี้เป็นสิ่งที่ไม่มีการกำหนดรายละเอียดอย่างเป็นทางการ หน้าที่หลักคือการรับข้อมูลจากชั้นสื่อสาร IP มาแล้วส่งไปยังโหนดที่ระบุไว้ในเส้นทางเดินข้อมูลทางด้านผู้รับก็จะทำงานในทางกลับกัน คือรับข้อมูลจากสายสื่อสารแล้วนำส่งให้กับโปรแกรมในชั้นสื่อสาร

2. ชั้นสื่อสารอินเทอร์เน็ต ( The Internet Layer)
ใช้ประเภทของระบบการสื่อสารที่เรียกว่า ระบบเครือข่ายแบบสลับช่องสื่อสารระดับแพ็กเก็ต ( packet-switching network) ซึ่งเป็นการติดต่อแบบไม่ต่อเนื่อง ( Connectionless) หลักการทำงานคือการปล่อยให้ข้อมูลขนาดเล็กที่เรียกว่า แพ็กเก็ต ( Packet) สามารถไหลจากโหนดผู้ส่งไปตามโหนดต่างๆ ในระบบจนถึงจุดหมายปลายทางได้โดยอิสระ หากว่ามีการส่งแพ็กเก็ตออกมาเป็นชุดโดยมีจุดหมายปลายทางเดียวกันในระหว่างการเดินทางในเครือข่าย แพ็กเก็ตแต่ละตัวในชุดนี้ก็จะเป็นอิสระแก่กันและกัน ดังนั้น แพ็กเก็ตที่ส่งไปถึงปลายทางอาจจะไม่เป็นไปตามลำดับก็ได้

a. IP (Internet Protocol)
IP เป็นโปรโตคอลในระดับเน็ตเวิร์คเลเยอร์ ทำหน้าที่จัดการเกี่ยวกับแอดเดรสและข้อมูล และควบคุมการส่งข้อมูลบางอย่างที่ใช้ในการหาเส้นทางของแพ็กเก็ต ซึ่งกลไกในการหาเส้นทางของ IP จะมีความสามารถในการหาเส้นทางที่ดีที่สุด และสามารถเปลี่ยนแปลงเส้นทางได้ในระหว่างการส่งข้อมูล และมีระบบการแยกและประกอบดาต้าแกรม ( datagram) เพื่อรองรับการส่งข้อมูลระดับ data link ที่มีขนาด MTU (Maximum Transmission Unit) ทีแตกต่างกัน ทำให้สามารถนำ IP ไปใช้บนโปรโตคอลอื่นได้หลากหลาย เช่น Ethernet ,Token Ring หรือ Apple Talk การเชื่อมต่อของ IP เพื่อทำการส่งข้อมูล จะเป็นแบบ connectionless หรือเกิดเส้นทางการเชื่อมต่อในทุกๆครั้งของการส่งข้อมูล 1 ดาต้าแกรม โดยจะไม่ทราบถึงข้อมูลดาต้าแกรมที่ส่งก่อนหน้าหรือส่งตามมา แต่การส่งข้อมูลใน 1 ดาต้าแกรม อาจจะเกิดการส่งได้หลายครั้งในกรณีที่มีการแบ่งข้อมูลออกเป็นส่วนย่อยๆ (fragmentation) และถูกนำไปรวมเป็นดาต้าแกรมเดิมเมื่อถึงปลายทาง

 

รูปที่ 3 IP Header

รูปที่ 4 ICMP Header

•  แบ่งเป็นโพรโตคอล 2 ชนิดตามลักษณะ ลักษณะแรกเรียกว่า Transmission Control Protocol (TCP) เป็นแบบที่มีการกำหนดช่วงการสื่อสารตลอดระยะเวลาการสื่อสาร ( connection-oriented) ซึ่งจะยอมให้มีการส่งข้อมูลเป็นแบบ Byte stream ที่ไว้ใจได้โดยไม่มีข้อผิดพลาด ข้อมูลที่มีปริมาณมากจะถูกแบ่งออกเป็นส่วนเล็กๆ เรียกว่า message ซึ่งจะถูกส่งไปยังผู้รับผ่านทางชั้นสื่อสารของอินเทอร์เน็ต ทางฝ่ายผู้รับจะนำ message มาเรียงต่อกันตามลำดับเป็นข้อมูลตัวเดิม TCP ยังมีความสามารถในการควบคุมการไหลของข้อมูลเพื่อป้องกันไม่ให้ผู้ส่ง ส่งข้อมูลเร็วเกินกว่าที่ผู้รับจะทำงานได้ทันอีกด้วย

•  โปรโตคอลการนำส่งข้อมูลแบบที่สองเรียกว่า UDP (User Datagram Protocol) เป็นการติดต่อแบบไม่ต่อเนื่อง ( connectionless) มีการตรวจสอบความถูกต้องของข้อมูลแต่จะไม่มีการแจ้งกลับไปยังผู้ส่ง จึงถือได้ว่าไม่มีการตรวจสอบความถูกต้องของข้อมูล อย่างไรก็ตาม วิธีการนี้มีข้อดีในด้านความรวดเร็วในการส่งข้อมูล จึงนิยมใช้ในระบบผู้ให้และผู้ใช้บริการ ( client/server system) ซึ่งมีการสื่อสารแบบ ถาม/ตอบ ( request/reply) นอกจากนั้นยังใช้ในการส่งข้อมูลประเภทภาพเคลื่อนไหวหรือการส่งเสียง ( voice) ทางอินเทอร์เน็ต

•  กลไกการตรวจสอบโดย checksum ของ UDP นั้นเพื่อเป็นการป้องกันข้อมูลที่อาจจะถูกแก้ไข หรือมีความผิดพลาดระหว่างการส่ง และหากเกิดเหตุการณ์ดังกล่าว ปลายทางจะได้รู้ว่ามีข้อผิดพลาดเกิดขึ้น แต่มันจะเป็นการตรวจสอบเพียงฝ่ายเดียวเท่านั้น โดยในข้อกำหนดของ UDP หากพบว่า Checksum Error ก็ให้ผู้รับปลายทางทำการทิ้งข้อมูลนั้น แต่จะไม่มีการแจ้งกลับไปยังผู้ส่งแต่อย่างใด การรับส่งข้อมูลแต่ละครั้งหากเกิดข้อผิดพลาดในระดับ IP เช่น ส่งไม่ถึง , หมดเวลา ผู้ส่งจะได้รับ Error Message จากระดับ IP เป็น ICMP Error Message แต่เมื่อข้อมูลส่งถึงปลายทางถูกต้อง แต่เกิดข้อผิดพลาดในส่วนของ UDP เอง จะไม่มีการยืนยัน หรือแจ้งให้ผู้ส่งทราบแต่อย่างใด

รูปที่ 5 UDP Header

 

การสื่อสารของ TCP

NetBIOIPX/SPX Protocol

SoverTCP/IP(NBT)
่ภายหลังจากที่เครือข่ายอินเทอร์เน็ตได้รับความนิยม มีผู้นำระบบเข้ามาเชื่อมต่อจำนวนมาก และเพื่อให้การใช้งานเป็นไปในแนวทางเดียวกัน จึงได้มีการเผยแพร่ request for comment 2 ฉบับ ดังนี้

•  RFC 1001 (PROTOCOL STANDARD FOR A NetBIOS SERVICE ON A TCP/UDP TRANSPORT: CONCEPTS AND METHODS )

•  RFC 1002 (PROTOCOL STANDARD FOR A NetBIOS SERVICE ON A TCP/UDP TRANSPORT: DETAILED SPECIFICATIONS )

ทั้งนี้เพื่อกำหนดมาตรฐานในการนำ NetBIOS มาใช้งานบน TCP/IP network ให้สามารถใช้งาน NetBIOS service ได้ครบ โดยพยายามให้มีการเปลี่ยนแปลงให้น้อยที่สุดและสามารถเข้ากับมาตรฐานเดิมได้ และยังทำงานได้อย่างยืดหยุ่นและมีประสิทธิภาพ โดยไม่จำเป็นต้องมีศูนย์กลางในการควบคุม (ไม่ใช่ central management) และสามารถทำงานได้โดยไม่จำเป็นต้องใช้ facility เสริมอื่นใด

NetBIOS name สามารถเปรียบได้กับระบบ Domain Name System (DNS) ใน TCP/IP protocol แต่ก็มีข้อแตกต่างกันพอสมควร คือ

  • NetBIOS name เป็นระบบชื่อที่เป็น flat คือไม่สามารถแตกชื่อเป็นกลุ่มย่อยลงไปได้เหมือน DNS ในขณะที่ระบบชื่อของ DNS เป็นแบบ hierarchy เช่น thaicert.nectec.or.th
  • ตัวอักษรที่ใช้ในระบบชื่อของ DNS ใช้ได้แค่ alphanumeric, hyphen และ stop เท่านั้น ในขณะที่ NetBIOS name สามารถใช้ได้ทั้ง space, underscore และ non-alphanumeric อื่นๆ

NetBIOS จะสามารถส่งและรับข้อมูลได้เฉพาะโหนดที่มี NetBIOS scope identifier เป็นค่าเดียวกันเท่านั้น โดย scope identifier นี้เป็น string ที่อยู่ในรูปแบบที่ compatible กับ DNS format

Note: มีการใช้งาน NetBIOS over TCP/IP ที่เห็นได้ชัดเจนคือ ระบบปฏิบัติการ Windows ของ Microsoft และ Samba ที่สามารถทำงานได้บน Unix และ Linux ทั้งนี้การ implement ของทั้งสองค่ายอาจจะแตกต่างไปจาก RFC ที่ได้กำหนดไว้บ้าง แต่ก็ดำเนินไปในแนวทางคล้ายๆ กัน อย่างไรก็

NetBIOS over TCP/IP

7 Application

Higher level protocols e.g. SMB / CIFS

e.g. Browser Service

6 Presentation

 

5 Session

Name Service

datagram service

Session Service

4 Transport

UDP

TCP

3 Network

IP

2 Datalink

e.g. IEEE 802.2

1 Physical

Token Ring / Ethernet etc

NetBIOSServiceoverTCP/IP
บริการของ NetBIOS บน TCP/IP มีด้วยกัน 3 บริการเหมือนกับ NetBIOS ที่รันบน NBF ซึ่งมีรายละเอียดเพิ่มเติมของแต่ละบริการดังนี้

•  Name Service ให้บริการลงทะเบียนและยกเลิกการใช้งาน NetBIOS name ภายในเครือข่ายที่อยู่ใน segment เดียวกัน โดยใช้โปรโตคอล UDP port 137 (broadcast packet) ทั้งนี้ Name service สามารถใช้ได้ในวง LAN เท่านั้นเนื่องจาก router ส่วนใหญ่จะถูกตั้งค่า UDProadcastpacket การที่บริการนี้ทำงานบน UDP protocol ทำให้มีข้อดีตรงที่ header ของ packet มีขนาดเล็กและใช้เวลาในการสื่อสารน้อยกว่าการใช้ TCP protocol ส่วนข้อเสียก็คือเมื่อส่งข้อมูลออกไปแล้วจะไม่สามารถรู้ได้เลยว่าข้อมูลถูกส่งออกไปถึงเป้าหมายที่ต้องการจริงหรือไม่

•  Datagram Service เป็นบริการที่ทำให้สามารถสื่อสารกับโหนดอื่นๆ ได้ โดยสามารถส่งข้อมูลได้ทั้งแบบ connectionless และแบบ broadcast โดยใช้ UDP protocol port 138 ตัวอย่างการนำไปใช้งานที่เห็นได้ชัดเจนคือ browser service ซึ่งจะถูกเรียกใช้เมื่อผู้ใช้รัน network neighborhood จาก Windows Desktop ซึ่ง browser service จะเรียกใช้งาน datagram service โดยการ broadcast ข้อความออกไป ทั้งนี้ Datagram service ซึ่งรันอยู่บน UDP port นั้นก็มีข้อดีและข้อเสียเหมือนกับ Name service เช่นเดียวกัน

•  Session Service เป็นบริการที่ให้การเชื่อมต่อแบบ connection-oriented โดยใช้ TCP protocol port 139 ตัวอย่างการใช้งานที่เห็นได้ชัดเจนคือ file sharing, printer sharing นอกจากนี้ยังมี network application ของ Windows ทำงานโดยอาศัยบริการนี้ เช่น ServeManager,EventViewer,RegisterEditorPerformanceMonitor
session service มีความซับซ้อนมากกว่า name หรือ datagram service session service ทำงานบน TCP port ซึ่งต้องมีการทำ establish connection, computer authentication, user authentication และการยกเลิกการเชื่อมต่อ

อย่างไรก็ตามหากกล่าวถึง service หรือ application ที่ทำงานอยู่ในเลเยอร์ที่สูงกว่า NetBIOS มักจะพบว่า บริการดังกล่าวมักจะอาศัยบริการพื้นฐานทั้ง 3 อย่างของ NetBIOS จึงจะสามารถทำงานได้อย่างสมบูรณ์ เช่น Messenger Service ซึ่งสามารถใช้งานได้โดยการใช้คำสั่ง ซึ่งสามารถระบุปลายทางเป็น user, เครื่องคอมพิวเตอร์หนึ่งเครื่อง หรือทุกเครื่องในโดเมนก็ได้ หากเป้าหมายเป็นเครื่องคอมพิวเตอร์ 1 เครื่อง NetBIOS name service ก็จะส่ง broadcast message ออกไปเพื่อค้นหาเครื่องคอมพิวเตอร์ดังกล่าว ในกรณีที่ปลายทางเป็น user ตัว NetBIOS name service ก็จะส่ง broadcast ไปทั้งเครือข่ายเพื่อค้นหา user ที่มีชื่อตามที่ระบุไว้ ( byte ที่ 16 มีค่าเป็น <03h>) หลังจากนั้นก็จะเป็นขั้นตอนการส่งข้อความที่ต้องการส่ง หากปลายทางเป็นกลุ่มของเครื่องคอมพิวเตอร์ NetBIOS datagram service จะเป็นตัวส่งข้อความ broadcast ออกไปทั้งเครือข่าย แต่ถ้าเป็นเครื่องคอมพิวเตอร์เครื่องเดียว NetBIOS session service จะเชื่อมต่อไปหาเครื่องคอมพิวเตอร์นั้นโดยตรง

ทำความเข้าใจ Nametable

Name tables เป็นตารางที่ใช้เก็บข้อมูล NetBIOS name ของเครื่องตัวเอง โดยภายหลังจากที่บริการพื้นฐานของ NetBIOS ทั้งหมดถูกรันในเครื่องคอมพิวเตอร์นั้นๆ แล้ว มันจะลงทะเบียน ( register) ชื่อ (NetBIOS name) ลงใน local NetBIOS name table จากนั้น NetBIOS application ก็จะรอดูว่ามีเครื่องอื่นส่ง query ที่เกี่ยวข้องกับชื่อที่ได้ลงทะเบียนไว้แล้วหรือไม่ (ผ่านทาง TCP หรือ UDP port) ถ้าชื่อ NetBIOS name ที่ถูกส่ง query มาไม่ปรากฏใน local NetBIOS name table มันก็จะไม่ทำอะไร แต่ถ้าชื่อนั้นมีปรากฏอยู่ NBT(NetBIOS over TCP/IP) ก็จะส่งข้อมูลนั้นไปยัง application เพื่อทำการประมวลผลต่อไป

ตามที่ได้เคยกล่าวมาแล้วว่า Micorsoft ได้ใช้ byte ที่ 16 ของ NetBIOS name ในการเก็บข้อมูลชนิด ( type) ของ NetBIOS name นั้นๆ ซึ่งสามารถตรวจสอบได้ เช่น หากพิมพ์คำสั่ง NBTSTAT -n ดูก็จะได้ผลคล้ายๆ ตัวอย่างด้านล่าง

COMMON NetBIOS NAME ENTRIES

Type

Value

Sixteenth Character

Name Type

Unique

Computer name

00h

Workstation service

Unique

“IS” Computer name

00h

IIS server/Internet Service Manager

Unique

Computer name

01h

Messenger service

Unique

Computer name

03h

Messenger service

Unique

User name

03h

Messenger service

Unique

Computer name

06h

RAS Server service

Unique

Domain

1Bh

Domain master browser

Unique

Computer name

1Dh

Master browser

Unique

Computer name

1Fh

NetDDE service

Unique

Computer name

20h

Server service

Unique

Computer name

21h

RAS Client service

Unique

Computer name

BEh

Network Monitor agent

Unique

Computer name

BFh

Network Monitor application

Group

Domain name

00h

Domain name

Group

“\\–__MSBROWSE__”

01h

Master browser

Group

Domain

1Ch

Domain controller

Group

“Inet-Services”

1Ch

IIS server/Internet Service Manager

Group

Domain

1Eh

Browser service elections

จากตัวอย่าง ทำให้ทราบว่าเครื่องคอมพิวเตอร์ดังกล่าวมีค่าที่เกี่ยวข้องต่างๆ ดังนี้