Kích thước tối thiểu của khung tín Ethernet là bao nhiêu byte

Cấu trúc của gói tin IPv4

Nguồn: thietbivienthongbachkhoa.com

The structure of IP Diagram

Các thuật ngữ :

* IP Diagram = header + data . Data ở đây chính là UDP segment hoặc TCP segment . Ở bên gửi , tầng trên là tầng Transport sẽ gửi UDP segment hoặc TCP segment xuống tầng Network . Nhiệm vụ tầng Network là sẽ đóng thêm header vào [TCP segment hoặc UDP segment ở tầng Transport đưa xuống ] để tạo thành gói gọi là IP diagram

* UDP segment : là dạng dữ liệu do giao thức UDP ở tầng Transport đưa xuống tầng Network ,

* TCP segment : là dạng dữ liệu do giao thức TCP ở tầng Transport đưa xuống tầng Network .

* Fragment : là các mảnh của IP Diagram bị phân chia nhỏ ra để truyền trên kênh truyền . Fragment cũng có bao gồm phần Header + data [data chỉ là 1 phần của data ở IP Diagram]

* Gói : ở đây mình dùng từ “gói” để chỉ IP Diagram.

Cấu trúc của Header ở mỗi IP Diagram

[Lưu ý theo hình vẽ thì header chỉ từ phần VERS à Padding thôi]

–       VERS [4 bit]: Version: chỉ ra phiên bản của trình nghi thức IP đang được dùng là Ipv4 [0100] hoặc Ipv6 [0110] . Nếu trường này khác với phiên bản IP của thiết bị nhận, thiết bị nhận sẽ từ chối và loại bỏ các gói tin này.

–            IP Header Length [HLEN] [4 bit]: – Chỉ ra chiều dài của header , mỗi đơn vị là 1 word , mỗi word = 32 bit = 4 byte . Ở đây trường Header Length có 4 bit => 2^4 = 16 word = 16 x 4byte = 64 byte è chiều dài header tối đa là 64 byte . Bình thường Hearder dài 20 byte . Đây là chiều dài của tất cảc các thông tin Header. Trường này cũng giúp ta xác định byte đầu tiên của Data nằm ở đâu trong gói tin IP datagram

–            Type Of Services [TOS][8 bit] : Chỉ ra cách thức xử lý data như thế nào, có độ ưu tiên hay không, độ trễ cho phép xử lý gói dữ liệu . Trường này thường được dùng cho QoS là 1 chức năng dành 1 lượng băng thông để cho để cho 1 dịch vụ nào đó hoạt động ví dụ như dịch vụ truyền thoại , video …

–            Total Length :  – Chỉ ra chiều dài của toàn bộ gói tính theo byte, bao gồm dữ liệu và header,có 16 bit. 16 bit à tối đa là 2^16 = 65536 bye = 64 Kb è chiều dài tối đa của 1 IP datagram là 64 Kb.

–            Identification – có 16 bit . Chỉ mã số của  1 IP datagram  , giúp bên nhận có thể ghép các mảnh  của 1IP datagram  lại với nhau vì IP datagram phân thành các mảnh và  các mảnh thuộc cùng  1 IP  datagram sẽ có cùng Identification

–            Flag – Một field có 3 bit,

Bit 0 : không dùng

Bit 1 : cho biết gói có phân mảnh hay không .

Bit 2 : Nếu gói IP datagram bị phân mảnh thì mảnh này cho biết mảnh này có phải là mảnh cuối không .

–            Fragment Offset –  có 13 bit. Báo bên nhận vị trí offset của các mảnh so với gói IP datagram gốc  để có thể ghép lại thành IP datagram gốc.

VD : theo hình minh họa

1 gói tin IP datagram chiều dài là 4000 byte , có 20 byte header + 3980 byte dữ liệu.

Mà trên đường truyền chỉ cho phép truyền tối đa là 1500 byte => cho nên gói tin sẽ phần thành 3 mảnh nhỏ . Mỗi mảnh đều có header là 20 byte , còn phần dữ liệu lần lượng của 3 mảnh là 1480 byte , 1480 byte , 1020 byte . Nên offset của  3 mảnh lần lượt là 0 , 1480 , 2960 . Dựa vào offset để ráp lại thành mảnh lớn ở bên nhận . Cuối cùng là trường Flag bên nhận xác định được mảnh cuối cùng

ID ở mỗi mảnh nhỏ = x , nghĩa là cùng thuộc 1 mảnh lớn

–            Time To Live [TTL] – Chỉ ra số bước nhảy [hop] mà một gói có thể đi qua.Con số này sẽ giảm đi 1 , khi gói tin đi qua 1 router. Khi router nào nhận gói tin thấy  TTL đạt tới 0 gói này sẽ bị loại. Đây là giải pháp nhằm ngăn chặn tình trạng lặp vòng vô hạn của gói tin trên mạng.

–            Protocol[ 8 bit] : Chỉ ra giao thức nào của tầng trên [tầng Transport] sẽ nhận phần data sau khi công đoạn xử lí IP diagram ở tầng Network hoàn tất hoặc chỉ ra giao thức nào của tầng  trên gởi segment xuống cho tầng Network đóng gói thành IP Diagram , mỗi giao thức có 1 mã.

06 :  TCP :

17 : UDP

01 :  ICMP

08 : EGP

–            Header CheckSum – có 16 bit . Giúp bảo đảm sự toàn vẹn của IP Header, .

–            Source Address [32 bit] : Chỉ ra địa chỉ của thiết bị truyền IP diagram .

–            Destination Address[32 bit ] : Chỉ ra địa chỉ IP của thiệt bị sẽ nhận IP diagram .

–            IP Option : kích thước không cố định , chứa các thông tin tùy chọn như :

Time stamp : thời điểm đã đi qua router.

Security : cho phép router nhận gói dữ liệu không , nếu không thì gói sẽ bị hủy

Record router : lưu danh sách địa chỉ IP của router mà gói phải đi qua,

Source route : bắt buộc đi qua router nào đó. Lúc này sẽ không cần dùng bảng định tuyến ở mỗi Router nữa.

–            Padding – Các số 0 được bổ sung vào field này để đảm bảo IP Header luôn là bội số của 32 bit.

Data – Chứa thông tin lớp trên, chiều dài thay đổi đến 64Kb . Là TCP hay UDP Segment của tầng Transport gửi xuống cho tần Network , tầng  Network sẽ thêm header vào à Gói tin IP datagram .

Cuối cùng muốn được hiểu rõ hơn về các trường một cách trực quan bạn có thể dùng phần mềm bắt gói dữ liệu để xem thông  tin chi tiết trong đó : ethereal, wireshark , …

Nguồn: Trung tâm thiết bị viễn thông bách khoa

Chuẩn IEEE 802.3 là một phần của họ chuẩn cho mạng cục bộ và metropolitan. Mối quan hệ giữa các thành viên của chuẩn được trình bày bên dưới.

Hình 2 2 Họ chuẩn của mạng cục bộ.

Các chuẩn này liên quan đến lớp vật lý và lớp data link được định nghĩa bởi International Organization Standardization [ISO].



Chuẩn IEEE 802.3 định nghĩa một khung định dạng dữ liệu cơ bản cho tất cả công việc mà MAC thực hiện. Thêm vào đó, một vài chức năng lựa chọn được thêm vào cho khung dữ liệu. Một khung dữ liệu gồm có 7 trường như hình vẽ.

Hình 2 3 Cấu trúc Frame Ethernet



Preamble chỉ ra sự bắt đầu của một khung truyền. Nó gồm một dãy các giá trị bit 0 và 1 xen kẽ nhau để báo hiệu cho trạm nhận [receiving stations] rằng có khung đang tới. Và nó cũng cung cấp một phương tiện để đồng bộ hóa những phần khung nhận của lớp vật lý nhận với một luồng bits vào.

Preamble bao gồm 7 bytes như sau:

10101010 - 10101010 - 10101010 - 10101010 - 10101010 - 10101010 - 10101010


  • Start Frame Delimiter [DFD]
SFD là một chuỗi 8 bit [1 byte] 10101011. Nó theo sau Preamble và chỉ ra sự bắt đầu của chuỗi thông tin với hai bit cuối là 11. Sau byte này chính là địa chỉ.

  • Destination Address [DA] – Địa chỉ đích

Địa chỉ đích bao gồm 6 bytes để xác nhận trạm sẽ nhận khung. Nó chứa địa chỉ vật lý [physical address] của đích sắp đến của gói. Địa chỉ vật lý của hệ thống là một mẫu bit được mã hóa trên NIC [Network Interface Card]. Nếu gói phải đi qua mạng LAN này đến mạng LAN khác để đến đích của nó, trường DA chứa địa chỉ vật lý của router nối mạng LAN hiện hành và mạng LAN kế. Khi gói đạt đến mạng đích, trường DA chứa đại chỉ vật lý của thiết bị đích.

Trong chuỗi bits này, bit phía bên trái của trường DA chỉ ra địa chỉ đơn [individual address] nếu là bit 0 hoặc địa chỉ nhóm [group address] nếu là bit 1. Bit thứ hai bên trái chỉ ra DA được quản lý cục bộ hay quản lý toàn cục. Những bit còn lại được gán để xác nhận một trạm đơn, nhóm trạm hoặc tất cả trạm trên mạng [network].



  • Source Address [SA] – Địa chỉ nguồn
