งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

PART V Transport Layer.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "PART V Transport Layer."— ใบสำเนางานนำเสนอ:

1 PART V Transport Layer

2 Transport layer สำคัญอย่างไร?
เนตเวิร์กเชื่อมโยงอินเตอร์เน็ตอย่างไร ลักษณะการส่งข้อมูลในอินเตอร์เน็ต โปรโตคอล TCP/IP ทำงานอย่างไร

3 เนตเวิร์กเชื่อมโยงอินเตอร์เน็ตอย่างไร
High speed backbone router

4 เนตเวิร์กเชื่อมโยงอินเตอร์เน็ตอย่างไร

5 เนตเวิร์กเชื่อมโยงอินเตอร์เน็ตอย่างไร

6 ลักษณะการส่งข้อมูลในอินเตอร์เน็ต
router High speed backbone

7 ลักษณะการส่งข้อมูลในอินเตอร์เน็ต

8 Transport layer สำคัญอย่างไร?
เครือข่ายอินเตอร์เน็ต มีขนาดใหญ่ ประกอบด้วย เครือข่ายย่อยส่วนต่างๆ ซึ่งดูแลโดยผู้ให้บริการส่วนนั้นๆ ปัญหาเครือข่ายที่เกี่ยวกับการให้บริการ อาจเกิดขึ้น เช่น เราเตอร์เสีย การเชื่อมต่อเสีย แพกเก็ตข้อมูลอาจสูญหาย/เสียหายในอัตราค่อนข้างสูง

9 Transport layer สำคัญอย่างไร?
แต่ ผู้ใช้ไม่มีสิทธิในการจัดการหรือ ควบคุมเครือข่ายย่อยเลย ทางออกที่เป็นไปได้คือ เพิ่ม Transport layer เหนือชั้น Network layer เพื่อให้มีความสามารถในการส่งข้อมูลผ่านเครือข่ายที่ไม่มีความน่าเชื่อถือ และมีความเสี่ยงสูงได้

10 โปรโตคอล TCP/IP ทำงานอย่างไร
ให้แตกข้อมูลและข่าวสารออกเป็นส่วนย่อยที่เรียกว่า แพกเก็ต แพกเก็ตเหล่านี้ จะถูกส่งไปยังปลายทางที่เป็นเป้าหมายที่ถูกต้อง แล้วก็นำแพกเก็ตย่อยเหล่านี้ มารวมเข้าด้วยกันอีกครั้งหนึ่งในรูปดั้งเดิมตามที่มันถูกส่งมา Transport layer : TCP ทำหน้าที่ แตกแพกเก็ตย่อยและนำกลับมารวมกันเข้า Network layer: IP ทำหน้าที่ ส่งแพกเก็ตไปยังปลายทางได้อย่างถูกต้อง

11 Position of transport layer

12 Transport layer duties
Application layer Transport layer Network layer Datalink layer Physical layer

13 Transport layer duties
Connection-oriented: มีการสร้างการเชื่อมต่อ (connection) ก่อน จากนั้นจึงส่งข้อมูล ช้าในตอนเริ่มต้น แต่ชัวร์ Connectionless: ไม่มีการสร้างการเชื่อมต่อ (connection) สามารถส่งข้อมูลได้เลย ส่งได้รวดเร็วแต่ไม่รับประกันว่าถึงหรือไม่

14 Transport layer duties
กำหนดหมายเลข port สำหรับ process บนคอมพิวเตอร์ เพื่อการส่งข้อมูลแบบ process-to-process delivery

15 Transport layer duties
Flow control Error control คล้าย Datalink layer แต่จะทำใน ระดับ process-to-process แทนที่ จะเป็นในระดับ node-to-node

16 Chapters Chapter 22 Process-to-Process Delivery Chapter 23 Congestion Control and QoS

17 Process-to-Process Delivery: UDP and TCP
Chapter 22 Process-to-Process Delivery: UDP and TCP

18 22.1 Process-to-Process Delivery
Client-Server Paradigm Addressing Multiplexing and Demultiplexing Connectionless/Connection-Oriented Reliable/Unreliable

19 The transport layer is responsible for process-to-process delivery.
Note: The transport layer is responsible for process-to-process delivery. process-to-process delivery คือการส่งข้อมูล (ส่วนของข้อความ) จาก process หนึ่งไปยังอีก process หนึ่ง

20 Figure 22.1 Types of data deliveries

21 สอง process ใดๆ จะสื่อสารกันในลักษณะ ผู้รับบริการและผู้ให้บริการ
Note: สอง process ใดๆ จะสื่อสารกันในลักษณะ ผู้รับบริการและผู้ให้บริการ (client/server relationship)

22 Client/server relationship
Client/server network operating systems allow the network to centralize functions and applications in one or more dedicated file servers. The file servers become the heart of the system, providing access to resources and providing security. Individual workstations (clients) have access to the resources available on the file servers. The network operating system provides the mechanism to integrate all the components of the network and allow multiple users to simultaneously share the same resources irrespective of physical location. Novell Netware and Windows NT Server are examples of client/server network operating systems.

23 Client/server relationship
Client/server network operating systems allow the network to centralize functions and applications in one or more dedicated file servers. The file servers become the heart of the system, providing access to resources and providing security. Individual workstations (clients) have access to the resources available on the file servers. The network operating system provides the mechanism to integrate all the components of the network and allow multiple users to simultaneously share the same resources irrespective of physical location. Novell Netware and Windows NT Server are examples of client/server network operating systems.

24 Port numbers Channel 35 Channel 21 Channel 18 Port 1863 Port 80
Ports were developed so that computers could accept data from multiple sources over the same IP address. Think if it like this; Your TV service is the Internet, and the ports are you channels. You have many forms of entertainment, news, and information available through many different channels. Think about this, lets say that MTV is channel 35 on your TV. The same is true for web servers that run on port 80. Every port has a special purpose just as each channel serves a different television program. While you only have 1 cable TV subscription, you can still receive multiple channels. Two main types of ports: TCP and UDP. TCP stands for Transmission Control Protocol. UDP stands for User Data Protocol. Some programs on your computer will use TCP ports to communication and other may use UDP. It is important to know the difference between how the two operation. Port 80 Port 25

25 Figure Port numbers ผู้รับ ผู้ส่ง ผู้ส่ง ผู้รับ

26 Figure 22.3 IP addresses versus port numbers

27 Figure IANA ranges Ports numbers are assigned by the IANA (Internet Assigned Number Authority). There are 65,535 TCP and UDP ports available to transmit data with. Ports are reserved for common use. These ports are assigned by the IANA (Internet Assigned Numbering Authority). This means, that every port from will be the same on every system. For example, let's say a server in New York is using port 80, and so is a server Texas. Because port 80 falls in the range of reserved ports, we know both servers are using port 80 for HTTP connections. Viewing a list of known ports can help you determine which type of connections are present on your machine. You can view the RFC on ports (RFC 1700) here.

28 Figure Socket address

29 Server with many ports Servers, or any machine for that matter "listen" on certain ports. For example, a server running web, FTP, and Telnet services will listen on a port for each. The act of listening simply means the machine is waiting for another device to connect to it.

30 Figure 22.6 Multiplexing and demultiplexing
Port 80 Port 23 Port 21 You can see how the server is listening for 3 ports over a single IP address ( ). You should also know that it is possible for multiple devices to connect to a single port. Meaning, a telnet server may accept over 100 simultaneous connections to port 23.

31 ลักษณะการทำงานของ transport layer
Process-to-process delivery ใช้ client socket address และ server socket address Multiplexing/demultiplexing มีการแบ่งบริการ ตามลักษณะการเชื่อมต่อในเครือข่าย Connectionless service (แบบไม่มีการเชื่อมต่อ) Connection-oriented service (แบบสร้างการเชื่อมต่อ) มีการแบ่ง ตามลักษณะความน่าเชื่อถือในการส่งข้อมูล Unreliable Reliable UDP TCP

32 Figure 22.7 Connection establishment
สำหรับ Connection-oriented service (แบบสร้างการเชื่อมต่อ)

33 Figure 22.8 Connection termination
สำหรับ Connection-oriented service (แบบสร้างการเชื่อมต่อ)

34 Figure Error control

35 UDP Port Numbers User Datagram Applications

36 Note: แบบไม่มีการเชื่อมต่อ ไม่น่าเชื่อถือ UDP is a connectionless, unreliable protocol that has no flow and error control. It uses port numbers to multiplex data from the application layer. UDP (User Datagram Protocol) is anther commonly used protocol on the Internet. However, UDP is never used to send important data such as webpages, database information, etc; UDP is commonly used for streaming audio and video. Streaming media such as Windows Media audio files (.WMA) , Real Player (.RM), and others use UDP because it offers speed! The reason UDP is faster than TCP is because there is no form of flow control or error correction. The data sent over the Internet is affected by collisions, and errors will be present. Remember that UDP is only concerned with speed. This is the main reason why streaming media is not high quality.

37 UDP (User Datagram Protocol)
UDP เป็นโปรโตคอลหลักที่ทำงานอยู่บนชั้น Transport เช่นเดียวกันกับ TCP โดยมีลักษณะดังต่อไปนี้ เป็นโปรโตคอลแบบ “Connectionless” นำส่งข้อมูลจากโพรโทคอลชั้น Application ไปยัง IP ไม่มีกลไกรับประกันความถูกต้องของข้อมูลเดทาแกรม โปรแกรมประยุกต์ที่ใช้ยูดีพี ต้องจัดการปัญหาเหล่านี้เอง ในชุดโปรโตคอลทีซีพี/ไอพี นั้น ยูดีพี คือกลไกแรกที่ใช้สำหรับส่งเดทาแกรมไปยังโปรแกรมประยุกต์อื่น ยูดีพี ใช้ IP เพื่อส่งข้อความจากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง แบบจำลอง ยูดีพี มีการส่งเดทาแกรมแบบไม่ต้องสร้างการเชื่อมต่อและยังไม่น่าเชื่อถือ ซึ่งหมายความว่าข้อความของยูดีพี อาจสูญหาย ซ้ำซ้อน ล่าช้า หรือ ใช้งานไม่ได้เมื่อถูกส่งออกไป แพ็คเก็ตอาจถึงเร็วกว่าที่ผู้รับจะประมวลผลได้ทัน แพ็คเก็ทอาจมาถึงแบบผิดลำดับ โดยโปรแกรมประยุกต์ที่ใช้ ยูดีพี ต้องแก้ปัญหาเหล่านี้เอง

38 UDP (User Datagram Protocol)
ประโยชน์หลักของ ยูดีพี คือ ความเร็วเพราะ ไม่ต้องผ่านการจัดการข้อผิดพลาดใด ๆ ยูดีพี จึงเร็วกว่า ทีซีพี มาก โปรแกรมประยุกต์บางชนิดเหมาะที่จะใช้งาน ยูดีพี เช่น การติดต่อกับ Timeserver ที่พอร์ต 37 จะต้องได้รับข้อความที่บรรจุเวลา GMT (Greenwich Mean Time) อยู่เรื่อย ๆ ถ้าแพ็คเก็ทใดสูญหายก็ไม่มีผลมากนัก เพราะจะได้รับข้อความต่อไปอยู่ดี

39 หมายเลขพอร์ต (Port number)
หมายเลขพอร์ต คือ หมายเลขที่ใช้ระบุโพรโทคอลของโปรแกรมประยุกต์เป็นตัวเลขขนาด 16 บิต เป็นเสมือนแอดเดรสประจำโพรโทคอลในชั้นประยุกต์ทีซีพี/ไอพี สงวนพอร์ตหมายเลข 1 ถึง 1023 ไว้ใช้ประจำโพรโทคอลประยุกต์โดยเรียกเลขพอร์ตนี้ว่า “well-known ports” ซึ่งใช้เป็นมาตรฐานทุกสถานีหรืออุปกรณ์เครือข่าย IANA ( Internet Assigned Numbers Authority ) ได้จำแนกประเภทของพอร์ตเป็น 3 ประเภท ดังนี้ 1. The well-known ports เป็นหมายเลขพอร์ตสากลที่ใช้เป็นมาตรฐานในเครือข่าย อินเทอร์เน็ต เช่น พอร์ตหมายเลข 21 เป็นพอร์ตสำหรับรับส่งไฟล์ FTP (File Transfer Protocol) เป็นต้น โดย The well-known ports เป็นพอร์ตตั้งแต่ 2. The Registered Ports เป็นหมายเลขพอร์ตลงทะเบียนสำหรับองค์กรต่างๆ เช่น พอร์ตหมายเลข 1863 เป็นของ MSN Messenger เป็นต้น โดย The Registered Ports เป็นพอร์ตตั้งแต่ 3. The Dynamic and/or Private Ports เป็นหมายเลขพอร์ตอิสระที่ไม่ใช่ The well knownports และไม่ใช่ The Registered Ports โดย Dynamic Ports นี้ แอพลิเคชั่นทั่วไป สามารถเลือกมาใช้ได้และเป็นพอร์ตตั้งแต่ – 65535

40 หมายเลขพอร์ต (Port number)
โปรโตคอลประยุกต์หนึ่ง ๆ อาจเรียกใช้บริการได้ทั้งทีซีพีและยูดีพี โดยใช้หมายเลขพอร์ตเดียวกัน แต่เป็นอิสระต่อกัน ตัวอย่างเช่น echo มีหมายเลขพอร์ตเท่ากับ 7 หากมีการขอบริการทีซีพีและยูดีพีพร้อมกันที่พอร์ตนี้โปรเซสที่เกิดขึ้นจะเป็นโปรเซสอิสระต่อกัน

41 Table 22.1 Well-known ports used by UDP
Protocol Description     7 Echo Echoes a received datagram back to the sender     9 Discard Discards any datagram that is received   11 Users Active users   13 Daytime Returns the date and the time   17 Quote Returns a quote of the day   19 Chargen Returns a string of characters   53 Nameserver Domain Name Service   67 Bootps Server port to download bootstrap information   68 Bootpc Client port to download bootstrap information   69 TFTP Trivial File Transfer Protocol 111 RPC Remote Procedure Call 123 NTP Network Time Protocol 161 SNMP Simple Network Management Protocol 162 Simple Network Management Protocol (trap)

42 Figure 22.10 User datagram format

43 User datagram format หมายเลขพอร์ตของสถานีต้นทาง (source port) ขนาด 16 บิต หมายเลขพอร์ตของสถานีปลายทาง (destination port) ขนาด 16 บิต ความยาว (length) ขนาด 16 บิต บอกความยาวของเดทาแกรม ทั้งเฮดเดอร์และข้อมูล หน่วยเป็นจำนวนไบต์ เช็คซัม (check sum) ขนาด 16 บิต ผลรวมตรวจสอบ คำนวณจากผลรวมของเฮดเดอร์และข้อมูล (optional) จะเห็นว่ายูดีพีมีเฮดเดอร์ที่เรียบง่ายและมีฟิลด์จำนวนน้อย โดยที่ไม่มีฟิลด์ที่ใช้รับประกันความเชื่อถือในการส่งข้อมูล ซึ่งแตกต่างกับทีซีพี

44 ประโยชน์ ของ UDP การทำงานไม่ซับซ้อน เหมาะแก่การรับส่งข้อมูลสั้นๆ ระหว่าง client-server เหมาะแก่การส่งข้อมูลแบบ broadcasting หรือ multicasting ใช้ในการ update routing information โดยใช้กับ Simple Network Management Protocol (SNMP) ใช้ในการส่งข้อมูล real-time multimedia โดยใช้กับ Real-time Transport Protocol (RTP)

45 การส่งข้อมูล real-time multimedia ใช้ Real-time Transport Protocol (RTP) บน UDP

46 Note: UDP is a convenient transport-layer protocol for applications that provide flow and error control. It is also used by multimedia applications.

47 หลักการของ UDP

48 22.3 TCP Port Numbers Services Sequence Numbers Segments Connection
TCP (Transmission Control Protocol) is the most commonly used protocol on the Internet. The reason for this is because TCP offers error correction. When the TCP protocol is used there is a "guaranteed delivery." This is due largely in part to a method called "flow control." Flow control determines when data needs to be re-sent, and stops the flow of data until previous packets are successfully transferred. This works because if a packet of data is sent, a collision may occur. When this happens, the client re-requests the packet from the server until the whole packet is complete and is identical to its original. Transition Diagram Flow and Error Control Silly Window Syndrome

49 Table 22.2 Well-known ports used by TCP
Protocol Description    7 Echo Echoes a received datagram back to the sender     9 Discard Discards any datagram that is received   11 Users Active users   13 Daytime Returns the date and the time   17 Quote Returns a quote of the day   19 Chargen Returns a string of characters   20 FTP, Data File Transfer Protocol (data connection)   21 FTP, Control File Transfer Protocol (control connection)   23 TELNET Terminal Network   25 SMTP Simple Mail Transfer Protocol   53 DNS Domain Name Server   67 BOOTP Bootstrap Protocol   79 Finger   80 HTTP Hypertext Transfer Protocol 111 RPC Remote Procedure Call

50 TCP (Transmission Control Protocol)
Transport ของแบบอ้างอิง TCP/IP ดังภาพประกอบ 2.1 โดยมีหน้าที่ดังต่อไปนี้ 􀃠 เป็นโพรโทคอลแบบ “Connection - oriented” 􀃠 จัดเตรียมการส่งถ่ายข้อมูลโดยสร้างการเชื่อมต่อ 􀃠 รักษาสภาพการเชื่อมต่อ 􀃠 ส่งข้อมูล ให้แน่ใจว่าข้อมูลถึงปลายทางอย่างถูกต้อง ทีซีพีฝั่งผู้ส่งต้องส่งแพ็คเก็ทซ้ำ ใหม่หากแพ็คเก็ทสูญหาย 􀃠 รับประกันความเชื่อถือสำหรับการส่งข้อมูล 􀃠 จัดลำดับแพ็คเก็ทให้ถูกต้องตามลำดับ 􀃠 กำจัดแพ็คเก็ทซ้ำซ้อน 􀃠 ยกเลิกสภาพการเชื่อมต่อเมื่อสิ้นสุดการส่งถ่ายข้อมูล ทีซีพีต้นทางจัดรูปแบบข้อมูลเพื่อส่งให้ไอพีดำเนินการ ทีซีพีปลายทางเมื่อรับ แพ็คเก็ทจากไอพี ก็จะส่งต่อให้โพรโทคอลประยุกต์ที่ใช้บริการผ่านทีซีพี ได้แก่ TELNET, Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP) เป็นต้น

