Bài giảng Mạng máy tính: Chương 4 được biên soạn bởi giảng viên Nguyễn Thị Phương Dung nhằm giúp các em sinh viên nhận diện được đặc điểm, chức năng điều khiển của lớp vận tải. Các chức năng được triển khai trong giao thức TCP. Các chức năng được triển khai trong giao thức UDP. Cơ chế ghép phiên truyền thông qua tham số SAPs trong mô hình OSI và qua port number trong mô hình TCP/IP. Mời các bạn cùng tham khảo nội dung chi tiết bài giảng tại đây.
Chương Lớp Vận tải (Transport layer) Mục tiêu Nhận diện Đặc điểm, chức điều khiển lớp vận tải Các chức triển khai giao thức TCP Các chức triển khai giao thức UDP Cơ chế ghép phiên truyền thơng qua tham số SAPs mơ hình OSI qua port number mơ hình TCP/IP Nắm rõ tính điều khiển truyền có kết nối TCP Nắm rõ tính điều khiển truyền không kết nối UDP Cơ chế đa hợp TCP; UDP qua SOCKET Chương Lớp Vận tải (Transport layer) Nội dung Đặc điểm nhiệm vụ chức điều khiển Kiểu kết nối Đảm bảo độ tin cậy Chức đa hợp với SAPs TCP Three way handshake Điều khiển luồng & Điềukhiển lỗi Đa hợp với port number UDP Phát lối Đa hợp với port number Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội Lớp Transport mơ hình OSI Application Presentation Session -Lớp điều khiển truyền thông đầu cuối End to End , bỏ qua hệ thống xử lý trung gian Transport Network Data link -Đảm bảo khả đa hợp đữ liệu cho phiên truyền thong (sessions) - Sử dụng điểm truy cập dịch vụ (SAPs) thực chức xử lý liệu Physical Đặc điểm chức điều khiển Đặc điểm: Điều khiển truyền thông đầu cuối, bỏ qua hệ thống xử lý trung gian (nếu có) End to End Chức điều khiển truyền: Độ tin cậy trình truyền tải gói liệu ứng dụng khác thông hệ thống truyền thông kiến trúc phân lớp Khả đa hợp phiên truyền hệ thống Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội Điều khiển kết nối Các chức điều khiển kết nối: Kiểu truyền có kết nối: Thiết lập kết nối với thông tin nhận diện kết nối Truyền gói Nhận diện số gói truyền giai đoạn trao đổi liệu Nhận diện số gói truyền cuối trước kết thúc phiên truyền Giao thức liên quan mơ hình TCP/IP: TCP Kiểu truyền không kết nối không đảm bảo độ tin cậy: Giao thức liên quan mơ hình TCP/IP: UDP Điều khiển độ tin cậy (Reliability) Trong truyền có kết nối, luồng gói truyền cho phép điều khiển luồng điều khiển lỗi: đảm bảo độ tin cậy (TCP) Điều khiển luồng Điềukhiển lỗi Ngược lại, truyền không thiết lập kết nối, luồng gói truyền cho phép điều khiển luồng điều khiển lỗi: đảm bảo độ tin cậy Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội Điều khiển đa hợp phiên truyền (Multiplexing) Cổng tiếp nhận phiên truyền: SAPs (service access points) mô hình OSI Port number/ TCP/IP model minh họa thông tin mô tả phiên truyền: Src- session-ID Src-portNumber Dest- sesion-ID Dest-portNumber Ví dụ: dịch vụ web mở cổng 80 để nhận phiên truy cập từ web-clients (web browser) Điểm truy cập dịch vụ- SAPs n+1 n+1 n n SAP-i SAP-i+1 SAP-j 2 1 Sender X Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội SAP-t/ Sess-Z SAP-j+1 Receiver Y Kiến trúc giao thức TCP/IP FTP TCP UDP End systems Application HTTP SMTP 21 VOIP SIP DNS 80 25 5060 53 DHCP BootP any 53 68 TCP UDP TCP :Thiết lập kết nối ->truyền tin cậy IP INTERNET UDP: Truyền nhanh, không thiết lập kết nối IP Addresses Access Network MAC Addresses YOUR LAN Ethernet Wifi-802.11 OTHER LANS and WAN Site to site LINKS TO INTERNET Dial-up ADSL Leased-line Giao thức TCP UDP Đặc điểm tiêu chí thiết kế TCP UDP Hoạt động đặc trưng TCP Cơ chế bắt tay bước (Three way handshake) Cơ chế trao đổi liệu tin cậy Điều khiển luồng Điềukhiển lỗi Ứng dụng dịch vụ truyền thông Hoạt động đặc trưng UDP Ứng dụng dịch vụ truyền thông Đa hợp với Port number/Socket Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội Đặc điểm tiêu chí thiết kế Đặc điểm: TCP UDP giao thức thiết kế phục vụ lớp Transport để điều khiển truyền thông đầu cuối End to End Tiêu chí thiết kế: Cho phép ghép phiên truyền thông qua cổng ứng dụng (ports) TCP: đảm bảo độ tin cậy cao cho luồng đoạn liệu (segments) UDP đảm bảo độ trể thấp hoạt động điều khiển truyền đơn giản TCP, UDP lớp kề IP IP: hoạt động không kết nối-> dễ bị gói IP routing, fragmentation, error detection… UDP: điều khiển truyền End to End đơn giản used for multiplexing/demultiplexing, error detection TCP: đảm bảo đọ tin cậy cuối điều khiển truyền thông multiplexing/demultiplexing, flow and congestion control IP Receiver data Sender Application Application TCP/UDP data TCP UDP TCP UDP TCP/UDP data Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội IP IP data IP TCP/UDP data TCP/UDP data Transmission Control Protocol (TCP) (1/2) TCP Telephone Call Phải thiết lập kết nối trước truyền luồng Pkts Phải quay số để thiết lập gọi trước đàm thoại Phân phát Pkts bảo đảm độ tin cậy Trao đổi đàm thoại bảo đảm độ tin cậy Phân phát Pkts theo luồng theo thứ tự Pkts Trao đổi đàm thoại bảo đảm câu trước, câu sau Chỉ định socket cho kết nối Chỉ định kênh truyền cho đàm thoại Transmission Control Protocol (TCP) (2/2) TCP cung cấp chế điều khiển truyền thông tin cậy ứng dụng người Các đặc điểm: Connection-oriented end-to-end với Three-Way Handshake Điều khiển luồng cửa sổ trượt “sliding windows” sử dụng số “sequence numbers” “acknowledgments”, Cơ chế điều khiển lỗi với ARQ- Go back N chế phục hồi lỗi sử dụng Time-out (Error Recovery) Cung cấp đa hợp phiên cho loại ứng dụng thông qua port (port number) Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội Định dạng đoạn liệu TCP Ethernet Hdr - 20 bytes IP Header - 20 bytes TCP Header - 20 bytes (little-endian) (big-endian) (big-endian) App Hdr & Data * * Length of TCP Header in bytes /4 TCP Flags: U A P R S F 15 Three-way handshake Establishment Thông tin điều khiển kết nối: Sử dụng gói thiết lập kết nối SYN chứa số thứ tự (Seq) Seq: số thứ tự đoạn liệu gởi bắt đầu giai đoạn trao đổi liệu (Data transfer) Out-First-SN; In-First-SN; Sử dụng xác nhận ACK số thứ tự (Seq) vừa nhận Thông tin điều khiển sử dụng giai đoạn Data transfer: WS: windows size MSS: Maximum segment size Block of memory-> new connection: Chứa thông số điều khiển Chứa đoạn liệu truyền nhận Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội Three-way handshake Release Thông tin điều khiển kết nối: Sử dụng FIN với số thứ tự (Seq) Sử dụng xác nhận ACK số thứ tự (Seq) vừa nhận Out-Last-SN: số thứ tự đoạn liệu cuối vừa gởi giai đoạn trao đổi liệu (Data transfer) đầu cuối A In-Last-SN: số thứ tự đoạn liệu cuối vừa gởi giai đoạn trao đổi liệu (Data transfer) đầu cuối B Điều khiển kết nối TCP Three-way handshake Receiver B Sender A Out-Firs-SN=X In-First-SN=Y … SYN/ Seq=X In-Firs-SN=X Out-First-SN=Y … SYN/ Seq=y /Ack=X Connection Phase Data Transfer Phase Ack=Y ~ ~ Out-Last-SN=N … In-Last-SN=M … FIN/ Seq=N FIN/ Seq=M /Ack=N Disconnection Phase Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội In-Last-SN=N … Out-Last-SN=M … Ack=M Điều khiển trao đổi liệu Điều khiển luồng Số thứ tự (sequence number) định cho thứ tự byte liệu truyền (khơng phải thứ tự gói truyền) Cơ chế điều khiển (Sliding window) Kích thước cửa sổ truyền thay đổi (Dynamically window size) Số thứ tự byte gởi đi: Sequence number Số thứ tự xác nhận khả tiếp nhận liệu: Acknowledge number Khả phát gói: tùy thuộc vào giá trị (có thể thay đổi ) Window size bên đầu nhận Bufer phát: số gói đưa vào để phát Ns->NsMax NsMax= WS+ACK-num-1 Điều khiển lỗi (ARQ- Go back N) Sử dụng chế ARQ- Goback N: Bên thu phát trường hợp sau: phát gói đầu thu (so sánh Vr Ns hay SN/ TCP) phát sai checksum Bên phát truyền lại kể từ gói có thứ tự rõ N Sử dụng chế tự động truyền Time-out Recovery TCP bên đầu phát trì đồng hồ định (Timer) cho kết nốí Thơng số Time-out: thời gian chờ lớn để nhận thông tin xác nhận từ đầu thu (RCV) Hết thời gian chờ Time-out, bên phát tự động truyền lại theo chế điều khiển ARQ sử dụng Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội 10 UDP Header format • Multiplexing by ports Error detection UDP giao thức datatgram đơn giản: chức ghép kênh Chức kiểm tra lỗi UDP Ứng dụng dịch vụ truyền thông Các ứng dụng cho người dùng: VoIP Streaming Audio Gaming Video Conferencing Các ứng dụng cho hạ tầng mạng: SNMP-> quản trị mạng : tương tác hệ thống quản trị hệ thống quản trị DNS: trao đổi truy vấn tên miền giưa máy người dùng (DNS clients) máy chủ tên meefi (Name server) DHCP: trao đổi tương tác phục vụ việc cung cấp cập nhật thơng tin cấu hình mạng cho host hệ thống mạng Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội 13 Đa hợp TCP UDP Port number socket Port number socket : Port numbers sử dụng để nhận dạng phiên kết nối khác diễn host Socket=Network address +protocol+ port number Vd: http://192.168.20.245:8080 Dãy ports: bytes: – 65535 Numbers nhỏ 255 : định cho dịch vụ phổ biến internet Numbers từ 255 - 1023 : định cho dịch vụ ứng dụng đặc trưng tổ chức Numbers 1023 : định cho tiến trình máy client Ví dụ “Port number” Những giá trị port nguồn gán tự động host nguồn; thông thường có giá trị lớn 1023 ứng dụng Web gán port 80 ứng dụng Web client sử dụng port 32938 TCP segment gởi từ client đến server có: source port : 32938 destination port : 80 Khi Web Server phản hồi, TCP có: source port : 80 destination port : 32938 Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội 14 Đa hợp cho ứng dụng TCP and UDP port numbers Cả TCP UDP sử dụng port (socket) để chuyển giao gói tin lớp kề hệ thống Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội 15 Ghép kênh phiên Port Web Mail HTTP STMP 80 25 TCP IP ETHERNET The same of MAC address :IP address Port Numbers Port numbers dùng để nhận diện thực thể truyền thơng host Port numbers dạng Chỉ định trước với giá trị dạng Well-known (port 0-1023) Chỉ định động hay mang tính cục (port 1024-65535) Các máy chủ quản lý dịch vụ ứng dụng thường sử dụng well-known ports để biết rộng rải clients Any client can identify the server/service HTTP = 80, FTP = 21, Telnet = 23, /etc/service defines well-known ports Clients thường sử dụng ports cấp động Chỉ định kernel Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội NTP Web daemon server port 123 port 80 TCP/UDP IP Ethernet Adapter 16 SOCKET Ứng dụng mơ hình Client-Server Khái niệm socket Cấu trúcsocket Sock-Stream hàm chức Sock-Dgram hàm chức Mơ hình Client-Server ứng dụng Mơ hình Client-Server ứng dụng truyền thơng qua mạng với vai trị xác định máy: client and server application transport network data link physical request Client: Khởi động yêu cầu đến server: Request Server: Cung cấp dịch vụ yêu cầu đến Client Reply Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội reply application transport network data link physical 17 Các yêu cầu ứng dụng mạng truyền thông Data loss -> VoIP vs File transfer Timing -> Internet telephony, interactive games Bandwidth -> multimedia Application file transfer e-mail web documents real-time audio/ video stored audio/video interactive games financial apps Data loss Bandwidth Time Sensitive no loss no loss no loss loss-tolerant elastic elastic elastic audio: 5Kb-1Mb video:10Kb-5Mb same as above few Kbps elastic no no no yes, 100’s msec loss-tolerant loss-tolerant no loss yes, few secs yes, 100’s msec yes and no Port Numbers Port numbers dùng để nhận diện thực thể truyền thông host Port numbers dạng Chỉ định trước với giá trị dạng Well-known (port 0-1023) Chỉ định động hay mang tính cục (port 1024-65535) Các máy chủ quản lý dịch vụ ứng dụng thường sử dụng well-known ports để biết rộng rải clients Any client can identify the server/service HTTP = 80, FTP = 21, Telnet = 23, /etc/service defines well-known ports Clients thường sử dụng ports cấp động Chỉ định kernel Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội NTP Web daemon server port 123 port 80 TCP/UDP IP Ethernet Adapter 18 Định nghĩa SOCKET SOCKET giao diện ứng dụng mạng, sử dụng để nhận diện điểm đầu cuối tiến trình truyền thơng SOCKET mơ tả: Loại truyền thơng reliable vs best effort connection-oriented vs connectionless Họ địa mạng (AF: Addressing Family) SOCKET tạo ứng dụng cụ thể SOCKET sau khởi tạo có thể: Chuyển liệu đến socket để truyền thơng mạng -> sendto()/UDP hay write()/TCP Nhận liệu từ socket sau tiếp nhận từ mạng vào.-> recvfrom()/UDP hay read()/TCP Phân loại SOCKET SOCK_STREAM SOCK_DGRAM TCP UDP Bidirectional Uni-directional (sending + Receiving) App socket Dest D1 App D2 socket D3 38 Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội 19 Cấu trúc địa SOCKET Cấu trúc chung: struct sockaddr { u_short sa_family; char sa_data[14]; }; sa_family : socket address family họ đia sử dụng (họ Internet hay họ apple talk…) học địa định việc sử dụng 14 Bytes chuổi liệu lại Cấu trúc địa Internet : struct sockaddr_in { short sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero[8]; }; sin_family = AF_INET sin_port: port # (0-65535) sin_addr: IP-address sin_zero: unused 39 Minh họa cấu trúc địa SOCKET họ Internet #include /* Internet address structure */ struct in_addr { u_long s_addr; /* 32-bit IPv4 address */ }; /* network byte ordered */ /* Socket address, Internet style */ struct sockaddr_in { u_char sin_family; /* Address Family */ u_short sin_port; /* UDP or TCP Port# */ /* network byte ordered */ struct in_addr sin_addr; /* Internet Address */ char sin_zero[8]; /* unused */ }; sin_family = AF_INET selects Internet address family Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội 20 SOCKET giao tiếp Server Client Server and Client exchange messages over the network through a common Socket API Clients Server user space ports TCP/UDP TCP/UDP Socket API kernel space IP IP Ethernet Adapter Ethernet Adapter hardware Mơ hình tương tự Telephone Call ABC’ Staffs 084-085163303 ext.123 Network Programming Applications/Servers 084-085163303 ext.654 Web Port 80 Mail Port 25 Extension Port No Telephone No IP Address Central Number Network No Exchange Host Number Area Code 15-441 Customers Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội Clients 21 Lưu đồ tương tác với TCP SOCKET TCP Server socket() bind() listen() TCP Client socket() connect() write() accept() connection establishment data request read() data reply write() connection release read() read() close() close() from UNIX Network Programming Volume 1, figure 4.1 Hoạt động phía Client sử dụng SOCK-STREAM Giai đoạn khởi động yêu cầu kết nối: socket – tạo socket loai SOCK-STREAM gethostbyname – xác định server connect – yêu cầu kết nối đến server Trao đổi liệu server client : recv – nhận liệu từ server send – gởi liệu đến server Giải phóng kết nối : close – giải phóng kết nối Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội 22 Hoạt động phía Server sử dụng SOCK-STREAM Giai đoạn khởi động: socket – tạo socket với loai SOCK-STREAM bind – liên kết socket tạo với địa socket cụ thể listen – bắt đầu sẳn sàng tiếp nhận yêu cầu kết nối đến từ client Thiết lập truyền (session) có kết nối trao đổi liệu : accept – tiếp nhận thiết lập socket cho kết nối từ yêu cầu client đến socket chờ listen() recv – nhận liệu từ client send – gởi liệu đến client Giải phóng kết nối: close – giải phóng kết nối việc đóng lại socket sử dụng Các hàm chức cho Stream socket (TCP) 1/2 STT Hàm chức tham số liên quan Socket(Int family, Int type, Int protocol) Chức hoạt động • • • Bind(Int sockfd, Const struct sockaddr_in *localaddr, Int localaddrlen) • Listen(Int sockfd, Int backlog) • • • Accept(Int sockfd, Const struct sockaddr_in *clientaddr, Int clientaddrlen) Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội • • Tạo Tạo Sock-Stream Kết trả số nhận diện tương ứng với socket định Lỗi xả kết trả -1 Đăng kí với hệ thống socket khởi tạo với địa socket cục Kết thành công 0, ngược lại -1 Lập trạng thái sẳn sàng tiếp nhận yêu cầu kết nối từ clients Kết thành công 0, ngược lại -1 Chấp nhận kết nối từ client tạo socket Kết trả số hiệu socket 23 Các hàm chức cho Stream socket (TCP) 2/2 Connect(Int sockfd, Const struct sockaddr_in *serveraddr, Int serveraddrlen) • Read(Int sockfd, Const void *buf, Int len) • • • • Được sử dụng bên phía client để gởi yêu cầu kết nối tới Server Kết thành công 0, ngược lại -1 Tiếp nhận liệu từ socket tương ứng với kết nối nhớ thu (Recv-Buffer) Trả số byte đọc thành công, trả khơng có liệu Trả -1 thất bại Write(Int sockfd, Const void *buf, Int len) • • • Gởi liệu từ nhớ phát (Sndr-Buffer) vào socket tương ứng với kết nối Trả số byte ghi thành công Trả -1 thất bại Close() • Giải phóng socket vừa sử dụng cho kết nối Lưu đồ tương tác với UDP SOCKET UDP Server socket() bind() UDP Client recvfrom() socket() sendto() data request data reply blocks until datagram received from a client sendto() recvfrom() close() close() from UNIX Network Programming Volume 1, figure 8.1 Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội 24 Hoạt động phía Client sử dụng SOCK-DGRAM Giai đoạn khởi động SOCKET: socket – tạo socket gethostbyname – xác định server Thiết lập phiên truyền (session) không kết nối trao đổi liệu: recv – nhận liệu từ server send – gởi liệu đến server Giải phóng phiên truyền (session) không kết nối : close – hủy socket Hoạt động phía Server sử dụng SOCK-DGRAM Giai đoạn khởi động: socket – tạo socket với loai SOCK-DGRAM bind – liên kết socket tạo với địa socket cụ thể Thiết lập phiên truyền (session) không kết nối trao đổi liệu: recv – địa socket từ xa từ tiếp nhận liệu từ client send – địa socket từ xa từ gởi liệu đến client Giải phóng phiên truyền (session) khơng kết nối tương ứng: close – hủy socket Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội 25 Các hàm chức cho datagram socket (UDP) Hàm chức tham biến lien quan Socket(Int family, Int type, Int • protocol) • • Chức hoạt động Tạo Sock-Dgram Trả lại sốhiệu nhận diện socket cấp phát Kết trả -1 có lỗi xảy Bind(Int sockfd, Const struct sockaddr_in *localaddr, Int localaddrlen, Int port) • Đăng kí với hệ thống socket khởi tạo với địa socket local Trả thành công, -1 thất bại Sendto(Int sockfd, Const void *buf, Int len, Int flags, Const struct sockaddr_in *toaddr, Int toaddrlen) Recvfrom(Int sockfd, Const void *buf, Int len Int flags, Const struct sockaddr_in *fromaddr, Int fromaddrlen) • • • Gửi liệu đến địa socket từ xa Trả số byte gửi thành công, Trả -1 thất bại • • • Nhận liệu tù địa socket từ xa Trả số byte nhận thành công, Trả -1 thất bại Ý nghĩa tham biến sử dụng hàm chức (1/2) Family: họ địa sử dụng lớp mạng (họ Internet hay họ IPX/SPX…) Type: kiểu socket (Sock-stream haySock-Dgram) Protocol: giao thức sử dụng truyền tải (thường đặt sử dụng họ giao thức Internet) Sockfd: số hiệu mô tả socket tạo hàm socket() *localaddr: trỏ đến địa socket cục Localaddrlen: chiều dài địa socket cục *serveraddr: trỏ đến địa socket server Serveraddrlen: chiều dài địa socket server Backlog: số kết nối yêu cầu tối đa xếp vào hang đợi *clientaddr: trỏ đến địa socket client kết nối đến Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội 26 Ý nghĩa tham biến sử dụng hàm chức (2/2) Clentaddrlen: chiều dài địa client- socket *buf: trỏ đến vị trí đệm để lưu thơng tin nhận Len: chiều dài đệm Flags: thường đặt *toaddr: trỏ đến địa socket từ xa gởi liệu đến Toaddrlen: chiều dài địa socket từ xa gởi liệu đến *fromaddr: trỏ đến địa socket từ xa nhận liệu Fromaddrlen: chiều dài địa socket từ xa nhận liệu Vấn đề phân giải tên miền địa Client application Extract server name (e.g., from the URL) Do gethostbyname() to trigger resolver code Server application Extract client IP address from socket Optional gethostbyaddr() to translate into name Gvbs.NTPDung-ptithcm.edu.vn Lưu hành nội 27 ... Seq=X In-Firs-SN=X Out-First-SN=Y … SYN/ Seq=y /Ack=X Connection Phase Data Transfer Phase Ack=Y ~ ~ Out-Last-SN=N … In-Last-SN=M … FIN/ Seq=N FIN/ Seq=M /Ack=N Disconnection Phase Gvbs.NTPDung-ptithcm.edu.vn... Src- session-ID Src-portNumber Dest- sesion-ID Dest-portNumber Ví dụ: dịch vụ web mở cổng 80 để nhận phiên truy cập từ web-clients (web browser) Điểm truy cập dịch v? ?- SAPs n+1 n+1 n n SAP-i... bytes IP Header - 20 bytes TCP Header - 20 bytes (little-endian) (big-endian) (big-endian) App Hdr & Data * * Length of TCP Header in bytes /4 TCP Flags: U A P R S F 15 Three-way handshake Establishment