Warstwa łącza danych I²C jest magistralą zorientowaną bajtowo, a więc bity grupowane są po 8. Dane są wysyłane w kolejności od najbardziej znaczącego bitu do najmniej znaczącego. Po przesłaniu 8 bitów w jednym kierunku, przesyłany jest dodatkowy bit potwierdzenia odebrania danych ACK (lub NACK w przypadku braku potwierdzenia) w kierunku przeciwnym.

Pierwszym bajtem jest zawsze nadawany przez urządzenie master adres urządzenia slave, który oprócz 7 bitów właściwego adresu zawiera bit kierunku transmisji na najmłodszej pozycji. Wartość „0” tego bitu oznacza transmisję od mastera do slave’a (zapis), podczas gdy wartość „1” kierunek przeciwny (odczyt). Po pierwszym bajcie przesyłane zostają dane.

Opracowany na początku lat 80. standard zakładał 7-bitową przestrzeń adresową, czyli możliwość zaadresowania do 128 urządzeń. W praktyce część adresów jest zarezerwowana, pozostawiając do dyspozycji 112 wartości. Jednym z zarezerwowanych adresów jest tzw. General call (adres 0), który powoduje wysłanie danych do wszystkich urządzeń podłączonych do magistrali.

Wersja 1.0 magistrali pozwala na adresowanie 10-bitowe. W takim przypadku pierwszy przesyłany bajt zawiera 5 z góry ustalonych bitów (11110) oraz dwa najstarsze bity adresu 10-bitowego, drugi bajt zawiera pozostałe 8 bitów adresu.