Kiến thức mạng cơ bản

8 19 0
Kiến thức mạng cơ bản

Đang tải... (xem toàn văn)

Thông tin tài liệu

KIẾN THỨC MẠNG CƠ BẢN... Gói thông tin UDP ....[r]

(1)(2)

CHƯƠNG I MNG MÁY TÍNH

I Mạng máy tính

II Phân loại mạng máy tính

II.1 Phân loại theo kiến trúc (topology) mạng

II.1.1 Mạng điểm-điểm (point-to-point network)

II.1.2 Mạng quảng bá (broadcast network)

II.2 Phân loại theo phương thức chuyển mạch (Swiched Method)

II.2.1 Chuyển mạch kênh (Circuit Swiched Network)

II.2.2 Chuyển mạch tin báo (Message Swiched Network)

II.2.3 Chuyển mạch gói (Packed Swiched Network)

II.3 Phân loại theo phạm vi hoạt động

II.3.1 Mạng LAN (Local Area Network)

II.3.2 Mạng MAN (Metropolian Area Network)

II.3.3 Mạng WAN (Wide Area Network)

II.3.4 Liên mạng (internet)

CHƯƠNG II GIAO THC TRUYN THƠNG VÀ CÁC MƠ HÌNH THAM CHIU I Giao thức truyền thông 11

II Mô hình tham chiếu OSI 12

II.1 Giới thiệu mơ hình OSI 12

II.2 Các tầng mơ hình OSI 14

II.2.1 Tầng vật lý (Physical layer) 14

II.2.2 Tầng liên kết liệu (Data link layer) 14

II.2.3 Tầng mạng (Network layer) 15

II.2.4 Tầng giao vận (Transport layer) 15

II.2.5 Tầng phiên (Session layer) 16

II.2.6 Tầng trình diễn (Presentation layer) 16

II.2.7 Tầng ứng dụng (Application layer) 16

II.3 Những vấn đề OSI 16

III Kiến trúc giao thức IPX/SPX 17

III.1 Kiến trúc giao thức IPX/SPX 17

III.2 Gói tin IPX 18

III.3 Cơ chế hoạt động Novell Netware 19

(3)

II.1 Kiến trúc phân tầng TCP/IP 21

II.2 Cơ chếđịa Internet 24

II.2.1 Địa lớp A 25

II.2.2 Địa lớp B 26

II.2.3 Địa lớp C 26

II.3 Mạng Subnet mask 26

III Tầng mạng (Network Layer) 29

IV Tầng Internet (Internet Layer) 30

IV.1 Gói tin IP 31

IV.2 Giao thức chuyển địa ARP (Address Resolution Protocol) giao thức chuyển ngược địa RARP (Reverse Address Resolution Protocol) 34

IV.2.1 Chuyển giao trực tiếp 34

IV.2.2 Chuyển giao địa động 34

IV.2.3 Gói tin ARP 35

IV.3 Giao thức điều khiển truyền tin (Internet Control Message Protocol - ICMP) 37

IV.3.1 Gói tin ICMP 37

IV.3.2 Điều khiển dòng liệu 38

IV.3.3 Thông báo lỗi 38

IV.3.4 Định hướng lại 38

IV.3.5 Kiểm tra trạm làm việc 39

IV.4 Thuật toán dẫn đường 39

V tầng giao vận 43

V.1 Giao thức không kết nối (User Datagram Protocol - UDP) 43

V.1.1 Gói thơng tin UDP 43

V.1.2 Phân kênh, hợp kênh Ports 44

V.2 Giao thức điều khiển truyền tin (Transmission Control Protocol - TCP) 46

V.2.1 Gói tin TCP 49

V.2.2 Cổng, kết nối điểm kết nối 49

VI Tầng ứng dụng TCP/IP 51

VI.1 Dịch vụ tên miền (Domain Name Service - DNS) 51

VI.2 Đăng nhập từ xa (Telnet) 53

VI.3 Thưđiện tử (Electronic Mail) 54

VI.4 Giao thức truyền tệp (File Transfer Protocol - FTP) 56

VI.5 Nhóm tin (News groups) 57

VI.6 Tìm kiếm tệp (Archie) 57

VI.7 Tra cứu thông tin theo thực đơn (Gopher) 57

VI.8 Tìm kiếm thông tin theo số (WAIS) 57

(4)

CHƯƠNG IV XÂY DNG CHƯƠNG TRÌNH TRUYN TP

I Giao diện lập trình 59

I.1 Giao diện lập trình 59

I.2 Network I/O file I/O 60

I.3 Làm việc với Socket 61

I.3.1 Socket 61

I.3.2 Địa Socket 62