Địa chỉ nguồn bao gồm 6 bytes chứa địa chỉ vật lý của thiết bị cuối cùng chuyển tiếp gói. Thiết bị đó có thể là trạm đang gởi hoặc router mới xảy ra nhất để nhận và chuyển tiếp gói. Địa chỉ nguồn thì luôn luôn là địa chỉ đơn và bit phía trái thì luôn là bit 0. Lengh/type field gồm 2 bytes. Chỉ ra số byte trong PDU [Protocol Data Unit] đang đến. Nếu chiều dài của PDU là cố định, trường này được dung chỉ ra loại hoặc nền của các giao thức khác. Ví dụ, Novel và Internet dùng nó để làm rõ nghi thức mạng đang dung PDU.

  • Data field – Trường dữ liệu [802.2 frame]
Trường dữ liệu gồm tuần tự n bytes. Chiều dài tối thiểu và lớn nhất của dữ liệu là từ 46 bytes đến 1500 bytes. Dữ liệu được gởi qua lớp mạng với một vài thông tin điều khiển. Nếu dữ liệu có chiều dài ít hơn 46 byte trong một gói, một cơ chế đặt biệt sẽ đệm để đủ tối thiểu 46 bytes. PDU được tạo ra bởi lớp phụ ở trên [LLC] rồi lien kết đến khung 802.3.

  • Frame Check Sequence [CRC]
Frame Check Sequence bao gồm 4 bytes. Một vùng chứa 32 bits mã kiểm tra lổi và phát hiện sai theo mã CRC-32 và tính trên tất cả các trường [fields] ngoại trừ Preamble, SFD, FCS.
Lớp con MAC nằm ở lớp 2 trong mô hình OSI. Có chức năng là giải quyết tranh chấp cho môi trường dùng chung. Nó bao gồm các quy định đồng bộ, kiểm soát lỗi cần thiết để chuyển thông tin từ vị trí này đến vị trí khác, cũng như các địa chỉ vật lý của trạm để đảm bảo khung dữ liệu được truyền nhận đúng trạm.

Hình 2 4 Vị trí lớp con MAC trong mô hình OSI

MAC Control là 1 lớp con [sublayer] tùy chọn nằm trong lớp Data link [trong mô hình 7 lớp của OSI]. Nó được sử dụng chung với lớp con CSMA/CD MAC. MAC Control cung cấp khả năng điều khiển thời gian thực và thao tác hoạt động của lớp con MAC. Lớp con MAC Control sử dụng các dịch vụ không kết nối [connectionless] của lớp con MAC ở phía dưới để truyền khung điều khiển và khung dữ liệu. MAC Control không cung cấp bất kỳ cơ chế nào để đảm bảo khung truyền không bị mất mát. Các cơ chế để đảm bảo truyền khung không bị mất mát, như truyền lại các khung bị lỗi, bị hủy bỏ…, sẽ được MAC Control Client [Logic link control…] hổ trợ. Vì hoạt động của MAC Control là tùy chọn, nên MAC Control Client không thể nhận biết được sự tồn tại của thực thể MAC Control trong một trạm.

Hoạt động của lớp con MAC control trong suốt đối với CSMA/CD MAC. Ở mạng Ethernet lớp con MAC sử dụng phương thức truy cập CSMA/CD [Carrier Sense multiple access with collision detect] để truy cập kênh truyền với 2 chế độ truyền là: song công [full duplex] và bán song công [half duplex].

Khi có nhiều người sử dụng cùng truy cập 1 kênh truyền dùng chung mà không có quy luật thì sẽ dẫn đến xung đột. Điều này sẽ dẫn đến dữ liệu sẽ bị sai và trở thành nhiễu. Do đó một mạng LAN cần có một cơ chế để quản lý lưu lượng, tối thiểu hóa các xung đột và cực đại hóa các khung được phân phối thành công. Cơ chế truy cập được dùng trong mạng Ethernet theo chuẩn IEEE-802.3 là Carrier Sense Multiple Access with Collision Detect [CSMD/CD], tạm dịch là “Đa truy cập cảm nhận sóng mang có phát hiện xung đột”.

Thiết kế ban đầu là phương thức đa truy cập [Multiple Access - MA] trong đó mỗi trạm truy cập đến một liên kết là ngang bằng nhau và bình quyền. Với MA thì không có quản lý lưu lượng, bất cứ trạm nào muốn truyền thì sẽ truyền và dựa vào xác nhận để kiểm tra khung đã truyền là thành công hay không.

Trong một hệ thống CSMA, bất cứ trạm nào muốn truyền trước tiên phải lắng nghe sóng mang bằng cách kiểm tra điện áp. Nếu không có điện áp trên đường truyền thì đường truyền xem như là rảnh và nó có thể bắt đầu truyền. CSMA có thể giảm thiểu số xung đột nhưng tất nhiên không thể loại bỏ chúng một cách hoàn toàn. Xung đột vẫn xảy ra nếu một trạm chưa cảm nhận được tín hiệu sóng mang từ một trạm khác nào đó trên đường truyền do hiện tượng trễ của truyền sóng.

Để khắc phục tình trạng như trên cần phải có bộ phát hiện xung đột Collision Detect – CD. Trong CSMA/CD một trạm muốn phát thì phải chắc chắn là đường truyền rảnh, rồi mới truyền dữ liệu. Trong lúc truyền dữ liệu, trạm luôn kiểm tra xem có điện áp cao vượt trội hay không, nếu có tức là có xung đột xảy ra. Nếu phát hiện có xung đột, trạm sẽ ngưng truyền và đợi một lượng thời gian ngẫu nhiên nếu đường truyền rảnh nó sẽ thực hiện truyền lại.



Half – Duplex Ethernet là mô hình truyền thống của Ethernet sử dụng giao thức CSMA/CD [Carrier Sense Multiple Access/Collision Detect]. Với CSMA/CD hay nhiều hơn các trạm chia sẽ một đường truyền chung. Để truyền một frame, một trạm phải chờ cho một khoảng thời gian rảnh trên đường truyền khi không có một trạm khác đang truyền. Sau đó nó truyền frame bằng cách thông báo [broadcast] nó trên đường truyền để mà nó nghe tất cả các trạm trên mạng. Nếu một trạm khác cố gắng truyền để truyền dữ liệu tại cùng một thời điểm, một đụng độ xuất hiện. Trạm truyền sau đó cố ý truyền một Jam để bảo đảm tất cả các trạm được thông báo frame truyền bị lỗi vì một đụng độ. Trạm sau đó giữ cho một khoảng thời gian ngẫu nhiên trước khi nổ lực để truyền lại. Tiến trình được lặp lại cho đến khi frame truyền thành công.

Các nguyên tắc cơ bản cho việc truyền một frame:


  • Mạng được quan sát bởi một “carrier”, hoặc sự hiện diện của một trạm truyền. Tiến trình này thì được biết như “carrier sense”.
  • Nếu một carrier tích cực được phát hiện, sau đó đường truyền được trì hoãn. Trạm tiếp tục quan sát mạng cho đến khi carrier ngừng.
  • Nếu một carrier không được phát hiện, và khoảng không có carrier thì bằng hoặc lớn hơn khỏang thời gian chung giữa hai khung dữ liệu [interframe gap], sau đó trạm lặp tức bắt đầu truyền lại frame.
  • Trong khi trạm đang truyền frame, nó quan sát đường truyền có đụng độ hay không.
  • Nếu một đụng độ được phát hiện, trạm truyền ngừng gửi khung dữ liệu [frame data] và gửi một chuỗi jame 32 bits. Nếu đụng độ được phát hiện rất sớm trong lúc truyền frame, thì trạm truyền sẽ hoàn thành việc truyền preamble của frame trước khi bắt đầu truyền chuỗi jame. Chuỗi jame được phát đi để đảm bảo chiều dài của đụng độ đủ để thông báo tới các trạm khác.
  • Sau khi gửi chuỗi jame, trạm truyền chờ một khoảng thời gian ngẫu nhiên được chọn từ bộ phát random number trước khi bắt đầu tiến trình truyền lại. Tiến trình này gọi là “backoff”. Có thể một đụng độ được lặp lại bị giảm đi do trạm đang đụng độ chờ một khoảng thời gian ngẫu nhiên trước khi truyền lại.
  • Nếu đụng độ xuất hiện lại, thì việc truyền được lặp lại, nhưng thời gian trì hoãn ngẫu nhiên được tăng với mỗi nỗ lực truyền lại. Điều này làm giảm khả năng đụng độ của trạm khác.
  • Tiến trình này lặp lại đến khi một trạm truyền một frame không có đụng độ. Ngay khi một trạm thành công truyền một frame, nó sẽ reset lại collision counter nó sử dụng để tăng thời gian backoff sau mỗi lần đụng độ đã lặp lại.

Slot time là một thông số cho mạng hoạt động half – duplex Ethernet. Nó được xác định là 512 bits time cho mạng Ethernet hoạt động tại 10 và 100 Mb/s, và 4096 bit time cho Gigabit Ethernet. Để mà cho mỗi nơi truyền tin cậy trong việc phát hiện đụng độ, thời gian truyền nhỏ nhất cho một frame phải ít nhất là một slot time, và thời gian yêu cầu cho đụng độ để truyền đến tất cả các trạm trên mạng phải nhỏ hơn một slot time. Vì thế, một trạm không thể hoàn thành truyền frame trước khi phát hiện rằng một đụng độ đã xuất hiện.

