Bài giảng Mạng máy tính: Chương 2 - TCP Socket có nội dung trình bày về: Mô hình Client-Server; Mô hình truyền tin Socket; TCP Socket client - Socket; TCP Socket server-ServerSocket. Mời các bạn cùng tham khảo nội dung chi tiết bài giảng tại đây.
Trang 1TCP Socket
Trang 3TCP
Source port Destination port
Sequence Number Acknowledge Number Offset Reserved Flags Window
Trang 4source port S hi u c ng c a ngu nố ệ ổ ủ ồ
destination port S hi u c ng đíchố ệ ổ
Sequence Number S th t đ c t o ra b i ngu nố ứ ự ượ ạ ở ồ
Acknowledge Number Cho bi t d li u đ c nh n thành công.ế ữ ệ ượ ậ
Data offset Các chi ti t v n i d li u gói tin b t đ uế ề ơ ữ ệ ắ ầ
Flags ch ra r ng gói tin cu i cùng ho c gói kh n c pỉ ằ ố ặ ẩ ấ
Window ch ra kích th c c a vùng đ m nh n. ỉ ướ ủ ệ ậ
Checksum xác đ nh xem gói tin có b h ng khôngị ị ỏ
Urgent Pointer thông báo cho phía nh n bi t có d li u kh nậ ế ữ ệ ẩ
Options vùng d phòng cho vi c thi t l p trong t ng laiự ệ ế ậ ươ
Padding ch ra r ng d li u k t thúc trong vòng 32 bit.ỉ ằ ữ ệ ế
Trang 5S hi u c ng TCP/UDP ố ệ ổ
❒ Có 3 lo i (netstat –a) ạ
❍ s hi u c ng h th ng (01023). Các giao th c n i ti ng ố ệ ổ ệ ố ứ ổ ế
có các s hi u c ng n m trong kho ng này. ố ệ ổ ằ ả
server c a b n s nh n m t trong các s này làm c ng, ủ ạ ẽ ậ ộ ố ổ
ho c b n có th đăng ký s hi u c ng v i IANA . ặ ạ ể ố ệ ổ ớ
Trang 6Client
Client
Server
Trang 7Server Client
Trang 8Mô hình truy n tin socket ề
application
user
Internet Hardware
OS and Software
Processes (Applications) Host
Physical
Transport Network Data Link
Application Protocol Stack
Trang 1111
Trang 12Ph ng th c l p Socket ươ ứ ớ
❒ Có 3 hàm kh i t o ở ạ
❍ Socket(InetAddress server, int port);
❍ Socket(InetAddress server, int port, InetAddress local, int localport);
❍ Socket(String hostname, int port);
Trang 14input stream
output stream
TCP socket
Input stream:
sequence of bytes into process
output stream:
sequence of bytes out of process
Client process
client TCP socket
14
Trang 15Ví d TCP Client ụ
❒ RFC867 Daytime Protocol http://www.faqs.org/rfcs/rfc867.html
String hostname;
if (args.length > 0) hostname = args[0];
else hostname = "time.nist.gov";
try {
Socket theSocket = new Socket(hostname, 13);
InputStream timeStream = theSocket.getInputStream();
StringBuffer time = new StringBuffer();
Trang 17Ví d TCP Server ụ
class TimeSvr {
public static void main(String[] args ) {
ServerSocket s = new ServerSocket(11113);
while (true) {
Socket new_s = s.accept();
PrintWriter out = new
PrintWriter(new_s.getOutputStream(), true); out.println(new Date());
new_s.close();
}
}
}
Trang 20DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
Trang 21
}
}
Trang 22Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
Trang 2424