Môn
Môn
học
học
Lập
Lập
trình
trình
mạng
mạng
CBGD:
CBGD:
Phùng
Phùng
Hữu
Hữu
Phú
Phú
Email:
Email:
URL:
URL:
/> />-
-
programming
programming
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
1
Nội dung môn học
CHƯƠNG 1: GI
I THIN
NN
NU VH
HH
H TCP/IP
CHƯƠNG 2: THIF
FF
FT KF
FF
F GI6
66
6I THU
T CHO
CHƯƠNG TRÌNH
CLIENT/SERVER
CHƯƠNG 3: L
P TRÌNH M4
44
4NG TRÊN CÁC MÔI
TRU
NG PHV
VV
V D`
``
`NG
CHƯƠNG 4: L
P TRÌNH M4
44
4NG V
I JAVA
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
2
Nội dung môn học(tt)
CHƯƠNG 5: L
P TRÌNH WEB – CGI
CHƯƠNG 6: L
P TRÌNH WEB V
I CÁC
CÔNG NGHN
NN
N PHV
VV
V BIF
FF
FN
CHƯƠNG 7:
NG D`
``
`NG XML TRONG L
P
TRÌNH M4
44
4NG
CHƯƠNG 8: B6
66
6O M
T D
LIN
NN
NU TRUYH
HH
HN
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
3
CHƯƠNG 1-GI
I THIN
NN
NU VH
HH
H TCP/IP
1.1 Tng quát v TCP/IP.
GiithiOu
Lp Network
Lp Transport (TCP và UDP)
Lp Appication
1.2 Cácgiaothcvàdch v trên Internet.
1.3 Giithiumtsng dng mng
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
4
TWng quát vI TCP/IP
•Mộtsốđặc tính :
– Độclậpvề hình thái củamạng.
– Độclậpvề phầncứng củamạng.
–Cácchuẩngiaothứcmở.
–Môhìnhđịachỉ toàn cầu.
–Nềntảng client/server mạnh mẽ.
–Cácchuẩnvề giao thức ứng dụng mạnh mẽ.
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
5
GiithiOu
Telnet
FTP SMTP DNS SNMP
TCP UDP
ICMP
IP
ARP
Ethernet Token Ring FDDI WANs
Network
interface layer
Internet layer
(gateway level)
Transport layer
(host level)
Applications
layer
TCP/IP
OSI
Application
Presentation
Session
Transport
Network
Data link
Physical
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
6
TCP/IP and OSI model
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
7
TCP/IP Protocol Stack
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
8
Những điểm khác giữa OSI và TCP/IP
•Lớp ứng dụng trong TCP/IP xử lý các chức
năng củacáclớp 5,6, và 7 trong mô hình
OSI
•Lớp transport trong TCP/IP cung cấpcơ
chế UDP truyềndữ liệu không tin cậy, khác
vớilớp transport trong mô hình OSI là luôn
đảmbảodữ liệutruyềntin cậy
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
9
TCP/IP
• TCP/IP là mộttậpcủa các protocols (một
bộ giao thức) định nghĩacáchthứctruyền
dữ liệu qua môi trường Internet
• TCP/IP là tên củamôhìnhmạng được
ghép giữa hai giao thức chính trong mạng
là TCP (Transmission Control Protocol) và
IP (Internet Protocol)
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
10
TCP/IP và mạng Internet
•Một liên mạng(internet) dùng TCP/IP được
xem như là mộtmạng đơnkếtnốicácmáy
tính vớinhiềuloại
•Mạng Internet là sự kếtnỗigiữacácmạng vật
lý độclập thông qua các thiếtbị liên mạng
•Với mô hình TCP/IP, các mạng khác nhau kết
nốivới nhau được xem như là mộtmạng lớn
đồng nhất, không quan tâm đếnsự khác nhau
giữacácthiếtbị vật lý hay môi trường
•Mỗimáykếtnốivàomạng xem như kếtnối
đếnmộtmạng luận lý, không quan tâm đến
mạng vậtlý
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
11
An Internet according to TCP/IP
McGraw-Hill ©The McGraw-Hill Companies, Inc., 2001
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
12
TCP/IP và OSI
• TCP/IP đượcxâydựng trướcmôhìnhOSI
nên các lớp trong bộ giao thức TCP/IP không
hoàn toàn giống vớibộ giao thức trong mô
hình OSI. Có 4 lớp trong mô hình TCP/IP
• Ở lớp transport, TCP/IP định nghĩa hai
protocol là TCP và UDP. Ở lớp network,
protocol chính là IP và có các protocol khác hỗ
trợ việctruyềndữ liệu
• Ở lớp physical & data link, TCP/IP không định
nghĩa protocol nào, không phụ thuộc vào phần
cưng bên dưới
•Mộtmạng trong một liên mạng TCP/IP có thể
là mạng LAN, MAN hoặcWAN.
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
13
Đóng gói dữ liệu trong TCP/IP
1. Đơnvị dữ liệu trong lớp ứng dụng gọilà
message
2. Giao thức TCP và UDP tạoramột đơnvị dữ
liệutương ứng là segment và user datagram.
3. Đơnvị dữ liệu trong lớpIP đượcgọilà
datagram
4. Datagram phải được đóng gói (encapsulate)
trong một frame để truyềntrênmạng vậtlý
5. Frame sẽđượctruyền theo dạng tín hiệutrên
đường truyềnvậtlý
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
14
Đóng gói dữ liệu trong TCP/IP
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
15
LớpNetwork
•Nội dung:
–Lớp Internet
– Địachỉ IP
–Cácđánh địachỉ, phân mạng con
– Các giao thứcphụ trong lớp Network
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
16
Lớp Internet
• Mô hình TCP/IP cung cấpgiaothức liên
mạng (internetwork protocol -IP), là mộtcơ
chế truyềndữ liệukhôngtin cậy và không
kếtnối (connectionless)
• Các giao thứchỗ trợ cho việctruyềndữ liệu
bao gồm: ARP, RARP, ICMP và IGMP.
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
17
Internetwork Protocol (IP)
•Giaothức IP không tin cậy (unreliable) vì
không cung cấpcơ chế kiểmtralỗi hay
tracking.
•IP xemnhư lớp bên dướisẽ thựchiệnviệc
truyềnnhậnmộtcáchtốtnhất, không có sự
đảmbảo
•Nếucácdịch vụ cầncơ chế truyềntin cậy
thì kếthợpvớigiaothứctin cậyTCP.
•Tương tự như hệ thống bưu điện
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
18
IP (tt)
•IP cắtdữ liệu ra thành các gói.
c
ác gói gọilà
datagrams, và mỗi gói được truyền độclập
• Datagram có thểđi theo các đường khác nhau và
có thểđến không đúng thứ tự hoặc trùng nhau. IP
không giữ thông tin đường đicũng như không
sắpxếplại các gói lại khi chúng đến
•IP làmộtdịch vụ connectionless, nó không khởi
tạo Virtual Circuits và không có sự thông báo đến
phầntử nhận
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
19
Datagram
©The McGraw-Hill Companies, Inc., 2001
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
20
IP Datagram
• Version. Version number of IP current version is 4 (0100
in binary).
• HLEN. Header length. The HLEN field defines the length
of the header in multiple of 4 bytes ( 0 – 15 # maximum 60
bytes)
• Service type. The service type field defines how the
datagram should be handled. It includes bits that define
the priority of the datagram.
• Total length. The total length field defines the total length
of the IP datagram. It is a two-byte field (16 bits) and can
define up to 65,535 bytes
• Identification. The identification field is used in
fragmentation. A datagram, when passing through
different networks, may be divided fragments to match the
network frame size. When this happens, each fragment is
identified with a sequence number in this field.
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
21
IP Datagram (cont.)
• Flags. The bits in this field deal with fragmentation
• Fragmentation offset. A pointer that shows the offset of
the data in original datagram
• Time to live. The time to live field defines the number of
hops a datagram can travel before it is discarded.
• Protocol. Defined which upper-layer protocol (TCP, UDP,
ICMP…)
• Header checksum. Check the integrity of the header
• Option. Give more functionality to the IP datagram, can
control routing, timing, management and alignment
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
22
IP Fragmentation and Reassembly
ID
=x
offset
=0
fragflag
=0
length
=4000
ID
=x
offset
=0
fragflag
=1
length
=1500
ID
=x
offset
=1480
fragflag
=1
length
=1500
ID
=x
offset
=2960
fragflag
=0
length
=1040
One large datagram becomes
several smaller datagrams
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
23
Địachỉ IP
•Làđịachỉ luận lý trong mạng để xác định
địachỉ củacácmáytrongmạng (ngoài địa
chỉ vật lý) cho việctruyềnnhậndữ liệu
• Địachỉ IP có 32 bit nhị phân chia ba phần:
class type, netid, hostid
Lậptrìnhmạng–Chương 1
© 2002-2004 Phùng Hữu Phú & Khoa Công nghệ Thông Tin – ĐH Bách Khoa TP.HCM
24
Phân lớp địachỉ
Để xác định netid (Network Identifier) và
hostid (Host Identifier)