Tự Học CCNA Bài 3: Lớp Transport TCP/IP Topology

Transport TCP/IP

Tiếp nối series “ Tự Học CCNAx” hôm nay mình xin tiếp tục chia sẻ “Lớp Transport TCP/IP và cách thức hoạt động của phân lớp này”.

Bài viết nên xem qua :
Series “Tự học CCNA”

Các phần mình sẻ chia sẻ trong topic này:

CONTENT

1. Giao thức UDP (User Datagram Protocol)

2. Giao thức TCP(Tranmission Control Protocol)

2.1 Overview

2.2 Quy trình Three Handshake

2.3 Cơ chế điều khiển luồng (Flow control)

2.4 ACK(Acknowledgement)

2.5 Các ứng dụng đặc trưng chạy trên Lớp TRANSPORT

***Lớp Transport TCP/IP chịu trách nhiệm :

+ Truyền tải các session trao đổi dữ liệu của lớp Application qua một kết nối end – to – end.

+ Thực hiện phân mảnh data, đóng gói các PDU của lớp trên vào dữ liệu của Lớp 4.

+ Hai phương thức chính trong truyền tải của lớp Transport : connection – oriented hoặc connectionless.

+ Giao thức đặt trưng của lớp Transport : UDP và TCP.

1. Giao thức UDP (User Datagram Protocol)

– Là một giao thức truyền tải theo phương thức connectionless điển hình. Giao thức của phương thức này không xây dựng kết nối trước khi truyền  mà truyền trực tiếp ngay lập tức – truyền theo kiểu best effort(truyền tổng lực). Phương thức connectionless cũng không có các phương thức đảm bộ độ tin cậy như báo nhận, điều khiển kết nối ( flow control ), hay kiểu đánh số thức tự các gói tin bị chặt nhỏ trên đường truyền. Nên giao thức này truyền tải rất nhanh, được dùng cho các gói tin như Voice hay Video. Tuy nhiên hoạt động truyền này không có độ tin cậy cao và dễ gây mất gói và gây lỗi.

 Cấu trúc dữ liệu của một UDP Datagram.
H1. Cấu trúc dữ liệu của một UDP Datagram

 -Ta thấy cấu trúc một UDP rất đơn giản như :

  • Các trường source port, destination port : cho phép định danh một session của một ứng dụng nào đó chạy trên nền UDP. Port có thể xem là địa chỉ của lớp 4.
  • Trường UDP length: cho biết chiều dài gói tin UDP.
  • UDP checksum: thực hiện nhiệm vụ kiểm tra lỗi cho UDP Datagram.
  • Data: dữ liệu từ lớp trên được đóng gói vào UDP Datagram.

2. Giao thức TCP(Tranmission Control Protocol)

Overview

-TCP(Tranmission Control Protocol) là một giao thức có phương thức truyền tải dạng connection – oriented và mang các đặc điểm :

  • Cần phải thực hiện thiết lập kết nối đầu xa trước khi thực hiện trao đổi dữ liệu, tiến trình thiết lập kết nối này điển hình cho giao thức TCP gọi là tiến trình Threeway handshake.
  • Thực hiện các cơ chế báo nhận khi truyền dữ liệu, mỗi segment gửi đi đều phải được báo nhận (Acknowledge), những segment nào không được bật ACK thì coi nhưng segment lỗi và phải xử lí để bật ACK và truyền lại.
  • Có cơ chế đánh số thứ tự (Sequencing) cho các segment được truyền .
  • Kèm theo cơ chế điều khiển kết nối – điều khiển luồng dữ liệu (flow control) để xử lí tránh ngẽn đường truyền.

-Một kết nối TCP cũng được xem như một cặp đường kết nối luận lý giữa 2 host end to end, mỗi đường phục vụ cho một hướng truyền dữ liệu – kiểu truyền full duplex.

Cấu trúc dữ liệu của một TCP Datagram.
H2. Cấu trúc dữ liệu của một TCP Datagram.

-Cấu trúc một gói TCP Segment:

  • Trường Source port and Destination port: được sử dụng để định danh cho các session của giao thức nào chạy trên nền TCP.
  • Sequence number field: trường đánh số thứ tự các byte đầu tiên trong phần data của segment. Đảm bảo việc sắp xếp và lắp rắp lại đúng trình thự ban đầu khi gói tin bị chặt gói trên đường truyền ở phía đầu nhận.
  • Acknowledgement number field: trường đánh số thứ tự các byte kế tiếp để bật ACK gửi qua đầu nhận.
  • Header length: cho biết chiều dài của TCP header
  • Các bit control: thực hiện các chức năng như điều khiển thiết lập kết nối, kiểm soát lỗi, flow control….
  • Window size: cho biết số lượng byte mà thiết bị sẳn sàng tiếp nhận.
  • Checksum: kiểm tra lỗi cho toàn bộ TCP segment.
  • Urgent pointer: chỉ thị báo điểm kết thúc của dữ liệu có tính khẩn cấp, ưu tiên cao.
  • Options field: tùy chọn cho các người dùng có thể cấu hình thêm những gì cần thiết, phù hợp cho người dùng.
  • Data: dữ liệu lớp trên được đẩy xuống.

Quy trình Three Handshake của mô hình Transport TCP/IP

Quy trình bắt tay ba bước Handshake
H3. Quy trình bắt tay ba bước Handshake

-Giả sử host A muốn truyền được dữ liệu qua host B thông qua một kết nối TCP . Host A cần phải thiết lập một kết nối TCP với host B, tiến trình Three Handshake được thực hiện như sau:

  • Máy A gửi cho Máy B segment đầu tiên có cờ SYN được bật lên giả sử host A set cho segment này có số thứ tự là x, tuy nhiên segment này là segment đầu tiên nên k chứa data.
  • Host B nhận được cờ SYN từ host A sẻ thực hiện respond lại một TCP segment, segment này có cờ SYN và ACK được bật lên như hình trên. Giả sử host B set sequence segment này là y, segment respond của host B không chứa dữ liệu nhưng vẫn được tính là 1 byte. Host B phải chỉ rõ ACK sequence số thứ tự của byte tiếp theo mà nó muốn nhận từ A. Segment do A gửi qua được tính là 1 byte nên mong muốn nhận được byte tiếp theo là x+ 1 do đó ACK được đánh số x + 1.
  • Khi mà A nhận được respond từ B nó sẻ gửi segment có bật cờ ACK về lại cho B, ACK của A gửi đi biểu thị số thứ tự gói tin tiếp theo nó muốn nhận từ B nên ACK = y + 1.
  • Sau khi quá trình Three Handshake được thiết lập lúc này hai host A và B có thể trao đổi dữ liệu với nhau.

Cơ chế điều khiển luồng (Flow control) Transport TCP/IP

Cơ chế Flow Control
H4. Cơ chế Flow Control

 

Nếu host A gửi dữ liệu quá nhanh, host B không xử lí kịp, dữ liệu sẻ dễ bị mất. Để tránh mất dữ liệu host nhận trong phương thức TCP sẻ bật cơ chế điều khiển luồng bằng cách gửi cho host A một thông báo cho biết rằng host B đang không xử lí kịp chưa sẳn sàng tiếp nhận segment mới. Khi nhận được thông báo này host A sẻ dừng gửi segment. Đợi host B xử lí, khi host B xử lí hoàn tất. Host B sẻ gửi một thông báo nó đã sẳn sàng tiếp nhận dữ liệu, host A sẻ tiếp tục gửi segment.

Cơ chế ACK(Acknowledgement) của Transport TCP/IP

Cơ chế ACK báo nhận
H5. Cơ chế ACK báo nhận

Host A gửi một segment với Window size = 1 sẻ respond lại một ACK 2 từ host B gửi lại yêu cầu gửi tiếp gói ACK 2 và tiến trình tiếp tục diễn ra mỗi lần 1 gói ACK.

-Để tăng hiệu suất, có thể thiết lập Window size cao hơn như hình bên dưới. ( Window size = 3 )

Cơ chế Window size gửi gói tin
H6. Cơ chế Window size gửi gói tin

-Trường hợp xử lý nghẽn khi tăng Window size.

Cơ chế xử lý nghẽn Transport TCP/IP
H7. Cơ chế xử lý nghẽn của Transport TCP/IP

