1. Trang chủ
  2. » Công Nghệ Thông Tin

Public cuối kì nhập môn mạng máy tính k15 21 22

245 13 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giới thiệu nội dung nhập môn mạng máy tính cuối kỳ K15 21 22
Tác giả Đoàn Khoa MMT&TT
Người hướng dẫn Nguyễn Trần Đức An, ATCL2020, Hoàng Đình Hiếu, ATTT2020, Trần Đăng Hồng Loan, ATCL2020, Khưu Minh Phong, MMTT2020
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Mạng máy tính và truyền thông
Thể loại Cuối kỳ nhập môn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 245
Dung lượng 7,62 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1.01 Internet là gì ?Tập hợp các máy tính kết nối với nhau dựa trên một kiến trúc nào đó để có thể trao đổi dữ liệu Máy tính: máy trạm, máy chủ, thiết bị mạng Kết nối bằng một phương tiệ

Trang 1

NHẬP MÔN

MẠNG MÁY TÍNH

BHT Đoàn khoa MMT&TT – Training cuối kì I

TrainerNguyễn Trần Đức An – ATCL2020

Trang 2

TẦNG VẬN CHUYỂN (TRANSPORT) TẦNG MẠNG (NETWORK) TẦNG LIÊN KẾT (DATA LINK)

Bonus: Giải đề

Trang 3

CHƯƠNG 1: GIỚI THIỆU

04

NỘI DUNG

Trang 4

1.01 Internet là gì ?

Tập hợp các máy tính kết nối với nhau dựa trên một kiến trúc nào

đó để có thể trao đổi dữ liệu

Máy tính: máy trạm, máy chủ, thiết bị mạng

Kết nối bằng một phương tiện truyền thông: cáp mạng, cáp quang, radio, vệ

tinh

Tốc độ truyền: băng thông

Theo một kiến trúc mạng nhất định

Trang 5

1.01 Internet là gì ?

Mạng của các mạng: Các nhà cung cấp dịch vụ mạng (ISPs/

Internet Service Providers) được kết nối với nhau

Các giao thức điều khiển, nhận thông tin: TCP, HTTP, Skype,…

Các chuẩn Internet: RFC (Request for comments), IETF (Internet Engineering Task

Force

Cơ sở hạ tầng cung cấp dịch vụ cho các ứng dụng: Web, VoIP, email,

games, thương mại điện tử, mạng xã hội,…

Trang 6

1.01 Internet là gì ?

Giao thức: là cách thức giao tiếp giữa các máy tính với nhau và với

mạng

Trang 7

1.02 Mạng biên

Mạng biên (network edge):

Nút mạng đầu cuối (end-system, host):

PC, điện thoại, máy chủ, máy tính nhúng

Mạng truy cập (access network): đường

truyền, thiết bị kết nối (router, switch,

hub,…)

Trang 8

1.02 Mạng biên

Chức năng của host (end-system):

Nhận data từ tầng ứng dụng (application) rồi chia nhỏ thành các packets, chiều

dài là L bits

Truyền packet trong mạng với tốc độ truyền R

Tốc độ truyền của đường link, còn được gọi là khả năng/công suấtcủa đường

link, còn được gọi là băng thông của đường link

Độ trễ truyền gói (packet) = Chiều dài gói (bits)

Băng thông đường link (bps)

L R

=

Trang 9

1.03 Mạng lõi

Hai chức năng chính của mạng lõi:

Routing: xác định đường đi

từ nguồn đến đích được thực

hiện bởi các gói tin

Fowarding: chuyển các packet

từ đầu vào của bộ định tuyến

đến đầu ra thích hợp của bộ

định tuyến đó

Lưới các bộ định tuyến (router)

được kết nối với nhau.

Trang 10

1.03 Mạng lõi

Chuyển mạch gói

Host chia nhỏ dữ liệu từ tầng ứng dụng thành các packet

Chuyển tiếp các gói từ bộ định tuyến này đến bộ định tuyến tiếp theo trên đường đi

từ nguồn tới đích

Mỗi packet được truyền với công suất lớn nhất của đường truyền

Trang 11

1.03 Mạng lõi

Độ trễ hang đợi, sự mất mát: nếu tốc độ đến của đường link cao hơn tốc độ truyền

của đường link trong 1 khoảng thời gian

Các packet sẽ xếp hàng và đợi được truyền tải tạo ra độ trễ hàng đợi

Các packet có thể bị bỏ (mất) nếu bộ nhớ hàng đợi (bộ nhớ đệm) đầy

Trang 12

1.03 Mạng lõi

Chuyển mạch kênh: 2 điểm đầu cuối

muốn trao đổi thông tin sẽ thiết lập 1

kênh truyền riêng (circuit) với băng

thông được cấp phát dành riêng cho cả

2 cho tới khi truyền tin kết thúc

Kênh không được chia sẽ nên

sẽ rảnh rỗi lúc không truyền tin

Trang 13

1.03 Mạng lõi

Ghép kênh theo thờigian (TDM): mỗi kết nối

sử dụng tài nguyêntrong thời gian đượcphân

Ghép kênh theo tần số(FDM): mỗi kết nối sửdụng 1 băng tần tínhiệu riêng

Ghép kênh: gửi dữ liệu của nhiều kênh khác nhau trên một đường truyền vật lý

Phân kênh: phân dữ liệu được truyền trên đường truyền vật lý vào các kênh

tương ứng và chuyền cho đúng đích

Trang 14

Lỗi đường truyền không làm chậm trễ

do có nhiều đường truyền khác nhau

Nhiều người có thể sử dụng chungmột đường truyền

Có thể sử dụng lâu dàiChất lượng ổn định, không bị mất gói

Nhược điểm:

Nhiều kênh thì băng thông càng nhỏChỉ một kênh truyền được sử dụng tạimột thời điểm

Kênh truyền sẽ duy trì cho đến khi 2 bên ngắt kết nối và có thể lãng phí băng thôngnếu không truyền dữ liệu

Trang 15

1.03 Mạng lõi

Kiến trúc của Internet là mạng của các mạng

Trang 16

1.03 Mạng lõi

ISP : Internet Service Provider IXP : Internet Exchange Point Regional net : Mạng khu vực

Trang 17

1.04 Độ trễ, thông lượng trong mạng

4 nguồn gây ra chậm trễ gói tin

dproc: xử lý tại nút

Kiểm tra các bits lỗi

Xác định đường ra

Thông thường < ms

dprop: trễ do lan truyền

d: độ dài đường truyền vật lý

Trang 18

1.04 Độ trễ, thông lượng trong mạng

Cường độ lưu thông = La/R

R: băng thông đường link (bps)

a: tỷ lệ trung bình gói tin đến

L: chiều dài gói tin (bits)

La/R ~ 0 : trễ trung bình nhỏ

La/R -> 1 : trễ trung bình lớn

La/R > 1 : vượt quá khả năng phục vụ, trễ vô hạn

Trang 19

1.04 Độ trễ, thông lượng trong mạng

Thông lượng: tốc độ(bits/time unit) mà các bit được truyền giữa người gởi và nhận

Tức thời: tốc độ tại 1 thời điểm

Trung bình: tốc độ trong khoảng thời gian

Đường link nút cổ chai : đường link trên con đường từ điểm cuối này đến điểm cuối kia

hạn chế thông lượng từ điểm cuối này đến điểm cuối kia

Trang 20

1.04 Độ trễ, thông lượng trong mạng

Thông lượng điểm cuối-cuối cho mỗi

kết nối: (10 kết nối) min(Rc,Rs,R/10)

Trong thực tế: Rc hoặc Rs thường bị

thắt nút cổ chai

Trang 21

IP, các giao thức định tuyến,…

Link: chuyển dữ liệu giữa các thành phần mạng lân

cận

Ethernet, 802.111 (WiFi), PPP,…

Physical: bits “trên đường dây”

Trang 22

1.05 Các lớp giao thức

Mô hình ISO/OSI

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 dữ liệu

Trang 23

CHƯƠNG 2: TẦNG ỨNG DỤNG (APPLICATION)

Các nguyên lý của các ứng dụng mạng 01

Web và HTTP 02

FTP 03

Lập trình Socket với UDP và TCP

Trang 24

2.01 Các nguyên lý của các ứng dụng mạng

Cấu trúc có thể của các ứng dụng

Trang 25

Server

Trang 27

2.01 Các nguyên lý của các ứng dụng mạng

Socket: điểm truy cập dịch vụ của tầng giao vận (transport)

Các tiến trình ứng dụng sử dụng socket gọi dịch vụ của tầng

giao vận để trao đổi thông điệp

Trang 28

2.01 Các nguyên lý của các ứng dụng mạng

Muốn truy cập dịch vụ phải có định danh (indentifier)

Định danh bao gồm địa chỉ IP và số cổng (port numbers) được liên kết với tiến trình trênhost

VD: tiến trình web server trên máy chủ của SoICT có định danh 202.191.56.65:80

Trang 30

2.02 Web và HTTP

HTTP: Hypertext Transfer Protocol

Là giao thức web của tầng application

Mô hình client/server

client: trình duyệt yêu cầu, nhận (dùng giao thức

HTTP) và “hiện thị” các đối tượng Web

server: Web server gởi (dùng giao thức HTTP)

các đối tượng để đáp ứng yêu cầu

RTT: Round Trip Time

Thời gian để cho một gói tin nhỏ đi từ client

đến server và quay ngược lại

Trang 31

2.02 Web và HTTP

Các kết nối HTTP

HTTP bền vữngHTTP không bền vững

HTTP/1.1 HTTP/2.0HTTP/1.0

Trang 35

2.02 Web và HTTP

Cookie: dữ liệu do ứng dụng Web tạo ra, chứa thông tin trạng thái của phiên làm việc

Server có thể lưu lại cookie(một phần hoặc toàn bộ)

HTTP Cookies

Sau khi xử lý yêu cầu, Web server trả lại thông điệp HTTP Response với coookie đính kèm

Set-Cookie: key = value; options;

Trình duyệt lưu cookie

Trình duyệt gửi HTTP Request

tiếp theo với cookie được đính

kèm

Trang 36

2.02 Web và HTTP

Các trang web có thể được lưu trên máy trạm

cục bộ

Bộ nhớ tạm được lưu trên proxy server

Web Caching (Proxy Server)

Trang 37

2.03 FTP

FTP: giao thức truyền file

Truyền file đến/từ host từ xa

Kết nối điều khiển

Trang 38

2.04 Email

Còn được gọi là thư điện tử, có 3 phần chính

User Agent:

Còn gọi là “mail reader”

Soạn thảo, sửa đổi, đọc các thông điệp email

VD: Outlook, Thunderbird, iPhone mail client

Mail Servers:

Hộp thư (mailbox): chứa thư đến của user

Hàng thông điệp (message queue) của các

thông điệp mail ra ngoài (chuẩn bị gửi)

Giao thức SMTP gửi thư giữa các mail server và

giữa user agents và mail server

Trang 39

2.04 Email

Giao thức SMTP (Simple Mail Transfer Protocol)

RFC 2821

TCP, port 25: Chuyển thư từ client đến server và giữa các server với nhau

3 giai đoạn truyền

Thiết lập kết nối

Truyền thông điệp

Đóng kết nối

Trang 40

2.04 Email

Các giao thức truy cập mail từ server của người nhận

POP : Post Office Protocol [RFC 1939]

Đăng nhập vào lấy hết thư từ mail server về client

IMAP : Internet Mail Access Protocol [RF 1730]

Phức tạp hơn POP

Cho phép lưu trữ và xử lý thư trên máy chủ

HTTP : Gmail, Yahoo, Outlook,…

Trang 41

2.04 Email

Mặc định thì POP sau khi tải email về máy tính cục

và sẽ xóa các email đó khỏi server

Về cơ bản email vẫn được lưu trên server, người dùng chỉ copy một bản lưu tạm trên thiết bị cá nhân

Tiết kiệm được không gian lưu trữ trên server

Có thể ứng dụng để hợp nhất nhiều tài khoản

Ưu điểm:

Mail được lưu trữ trên server, có thể truy cập

từ nhiều thiết bị và địa điểm khác nhau

Xem nhanh hơn do chỉ cần tải trước danh sách email với các tiêu đề trước khi tải nội dung mail Tiết kiệm không gian lưu trữ trên thiết bị cục bộ.

Trang 42

2.05 DNS

Con người sử dụng tên miền:

yahoo.com, google.com,… Thiết bị sử dụng địa IP và port:8.8.8.8,…

DNS: Domain Name System

Hệ thống phân giải tên miền

Dịch tên host ra

Bí danh mail server

Trang 43

2.05 DNS

Cơ sở dữ liệu phân cấp, phân tán

client muốn địa chỉ IP của www.amazon.com:

client truy vấn server gốc (root) để tìm DNS

server com

client truy vấn DNS server com tìm DNS

server amazon.com

client truy vấn DNS server amazon.com để lấy

địa chỉ IP của www.amazon.com

Trang 44

2.05 DNS

Trang 45

2.05 DNS

DNS record là bản ghi nằm trong DNS servers cung cấp thông tin về cơ sở dữ liệu DNS, cho biết các tên miền, địa chỉ IP gắn với tên miền và cách xử lý các yêu cầu với tên miền đó

Type A : giúp trỏ tên miền (domain) của website tới một địa chỉ IP cụ thể

VD:[Tên miền] IN A [địa chỉ IP của máy]

Type CNAME: là một bản ghi DNS record quy định một tên miền là bí danh của một tên miềnchính khác

VD: [Tên bí danh] IN CNAME [tên miền chính]

Type MX: một DNS record giúp xác định mail server mà email sẽ được gửi tới

VD: [Tên miền chính] IN MX [độ ưu tiên] [mail server]

Type NS: là một loại DNS record giúp xác định thông tin của một tên miền cụ thể được khai báo và quản lý trên máy chủ nào

VD: [Tên miền] IN NS [tên máy chủ tên miền]

Trang 46

2.06 Lập trình Socket với UDP và TCP

Socket: (phần 2.01)

một cánh cửa giữa tiến trình ứng dụng và giao thức transport end-end

Hai loại socket cho 2 dịch vụ transport

UDP (User Datagram Protocol)

TCP (Transmission Control Protocol)

Trang 47

2.06 Lập trình Socket với UDP và TCP

Lập trình socket với UDP

UDP (User Datagram Protocol)

Không “kết nối” giữa client và server

Trang 48

2.06 Lập trình Socket với UDP và TCP

Lập trình socket với TCP

TCP (Transmission Control Protocol)

Có kết nối giữa client và server

Trang 49

CHƯƠNG 3: TẦNG VẬN CHUYỂN

Các dịch vụ của Tầng

Vận Chuyển 01

Multiplexing và Demultiplexing 02

UDP: Giao thức không kết nối 03

TCP điều khiển tắc nghẽn

06

TCP: Giao thức hướng kết nối

Trang 50

Các dịch vụ tầng vận chuyển

Tầng vận chuyển cung cấp cho chúng ta:

• Các kênh truyền logic giữa các tiến trình đang chạy trên các host khác nhau

• Các giao thức chạy trên trên hệ thống đầu cuối

• Phía gửi: Có chức năng chia nhỏ dữ liệu thành các segment nhỏ hơn

và gửi cho tầng Mạng

• Phía nhận: Tái kết hợp các segment và gửi dữ liệu cho tầng trên

• Có nhiều hơn một giao thức sử dụng ở tầng transport

Tuy nhiên phổ biến nhất: UDP và TCP

Trang 51

Các giao thức:

• Tin cậy, truyền theo thứ tự (TCP):

• Điều khiển tắc nghẽn

• Điều khiển luồng

• Thiết lập kết nối (Hướng kết nối)

• Không tin cậy, không truyền theo thứ tự (UDP):

• Hoạt động theo cơ chế “best effort”

• Không rườm rà

Các giao thức sẽ không đảm bảo:

Các dịch vụ tầng vận chuyển

Trang 52

Đơn vị dữ liệu ở tầng Vận chuyển là ?

Trang 53

UDP là giao thức:

A Hướng kết nối

B Tin cậy, truyền theo thứ tự

C Hoạt động theo cơ chế “best effort”

Các dịch vụ tầng vận chuyển

Trang 54

Multiplexing và Demultiplexing

socket

transport application

physical link network

P2P1

transport application

physical link network

P4

transport application

physical link network

P3Multiplexing ở bên gửi: Xử lý thông tin từ nhiều socket

Demultiplexing ở bên nhận: Sử dụng thông tin trong header để đưa vào đúng socket

Trang 55

Multiplexing và Demultiplexing

Demultiplexing hoạt động như thế nào ?

Số port nguồn Số port đích

32 bits

application data (payload)

other header fields

Sử dụng thông tin trong Header

để đưa vào đúng socket

Trang 56

Multiplexing và Demultiplexing

Nguyên lý:

• Trong IP datagram : Có ip nguồn và đích

• Trong một ip datagram mang một segment tầng vận chuyển

• Trong segment có chứa port nguồn và đích

Host nhận các gói dữ liệu ip datagram

Host sử dụng địa chỉ ip và số port để đưa vào socket thích hợp

Trang 57

Multiplexing và Demultiplexing

Demultiplexing không kết nối (UDP)

Tạo Socket: Cần 1 yếu tố Số port đích, IP đích

Đưa datagram vào đúng socket Địa chỉ IP đích

Số port đích

Gói tin IP/UDP có cùng số port đích, nhưng khác địa chỉ IP

Khi host nhận được một segment

Kiểm tra số port đích

Đưa segment vào đúng socket có số port

đấy

Trang 58

Multiplexing và Demultiplexing

Ví dụ về Demultiplexing không kết nối:

Trang 59

Multiplexing và Demultiplexing

Demultiplexing hướng kết nối (TCP)

Tạo Socket : Cần 4 yếu tố Số port đích, Số port nguồn, IP nguồn, IP đích

Đưa datagram vào đúng socket 4 yếu tố như trên

Khi host nhận được một segment

Kiểm tra 4 yếu tố

Đưa segment vào đúng socket

Trang 60

Multiplexing và Demultiplexing

Ví dụ về Demultiplexing hướng kết nối :

3 gói tin, có cùng số port đích: 80 Nhưng được

Trang 62

Xác định số src port, dest port ở gói tin D ?

Trang 63

UDP: Giao thức không kết nối

Giao thức đơn giản

Hoạt động theo cơ chế “best effort”

Các segment được gửi bởi UDP có thể:

• Mất gói

• Loạn thứ tự

Vì UDP không tạo kết nối (Có thể gây ra trễ do RTT)

Đơn giản

Kích thước Header nhỏ (8 bytes)

Không có điều khiển tắc nghẽn

• Hoạt động bất chấp tắc nghẽn

Vậy tại sao lại cần UDP

Trang 64

UDP: Giao thức không kết nối

UDP được sử dụng trong các ứng dụng không yêu cầu độ tin cậy cao.

thanh

Game

Ngoài ra còn được ứng dụng trong DNS, HTTP/3, v.v

Hoặc các ứng dụng yêu cầu tính nhanh của UDP

Trang 65

UDP: Giao thức không kết nối

source port # dest port #

32 bits

application data (payload)

Trường length, tính bằng byte, tính cả

header

Trang 66

Internet checksum: Ví dụ

Tổng mớichecksumBit bị dư

Trang 68

Internet checksum: Lỗ hỏng lớn

1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1

Ví dụ: Cộng 2 số nguyên 16 bits

Tổng mớichecksum

không bị thay đổi

UDP: Giao thức không kết nối

Trang 69

UDP: Giao thức không kết nối

Tổng kết:

Điểm trừ của UDP:

• Giao thức “best effort”: Mất gói, loạn thứ tự

• “Best effort”: Gửi và cầu nguyện

Điểm cộng của UDP:

• Không có quá trình thiết lập kết nối (không bị trễ do RTT)

• Hoạt động bất chấp tình hình mạng (nghẽn, quá tải)

Trang 70

Nguyên lý truyền tin tin cậy

Tiến trình gửidata

Tiến trình nhậndata

kênh tin cậy

application transport

Truyền tin cậy mong muốn

Gửi bằng một giao thức tin cậy (reliable protocol) Qua một kênh truyền tin cậy (reliable channel)

Trang 71

Nguyên lý truyền tin tin cậy

Tiến trình gửi

data

Tiến trình nhận

data

application

transport

Truyền tin cậy thực tế

Kênh không tin cậy

tin cậy

Có giao thức truyền tin cậy

Nhưng kênh truyền không tin cậy

Trang 72

Nguyên lý truyền tin tin cậy

Xây dựng phương pháp:

• Độ phức tạp phụ thuộc vào tính chất của

bên gửi và bên nhận (mất gói, hỏng gói,…)

• Bên gửi không biết trạng thái của bên nhận

và ngược lại

Trang 73

Nguyên lý truyền tin tin cậy

RDT 1.0

• Giả định: Kênh truyền hoàn hảo, không lỗi bit, không mất gói

• Cực kì đơn giản

Trang 74

Wait for call from above

sndpkt = make_pkt(data, checksum) udt_send(sndpkt)

udt_send(sndpkt )

rdt_rcv(rcvpkt) &&

isNAK(rcvpkt) Wait for

ACK or NAK

Wait for call from below

rdt_send(data)

udt_send(NAK) rdt_rcv(rcvpkt) && corrupt(rcvpkt)

extract(rcvpkt,data) deliver_data(data) udt_send(ACK) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt)

Trang 75

Nguyên lý truyền tin tin cậy

RDT 2.1 Sender

Giả thiết: Mất ACK, NAK

Khắc phục: Thêm số thứ tự (sequence number/seq#)

Trang 76

Nguyên lý truyền tin tin cậy

RDT 2.1 Receiver

Giả thiết: Mất ACK, NAK

Khắc phục: Thêm số thứ tự (sequence number/seq#)

Trang 77

Nguyên lý truyền tin tin cậy

RDT 2.2 Sender

Giả thiết: Mất ACK, NAK

Khắc phục: Bỏ NAK (đơn giản hơn)

Ngày đăng: 26/07/2023, 21:54

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w