Bài giảng Nhập môn mạng máy tính cung cấp cho người học các kiến thức: Giới thiệu mạng máy tính, tầng application, tầng transport. Đây là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn này và những ai quan tâm dùng làm tài liệu học tập vầ nghiên cứu.
Trang 2THIỆU
Trang 3Internet là gì?
Mạng Máy Tính ?
Trang 4Chia sẻ tài nguyên (ổ cứng, cơ sở dữ liệu, máy in,các phần mềm tiện ích.
Trang 6Tất cả phương án trên đều sai
Trang 9Tất cả phương án đều sai
Lệnh Ping dùng để làm gì ?
Kiểm tra máy tính có đĩa cứng hay không
A
Trang 11Internet là gì?
Internet là một hệ thống thông tin toàn cầu có
thể được truy nhập công cộng gồm các mạng
máy tính được liên kết với nhau Hệ thống này truyền thông tin theo kiểu nối chuyển gói dữ
liệu (packet switching) dựa trên một giao thức liên mạng đã được chuẩn hóa (giao thức IP).
{=>Internet gồm các mạng máy tính được liên kết
với nhau.}
(Mạng của Mạng Máy Tính.)
Trang 13Là một tập các đặc tả mà mọi nhà sản xuất sản phẩm mạng phải dựa theo để thiết kế sản phẩm của mình.
D
Là cơ chế “bắt tay ba lần” mà mọi thiết bị mạng đều phải thực
hiện khi khởi động.
B
Là một tập các quy ước, thoả thuận mà các thiết bị trên mạng phải tuân theo để có thể liên lạc được với nhau.
C
Định nghĩa giao thức (protocol)
Là các tín hiệu nhị phân truyền đi trước khi truyền dữ
liệu thật sự.
A
Trang 14Rãnh không?
2:00
Tr l i ả ờ
k t n i TCP ế ố Get http://www.awl.com/kurose-ross
Trang 15Chuy n m ch gói: store-and-forward ể ạ
Giới thiệu
M t ấ L/R giây đ truy n t i L-bit ể ề ả
packet trong đ ng link t i t c đ R ườ ạ ố ộ
bps
store and forward: toàn b packet ộ
ph i đ n b đ nh tuy n tr c khi ả ế ộ ị ế ướ
nó có th đ c truy n t i ể ượ ề ả trên
đ ng link ti p theo ườ ế
Trang 16Chuy n m ch gói: store-and-forward ể ạ
L bits
mỗi packet
R bps |D2
2L/R + D1/c +D2/d
Trang 17Alternative core: chuy n m ch kênh ể ạ
Giới thiệu
Tài nguyên gi a 2 đi m cu i đ c phân b , đ c ữ ể ố ượ ổ ượ
dành cho “cu c g i” gi a ngu n và đích: ộ ọ ữ ồ
Trong s đ , m i đ ng link có b n kênh ơ ồ ỗ ườ ố
– Cu c g i dùng kênh th 2 ộ ọ ứ nd trong
đ ng link trên cùng và kênh th trong ườ ứ
đ ng link bên ph i ườ ả
Tài nguyên đ c dành riêng : không chia s ượ ẽ
– circuit-like (đ c đ m b o) performance ượ ả ả
M nh kênh đ c c p phát s rãnh r i n u không ả ượ ấ ẽ ỗ ế
đ c s d ng b i cu c g i ượ ử ụ ở ộ ọ (không chia s ) ẽ
Th ng đ c s d ng trong các m ng đi n tho i ườ ượ ử ụ ạ ệ ạ
truy n th ng ề ố
1-17
Trang 18time
4 users
Ví dụ:
Trang 19Bốn nguồn gây ra chậm trễ gói tin
xử lý tai nút xếp hàng
Trang 20Giới thiệu 1-20
dtrans: tr do truy n: ễ ề
L: chi u dài gói (bits) ề
R: băng thông đ ng link ườ (bps)
dtrans = L/R
dprop: tr do lan truy n: ễ ề
d: đ dài c a đ ng link v t lý ộ ủ ườ ậ
s: t c đ lan truy n trong môi tr ng ố ộ ề ườ
(thi t b , dây d n) (~2x10 ế ị ẫ 8 m/sec)
dnodal = dproc + dqueue + dtrans +
dprop
A
B
truyền
* Check out the Java applet for an interactive animation on trans vs prop delay
Bốn nguồn gây ra chậm trễ gói tin
Trang 21Không đáp án nào đúng
Trang 22Cần truyền gói tin kích thước 1000 bytes từ Host A đến Host B, trên đường truyền dài
2500 km, tốc độ lan truyền là 2.5 x 10^8 m/s, và tốc độ truyền (transmission rate) là 2 Mbps.Giả sử rằng thời gian xử lí(nodal processing) và thời gian chờ tại hàng đợi (queueing delay) không đáng kể.Thời gian cần để truyền gói tin từ A đến B là:
Trang 23Chậm trễ trong quá trình lan truyền
Trang 24Đ tr và đ nh tuy n trên Internet “th c t ” ộ ễ ị ế ự ế
Giới thiệu
Đ tr và s m t mát trên Internet “th c t ” trông nh th nào ộ ễ ự ấ ự ế ư ế
Ch ng trình ươ traceroute : giúp đo l ng đ tr t ngu n t i thi t b đ nh ườ ộ ễ ừ ồ ớ ế ị ị
tuy n cái mà d c theo con đ ng Internet t đ u cu i này đ n đ u cu i ế ọ ườ ừ ầ ố ế ầ ố
kia đ n đích V i t t c ế ớ ấ ả i:
– G i 3 gói tin s đ n b đ nh tuy n I trên đ ng t i đích ở ẽ ế ộ ị ế ườ ớ
– Router i s tr v các gói tin cho ng i g i ẽ ả ề ườ ở
– Kho ng th i gian l n g i gi a truy n và tr l i ả ờ ầ ử ữ ề ả ờ
1-24
3 probes
3 probes
3 probes
Trang 25Trên Window, khi không kết nối được đến một hệ thống khác,
người quản trị dùng lệnh gì dò đường để xác định lỗi ?
Trang 26* Không có phản hồi (thăm dò bị mất, router không trả lời)
trans-oceanic link
* Do some traceroutes from exotic countries at www.traceroute.org
Đ tr và đ nh tuy n trên Internet “th c ộ ễ ị ế ự
t ” ế
Trang 28Mô hình tham chi u ISO/OSI ế
ứng dụng
presentation: cho phép các ng d ng gi i thích ý nghĩa c a d ứ ụ ả ủ ữ
li u, ví d mã hóa, nén, nh ng quy c chuyên bi t ệ ụ ữ ướ ệ
session: s đ ng b hóa, kh năng ch u l i, ph c h i s trao đ i ự ồ ộ ả ị ỗ ụ ồ ự ổ
Trang 30Lớp network cung cấp kết nối luận lí giữa các process, lớp
transport cung cấp kết nối luận lí giữa các process
D
Lớp network cung cấp kết nối luận lí giữa các host, lớp
transport cung cấp kết nối vật lí giữa các process
C
Lớp transport cung cấp kết nối luận lí giữa các host, lớp
network cung cấp kết nối luận lí giữa các process
B
Lớp network cung cấp kết nối luận lí giữa các host, lớp
transport cung cấp kết nối luận lí giữa các process
A
Hãy cho biết điểm khác biệt cơ bản giữa Network layer và
Transport layer
Trang 31PORT MỘT SỐ GIAO THỨC
Trang 33linkphysical
Bộ Chuyển mạch
message M
Ht M
Hn
frame
Trang 38Application, Presentation, Transport, Session, Data Link, Network, Physical
Trang 39Tất cả đều sai
Thiết bị Router thông thường nằm
ở tầng nào của mô hình OSI?
Trang 42Tất cả đều sai
Trang 43Khi gói dữ liệu di chuyển từ lớp cao xuống lớp thấp
hơn thì các phần đầu (header) được:
Loại bỏ dần
A
Trang 45Phân tích dữ liệu
Trang 46Thay đổi bị trí
Khi gói dữ liệu di chuyển từ lớp thấp đến lớp cao hơn thì
các phần đầu (header) được:
Thêm vào dần
A
Trang 48CHƯƠNG
Trang 53Các kiến trúc ứng
dụng
•Client – Server
•Pear to Pear (P2P)
Trang 55TCP - UDP
Trang 56Dịch vụ TCP:
Truyền tải có đảm bảo (reliable transport) giữa tiến
trình gửi và nhận
Điều khiển luồng thông tin (flow control): bên gửi sẽ
không gửi vượt khả năng bên nhận
Điều khiển tắc nghẽn (congestion control): điều tiết
bên gửi khi mạng quá tải
Không hỗ trợ: định thì, bảo đảm thông lượng tối thiểu,
bảo mật
Hướng kết nối (connectionoriented): yêu cầu thiết lập
kết nối giữa tiến trình máy khách và máy chủ trước
Nét đặc trưng cơ bản
Trang 59Sự khác nhau TCP- UDP
Giống nhau : đều là các giao thức mạng TCP/IP, đều có chức năng kết nối các máy lại
với nhau, và có thể gửi dữ liệu cho nhau
Khác nhau (cơ bản):
các header của TCP và UDP khác nhau ở kích thước (20 và 8 byte) nguyên nhân chủ yếu
là do TCP phải hộ trợ nhiều chức năng hữu ích hơn(như khả năng khôi phục lỗi) UDP dùng ít byte hơn cho phần header và yêu cầu xử lý từ host ít hơn
TCP :
- Thường dùng cho mạng WAN
- Không cho phép mất gói tin
- Đảm bảo việc truyền dữ liệu
- Tốc độ truyền thấp hơn UDP
UDP:
- Thường dùng cho mạng LAN
- Cho phép mất dữ liệu
- Không đảm bảo.
- Tốc độ truyền cao, VolP truyền tốt qua UDP
Trang 60HTTP Connection
HTTP không bền vững
Chỉ tối đa một đối tượng được
gởi qua kết nối TCP
Kết nối sau đó sẽ bị đóng
Tải nhiều đối tượng yêu cầu
nhiều kết nối
HTTP bền vững
được gởi qua một kết nối TCP giữa máy khách và máy chủ
Trang 61HTTP – Thời gian đáp
ứng
Trang 62HTTP/1.0 và HTTP/1.1
Sự khác biệt lớn giữa HTTP/1.0 và HTTP/1.1 là HTTP/1.0 sử dụng một kết nối mới cho
mỗi Yêu cầu/Phản hồi trao đổi, trong khi đó kết nối trong HTTP/1.1 có thể được sử
dụng cho một hoặc nhiều Request/Response (Yêu cầu/Phản hồi)
GET
POST
HEAD
GET POST HEAD PUT DELETE
Trang 63FTP (File Transfer
Protocol)
Trang 66IMAP và POP3
Mô tả POP 3 IMAP
Email có thể được để lại
trên máy chủ "Để lại tin nhắn" thiết lập có thể được kích hoạt Tự động
Email với file đính kèm của
nó trực tiếp tải về máy tính Tự động "Tải về tất cả các tiêu đề và tập tin đính kèm" thiết
lập có thể được kích hoạt
giây
thực hiện bằng tay, trừ khi "để lại tin nhắn
trên máy chủ" thiết lập cho phép.
Tự động email sao lưu
vào "thư mục bị xóa" Email đã bị xóa sẽ được đánh dấu trên tiêu đề của
nó. Để loại bỏ nó vĩnh viễn
"Thông điệp Purge Deleted"
Trang 67(Domain Name
System)
Trang 68Ví dụ về một gói tin SMTP
HELLOMAIL FROMRCPT TODATA
QUIT
Trang 69HELLO, MAIL FROM, RCPT TO, DATA, QUIT
Cho một phiên làm việc của SMTP, hãy sắp xếp trình tự giao tiếp phía client cho đúng.
HELLO, RCPT TO, DATA, QUIT, MAIL FROM
A
Trang 704 thành phần:
1) Dòng đầu cookie
(cookie header line)
chứa của thông điệp
phản hồi HTTP
2) Cookie header line
chứa trong thông điệp
yêu cầu HTTP kế tiếp
3) Tập tin cookie được
lưu trữ trên máy
người dùng, được
quản lý bởi trình
duyệt của người dùng
4) Cở sở dữ liệu tại Web
Trang 71Web Cache
• Giảm thời gian đáp ứng cho yêu cầu của máy khách
• Giảm lưu lượng trên đường liên kết truy cập ra Internet của một tổ chức
• Internet có rất nhiều đệm: cho phép những nhà cung cấp nội dung với lượng tài nguyên “nghèo nàn” vẫn cung cấp nội dung một cách hiệu quả (chia sẻ tập tin P2P cũng vậy)
Trang 72Truy vấn tuần
tự Truy vấn đệ
=>Tải nặng tại các tầng trên của hệ
thống phân cấp
Trang 74Trình duyệt dùng kết nối thường trực (persitent) và URL đầy đủ của trang
web được yêu cầu là: www-net.cs.umass.edu
D
Trình duyệt dùng kết nối thường trực (persitent) và URL đầy đủ của trang
web được yêu cầu là: www-net.cs.umass.edu/index.html
C
Trình duyệt dùng kết nối thường trực (persitent) và URL đầy đủ của trang
web được yêu cầu là: www-net.cs.umass.edu/docs/index.html
B
Phân tích một phần gói tin HTTP request từ trình duyệt gửi lên Web Server như sau:
GET /docs/index.html HTTP/1.1\r\n
Host: www-net.cs.umass.edu\r\n
Ta biết được một số thông tin về trình duyệt là:
Trình duyệt dùng kết nối không thường trực (non-persitent) và URL đầy đủ
của trang web được yêu cầu là: www-net.cs.umass.edu/docs/index.html
A
Trang 76Dòng header Set-cookie: của thông điệp phản hồi HTTP
Trang 77Truy vấn liên tục
miền được gọi là:
Truy vấn tương tác
A
Trang 80Server đang sử dụng HTTP phiên bản 1.1
Date: Thu, 13 Oct 2016 06:29:17 +000
Server: Apache/2.2.3 (CentOS)
Trang 81TRANSPORT
Trang 82Tầng Transport 3-82
Các giao th c t ng transport trên Internet ứ ầ
Tin c y, truy n theo th t (TCP) ậ ề ứ ự
Không có các d ch v : ị ụ
– B o đ m đ tr ả ả ộ ễ
– B o đ m băng thông ả ả
applicatio n
transport
network data link physical
applicatio n
transport
network data link physical
network data link physical
network data link physical
network data link physical
network data link physical
network data link physical network
data link physical
network data link physical
log ica
l e nd -en
d t ransport
Trang 83Connectionless (phi k t n i): ế ố
– Không b t tay gi a bên nh n ắ ữ ậ
Trang 84Tầng Transport 3-84
UDP: segment header
Số port nguồn Số port đích
32 bits
Dữ liệu ứng dụng (payload)
Độ dài được tính bằng byte của segment UDP, bao gồm cả header
Không thi t l p k t n i (cái mà có th gây ra ế ậ ế ố ể
đ tr ) ộ ễ
Đ n gi n: không tr ng thái k t n i t i n i ơ ả ạ ế ố ạ ơ
g i và nh n ử ậ Kích th c header nh ướ ỏ Không đi u khi n t t ngh n: UDP có th ề ể ắ ẽ ể
g i d li u nhanh nh mong mu n ử ữ ệ ư ố
T i sao có UDP? ạ
Trang 85Bên g i đ t giá tr checksum ử ặ ị
vào tr ng checksum UDP ườ
bên nh n: ậ
Tính toán checksum c a segment đã nh n ủ ậ
Ki m tra giá tr trên có b ng v i giá tr trong ể ị ằ ớ ị
tr ng checksum hay không: ườ
có th còn l i khác n a ể ỗ ữ không? Xem ph n sau… ầ
M c tiêu: ụ dò tìm “các l i” (các bit c đ c b t) trong các ỗ ờ ượ ậ
segment đã đ c truy n ượ ề
Trang 87A
Trang 88L u ý: ư khi c ng các s , bit nh phía cao nh t c n đ c thêm ộ ố ớ ở ấ ầ ượ
vào k t qu ế ả
Trang 89Tầng Transport 3-89
rdt1.0: truy n tin c y trên 1 kênh tin c y ề ậ ậ
Kênh c b n tin c y hoàn toàn (underlying channel perfectly reliable) ơ ả ậ
– không có bit l i ỗ
– không m t mát gói ấ
Các FSMs riêng bi t cho bên g i và nh n: ệ ử ậ
– Bên g i g i d li u vào kênh c b n (underlying channel) ử ử ữ ệ ơ ả
– Bên nh n đ c d li u t kênh c b n (underlying channel) ậ ọ ữ ệ ừ ơ ả
chờ gọi
từ tầng dưới
rdt_rcv(packet)
Trang 90Tầng Transport 3-90
Kênh c b n có th đ o các bit trong packet ơ ả ể ả
– checksum đ ki m tra các l i ể ể ỗ
Câu h i ỏ : làm sao khôi ph c các l i: ụ ỗ
– acknowledgements (ACKs): receiver
explicitly tells sender that pkt received OK
– negative acknowledgements (NAKs):
receiver explicitly tells sender that pkt had errors
– sender retransmits pkt on receipt of NAK
new mechanisms in rdt2.0 (beyond rdt1.0):
– error detection
– receiver feedback: control msgs (ACK,NAK)
rcvr->sender
rdt2.0: kênh v i các l i ớ ỗ
Làm thế nào để con người phục hồi
“lỗi” trong cuộc trò chuyện?
Trang 91Tầng Transport 3-91
Kênh c b n có th đ o các bit trong packet ơ ả ể ả
Câu h i ỏ : làm sao khôi ph c các l i: ụ ỗ
– acknowledgements (ACKs): bên nh n thông báo rõ ràng ậ
cho bên g i r ng packet đ c nh n thành công (OK) ử ằ ượ ậ
– negative acknowledgements (NAKs): bên nh n thông báo ậ
rõ ràng cho bên g i r ng packet đã b l i ử ằ ị ỗ
Trang 93Tầng Transport 3-93
rdt2.1: bên g i, x lý các ACK/NAK ử ử
b h ng ị ỏ
Wait for call 0 from above
sndpkt = make_pkt(0, data, checksum) udt_send(sndpkt)
rdt_send(data)
Wait for ACK or NAK 0 udt_send(sndpkt)
Wait for ACK or NAK 1
L L
Trang 94Vấn đề là khi gói tin phải hồi ACK/NAK bị lỗi, máy gởi không biết chính xác dữ liệu đã truyền đến máy nhận có bị lỗi không.
giải pháp trên?
Trang 95ACK b trùng t i bên g i d n t i k t qu gi ng nh hành đ ng c a NAK: ị ạ ử ẫ ớ ế ả ố ư ộ ủ truy n l i gói v a r i ề ạ ừ ồ
Trang 96h tr …nh ng ổ ợ ư không đủ
Cách ti p c n: ế ậ bên g i ch ACK trong kho ng th i gian “h p lý” ử ờ ả ờ ợ
Truy n l i n u không có ACK đ c nh n ề ạ ế ượ ậ trong kho ng th i gian này ả ờ
N u gói (ho c ACK) ch tr (không m t): ế ặ ỉ ễ ấ
– Vi c truy n l i s gây ệ ề ạ ẽ trùng, nh ng s th t ư ố ứ ự
Trang 97Tầng Transport 3-97
bên gửi bên nhận
Nhận pkt1Gửi pkt0
Gửi ack0Nhận ack1Nhận ack0
ack0
(a) Không mất mát
bên gửi bên nhận
Nhận pkt1Nhận pkt0
Gửi ack0
Gửi ack1Gửi ack0
Trang 98Slow start, congestion avoidance,fast retransmit,fast recovery
Trang 99Tầng Transport 3-99
Hành đ ng c a rdt3.0 ộ ủ
Nhận pkt1Gửi ack1
(phát hiện trùng gói)
ack1
ack0
send pkt0rcv ack1 pkt0
Nhận pkt0Gửi ack0
ack0
Nhận pkt0Gửi ack0
(phát hiệ trùng)
Trang 100Xem hình và cho biết đây là hành động nào của rdt 3.0?
Không mất mát
A
Trang 101Tất cả các đáp án trên
Trang 103Tầng Transport 103
3-Pipelining: đ kh d ng tăng ộ ả ụ
bit đầu tiên của gói được truyền, t = 0
Trang 104Tầng Transport 104
3-Pipelined protocols: t ng quan ổ
Go-back-N:
Bên g i có th có đ n N packet không c n ử ể ế ầ
ACK trong đ ng ng ườ ố ( pipeline)
Bên nh n ch g i ậ ỉ ở cumulative ack
– S không thông báo nh n ẽ ậ
packet thành công n u có ế
m t gián đo n ộ ạ
bên g i có b đ nh thì cho packet s m nh t mà ử ộ ị ớ ấ
không c n ACK (oldest unacked packet) ầ
– Khi b đ nh thì h t, ộ ị ế
truy n l i th t c các ề ạ ấ ả
packet mà không đ c ACK ượ
L p có l a ch n (Selective Repeat): ặ ự ọ Bên g i có th có đ n N packet ử ể ế không c n ACK trong đ ng ng ầ ườ ố (pipeline)
Bên nh n g i rcvr ack rieeng bi t ậ ử ệ ( individual ack) cho m i packet ỗ Bên nh n duy trì b đ nh thì cho ậ ộ ị
m i packet không đ c ACK ỗ ượ
Trang 105Tầng Transport 105
3-Go-Back-N: bên g i ử
S th t k-bit trong header c a packet ố ứ ự ủ
“c a s ”( ử ổ “window”) lên đ n N ế packet liên ti p không c n ACK đ c cho phép ế ầ ượ
ACK(n): thông báo nh n t t c các packet lên đ n n, bao g m n s ậ ấ ả ế ồ ố
th t - ứ ự “ACK tích lũy”( “cumulative ACK”)
Có th nh n ACK trùng (xem bên nh n) ể ậ ậ
Đ nh thì cho packet s m nh t đang trong ti n trình x lý (oldest in- ị ớ ấ ế ử
flight pkt)
timeout(n): truy n l i packet n và t t c các packet có s th t cao ề ạ ấ ả ố ứ ự
h n trong c a s (window) ơ ử ổ