Các tín hiệu đã truyền bởi các khoảng trì hoãn đụng độ các trạm Ethernet khi chúng truyền suốt trên mạng. Các khoảng truyền bao gồm thời gian yêu cầu cho tín hiệu truyền qua các phần cáp, và thời gian trì hoãn đụng độ logic khi các tín hiệu chuyển qua các thành phần điện trong Network Interface Cards [NICs] và các hub. Đối với các phần cáp dài hơn và nhiều hub trên trạm, nó cho tín hiệu truyền từ một mạng cuối đến mạng khác. Thời gian một tín hiệu truyền giữa hai trạm có khoảng cách xa nhất trong mạng được biết như là “propagation delay” lớn nhất của mạng.

Một trạm phát hiện rằng frame mà nó đang truyền đã bắt gặp một đụng độ, các tín hiệu của nó phải truyền qua mạng đến trạm khác phát hiện các đụng độ. Trạm này phải truyền một chuỗi jame để chỉ một đụng độ đã được phát hiện. Chuỗi jame này phải truyền qua lại mạng trước khi được phát hiện bởi trạm đang truyền. Tổng một vòng truyền tối đa [“round trip propagation delay] và thời gian yêu cầu để truyền một chuỗi jame là các thành phần xác định chiều dài của Ethernet slot time.

Slot time là một thông số quan trọng vì:


  • 512 bits slot time thiết lập kích cỡ nhỏ nhất của một Ethernet frame là 64 bytes. [4096 bits slot time cho Gigabit Ethernet yêu cầu một vùng mở rộng được thêm vào frame để kích cỡ truyền nhỏ nhất là 512 bytes]. Bất kỳ frame có chiều dài ít hơn 64 bytes thì được xem như là một “collision fragment” hay “runt frame”, và tự động được bỏ ra bởi trạm nhận.
  • Slot time thiết lập một giới hạn kích cỡ của một mạng trong giới hạn phần chiều dài cáp tối đa và số lần lặp lại có thể trên đường dẫn. Nếu kích cỡ của mạng quá lớn, một hiện tượng được biết như “late collisions” có thể xuất hiện. Đụng độ trễ được xem như một lỗi trong mạng bởi vì đụng độ đến quá trễ trong việc truyền frame tự động đối xử bởi chức năng điều khiển truy cập đường truyền Ethernet. Frame đang được truyền sẽ bị bỏ, yêu cầu một phần mềm ứng dụng phát hiện mất và bắt đầu truyền lại.
  • Slot time đảm bảo nếu có một đụng độ sắp xuất hiện, nó sẽ được phát hiện trong 512 bits đầu tiên [4096 cho Gigabit Ethernet] của frame truyền. Một phần cứng Ethernet đơn giản giữ frame truyền lại sau một đụng độ.

    Đối với Gigabit Ethernet, slot time phải được tăng từ 512 đến 4096 bits time. Vì Gigabit Ethernet có tốc độ data cao hơn, tín hiệu truyền chỉ cho một khoảng cách rất nhỏ trong phạm vi 512 bits time. Tại tốc độ một slot time 512 bits sẽ được hỗ trợ một mạng kích cỡ tối đa khoảng 20 mét. Một mạng nhỏ là không thực tế, vì thế chấp nhận của việc mở rộng một sóng mang được giới thiệu tăng slot time đến 4096 bits. Việc tăng kích cỡ của slot time và việc giới hạn số lần lặp lại trong một mạng, kích cỡ một mạng 200 mét có thể được hỗ trợ bởi Gigabit Ethernet.

Backoff là quá trình xử lý một trạm đang truyền tính toán chờ bao lâu sau một đụng độ trước khi nỗ lực truyền lại frame. Nếu tất cả các trạm đã chờ cùng khoảng thời gian trước khi truyền lại, sau đó đụng độ khác sẽ chắc chắn xuất hiện. Điều này được tránh bằng cách mỗi trạm phát một số ngẫu nhiên để tín khoảng thời gian nó phải chờ trước khi kiểm tra sóng mang. Khoảng thời gian này được biết như là “backoff delay” của trạm.

Thuật backoff thực hiện trong Ethernet là “truncated binary exponential backoff”. Sau một đụng độ, mỗi trạm phát một số ngẫu nhiên nằm trong tầm chỉ rõ của giá trị. Sau đó nó chờ số slot time trước khi nỗ lực truyền lại. Tầm giá trị tăng theo số mũ sau mỗi lần truyền lại bị hỏng. Nỗ lực lần đầu có tầm là 0 đến 1, lần thứ hai là 0 đến 3, lần ba là 0 đến 7 và cứ thế tiếp tục. Nếu đụng độ lặp lại, thì tầm tiếp tục mở rộng đến 10 nỗ lực khi nó đi từ 0 đến 1023. Sau đó tầm của giá trị nằm giữa từ 0 đến 1023. Nếu một trạm không thành công trong việc truyền sau 16 lần nỗ lực, thì MAC thông báo “excessive collision error”. Frame được truyền lại sau đó bị bỏ đi, ta cần phần mềm ứng dụng phát hiện mất frame và bắt đầu một sự truyền lại.

Các kết quả binary exponential backoff trong khoảng trì hoãn nhỏ nhất trước khi truyền lại khi lưu lượng trên LAN là thấp. Khi lưu lượng cao, đụng độ lặp lại là nguyên nhân làm tầm tăng lên, vì thế làm giảm cơ hội đụng độ sau đó. Trong một mạng, nơi mà lưu lượng có mức độ cao, đụng độ lặp lại sẽ bắt đầu gây ra lỗi quá đụng độ [excessive collision error] được phát đi. Lỗi quá đụng độ để chỉ ra rằng lưu lượng tải đã tăng đến điểm mà nó không thể có khả năng được giữ trên một mạng Ethernet đơn lẻ.

Khi mạng đang hoạt động dưới một tải lớn, thuật toán binary exponential backoff có thể trình bày một sự không công bằng được biết như “capture effect”. Vấn đề nảy sinh từ việc nắm giữ của collision counter. Mỗi trạm sẽ cập nhật bộ đếm đụng độ một cách độc lập của nó và chỉ sau một nỗ lực truyền lại. Chỉ có thành công bộ đếm đụng độ trở về zero sau khi phát một gói thành công. Điều này cho thuận lợi một trạm đơn bật cho phép nó “capture” mạng được một khoảng thời gian mở rộng.

Một ví dụ của hiệu ứng bắt gồm hai trạm có nhiều data để gửi và có thể gửi data nhanh như được cho phép. Cả hai đụng độ với nỗ lực truyền lại đầu tiên và chọn backoff là 0 hoặc 1. Trạm A chọn 0, và trạm B chọn 1. Trạm A truyền lại trong lúc trạm B chờ một slot time. Sau khi trạm A hoàn thành việc truyền của nó và hết khoảng interframe gap, cả hai trạm sẵn sàng truyền lại và đụng độ xuất hiện. Đây là đụng độ đầu tiên của trạm A đối với frame này, vì thế nó chọn một backoff là 0 hoặc 1. Tuy nhiên, đây là đụng độ lần thứ hai của trạm B cho frame này, vì thế nó chọn một backoff giữa 0 và 3. Vì vậy trạm A có khả năng truyền cao hơn trong lúc trạm B chờ lại. Nếu điều này xảy ra thì lấy số giống như vậy và lại đụng độ, cho nên lấy các số lẻ cho trạm B [lấy số chẵn thì xấu hơn].

Một kịch bản giống như vậy có thể lặp đi lặp lại chỉ có thể kết thúc khi hàng của trạm A là nỗ lực cuối cùng hoặc khi trạm cuối cùng trạm B tiến tới nỗ lực thứ 16. Sau 16 lần nỗ lực trạm B sẽ reset lại bộ đếm đụng độ của nó cho phép nó trở lại cạnh tranh nhiều hơn. Nhưng nó cũng bỏ ra frame nó đã nỗ lực truyền lại, yêu cầu nó xếp hàng frame cho việc truyền lại bằng phần mềm.

Vào năm 1994 một thuật toán backoff mới được gọi là “binary logarithm arbitration method” [BLAM] được đưa ra để làm giảm vấn đề hiệu ứng bắt. Một nhóm làm việc IEEE 802.3w được tạo ra để thêm BLAM như một đặc điểm không bắt buộc cho chuẩn Ethernet. Mặc dù kết quả mô phỏng chứng minh rằng BLAM đưa ra một cải tiến xác định trên thuật toán binary exponential backoff, công việc để kết hợp nó vào trong chuẩn Ethernet không bao giờ được hoàn thành vì một thay đổi [dịch] trong rõ nét ở full – duplex Ethernet và thiếu sự chú ý cập nhật phần cứng half – duplex.



