Chuyển các segment từ máy tính gởi tới máy tính nhận - Các giao thức tầng mạng hoạt động trên cả máy tính gởi/nhận và các thiết bị mạng trung gian ( router). Máy tính gởi: nhận các segment từ tầng giao vận, đóng gói thành datagram - Máy tính nhận: chuyển các segment lên tầng giao vận - Router: kiểm tra và chuyển tiếp các datagram
5/22/2011 LOGO C3 TẦ NG GIAO VẬ N Giớ i thiệ u Dị ch vụ dồ n kênh phân kênh Giao thứ c UDP Giao thứ c TCP Biên soạ n : Lê Minh LOGO I Giớ i thiệ u Cung cấ p đư ng truyề n logic giữ a tiế n trình chạ y máy tính khác Dùng hai giao thứ c: TCP UDP Biên soạ n : Lê Minh 5/22/2011 LOGO I Giớ i thiệ u Các giao thứ c củ a tầ ng giao vậ n chạ y thiế t bị đầ u cuố i ( máy tính,PDA … ) Phía gở i : chia thơng điệ p (message) nhậ n từ tầ ng ứ ng dụ ng thành segment chuyể n xuố ng tầ ng mạ ng Phía nhậ n : tái hợ p segment thành thông điệ p gở i lên cho tầ ng ứ ng dụ ng Biên soạ n : Lê Minh LOGO Quan hệ tầ ng giao vậ n vớ i tầ ng mạ ng Tầ ng mạ ng: Cung cấ p đư ng truyề n logic giữ a máy tính PDU : datagram Datagram bị mấ t, trùng lắ p chuyể n không thứ tự Tầ ng giao vậ n: Cung cấ p đư ng truyề n logic giữ a tiế n trình PDU: segment Phụ thuộ c vào mở rộ ng thêm dị ch vụ củ a tầ ng mạ ng Biên soạ n : Lê Minh 5/22/2011 LOGO Giao thứ c tầ ng giao vậ n Mở rộ ng việ c truyề n liệ u giữ a thiế t bị đầ u cuố i củ a tầ ng mạ ng thành việ c truyề n liệ u giữ a tiế n trình TCP: giao thứ c tin cậ y, gở i nhậ n theo thứ tự Kiể m soát tắ t nghẽ n Điề u khiể n lư u lư ợ ng Thiế t lậ p đư ng truyề n UDP: giao thứ c không tin cậ y, gở i nhậ n không theo thứ tự Biên soạ n : Lê Minh LOGO II Dị ch vụ dồ n kênh phân kênh Tầ ng mạ ng sử dụ ng mộ t kênh truyề n giữ a hai máy tính cho việ c liên lạ c vớ i Transport Layer Network Layer HTTP FTP Telnet Transport Layer Network Layer Mỗ i máy tính chạ y nhiề u ứ ng dụ ng lúc, mỗ i ứ ng dụ ng đư ợ c gở i xuố ng tầ ng mạ ng qua mộ t cổ ng bằ ng mộ t tiế n trình Dữ liệ u gở i từ tiế n trình gở i đế n tiế n trình nhậ n? Biên soạ n : Lê Minh 5/22/2011 LOGO II Dị ch vụ dồ n kênh phân kênh Bên gở i : thự c hiệ n dị ch vụ dồ n kênh Nhậ n liệ u từ nhiề u tiế n trình ứ ng dụ ng khác từ tầ ng ứ ng dụ ng Thêm tiêu đề để tạ o thành segment chuyể n xuố ng tầ ng mạ ng Bên nhậ n: thự c hiệ n dị ch vụ phân kênh Nhậ n liệ u từ tầ ng mạ ng chuyể n lên Căn vào tiêu đề củ a segment để chuyể n liệ u đế n tiế n trình nhậ n Biên soạ n : Lê Minh LOGO II Dị ch vụ dồ n kênh phân kênh Căn để phân kênh? Mỗ i tiế n trình đư ợ c gở i qua mộ t cổ ng Mỗ i gói tin (segment) có đị a cổ ng nguồ n/đích Datagram tầ ng mạ ng có IP nguồ n/đích Biên soạ n : Lê Minh 5/22/2011 LOGO II Dị ch vụ dồ n kênh phân kênh Biên soạ n : Lê Minh LOGO III Giao thứ c UDP Là giao thứ c n giả n củ a tầ ng giao vậ n Giao thứ c không hư ng kế t nố i: Không “bắ t tay” giữ a bên gở i bên nhậ n Các UDP segment đư ợ c xử lý độ c lậ p Giao thứ c không tin cậ y: Các UDP segment bị mấ t mát truyề n Khơng có chế kiể m soát tắ t nghẽ n Tạ i dùng UDP?? Biên soạ n : Lê Minh 5/22/2011 LOGO III Giao thứ c UDP Tạ i dùng UDP? Không cầ n thiế t lậ p đư ng truyề n Không cầ n lư u lạ i trạ ng thái bên gở i/nhậ n Trư ng tiêu đề củ a gói tin nhỏ Khơng cầ n chế kiể m soát tắ t nghẽ n Thư ng đư ợ c dùng bở i ứ ng dụ ng đa phư ng tiệ n: Chấ p nhậ n mấ t mát liệ u Cầ n tố c độ truyề n nhanh Muố n truyề n tin cậ y vớ i giao thứ c UDP: ứ ng dụ ng phả i có chế khắ c phụ c lỗ i Biên soạ n : Lê Minh LOGO Cấ u trúc gói tin UDP Source port: đị a cổ ng nguồ n Dest port: đị a cổ ng đích Checksum: kiể m tra lỗ i củ a segment Length: độ dài củ a segment (byte) – tính header 32 bits source port # dest port # length checksum Application data (message) UDP segment format Biên soạ n : Lê Minh 5/22/2011 LOGO UDP checksum Mụ c đích: phát hiệ n lỗ i segment gở i Phía gở i: Chia nộ i dung củ a segment thành từ có độ dài 16 bit Tính checksum bằ ng cách lấ y tổ ng (có nhớ ) củ a từ 16 bit này, sau lấ y bù Đặ t kế t tính checksum vào trư ng checksum củ a UDP segment Giá trị ban đầ u củ a trư ng checksum segment bao nhiêu?? Biên soạ n : Lê Minh LOGO UDP checksum Phía nhậ n: Chia nộ i dung củ a segment nhậ n đư ợ c thành từ có độ dài 16 bit Tính tổ ng củ a từ 16 bit kể trư ng checksum Nế u kế t bằ ng 111111111 11111111 liệ u nhậ n đư ợ c khơng lỗ i Nế u có bấ t kỳ bit kế t liệ u nhậ n đư ợ c có lỗ i UDP làm có lỗ i xả y ra??? Biên soạ n : Lê Minh 5/22/2011 LOGO IV Giao thứ c TCP Là giao thứ c theo hư ng kế t nố i: Tiế n trình gở i nhậ n phả i “bắ t tay” vớ i để xác đị nh tham số đả m bả o cho việ c truyề n liệ u Kế t nố i TCP: Là kế t nố i điể m – điể m Cung cấ p kênh truyề n song cơng Có đệ m phía gở i nhậ n Quy đị nh lư ợ ng liệ u lớ n nhấ t MMS đặ t mỗ i segment Giá trị MMS thay đổ i đư ợ c Biên soạ n : Lê Minh LOGO Cấ u trúc gói tin TCP 32 bits URG: urgent data (thư ng không dùng) ACK: giá trị ACK nhậ n đư ợ c PSH: push data now (thư ng không dùng) RST, SYN, FIN: Thiế t lậ p kế t nố i (thiế t lậ p đóng kế t nố i) Internet checksum (giố ng UDP) source port # dest port # sequence number acknowledgement number head not len used UA PRS F Receive window checksum Urg data pnter Options (độ dài thay đổ i) Dữ liệ u từ tầ ng ứ ng dụ ng (độ dài thay đổ i) Đư ợ c xác đị nh bở i số byte liệ u gở i/nhậ n Số lư ợ ng byte bên nhậ n nhậ n Biên soạ n : Lê Minh 5/22/2011 LOGO Sequence number ACK number TCP đánh số thứ tự cho từ ng byte củ a dòng liệ u nhậ n đư ợ c từ tầ ng ứ ng dụ ng Mỗ i segment mang mộ t số Seq number, số thứ tự củ a byte đầ u tiên phầ n liệ u củ a segment ( khơng phả i số thứ tự củ a segment) Ví dụ : A cầ n truyề n cho B file có kích thư c 5000 byte, MMS 1000 byte, byte đầ u tiên có số thứ tự Biên soạ n : Lê Minh LOGO Sequence number ACK number Giá trị ban đầ u củ a sequency number đư ợ c chọ n ngẫ u nhiên Việ c đánh số sequency number phụ thuộ c vào từ ng bên truyề n nhậ n ACK number: số seq # củ a segment tiế p theo mong muố n nhậ n đư ợ c từ bên Biên soạ n : Lê Minh 5/22/2011 LOGO Sequence number ACK number Ví dụ Seq #: số thứ tự củ a byte liệ u đầ u tiên segment ACK #: Host A Host B 1000 byte data host ACKs receipt of data • Số seq# củ a segment tiế p Host sends theo mong another 500 bytes chờ từ phía • Đư ợ c tính kiể u “tích lũy” time Biên soạ n : Lê Minh LOGO Truyề n liệ u tin cậ y vớ i TCP Tầ ng mạ ng cung cấ p dị ch vụ IP: dị ch vụ truyề n không tin cậ y TCP tạ o đư ng truyề n liệ u tin cậ y dự a dị ch vụ IP Đả m bả o truyề n đủ liệ u (segment) cho bên nhậ n Căn vào ACK timer để thự c hiệ n việ c truyề n lạ i segment, segment đư ợ c truyề n lạ i khi: “Không” nhậ n đư ợ c ACK xác nhậ n từ bên nhậ n Hế t thờ i gian chờ (timeout) nhậ n ACK Biên soạ n : Lê Minh 10 5/22/2011 LOGO Truyề n liệ u tin cậ y vớ i TCP Các hoạ t độ ng củ a bên gở i: Nhậ n liệ u từ tầ ng ứ ng dụ ng: • Chia liệ u đóng gói thành segment vào giá trị MMS • Đánh số cho segment đặ t vào trư ng sequency number củ a segment • Tiế n hành gở i segment khở i độ ng timer cho từ ng segment Biên soạ n : Lê Minh LOGO Truyề n liệ u tin cậ y vớ i TCP Các hoạ t độ ng củ a bên gở i: Sau khoả ng thờ i gian chờ (timeout) cho mỗ i segment, nế u không nhậ n đư ợ c ACK xác nhậ n từ bên nhậ n: • Gở i lạ i segment • Khở i độ ng lạ i timer cho segment Nế u nhậ n đư ợ c ACK xác nhậ n từ trư c thờ i gian timeout: bên nhậ n • gử i tiế p segment có số sequency tư ng ứ ng vớ i số ACK vừ a nhậ n đư ợ c Bên nhậ n: nế u nhậ n đư ợ c segment từ bên gở i trả lờ i lạ i bằ ng segment a ACK Biên soạ n : Lê Minh 11 5/22/2011 LOGO Truyề n liệ u tin cậ y vớ i TCP Ví dụ : ACK xác nhậ n từ bên nhậ n bị thấ t lạ c Biên soạ n : Lê Minh LOGO Truyề n liệ u tin cậ y vớ i TCP Ví dụ : ACK xác nhậ n thứ timeout củ a đế n trư c thờ i gian Biên soạ n : Lê Minh 12 5/22/2011 LOGO Truyề n liệ u tin cậ y vớ i TCP Ví dụ : ACK xác nhậ n thứ đế n trư c thờ i gian timeout củ a ACK thứ nhấ t Biên soạ n : Lê Minh LOGO Điề u khiể n lư u lư ợ ng TCP Mụ c đích: tránh hiệ n tư ợ ng bên gở i làm tràn đệ m bên nhậ n Khi khở i tạ o kế t nố i TCP, mỗ i bên khở i tạ o cho đệ m nhậ n (RevBuffer) Dữ liệ u nhậ n đư ợ c từ bên gở i đư ợ c lư u đệ m nhậ n trư c đư ợ c xử lý Biên soạ n : Lê Minh 13 5/22/2011 LOGO Điề u khiể n lư u lư ợ ng TCP 32 bits source port # dest port # sequence number acknowledgement number head not len used UA PRS F Receive window checksum bên gở i biế t độ Urg lớ ndata củ pnter a vùng Bên nhậ n báo cho đệ m cịn rỗ i ( RcvWindow) Optionscủ(độa dài thay?? đổ i) Khi đệ m bên nhậ n đầ y (RcvWindow = 0)?? Dữ liệ u từ tầ ng ứ ng dụ ng (độ dài thay đổ i) Biên soạ n : Lê Minh LOGO Quả n lý kế t nố i TCP Thiế t lậ p kế t nố i : bắ t tay bư c giữ a client server: client server B1: client gở i segment SYN tớ i server ( không a data, a số Seq# khở i đầ u) B2: server trả lờ i bằ ng segment SYN-ACK ( khở i tạ o giá trị Seq# củ a server) B3: client trả lờ i bằ ng segment SYN-ACK Biên soạ n : Lê Minh 14 5/22/2011 LOGO Quả n lý kế t nố i TCP Đóng kế t nố i: B1: client gở i segment closing FIN tớ i server B2: server gở i segment ACK xác nhậ n, gở i lạ i segment FIN B3: client gở i lạ i segment ACK xác nhậ n sau nhậ n đư ợ c segment FIN B4: server nhậ n đư ợ c segment ACK, đóng kế t nố i client server timed wait Biên soạ n : Lê Minh 15 ... sử dụ ng mộ t kênh truyề n giữ a hai máy tính cho việ c liên lạ c vớ i Transport Layer Network Layer HTTP FTP Telnet Transport Layer Network Layer Mỗ i máy tính chạ y nhiề u ứ ng dụ ng lúc, mỗ... số Seq# khở i đầ u) B2: server trả lờ i bằ ng segment SYN-ACK ( khở i tạ o giá trị Seq# củ a server) B3: client trả lờ i bằ ng segment SYN-ACK Biên soạ n : Lê Minh 14 5/22/2011 LOGO Quả n lý kế...5/22/2011 LOGO I Giớ i thiệ u Các giao thứ c củ a tầ ng giao vậ n chạ y thiế t bị đầ u cuố i ( máy tính, PDA … ) Phía gở i : chia thông điệ p (message) nhậ n từ tầ ng ứ ng dụ ng thành segment chuyể