Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fall 2004FSU CIS 5930 Internet Protocols1 Architecture of Network Implementation Reading: Chapters 3 and 4.

Similar presentations


Presentation on theme: "Fall 2004FSU CIS 5930 Internet Protocols1 Architecture of Network Implementation Reading: Chapters 3 and 4."— Presentation transcript:

1 Fall 2004FSU CIS 5930 Internet Protocols1 Architecture of Network Implementation Reading: Chapters 3 and 4

2 Fall 2004FSU CIS 5930 Internet Protocols2 Layer-Based Communication Models Anwendung Instance (N) Instance (N-1) Application Instance (N+1) Anwendung Application (N+1)-Protocols (N)-protocol Instance (N+1) Instance (N+1) Instance (N) Instance (N-1) Instance (N+1) Transmission medium Intermediate systemEnd systems Layer (N-1) Layer (N) Layer (N+1)

3 Fall 2004FSU CIS 5930 Internet Protocols3 Two Important Concepts in the Layered Model Protocols –Rules that two parties talk and understand each other –Horizontal Services –Functions provided by a lower layer to the neighboring upper layer –Vertical –Service interface (function calls)

4 Fall 2004FSU CIS 5930 Internet Protocols4 ISO/OSI Reference Model ISO/OSI Reference model Application Presentation Session Transport Network Data link Physical

5 Fall 2004FSU CIS 5930 Internet Protocols5 ISO/OSI Model Physical layer –Media types, coding methods, bit sequences vs. physical signals Data link layer –Moving data between two directly connected stations. Flow control, error detection, etc. Shared medium: access control. LLC/MAC Network layer –Connectivity of networks. Packet routing/forwarding Transport layer –Concerning end-to-end functions between applications. Flow control, packet ordering, etc. Session layer –Handling structured message exchange Presentation layer –Regulating data presentation (format) Application layer –Protocols for different applications, HTTP, SMTP, FTP, etc

6 Fall 2004FSU CIS 5930 Internet Protocols6 TCP/IP Reference Model ISO/OSI reference model Internet reference mode Application Presentation Application (HTTP, SMTP, SSH) 7 6 5 4 3 2 1 Transport (TCP/UDP) Internet (IPv4/v6) Data link (802.x, PPP, SLIP) Session Transport Network Data link Physical

7 Fall 2004FSU CIS 5930 Internet Protocols7 Interplay of Layers, Instances, and Protocols (N)-PCI (N)-SDU (N-1)-Layer (N+1)-Layer (N)-IDU (N)-ICI (N)-SDU (N)-PCI (N)-Layer (N-1)-ICI (N-1)-IDU (N-1)-SDU (N)-PDU (N-1)-ICI

8 Fall 2004FSU CIS 5930 Internet Protocols8 PDU/PCI/SDU/ICI/IDU PDU: protocol data unit –Elements exchanged between two protocol instances –PCI (protocol control information or packet header) + SDU (service data unit) ICI: interface control information –Passed from layer N to layer N-1 together with layer N PDU IDU: interface data unit –ICI + PDU

9 Fall 2004FSU CIS 5930 Internet Protocols9 Managing Network Packets in Kernel Socket buffers –Where packets are stored, manipulated. Socket buffer queues –Linked list of socket buffers

10 Fall 2004FSU CIS 5930 Internet Protocols10 Socket Buffers (skb) next prev list stamp sk_buff dev h h nh mac dst len... head data tail end Packet data storage datarefp: 1 UDP-Data UDP-Header IP-Header MAC-Header net_device sk_buff sk_buff_head

11 Fall 2004FSU CIS 5930 Internet Protocols11 Some important fields of skb prev, next, list –Queue’s linked list sk –Socket owning the packet dev –Device receiving/sending packet h, nh, mac –Pointers to the transport/network/MAC layer headers len –Size of the packet data, head, tail, end –Pointers associated with data packet field datarefp –A counter indicating how many skb_buff points to the packet –Not really a field of sbk_buff

12 Fall 2004FSU CIS 5930 Internet Protocols12 Updates of skb_buff as packet passing different layers next prev... head sk_buff data tail end Packet data storage datarefp: 1 UDP-Data next prev... head sk_buff data tail end Packet data storage UDP-Data UDP-Header next prev... head sk_buff data tail end Packet data storage UDP-Data UDP-Header IP-Header datarefp: 1

13 Fall 2004FSU CIS 5930 Internet Protocols13 Operations on socket buffers Three types of operations –Creating and releasing socket buffers alloc_skb(), dev_alloc_skb(), skb_clone(), kfree_skb(), dev_kfree_skb() –Manipulating fields of socket buffers skb_put(), skb_push(), skb_pull(), skb_reserve() –Managing socket buffer queues skb_queue_head(),etc

14 Fall 2004FSU CIS 5930 Internet Protocols14 Creating/releasing skb alloc_skb(size, gpf_mask) dev_alloc_skb(length) kfree_skb(skb) dev_kfree_skb(skb) skb_clone(skb,gpf_mask) skb_copy(skb,gpf_mask)

15 Fall 2004FSU CIS 5930 Internet Protocols15 Skb_clone() next prev... head sk_buff data tail end Packet data storage next prev... head sk_buff data tail end UDP-Data UDP-Header IP-Header next prev... head sk_buff data tail end Packet data storage UDP-Data UDP-Header IP-Header skb_clone datarefp: 1 datarefp: 2

16 Fall 2004FSU CIS 5930 Internet Protocols16 skb_copy() next prev... head sk_buff data tail end Paketdatenbereich UDP-Data UDP-Header IP-Header next prev... head sk_buff data tail end Paketdatenbereich UDP-Data UDP-Header IP-Header skb_copy next prev... head sk_buff data tail end Paketdatenbereich UDP-Data UDP-Header IP-Header datarefp: 1

17 Fall 2004FSU CIS 5930 Internet Protocols17 Manipulating skb fields skb_put(skb,len) skb_push(skb,len) skb_pull(skb,len) skb_reserve(skb,len) After alloc_skb() After skb_put() An skb_buff containing data After skb_reserve() After skb_push()

18 Fall 2004FSU CIS 5930 Internet Protocols18 Socket buffer queue next prev... head sk_buff data tail end Packet data next prev... head sk_buff data tail end Packet data next prev... head sk_buff data tail end Packet data next prev qlen: 3 sk_buff_head

19 Fall 2004FSU CIS 5930 Internet Protocols19 Operations on socket buffer queues Managing queue structures –skb_queue_head_init(list) –skb_queue_empty(list) –skb_queue_len(list) Managing socket buffers in queues –skb_queue_head(), skb_queue_tail(),etc

20 Fall 2004FSU CIS 5930 Internet Protocols20 Managing skb in queues skb_queue_head(list, skb) skb_queue_tail(list, skb) skb_dequeue(list) skb_dequeue_tail(list) skb_insert(oldskb,newskb) skb_append(oldskb,newskb) skb_peek(list) skb_peek_tail(list)

21 Fall 2004FSU CIS 5930 Internet Protocols21 Next time … Chapter 5: network devices


Download ppt "Fall 2004FSU CIS 5930 Internet Protocols1 Architecture of Network Implementation Reading: Chapters 3 and 4."

Similar presentations


Ads by Google