Tiêu chuẩn IEEE 802.3x xác định một mode thứ hai của hoạt động Ethernet, được gọi là “full – duplex”, bỏ qua nghi thức CSMA/CD. Nghi thức CSMA/CD là “half – duplex”. Điều này chỉ rõ rằng một trạm có thể truyền data hay nhận data, nhưng không cùng một lúc. Mode full – duplex cho phép hai trạm đồng thời chuyển data trên một liên kết điểm điểm cung cấp đường truyền và nhận độc lập. Từ đó mỗi trạm có thể truyền và nhận data cùng một lúc, thông lượng của liên kết được gấp đôi lên. Một trạm 10 Mb/s hoạt động ở mode full – duplex cung cấp băng thông tối đa 20 Mb/s. Một trạm 100 Mb/s cung cấp băng thông 200 Mb/s.

Hoạt động full – duplex bị giới hạn đến chuẩn sau:


  • Đường truyền vật lý phải là cáp hỗ trợ truyền và nhận đồng thời mà không nhiễu. Các phương tiện truyền chỉ rõ gặp yêu cầu này là: 10-Base-T, 10Base-FL, 100Base-TX, 100Base-FX, 100Base-T2, 1000Base-CX, 1000Base-SX, 1000Base-LS, và 1000Base-T. Phương tiện truyền không thể hỗ trợ full – duplex: 10Base5, 10Base2, 10Base-FP, 10Base-FB và 100Base-T4.
  • Hoạt động full – duplex bị giới hạn liên kết điểm--điểm nối chính xác hai trạm. Từ đó không có sự cạnh trạnh cho việc chia sẽ đường truyền, đụng độ không có thể xuất hiện và nghi thức CSMA/CD là không cần thiết. Frame có thể được truyền, giới hạn chỉ bởi yêu cầu khoảng cách giữa nhỏ nhất giữa các frame liên tiếp.
  • Cả hai trạm trên lên kết phải có khả năng và cấu hình cho hoạt động full – duplex.
  • Hoạt động full – duplex có một vài thuận lợi:
  • Thông lượng là gấp đôi cho phép truyền và nhận đồng thời.
  • Hiệu suất của liên kết tăng bởi sự loại bỏ khả năng đụng độ.
  • Các phân đoạn chiều dài thì không giới hạn hơn bởi sự yêu cầu half – duplex Ethernet đảm bảo đụng độ được truyền đến tất cả các trạm trong khoảng yêu cầu 512 bits time. Ví dụ, 100Base-FX được giới hạn phần chiều dài 412 mét trong mode half – duplex, nhưng có thể hỗ trợ phần chiều dài 2km trong mode full – duplex.
Ở mode full – duplex , chuẩn Ethernet thêm vào hoạt động điều khiển luồng [flow control] đó là “PAUSE” frame. PAUSE frame cho phép một trạm cuối tạm thời ngừng lưu thông từ nơi khác đến trạm.
Chia sẻ với bạn bè của bạn:

Page 2


Mô hình TCP/IP chỉ có 4 lớp. Mô hình tham chiếu của TCP/IP không trực tiếp giống mô hình của OSI. Mặc dù mỗi mô hình mạng đều có chung một mục đích là để truyền thông dễ dàng giữa các mạng, giữa các loại máy tính chạy trên nền hệ điểu hành khác nhau. Nhưng mỗi mô hình mạng đều có đặc điểm riêng và cách thực thi cũng chút ít khác nhau. Mô hình OSI do ISO tạo ra trong một thời gian dài, nó được dùng làm mô hình chuẩn cho các mô hình khác. Còn TCP/IP ra đời do yêu cầu cấp thiết của chính phủ Mỹ trước tình hình lúc bấy giờ, do đó sự phát triển của TCP/IP không bị đè nặng bởi những yêu cầu chặt chẻ như OSI.

Do đặc tính của OSI là một mô hình tham khảo nên việc áp dụng OSI vào thực tế là khó có thể thực hiện [hiệu suất kém vì dữ liệu khi truyền trong mạng phải qua tất cả các lớp của mô hình OSI]. Do đó, OSI chỉ là một tiêu chuẩn để các nhà nghiên cứu dựa vào đó để phát triển các mô hình khác tối ưu hơn. Có rất nhiều mô hình khác nhau đã được phát minh, tuy nhiên hiện nay trên thế giới cùng với sự phát triển như vũ bão của Internet thì mô hình TCP/IP là được sử dụng phổ biến nhất.

Bộ giao thức TCP/IP là rất quan trọng trong việc lựa chọn cách thức truyền thông nhằm hạn chế lỗi và tăng hiệu quả. TCP/IP có các đặc điểm nổi bậc sau:
  • Độc lập với cầu hình mạng: TCP/IP có thể dung cho mạng bus, start, ring, cho mạng cục bộ, mạng diện rộng hay các liên mạng.

  • Độc lập với phần cứng vật lý của mạng: TCP/IP có thể dung cho Ethernet, token-ring hay bất cứ loại phần cứng nào.
  • Là một chuẩn giao thức mở: TCP/IP có thể thực hiện trên nhiều hệ điều hành [Operating System – OS] khác nhau, nên nó thích hợp dung cho các mạng hỗn tạp các loại phần cứng và phần mềm như Internet.
  • Định địa chỉ một cách tổng quát: mỗi trạm trên mạng TCP/IP có một địa chỉ IP duy nhất được dùng để liên lạc với bất kì trạm nào khác trên mạng.
  • Hỗ trợ đắc lực mạng theo mô hình Client – Server.
  • Các protocol chuẩn lớp ứng dụng: TCP/IP không những cung cấp cho lập trình viên phương pháp để truyền dữ liệu giữa các ứng dụng mà còn cung cấp cơ sở của nhiều giao thức lớp ứng dụng.
Phát triển từ mô hình tham chiếu OSI, TCP/IP được phân làm 4 lớp:
  • Lớp truy xuất mạng [Network Access layer].
  • Lớp liên mạng [Internet Layer].
  • Lớp giao vận [Transport layer].
  • Lớp ứng dụng [Application layer].
Việc phân lớp này đảm bảo một số nguyên tắc sau:
  • Một lớp được tạo ra khi cần đến mức trừu tượng hóa tương ứng.
  • Mỗi lớp cần thực hiện các chức năng được định nghĩa rõ ràng.
  • Việc chọn chức năng cho mỗi lớp cần chú ý tới việc định nghĩa các quy tắc chuẩn hóa quốc tế.
  • Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất [ tham số cho chương trình con là ít].
  • Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng một lớp và đủ nhỏ để mô hình không quá phức tạp.
  • Một mức có thể được phân thành các lớp nhỏ cần thiết.
  • Các mức con có thể lại bị loại bỏ.
  • Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo đảm những nguyên tắc chung [cài đặt cùng một giao thức truyền thông].
  • Các chức năng được tổ chức thành một tập các lớp đồng mức cung cấp chức năng như nhau. Các lớp đồng mức phải sử dụng giao thức chung.

Một lớp không định nghĩa một giao thức đơn, nó định nghĩa một chức năng truyền thông có thể thi hành bởi một số giao thức. Do vậy, mỗi lớp có thể chứa nhiều giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho chức năng của lớp. Mỗi lớp phải được chuẩn hóa để giao tiếp với lớp tương đương với nó. Trên lý thuyết, giao thức chỉ liên quan tới lớp của nó mà không quan tâm tới lớp trên hoặc dưới của nó. Tuy nhiên phải có sự đồng ý để làm sao chuyển dữ liệu giữa các lớp trên một máy tính, bởi mỗi lớp lại liên quan tới việc gửi dữ liệu từ ứng dụng này tới một ứng dụng tương đương trên một máy khác. Lớp cao hơn dựa vào lớp thấp hơn để chuyển dữ liệu qua mạng phía dưới. Dữ liệu chuyển xuống ngăn xếp từ lớp này xuống lớp thấp hơn cho tới khi được truyền qua mạng nhờ giao thức của lớp vật lý. Tại nơi nhận, dữ liệu đi lên ngăn xếp tới ứng dụng nhận. Những lớp riêng lẻ không cần biết các lớp trên và dưới nó xử lý ra sao, nó chỉ cần biết cách chuyển thông tin tới lớp đó mà thôi. Sự cô lập các hàm truyền thông trên các lớp khác nhau giảm thiểu sự tích hợp công nghệ của đầu vào mỗi bộ giao thức. Các ứng dụng mới có thể thêm vào mà không cần thay đổi lớp vật lý của mạng, phần cứng có thể được bổ sung mà không cần viết lại các phần mền ứng dụng.

Các lớp kiến trúc mô hình TCP/IP và các nghi thức tương ứng như sau:



OSI

TCP/IP

TCP/IP Protocol Stack
Application layer Process/Application layer FTP, SMTP, TELNET, SNMP
Presentation layer
Session layer
Transport layer Transport layer TCP or UDP
Network layer Internet layer IP, ARP, RARP, ICMP
DataLink layer Network Access layer Network interface card Transmission media
Physical layer

Tương quan hai mô hình OSI model và TCP/IP model

TCP [Transmission Control Protocol]: một nghi thức có cầu nối [connection-oriented] cung cấp khả năng truyền dòng dữ liệu không lỗi, hai chiều song công [full duplex] cho các quá trình của người sử dụng.

UDP [User Datagram Protocol]: một khi thức không thiết lập cầu nối [connectionless] cho các quá trình của user. Do đó, nó không dảm bảo dữ liệu khi truyền có đến nơi chính xác hay không.

ICMP [Internet Control Message Protocol]: nghi thức sử lý lỗi và điều khiển thông tin giữa các gateway và các host.

IP [Internet Protocol]: đây là protocol cung cấp dịch vụ phân phối các packet cho TCP, UDP và ICMP.

ARP [Adress Resolution Protocol]: protocol ánh xạ một địa chỉ Internet vào trong một địa chỉ phần cứng.

RARP [Reverse Address Resolution Protocol]: ánh xạ một địa chỉ phần cứng thành một địa chỉ Internet.



TCP/IP không định nghĩa lớp này mà dung chung với các chuẩn khác đã tồn tại như IEEE, X25…[RS232, Ethernet, X21/X21 bis, X35…]. Bản chất của lớp này là việc qui định các đại lượng tín hiệu, các phương cách giao tiếp để truyền các dòng bit trên kênh truyền.

Không giống những giao thức của lớp cao hơn là sử dụng dịch vụ của lớp dưới nó và cung cấp dịch vụ cho lớp trên, giao thức của tấng mạng cấn phải biết chi tiết của mạng vật lý phía dưới [cấu trúc của gói, địa chỉ...] để định dạng đúng thông tin sẽ được truyền tuân theo những ràng buộc của mạng. Lớp mạng của TCP/IP chứa chức năng của tất cả 2 lớp thấp nhất của mô hình tham chiếu OSI [lớp liên kết dữ liệu và lớp vật lý]. Lớp mạng thường không được người dùng để ý tới vì thiết kế của TCP/IP che dấu những chức năng của lớp thấp nhất này và những điều cần biết cho người sử dụng cũng như người lập trình chỉ là những giao thức của các lớp cao hơn [IP, TCP, UDP...]. Mỗi khi có công nghệ phần cứng mới xuất hiện, những giao thức của lớp mạng phải được phát triển để TCP/IP có thể sử dụng phần cứng mới [thông thường đó chính là các trình điều khiển của chính nhà cung cấp phần cứng đó]. Các chức năng trình diễn trong lớp này bao gồm đóng gói gói thông tin IP thành các “Frame” được truyền dẫn trên mạng và chuyển địa chỉ IP thành địa chỉ vật lý sử dụng bởi mạng máy tính. Một số các điểm mạnh của TCP/IP là địa chỉ của nó được phối hợp sao cho trên mạng Internet không có một thiết bị mạng nào cùng địa chỉ. Địa chỉ này phải được chuyển đổi thích hợp với địa chỉ mạng vật lý nơi mà dữ liệu được truyền đi.

Hai ví dụ RFCs mô tả giao thức sử dụng cho lớp mạng là:

  • RFC 826, giao thức chuyển đổi địa chỉ chuyển đổi địa chỉ IP thành địa chỉ Ethernet.
  • RFC 894, một chuẩn cho việc truyền gói tin IP qua mạng Ethernet mô tả cách thức đóng gói để chuyển thông tin qua mạng Ethernet.
Khi cài đặt trong UNIX, giao thức của lớp này được xem như sự phối hợp của chương trình để điều khiển thiết bị và các chương trình liên quan. Những đơn vị tương ứng với những thiết bị mạng làm nhiệm vụ đóng gói dữ liệu và chuyển giao cho mạng. Lớp này định nghĩa đơn vị dữ liệu để truyền và định tuyến cho các đơn vị dữ liệu đó. IP là một protocol quan trọng nhất của bộ TCP/IP vì tất cả các protocol trong bộ TCP/IP đều phải dùng đến nó và tất cả dữ liệu phải lưu chuyển qua nó.
IP là một nghi thức không kết nối [connectionless protocol], tức là không thiết lập một giao tiếp trực tiếp [end-to-end] trước khi truyền dữ liệu. IP không đảm bảo phân phát chính xác dữ liệu đến đích, các gói dữ liệu có thể đến đích không đúng thứ tự, có thể bị sao chép hay thất lạc [do đó IP phải kết hợp với TCP]. Đơn vị dữ liệu của IP là datagram có chứa địa chỉ IP của nguồn và đích. IP có nhiệm vụ tìm đường cho datagram nên có thể phân mảnh hay hợp nhất các datagram để thích hợp với kích thước packet lớn nhất cho phép trên đường truyền.

Định dạng IP datagram header [32 bits header]:


Version Header length Type of service Total length of datagram
Identification Flags Fragment offset

Time to live
Protocol Header checksum

Source address
Destination address

Option:

Strick source route

Loose source route

Record route

Time stamp

Security

Data [max 65535 bytes]

IP datagram header

Destination Address

4 bytes


Source Address

4 bytes


Type Field

2 byte


IP data

46 – 1500 bytes



CRC

4 bytes


Hình 2 5 Mô tà đóng gói IP lên khung Ethernet

Verision [VER] 4bits: đánh số phiên bản của IP, phiên bản hiện hành là 4 [IPv4] với giá trị nhị phân là 0100.

Header length [HLEN] 4bits: định nghĩa chiều dài của IP header chỉ ra bội số của 4 bytes. Dung 4bits tức giá trị tối đa là 15 tương đương 60bytes.

Service type [1 bytes]: định nghĩa cách mà datagram được quản lý. Nó bao gồm các bits định nghĩa thứ tự ưu tiên của datagram. Nó cũng chứa các bit làm rõ loại dịch vụ phía gởi mong muốn độ tin cậy, trễ…

Total length [2 bytes]: định nghĩa chiều dài tổng thể của một datagram. Tối đa là 65535 bytes.

Identification: được dung với các phân đoạn. Một datagram khi đi qua các mạng khác nhau có thể được chia thành các đoạn để phù hợp với kích thước khung của mạng. khi xảy ra hiện tượng này thì mỗi đoạn được định danh với một số thứ tự trong trường này.

Flags: các bits trong cờ có quan hệ với phân đoạn. Ví dụ datagram có thể hoặc không có phân đoạn, có thể đoạn đầu, đoạn giữa hoặc đoạn cuối…

Fragmentation offset: đây là một con trỏ chỉ ra độ lệch của dữ liệu trong datagram gốc [nếu đã được phân đoạn].

Time to live: định nghĩa số bước nhảy tối đa một datagram có thể đi qua trước khi bị drop [loại bỏ]. Máy chủ nguồn khi tạo ra datagram sẽ khởi động giá trị trong trường này. Kế tiếp khi datagram qua Internet, mỗi router mà datagram đi qua sẽ giảm giá trị đi 1. nếu giá trị này bằng 0 trước khi đến đích cuối cùng thì datagram sẽ bị drop.

Protocol: định nghĩa loại dữ liệu nghi thức nào của lớp trên đóng gói trong datagram [TCP, UDP, ICMP…].

Header checksum [16 bits]: dung kiểm tra header chứ không kiểm tra phần còn lại của gói.

Source address [4 bytes]: địa chỉ IP nguồn của datagram.

Destination address [4 bytes]: địa chỉ IP của đích cần gởi datagram đến.

Options: trường chọn lựa cho nhiều chức năng đối với IP datagram. Nó có thể mang các thông tin về kiểm soát định tuyến như: timing, quản lý và cân bằng.

IP lại chứa 4 nghi thức giúp đỡ là: ARP, RARP, ICMP và IGMP.

ARP [Adrees Resolution Protocol] được dùng để quảng bá tìm địa chỉ vật lý từ địc chỉ IP. Protocol này được dùng trong mạng nội bộ vì định dạng địa chỉ vật lý của mạng phhụ thuộc vào phần cứng mạng.

RARP [Reverse Address Resolution Protocol] để tìm địa chỉ IP khi đã biết địa chỉ vật lý.

ICMP [Internet Control Message Protocol] là cơ chế được dung bởi máy chủ và router. ICMP cho phép IP thông báo phía gửi nếu datagram không được phát đúng. Đặc trưng nhất của ICMP là tiện ích ping thường được các lập trình viên dùng kiểm tra các node có còn hoạt động hay không.

IGMP [Internet Group Message Protocol]: nghi thức IP liên quan đến 2 thông tin là unicasting và multicasting. Unicasting là thông tin giữa một người gởi và một người nhận. nó là thông tin một – một. Tuy nhiên, một số quá trình thỉnh thoảng cần gởi một thông điệp đến nhiều người nhận đồng thời. Trường hợp này là multicasting, tức là thông tin một – nhiều. multicasting có rất nhiều ứng dụng.



Địa chỉ IP gồm 32 bits, thường được mô tả ở dạng thập phân và mỗi byte cách nhau bởi dấu “.” là danh hiệu duy nhất trên mạng. Địa chì này có 2 phần: phần địc chỉ mạng và địa chỉ nội bộ. Có 3 lớp địa chỉ A, B, C dành cho 3 loại mạng lớn, vừa và nhỏ; 1 lớp địa chỉ multicasting [lớp D] và một lớp dự trữ [E].

Trong đó có một lớp địa chỉ đặc biệt dùng để kiểm tra thiết bị mạng là:

127.x.x.x [loopback]

[Class]

Phạm vi địa chỉ
Kích thước

không gian địa chỉ


Page 3

Chuẩn IEEE 802.3 là một phần của họ chuẩn cho mạng cục bộ và metropolitan. Mối quan hệ giữa các thành viên của chuẩn được trình bày bên dưới.

Hình 2 2 Họ chuẩn của mạng cục bộ.

Các chuẩn này liên quan đến lớp vật lý và lớp data link được định nghĩa bởi International Organization Standardization [ISO].



Chuẩn IEEE 802.3 định nghĩa một khung định dạng dữ liệu cơ bản cho tất cả công việc mà MAC thực hiện. Thêm vào đó, một vài chức năng lựa chọn được thêm vào cho khung dữ liệu. Một khung dữ liệu gồm có 7 trường như hình vẽ.

Hình 2 3 Cấu trúc Frame Ethernet



Preamble chỉ ra sự bắt đầu của một khung truyền. Nó gồm một dãy các giá trị bit 0 và 1 xen kẽ nhau để báo hiệu cho trạm nhận [receiving stations] rằng có khung đang tới. Và nó cũng cung cấp một phương tiện để đồng bộ hóa những phần khung nhận của lớp vật lý nhận với một luồng bits vào.

Preamble bao gồm 7 bytes như sau:

10101010 - 10101010 - 10101010 - 10101010 - 10101010 - 10101010 - 10101010


  • Start Frame Delimiter [DFD]
SFD là một chuỗi 8 bit [1 byte] 10101011. Nó theo sau Preamble và chỉ ra sự bắt đầu của chuỗi thông tin với hai bit cuối là 11. Sau byte này chính là địa chỉ.

  • Destination Address [DA] – Địa chỉ đích

Địa chỉ đích bao gồm 6 bytes để xác nhận trạm sẽ nhận khung. Nó chứa địa chỉ vật lý [physical address] của đích sắp đến của gói. Địa chỉ vật lý của hệ thống là một mẫu bit được mã hóa trên NIC [Network Interface Card]. Nếu gói phải đi qua mạng LAN này đến mạng LAN khác để đến đích của nó, trường DA chứa địa chỉ vật lý của router nối mạng LAN hiện hành và mạng LAN kế. Khi gói đạt đến mạng đích, trường DA chứa đại chỉ vật lý của thiết bị đích.

Trong chuỗi bits này, bit phía bên trái của trường DA chỉ ra địa chỉ đơn [individual address] nếu là bit 0 hoặc địa chỉ nhóm [group address] nếu là bit 1. Bit thứ hai bên trái chỉ ra DA được quản lý cục bộ hay quản lý toàn cục. Những bit còn lại được gán để xác nhận một trạm đơn, nhóm trạm hoặc tất cả trạm trên mạng [network].



  • Source Address [SA] – Địa chỉ nguồn
Địa chỉ nguồn bao gồm 6 bytes chứa địa chỉ vật lý của thiết bị cuối cùng chuyển tiếp gói. Thiết bị đó có thể là trạm đang gởi hoặc router mới xảy ra nhất để nhận và chuyển tiếp gói. Địa chỉ nguồn thì luôn luôn là địa chỉ đơn và bit phía trái thì luôn là bit 0. Lengh/type field gồm 2 bytes. Chỉ ra số byte trong PDU [Protocol Data Unit] đang đến. Nếu chiều dài của PDU là cố định, trường này được dung chỉ ra loại hoặc nền của các giao thức khác. Ví dụ, Novel và Internet dùng nó để làm rõ nghi thức mạng đang dung PDU.

  • Data field – Trường dữ liệu [802.2 frame]
Trường dữ liệu gồm tuần tự n bytes. Chiều dài tối thiểu và lớn nhất của dữ liệu là từ 46 bytes đến 1500 bytes. Dữ liệu được gởi qua lớp mạng với một vài thông tin điều khiển. Nếu dữ liệu có chiều dài ít hơn 46 byte trong một gói, một cơ chế đặt biệt sẽ đệm để đủ tối thiểu 46 bytes. PDU được tạo ra bởi lớp phụ ở trên [LLC] rồi lien kết đến khung 802.3.

  • Frame Check Sequence [CRC]
Frame Check Sequence bao gồm 4 bytes. Một vùng chứa 32 bits mã kiểm tra lổi và phát hiện sai theo mã CRC-32 và tính trên tất cả các trường [fields] ngoại trừ Preamble, SFD, FCS.
Lớp con MAC nằm ở lớp 2 trong mô hình OSI. Có chức năng là giải quyết tranh chấp cho môi trường dùng chung. Nó bao gồm các quy định đồng bộ, kiểm soát lỗi cần thiết để chuyển thông tin từ vị trí này đến vị trí khác, cũng như các địa chỉ vật lý của trạm để đảm bảo khung dữ liệu được truyền nhận đúng trạm.

Hình 2 4 Vị trí lớp con MAC trong mô hình OSI

MAC Control là 1 lớp con [sublayer] tùy chọn nằm trong lớp Data link [trong mô hình 7 lớp của OSI]. Nó được sử dụng chung với lớp con CSMA/CD MAC. MAC Control cung cấp khả năng điều khiển thời gian thực và thao tác hoạt động của lớp con MAC. Lớp con MAC Control sử dụng các dịch vụ không kết nối [connectionless] của lớp con MAC ở phía dưới để truyền khung điều khiển và khung dữ liệu. MAC Control không cung cấp bất kỳ cơ chế nào để đảm bảo khung truyền không bị mất mát. Các cơ chế để đảm bảo truyền khung không bị mất mát, như truyền lại các khung bị lỗi, bị hủy bỏ…, sẽ được MAC Control Client [Logic link control…] hổ trợ. Vì hoạt động của MAC Control là tùy chọn, nên MAC Control Client không thể nhận biết được sự tồn tại của thực thể MAC Control trong một trạm.

Hoạt động của lớp con MAC control trong suốt đối với CSMA/CD MAC. Ở mạng Ethernet lớp con MAC sử dụng phương thức truy cập CSMA/CD [Carrier Sense multiple access with collision detect] để truy cập kênh truyền với 2 chế độ truyền là: song công [full duplex] và bán song công [half duplex].

Khi có nhiều người sử dụng cùng truy cập 1 kênh truyền dùng chung mà không có quy luật thì sẽ dẫn đến xung đột. Điều này sẽ dẫn đến dữ liệu sẽ bị sai và trở thành nhiễu. Do đó một mạng LAN cần có một cơ chế để quản lý lưu lượng, tối thiểu hóa các xung đột và cực đại hóa các khung được phân phối thành công. Cơ chế truy cập được dùng trong mạng Ethernet theo chuẩn IEEE-802.3 là Carrier Sense Multiple Access with Collision Detect [CSMD/CD], tạm dịch là “Đa truy cập cảm nhận sóng mang có phát hiện xung đột”.

Thiết kế ban đầu là phương thức đa truy cập [Multiple Access - MA] trong đó mỗi trạm truy cập đến một liên kết là ngang bằng nhau và bình quyền. Với MA thì không có quản lý lưu lượng, bất cứ trạm nào muốn truyền thì sẽ truyền và dựa vào xác nhận để kiểm tra khung đã truyền là thành công hay không.

Trong một hệ thống CSMA, bất cứ trạm nào muốn truyền trước tiên phải lắng nghe sóng mang bằng cách kiểm tra điện áp. Nếu không có điện áp trên đường truyền thì đường truyền xem như là rảnh và nó có thể bắt đầu truyền. CSMA có thể giảm thiểu số xung đột nhưng tất nhiên không thể loại bỏ chúng một cách hoàn toàn. Xung đột vẫn xảy ra nếu một trạm chưa cảm nhận được tín hiệu sóng mang từ một trạm khác nào đó trên đường truyền do hiện tượng trễ của truyền sóng.

Để khắc phục tình trạng như trên cần phải có bộ phát hiện xung đột Collision Detect – CD. Trong CSMA/CD một trạm muốn phát thì phải chắc chắn là đường truyền rảnh, rồi mới truyền dữ liệu. Trong lúc truyền dữ liệu, trạm luôn kiểm tra xem có điện áp cao vượt trội hay không, nếu có tức là có xung đột xảy ra. Nếu phát hiện có xung đột, trạm sẽ ngưng truyền và đợi một lượng thời gian ngẫu nhiên nếu đường truyền rảnh nó sẽ thực hiện truyền lại.



Half – Duplex Ethernet là mô hình truyền thống của Ethernet sử dụng giao thức CSMA/CD [Carrier Sense Multiple Access/Collision Detect]. Với CSMA/CD hay nhiều hơn các trạm chia sẽ một đường truyền chung. Để truyền một frame, một trạm phải chờ cho một khoảng thời gian rảnh trên đường truyền khi không có một trạm khác đang truyền. Sau đó nó truyền frame bằng cách thông báo [broadcast] nó trên đường truyền để mà nó nghe tất cả các trạm trên mạng. Nếu một trạm khác cố gắng truyền để truyền dữ liệu tại cùng một thời điểm, một đụng độ xuất hiện. Trạm truyền sau đó cố ý truyền một Jam để bảo đảm tất cả các trạm được thông báo frame truyền bị lỗi vì một đụng độ. Trạm sau đó giữ cho một khoảng thời gian ngẫu nhiên trước khi nổ lực để truyền lại. Tiến trình được lặp lại cho đến khi frame truyền thành công.

Các nguyên tắc cơ bản cho việc truyền một frame:


  • Mạng được quan sát bởi một “carrier”, hoặc sự hiện diện của một trạm truyền. Tiến trình này thì được biết như “carrier sense”.
  • Nếu một carrier tích cực được phát hiện, sau đó đường truyền được trì hoãn. Trạm tiếp tục quan sát mạng cho đến khi carrier ngừng.
  • Nếu một carrier không được phát hiện, và khoảng không có carrier thì bằng hoặc lớn hơn khỏang thời gian chung giữa hai khung dữ liệu [interframe gap], sau đó trạm lặp tức bắt đầu truyền lại frame.
  • Trong khi trạm đang truyền frame, nó quan sát đường truyền có đụng độ hay không.
  • Nếu một đụng độ được phát hiện, trạm truyền ngừng gửi khung dữ liệu [frame data] và gửi một chuỗi jame 32 bits. Nếu đụng độ được phát hiện rất sớm trong lúc truyền frame, thì trạm truyền sẽ hoàn thành việc truyền preamble của frame trước khi bắt đầu truyền chuỗi jame. Chuỗi jame được phát đi để đảm bảo chiều dài của đụng độ đủ để thông báo tới các trạm khác.
  • Sau khi gửi chuỗi jame, trạm truyền chờ một khoảng thời gian ngẫu nhiên được chọn từ bộ phát random number trước khi bắt đầu tiến trình truyền lại. Tiến trình này gọi là “backoff”. Có thể một đụng độ được lặp lại bị giảm đi do trạm đang đụng độ chờ một khoảng thời gian ngẫu nhiên trước khi truyền lại.
  • Nếu đụng độ xuất hiện lại, thì việc truyền được lặp lại, nhưng thời gian trì hoãn ngẫu nhiên được tăng với mỗi nỗ lực truyền lại. Điều này làm giảm khả năng đụng độ của trạm khác.
  • Tiến trình này lặp lại đến khi một trạm truyền một frame không có đụng độ. Ngay khi một trạm thành công truyền một frame, nó sẽ reset lại collision counter nó sử dụng để tăng thời gian backoff sau mỗi lần đụng độ đã lặp lại.

Slot time là một thông số cho mạng hoạt động half – duplex Ethernet. Nó được xác định là 512 bits time cho mạng Ethernet hoạt động tại 10 và 100 Mb/s, và 4096 bit time cho Gigabit Ethernet. Để mà cho mỗi nơi truyền tin cậy trong việc phát hiện đụng độ, thời gian truyền nhỏ nhất cho một frame phải ít nhất là một slot time, và thời gian yêu cầu cho đụng độ để truyền đến tất cả các trạm trên mạng phải nhỏ hơn một slot time. Vì thế, một trạm không thể hoàn thành truyền frame trước khi phát hiện rằng một đụng độ đã xuất hiện.

Các tín hiệu đã truyền bởi các khoảng trì hoãn đụng độ các trạm Ethernet khi chúng truyền suốt trên mạng. Các khoảng truyền bao gồm thời gian yêu cầu cho tín hiệu truyền qua các phần cáp, và thời gian trì hoãn đụng độ logic khi các tín hiệu chuyển qua các thành phần điện trong Network Interface Cards [NICs] và các hub. Đối với các phần cáp dài hơn và nhiều hub trên trạm, nó cho tín hiệu truyền từ một mạng cuối đến mạng khác. Thời gian một tín hiệu truyền giữa hai trạm có khoảng cách xa nhất trong mạng được biết như là “propagation delay” lớn nhất của mạng.

Một trạm phát hiện rằng frame mà nó đang truyền đã bắt gặp một đụng độ, các tín hiệu của nó phải truyền qua mạng đến trạm khác phát hiện các đụng độ. Trạm này phải truyền một chuỗi jame để chỉ một đụng độ đã được phát hiện. Chuỗi jame này phải truyền qua lại mạng trước khi được phát hiện bởi trạm đang truyền. Tổng một vòng truyền tối đa [“round trip propagation delay] và thời gian yêu cầu để truyền một chuỗi jame là các thành phần xác định chiều dài của Ethernet slot time.

Slot time là một thông số quan trọng vì:


  • 512 bits slot time thiết lập kích cỡ nhỏ nhất của một Ethernet frame là 64 bytes. [4096 bits slot time cho Gigabit Ethernet yêu cầu một vùng mở rộng được thêm vào frame để kích cỡ truyền nhỏ nhất là 512 bytes]. Bất kỳ frame có chiều dài ít hơn 64 bytes thì được xem như là một “collision fragment” hay “runt frame”, và tự động được bỏ ra bởi trạm nhận.
  • Slot time thiết lập một giới hạn kích cỡ của một mạng trong giới hạn phần chiều dài cáp tối đa và số lần lặp lại có thể trên đường dẫn. Nếu kích cỡ của mạng quá lớn, một hiện tượng được biết như “late collisions” có thể xuất hiện. Đụng độ trễ được xem như một lỗi trong mạng bởi vì đụng độ đến quá trễ trong việc truyền frame tự động đối xử bởi chức năng điều khiển truy cập đường truyền Ethernet. Frame đang được truyền sẽ bị bỏ, yêu cầu một phần mềm ứng dụng phát hiện mất và bắt đầu truyền lại.
  • Slot time đảm bảo nếu có một đụng độ sắp xuất hiện, nó sẽ được phát hiện trong 512 bits đầu tiên [4096 cho Gigabit Ethernet] của frame truyền. Một phần cứng Ethernet đơn giản giữ frame truyền lại sau một đụng độ.

    Đối với Gigabit Ethernet, slot time phải được tăng từ 512 đến 4096 bits time. Vì Gigabit Ethernet có tốc độ data cao hơn, tín hiệu truyền chỉ cho một khoảng cách rất nhỏ trong phạm vi 512 bits time. Tại tốc độ một slot time 512 bits sẽ được hỗ trợ một mạng kích cỡ tối đa khoảng 20 mét. Một mạng nhỏ là không thực tế, vì thế chấp nhận của việc mở rộng một sóng mang được giới thiệu tăng slot time đến 4096 bits. Việc tăng kích cỡ của slot time và việc giới hạn số lần lặp lại trong một mạng, kích cỡ một mạng 200 mét có thể được hỗ trợ bởi Gigabit Ethernet.

Backoff là quá trình xử lý một trạm đang truyền tính toán chờ bao lâu sau một đụng độ trước khi nỗ lực truyền lại frame. Nếu tất cả các trạm đã chờ cùng khoảng thời gian trước khi truyền lại, sau đó đụng độ khác sẽ chắc chắn xuất hiện. Điều này được tránh bằng cách mỗi trạm phát một số ngẫu nhiên để tín khoảng thời gian nó phải chờ trước khi kiểm tra sóng mang. Khoảng thời gian này được biết như là “backoff delay” của trạm.

Thuật backoff thực hiện trong Ethernet là “truncated binary exponential backoff”. Sau một đụng độ, mỗi trạm phát một số ngẫu nhiên nằm trong tầm chỉ rõ của giá trị. Sau đó nó chờ số slot time trước khi nỗ lực truyền lại. Tầm giá trị tăng theo số mũ sau mỗi lần truyền lại bị hỏng. Nỗ lực lần đầu có tầm là 0 đến 1, lần thứ hai là 0 đến 3, lần ba là 0 đến 7 và cứ thế tiếp tục. Nếu đụng độ lặp lại, thì tầm tiếp tục mở rộng đến 10 nỗ lực khi nó đi từ 0 đến 1023. Sau đó tầm của giá trị nằm giữa từ 0 đến 1023. Nếu một trạm không thành công trong việc truyền sau 16 lần nỗ lực, thì MAC thông báo “excessive collision error”. Frame được truyền lại sau đó bị bỏ đi, ta cần phần mềm ứng dụng phát hiện mất frame và bắt đầu một sự truyền lại.

Các kết quả binary exponential backoff trong khoảng trì hoãn nhỏ nhất trước khi truyền lại khi lưu lượng trên LAN là thấp. Khi lưu lượng cao, đụng độ lặp lại là nguyên nhân làm tầm tăng lên, vì thế làm giảm cơ hội đụng độ sau đó. Trong một mạng, nơi mà lưu lượng có mức độ cao, đụng độ lặp lại sẽ bắt đầu gây ra lỗi quá đụng độ [excessive collision error] được phát đi. Lỗi quá đụng độ để chỉ ra rằng lưu lượng tải đã tăng đến điểm mà nó không thể có khả năng được giữ trên một mạng Ethernet đơn lẻ.

Khi mạng đang hoạt động dưới một tải lớn, thuật toán binary exponential backoff có thể trình bày một sự không công bằng được biết như “capture effect”. Vấn đề nảy sinh từ việc nắm giữ của collision counter. Mỗi trạm sẽ cập nhật bộ đếm đụng độ một cách độc lập của nó và chỉ sau một nỗ lực truyền lại. Chỉ có thành công bộ đếm đụng độ trở về zero sau khi phát một gói thành công. Điều này cho thuận lợi một trạm đơn bật cho phép nó “capture” mạng được một khoảng thời gian mở rộng.