51 TCP-Transmission Control Protocol
Connection-oriented Designed for reliable connection over unreliable network 3 phases Connection establishment Data transfer Connection termination Data arrive in sequence, flow and error control Adds reliability to IP

52 Figure 22.11 Stream delivery
Imaginary pipe

53 Figure 22.12 Sending and receiving buffers
Sending process และ receiving process ส่งและรับข้อมูลได้ด้วยอัตรา ไม่เท่ากัน ต้องใช้ buffer สำหรับการส่งและรับข้อมูล ในแต่ละทิศทาง

54 Figure TCP segments TCP groups many bytes into a segment. Adds header to each segment. Delivers to IP network layer for transmission. Lost, corrupted re-sent segments handled at TCP. Receiving process is unaware of activities.

55 Example 1 Imagine a TCP connection is transferring a file of 6000 bytes. The first byte is numbered What are the sequence numbers for each segment if data are sent in five segments with the first four segments carrying 1000 bytes and the last segment carrying 2000 bytes? Solution The following shows the sequence number for each segment: Segment 1 ==> sequence number: 10,010 (range: 10,010 to 11,009) Segment 2 ==> sequence number: 11,010 (range: 11,010 to 12,009) Segment 3 ==> sequence number: 12,010 (range: 12,010 to 13,009) Segment 4 ==> sequence number: 13,010 (range: 13,010 to 14,009) Segment 5 ==> sequence number: 14,010 (range: 14,010 to 16,009)

56 Note: The bytes of data being transferred in each connection are numbered by TCP. The numbering starts with a randomly generated number.

57 Note: The value of the sequence number field in a segment defines the number of the first data byte contained in that segment.

58 Note: The value of the acknowledgment field in a segment defines the number of the next byte a party expects to receive. The acknowledgment number is cumulative.

59 Figure 22.14 TCP segment format

60 Figure Control field

61 Table 22.3 Description of flags in the control field
URG The value of the urgent pointer field is valid. ACK The value of the acknowledgment field is valid. PSH Push the data. RST The connection must be reset. SYN Synchronize sequence numbers during connection. FIN Terminate the connection.

62 Figure 22.16 Three-step connection establishment

63 Figure 22.17 Four-step connection termination

64 Table 22.4 States for TCP State Description CLOSED
There is no connection. LISTEN The server is waiting for calls from the client. SYN-SENT A connection request is sent; waiting for acknowledgment. SYN-RCVD A connection request is received. ESTABLISHED Connection is established. FIN-WAIT-1 The application has requested the closing of the connection. FIN-WAIT-2 The other side has accepted the closing of the connection. TIME-WAIT Waiting for retransmitted segments to die. CLOSE-WAIT The server is waiting for the application to close. LAST-ACK The server is waiting for the last acknowledgment.

65 Figure 22.18 State transition diagram

66 Note: A sliding window is used to make transmission more efficient as well as to control the flow of data so that the destination does not become overwhelmed with data. TCP’s sliding windows are byte-oriented.

67 Figure Sender buffer

68 Figure 22.20 Receiver window

69 Figure 22.21 Sender buffer and sender window

70 Figure 22.22 Sliding the sender window

71 Figure 22.23 Expanding the sender window

72 Figure 22.24 Shrinking the sender window

73 Note: In TCP, the sender window size is totally controlled by the receiver window value (the number of empty locations in the receiver buffer). However, the actual window size can be smaller if there is congestion in the network.

74 Some points about TCP’s sliding windows:
Note: Some points about TCP’s sliding windows: The source does not have to send a full window’s worth of data. The size of the window can be increased or decreased by the destination. The destination can send an acknowledgment at any time.

75 Figure Lost segment

76 Figure 22.26 Lost acknowledgment
Timeout seq:1201 Timeout seq:1401 Timeout seq:1601

77 Figure TCP timers


ดาวน์โหลด ppt PART V Transport Layer.

งานนำเสนอที่คล้ายกัน


Ads by Google