Mạng máy tính - Chương 3: Giao thức tầng giao vận (transport layer)

Transport Layer Services & Principles.

Multiplexing/Demultiplexing.

Connectionless Transport (UDP).

Principles of Reliable Data Transfer (RDT).

Connection-oriented Transport (TCP).

Congestion Control.

Sử dụng TCP hay UDP

 

ppt64 trang | Chia sẻ: Mr Hưng | Lượt xem: 1160 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Mạng máy tính - Chương 3: Giao thức tầng giao vận (transport layer), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 3. Giao thức tầng giao vận (transport layer)Đoàn Thị Thu HàChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005OSIChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Ch3. The Transport LayerTransport Layer Services & Principles.Multiplexing/Demultiplexing.Connectionless Transport (UDP).Principles of Reliable Data Transfer (RDT).Connection-oriented Transport (TCP).Congestion Control.Sử dụng TCP hay UDPChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Transport Layer Services & PrinciplesCung cấp phương tiện truyền thông logic (logical communication) giữa các applications.PDUsapplication: messages.transport: segments (đoạn).Các msg từ tầng application gửi xuống được chia nhỏ thành các đoạn (segments).Transport protocol được thực thi tại các trạm cuối (end system).applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicallogical end-end transportDataMessageSegmentFrameBitPacket*Port vµ §iÓm kÕt nèiV× cã nhiÒu giao thøc øng dông líp trªn cïng sö dông dÞch vô cña TCP do ®ã cÇn cã mét c¬ chÕ ®Ó nhËn biÕt gãi tin nµo thuéc øng dông nµoTCP cung cÊp mét c¬ chÕ gäi lµ “c¬ chÕ cæng” (Port Mechanism) g¾n mçi øng dông víi mét “sè hiÖu cæng” (Port number) vÝ dô FTP g¾n víi cæng 21, HTTP g¾n víi cæng 80 *Port vµ §iÓm kÕt nèi§èi víi ng­êi lËp tr×nh, mét ®Þa chØ IP hay mét cæng kh«ng ®ñ ®Þnh danh mét thùc thÓ duy nhÊt trªn m¹ngTCP ®­a ra ®Þnh nghÜa “®iÓm kÕt nèi” (endpoint) lµ mét cÆp sè nguyªn (host, port) trong ®ã, host lµ ®Þa chØ IP cña mét m¸y tÝnh cßn port lµ port number mµ m¸y tÝnh ®ã sö dông. VÝ dô: (190.2.2.1,23) *PortMain roadPort 1Room 1Room 2Room 3Room 4Port 2Port 3Port 4Room 2Room 3Room 4Room 1House Address IP Address*Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Transport & Network layersNetwork layer:Truyền thông logic giữa các trạm làm việc (host).PDUs = packets (gói).IP (Internet Protocol) là giao thức truyền không tin cậy.Transport layer:Tạo phương thức truyền thông logic giữa các ứng dụng (application/process).Nhận các gói tin từ tầng Network gửi lên.Transport & Network layerspostal serviceAnnkidsletters in envelopeshousesnetwork-layer protocolBilltransport protocolProcessesapp messageshosts*Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Transport ProtocolsTCP (Transmission Control Protocol)Connection-oriented (có liên kết).Flow control (điều khiển luồng).Congestion control (điều khiển chống nghẽn mạng). reliable transport protocol (tin cậy)UDP (User Datagram Protocol)Connectionless.Không có kiểm soát luồng và kiểm soát nghẽn mạng. unreliable transport protocol.Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Ch3. The Transport LayerTransport Layer Services & Principles.Multiplexing/Demultiplexing.Connectionless Transport (UDP).Principles of Reliable Data Transfer (RDT).Connection-oriented Transport (TCP).Congestion Control.Sử dụng TCP hay UDPChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Multiplexing/demultiplexing (mux/demux)Multiplexing (chia kênh): Các msgs từ các apps (P1,P2) được chia nhỏ và đóng thành các segments.Demultiplexing (dồn kênh): Các segments nhận được được gửi tới apps tương ứng (P3, P4).applicationtransportnetworkMP2applicationtransportnetworkreceiverHtHnsegmentsegmentMapplicationtransportnetworkP1MMMP3P4segmentheaderapplication-layerdatasendersenderMultiplexing/demultiplexing (mux/demux)*Multiplexing/demultiplexing (mux/demux)*Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Dồn và chia kênh thế nào?source port number: ứng dụng gửi dữ liệu.destination port number: ứng dụng nhận dữ liệu.Port number:0-1023: well-known port number (đã được giữ cho các apps phổ biến).1024 – 65535.source port #dest port #32 bitsapplicationdata (message)other header fieldsTCP/UDP segment formatChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Mux/demux: Ví dụhost Aserver Bsource port: xdest. port: 23source port:23dest. port: xport use: simple telnet appWeb clienthost AWebserver BWeb clienthost CSource IP: CDest IP: Bsource port: xdest. port: 80Source IP: CDest IP: Bsource port: ydest. port: 80port use: Web serverSource IP: ADest IP: Bsource port: xdest. port: 80Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Ch3. The Transport LayerTransport Layer Services & Principles.Multiplexing/Demultiplexing.Connectionless Transport (UDP).Principles of Reliable Data Transfer (RDT).Connection-oriented Transport (TCP).Congestion Control.Sử dụng TCP hay UDPChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Connectionless Transport (UDP).User Datagram Protocol [RFC 768]“no frill”, “bare bones” Internet transport protocol.chỉ cần những thủ tục cơ bản nhất.thông tin điều khiển cũng chỉ cần cơ bản nhất.“best effort” service: dữ liệu có thể mất mát, sai sót nhưng luôn “cố gắng hết sức” để giảm thiểu.Connectionless:Không có cơ chế bắt tay (handshaking): thiết lập  truyền dữ liệu  kết thúc.Không nắm giữ trạng thái.Các segments được xử lý độc lập với nhau.Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005UDP: Segment structuresource port.dest port.length.application data.checksum: mã kiểm tra lỗi (phục vụ cho cơ chế nhận biết lỗi – error detection)source port #dest port #32 bitsApplicationdata (message)UDP segment formatlengthchecksumLength, inbytes of UDPsegment,includingheaderChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005UDP checksumMã kiểm tra phục vụ cho cơ chế nhận biết lỗi.Sender:Coi segment như chuỗi các số nguyên 16-bit.checksum = số bù một (1’s complement) của tổng các số nguyên đó.Receiver:Tính toán checksum của segment nhận được.So sánh với checksum chứa trong trường checksum của segment nhận được  nếu sai khác tức là có lỗi.Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005UDP checksum: examplePhép cộng các số 16-bit liên tiếp là phép cộng có nhớ.Kiểm tra checksum: Lấy tổng các số 16-bit (có nhớ) cộng với checksum: Kết quả là 1111 1111 1111 1111 thì không có lỗi, nếu khác là có lỗi.1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 01 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 11 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 11 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 01 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1wraparoundsumchecksum(bù 1)Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Ch3. The Transport LayerTransport Layer Services & Principles.Multiplexing/Demultiplexing.Connectionless Transport (UDP).Principles of Reliable Data Transfer (RDT).Connection-oriented Transport (TCP).Congestion Control.Sử dụng TCP hay UDPChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Principles of Reliable Data Transfer (RDT)Truyền dữ liệu tin cậy là vấn đề vô cùng quan trọng (top 10 list of important networking topics).Cần thiết đối với app, transport, datalink layer.Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDTChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Finite State Machine (FSM)Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT1.0: reliable data transfer over reliable channelTầng dưới:Không có lỗi.Không mất mát dữ liệu (gói tin).Sender gửi dữ liệu xuống tầng dưới.Receiver nhận dữ liệu gửi từ tầng dưới lên.Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT2.0: channel with bit errorsTầng dưới có thể có lỗi bit (0   1)UDP checksum có khả năng phát hiện lỗi bit.Khắc phục lỗi (error recover) thế nào?acknowledgements (ACKs): receiver thông báo đã nhận gói dữ liệu tốt (không có lỗi).negative acknowledgements (NAKs): receiver thông báo gói dữ liệu nhận được có lỗi.Nếu nhận được NAK, sender cần gửi lại gói tin bị lỗi.rdt2.0 so với rdt1.0:error detectionreceiver feedback: control msgs (ACK,NAK) rcvr->sender.Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT2.0: FSM specificationChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT2.0: operation with no errorsWait for call from abovesndpkt = make_pkt(data, checksum)udt_send(sndpkt)extract(rcvpkt,data)deliver_data(data)udt_send(ACK)rdt_rcv(rcvpkt) && notcorrupt(rcvpkt)rdt_rcv(rcvpkt) && isACK(rcvpkt)udt_send(sndpkt)rdt_rcv(rcvpkt) && isNAK(rcvpkt)udt_send(NAK)rdt_rcv(rcvpkt) && corrupt(rcvpkt)Wait for ACK or NAKWait for call from belowrdt_send(data)LChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT2.0: error scenarioWait for call from abovesndpkt = make_pkt(data, checksum)udt_send(sndpkt)extract(rcvpkt,data)deliver_data(data)udt_send(ACK)rdt_rcv(rcvpkt) && notcorrupt(rcvpkt)rdt_rcv(rcvpkt) && isACK(rcvpkt)udt_send(sndpkt)rdt_rcv(rcvpkt) && isNAK(rcvpkt)udt_send(NAK)rdt_rcv(rcvpkt) && corrupt(rcvpkt)Wait for ACK or NAKWait for call from belowrdt_send(data)LChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT2.0: problemsNếu ACK, NAK bị lỗi?Sender không biết kết quả gửi gói tin thế nào.Cũng chẳng thể gửi lại gói tin vì có thể gây hiện tượng lặp gói tin.Giải pháp:Sender truyền lại nếu như ACK/NAK bị lỗi.Kiểm soát lặp gói tin (duplicate handling)Thêm vào gói tin trường số thứ tự (sequence number).Căn cứ vào số thứ tự gói tin, receiver bỏ qua những gói tin bị lặp. Sender sẽ không gửi gói tin tiếp theo nếu như chưa chắc chắn receiver nhận được gói trước đó (stop and wait protocol).RDT2.1*Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT2.1: sender, handles garbled ACK/NAKsWait for call 0 from abovesndpkt = make_pkt(0, data, checksum)udt_send(sndpkt)rdt_send(data)Wait for ACK or NAK 0udt_send(sndpkt)rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) ||isNAK(rcvpkt) )sndpkt = make_pkt(1, data, checksum)udt_send(sndpkt)rdt_send(data)rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt) udt_send(sndpkt)rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) ||isNAK(rcvpkt) )rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt) Wait for call 1 from aboveWait for ACK or NAK 1LLChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT2.1: receiver, handles garbled ACK/NAKsWait for 0 from belowsndpkt = make_pkt(NAK, chksum)udt_send(sndpkt)rdt_rcv(rcvpkt) && not corrupt(rcvpkt) && has_seq0(rcvpkt)rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) extract(rcvpkt,data)deliver_data(data)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)Wait for 1 from belowrdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq0(rcvpkt) extract(rcvpkt,data)deliver_data(data)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)rdt_rcv(rcvpkt) && (corrupt(rcvpkt)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)rdt_rcv(rcvpkt) && not corrupt(rcvpkt) && has_seq1(rcvpkt)rdt_rcv(rcvpkt) && (corrupt(rcvpkt)sndpkt = make_pkt(ACK, chksum)udt_send(sndpkt)sndpkt = make_pkt(NAK, chksum)udt_send(sndpkt)RDT2.2: a NAK-free protocol*Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT2.2: Phân mảnh tại bên gửi và bên nhậnWait for call 0 from abovesndpkt = make_pkt(0, data, checksum)udt_send(sndpkt)rdt_send(data)udt_send(sndpkt)rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) || isACK(rcvpkt,1) )rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt,0) Wait for ACK0sender FSMfragmentWait for 0 from belowrdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) extract(rcvpkt,data)deliver_data(data)sndpkt = make_pkt(ACK1, chksum)udt_send(sndpkt)rdt_rcv(rcvpkt) && (corrupt(rcvpkt) || has_seq1(rcvpkt))sndpkt = make_pkt(ACK1, chksum)udt_send(sndpkt)receiver FSMfragmentLChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT3.0: channels with errors and lossTầng dưới:Có thể có lỗi.Có thể gây mất mát gói tin.Giải pháp:Sender truyền lại gói tin nếu như chờ ACK một thời gian nhất định nào đó mà không thấy (cần countdown timer).Nếu ACK hay gói tin chỉ bị chậm thôi?truyền lại sẽ gây ra hiện tượng lặp gói tin.cần sequence number.Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT3.0 sendersndpkt = make_pkt(0, data, checksum)udt_send(sndpkt)start_timerrdt_send(data)Wait for ACK0rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) ||isACK(rcvpkt,1) )Wait for call 1 from abovesndpkt = make_pkt(1, data, checksum)udt_send(sndpkt)start_timerrdt_send(data)rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt,0) rdt_rcv(rcvpkt) && ( corrupt(rcvpkt) ||isACK(rcvpkt,0) )rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt,1) stop_timerstop_timerudt_send(sndpkt)start_timertimeoutudt_send(sndpkt)start_timertimeoutrdt_rcv(rcvpkt)Wait for call 0from aboveWait for ACK1Lrdt_rcv(rcvpkt)LLLChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT3.0 in actionChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005RDT3.0 in action (cont)Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Ch3. The Transport LayerTransport Layer Services & Principles.Multiplexing/Demultiplexing.Connectionless Transport (UDP).Principles of Reliable Data Transfer (RDT).Connection-oriented Transport (TCP).Congestion Control.Sử dụng TCP hay UDPChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005TCP OverviewTransmission Control Protocol [RFCs: 793,1122, 1323, 2018, 2581]Point-to-point: 1 sender, 1 receiver.Giao thức tin cậy (reliable).Kiểm soát luồng (flow control).Kiểm soát nghẽn mạng (congestion control).full duplex: truyền nhận trên cùng một liên kết.send/receive buffersChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005TCP segment structuresource port #dest port #32 bitsapplicationdata (variable length)sequence numberacknowledgement numberrcvr window sizeptr urgent datachecksumFSRPAUheadlennotusedOptions (variable length)URG: urgent data (generally not used)ACK: ACK #validPSH: push data toapp immediately (generally not used)RST, SYN, FIN:connection estab(setup, teardowncommands)# bytes rcvr willingto acceptcountingby bytes of data(not segments!)Internetchecksum(as in UDP)Header length (by 32-bit word)TCP segment structureSource port và Destination port chứa các giá trị cổng TCP để xác định các chương trình ứng dụng tại hai đầu của kết nối. Sequence Number : số thứ tự gói tin, xác định vị trí trong chuổi các byte dữ liệu trong segment của nơi gửi. *TCP segment structureAcknowledgment Number xác định số lượng byte mà nguồn đang dợi để nhận kế tiếp. Hlen xác định độ dài của header(4bytes) Reserved chưa sử dụng để dành cho tương lại *TCP segment structureURG(Urgent pointer field significant) báo gói tin phải được gữi đi khẩn.  ACK(Acknowledgement filed significant) , bào Segment này là Segment trả lời từ bên nhận, xác nhận việc đã nhận được gói tin. PSK(push function) báo segment đang ở ché độ gữi đi(Rish) *TCP segment structureRST(Reset the connection) reset lại 1 connectinon mới. SYN (synchronize sequence numbers) bắt tay đồng bộ giữa 2 máy tính ứng dụng TCP giữa 2 máy tính. FIN( Release the connection) : bit báo finish cuộc truyền dữ liệu. *TCP segment structureWindow size: Độ lớn cửa sổ nhận, cho bên sender biết có thể gửi tiếp bao nhiêu byte, tính từ byte được biên nhận (ack).Checksum: checksum của cả TCP segment + Pseudo header. Trước khi tính, trường này = 0. (Tổng các word 16 bit kiểu bù 1, kết quả thu được lại tính bù 1 - XOR).Urgent pointer: byte trong trường data của TCP segment cần được xử lý đầu tiên.*TCP segment structureOptions: Các tuỳ chọn. Hiện nay tuỳ chọn duy nhất được dùng là MSS (Maximum Segment Size). Giá trị default = 536 byte payload + 20 byte header = 556 byte.Pad: chèn thêm để chiều dài trường Options là bội của 32 bit.Data: số liệu của ứng dụng TCP*Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005TCP: Reliable Data Transfer (retransmission)Host ASeq=92, 8 bytes dataACK=100losstimeouttimelost ACK scenarioHost BXSeq=92, 8 bytes dataACK=100Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005TCP flow controlCác apps có thể xử lý dữ liệu chậm, các gói tin nhận về được đưa vào bộ đệm (receiver buffer).Flow control: kiểm soát không để cho receiver buffer bị tràn vì sender gửi nhiều gói tin quá.Receiver: Thông báo cho sender biết kích thước của RcvWidow (free buffer): trường rcv window size trong TCP segment headers.Sender: Luôn nắm được kích thước tối đa của gói tin có thể truyền tiếp.TCP flow controlCơ chế điều khiển lưu lượng (Flow control): các quy tắc chi phối việc nhận các lưu lượng từ bên ngoài đi vào mạng. Việc thực hiện các cơ chế này được gọi là điều khiển lưu lượng. Flow control:Đảm bảo rằng bên gửi có tốc độ nhanh không thể tiếp tục truyền dữ liệu nhanh hơn mức mà bên nhận có thể tiếp thu được.Liên quan đến việc vận chuyển giữa một người gửi đã biết nào đó và một người nhận.Cần có một sự phản hồi trực tiếp từ phía người nhận đến người gửi để báo cho bên gửi về khả năng nhận số liệu thực của bên nhận. *Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005TCP Connection managementTCP: Connection-oriented.Khởi tạo các giá trị:sequence number.buffers, flow control information.Client:Connection initiator (khởi tạo liên kết: socket).Server: Chấp nhận kết nối.Three way handshaking:Bước 1: client gửi TCP SYN control segment tới server.Bước 2: server nhận SYN segment rồi trả lời bằng SYNACK segment.Bước 3: client nhận SYNACK segment và trả lời bằng ACK segment (có thể có dữ liệu đi kèm).Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005TCP Connection management: ngắt liên kếtBước 1: client (phía muốn ngắt liên kết) gửi TCP FIN segment.Bước 2: server (phía còn lại) nhận được FIN, gửi ACK, ngắt liên kết, gửi tiếp FIN segment.Bước 3: client nhận FIN, trả lời bằng ACK. timed wait (chờ một lúc nữa cho tới khi liên kết đóng hẳn).Bước 4: server nhận ACK, đóng liên kết.clientFINserverACKACKFINclosingclosingclosedtimed waitclosedChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Ch3. The Transport LayerTransport Layer Services & Principles.Multiplexing/Demultiplexing.Connectionless Transport (UDP).Principles of Reliable Data Transfer (RDT).Connection-oriented Transport (TCP).Congestion Control.Sử dụng TCP hay UDPChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Congestion controlNghẽn mạng là điều khó tránh khỏi!!!Khi mạng bị nghẽn, các gói tin có thể bị trễ hay bị mất.Hai hướng tiếp cận:End-end congestion control: Thông tin về mức độ nghẽn mạng được suy ra từ lượng tin bị mất mát trong quá trình truyền.Network-assited congestion control: Routers cung cấp các thông tin phản hồi về tình trạng nghẽn mạng tới end systems.Bit thông báo nghẽn mạng  đừng gửi nữa hoăc xin chờ một lát.Tốc độ tối đa cho phép gửi (maximum rate allowed).TCP sử dụng phương pháp end-end congestion control.Congestion controlCác khái niệmHiện tượng tắc nghẽn (congestion): lưu lượng đến mạng tăng lên, thông lượng vận chuyển của mạng lại giảm đi.Deadlock: tình trạng tắc nghẽn trầm trọng đến mức mạng bị nghẹt hoàn toàn, thông lượng vận chuyển của mạng tụt xuống bằng không.*Congestion controlNguyên nhân dẫn đến tắc nghẽn:Lưu lượng đi đến trên nhiều lối vào đều cần cùng một đường đi ra.Tốc độ xử lý tại các router chậmCác đường truyền có bandwidth thấp = cổ chai.*** Tắc nghẽn có khuynh hướng tự nó làm gia tăng *Congestion controlĐiều khiển tắc nghẽn (Congestion control)Đảm bảo cho mạng có khả năng vận chuyển lưu lượng đưa vàoĐó là một vấn đề toàn cục, liên quan đến hành vi của mọi nút mạng, quá trình chứa và chuyển tiếp trong mỗi nút mạng và các yếu tố khác có khuynh hướng làm giảm thông lượng của mạng. *Congestion controlĐiều khiển lưu lượng và điều khiển tắc nghẽn là hai khái niệm khác nhau, nhưng liên quan chặt chẽ với nhau:Điều khiển lưu lượng là để tránh tắc nghẽnĐiều khiển tắc nghẽn là để giải quyết vấn đề tắc nghẽn khi nó xuất hiện hoặc có dấu hiệu sắp xảy raTrong thực tế, nhiều khi cả hai thuật toán này cùng được cài đặt trong một giao thức, thể hiện ra như là một thuật toán duy nhất, thí dụ trong TCPTên gọi chung: Điều khiển lưu lượng (Flow control)*Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Ch3. The Transport LayerTransport Layer Services & Principles.Multiplexing/Demultiplexing.Connectionless Transport (UDP).Principles of Reliable Data Transfer (RDT).Connection-oriented Transport (TCP).Congestion Control.Sử dụng TCP hay UDPChương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Một số so sánh TCP/UDPCó liên kết, lưu trữ trạng thái liên kết (quản lý liên kết).Điểm-điểmCó độ trễ (delay): thiết lập, quản lý liên kết, luồng, nghẽnSegment header lớn (20 bytes)Bị giới hạn tốc độ truyền (congestion control)Không liên kết, không lưu trữ trạng thái.Điểm-điểm, quảng bá.Độ trễ thấp.Segment header nhỏ (8 bytes)Không giới hạn tốc độ truyền.Chương 3. Giao thức tầng giao vận (transport layer)*1-6/2005Các app thực tếApplicationApp protocolTransport protocolElectronic mailSMTPTCPRemote terminal accessTelnetTCPWebHTTPTCPFile transferFTPTCPRemote file serverNFStypically UDPStreaming multimediaproprietarytypically UDPInternet telephonyproprietarytypically UDPNetwork managementSNMPtypically UDPRouting protocolRIPtypically UDPName translationDNStypically UDP

Các file đính kèm theo tài liệu này:

  • pptchapter3_8139.ppt