Một ví dụ của hiệu ứng bắt gồm hai trạm có nhiều data để gửi và có thể gửi data nhanh như được cho phép. Cả hai đụng độ với nỗ lực truyền lại đầu tiên và chọn backoff là 0 hoặc 1. Trạm A chọn 0, và trạm B chọn 1. Trạm A truyền lại trong lúc trạm B chờ một slot time. Sau khi trạm A hoàn thành việc truyền của nó và hết khoảng interframe gap, cả hai trạm sẵn sàng truyền lại và đụng độ xuất hiện. Đây là đụng độ đầu tiên của trạm A đối với frame này, vì thế nó chọn một backoff là 0 hoặc 1. Tuy nhiên, đây là đụng độ lần thứ hai của trạm B cho frame này, vì thế nó chọn một backoff giữa 0 và 3. Vì vậy trạm A có khả năng truyền cao hơn trong lúc trạm B chờ lại. Nếu điều này xảy ra thì lấy số giống như vậy và lại đụng độ, cho nên lấy các số lẻ cho trạm B [lấy số chẵn thì xấu hơn].

Một kịch bản giống như vậy có thể lặp đi lặp lại chỉ có thể kết thúc khi hàng của trạm A là nỗ lực cuối cùng hoặc khi trạm cuối cùng trạm B tiến tới nỗ lực thứ 16. Sau 16 lần nỗ lực trạm B sẽ reset lại bộ đếm đụng độ của nó cho phép nó trở lại cạnh tranh nhiều hơn. Nhưng nó cũng bỏ ra frame nó đã nỗ lực truyền lại, yêu cầu nó xếp hàng frame cho việc truyền lại bằng phần mềm.

Vào năm 1994 một thuật toán backoff mới được gọi là “binary logarithm arbitration method” [BLAM] được đưa ra để làm giảm vấn đề hiệu ứng bắt. Một nhóm làm việc IEEE 802.3w được tạo ra để thêm BLAM như một đặc điểm không bắt buộc cho chuẩn Ethernet. Mặc dù kết quả mô phỏng chứng minh rằng BLAM đưa ra một cải tiến xác định trên thuật toán binary exponential backoff, công việc để kết hợp nó vào trong chuẩn Ethernet không bao giờ được hoàn thành vì một thay đổi [dịch] trong rõ nét ở full – duplex Ethernet và thiếu sự chú ý cập nhật phần cứng half – duplex.



Tiêu chuẩn IEEE 802.3x xác định một mode thứ hai của hoạt động Ethernet, được gọi là “full – duplex”, bỏ qua nghi thức CSMA/CD. Nghi thức CSMA/CD là “half – duplex”. Điều này chỉ rõ rằng một trạm có thể truyền data hay nhận data, nhưng không cùng một lúc. Mode full – duplex cho phép hai trạm đồng thời chuyển data trên một liên kết điểm điểm cung cấp đường truyền và nhận độc lập. Từ đó mỗi trạm có thể truyền và nhận data cùng một lúc, thông lượng của liên kết được gấp đôi lên. Một trạm 10 Mb/s hoạt động ở mode full – duplex cung cấp băng thông tối đa 20 Mb/s. Một trạm 100 Mb/s cung cấp băng thông 200 Mb/s.

Hoạt động full – duplex bị giới hạn đến chuẩn sau:


  • Đường truyền vật lý phải là cáp hỗ trợ truyền và nhận đồng thời mà không nhiễu. Các phương tiện truyền chỉ rõ gặp yêu cầu này là: 10-Base-T, 10Base-FL, 100Base-TX, 100Base-FX, 100Base-T2, 1000Base-CX, 1000Base-SX, 1000Base-LS, và 1000Base-T. Phương tiện truyền không thể hỗ trợ full – duplex: 10Base5, 10Base2, 10Base-FP, 10Base-FB và 100Base-T4.
  • Hoạt động full – duplex bị giới hạn liên kết điểm--điểm nối chính xác hai trạm. Từ đó không có sự cạnh trạnh cho việc chia sẽ đường truyền, đụng độ không có thể xuất hiện và nghi thức CSMA/CD là không cần thiết. Frame có thể được truyền, giới hạn chỉ bởi yêu cầu khoảng cách giữa nhỏ nhất giữa các frame liên tiếp.
  • Cả hai trạm trên lên kết phải có khả năng và cấu hình cho hoạt động full – duplex.
  • Hoạt động full – duplex có một vài thuận lợi:
  • Thông lượng là gấp đôi cho phép truyền và nhận đồng thời.
  • Hiệu suất của liên kết tăng bởi sự loại bỏ khả năng đụng độ.
  • Các phân đoạn chiều dài thì không giới hạn hơn bởi sự yêu cầu half – duplex Ethernet đảm bảo đụng độ được truyền đến tất cả các trạm trong khoảng yêu cầu 512 bits time. Ví dụ, 100Base-FX được giới hạn phần chiều dài 412 mét trong mode half – duplex, nhưng có thể hỗ trợ phần chiều dài 2km trong mode full – duplex.
Ở mode full – duplex , chuẩn Ethernet thêm vào hoạt động điều khiển luồng [flow control] đó là “PAUSE” frame. PAUSE frame cho phép một trạm cuối tạm thời ngừng lưu thông từ nơi khác đến trạm.
Chia sẻ với bạn bè của bạn:

Page 4


ENC28J60 là IC giao tiếp mạng Ethernet ở lớp vật lý tương ứng trong mô hình OSI. Nó hỗ trợ tuyền song công trên kênh truyền có băng thông từ 10-20Mbps. Đồng thời nhằm tránh xung đột trên kênh truyền, ENC28J60 làm việc trên protocol CSMA/CD để phát hiện và tối thiểu hóa xung đột. ENC28J60 được giao tiếp với các thiết bị khác theo chuẩn SPI.

The ENC28J60 is a stand-alone Ethernet controller with an industry standard Serial Peripheral Interface [SPI]. It is designed to serve as an Ethernet network interface for any controller equipped with SPI. The ENC28J60 meets all of the IEEE 802.3 specifications. It incorporates a number of packet filtering schemes to limit incoming packets. It also provides an internal DMA module for fast data throughput and hardware assisted checksum calculation, which is used in various network protocols. Communication with the host controller is implemented via an interrupt pin and the SPI, with clock rates of up to 20 MHz. Two dedicated pins are used for LED link and network activity indication.

ENC28J60 có các thông số sau:

• IEEE 802.3 compatible Ethernet controller

• Integrated MAC and 10BASE-T PHY

• Supports one 10BASE-T port with automatic

polarity detection and correction

• Supports Full and Half-Duplex modes

• Programmable automatic retransmit on collision

• Programmable padding and CRC generation

• Programmable automatic rejection of erroneous

packets


• SPI Interface with clock speeds up to 20 MHz

• 8-Kbyte transmit/receive packet dual port SRAM

• Configurable transmit/receive buffer size

• Hardware-managed circular receive FIFO

• Byte-wide random and sequential access with

auto-increment

• Internal DMA for fast data movement

• Hardware assisted

• Supports Unicast, Multicast and Broadcast

Packets


• Loopback mode

• Two programmable LED outputs for LINK, TX,

RX, collision and full/half-duplex status

• Six interrupt sources and one interrupt output pin

• 25 MHz clock input requirement

• Clock out pin with programmable prescaler

• Operating voltage of 3.1V to 3.6V [3.3V typical]

• 5V tolerant inputs

• Temperature range: -40°C to +85°C Industrial,

0°C to +70°C Commercial [SSOP only]

• 28-pin SPDIP, SSOP, SOIC, QFN packages


3.3.Sơ đồ khối


Chip ENC28J60 có bảy khối chức năng chính:

1. An SPI interface that serves as a communication channel between the host controller and the ENC28J60.

2. Control Registers which are used to control and monitor the ENC28J60.

3. A dual port RAM buffer for received and transmitted data packets.

4. An arbiter to control the access to the RAM buffer when requests are made from DMA, transmit and receive blocks.

5. The bus interface that interprets data and commands received via the SPI interface.

6. The MAC [Medium Access Control] module that implements IEEE 802.3 compliant MAC logic.

7. The PHY [Physical Layer] module that encodes and decodes the analog data that is present on the twisted pair interface.


3.3.1.1.Chức năng của thanh ghi





Mô hình bus trong mạng CSMA/CD cho phép mỗi nút nhận mọi gói được gởi lên mạng. Bộ lọc nhận sẽ xác định gói nào được phép lưu vào bộ đệm nhận. Không phải mọi gói đều được quan tâm, chỉ có những gói có địa chỉ đích thỏa bộ lọc nhận mới được chuyển vào bộ nhớ. NIC đưa ra một số lựa chọn cho bộ lọc nhận và cách quản lý một gói hoàn chỉnh cho việc lưu trữ gói đang đến.
The ENC28J60 is designed to interface directly with the Serial Peripheral Interface [SPI] port available on many microcontrollers. The implementation used on this device supports SPI mode 0,0 only. In addition, the SPI port requires that SCK be at Idle in a low state; selectable clock polarity is not supported. Commands and data are sent to the device via the SI pin, with data being clocked in on the rising edge of SCK. Data is driven out by the ENC28J60 on the SO line, on the falling edge of SCK. The CS pin must be

held low while any operation is performed and returned high when finished.



DK Thiet bi qua mang Internet




Chia sẻ với bạn bè của bạn:

Video liên quan

Chủ Đề