I.3.3 Một số lời gọi tạo lập socket 64

I.3.4 Một số lời gọi gửi liệu qua socket 68

I.3.5 Một số lời gọi nhận liệu từ socket 69

II Mơ hình Client-Server 70

II.1 Mơ hình Client-Server sử dụng dịch vụ khơng kết nối 71

II.2 Mơ hình Client-Server sử dụng dịch vụ hướng kết nối 72

III Xây dựng chương trình truyền tệp 73

III.1 Thiết kế cài đặt chương trình 73

III.1.1 Giao thức ứng dụng xây dựng sử dụng chương trình 73

III.1.2 Cài đặt chương trình 75

III.2 Một số vấn đề nảy sinh trình thực cách giải quyết78 III.2.1 Vấn đề chuyển đổi tệp hai hệđiều hành 78

III.2.2 Vấn đề số lệnh tương tác 80

Ph lc A MT S MNG CC BỘ I Mạng Ethernet IEEE 802.3 82

II Mạng Token-Pasing Rings (IEEE 802.5) 82

III Mạng Token-Passing Busses (IEEE 802.4) 84

Ph lc B MT S K THUT CHN ĐƯỜNG ĐI NGN NHT I Giải thuật Dijkstra cho việc chọn đường tập trung 86

II Giải thuật Ford& Fulkerson cho việc chọn đường phân tán 87

(5)(6)

#endif

_lclose(handle); time(&post);

mtime = difftime(post, before); av = wbyte/mtime;

printf("\nTransfered %d bytes in %.2f second(s) (%.0f bytes/s)\n", wbyte, mtime, av);

return TRUE; }

/* Inittialize tcp ip */

int FAR PASCAL mInitTcpIp(void) {

WSADATA WSAData; int status;

if ((status = WSAStartup(MAKEWORD(1,1), &WSAData)) != 0) { printf("TCP/IP Error: %d is the err", status); TCP_INIT = FALSE;

} else TCP_INIT = TRUE; return status;

}

int FAR PASCAL mMakeConnect(LPSTR host,int port) {

struct hostent* h; struct sockaddr_in sin; int sock;

unsigned long hostaddr; int ret;

if ((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { return -1;

}

hostaddr = inet_addr(host); memset(&sin,0, sizeof(sin)); if ((long)hostaddr != -1L) {

memcpy(&sin.sin_addr,&hostaddr,sizeof(hostaddr)); } else

{

if ((h = gethostbyname(host)) == 0) { closesocket(sock);

return -1; }

memcpy(&sin.sin_addr,h->h_addr,h->h_length); }

sin.sin_family = AF_INET;

sin.sin_port = htons((unsigned short)port);

if (connect(sock,(struct sockaddr FAR *)&sin, sizeof(sin)) < 0) { ret = errno;

if (ret == -2){

struct timeval tv;

fd_set fds;

(7)

return sock; } closesocket(sock); return -1; } return sock; }

int mStopConnect(int sock) {

shutdown(sock, 2); closesocket(sock); return 0;

}

int mMakeDataConnect(SOCKET cmd_sock) {

struct sockaddr_in server_sockaddr; int server_socket, ret_socket; int i;

memset(&server_sockaddr,0,sizeof(server_sockaddr)); server_sockaddr.sin_family = AF_INET;

server_sockaddr.sin_addr.s_addr = htonl(INADDR_ANY); server_socket = socket(AF_INET,SOCK_STREAM,0); if (server_socket < 0) {

return -1; }

if (bind(server_socket,(struct sockaddr FAR *)&server_sockaddr,sizeof(server_sockaddr)) < 0) {

closesocket(server_socket); return -1;

}

i = sizeof(client_sockaddr);

if (getsockname(server_socket,(struct sockaddr FAR *)&client_sockaddr,&i) < 0)

return(-1);

listen(server_socket,5);

sprintf(lcCmd, "PORT %d", ntohs(client_sockaddr.sin_port)); mWriteMsg(cmd_sock, lcCmd);

ret_socket = accept(server_socket,(struct sockaddr FAR *)&client_sockaddr,&i);

mReadMsg(cmd_sock, lcTemp); return ret_socket;

}

int mStopDataConnect(int data_sock) { shutdown(data_sock, 2); closesocket(data_sock); return 0; } /***********************************************************/ /*** CM Function : mDoneTcpIp */ /*** Purposes : Cleanup tcp ip will unload winsock.dll */ /***********************************************************/ int FAR PASCAL mDoneTcpIp(void)

{

if (TCP_INIT) {

(8)

return WSACleanup(); }

Ngày đăng: 09/03/2021, 05:41

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan