Transport TCP/IP
Là lớp mô hình 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.
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.

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.
Giao thức 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 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 của mô hình Transport TCP/IP

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

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 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 tiếp tục gửi segment.
Cơ chế ACK(Acknowledgement) của Transport TCP/IP

Host A gửi một segment với Window size = 1. Host B phản hồi bằng một gói ACK số 2, sau đó gửi yêu cầu tiếp tục truyền gói tiếp theo. Quá trình này tiếp tục diễn ra, mỗi lần chỉ truyền một gói và nhận một 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 )

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

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 đọ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.

- 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 :

Nguồn: itforvn.com
Seri Bài Viết CCNA
PHẦN I: SWITCHING
- Seri CCNA – Bài 1 – Mạng Máy Tính Là Gì ?
- Seri CCNA – Bài 2 – Mô Hình OSI Và TCP/IP
- Seri CCNA – Bài 3 – Lớp Transport TCP/IP Topology
- Seri CCNA – Bài 4 – Lớp Internet TCP/IP
- Seri CCNA – Bài 5: Ethernet LAN và hoạt động chuyển mạch
- Seri CCNA – Bài 6: VLAN, Trunking, VTP
- Seri CCNA – Bài 7: Giao thức Spanning Tree (STP)
- Seri CCNA – Bài 8: Giao Thức RSTP, pVST+
- Seri CCNA – Bài 9: Giao Thức DHCP cấp phát IP động
- Seri CCNA – Bài 10: Etherchannel
PHẦN II: ROUTING
- Seri CCNA – Bài 11: Các Kĩ Thuật Định Tuyến
- Seri CCNA – Bài 12: Giao thức định tuyến RIP
- Seri CCNA – Bài 13: Giao thức EIGRP (phần 1)
- Seri CCNA – Bài 14: Giao thức EIGRP (phần 2)
- Seri CCNA – Bài Bài 15: Giao thức EIGRP (phần 3)
Phần Thực Hành demo lab
Seri CCNA Lab 8: Cấu hình Static Route
Seri CCNA Lab 1: Cấu hình Router Cisco cơ bản
Seri CCNA Lab 2 Cấu hình CDP, Telnet
Seri CCNA Lab 3: Cấu hình VLAN, Trunking VTP
Seri CCNA Lab 4: VLAN Routing
Seri CCNA Lab 5: Cấu hình STP
Seri CCNA Lab 6: Cấu hình DHCP
Seri CCNA Lab 7: Cấu hình Etherchannel
