1 / 57

315241 Communication of Information System

315241 Communication of Information System. Electronic Mail เสรี ชิโนดม seree@buu.ac.th. Introduction. การประยุกต์ใช้งานของผู้ใช้ทั่วไปส่วนใหญ่จะใช้สถาปัตยกรรมแบบ client-server Electronic mail client รับ mail จากผู้ใช้และส่งไปยัง server ที่เป็นเครื่องปลายทาง

tex
Download Presentation

315241 Communication of Information System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 315241Communication of Information System Electronic Mail เสรี ชิโนดมseree@buu.ac.th P# 1

  2. Introduction • การประยุกต์ใช้งานของผู้ใช้ทั่วไปส่วนใหญ่จะใช้สถาปัตยกรรมแบบ client-server • Electronic mail client รับ mail จากผู้ใช้และส่งไปยัง server ที่เป็นเครื่องปลายทาง • มีวิธีการหลายรูปแบบในการส่งจดหมายอิเลกทรอนิกส์ P# 2

  3. Electronic mail • โปรแกรมไปรษณีย์อิเล็กทรอนิกส์เป็นบริการรับส่งจดหมายผ่านเครือข่ายคอมพิวเตอร์ เช่นเครือข่าย Internet ซึ่งให้บริการได้สะดวกและรวดเร็วกว่าการใช้บริการไปรษณีย์ธรรมดามาก • สามารถรับส่งข่าวสารได้ทั้งแบบตัวอักษร ภาพ และเสียง ทำให้การติดต่อสื่อสารไม่มีขีดจำกัด และเป็นระบบที่ได้รับความนิยมในการใช้บริการสูงในเครือข่าย P# 3

  4. Electronic mail • ระบบไปรษณีย์อิเล็กทรอนิกส์ประกอบขึ้นด้วยองค์ประกอบที่สำคัญ 2 ส่วนคือ - ส่วนการติดต่อกับผู้ใช้ เรียกว่า user agent - ส่วนการรับส่งไปรษณีย์อิเล็กทรอนิกส์ระหว่างเครื่องคอมพิวเตอร์ในเครือข่าย เรียกว่าMessage Transfer Agent หรือ Mail Transfer Agent (MTA) • องค์ประกอบที่สำคัญอีกส่วนหนึ่งได้แก่ P# 4

  5. User Agent • เป็นส่วนที่ผู้ใช้คุ้นเคยและรู้จักกันดี เป็นโปรแกรมคมพิวเตอร์ทางด้านผู้ใช้งานแบ่งเป็น 2 ส่วน คือส่วนของผู้ส่งและส่วนของผู้รับ • User Agent จะติดต่อเข้าสู่เครื่องบริการ (Server)โดยผ่านระบบ LAN หรือ Dial-up • เป็นส่วนที่ผู้ใข้ติดตั้งโปรแกรม client ของอีเมล์เพื่อเรียกใช้บริการอีเมล์ • เช่นโปรแกรม Pine ในระบบปฏิบัติการ UNIX, และโปรแกรม Eudoraหรือ Outlook express ในระบบปฏิบัติการ Windows P# 5

  6. User Agent (cont.) • โปรแกรมเหล่านี้ช่วยอำนวยความสะดวก • ในการอ่านจดหมายอิเล็กทรอนิกส์ที่ได้รับ • ช่วยในการจัดเตรียมจดหมายและจัดส่ง • อำนวยความสะดวกในการจัดเก็บที่อยู่ (email address) ของผู้ใช้ที่มีการติดต่อบ่อยครั้ง P# 6

  7. Message Transfer Agent(MTA) • ทำหน้าที่สร้างการติดต่อกับเครื่องคอมพิวเตอร์อื่นในระบบเพื่อรับส่งไปรณีย์อิเล็กทรอนิกส์ จากต้นทางไปยังผู้รับปลายทาง ซึ่งจะต้องส่งผ่านเครื่องจำนวนมากที่เชื่อมต่อกันในระบบเครือข่าย โดยโปรแกรมเหล่านี้จะช่วยส่งต่อข้อมูลเป็นทอด ๆ จนถึงเครื่องที่มี account ของผู้รับ • ถ้าส่งไปรณีย์อิเล็กทรอนิกสไม่ได้ จะส่ง error mail กลับมายังผู้ส่งได้ • เครื่องที่มี MTA ทำงานอยู่จะมี mailbox ของผู้ใช้อยู่ด้วยเรียกว่า primary mailbox และเรียกเตรื่องนั้นว่า Mail Server P# 7

  8. MTA (cont.) • เป็นส่วนที่ต้องมี protocol ในการติดต่อที่ชัดเจน และทำหน้าที่เป็นทั้งผู้ให้บริการและผู้ขอใช้บริการในโปรแกรมเดียวกัน • โปรแกรมในส่วนนี้ที่นิยมใช้ในระบบปฏิบัติการ UNIX ได้แก่ sendmail ซึ่งเป็นโปรแกรมที่เป็นไปตามโปรโตคอลมาตรฐาน SMTP (Simple Mail Transfer Protocol) P# 8

  9. Electronic mail paradigm • Electronic mail มีรูปแบบพื้นฐานเหมือนกับการส่งข่าวสารในสำนักงานทั่วไป • แต่รวดเร็วและค่าใช้จ่ายต่ำในการติดต่อ • ใช้ระบบ time-sharing systems ที่เกิดในปี 1960s • เนื่องจาก e-mailสามารถเข้ารหัสและสามารถโต้ตอบได้ • รวดเร็ว(Fast ) • สามารถสร้างระบบโต้ตอบแบบอัตฺโนมัติ - sorting, reply • สามารถที่จะแนบแฟ้มส่งไปได้ P# 9

  10. Electronic mailboxes • ผู้ใช้ทุกคนจะมีตู้รับจดหมาย(mailbox) ของผู้ใช้แต่ละคน • ผู้ใช้สามารอ่านไปรษณีย์ อิเล็กทรอนิกส์โดยใช้โปรแกรมที่ทำหน้าที่อ่านจดหมาย(mail reader program ) • ปกติ ตู้รับจดหมาย ของผู้ใช้แต่ละคนจะสอดคล้องกับcomputer account หรือ user account • ผู้ใช้แต่ละคนอาจมี ตู้รับจดหมายที่แตกต่างกัน P# 10

  11. E-mail addresses • ตู้รับจดหมายของผู้ใช้ จะถูก identified โดย e-mail address • โดยทั่วไปจะเหมือนกับ user's account ID, แต่ไม่เสมอไป • บนเครื่อง non-networked multi-user computer, e-mail addressคือ account ID (no need to identify computer) P# 11

  12. Networked e-mail addresses • การส่งเมล์บนระบบเครือข่ายคอมพิวเตอร์จะมีความซับซ้อน • ต้องระบุชื่อเครื่องคอมพิวเตอร์ • รูปแบบของ e-mail address โดยทั่วไปจะต้องระบุชื่อเครื่องคอมพิวเตอร์และชื่อ mailbox • รูปแบบทั่วไป - user@host • รูปแบบอื่นๆ: • host1!host2!host!user • host%user P# 12

  13. Internet mail addressing • User ต้องระบุให้ชัดเจน(site-specific ) seree Seree_Chinodom 578.4309 • Host คือ domain name • Source mail client • หาชื่อเครื่องคอมพิวเตอร์จาก DNS (MX, if vailable) • ติดต่อกับ delivery server • สำเนา mail ไปยัง server • Destination mail server • ตีความหมาย user name เพื่อหาตู้รับจดหมาย • นำ mail ไปจัดเก็บในตู้รับจดหมาย P# 13

  14. E-mail message format • รูปแบบของไปรษณีย์อีเล็กทรอนิกส์ถูกกำหนดใน RFC 822 • จดหมายอีเล็กทรอนิกส์ทุกฉบับจะประกอบด้วยสองส่วน: • Header ประกอบด้วยรายละเอียดของข้อมูลที่จะส่ง • Body ประกอบด้วยข้อความของจดหมาย • Header และ body จะคั่นด้วยบรรทัดว่าง( blank line ) P# 14

  15. E-mail message format Form you@Here.buu.ac.th Thu 26 16:00:00 1998 …………………………………… ……………………………………. To: you This is a message The Header Blank Line The Body P# 15

  16. E-mail example P# 16

  17. ข้อกำหนดของ RFC 822 • การส่งอีเมล์ผ่านอินเทอร์เน็ต แต่ละบรรทัดยาวได้ไม่เกิน 1000 ไต์ และขนาดของอีเมล์แต่ละครั้งไม่เกิน 64 KB โดยผู้ใช้ไม่ต้องสนใจว่าอีเมล์จะส่งผ่านไปที่ MTA ใดบ้าง เนื่องจากอีเมล์จะถูกเข้ารหัสและส่งไปยัง user agent ของผู้รับปลายทางและผ่านการถอดรหัสโดยอัตฺโนมัติ P# 17

  18. E-mail headers หัวจดหมายจะมีกี่บรรทัดก็ได้ขึ้นกับ configuration ของระบบที่ตั้งไว้หรือ รูปแบบของโปรแกรม ที่ใช้ส่งจดหมายเป็นตัวกำหนด ซึ่งส่วนใหญ่จะประกอบด้วยส่วนหลักๆ ดังต่อไปนี้ P# 18

  19. E-mail headers • From: จะถูกสร้างขึ้นโดยโปรแกรม /bin/mail • Delivery-Date: แสดงวันที่และเวลาที่แฟ้มจดหมายได้รับ • Return-Path: จะถูกสร้างขึ้นโดยโปรแกรม sendmail มีไว้เพื่อให้สามารถตอบจดหมายกลับ (Reply to sender) P# 19

  20. E-mail headers • Date: จะให้รายละเอียดของวันและเวลาที่จดหมายถูกส่งมา • Form: จะให้รายละเอียดของชื่อเต็ม (Full name) ของผู้ส่ง • Message-Id: คล้ายกับ serial number ซึ่งเกิดจากการแปลง วัน, เวลา ชื่อไฟล์เครื่องที่ใช้ส่ง ให้มาอยู่ในรูปของ string ที่ unique • To: แสดงรายชื่อผู้รับจดหมายซึ่งจดหมายฉบับเดียวกันอาจส่งไปยังผู้รับได้มากกว่าหนึ่งคน P# 20

  21. E-mail headers • Mail software passes unknown headers unchanged • Some software may interpret vendor-specific information P# 21

  22. Email Body ส่วนของตัวจดหมาย คือทุกข้อความที่ถัดจากบรรทัดว่างบรรทัดแรกที่อยู่ต่อจากส่วนหัวจดหมาย ส่วนนี้เป็นส่วนที่ผู้ส่งจดหมายเป็นคนพิมพ์และแก้ไขข้อมูลจดหมายได้ตามต้องการ P# 22

  23. Queue Directory ข้อมูลจดหมาย สามารถเก็บพักไว้ได้ชั่วคราวได้ สำหรับกรณีที่ระบบดาวน์ หรือว่าดิสค์ ที่ใช้เก็บจดหมายมีปัญหา โปรแกรม sendmail จะทำการเก็บข้อมูลจดหมายไว้ใน Queue Directory จนกว่า การส่งจดหมายจะไปถึงผู้รับโดยสมบูรณ์ dfAA07038 dfAA08000 IfAA08000 qfAA07038 qfAA08000 ภาพที่ 1 แสดงตัวอย่างของข้อมูลในคิว P# 23

  24. Queue Directory • เมื่อจดหมายอยู่ในคิวมันจะถูกแยกเป็นสองส่วน แต่ละส่วนแยกบันทึกอยู่คนละแฟ้มข้อมูล • ข้อมูลของส่วนหัวจะถูกบันทึกในแฟ้มข้อมูลที่ชื่อขึ้นต้นด้วย qf • ข้อมูลของตัวจดหมายจะถูกบันทึกไว้ในแฟ้มข้อมูลที่ชื่อขึ้นต้นด้วย df • จากภาพ แสดงในเป็นว่ามีจดหมายสองฉบับอยู่ในคิว ฉบับหนึ่งคือ AA07038 อีกฉบับหนึ่งคือ AA08000 P# 24

  25. Queue Directory • โปรแกรม sendmail จะเป็นตัวจัดคิวและ จะพยายามส่งจดหมายที่ค้างอยู่ในคิว จดหมายที่กำลังจะถูกส่ง จะถูกกันไว้ไม่ให้ดำเนินการใดๆ โดยจดหมายที่ถูกกันในคิวนั้น ชื่อจะขึ้นต้นด้วย If จากรูปข้างต้น จดหมายที่กำลังถูกจัดส่งคือ AA08000 P# 25

  26. Email sending ส่งโดยเรียกใช้โปรแกรม /usr/lib/sendmail โดยทำการพิมพ์จดหมายที่จะส่งบันทึกลงแฟ้มข้อมูล โดยมีรูปแบบการส่งดังนี้ /usr/lib/sendmail Email-address < File_mail Email-address เป็นรหัสและที่อยู่ของผู้ที่ต้องการจะส่งจดหมายไปถึง File_mail คือแฟ้มข้อมูลจดหมายที่ต้องการส่ง P# 26

  27. Email sending เมื่อโปรแกรม sendmail ถูกใช้งาน การทำงานขั้นแรกจะไปอ่าน แฟ้มข้อมูล /etc/sendmail.cfในแฟ้มข้อมูลนี้จะแสดงที่ตั้งของแฟ้มข้อมูลอื่นๆ ที่เกี่ยวข้องที่โปรแกรม sendmail จำเป็นต้องใช้ P# 27

  28. Sendmail ภาพ แสดงแฟ้มข้อมูลที่เกี่ยวข้องกับขบวนการส่งจดหมาย P# 28

  29. Aliases Alias เป็นขบวนการในการแปลงชื่อของชู้ใช้งานในระบบเป็นอีกชื่อหนึ่ง บางทีก็ใช้สำหรับแปลงชื่อทั่วไป (เช่น root) เป็นชื่อจริง หรือ ใช้สำหรับแปลงจากชื่อหนึ่งชื่อเป็นอีกรายการของรายชื่อหลายชื่อ P# 29

  30. Data in e-mail • จดหมายอีเลกทรอนิกส์รุ่นแรกจะเก็บข้อมูลโดยใช้รหัส ASCII ที่เป็น 7 บิต • ไม่สามารถส่งข้อมูลที่เเป็น binary เช่นแฟ้มโปรแกรม • ต่อมามีการใช้เทคนิคสำหรับ encoding ข้อมูลแบบ binary จึงสามารถส่งข้อมูลแบบนี้ได้ • uuencode: 3 8-bit binary values as 4 ASCII characters (6 bits each) • สามารถแนบแฟ้มและมีการป้องกันข้อมูลได้ P# 30

  31. MIME • Multipart Internet Mail Extensions • เป็นเทคนิคการเข้ารหัสและถอดรหัสในการรับส่งอีเมล์ • ทำให้สามารถส่งข้อมูลที่เป็น programs, pictures, audio clips ไปในจดหมายได้ • โปรแกรมที่ทำหน้าที่รับหรือส่งอีเมล์จะทำหน้าทีแปลงและถอดรหัสโดยอัตโนมัติ • เทคนิคของMINE จะแปลงรหัส ASCIIทั่วไปซึ่งมี 8 บิต ให้เป็นค่า 7 บิต(ให้บิตที่ 0 มีค่าเป็น 0เสมอ) P# 31

  32. MIME • ข้อมูลของ MINE ประกอบด้วย 2 ส่วนคือ • ส่วนหัว หรือ Content Transfer Encoding เก็บรายละเอียดของข้อมูลที่เข้ารหัสไว้ • ส่วนของข้อมูลที่เข้ารหัสแล้ว • Header includes: MIME-Version: 1.0 Content-Type: Multipart/Mixed; Boundary = Mime_separator • แต่ละบรรทัดจะให้รายละเอียดการเข้ารหัส เช่น Plain text includes: Content-type: text/plain P# 32

  33. MIME (cont) • MIME is compatible with existing mail systems • Everything encoded as ASCII • Headers and separators ignored by non-MIME mail systems • MIME encapsulates binary data in ASCII mail envelope P# 33

  34. Programs as mail recipients • สามารถจัดการกับ e-mailbox โดยใชโปรแกรมดำเนินการ • จดหมายที่รับเข้ามาจะประมวลผลรโดยอัติโนมัติ • ตัวอย่าง - mailing list subscription administration • เป็นการประมวลผลแบบ client-server • Client ส่งอีเมล์มา • Server ส่งอีเมล์ตอบกลับ P# 34

  35. Mail transfer • การติดต่อสื่อสารผ่าน E-mailประกอบด้วยขบวนการ 2ส่วน : • ผู้ใช้ส่ง mail โดยใช้โดยใช้โปรแกรมที่ทำหน้าที่เป็นส่วนการติดต่อกับผู้ใช้( e-mail interface program ) • โปรแกรมที่ทำหน้าที่ส่ง mail (Mail transfer program) ส่ง mail ไปยังปลายทาง • รออีเมล์เพื่อจัดเก็บลงใน queues เพื่อรอส่งออก • นำจดหมายที่พร้อมส่งทำการตรวจสอบว่าใครเป็นผู้รับ • ทำหน้าที่เป็น client และติดต่อกับ server ของผู้รับจดหมาย • ส่งข่าวสารไปที่ server เพื่อการส่งจดหมาย P# 35

  36. SMTP • Simple Mail Transfer Protocol (SMTP) เป็นโปรโตคอลมาตราฐานสำหรับการรับส่ง mail จากเครื่องต้นทางไปยังปลายทาง • เป็นส่วนที่ทำการส่งเมล์ทีมีความเชื่อถือได้ • ใช้ TCP และทำหน้าที่ส่งข่าวสารระหว่าง clientและserver • หน้าที่อื่น ๆ: • E-mail address lookup • E-mail address verification P# 36

  37. SMTP(cont.) • เมื่อเริ่มการติดต่อ SMTP จะกำหนดให้ user agent ของผู้ส่งส่งคำสั่ง HELLO พร้อรายละเอียดด้านผู้ส่งออกไป จากนั้นจะส่งคำสั่ง MAIL เพื่อแจ้งให้ Server เตรียมรับอีเมล์ • ส่วนของ Server เมื่อพร้อมที่จะรับก็จะตอบกลับด้วยคำสั่ง OK • จากนั้นด้านส่งก็จะส่งโดยใช้คำสั่ง RCTP เพื่อกำหยดอีเมล์แต่ละฉบับที่ส่งไป • การส่งข้อมูลของอีเมล์จะระบุด้วยคำสั่ง DATA P# 37

  38. SMTP(cont.) • การส่งอีเมล์ของ SMTP มีคำสั่งอื่นเพื่ออำนวยความสดวกในการใช้งานเช่น • VRFY ใช้ตรวจสอบความถูกต้องของชื่อและ mailbox • EXPNใช้จัดการและตรวจสอบรายชื่อจากลิตส์ • TURN ใช้สลับให้ client ของผู้ส่งทำหน้าที่รับข้อมูลจาก Server แทน • เมื่อรับคำสั่งแล้ว Server จะทำหน้าที่ตรวจสอบความถูกต้องของคำสั่งและทำงานตามคำสั่งและส่งผลตอบกลับมา P# 38

  39. SMTP(cont.) • ข้อมูลที่ตอบกลับจะอยู่ในรูป Text ที่เป็น ASCII โดยประกอบด้วย • ตัวเลขนำหน้าข้อความ 3 หลัก ทำหน้าที่แสดงสถานะการทำงานของ Server และเปลียนแปลงสถานะการทำงานของ SMTP • คั่นด้วยช่องว่างแล้วตามด้วยข้อความซึ่งปิดท้ายด้วย carriage return และ line feed เช่น • 500 syntax error, command unrecognized • 503 bad sequence of commands P# 39

  40. SMTP protocol exchange 220 coral.bucknell.edu Sendmail 5.65v3.0 (1.1.8.2/29Aug94-0956AM) Sat, 5 Apr 1997 06:47:12 -0500 HELO regulus.eg.bucknell.edu 250 coral.bucknell.edu Hello regulus.eg.bucknell.edu, pleased to meet you MAIL FROM: droms 250 droms... Sender ok RCPT TO: droms 250 droms... Recipient ok DATA 354 Enter mail, end with "." on a line by itself This is a test mail message. . 250 Ok QUIT 221 coral.bucknell.edu closing connection P# 40

  41. Multiple recipients on one computer • สมมุติว่าต้องการส่งข่าวสารถึง seree@bucc4.buu.ac.th, zap@bucc4.buu.ac.th และ pan@bucc4.buu.ac.th • SMTP จะอนุญาตให้ clientส่งจดหมายเพียง 1 ฉบับแต่ส่งไปให้คนทั้งสามได้ • Server จะทำหน้าที่สำเนาจดหมาย 3 ฉบับเพื่อทำการส่ง P# 41

  42. Mailing lists and forwarders • E-mail addresses สามารถที่จะจัดเก็บเป็นกลุ่มบัญชีรายชื่อได้เรียกว่า Mailing list • Mail exploder หรือ mail จะ forward สำเนาของเอกสารไปยัง e-mail addressesที่จัดเก็บใน mailing list • UNIX mail program sendmail provides simple mail aliases • Mailing list processor, e.g., listserv, can also interpret subscription management commands P# 42

  43. Mailing lists P# 43

  44. Mail gateways • Mailing list เป็นขบวนการที่ใช้ทรัพยากรมากในองค์กรขนาดใหญ่ • อาจใช้เครื่องคอมพิวเตอร์แยกต่างหากในการประมวลผล : mail gateway • ทำหน้าที่กำหนดเครื่องปลายทางที่ทำหน้าที่รับไปรษณีย์อีเลกทรอนิกส์ทั้งหมด • เช่น bucc4.buu.ac.th • ใช้ MX records ระบุใน DNS เพื่อส่ง mailทั้งหมดไปยัง gateway P# 44

  45. Mail gateways P# 45

  46. Mail gateways and forwarding • ผู้ใช้ภายในองค์กรอาจต้องการอ่านเมล์จากเครื่องภายในของแผนก • สามารถที่จะทำการ forwarded เมล จาก mail gateway ได้ • Messageจะถูกส่งผ่านเครื่องคอมพิวเตอร์เป็นทอด ๆ • Hops จะถูกบันทึกในระเบียนส่วนหัว(header ) • Forwarded mail อาจเป็น proprietary (non-SMTP)ของระบบการรับส่ง mail นั้นๆก็ได้ P# 46

  47. Mail gateways and e-mail addresses • องค์กรอาจกำหนดรูปแบบเดียวในการกำหนดชื่อสำหรับ external mail • แต่ภายในอาจสามารถรับอีเมล์ได้หลายรูปแบบและหลายชื่อที่แตกต่างกันสำหรับผู้ใช้คนเดียว • Mail gateways จะทำหน้าที่ในการtranslate e-mail addresses Ralph_Droms droms@regulus.eg.bucknell.edu Dan_Little dlittle@mail.bucknell.edu Ruth_Miller miller@charcoal.eg.bucknell.edu P# 47

  48. Mailbox access • Where should mailbox be located? • ผู้ใช้ต้องการ access mail จากเครื่องคอมพิวเตอร์ของผู้ใช้เอง • เราไม่นิยมที่จะใช้ desktop computer ทำเป็น mail server เนื่องจาก • ไม่สามารถที่จะทำงานตลอดเวลา • ต้องมี OS แบบ Multitasking • ต้องใช้หน่วยเก็บความจำปริมาณมาก • ใช้ TELNET จาก remote computer ไปที่ mail server P# 48

  49. Mail access protocols • แทนที่จะใช้ TELNETติดต่อโดยตรงไปยัง mail host เพื่ออ่านอีเมล์จาก remote computer • โปรโตคอล TCP/IP มี Post Office Protocol (POP) สำหรับทำหน้าที่อ่าน remote mailbox • เครื่องคอมพิวเตอร์ที่เก็บ mail boxes วิ่ง POP server • ผู้ใช้ runs POP client ที่เครื่องของตนเอง( local computer) • POP client สามารถเข้าถึงและอ่านอีเมล์จาก mailbox • ต้องกำหนด password • Local computer ใข้ SMTP เป็นตัวส่งอีเมล์ออก(outgoing mail ) P# 49

  50. Post Office Protocol (POP) P# 50

More Related