-Giả sử host A gửi segment với Window size = 3, trên đường truyền bị mất gói. Host B chỉ nhận được 2 segment, host B sẻ gửi thông báo cho host A yêu cầu gửi lại với Window size = 2.

Các ứng dụng đặc trưng chạy trên Lớp Transport TCP/IP

-Transport sẻ đọc thông tin trong gói tin TCP hoặc UDP Header để xác định dữ liệu được đóng gói bên trong mà không cần mở gói để xem nội dung bên trong. Để thực hiện được điều này, chồng giao thức TCP/IP sẻ dùng một số PORT đặc trưng trong TCP/UDP Header để xác nhận giao thức lớp trên được đóng gói trong phần Data.

Các ứng dụng đặc trưng chạy trên Lớp Transport TCP/IP
H8. Các ứng dụng đặc trưng chạy trên Lớp Transport TCP/IP
  • FTP : chạy nền TCP port 20 hoặc 21.
  • Telnet : chạy nền TCP port 23.
  • SMTP chạy nền TCP port 25.
  • SNMP chạy nền UDP port 161.
  • HTTP chạy nền TCP port 80.
  • HTTPs chạy nền TCP port 443.
  • DNS (đặc biệt chạy cả nền TCP hoặc UDP) sử dụng port 53.
  • ETC….

-So sánh cơ bản giữa TCP và UDP :

So sánh các đặc trưng UDP và TCP
H9. So sánh các đặc trưng UDP và TCP

Lời Kết:

Mình xin kết thúc phần chia sẻ về Lớp Transport TCP/IP ở đây. Mong vẫn tiếp tục được sự ủng hộ và góp ý của các anh em gần xa. Phần chia sẻ tiếp theo mình xin chia sẻ bài 4 ” Lớp Internet của mô hình TCP/IP”. Hãy theo dõi bài viết tiếp theo trong Series Tự học CCNA tại website và blog itforvn.com nhé.

Tác giả:  Quân LêITFORVN.COM

Bạn có thể tương tác và cập nhật thông tin mới nhất của Nhóm Facebook ITFORVN, Các khóa học mới do group tổ chức tại «Portal»

Tất cả bài viết về ccna tại đây

PHẦN I: SWITCHING

Tự Học CCNA Bài 1-Mạng máy tính là gì ?

Tự Học CCNA Bài 2-Mô hình OSI và TCP/IP

Tự Học CCNA Bài 3: Lớp Transport TCP/IP Topology

Tự Học CCNA Bài 4: Lớp Internet TCP/IP

Tự Học CCNA Bài 5: Ethernet LAN và hoạt động chuyển mạch

Tự Học CCNA Bài 6: VLAN, Trunking, VTP

Tự Học CCNA Bài 7: Giao thức Spanning Tree (STP)

Tự Học CCNA Bài 8: Giao Thức RSTP, pVST+

Tự Học CCNA Bài 9: Giao Thức DHCP cấp phát IP động

Tự Học CCNA Bài 10: Etherchannel

PHẦN II: ROUTING

Tự Học CCNA Bài 11: Các Kĩ Thuật Định Tuyến

Tự Học CCNA Bài 12: Giao thức định tuyến RIP

Tự Học CCNA Bài 13: Giao thức EIGRP (phần 1)

Tự Học CCNA Bài 14: Giao thức EIGRP (phần 2)

Tự Học CCNA Bài 15: Giao thức EIGRP (phần 3)

Phần Thực Hành demo lab

Tự Học CCNA Lab 1: Cấu hình Router Cisco cơ bản

Tự Học CCNA Lab 2 Cấu hình CDP, Telnet

Tự Học CCNA Lab 3: Cấu hình VLAN, Trunking VTP

Tự Học CCNA Lab 4: VLAN Routing

Tự Học CCNA Lab 5: Cấu hình STP

Tự Học CCNA Lab 6: Cấu hình DHCP

Tự Học CCNA Lab 7: Cấu hình Etherchannel

Tự Học CCNA Lab 8: Cấu hình Static Route

 

Đánh giá post

Leave a Reply

Your email address will not be published. Required fields are marked *