Link Layer: Implementation ❒ Typically, implemented in “adapter” ❍ e.g., PCMCIA card, Ethernet card ❍ typically includes: RAM, DSP chips, host bus interface, and link interface 14: Ethernet, Hubs, Bridges, Switches, Other Technologies used at the Link Layer, ARP M Ht M Hn Ht M Hl Hn Ht M Last Modified: 4/9/2003 1:14:12 PM 5: DataLink Layer ❍ ❒ frame 5: DataLink Layer 5a-2 ❍ errors caused by signal attenuation, noise. receiver detects presence of errors: • signals sender for retransmission or drops frame we learned how to do reliable delivery over an unreliable link seldom used on low bit error link (fiber, some twisted pair) wireless links: high error rates • Q: why both link-level and end-end reliability? 5: DataLink Layer pacing between sender and receivers Error Detection: ❍ devices: ❒ Error Correction: ❍ receiver identifies and corrects bit error(s) without resorting to retransmission 5: DataLink Layer 5a-3 5a-4 Ethernet LAN technologies “dominant” LAN technology: ❒ cheap $20 for 100Mbs! ❒ first widely used LAN technology ❒ Simpler, cheaper than token LANs and ATM ❒ Kept up with speed race: 10, 100, 1000 Mbps Data link layer so far: ❍ Hl Hn Ht M ❒ Flow Control: ❒ Reliable delivery between two physically connected ❍ phys. link network link physical Link Layer Services (more) ❒ Framing, link access: ❍ encapsulate datagram into frame, adding header, trailer ❍ implement channel access if shared medium, ❍ ‘physical addresses’ used in frame headers to identify source, dest • different from IP address! ❍ data link protocol adapter card 5a-1 Link Layer Services ❍ application transport network link physical services, error detection/correction, multiple access Next: LAN technologies Ethernet hubs, bridges, switches ❍ 802.11 ❍ PPP ❍ ATM ❍ ❍ Metcalfe’s Ethernet sketch 5: DataLink Layer 5a-5 5: DataLink Layer 5a-6 1 Ethernet Frame Structure (more) Ethernet Frame Structure Sending adapter encapsulates IP datagram (or other network layer protocol packet) in Ethernet frame ❒ Addresses: 6 bytes, frame is received by all adapters on a LAN and dropped if address does not match ❒ Type: indicates the higher layer protocol, mostly IP but others may be supported such as Novell IPX and AppleTalk) ❒ CRC: checked at receiver, if error is detected, the frame is simply dropped Preamble: ❒ 7 bytes with pattern 10101010 followed by one byte with pattern 10101011 ❒ used to synchronize receiver, sender clock rates 5: DataLink Layer 5: DataLink Layer 5a-7 Ethernet: uses CSMA/CD Ethernet’s CSMA/CD (more) A: sense channel, if idle Jam Signal: make sure all other transmitters are aware of collision; 48 bits; Exponential Backoff: ❒ Goal: adapt retransmission attempts to estimated current load then { transmit and monitor the channel; If detect another transmission then { abort and send jam signal; update # collisions; delay as required by exponential backoff algorithm; goto A } else {done with the frame; set collisions to zero} ❍ heavy load: random wait will be longer ❒ first collision: choose K from {0,1}; delay is K x 512 bit transmission times ❒ after second collision: choose K from {0,1,2,3}… ❒ after ten or more collisions, choose K from } else {wait until ongoing transmission is over and goto A} 5: DataLink Layer 5a-8 {0,1,2,3,4,…,1023} 5: DataLink Layer 5a-10 5a-9 Ethernet Technologies: 10Base2 10BaseT and 100BaseT ❒ 10: 10Mbps; 2: under 200 meters max cable length ❒ thin coaxial cable in a bus topology ❒ 10/100 Mbps rate; latter called “fast ethernet” ❒ T stands for Twisted Pair ❒ Hub to which nodes are connected by twisted pair, thus “star topology” ❒ CSMA/CD implemented at hub ❒ repeaters used to connect up to multiple segments ❒ repeater repeats bits it hears on one interface to its other interfaces: physical layer device only! 5: DataLink Layer 5a-11 5: DataLink Layer 5a-12 2 10BaseT and 100BaseT (more) Gbit Ethernet ❒ Max distance from node to Hub is 100 meters ❒ use standard Ethernet frame format ❒ Hub can disconnect “jabbering adapter” ❒ allows for point-to-point links and shared ❒ Hub can gather monitoring information, statistics for display to LAN administrators broadcast channels ❒ in shared mode, CSMA/CD is used; short distances between nodes to be efficient ❒ uses hubs, called here “Buffered Distributors” ❒ Full-Duplex at 1 Gbps for point-to-point links 5: DataLink Layer 5a-13 5: DataLink Layer 5a-14 Hubs Ethernet Limitations ❒ Physical Layer devices: essentially repeaters Q: Why not just one big Ethernet? ❒ Limited amount of supportable traffic: on single LAN, all stations must share bandwidth ❒ limited length: 802.3 specifies maximum cable operating at bit levels: repeat received bits on one interface to all other interfaces ❒ Hubs can be arranged in a hierarchy (or multi-tier design), with backbone hub at its top length ❒ large “collision domain” (can collide with many stations) ❒ How can we get around some of these limitations? 5: DataLink Layer 5a-15 5: DataLink Layer 5a-16 Hubs (more) Hub limitations ❒ Each connected LAN referred to as LAN segment ❒ single collision domain results in no increase in max ❒ Hubs do not isolate collision domains: node may collide with any node residing at any segment in LAN ❒ Hub Advantages: ❍ simple, inexpensive device ❍ Multi-tier provides graceful degradation: portions of the LAN continue to operate if one hub malfunctions ❍ extends maximum distance between node pairs (100m per Hub) 5: DataLink Layer 5a-17 throughput ❍ multi-tier throughput same as single segment throughput ❒ individual LAN restrictions pose limits on number of nodes in same collision domain and on total allowed geographical coverage ❒ cannot connect different Ethernet types (e.g., 10BaseT and 100baseT) 5: DataLink Layer 5a-18 3 Bridges Bridges (more) ❒ Link Layer devices: operate on Ethernet ❒ Bridge advantages: ❍ Isolates collision domains resulting in higher total max throughput, and does not limit the number of nodes nor geographical coverage frames, examining frame header and selectively forwarding frame based on its destination ❒ Bridge isolates collision domains since it buffers frames ❒ When frame is to be forwarded on segment, bridge uses CSMA/CD to access segment and transmit ❍ ❍ Can connect different type Ethernet since it is a store and forward device Transparent: no need for any change to hosts LAN adapters 5: DataLink Layer 5a-19 Bridges: frame filtering, forwarding 5: DataLink Layer 5a-20 Backbone Bridge ❒ bridges filter packets ❍ same-LAN -segment frames not forwarded onto other LAN segments ❒ forwarding: ❍ how to know which LAN segment on which to forward frame? ❍ looks like a routing problem (more shortly!) 5: DataLink Layer 5a-21 Interconnection Without Backbone 5: DataLink Layer 5a-22 Bridge Filtering learn which hosts can be reached through which interfaces: maintain filtering tables ❍ when frame received, bridge “learns” location of sender: incoming LAN segment ❍ records sender location in filtering table ❒ filtering table entry: ❍ (Node LAN Address, Bridge Interface, Time Stamp) ❍ stale entries in Filtering Table dropped (TTL can be 60 minutes) ❒ bridges ❒ Not recommended for two reasons: - single point of failure at Computer Science hub - all traffic between EE and SE must path over CS segment 5: DataLink Layer 5a-23 5: DataLink Layer 5a-24 4 Bridge Filtering Bridge Learning: example ❒ filtering procedure: if destination is on LAN on which frame was received then drop the frame else { lookup filtering table if entry found for destination then forward the frame on interface indicated; else flood; /* forward on all but the interface on arrived*/ which the frame } Suppose C sends frame to D and D replies back with frame to C ❒ C sends frame, bridge has no info about D, so floods to both LANs ❍ ❍ 5: DataLink Layer 5a-25 ❍ bridge notes that C is on port 1 frame ignored on upper LAN frame received by D 5: DataLink Layer 5a-26 Bridges Spanning Tree Bridge Learning: example ❒ for increased reliability, desirable to have redundant, alternate paths from source to dest ❒ with multiple simultaneous paths, cycles result - bridges may multiply and forward frame forever ❒ solution: organize bridges in a spanning tree by disabling subset of interfaces ❒ D generates reply to C, sends Disabled bridge sees frame from D ❍ bridge notes that D is on interface 2 ❍ bridge knows C on interface 1, so selectively forwards frame out via interface 1 ❍ 5: DataLink Layer 5a-27 Spanning Tree Algorithm 5: DataLink Layer 5a-28 Ethernet Switches ❒ Sophisticated bridges ❍ Switches usually switch in hardware, bridges in software ❍ large number of interfaces ❒ Like bridges, layer 2 (frame) forwarding, filtering using LAN addresses ❒ Can support combinations of shared/dedicated, 10/100/1000 Mbps interfaces 5: DataLink Layer 5a-29 5: DataLink Layer 5a-30 5 Switching Common Topology Dedicated ❒ Switching: A-to-B and A’-to-B’ simultaneously, no collisions ❒ cut-through switching: frame forwarded from input to output port without awaiting for assembly of entire frame ❍ slight reduction in latency ❒ Store and forward switching: entire frame received before transmission out an output port ❒ Fragment-free switching: compromise, before send out the output port receive enough of the packet to do some error checking (ex. detect and drop partial frames) Shared 5: DataLink Layer 5a-31 Bridges vs. Switches vs. Routers ❒ Switches = sophisticated multi-port bridges ❒ All store-and-forward devices ❍ routers: Layer 3 (network layer) devices ❍ Bridges/switches are Layer 2 (Link Layer) devices ❒ routers maintain routing tables, implement routing algorithms ❒ Bridges/switches maintain filtering tables, implement filtering, learning and spanning tree algorithms 5: DataLink Layer 5a-32 Routers vs. Bridges Bridges + and + Bridge operation is simpler requiring less processing bandwidth - Topologies are restricted with bridges: a spanning tree must be built to avoid cycles - Bridges do not offer protection from broadcast storms (endless broadcasting by a host will be forwarded by a bridge) 5: DataLink Layer 5a-33 5: DataLink Layer 5a-34 Routers vs. Bridges Summary Routers + and + arbitrary topologies can be supported, cycling is ❒ Layer 3 Devices (Network Layer) ❍ Router limited by TTL counters (and good routing protocols) + provide firewall protection against broadcast storms - require IP address configuration (not plug and play) - require higher processing bandwidth ❒ bridges do well in small (few hundred hosts) while routers used in large networks (thousands of hosts) 5: DataLink Layer 5a-35 ❒ Layer 2 Devices (Link Layer) ❍ Bridge ❍ Switch ❒ Layer 1 Devices (Physical Layer) ❍ Repeaters ❍ Hubs 5: DataLink Layer 5a-36 6 IEEE 802.11 Wireless LAN ❒ wireless LANs: untethered Ad Hoc Networks ❒ Ad hoc network: IEEE 802.11 stations can (often mobile) networking ❒ IEEE 802.11 standard: dynamically form network without AP MAC protocol unlicensed frequency spectrum: 900Mhz, 2.4Ghz ❒ Basic Service Set (BSS) (a.k.a. “cell”) contains: ❍ wireless hosts ❍ access point (AP): base station ❒ BSS’s combined to form distribution system (DS) ❍ ❒ Applications: ❍ ❍ “laptop” meeting in conference room, car of “personal” devices ❍ battlefield ❒ IETF MANET (Mobile Ad hoc Networks) working group ❍ interconnection 5: DataLink Layer 5a-37 IEEE 802.11 MAC Protocol: CSMA/CA 802.11 CSMA: sender - if sense channel idle for DISF sec. then transmit entire frame (no collision detection) -if sense channel busy then binary backoff 802.11 CSMA receiver: if received OK return ACK after SIFS 5: DataLink Layer 5a-38 IEEE 802.11 MAC Protocol 802.11 CSMA Protocol: others ❒ NAV: Network Allocation Vector ❒ 802.11 frame has transmission time field ❒ others (hearing data) defer access for NAV time units 5: DataLink Layer 5a-39 5: DataLink Layer 5a-40 Collision Avoidance: RTS-CTS exchange Hidden Terminal effect ❒ hidden terminals: A, C cannot hear each other obstacles, signal attenuation ❍ collisions at B ❒ goal: avoid collisions at B ❒ CSMA/CA: CSMA with Collision Avoidance ❍ 5: DataLink Layer 5a-41 ❒ CSMA/CA: explicit channel reservation ❍ sender: send short RTS: request to send ❍ receiver: reply with short CTS: clear to send ❒ CTS reserves channel for sender, notifying (possibly hidden) stations ❒ avoid hidden station collisions 5: DataLink Layer 5a-42 7 Collision Avoidance: RTS-CTS exchange ❒ RTS and CTS short: Token Passing: IEEE802.5 standard ❒ 4 Mbps ❒ max token holding time: 10 ms, limiting frame length ❍ collisions less likely, of shorter duration ❍ end result similar to collision detection ❒ IEEE 802.11 alows: ❍ CSMA ❍ CSMA/CA: reservations ❍ polling from AP ❒ SD, ED mark start, end of packet 5: DataLink Layer 5a-43 Token Passing: IEEE802.5 standard ❒ AC: access control byte: ❍ token bit: value 0 means token can be seized, value 1 means data follows FC ❍ priority bits: priority of packet ❍ reservation bits: station can write these bits to prevent stations with lower priority packet from seizing token after token becomes free 5: DataLink Layer 5a-44 Point to Point Data Link Control ❒ one sender, one receiver, one link: easier ❒ FC: frame control used for monitoring and maintenance ❒ source, destination address: 48 bit physical address, as in Ethernet ❒ data: packet from network layer; checksum: CRC ❒ FS: frame status: set by dest., read by sender ❍ set to indicate destination up, frame copied OK from ring than broadcast link: ❍ no Media Access Control ❍ no need for explicit MAC addressing ❍ e.g., dialup link, ISDN line ❒ popular point-to-point DLC protocols: ❍ PPP (point-to-point protocol) ❍ HDLC: High level data link control ❒ limited number of stations: 802.5 have token passing delays at each station 5: DataLink Layer 5a-45 5: DataLink Layer 5a-46 PPP Design Requirements [RFC 1557] PPP non-requirements ❒ packet framing: encapsulation of network-layer ❒ no error correction/recovery ❒ ❒ ❒ ❒ datagram in data link frame ❍ carry network layer data of any network layer protocol (not just IP) at same time ❍ ability to demultiplex upwards bit transparency: must carry any bit pattern in the data field error detection (no correction) connection livenes: detect, signal link failure to network layer network layer address negotiation: endpoint can learn/configure each other’s network address 5: DataLink Layer 5a-47 ❒ no flow control ❒ out of order delivery OK ❒ no need to support multipoint links (e.g., polling) Error recovery, flow control, data re-ordering all relegated to higher layers!| 5: DataLink Layer 5a-48 8 PPP Data Frame PPP Data Frame ❒ Flag: delimiter (framing) ❒ info: upper layer data being carried ❒ Address: does nothing (only one option) ❒ check: cyclic redundancy check for error ❒ Control: does nothing; in the future detection possible multiple control fields ❒ Protocol: upper layer protocol to which frame delivered (eg, PPP-LCP, IP, IPCP, etc) 5: DataLink Layer 5a-49 Byte Stuffing 5: DataLink Layer 5a-50 Byte Stuffing ❒ “data transparency” requirement: data field must be allowed to include flag pattern <01111110> ❍ Q: is received <01111110> data or flag? flag byte pattern in data to send ❒ Sender: adds (“stuffs”) extra < 01111110> byte after each < 01111110> data byte ❒ Receiver: two 01111110 bytes in a row: discard first byte, continue data reception ❍ single 01111110: flag byte ❍ flag byte pattern plus stuffed byte in transmitted data 5: DataLink Layer 5a-51 5: DataLink Layer 5a-52 IP over Other Wide Area Network Technologies PPP Data Control Protocol Before exchanging networklayer data, data link peers must ❒ configure PPP link (max. frame length, authentication) ❒ learn/configure network layer information ❍ for IP: carry IP Control Protocol (IPCP) msgs (protocol field: 8021) to configure/learn IP address ❒ ATM ❒ Frame Relay ❒ X-25 5: DataLink Layer 5a-53 5: DataLink Layer 5a-54 9 ATM architecture ATM: network or link layer? Vision: end-to-end transport: “ATM from desktop to desktop” ❍ ATM is a network technology Reality: used to connect IP backbone routers ❍ “IP over ATM” ❍ ATM as switched link layer, connecting IP routers ❒ Adaptation layer (AAL): only at edge of ATM network data segmentation/reassembly roughly analogous to Internet transport layer ❒ ATM layer: “network” layer ❍ Virutal circuits, routing, cell switching ❒ physical layer ❍ ❍ 5: DataLink Layer 5a-55 ATM Layer: ATM cell 5: DataLink Layer 5a-56 ATM cell header ❒ VCI: virtual channel ID ❒ 5-byte ATM cell header ❍ will ❒ 48-byte payload Why?: small payload -> short cell-creation delay for digitized voice ❍ halfway between 32 and 64 (compromise!) ❍ Cell header Cell format change from link to link thru net ❒ PT: Payload type (e.g. RM cell versus data cell) ❒ CLP: Cell Loss Priority bit ❍ CLP = 1 implies low priority cell, can be discarded if congestion ❒ HEC: Header Error Checksum ❍ cyclic redundancy check 5: DataLink Layer 5a-57 IP-Over-ATM Classic IP only ❒ 3 “networks” (e.g., LAN segments) ❒ MAC (802.3) and IP addresses Ethernet LANs Datagram Journey in IP-overATM Network IP over ATM ❒ replace “network” (e.g., LAN segment) with ATM network ❒ IP addresses -> ATM addressesjust like IP addresses to 802.3 MAC addresses! Ethernet LANs 5: DataLink Layer 5a-58 ❒ at Source Host: IP layer finds mapping between IP, ATM dest address (using ARP) ❍ passes datagram to AAL5 ❍ AAL5 encapsulates data, segments to cells, passes to ATM layer ❒ ATM network: moves cell along VC to destination (uses existing one or establishes another) ❒ at Destination Host: ❍ AAL5 reassembles cells into original datagram ❍ if CRC OK, datgram is passed to IP ❍ ATM network 5: DataLink Layer 5a-59 5: DataLink Layer 5a-60 10 X.25 and Frame Relay X.25 Like ATM: ❒ X.25 builds VC between source and destination for each user connection ❒ wide area network technologies ❒ Per-hop control along path ❒ virtual circuit oriented ❍ error ❒ origins in telephony world ❒ can be used to carry IP datagrams and can thus be viewed as Link Layers by IP protocol just like ATM control (with retransmissions) on each hop ❍ per-hop flow control using credits • congestion arising at intermediate node propagates to previous node on path • back to source via back pressure 5: DataLink Layer 5a-61 5: DataLink Layer 5a-62 IP versus X.25 Frame Relay ❒ X.25: reliable in-sequence end-end ❒ Designed in late ‘80s, widely deployed in delivery from end-to-end ❍ “intelligence in the network” ❒ IP: unreliable, out-of-sequence end- end delivery ❍ “intelligence the ‘90s ❒ Frame relay service: ❍ no error control congestion control ❍ end-to-end in the endpoints” ❒ 2000: IP wins ❍ gigabit routers: limited processing possible 5: DataLink Layer 5a-63 Frame Relay (more) 5: DataLink Layer 5a-64 Frame Relay (more) ❒ Designed to interconnect corporate customer LANs typically permanent VC’s: “pipe” carrying aggregate traffic between two routers ❍ switched VC’s: as in ATM ❒ corporate customer leases FR service from public Frame Relay network (eg, Sprint, ATT) flags address data CRC flags ❍ 5: DataLink Layer 5a-65 ❒ Flag bits, 01111110, delimit frame ❒ Address = address and congestion control ❍ ❍ 10 bit VC ID field 3 congestion control bits • FECN: forward explicit congestion notification (frame experienced congestion on path) • BECN: congestion on reverse path • DE: discard eligibility 5: DataLink Layer 5a-66 11 Frame Relay -VC Rate Control LAN Addresses Each adapter on LAN has unique LAN address ❒ Committed Information Rate (CIR) defined, “guaranteed” for each VC negotiated at VC set up time ❍ customer pays based on CIR ❍ ❍ ❒ DE bit: Discard Eligibility bit Edge FR switch measures traffic rate for each VC; marks DE bit ❍ DE = 0: high priority, rate compliant frame; deliver at “all costs” ❍ DE = 1: low priority, eligible for discard when congestion ❍ 5: DataLink Layer 5a-67 5: DataLink Layer 5a-68 LAN Addresses vs IP Addresses LAN Address vs IP Addresses (more) 32-bit IP address (128 bit IPv6): ❒ MAC address allocation administered by IEEE ❒ ❒ manufacturer buys portion of MAC address space network-layer address (to assure uniqueness) ❒ used to get datagram to destination network ❒ Analogy: (recall IP network definition) (a) MAC address: like Social Security Number (b) IP address: like postal address ❒ MAC flat address => portability LAN (or MAC or physical) address: ❒ used to get datagram from one interface to another physically-connected interface (same network) ❒ 48 bit MAC address (for most LANs) burned in the adapter ROM ❍ 5: DataLink Layer 5a-69 A 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 ❒ look up net. address of B, find B on same net. as A ❒ link layer send datagram to B inside link-layer frame frame source, dest address B’s MAC A’s MAC addr addr B 223.1.1.3 datagram source, dest address A’s IP addr B’s IP addr 223.1.3.27 223.1.3.1 223.1.2.2 5: DataLink Layer 5a-70 Question: How can we determine the MAC address of B given B’s IP address? Recall earlier routing discussion Starting at A, given IP datagram addressed to B: can move LAN card from one LAN to another ❒ IP hierarchical address NOT portable ❍ depends on network to which one attaches E 223.1.3.2 IP payload datagram frame 5: DataLink Layer 5a-71 5: DataLink Layer 5a-72 12 ARP: Address Resolution Protocol ARP protocol ❒ Each IP node (Host, Router) on LAN has ARP module, table ❒ ARP Table: IP/MAC address mappings for some LAN nodes < IP address; MAC address; TTL> < ………………………….. > ❍ TTL (Time To Live): time after which address mapping will be forgotten (typically 20 min) ❒ A knows B's IP address, wants to learn physical address of B ❒ A broadcasts ARP query pkt, containing B's IP address ❍ all machines on LAN receive ARP query ❒ B receives ARP packet, replies to A with its (B's) physical layer address ❒ A caches (saves) IP-to-physical address pairs until information becomes old (times out) ❍ soft state: information that times out (goes away) unless refreshed 5: DataLink Layer 5a-73 5: DataLink Layer 5a-74 Hands-on: arp ARP in ATM Nets ❒ arp ipaddress ❍ Return the MAC address associated with the given IP address ❒ ATM network needs destination ATM address just like Ethernet needs destination Ethernet address ❒ IP/ATM address translation done by ATM ARP (Address Resolution Protocol) ❍ ARP server in ATM network performs broadcast of ATM ARP translation request to all connected ATM devices ❍ hosts can register their ATM addresses with server to avoid lookup ❍ ❒ arp –a ❍ List the contents of the local ARP cache ❒ arp –s hostname macAddress ❍ Used by the system administrator to add a specific entry to the local ARP cache 5: DataLink Layer 5a-75 5: DataLink Layer 5a-76 ❒ A creates IP packet with source A, destination B Routing to another LAN ❒ A uses ARP to get R’s physical layer address for 111.111.111.110 ❒ A creates Ethernet frame with R's physical address as dest, Ethernet frame contains A-to-B IP datagram walkthrough: routing from A to B via R ❒ A’s data link layer sends Ethernet frame ❒ R’s data link layer receives Ethernet frame ❒ R removes IP datagram from Ethernet frame, sees its destined to B A ❒ R uses ARP to get B’s physical layer address ❒ R creates frame containing A-to-B IP datagram sends to B R B A ❒ In routing table at source Host, find router 111.111.111.110 ❒ In ARP table at source, find MAC address E6-E900-17-BB-4B, etc 5: DataLink Layer R 5a-77 B 5: DataLink Layer 5a-78 13 Summary principles behind data link layer services: ❍ error detection, correction ❍ sharing a broadcast channel: multiple access ❍ link layer addressing, ARP ❒ various link layer technologies ❍ Ethernethubs, bridges, switches ❍ IEEE 802.11 LANs ❍ PPP ❍ ATM, X.25, Frame Relay ❒ journey down the protocol stack now OVER! ❍ Next stops: security, network management(?) ❒ 5: DataLink Layer 5a-79 14
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertisement